From 9002ccb6eaf572293a44172d4778f9ab0b3e77bf Mon Sep 17 00:00:00 2001 From: spessasus Date: Fri, 3 Jan 2025 22:30:53 +0100 Subject: [PATCH] midi input QoL --- src/website/js/sequencer_ui/sequencer_ui.js | 168 +++++++++--------- .../js/settings_ui/handlers/midi_handler.js | 9 + src/website/minified/demo_main.min.js | 46 ++--- src/website/minified/local_main.min.js | 50 +++--- 4 files changed, 144 insertions(+), 129 deletions(-) diff --git a/src/website/js/sequencer_ui/sequencer_ui.js b/src/website/js/sequencer_ui/sequencer_ui.js index bbdd20da..b232e4fd 100644 --- a/src/website/js/sequencer_ui/sequencer_ui.js +++ b/src/website/js/sequencer_ui/sequencer_ui.js @@ -72,6 +72,86 @@ class SequencerUI enabled: false, currentEncodedText: new Uint8Array(0) }; + + // set up synth display event + let displayTimeoutId = null; + renderer.synth.eventHandler.addEvent("synthdisplay", "sequi-synth-display", data => + { + if (data.displayType === 0 || data.displayType === 1) + { + // clear styles and apply monospace + this.mainTitleMessageDisplay.classList.add("sysex_display"); + this.mainTitleMessageDisplay.classList.remove("xg_sysex_display"); + let textData = data.displayData; + // remove "Display Letters" byte before decoding for XG display + if (data.displayType === 1) + { + textData = textData.slice(1); + } + // decode the text + let text = this.decodeTextFix(textData.buffer); + + // XG is type 1, apply some fixes to it. + // XG Displays have a special behavior, we try to mimic it here + // reference video: + // https://www.youtube.com/watch?v=_mR7DV1E4KE + // first of all, extract the "Display Letters" byte + if (data.displayType === 1) + { + const displayLetters = data.displayData[0]; + // XG Display Letters: + // the screen is monospace, + // two rows, 16 characters each (max) + // since this is XG data, apply the XG display style + this.mainTitleMessageDisplay.classList.add("xg_sysex_display"); + + // 0x0c where c are the amount of spaces prepended + const spaces = displayLetters & 0x0F; + for (let i = 0; i < spaces; i++) + { + text = " " + text; + } + + // at 16 characters, add a newline + if (text.length >= 16) + { + text = text.slice(0, 16) + "\n" + text.slice(16); + } + + // if type is 0x1x, add a newline + if ((displayLetters & 0x10) > 1) + { + text = "\n" + text; + } + + } + + + if (text.trim().length === 0) + { + // set the text to invisible character to keep the height + this.mainTitleMessageDisplay.innerText = "‎ "; + } + else + { + // set the display to an invisible character to keep the height + this.mainTitleMessageDisplay.innerText = text; + } + + this.synthDisplayMode.enabled = true; + this.synthDisplayMode.currentEncodedText = textData; + if (displayTimeoutId !== null) + { + clearTimeout(displayTimeoutId); + } + displayTimeoutId = setTimeout(() => + { + this.synthDisplayMode.enabled = false; + this.restoreDisplay(); + }, 5000); + + } + }); } toggleDarkMode() @@ -265,86 +345,6 @@ class SequencerUI } // otherwise we're already dark } - - // set up synth display event - let displayTimeoutId = null; - this.seq.synth.eventHandler.addEvent("synthdisplay", "sequi-synth-display", data => - { - if (data.displayType === 0 || data.displayType === 1) - { - // clear styles and apply monospace - this.mainTitleMessageDisplay.classList.add("sysex_display"); - this.mainTitleMessageDisplay.classList.remove("xg_sysex_display"); - let textData = data.displayData; - // remove "Display Letters" byte before decoding for XG display - if (data.displayType === 1) - { - textData = textData.slice(1); - } - // decode the text - let text = this.decodeTextFix(textData.buffer); - - // XG is type 1, apply some fixes to it. - // XG Displays have a special behavior, we try to mimic it here - // reference video: - // https://www.youtube.com/watch?v=_mR7DV1E4KE - // first of all, extract the "Display Letters" byte - if (data.displayType === 1) - { - const displayLetters = data.displayData[0]; - // XG Display Letters: - // the screen is monospace, - // two rows, 16 characters each (max) - // since this is XG data, apply the XG display style - this.mainTitleMessageDisplay.classList.add("xg_sysex_display"); - - // 0x0c where c are the amount of spaces prepended - const spaces = displayLetters & 0x0F; - for (let i = 0; i < spaces; i++) - { - text = " " + text; - } - - // at 16 characters, add a newline - if (text.length >= 16) - { - text = text.slice(0, 16) + "\n" + text.slice(16); - } - - // if type is 0x1x, add a newline - if ((displayLetters & 0x10) > 1) - { - text = "\n" + text; - } - - } - - - if (text.trim().length === 0) - { - // set the text to invisible character to keep the height - this.mainTitleMessageDisplay.innerText = "‎ "; - } - else - { - // set the display to an invisible character to keep the height - this.mainTitleMessageDisplay.innerText = text; - } - - this.synthDisplayMode.enabled = true; - this.synthDisplayMode.currentEncodedText = textData; - if (displayTimeoutId !== null) - { - clearTimeout(displayTimeoutId); - } - displayTimeoutId = setTimeout(() => - { - this.synthDisplayMode.enabled = false; - this.restoreDisplay(); - }, 5000); - - } - }); } /** @@ -352,7 +352,13 @@ class SequencerUI */ restoreDisplay() { - this.mainTitleMessageDisplay.innerText = this.currentSongTitle; + let textToShow = this.currentSongTitle; + if (!this.seq) + { + // set to default title + textToShow = this.locale.getLocaleString("locale.titleMessage"); + } + this.mainTitleMessageDisplay.innerText = textToShow; this.mainTitleMessageDisplay.classList.remove("sysex_display"); this.mainTitleMessageDisplay.classList.remove("xg_sysex_display"); } diff --git a/src/website/js/settings_ui/handlers/midi_handler.js b/src/website/js/settings_ui/handlers/midi_handler.js index e6b48396..405e2d07 100644 --- a/src/website/js/settings_ui/handlers/midi_handler.js +++ b/src/website/js/settings_ui/handlers/midi_handler.js @@ -69,6 +69,13 @@ export function _createMidiInputHandler(handler, synth) } this._saveSettings(); }; + // try to connect the first input (if it exists) + if (handler.inputs.size > 0) + { + const firstInput = handler.inputs.entries().next().value; + handler.connectDeviceToSynth(firstInput[1], synth); + select.value = firstInput[0]; + } } /** @@ -105,6 +112,8 @@ export function _createMidiOutputHandler(handler, sequi) { if (!sequi.seq) { + // set timeou to wait for sequencer to exist + setTimeout(select.onchange, 1000); return; } if (select.value === "-1") diff --git a/src/website/minified/demo_main.min.js b/src/website/minified/demo_main.min.js index cfb3fadd..867fdb2e 100644 --- a/src/website/minified/demo_main.min.js +++ b/src/website/minified/demo_main.min.js @@ -1,4 +1,4 @@ -var DE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>(typeof require<"u"?require:i)[a]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var J5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((u,f)=>u+f.length,0),a=new J5(i),l=0;for(let u of n)a.set(u,l),l+=u.length;return a}function D$(n){n=Math.floor(n);let i=Math.floor(n/60),a=Math.round(n-i*60);return{minutes:i,seconds:a,time:`${i.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}}function _E(n){return n.trim().replaceAll(".mid","").replaceAll(".kar","").replaceAll(".rmi","").replaceAll("_"," ").trim()}var I1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,a,l){this.ticks=i,this.messageStatusByte=a,this.messageData=l}};var v3={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 yQ(n){let i=n&240,a=n&15,l=-1,u=n;return i>=128&&i<=224&&(l=a,u=i),{status:u,channel:l}}var $3={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 xE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{},synthdisplay:{}},this.timeDelay=0}addEvent(i,a,l){this.events[i][a]=l}removeEvent(i,a){delete this.events[i][a]}callEvent(i,a){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(l=>{try{l(a)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}})},this.timeDelay*1e3):Object.values(this.events[i]).forEach(l=>{try{l(a)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}}))}};var zr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},Dp=class{constructor(i,a=zr){let l=i.context;this.input=new ChannelSplitterNode(l,{numberOfOutputs:2});let u=new ChannelMergerNode(l,{numberOfInputs:2}),f=[],x=[],V=a.oscillatorFrequency,T=a.defaultDelay;for(let N=0;N{let f=await u.arrayBuffer();a.buffer=await n.decodeAudioData(f)})}return a}var B4={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,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},_p={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},a7=-1,_$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var PD=!1,OD=!0,rB=!1;function m5(...n){PD&&console.info(...n)}function se(...n){OD&&console.warn(...n)}function F7(...n){rB&&console.group(...n)}function Q8(...n){rB&&console.groupCollapsed(...n)}function de(){rB&&console.groupEnd()}var wQ={chorusEnabled:!0,chorusConfig:zr,reverbEnabled:!0,reverbImpulseResponse:void 0};var xp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var LE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,a){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,a]})}async addNewSoundFont(i,a,l=0){if(this.soundfontList.find(u=>u.id===a)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(xp.addNewSoundFont,[i,a,l]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:a,bankOffset:l})}deleteSoundFont(i){if(this.soundfontList.length===0){se("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(a=>a.id===i)===-1){se(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(xp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(xp.rearrangeSoundFonts,i),this.soundfontList.sort((a,l)=>i.indexOf(a.id)-i.indexOf(l.id))}async reloadManager(i){this._sendToWorklet(xp.reloadSoundFont,i),await new Promise(a=>this.synth.resolveWhenReady=a)}};var u0={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},W6=[];W6[u0.startAddrsOffset]={min:0,max:32768,def:0};W6[u0.endAddrOffset]={min:-32768,max:32768,def:0};W6[u0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[u0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[u0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[u0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[u0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[u0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[u0.initialFilterFc]={min:1500,max:13500,def:13500};W6[u0.initialFilterQ]={min:0,max:960,def:0};W6[u0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[u0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[u0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.modLfoToVolume]={min:-960,max:960,def:0};W6[u0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[u0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[u0.pan]={min:-500,max:500,def:0};W6[u0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[u0.freqModLFO]={min:-16e3,max:4500,def:0};W6[u0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[u0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[u0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[u0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[u0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.sustainModEnv]={min:0,max:1e3,def:0};W6[u0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[u0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[u0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[u0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.sustainVolEnv]={min:0,max:1440,def:0};W6[u0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[u0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[u0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[u0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.keyNum]={min:-1,max:127,def:-1};W6[u0.velocity]={min:-1,max:127,def:-1};W6[u0.initialAttenuation]={min:-250,max:1440,def:0};W6[u0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.coarseTune]={min:-120,max:120,def:0};W6[u0.fineTune]={min:-12700,max:12700,def:0};W6[u0.scaleTuning]={min:0,max:1200,def:100};W6[u0.exclusiveClass]={min:0,max:99999,def:0};W6[u0.overridingRootKey]={min:-1,max:127,def:-1};W6[u0.sampleModes]={min:0,max:3,def:0};var q3=class{generatorType=u0.INVALID;generatorValue=0;constructor(i=u0.INVALID,a=0,l=!0){if(this.generatorType=i,a===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(a),l){let u=W6[i];u!==void 0&&(this.generatorValue=Math.max(u.min,Math.min(u.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},er={linear:0,concave:1,convex:2,switch:3},ce=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=u0.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,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===u0.reverbEffectsSend||this.modulatorDestination===u0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,a,l=!1){return i.sourceEnum===a.sourceEnum&&i.modulatorDestination===a.modulatorDestination&&i.secondarySourceEnum===a.secondarySourceEnum&&i.transformType===a.transformType&&(!l||i.transformAmount===a.transformAmount)}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(u,f){return Object.keys(u).find(x=>u[x]===f)}let a=i(er,this.sourceCurveType);a+=this.sourcePolarity===0?" unipolar ":" bipolar ",a+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?a+=i($3,this.sourceIndex):a+=i(q4,this.sourceIndex);let l=i(er,this.secSrcCurveType);return l+=this.secSrcPolarity===0?" unipolar ":" bipolar ",l+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?l+=i($3,this.secSrcIndex):l+=i(q4,this.secSrcIndex),`Modulator: +var DE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>(typeof require<"u"?require:i)[a]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var J5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((u,f)=>u+f.length,0),a=new J5(i),l=0;for(let u of n)a.set(u,l),l+=u.length;return a}function D$(n){n=Math.floor(n);let i=Math.floor(n/60),a=Math.round(n-i*60);return{minutes:i,seconds:a,time:`${i.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}}function _E(n){return n.trim().replaceAll(".mid","").replaceAll(".kar","").replaceAll(".rmi","").replaceAll("_"," ").trim()}var I1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,a,l){this.ticks=i,this.messageStatusByte=a,this.messageData=l}};var v3={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 yQ(n){let i=n&240,a=n&15,l=-1,u=n;return i>=128&&i<=224&&(l=a,u=i),{status:u,channel:l}}var $3={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 xE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{},synthdisplay:{}},this.timeDelay=0}addEvent(i,a,l){this.events[i][a]=l}removeEvent(i,a){delete this.events[i][a]}callEvent(i,a){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(l=>{try{l(a)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}})},this.timeDelay*1e3):Object.values(this.events[i]).forEach(l=>{try{l(a)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}}))}};var zr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},Dp=class{constructor(i,a=zr){let l=i.context;this.input=new ChannelSplitterNode(l,{numberOfOutputs:2});let u=new ChannelMergerNode(l,{numberOfInputs:2}),f=[],x=[],H=a.oscillatorFrequency,F=a.defaultDelay;for(let N=0;N{let f=await u.arrayBuffer();a.buffer=await n.decodeAudioData(f)})}return a}var B4={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,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},_p={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},a7=-1,_$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var PD=!1,OD=!0,rB=!1;function m5(...n){PD&&console.info(...n)}function se(...n){OD&&console.warn(...n)}function F7(...n){rB&&console.group(...n)}function Q8(...n){rB&&console.groupCollapsed(...n)}function de(){rB&&console.groupEnd()}var wQ={chorusEnabled:!0,chorusConfig:zr,reverbEnabled:!0,reverbImpulseResponse:void 0};var xp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var LE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,a){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,a]})}async addNewSoundFont(i,a,l=0){if(this.soundfontList.find(u=>u.id===a)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(xp.addNewSoundFont,[i,a,l]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:a,bankOffset:l})}deleteSoundFont(i){if(this.soundfontList.length===0){se("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(a=>a.id===i)===-1){se(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(xp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(xp.rearrangeSoundFonts,i),this.soundfontList.sort((a,l)=>i.indexOf(a.id)-i.indexOf(l.id))}async reloadManager(i){this._sendToWorklet(xp.reloadSoundFont,i),await new Promise(a=>this.synth.resolveWhenReady=a)}};var u0={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},W6=[];W6[u0.startAddrsOffset]={min:0,max:32768,def:0};W6[u0.endAddrOffset]={min:-32768,max:32768,def:0};W6[u0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[u0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[u0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[u0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[u0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[u0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[u0.initialFilterFc]={min:1500,max:13500,def:13500};W6[u0.initialFilterQ]={min:0,max:960,def:0};W6[u0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[u0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[u0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.modLfoToVolume]={min:-960,max:960,def:0};W6[u0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[u0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[u0.pan]={min:-500,max:500,def:0};W6[u0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[u0.freqModLFO]={min:-16e3,max:4500,def:0};W6[u0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[u0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[u0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[u0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[u0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.sustainModEnv]={min:0,max:1e3,def:0};W6[u0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[u0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[u0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[u0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.sustainVolEnv]={min:0,max:1440,def:0};W6[u0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[u0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[u0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[u0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.keyNum]={min:-1,max:127,def:-1};W6[u0.velocity]={min:-1,max:127,def:-1};W6[u0.initialAttenuation]={min:-250,max:1440,def:0};W6[u0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.coarseTune]={min:-120,max:120,def:0};W6[u0.fineTune]={min:-12700,max:12700,def:0};W6[u0.scaleTuning]={min:0,max:1200,def:100};W6[u0.exclusiveClass]={min:0,max:99999,def:0};W6[u0.overridingRootKey]={min:-1,max:127,def:-1};W6[u0.sampleModes]={min:0,max:3,def:0};var q3=class{generatorType=u0.INVALID;generatorValue=0;constructor(i=u0.INVALID,a=0,l=!0){if(this.generatorType=i,a===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(a),l){let u=W6[i];u!==void 0&&(this.generatorValue=Math.max(u.min,Math.min(u.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},er={linear:0,concave:1,convex:2,switch:3},ce=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=u0.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,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===u0.reverbEffectsSend||this.modulatorDestination===u0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,a,l=!1){return i.sourceEnum===a.sourceEnum&&i.modulatorDestination===a.modulatorDestination&&i.secondarySourceEnum===a.secondarySourceEnum&&i.transformType===a.transformType&&(!l||i.transformAmount===a.transformAmount)}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(u,f){return Object.keys(u).find(x=>u[x]===f)}let a=i(er,this.sourceCurveType);a+=this.sourcePolarity===0?" unipolar ":" bipolar ",a+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?a+=i($3,this.sourceIndex):a+=i(q4,this.sourceIndex);let l=i(er,this.secSrcCurveType);return l+=this.secSrcPolarity===0?" unipolar ":" bipolar ",l+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?l+=i($3,this.secSrcIndex):l+=i(q4,this.secSrcIndex),`Modulator: Source: ${a} Secondary source: ${l} Destination: ${i(u0,this.modulatorDestination)} @@ -6,8 +6,8 @@ var DE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>( Transform type: ${this.transformType} -`}},nB=960,sB=er.concave;function Kr(n,i,a,l,u){return n<<10|i<<9|a<<8|l<<7|u}var qD=[new ce({srcEnum:Kr(sB,0,1,0,q4.noteOnVelocity),dest:u0.initialAttenuation,amt:nB,secSrcEnum:0,transform:0}),new ce({srcEnum:129,dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(sB,0,1,1,$3.mainVolume),dest:u0.initialAttenuation,amt:nB,secSrcEnum:0,transform:0}),new ce({srcEnum:13,dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new ce({srcEnum:526,dest:u0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new ce({srcEnum:650,dest:u0.pan,amt:500,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(sB,0,1,1,$3.expressionController),dest:u0.initialAttenuation,amt:nB,secSrcEnum:0,transform:0}),new ce({srcEnum:219,dest:u0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new ce({srcEnum:221,dest:u0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0})],HD=[new ce({srcEnum:Kr(er.linear,0,0,0,q4.polyPressure),dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(er.linear,0,0,1,$3.tremoloDepth),dest:u0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(er.linear,1,0,1,$3.releaseTime),dest:u0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(er.linear,1,0,1,$3.brightness),dest:u0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(er.linear,1,0,1,$3.timbreHarmonicContent),dest:u0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})],ME=qD.concat(HD);var x$=128,vQ=147,VD=new Int16Array(vQ).fill(0),A7=(n,i)=>VD[n]=i<<7;A7($3.mainVolume,100);A7($3.balance,64);A7($3.expressionController,127);A7($3.pan,64);A7($3.timbreHarmonicContent,64);A7($3.releaseTime,64);A7($3.attackTime,64);A7($3.brightness,64);A7($3.soundController6,64);A7($3.soundController7,64);A7($3.soundController8,64);A7($3.soundController9,64);A7($3.generalPurposeController6,64);A7($3.generalPurposeController8,64);A7(x$+q4.pitchWheel,64);A7(x$+q4.pitchWheelRange,2);var RE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},kQ=Object.keys(RE).length,YD=new Float32Array(kQ);YD[RE.modulationMultiplier]=1;var SQ={velocityOverride:128};var FE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,a=-1,l=-1){this.velocity=i,this.patch={bank:a,program:l}}},TE={addMapping:0,deleteMapping:1,clearMappings:2};var NE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,a){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,a]})}addModifier(i,a,l){let u=l?.velocity??-1,f=l?.patch?.program??-1,x=l?.patch?.bank??-1,V=new FE(u,x,f);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][a]=V,this._sendToWorklet(TE.addMapping,[i,a,V])}getModifier(i,a){return this._keyModifiers?.[i]?.[a]}deleteModifier(i,a){this._sendToWorklet(TE.deleteMapping,[i,a]),this._keyModifiers[i]?.[a]!==void 0&&(this._keyModifiers[i][a]=void 0)}clearModifiers(){this._sendToWorklet(TE.clearMappings,void 0),this._keyModifiers=[]}};var zD="spessasynth-worklet-system",oB=350,T7=9,KD=16;var Bu=class{constructor(i,a,l=!0,u=void 0,f=wQ){m5("%cInitializing SpessaSynth synthesizer...",I1.info),this.context=i.context,this.targetNode=i;let x=u?.oneOutput===!0;this.eventHandler=new xE,this._voiceCap=oB,this._destroyed=!1,this._outputsAmount=KD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(N=>this.resolveWhenReady=N),this.channelProperties=[];for(let N=0;Nthis.handleMessage(N.data),this.soundfontManager=new LE(this),this.keyModifierManager=new NE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!x&&(this.reverbProcessor=QQ(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!x&&(this.chorusProcessor=new Dp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),x)this.worklet.connect(i,0);else for(let N=2;N{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(_p.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,a,l,u){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,a,l,u]})}_setMasterParam(i,a){this.post({channelNumber:a7,messageType:B4.setMasterParameter,messageData:[i,a]})}setInterpolationType(i){this._setMasterParam(_p.interpolationType,i)}handleMessage(i){let a=i.messageData;switch(i.messageType){case _$.channelProperties:this.channelProperties=a,this._voicesAmount=this.channelProperties.reduce((l,u)=>l+u.voicesAmount,0);break;case _$.eventCall:this.eventHandler.callEvent(a.eventName,a.eventData);break;case _$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(a.messageType,a.messageData);break;case _$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(a);break;case _$.ready:this.resolveWhenReady();break;case _$.soundfontError:se(new Error(a)),this.eventHandler.callEvent("soundfonterror",a);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=a=>{this._snapshotCallback=void 0,a.effectsConfig=this.effectsConfig,i(a)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:a7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,a){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:a})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${i.length}`);for(let a=0;a127||a<0)throw new Error(`Invalid controller number: ${a}`);l=Math.floor(l),a=Math.floor(a),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[a,l,u]})}resetControllers(){this.post({channelNumber:a7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,a){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:a})}polyPressure(i,a,l){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[a,l]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,a,l){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[a,l]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,a,l=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[a,l]})}setMainVolume(i){this._setMasterParam(_p.mainVolume,i)}setMasterPan(i){this._setMasterParam(_p.masterPan,i)}setPitchBendRange(i,a){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,a),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,a,l=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[a,l]})}velocityOverride(i,a){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[SQ.velocityOverride,a,!0]})}lockController(i,a,l){this.post({channelNumber:i,messageType:B4.lockController,messageData:[a,l]})}muteChannel(i,a){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:a})}async reloadSoundFont(i){se("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:a7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,a){this.post({channelNumber:i,messageType:B4.setDrums,messageData:a})}sendMessage(i,a=0){let l=yQ(i[0]);switch(l.channel+=a,l.status){case v3.noteOn:let u=i[2];u>0?this.noteOn(l.channel,i[1],u):this.noteOff(l.channel,i[1]);break;case v3.noteOff:this.noteOff(l.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(l.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(l.channel,i[1],i[2]);break;case v3.programChange:this.programChange(l.channel,i[1]);break;case v3.polyPressure:this.polyPressure(l.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(l.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new J5(i.slice(1)));break;case v3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new Dp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,a){this.post({messageType:B4.setEffectsGain,messageData:[i,a]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(l),this.releaseNote(l,this.channel),this.synth.noteOff(this.channel,l)},i=(l,u)=>{let f;if(N7)f=127;else{let V=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let T=u.clientX-V.left,N=V.width;f=Math.floor((N-T)/N*127)}else{let T=u.clientY-V.top,N=V.height;f=Math.floor(T/N*127)}}this.onNotePressed&&this.onNotePressed(l,f),this.synth.noteOn(this.channel,l,f,this.enableDebugging)},a=l=>{let u=l.touches?Array.from(l.touches):[l],f=new Set;u.forEach(x=>{let V=document.elementFromPoint(x.clientX,x.clientY),T=parseInt(V.id.replace("note",""));f.add(T),!(isNaN(T)||T<0||this.pressedKeys.has(T))&&(this.pressedKeys.add(T),i(T,x))}),this.pressedKeys.forEach(x=>{f.has(x)||n(x)})};N7||(document.addEventListener("mousedown",l=>{this.mouseHeld=!0,a(l)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(l=>{n(l)})}),this.keyboard.onmousemove=l=>{this.mouseHeld&&a(l)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(l=>{n(l)})}),this.keyboard.ontouchstart=a.bind(this),this.keyboard.ontouchend=a.bind(this),this.keyboard.ontouchmove=a.bind(this)}var DQ=20,Lp=class{onNotePressed=void 0;constructor(i,a){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",l=>{l.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",l=>{l.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=a,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",l=>{this.pressNote(l.midiNote,l.channel,l.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",l=>{this.releaseNote(l.midiNote,l.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",l=>{if(l.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,l.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let a=i.min;i.min=i.max,i.max=a}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(f=a(i-1)),i<127&&(x=a(i+1)),x&&f?l.classList.add("between_sharps"):f?l.classList.add("left_sharp"):x&&l.classList.add("right_sharp")}return l}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(l=>{l.classList.contains("flat_key")&&l.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(l=>{l.classList.contains("flat_key")&&l.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,a=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let u=900/(i.max-i.min+5),f=document.styleSheets[0].cssRules,x;for(let V of f)if(V.selectorText==="#keyboard .key"){x=V;break}if(x.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),a){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let V=getComputedStyle(this.keyboard),T=parseFloat(V.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),N=this.keyboard.getBoundingClientRect().height,b0=u/T,w=N*b0-N,U=(this._keyRange.min+this._keyRange.max)/2,P=(i.min+i.max)/2;this._keyRange=i;let F0=this.keys.find(j1=>j1.classList.contains("sharp_key")).getBoundingClientRect().width,m1=(U-P)*F0,l1=parseFloat(V.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${w}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${b0}) translateX(${m1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${l1/b0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${u}`),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",`${u}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,a,l){let u=this.keys[i-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let f=u.classList.contains("sharp_key"),x=l/127,V=this.channelColors[a%16].match(/\d+(\.\d+)?/g).map(parseFloat),T;if(!f&&this.mode==="light"?T=`rgba(${V.slice(0,3).map(b0=>255-(255-b0)*x).join(", ")}, ${V[3]})`:T=`rgba(${V.slice(0,3).map(b0=>b0*x).join(", ")}, ${V[3]})`,u.style.background=T,this.mode==="dark"){let N=DQ*x;u.style.boxShadow=`${T} 0px 0px ${N}px ${N/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[a%16])}releaseNote(i,a){let l=this.keys[i-this._keyRange.min];if(l===void 0)return;a%=this.channelColors.length;let u=this.keyColors[i-this._keyRange.min];if(!u)return;let f=u.findLastIndex(V=>V===this.channelColors[a]);if(f===-1)return;u.splice(f,1);let x=u[u.length-1]||"";l.style.background=x,this.mode==="dark"&&x!==""&&(l.style.boxShadow=`0px 0px ${DQ}px ${x}`),u.length<1&&(l.classList.remove("pressed"),l.style.background="",l.style.boxShadow="")}clearNotes(){this.keys.forEach((i,a)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[a]=[]})}};Lp.prototype._handlePointers=bQ;function L$(n,i){let a=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(a[0]))}, ${i(parseInt(a[1]))}, ${i(parseInt(a[2]))})`}var WD="#000";function _Q(n,i,a){n.forEach(l=>{if(l.pressedProgress===0)return;i.fillStyle=l.color;let u=l.pressedProgress*l.velocity;if(i.globalAlpha=.5*u,a){i.fillRect(l.xPos,l.yPos-l.height*u,l.width,l.height*(u*2+1)),i.globalAlpha=1;return}i.fillRect(l.xPos-l.width*u,l.yPos,l.width*(u*2+1),l.height),i.globalAlpha=1}),n.forEach(l=>{i.fillStyle=l.color,i.save(),i.translate(l.xPos,l.yPos),i.fillRect(0,0,l.width,l.height),i.restore(),i.strokeStyle=WD,i.lineWidth=l.stroke,i.strokeRect(l.xPos,l.yPos,l.width,l.height)})}var aB=!1;function xQ(n=!0,i=!1){let a=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||a)if(aB){n&&requestAnimationFrame(this.render.bind(this));return}else aB=!0;else aB=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let f=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||_Q(f,this.drawingContext,this.sideways)}let l=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/l;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${GE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,GE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,GE+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function LQ(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,a=this.sideways?this.canvas.width:this.canvas.height,l=this.keyRange.max-this.keyRange.min,u=i/(l+1),f=u-R$*2,x=this.noteFallingTimeMs/1e3,V=this.noteAfterTriggerTimeMs/1e3,T=this.seq.currentHighResolutionTime-this.timeOffset,N=T-V,b0=x+V,w=N+b0,U=RQ/b0,P=[];this.synth.channelProperties.forEach(m1=>{if(this.showVisualPitch){let l1=m1.pitchBend-8192+this.visualPitchBendOffset;P.push(m1.pitchBendRangeSemitones*(l1/8192*u))}else P.push(0)});let F0=[];return this.noteTimes.forEach((m1,l1)=>{if(m1.renderStartIndex>=m1.notes.length||!this.renderChannels[l1])return;let j1=m1.renderStartIndex,U1=m1.notes,c2=U1[j1],P2=-1;for(;c2.start<=w&&(j1++,!(this.notesOnScreen>FQ));){let L2=c2.start+c2.length;if(L2>N&&c2.length>0){let a0=c2.length/b0*a-R$*2;if(this.notesOnScreen<1e3||a0>U){P2===-1&&(P2=j1-1);let g5=(c2.start-N)/b0*a,p3;if(this._notesFall?p3=a-a0-g5+R$:p3=g5+R$,c2.midiNotethis.keyRange.max){if(j1>=U1.length)break;c2=U1[j1];continue}let k3=c2.midiNote-this.keyRange.min,u6=u*k3+R$,S3,ge,Ne,E3;if(this.sideways?(S3=p3,ge=u6,E3=f,Ne=a0):(ge=p3,S3=u6,Ne=f,E3=a0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[l1],this.drawingContext.fillRect(S3+M$+R$,ge+M$,Ne-M$*2,E3-M$*2);else{let p6;if(c2.start>T||L2=U1.length)break;c2=U1[j1]}P2>-1&&(m1.renderStartIndex=P2)}),F0.sort((m1,l1)=>l1.height-m1.height),F0}function TQ(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((a,l)=>{let u=l%4,f=Math.floor(l/4),x=!1;for(let w=l;w0){x=!0;break}if(!x){let w=this.canvas.width/4,U=this.canvas.height/4,P=w*u,F0=U*f+U/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[l],this.drawingContext.beginPath(),this.drawingContext.moveTo(P,F0),this.drawingContext.lineTo(P+w,F0),this.drawingContext.stroke();return}let V=new Float32Array(a.frequencyBinCount);a.getFloatTimeDomainData(V);let T=n*u,N=i*f+i/2,b0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[l],this.drawingContext.beginPath(),this._stabilizeWaveforms){let w=V.length/4,U=n/w,P=Math.floor(w/2),F0=V.length-P;for(let U1=F0;U1>=1;U1--)if(V[U1-1]<0&&V[U1]>=0){F0=U1;break}let m1=T,l1=F0-P,j1=F0+P;for(let U1=l1;U1{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function UQ(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function OQ(){for(let n of this.channelAnalysers)n.disconnect();m5("%cAnalysers disconnected!",I1.recognized)}function qQ(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let a=new Blob([i.RMIDInfo?.IPIC.buffer]),l=URL.createObjectURL(a),u=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${u}), rgba(0, 0, 0, ${u})), center center / cover url("${l}")`}else this.canvas.style.background=""},"renderer-song-change")}function HQ(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function Mp(n,i){let a=0;for(let l=8*(i-1);l>=0;l-=8)a|=n[n.currentIndex++]<>>0}function Rp(n,i){let a=new Array(i).fill(0);for(let l=i-1;l>=0;l--)a[l]=n&255,n>>=8;return a}var yu=.02;function VQ(n){function i(N){return N.messageData=new J5(N.messageData.buffer),N.messageData.currentIndex=0,6e7/Mp(N.messageData,3)}let a=[],u=n.tracks.flat();u.sort((N,b0)=>N.ticks-b0.ticks);for(let N=0;N<16;N++)a.push({renderStartIndex:0,notes:[]});let f=0,x=60/(120*n.timeDivision),V=0,T=0;for(;V>4,w=N.messageStatusByte&15;if(b0===8){let U=a[w].notes.findLast(P=>P.midiNote===N.messageData[0]&&P.length===-1);if(U){let P=f-U.start;U.length=PP.midiNote===N.messageData[0]&&P.length===-1);if(U){let P=f-U.start;U.length=P=u.length)break;f+=x*(u[V].ticks-N.ticks)}T>0&&a.forEach((N,b0)=>N.notes.filter(w=>w.length===-1).forEach(w=>{let U=f-w.start;w.length=Ui.max){let a=i.min;i.min=i.max,i.max=a}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return a.addColorStop(0,L$(i,l=>l*PE)),a.addColorStop(1,i),a}),this.darkerColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return a.addColorStop(0,L$(i,l=>l*PE*UE)),a.addColorStop(1,L$(i,l=>l*UE)),a}),this.sidewaysChannelColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return a.addColorStop(0,L$(i,l=>l*PE)),a.addColorStop(1,i),a}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return a.addColorStop(0,L$(i,l=>l*PE*UE)),a.addColorStop(1,L$(i,l=>l*UE)),a})}};G7.prototype.render=xQ;G7.prototype.computeNotePositions=LQ;G7.prototype.createChannelAnalysers=GQ;G7.prototype.updateFftSize=UQ;G7.prototype.connectChannelAnalysers=PQ;G7.prototype.disconnectChannelAnalysers=OQ;G7.prototype.connectSequencer=qQ;G7.prototype.calculateNoteTimes=VQ;G7.prototype.resetIndexes=HQ;G7.prototype.renderWaveforms=TQ;function o3(n,i){let a=0;for(let l=0;l>>0}function Ii(n,i,a){for(let l=0;l>l*8&255}function X3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function pe(n,i){Ii(n,i,4)}function Ua(n,i){let a=i<<8|n;return a>32767?a-65536:a}function YQ(n){return n>127?n-256:n}function y4(n,i,a=void 0,l=!0){if(a){let u=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(a.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,f="";for(let x=0;x127)&&V!==10){if(l){u=!0;continue}else if(V===0){u=!0;continue}}f+=String.fromCharCode(V)}}return f}}function F$(n,i=0){let a=n.length;i>0&&(a=i);let l=new J5(a);return O8(l,n,i),l}function Tn(n){return F$(n,n.length+1)}function O8(n,i,a=0){a>0&&i.length>a&&(i=i.slice(0,a));for(let l=0;li.length)for(let l=0;la.header!=="LIST"?!1:(a.chunkData.currentIndex=0,y4(a.chunkData,4)===i))}function OE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function qE(n){if(!n.tracks)throw new Error("MIDI has no tracks!");let i=[];for(let u of n.tracks){let f=[],x=0,V;for(let T of u){let N=T.ticks-x,b0;T.messageStatusByte<=v3.keySignature||T.messageStatusByte===v3.sequenceSpecific?b0=[255,T.messageStatusByte,...OE(T.messageData.length),...T.messageData]:T.messageStatusByte===v3.systemExclusive?b0=[240,...OE(T.messageData.length),...T.messageData]:(b0=[],V!==T.messageStatusByte&&(V=T.messageStatusByte,b0.push(T.messageStatusByte)),b0.push(...T.messageData)),f.push(...OE(N)),f.push(...b0),x+=N}i.push(new Uint8Array(f))}function a(u,f){for(let x=0;x{n.tracks.forEach((F0,m1)=>{if(n.midiPorts[m1]===P)for(let l1=F0.length-1;l1>=0;l1--)F0[l1].messageStatusByte>=128&&F0[l1].messageStatusByte<240&&(F0[l1].messageStatusByte&15)===U&&F0.splice(l1,1)})};l.forEach(U=>{let P=U%16,F0=U-P,m1=n.midiPortChannelOffsets.findIndex(l1=>l1===F0);f(P,m1),m5(`%cRemoving channel %c${U}%c!`,I1.info,I1.recognized,I1.info)});let x=!1,V="gs",T=[],N=[];n.tracks.forEach((U,P)=>{U.forEach(F0=>{let m1=F0.messageStatusByte&240;m1===v3.controllerChange?T.push({track:P,message:F0,channel:F0.messageStatusByte&15}):m1===v3.programChange?N.push({track:P,message:F0,channel:F0.messageStatusByte&15}):F0.messageStatusByte===v3.systemExclusive&&(F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[5]===126&&F0.messageData[6]===0?(m5("%cXG system on detected",I1.info),V="xg",x=!0):F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[3]===8&&F0.messageData[5]===3&&N.push({track:P,message:F0,channel:F0.messageData[4]}))})});let b0=(U,P,F0)=>n.tracks.reduce((m1,l1,j1)=>{if(n.usedChannelsOnTrack[j1].has(U)&&n.midiPorts[j1]===P){let U1;F0?U1=l1.findIndex(c2=>(c2.messageStatusByte&240)===v3.noteOn):U1=l1.findIndex(c2=>c2.messageStatusByte>128&&c2.messageStatusByte<240&&(c2.messageStatusByte&15)===U&&!(c2.messageStatusByte&v3.controllerChange===240&&(c2.messageData[0]===$3.resetAllControllers||c2.messageData[0]===$3.allNotesOff||c2.messageData[0]===$3.allSoundOff))),U1!==-1&&m1.push({index:U1,track:j1})}return m1},[]),w=(U,P,F0)=>{let m1=T.filter(l1=>l1.channel===U&&l1.message.messageData[0]===F0&&n.midiPorts[l1.track]===P);for(let l1=0;l1{let P=U.channel,F0=P%16,m1=P-F0,l1=n.midiPortChannelOffsets.findIndex(a0=>a0===m1),j1=U.controllerValue,U1=U.controllerNumber;w(F0,l1,U1),m5(`%cNo controller %c${U1}%c on channel %c${P}%c found. Adding it!`,I1.info,I1.unrecognized,I1.info,I1.value,I1.info);let c2=b0(F0,l1,!0);if(c2.length===0){se("Program change but no notes... ignoring!");return}let P2=c2.reduce((a0,g5)=>n.tracks[g5.track][g5.index].ticks{let P=U.channel%16,F0=U.channel-P,m1=n.midiPortChannelOffsets.findIndex(k3=>k3===F0),l1=U.isDrum?0:U.bank,j1=U.program,U1=N.filter(k3=>n.midiPorts[k3.track]===m1&&k3.channel===P);if(w(P,m1,$3.bankSelect),w(P,m1,$3.lsbForControl0BankSelect),(U.isDrum||l1>0)&&!x&&(n.tracks.forEach(k3=>{for(let u6=0;u60);if(c2.length===0){se("Program change but no notes... ignoring!");return}let P2=c2.reduce((k3,u6)=>n.tracks[u6.track][u6.index].ticks{if(n.midiPorts[U1]!==F0||!n.usedChannelsOnTrack[U1].has(P))return;let c2=v3.noteOn|P,P2=v3.noteOff|P,L2=v3.polyPressure|P;j1.forEach(a0=>{a0.messageStatusByte!==c2&&a0.messageStatusByte!==P2&&a0.messageStatusByte!==L2||(a0.messageData[0]=Math.max(0,Math.min(127,a0.messageData[0]+m1)))})}),l1!==0){let j1=n.tracks.find((S3,ge)=>n.usedChannelsOnTrack[ge].has(U.channel));if(j1===void 0){se(`Channel ${U.channel} unused but transpose requested???`);continue}let U1=v3.noteOn|U.channel%16,c2=j1.findIndex(S3=>S3.messageStatusByte===U1);if(c2===-1){se(`No notes on channel ${U.channel} but transpose requested???`);continue}let P2=j1[c2].ticks,L2=l1*64+64,a0=v3.controllerChange|U.channel%16,g5=new w7(P2,a0,new J5([$3.RPNMsb,0])),p3=new w7(P2,a0,new J5([$3.RPNLsb,1])),k3=new w7(P2,a0,new J5([$3.dataEntryMsb,L2])),u6=new w7(P2,a0,new J5([$3.lsbForControl6DataEntry,0]));j1.splice(c2,0,u6),j1.splice(c2,0,k3),j1.splice(c2,0,p3),j1.splice(c2,0,g5)}}de()}function Pa(n,i){let a=[],l=[],u=[],f=[];i.channelSnapshots.forEach((x,V)=>{if(x.isMuted){l.push(V);return}let T=x.channelTransposeKeyShift+x.customControllers[RE.channelTransposeFine]/100;T!==0&&a.push({channel:V,keyShift:T}),x.lockPreset&&u.push({channel:V,program:x.program,bank:x.bank,isDrum:x.drumChannel}),x.lockedControllers.forEach((N,b0)=>{if(!N||b0>127||b0===$3.bankSelect)return;let w=x.midiControllers[b0]>>7;f.push({channel:V,controllerNumber:b0,controllerValue:w})})}),i_(n,u,f,l,a)}var v8={name:"INAM",album:"IPRD",album2:"IALB",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",r_="Created using SpessaSynth";function HE(n,i,a,l=0,u="Shift_JIS",f={},x=!0){if(F7("%cWriting the RMIDI File...",I1.info),m5(`%cConfiguration: Bank offset: %c${l}%c, encoding: %c${u}`,I1.info,I1.value,I1.info,I1.value),m5("metadata",f),m5("Initial bank offset",i.bankOffset),x){let j1=function(){let L2=0,a0=1/0;return i.tracks.forEach((g5,p3)=>{m1[p3]>=g5.length||g5[m1[p3]].ticksa0>L2?a0:L2),P2=[];for(let L2=0;L20;){let L2=j1(),a0=i.tracks[L2];if(m1[L2]>=a0.length){l1--;continue}let g5=a0[m1[L2]];m1[L2]++;let p3=i.midiPortChannelOffsets[U1[L2]];if(g5.messageStatusByte===v3.midiPort){U1[L2]=g5.messageData[0];continue}let k3=g5.messageStatusByte&240;if(k3!==v3.controllerChange&&k3!==v3.programChange&&k3!==v3.systemExclusive)continue;if(k3===v3.systemExclusive){if(g5.messageData[0]!==65||g5.messageData[2]!==66||g5.messageData[3]!==18||g5.messageData[4]!==64||!(g5.messageData[5]&16)||g5.messageData[6]!==21){g5.messageData[0]===67&&g5.messageData[2]===76&&g5.messageData[5]===126&&g5.messageData[6]===0?P="xg":g5.messageData[0]===65&&g5.messageData[2]===66&&g5.messageData[6]===127?P="gs":g5.messageData[0]===126&&g5.messageData[2]===9&&(P="gm",F0.push({tNum:L2,e:g5}));continue}let ge=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][g5.messageData[5]&15]+p3;P2[ge].drums=!!(g5.messageData[7]>0&&g5.messageData[5]>>4);continue}let u6=(g5.messageStatusByte&15)+p3,S3=P2[u6];if(k3===v3.programChange){S3.drums?a.presets.findIndex(E3=>E3.program===g5.messageData[0]&&E3.bank===128)===-1&&(g5.messageData[0]=a.presets.find(E3=>E3.bank===128)?.program||0):a.presets.findIndex(E3=>E3.program===g5.messageData[0]&&E3.bank!==128)===-1&&(g5.messageData[0]=a.presets.find(E3=>E3.bank!==128)?.program||0),S3.program=g5.messageData[0];let ge=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),Ne=S3.drums?128:ge;if(S3.lastBank===void 0)continue;if(P==="xg"&&S3.drums&&(P2[u6].lastBank.messageData[1]=127),a.presets.findIndex(E3=>E3.bank===Ne&&E3.program===g5.messageData[0])===-1){let E3=a.presets.find(p6=>p6.program===g5.messageData[0])?.bank+l||l;S3.lastBank.messageData[1]=E3,m5(`%cNo preset %c${Ne}:${g5.messageData[0]}%c. Changing bank to ${E3}.`,I1.info,I1.recognized,I1.info)}else{let p6=(Ne===128?P==="xg"?127:0:ge)+l;S3.lastBank.messageData[1]=p6,m5(`%cPreset %c${Ne}:${g5.messageData[0]}%c exists. Changing bank to ${p6}.`,I1.info,I1.recognized,I1.info)}continue}g5.messageData[0]===$3.bankSelect&&(S3.hasBankSelect=!0,P==="xg"&&(S3.drums=g5.messageData[1]===120||g5.messageData[1]===126||g5.messageData[1]===127),S3.lastBank=g5)}if(P2.forEach((L2,a0)=>{if(L2.hasBankSelect===!0)return;let g5=a0%16,p3=v3.programChange|g5,k3=Math.floor(a0/16)*16,u6=i.midiPortChannelOffsets.indexOf(k3),S3=i.tracks.find((p6,w4)=>i.midiPorts[w4]===u6&&i.usedChannelsOnTrack[w4].has(g5));if(S3===void 0)return;let ge=S3.findIndex(p6=>p6.messageStatusByte===p3);if(ge===-1){let p6=S3.findIndex(H8=>H8.messageStatusByte>128&&H8.messageStatusByte<240&&(H8.messageStatusByte&15)===g5);if(p6===-1)return;let w4=S3[p6].ticks,tr=a.getPreset(0,0).program;S3.splice(p6,0,new w7(w4,v3.programChange|g5,new J5([tr]))),ge=p6}m5(`%cAdding bank select for %c${a0}`,I1.info,I1.recognized);let Ne=S3[ge].ticks,E3=a.getPreset(0,L2.program)?.bank+l||l;S3.splice(ge,0,new w7(Ne,v3.controllerChange|g5,new J5([$3.bankSelect,E3])))}),P!=="gs"&&P!=="xg"){for(let a0 of F0)i.tracks[a0.tNum].splice(i.tracks[a0.tNum].indexOf(a0.e),1);let L2=0;i.tracks[0][0].messageStatusByte===v3.trackName&&L2++,i.tracks[0].splice(L2,0,$B(0))}}let V=new J5(qE(i).buffer),T=[F$("INFO")],N=new TextEncoder;if(T.push(v6(v8.software,N.encode("SpessaSynth"),!0)),f.name!==void 0?(T.push(v6(v8.name,N.encode(f.name),!0)),u=Oa):T.push(v6(v8.name,i.rawMidiName,!0)),f.creationDate!==void 0)u=Oa,T.push(v6(v8.creationDate,N.encode(f.creationDate),!0));else{let P=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});T.push(v6(v8.creationDate,Tn(P),!0))}if(f.comment!==void 0&&(u=Oa,T.push(v6(v8.comment,N.encode(f.comment)))),f.engineer!==void 0&&T.push(v6(v8.engineer,N.encode(f.engineer),!0)),f.album!==void 0&&(u=Oa,T.push(v6(v8.album,N.encode(f.album),!0)),T.push(v6(v8.album2,N.encode(f.album),!0))),f.artist!==void 0&&(u=Oa,T.push(v6(v8.artist,N.encode(f.artist),!0))),f.genre!==void 0&&(u=Oa,T.push(v6(v8.genre,N.encode(f.genre),!0))),f.picture!==void 0&&T.push(v6(v8.picture,new Uint8Array(f.picture))),f.copyright!==void 0)u=Oa,T.push(v6(v8.copyright,N.encode(f.copyright),!0));else{let P=i.copyright.length>0?i.copyright:r_;T.push(v6(v8.copyright,Tn(P)))}let b0=new J5(2);Ii(b0,l,2),T.push(v6(v8.bankOffset,b0)),f.midiEncoding!==void 0&&(T.push(v6(v8.midiEncoding,N.encode(f.midiEncoding))),u=Oa),T.push(v6(v8.encoding,Tn(u)));let w=St(T),U=St([F$("RMID"),v6("data",V),v6("LIST",w),n]);return m5("%cFinished!",I1.info),de(),v6("RIFF",U)}var Fp=class{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];lyricsTicks=[];firstNoteOn=0;keyRange={min:0,max:127};lastVoiceEventTick=0;midiPorts=[0];midiPortChannelOffsets=[0];usedChannelsOnTrack=[];loop={start:0,end:0};midiName="";midiNameUsesFileName=!1;fileName="";rawMidiName=void 0;format=0;RMIDInfo={};bankOffset=0;isKaraokeFile=!1};var Tp=class n extends Fp{embeddedSoundFont=void 0;tracks=[];static copyFrom(i){let a=new n;return a.midiName=i.midiName,a.midiNameUsesFileName=i.midiNameUsesFileName,a.fileName=i.fileName,a.timeDivision=i.timeDivision,a.duration=i.duration,a.copyright=i.copyright,a.tracksAmount=i.tracksAmount,a.firstNoteOn=i.firstNoteOn,a.keyRange={...i.keyRange},a.lastVoiceEventTick=i.lastVoiceEventTick,a.loop={...i.loop},a.format=i.format,a.bankOffset=i.bankOffset,a.isKaraokeFile=i.isKaraokeFile,a.tempoChanges=[...i.tempoChanges],a.lyrics=i.lyrics.map(l=>new Uint8Array(l)),a.lyricsTicks=[...i.lyricsTicks],a.midiPorts=[...i.midiPorts],a.midiPortChannelOffsets=[...i.midiPortChannelOffsets],a.usedChannelsOnTrack=i.usedChannelsOnTrack.map(l=>new Set(l)),a.rawMidiName=i.rawMidiName?new Uint8Array(i.rawMidiName):void 0,a.embeddedSoundFont=i.embeddedSoundFont?i.embeddedSoundFont.slice():void 0,a.RMIDInfo={...i.RMIDInfo},a.tracks=i.tracks.map(l=>[...l]),a}flush(){let i=[];for(let u of this.tracks){u.sort((x,V)=>x.ticks-V.ticks);let f=u.find(x=>(x.messageStatusByte&240)===v3.noteOn);f&&i.push(f.ticks)}this.firstNoteOn=Math.min(...i),this.lastVoiceEventTick=0,this.tempoChanges=[{ticks:0,tempo:120}],this.midiPorts=[],this.midiPortChannelOffsets=[];let a=0;this.usedChannelsOnTrack=this.tracks.map(()=>new Set),this.tracks.forEach((u,f)=>{this.midiPorts.push(-1),u.forEach(x=>{if(x.messageStatusByte>=128&&x.messageStatusByte<240&&x.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=x.ticks),x.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:x.ticks,tempo:6e7/Mp(x.messageData,3)});else if((x.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[f].add(x.messageData[0]);else if(x.messageStatusByte===v3.midiPort){let V=x.messageData[0];this.midiPorts[f]=V,this.midiPortChannelOffsets[V]===void 0&&(this.midiPortChannelOffsets[V]=a,a+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Qu(this.lastVoiceEventTick,this);let l=0;for(let u of this.midiPorts)if(u!==-1){l=u;break}this.midiPorts=this.midiPorts.map(u=>u===-1?l:u),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Qu(n,i){let a=0;for(;n>0;){let l=i.tempoChanges.find(f=>f.ticks=128){this.MIDIout.send(l);return}break;case qa.songChange:let u=a[0];this.songIndex=a[1],this.midiData=u,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(x=>x[1](u)),a[2]===!0&&this.unpause();break;case qa.textEvent:this.onTextEvent&&this.onTextEvent(...a);break;case qa.timeChange:let f=this.synth.currentTime-a;Object.entries(this.onTimeChange).forEach(x=>x[1](f)),this._recalculateStartTime(f),this.paused&&this._preservePlaybackState?this.pausedTime=f:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=a,this.isFinished&&Object.entries(this.onSongEnded).forEach(x=>x[1]());break;case qa.midiError:if(this.onError)this.onError(a);else throw new Error("Sequencer error: "+a);return;case qa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(Tp.copyFrom(a))}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage($7.getMIDI,void 0)})}loadNewSongList(i,a=!0){this.pause(),this.midiData=zQ,this.hasDummyData=!0,this.duration=99999,this._sendMessage($7.loadNewSongList,[i,a]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),a===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage($7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){se("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage($7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage($7.play,i)}stop(){this._sendMessage($7.stop)}};var Np=["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 KQ(n){return` +`}},nB=960,sB=er.concave;function Kr(n,i,a,l,u){return n<<10|i<<9|a<<8|l<<7|u}var qD=[new ce({srcEnum:Kr(sB,0,1,0,q4.noteOnVelocity),dest:u0.initialAttenuation,amt:nB,secSrcEnum:0,transform:0}),new ce({srcEnum:129,dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(sB,0,1,1,$3.mainVolume),dest:u0.initialAttenuation,amt:nB,secSrcEnum:0,transform:0}),new ce({srcEnum:13,dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new ce({srcEnum:526,dest:u0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new ce({srcEnum:650,dest:u0.pan,amt:500,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(sB,0,1,1,$3.expressionController),dest:u0.initialAttenuation,amt:nB,secSrcEnum:0,transform:0}),new ce({srcEnum:219,dest:u0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new ce({srcEnum:221,dest:u0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0})],HD=[new ce({srcEnum:Kr(er.linear,0,0,0,q4.polyPressure),dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(er.linear,0,0,1,$3.tremoloDepth),dest:u0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(er.linear,1,0,1,$3.releaseTime),dest:u0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(er.linear,1,0,1,$3.brightness),dest:u0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new ce({srcEnum:Kr(er.linear,1,0,1,$3.timbreHarmonicContent),dest:u0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})],ME=qD.concat(HD);var x$=128,vQ=147,VD=new Int16Array(vQ).fill(0),A7=(n,i)=>VD[n]=i<<7;A7($3.mainVolume,100);A7($3.balance,64);A7($3.expressionController,127);A7($3.pan,64);A7($3.timbreHarmonicContent,64);A7($3.releaseTime,64);A7($3.attackTime,64);A7($3.brightness,64);A7($3.soundController6,64);A7($3.soundController7,64);A7($3.soundController8,64);A7($3.soundController9,64);A7($3.generalPurposeController6,64);A7($3.generalPurposeController8,64);A7(x$+q4.pitchWheel,64);A7(x$+q4.pitchWheelRange,2);var RE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},kQ=Object.keys(RE).length,YD=new Float32Array(kQ);YD[RE.modulationMultiplier]=1;var SQ={velocityOverride:128};var FE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,a=-1,l=-1){this.velocity=i,this.patch={bank:a,program:l}}},TE={addMapping:0,deleteMapping:1,clearMappings:2};var NE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,a){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,a]})}addModifier(i,a,l){let u=l?.velocity??-1,f=l?.patch?.program??-1,x=l?.patch?.bank??-1,H=new FE(u,x,f);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][a]=H,this._sendToWorklet(TE.addMapping,[i,a,H])}getModifier(i,a){return this._keyModifiers?.[i]?.[a]}deleteModifier(i,a){this._sendToWorklet(TE.deleteMapping,[i,a]),this._keyModifiers[i]?.[a]!==void 0&&(this._keyModifiers[i][a]=void 0)}clearModifiers(){this._sendToWorklet(TE.clearMappings,void 0),this._keyModifiers=[]}};var zD="spessasynth-worklet-system",oB=350,T7=9,KD=16;var Bu=class{constructor(i,a,l=!0,u=void 0,f=wQ){m5("%cInitializing SpessaSynth synthesizer...",I1.info),this.context=i.context,this.targetNode=i;let x=u?.oneOutput===!0;this.eventHandler=new xE,this._voiceCap=oB,this._destroyed=!1,this._outputsAmount=KD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(N=>this.resolveWhenReady=N),this.channelProperties=[];for(let N=0;Nthis.handleMessage(N.data),this.soundfontManager=new LE(this),this.keyModifierManager=new NE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!x&&(this.reverbProcessor=QQ(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!x&&(this.chorusProcessor=new Dp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),x)this.worklet.connect(i,0);else for(let N=2;N{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(_p.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,a,l,u){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,a,l,u]})}_setMasterParam(i,a){this.post({channelNumber:a7,messageType:B4.setMasterParameter,messageData:[i,a]})}setInterpolationType(i){this._setMasterParam(_p.interpolationType,i)}handleMessage(i){let a=i.messageData;switch(i.messageType){case _$.channelProperties:this.channelProperties=a,this._voicesAmount=this.channelProperties.reduce((l,u)=>l+u.voicesAmount,0);break;case _$.eventCall:this.eventHandler.callEvent(a.eventName,a.eventData);break;case _$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(a.messageType,a.messageData);break;case _$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(a);break;case _$.ready:this.resolveWhenReady();break;case _$.soundfontError:se(new Error(a)),this.eventHandler.callEvent("soundfonterror",a);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=a=>{this._snapshotCallback=void 0,a.effectsConfig=this.effectsConfig,i(a)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:a7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,a){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:a})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! + Expected ${this._outputsAmount} got ${i.length}`);for(let a=0;a127||a<0)throw new Error(`Invalid controller number: ${a}`);l=Math.floor(l),a=Math.floor(a),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[a,l,u]})}resetControllers(){this.post({channelNumber:a7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,a){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:a})}polyPressure(i,a,l){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[a,l]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,a,l){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[a,l]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,a,l=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[a,l]})}setMainVolume(i){this._setMasterParam(_p.mainVolume,i)}setMasterPan(i){this._setMasterParam(_p.masterPan,i)}setPitchBendRange(i,a){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,a),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,a,l=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[a,l]})}velocityOverride(i,a){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[SQ.velocityOverride,a,!0]})}lockController(i,a,l){this.post({channelNumber:i,messageType:B4.lockController,messageData:[a,l]})}muteChannel(i,a){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:a})}async reloadSoundFont(i){se("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:a7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,a){this.post({channelNumber:i,messageType:B4.setDrums,messageData:a})}sendMessage(i,a=0){let l=yQ(i[0]);switch(l.channel+=a,l.status){case v3.noteOn:let u=i[2];u>0?this.noteOn(l.channel,i[1],u):this.noteOff(l.channel,i[1]);break;case v3.noteOff:this.noteOff(l.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(l.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(l.channel,i[1],i[2]);break;case v3.programChange:this.programChange(l.channel,i[1]);break;case v3.polyPressure:this.polyPressure(l.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(l.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new J5(i.slice(1)));break;case v3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new Dp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,a){this.post({messageType:B4.setEffectsGain,messageData:[i,a]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(l),this.releaseNote(l,this.channel),this.synth.noteOff(this.channel,l)},i=(l,u)=>{let f;if(N7)f=127;else{let H=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let F=u.clientX-H.left,N=H.width;f=Math.floor((N-F)/N*127)}else{let F=u.clientY-H.top,N=H.height;f=Math.floor(F/N*127)}}this.onNotePressed&&this.onNotePressed(l,f),this.synth.noteOn(this.channel,l,f,this.enableDebugging)},a=l=>{let u=l.touches?Array.from(l.touches):[l],f=new Set;u.forEach(x=>{let H=document.elementFromPoint(x.clientX,x.clientY),F=parseInt(H.id.replace("note",""));f.add(F),!(isNaN(F)||F<0||this.pressedKeys.has(F))&&(this.pressedKeys.add(F),i(F,x))}),this.pressedKeys.forEach(x=>{f.has(x)||n(x)})};N7||(document.addEventListener("mousedown",l=>{this.mouseHeld=!0,a(l)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(l=>{n(l)})}),this.keyboard.onmousemove=l=>{this.mouseHeld&&a(l)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(l=>{n(l)})}),this.keyboard.ontouchstart=a.bind(this),this.keyboard.ontouchend=a.bind(this),this.keyboard.ontouchmove=a.bind(this)}var DQ=20,Lp=class{onNotePressed=void 0;constructor(i,a){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",l=>{l.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",l=>{l.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=a,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",l=>{this.pressNote(l.midiNote,l.channel,l.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",l=>{this.releaseNote(l.midiNote,l.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",l=>{if(l.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,l.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let a=i.min;i.min=i.max,i.max=a}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(f=a(i-1)),i<127&&(x=a(i+1)),x&&f?l.classList.add("between_sharps"):f?l.classList.add("left_sharp"):x&&l.classList.add("right_sharp")}return l}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(l=>{l.classList.contains("flat_key")&&l.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(l=>{l.classList.contains("flat_key")&&l.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,a=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let u=900/(i.max-i.min+5),f=document.styleSheets[0].cssRules,x;for(let H of f)if(H.selectorText==="#keyboard .key"){x=H;break}if(x.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),a){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let H=getComputedStyle(this.keyboard),F=parseFloat(H.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),N=this.keyboard.getBoundingClientRect().height,S0=u/F,w=N*S0-N,U=(this._keyRange.min+this._keyRange.max)/2,P=(i.min+i.max)/2;this._keyRange=i;let F0=this.keys.find(j1=>j1.classList.contains("sharp_key")).getBoundingClientRect().width,m1=(U-P)*F0,l1=parseFloat(H.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${w}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${S0}) translateX(${m1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${l1/S0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${u}`),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",`${u}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,a,l){let u=this.keys[i-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let f=u.classList.contains("sharp_key"),x=l/127,H=this.channelColors[a%16].match(/\d+(\.\d+)?/g).map(parseFloat),F;if(!f&&this.mode==="light"?F=`rgba(${H.slice(0,3).map(S0=>255-(255-S0)*x).join(", ")}, ${H[3]})`:F=`rgba(${H.slice(0,3).map(S0=>S0*x).join(", ")}, ${H[3]})`,u.style.background=F,this.mode==="dark"){let N=DQ*x;u.style.boxShadow=`${F} 0px 0px ${N}px ${N/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[a%16])}releaseNote(i,a){let l=this.keys[i-this._keyRange.min];if(l===void 0)return;a%=this.channelColors.length;let u=this.keyColors[i-this._keyRange.min];if(!u)return;let f=u.findLastIndex(H=>H===this.channelColors[a]);if(f===-1)return;u.splice(f,1);let x=u[u.length-1]||"";l.style.background=x,this.mode==="dark"&&x!==""&&(l.style.boxShadow=`0px 0px ${DQ}px ${x}`),u.length<1&&(l.classList.remove("pressed"),l.style.background="",l.style.boxShadow="")}clearNotes(){this.keys.forEach((i,a)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[a]=[]})}};Lp.prototype._handlePointers=bQ;function L$(n,i){let a=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(a[0]))}, ${i(parseInt(a[1]))}, ${i(parseInt(a[2]))})`}var WD="#000";function _Q(n,i,a){n.forEach(l=>{if(l.pressedProgress===0)return;i.fillStyle=l.color;let u=l.pressedProgress*l.velocity;if(i.globalAlpha=.5*u,a){i.fillRect(l.xPos,l.yPos-l.height*u,l.width,l.height*(u*2+1)),i.globalAlpha=1;return}i.fillRect(l.xPos-l.width*u,l.yPos,l.width*(u*2+1),l.height),i.globalAlpha=1}),n.forEach(l=>{i.fillStyle=l.color,i.save(),i.translate(l.xPos,l.yPos),i.fillRect(0,0,l.width,l.height),i.restore(),i.strokeStyle=WD,i.lineWidth=l.stroke,i.strokeRect(l.xPos,l.yPos,l.width,l.height)})}var aB=!1;function xQ(n=!0,i=!1){let a=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||a)if(aB){n&&requestAnimationFrame(this.render.bind(this));return}else aB=!0;else aB=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let f=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||_Q(f,this.drawingContext,this.sideways)}let l=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/l;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${GE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,GE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,GE+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function LQ(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,a=this.sideways?this.canvas.width:this.canvas.height,l=this.keyRange.max-this.keyRange.min,u=i/(l+1),f=u-R$*2,x=this.noteFallingTimeMs/1e3,H=this.noteAfterTriggerTimeMs/1e3,F=this.seq.currentHighResolutionTime-this.timeOffset,N=F-H,S0=x+H,w=N+S0,U=RQ/S0,P=[];this.synth.channelProperties.forEach(m1=>{if(this.showVisualPitch){let l1=m1.pitchBend-8192+this.visualPitchBendOffset;P.push(m1.pitchBendRangeSemitones*(l1/8192*u))}else P.push(0)});let F0=[];return this.noteTimes.forEach((m1,l1)=>{if(m1.renderStartIndex>=m1.notes.length||!this.renderChannels[l1])return;let j1=m1.renderStartIndex,U1=m1.notes,c2=U1[j1],P2=-1;for(;c2.start<=w&&(j1++,!(this.notesOnScreen>FQ));){let L2=c2.start+c2.length;if(L2>N&&c2.length>0){let a0=c2.length/S0*a-R$*2;if(this.notesOnScreen<1e3||a0>U){P2===-1&&(P2=j1-1);let g5=(c2.start-N)/S0*a,p3;if(this._notesFall?p3=a-a0-g5+R$:p3=g5+R$,c2.midiNotethis.keyRange.max){if(j1>=U1.length)break;c2=U1[j1];continue}let k3=c2.midiNote-this.keyRange.min,u6=u*k3+R$,S3,ge,Ne,E3;if(this.sideways?(S3=p3,ge=u6,E3=f,Ne=a0):(ge=p3,S3=u6,Ne=f,E3=a0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[l1],this.drawingContext.fillRect(S3+M$+R$,ge+M$,Ne-M$*2,E3-M$*2);else{let p6;if(c2.start>F||L2=U1.length)break;c2=U1[j1]}P2>-1&&(m1.renderStartIndex=P2)}),F0.sort((m1,l1)=>l1.height-m1.height),F0}function TQ(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((a,l)=>{let u=l%4,f=Math.floor(l/4),x=!1;for(let w=l;w0){x=!0;break}if(!x){let w=this.canvas.width/4,U=this.canvas.height/4,P=w*u,F0=U*f+U/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[l],this.drawingContext.beginPath(),this.drawingContext.moveTo(P,F0),this.drawingContext.lineTo(P+w,F0),this.drawingContext.stroke();return}let H=new Float32Array(a.frequencyBinCount);a.getFloatTimeDomainData(H);let F=n*u,N=i*f+i/2,S0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[l],this.drawingContext.beginPath(),this._stabilizeWaveforms){let w=H.length/4,U=n/w,P=Math.floor(w/2),F0=H.length-P;for(let U1=F0;U1>=1;U1--)if(H[U1-1]<0&&H[U1]>=0){F0=U1;break}let m1=F,l1=F0-P,j1=F0+P;for(let U1=l1;U1{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function UQ(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function OQ(){for(let n of this.channelAnalysers)n.disconnect();m5("%cAnalysers disconnected!",I1.recognized)}function qQ(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let a=new Blob([i.RMIDInfo?.IPIC.buffer]),l=URL.createObjectURL(a),u=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${u}), rgba(0, 0, 0, ${u})), center center / cover url("${l}")`}else this.canvas.style.background=""},"renderer-song-change")}function HQ(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function Mp(n,i){let a=0;for(let l=8*(i-1);l>=0;l-=8)a|=n[n.currentIndex++]<>>0}function Rp(n,i){let a=new Array(i).fill(0);for(let l=i-1;l>=0;l--)a[l]=n&255,n>>=8;return a}var yu=.02;function VQ(n){function i(N){return N.messageData=new J5(N.messageData.buffer),N.messageData.currentIndex=0,6e7/Mp(N.messageData,3)}let a=[],u=n.tracks.flat();u.sort((N,S0)=>N.ticks-S0.ticks);for(let N=0;N<16;N++)a.push({renderStartIndex:0,notes:[]});let f=0,x=60/(120*n.timeDivision),H=0,F=0;for(;H>4,w=N.messageStatusByte&15;if(S0===8){let U=a[w].notes.findLast(P=>P.midiNote===N.messageData[0]&&P.length===-1);if(U){let P=f-U.start;U.length=PP.midiNote===N.messageData[0]&&P.length===-1);if(U){let P=f-U.start;U.length=P=u.length)break;f+=x*(u[H].ticks-N.ticks)}F>0&&a.forEach((N,S0)=>N.notes.filter(w=>w.length===-1).forEach(w=>{let U=f-w.start;w.length=Ui.max){let a=i.min;i.min=i.max,i.max=a}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return a.addColorStop(0,L$(i,l=>l*PE)),a.addColorStop(1,i),a}),this.darkerColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return a.addColorStop(0,L$(i,l=>l*PE*UE)),a.addColorStop(1,L$(i,l=>l*UE)),a}),this.sidewaysChannelColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return a.addColorStop(0,L$(i,l=>l*PE)),a.addColorStop(1,i),a}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return a.addColorStop(0,L$(i,l=>l*PE*UE)),a.addColorStop(1,L$(i,l=>l*UE)),a})}};G7.prototype.render=xQ;G7.prototype.computeNotePositions=LQ;G7.prototype.createChannelAnalysers=GQ;G7.prototype.updateFftSize=UQ;G7.prototype.connectChannelAnalysers=PQ;G7.prototype.disconnectChannelAnalysers=OQ;G7.prototype.connectSequencer=qQ;G7.prototype.calculateNoteTimes=VQ;G7.prototype.resetIndexes=HQ;G7.prototype.renderWaveforms=TQ;function o3(n,i){let a=0;for(let l=0;l>>0}function Ii(n,i,a){for(let l=0;l>l*8&255}function X3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function pe(n,i){Ii(n,i,4)}function Ua(n,i){let a=i<<8|n;return a>32767?a-65536:a}function YQ(n){return n>127?n-256:n}function y4(n,i,a=void 0,l=!0){if(a){let u=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(a.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,f="";for(let x=0;x127)&&H!==10){if(l){u=!0;continue}else if(H===0){u=!0;continue}}f+=String.fromCharCode(H)}}return f}}function F$(n,i=0){let a=n.length;i>0&&(a=i);let l=new J5(a);return O8(l,n,i),l}function Tn(n){return F$(n,n.length+1)}function O8(n,i,a=0){a>0&&i.length>a&&(i=i.slice(0,a));for(let l=0;li.length)for(let l=0;la.header!=="LIST"?!1:(a.chunkData.currentIndex=0,y4(a.chunkData,4)===i))}function OE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function qE(n){if(!n.tracks)throw new Error("MIDI has no tracks!");let i=[];for(let u of n.tracks){let f=[],x=0,H;for(let F of u){let N=F.ticks-x,S0;F.messageStatusByte<=v3.keySignature||F.messageStatusByte===v3.sequenceSpecific?S0=[255,F.messageStatusByte,...OE(F.messageData.length),...F.messageData]:F.messageStatusByte===v3.systemExclusive?S0=[240,...OE(F.messageData.length),...F.messageData]:(S0=[],H!==F.messageStatusByte&&(H=F.messageStatusByte,S0.push(F.messageStatusByte)),S0.push(...F.messageData)),f.push(...OE(N)),f.push(...S0),x+=N}i.push(new Uint8Array(f))}function a(u,f){for(let x=0;x{n.tracks.forEach((F0,m1)=>{if(n.midiPorts[m1]===P)for(let l1=F0.length-1;l1>=0;l1--)F0[l1].messageStatusByte>=128&&F0[l1].messageStatusByte<240&&(F0[l1].messageStatusByte&15)===U&&F0.splice(l1,1)})};l.forEach(U=>{let P=U%16,F0=U-P,m1=n.midiPortChannelOffsets.findIndex(l1=>l1===F0);f(P,m1),m5(`%cRemoving channel %c${U}%c!`,I1.info,I1.recognized,I1.info)});let x=!1,H="gs",F=[],N=[];n.tracks.forEach((U,P)=>{U.forEach(F0=>{let m1=F0.messageStatusByte&240;m1===v3.controllerChange?F.push({track:P,message:F0,channel:F0.messageStatusByte&15}):m1===v3.programChange?N.push({track:P,message:F0,channel:F0.messageStatusByte&15}):F0.messageStatusByte===v3.systemExclusive&&(F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[5]===126&&F0.messageData[6]===0?(m5("%cXG system on detected",I1.info),H="xg",x=!0):F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[3]===8&&F0.messageData[5]===3&&N.push({track:P,message:F0,channel:F0.messageData[4]}))})});let S0=(U,P,F0)=>n.tracks.reduce((m1,l1,j1)=>{if(n.usedChannelsOnTrack[j1].has(U)&&n.midiPorts[j1]===P){let U1;F0?U1=l1.findIndex(c2=>(c2.messageStatusByte&240)===v3.noteOn):U1=l1.findIndex(c2=>c2.messageStatusByte>128&&c2.messageStatusByte<240&&(c2.messageStatusByte&15)===U&&!(c2.messageStatusByte&v3.controllerChange===240&&(c2.messageData[0]===$3.resetAllControllers||c2.messageData[0]===$3.allNotesOff||c2.messageData[0]===$3.allSoundOff))),U1!==-1&&m1.push({index:U1,track:j1})}return m1},[]),w=(U,P,F0)=>{let m1=F.filter(l1=>l1.channel===U&&l1.message.messageData[0]===F0&&n.midiPorts[l1.track]===P);for(let l1=0;l1{let P=U.channel,F0=P%16,m1=P-F0,l1=n.midiPortChannelOffsets.findIndex(a0=>a0===m1),j1=U.controllerValue,U1=U.controllerNumber;w(F0,l1,U1),m5(`%cNo controller %c${U1}%c on channel %c${P}%c found. Adding it!`,I1.info,I1.unrecognized,I1.info,I1.value,I1.info);let c2=S0(F0,l1,!0);if(c2.length===0){se("Program change but no notes... ignoring!");return}let P2=c2.reduce((a0,g5)=>n.tracks[g5.track][g5.index].ticks{let P=U.channel%16,F0=U.channel-P,m1=n.midiPortChannelOffsets.findIndex(k3=>k3===F0),l1=U.isDrum?0:U.bank,j1=U.program,U1=N.filter(k3=>n.midiPorts[k3.track]===m1&&k3.channel===P);if(w(P,m1,$3.bankSelect),w(P,m1,$3.lsbForControl0BankSelect),(U.isDrum||l1>0)&&!x&&(n.tracks.forEach(k3=>{for(let u6=0;u60);if(c2.length===0){se("Program change but no notes... ignoring!");return}let P2=c2.reduce((k3,u6)=>n.tracks[u6.track][u6.index].ticks{if(n.midiPorts[U1]!==F0||!n.usedChannelsOnTrack[U1].has(P))return;let c2=v3.noteOn|P,P2=v3.noteOff|P,L2=v3.polyPressure|P;j1.forEach(a0=>{a0.messageStatusByte!==c2&&a0.messageStatusByte!==P2&&a0.messageStatusByte!==L2||(a0.messageData[0]=Math.max(0,Math.min(127,a0.messageData[0]+m1)))})}),l1!==0){let j1=n.tracks.find((S3,ge)=>n.usedChannelsOnTrack[ge].has(U.channel));if(j1===void 0){se(`Channel ${U.channel} unused but transpose requested???`);continue}let U1=v3.noteOn|U.channel%16,c2=j1.findIndex(S3=>S3.messageStatusByte===U1);if(c2===-1){se(`No notes on channel ${U.channel} but transpose requested???`);continue}let P2=j1[c2].ticks,L2=l1*64+64,a0=v3.controllerChange|U.channel%16,g5=new w7(P2,a0,new J5([$3.RPNMsb,0])),p3=new w7(P2,a0,new J5([$3.RPNLsb,1])),k3=new w7(P2,a0,new J5([$3.dataEntryMsb,L2])),u6=new w7(P2,a0,new J5([$3.lsbForControl6DataEntry,0]));j1.splice(c2,0,u6),j1.splice(c2,0,k3),j1.splice(c2,0,p3),j1.splice(c2,0,g5)}}de()}function Pa(n,i){let a=[],l=[],u=[],f=[];i.channelSnapshots.forEach((x,H)=>{if(x.isMuted){l.push(H);return}let F=x.channelTransposeKeyShift+x.customControllers[RE.channelTransposeFine]/100;F!==0&&a.push({channel:H,keyShift:F}),x.lockPreset&&u.push({channel:H,program:x.program,bank:x.bank,isDrum:x.drumChannel}),x.lockedControllers.forEach((N,S0)=>{if(!N||S0>127||S0===$3.bankSelect)return;let w=x.midiControllers[S0]>>7;f.push({channel:H,controllerNumber:S0,controllerValue:w})})}),i_(n,u,f,l,a)}var v8={name:"INAM",album:"IPRD",album2:"IALB",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",r_="Created using SpessaSynth";function HE(n,i,a,l=0,u="Shift_JIS",f={},x=!0){if(F7("%cWriting the RMIDI File...",I1.info),m5(`%cConfiguration: Bank offset: %c${l}%c, encoding: %c${u}`,I1.info,I1.value,I1.info,I1.value),m5("metadata",f),m5("Initial bank offset",i.bankOffset),x){let j1=function(){let L2=0,a0=1/0;return i.tracks.forEach((g5,p3)=>{m1[p3]>=g5.length||g5[m1[p3]].ticksa0>L2?a0:L2),P2=[];for(let L2=0;L20;){let L2=j1(),a0=i.tracks[L2];if(m1[L2]>=a0.length){l1--;continue}let g5=a0[m1[L2]];m1[L2]++;let p3=i.midiPortChannelOffsets[U1[L2]];if(g5.messageStatusByte===v3.midiPort){U1[L2]=g5.messageData[0];continue}let k3=g5.messageStatusByte&240;if(k3!==v3.controllerChange&&k3!==v3.programChange&&k3!==v3.systemExclusive)continue;if(k3===v3.systemExclusive){if(g5.messageData[0]!==65||g5.messageData[2]!==66||g5.messageData[3]!==18||g5.messageData[4]!==64||!(g5.messageData[5]&16)||g5.messageData[6]!==21){g5.messageData[0]===67&&g5.messageData[2]===76&&g5.messageData[5]===126&&g5.messageData[6]===0?P="xg":g5.messageData[0]===65&&g5.messageData[2]===66&&g5.messageData[6]===127?P="gs":g5.messageData[0]===126&&g5.messageData[2]===9&&(P="gm",F0.push({tNum:L2,e:g5}));continue}let ge=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][g5.messageData[5]&15]+p3;P2[ge].drums=!!(g5.messageData[7]>0&&g5.messageData[5]>>4);continue}let u6=(g5.messageStatusByte&15)+p3,S3=P2[u6];if(k3===v3.programChange){S3.drums?a.presets.findIndex(E3=>E3.program===g5.messageData[0]&&E3.bank===128)===-1&&(g5.messageData[0]=a.presets.find(E3=>E3.bank===128)?.program||0):a.presets.findIndex(E3=>E3.program===g5.messageData[0]&&E3.bank!==128)===-1&&(g5.messageData[0]=a.presets.find(E3=>E3.bank!==128)?.program||0),S3.program=g5.messageData[0];let ge=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),Ne=S3.drums?128:ge;if(S3.lastBank===void 0)continue;if(P==="xg"&&S3.drums&&(P2[u6].lastBank.messageData[1]=127),a.presets.findIndex(E3=>E3.bank===Ne&&E3.program===g5.messageData[0])===-1){let E3=a.presets.find(p6=>p6.program===g5.messageData[0])?.bank+l||l;S3.lastBank.messageData[1]=E3,m5(`%cNo preset %c${Ne}:${g5.messageData[0]}%c. Changing bank to ${E3}.`,I1.info,I1.recognized,I1.info)}else{let p6=(Ne===128?P==="xg"?127:0:ge)+l;S3.lastBank.messageData[1]=p6,m5(`%cPreset %c${Ne}:${g5.messageData[0]}%c exists. Changing bank to ${p6}.`,I1.info,I1.recognized,I1.info)}continue}g5.messageData[0]===$3.bankSelect&&(S3.hasBankSelect=!0,P==="xg"&&(S3.drums=g5.messageData[1]===120||g5.messageData[1]===126||g5.messageData[1]===127),S3.lastBank=g5)}if(P2.forEach((L2,a0)=>{if(L2.hasBankSelect===!0)return;let g5=a0%16,p3=v3.programChange|g5,k3=Math.floor(a0/16)*16,u6=i.midiPortChannelOffsets.indexOf(k3),S3=i.tracks.find((p6,w4)=>i.midiPorts[w4]===u6&&i.usedChannelsOnTrack[w4].has(g5));if(S3===void 0)return;let ge=S3.findIndex(p6=>p6.messageStatusByte===p3);if(ge===-1){let p6=S3.findIndex(H8=>H8.messageStatusByte>128&&H8.messageStatusByte<240&&(H8.messageStatusByte&15)===g5);if(p6===-1)return;let w4=S3[p6].ticks,tr=a.getPreset(0,0).program;S3.splice(p6,0,new w7(w4,v3.programChange|g5,new J5([tr]))),ge=p6}m5(`%cAdding bank select for %c${a0}`,I1.info,I1.recognized);let Ne=S3[ge].ticks,E3=a.getPreset(0,L2.program)?.bank+l||l;S3.splice(ge,0,new w7(Ne,v3.controllerChange|g5,new J5([$3.bankSelect,E3])))}),P!=="gs"&&P!=="xg"){for(let a0 of F0)i.tracks[a0.tNum].splice(i.tracks[a0.tNum].indexOf(a0.e),1);let L2=0;i.tracks[0][0].messageStatusByte===v3.trackName&&L2++,i.tracks[0].splice(L2,0,$B(0))}}let H=new J5(qE(i).buffer),F=[F$("INFO")],N=new TextEncoder;if(F.push(v6(v8.software,N.encode("SpessaSynth"),!0)),f.name!==void 0?(F.push(v6(v8.name,N.encode(f.name),!0)),u=Oa):F.push(v6(v8.name,i.rawMidiName,!0)),f.creationDate!==void 0)u=Oa,F.push(v6(v8.creationDate,N.encode(f.creationDate),!0));else{let P=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});F.push(v6(v8.creationDate,Tn(P),!0))}if(f.comment!==void 0&&(u=Oa,F.push(v6(v8.comment,N.encode(f.comment)))),f.engineer!==void 0&&F.push(v6(v8.engineer,N.encode(f.engineer),!0)),f.album!==void 0&&(u=Oa,F.push(v6(v8.album,N.encode(f.album),!0)),F.push(v6(v8.album2,N.encode(f.album),!0))),f.artist!==void 0&&(u=Oa,F.push(v6(v8.artist,N.encode(f.artist),!0))),f.genre!==void 0&&(u=Oa,F.push(v6(v8.genre,N.encode(f.genre),!0))),f.picture!==void 0&&F.push(v6(v8.picture,new Uint8Array(f.picture))),f.copyright!==void 0)u=Oa,F.push(v6(v8.copyright,N.encode(f.copyright),!0));else{let P=i.copyright.length>0?i.copyright:r_;F.push(v6(v8.copyright,Tn(P)))}let S0=new J5(2);Ii(S0,l,2),F.push(v6(v8.bankOffset,S0)),f.midiEncoding!==void 0&&(F.push(v6(v8.midiEncoding,N.encode(f.midiEncoding))),u=Oa),F.push(v6(v8.encoding,Tn(u)));let w=St(F),U=St([F$("RMID"),v6("data",H),v6("LIST",w),n]);return m5("%cFinished!",I1.info),de(),v6("RIFF",U)}var Fp=class{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];lyricsTicks=[];firstNoteOn=0;keyRange={min:0,max:127};lastVoiceEventTick=0;midiPorts=[0];midiPortChannelOffsets=[0];usedChannelsOnTrack=[];loop={start:0,end:0};midiName="";midiNameUsesFileName=!1;fileName="";rawMidiName=void 0;format=0;RMIDInfo={};bankOffset=0;isKaraokeFile=!1};var Tp=class n extends Fp{embeddedSoundFont=void 0;tracks=[];static copyFrom(i){let a=new n;return a.midiName=i.midiName,a.midiNameUsesFileName=i.midiNameUsesFileName,a.fileName=i.fileName,a.timeDivision=i.timeDivision,a.duration=i.duration,a.copyright=i.copyright,a.tracksAmount=i.tracksAmount,a.firstNoteOn=i.firstNoteOn,a.keyRange={...i.keyRange},a.lastVoiceEventTick=i.lastVoiceEventTick,a.loop={...i.loop},a.format=i.format,a.bankOffset=i.bankOffset,a.isKaraokeFile=i.isKaraokeFile,a.tempoChanges=[...i.tempoChanges],a.lyrics=i.lyrics.map(l=>new Uint8Array(l)),a.lyricsTicks=[...i.lyricsTicks],a.midiPorts=[...i.midiPorts],a.midiPortChannelOffsets=[...i.midiPortChannelOffsets],a.usedChannelsOnTrack=i.usedChannelsOnTrack.map(l=>new Set(l)),a.rawMidiName=i.rawMidiName?new Uint8Array(i.rawMidiName):void 0,a.embeddedSoundFont=i.embeddedSoundFont?i.embeddedSoundFont.slice():void 0,a.RMIDInfo={...i.RMIDInfo},a.tracks=i.tracks.map(l=>[...l]),a}flush(){let i=[];for(let u of this.tracks){u.sort((x,H)=>x.ticks-H.ticks);let f=u.find(x=>(x.messageStatusByte&240)===v3.noteOn);f&&i.push(f.ticks)}this.firstNoteOn=Math.min(...i),this.lastVoiceEventTick=0,this.tempoChanges=[{ticks:0,tempo:120}],this.midiPorts=[],this.midiPortChannelOffsets=[];let a=0;this.usedChannelsOnTrack=this.tracks.map(()=>new Set),this.tracks.forEach((u,f)=>{this.midiPorts.push(-1),u.forEach(x=>{if(x.messageStatusByte>=128&&x.messageStatusByte<240&&x.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=x.ticks),x.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:x.ticks,tempo:6e7/Mp(x.messageData,3)});else if((x.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[f].add(x.messageData[0]);else if(x.messageStatusByte===v3.midiPort){let H=x.messageData[0];this.midiPorts[f]=H,this.midiPortChannelOffsets[H]===void 0&&(this.midiPortChannelOffsets[H]=a,a+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Qu(this.lastVoiceEventTick,this);let l=0;for(let u of this.midiPorts)if(u!==-1){l=u;break}this.midiPorts=this.midiPorts.map(u=>u===-1?l:u),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Qu(n,i){let a=0;for(;n>0;){let l=i.tempoChanges.find(f=>f.ticks=128){this.MIDIout.send(l);return}break;case qa.songChange:let u=a[0];this.songIndex=a[1],this.midiData=u,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(x=>x[1](u)),a[2]===!0&&this.unpause();break;case qa.textEvent:this.onTextEvent&&this.onTextEvent(...a);break;case qa.timeChange:let f=this.synth.currentTime-a;Object.entries(this.onTimeChange).forEach(x=>x[1](f)),this._recalculateStartTime(f),this.paused&&this._preservePlaybackState?this.pausedTime=f:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=a,this.isFinished&&Object.entries(this.onSongEnded).forEach(x=>x[1]());break;case qa.midiError:if(this.onError)this.onError(a);else throw new Error("Sequencer error: "+a);return;case qa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(Tp.copyFrom(a))}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage($7.getMIDI,void 0)})}loadNewSongList(i,a=!0){this.pause(),this.midiData=zQ,this.hasDummyData=!0,this.duration=99999,this._sendMessage($7.loadNewSongList,[i,a]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),a===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage($7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){se("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage($7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage($7.play,i)}stop(){this._sendMessage($7.stop)}};var Np=["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 KQ(n){return` `}function T$(n){return` @@ -75,21 +75,21 @@ var DE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>( `}function cB(n){return` -`}function vu(n,i){let a=document.createElement("div");return a.classList.add("control_buttons"),a.title=n,a.innerHTML=i,a}var q8={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",toggleSubtitles:"Escape",cinematicMode:"c",videoMode:"v"};function sw(){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",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function ow(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else if(this.seq.midiData.midiNameUsesFileName)this.currentSongTitle=_E(this.seq.midiData.fileName);else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=_E(i)}if(this.seq.midiData&&(this.loadLyricData(),this.setLyricsText(this.lyricsIndex),n&&(this.rawOtherTextEvents=[])),this.synthDisplayMode.enabled===!1?this.mainTitleMessageDisplay.innerText=this.currentSongTitle:this.mainTitleMessageDisplay.innerText=this.decodeTextFix(this.synthDisplayMode.currentEncodedText.buffer),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{}}function s_(n){let i=[],a="",l=!1;for(let u=0;u{w.startsWith("{")||b0.push(w)}),this.textClean=b0.join(""),this.startSeconds=l,this.endSeconds=u,this.styleName=f,this.styleData=N.find(w=>w.Name===this.styleName),this.marginLeft=x||parseInt(this.styleData.MarginL),this.marginRight=V||parseInt(this.styleData.MarginR),this.marginVertical=T||parseInt(this.styleData.MarginV),this.primaryColor=aw(this.styleData.PrimaryColour),this.secondaryColor=aw(this.styleData.SecondaryColour)}hide(){this.element!==void 0&&this.element.remove(),this.element=void 0}updateHighlights(i){let a=0,l=0,u=0,f=i-this.startSeconds,x=!1,V=0;for(let T of this.text)if(T.startsWith("{")){let N=T.startsWith("{\\K")||T.startsWith("{\\kf");if(!N&&!T.startsWith("{\\k"))continue;let b0=parseInt(T.slice(3,-1))/100;N?(V=b0,x=!0):a+=b0,l=b0}else{let N=this.textChunks[u];if(x){if(x=!1,a>f)N.style.cssText="",N.style.backgroundImage="",N.style.backgroundClip="",N.style.color=this.secondaryColor;else{let b0=f-a,w=Math.min(100,b0/V*100);N.style.color="transparent",N.style.backgroundImage=`linear-gradient(90deg, ${this.primaryColor} 50%, ${this.secondaryColor} 50%)`,N.style.backgroundPosition=`${100-w}%`,N.style.backgroundSize="200% 100%",N.style.backgroundClip="text"}a+=V}else N.style.backgroundImage="",N.style.backgroundClip="",a-l>f?N.style.color=this.secondaryColor:N.style.color=this.primaryColor;u++}}show(i,a,l,u,f){if(this.element!==void 0){this.updateHighlights(u);return}this.element=document.createElement("div"),this.element.classList.add("ass_renderer_element");let x=parseInt(this.styleData.Alignment);if(this.text[0].startsWith("{\\an"))x=parseInt(this.text[0][4]);else if(this.text[0].startsWith("{\\a"))switch(parseInt(this.text[0][3])){case 1:x=1;break;case 2:x=2;break;case 3:x=3;break;case 5:x=7;break;case 6:x=8;break;case 7:x=9;break;case 9:x=4;break;case 10:x=5;break;case 11:x=6;break;default:x=5;break}let V=this.marginLeft/i*100,T=this.marginRight/i*100,N=this.marginVertical/a*100;switch(x){case 1:this.element.style.left=`${V}%`,this.element.style.bottom=`${N}%`;break;case 2:this.element.style.left=`calc(50% + ${V}% - ${T}%)`,this.element.style.bottom=`${N}%`,this.element.style.transform="translateX(-50%)";break;case 3:this.element.style.right=`${T}%`,this.element.style.bottom=`${N}%`;break;case 4:this.element.style.left=`${V}%`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translateY(-50%)";break;case 5:this.element.style.left=`calc(50% + ${V}% - ${T}%)`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translate(-50%, -50%)";break;case 6:this.element.style.right=`${T}%`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translateY(-50%)";break;case 7:this.element.style.left=`${V}%`,this.element.style.top=`${N}%`;break;case 8:this.element.style.left=`calc(50% + ${V}% - ${T}%)`,this.element.style.top=`${N}%`,this.element.style.transform="translateX(-50%)";break;case 9:this.element.style.right=`${T}%`,this.element.style.top=`${N}%`;break;default:this.element.style.left=`${V}%`,this.element.style.bottom=`${N}%`;break}this.element.style.color=this.secondaryColor,this.element.style.zIndex=(this.layer+99999).toString();let b0=`${this.styleData.Fontname}, "${f}", sans-serif`,w=this.styleData.Fontsize;this.text[0].startsWith("{\\fs")&&(w=this.text[0].slice(4,-1)),this.element.style.fontFamily=b0,this.element.style.fontSize=`${parseFloat(w)/a*.8*window.screen.height}px`,this.styleData.Bold==="1"&&(this.element.style.fontWeight="bold"),this.styleData.Italic==="1"&&(this.element.style.fontStyle="italic"),this.styleData.Underline==="1"&&(this.element.style.textDecoration="underline"),this.styleData.StrikeOut==="1"&&(this.element.style.textDecoration="line-through"),this.textChunks=[];for(let P of this.text)if(!P.startsWith("{")){let F0=document.createElement("span");F0.textContent=P.replaceAll("\\N",` +`}function vu(n,i){let a=document.createElement("div");return a.classList.add("control_buttons"),a.title=n,a.innerHTML=i,a}var q8={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",toggleSubtitles:"Escape",cinematicMode:"c",videoMode:"v"};function sw(){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",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function ow(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else if(this.seq.midiData.midiNameUsesFileName)this.currentSongTitle=_E(this.seq.midiData.fileName);else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=_E(i)}if(this.seq.midiData&&(this.loadLyricData(),this.setLyricsText(this.lyricsIndex),n&&(this.rawOtherTextEvents=[])),this.synthDisplayMode.enabled===!1?this.mainTitleMessageDisplay.innerText=this.currentSongTitle:this.mainTitleMessageDisplay.innerText=this.decodeTextFix(this.synthDisplayMode.currentEncodedText.buffer),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{}}function s_(n){let i=[],a="",l=!1;for(let u=0;u{w.startsWith("{")||S0.push(w)}),this.textClean=S0.join(""),this.startSeconds=l,this.endSeconds=u,this.styleName=f,this.styleData=N.find(w=>w.Name===this.styleName),this.marginLeft=x||parseInt(this.styleData.MarginL),this.marginRight=H||parseInt(this.styleData.MarginR),this.marginVertical=F||parseInt(this.styleData.MarginV),this.primaryColor=aw(this.styleData.PrimaryColour),this.secondaryColor=aw(this.styleData.SecondaryColour)}hide(){this.element!==void 0&&this.element.remove(),this.element=void 0}updateHighlights(i){let a=0,l=0,u=0,f=i-this.startSeconds,x=!1,H=0;for(let F of this.text)if(F.startsWith("{")){let N=F.startsWith("{\\K")||F.startsWith("{\\kf");if(!N&&!F.startsWith("{\\k"))continue;let S0=parseInt(F.slice(3,-1))/100;N?(H=S0,x=!0):a+=S0,l=S0}else{let N=this.textChunks[u];if(x){if(x=!1,a>f)N.style.cssText="",N.style.backgroundImage="",N.style.backgroundClip="",N.style.color=this.secondaryColor;else{let S0=f-a,w=Math.min(100,S0/H*100);N.style.color="transparent",N.style.backgroundImage=`linear-gradient(90deg, ${this.primaryColor} 50%, ${this.secondaryColor} 50%)`,N.style.backgroundPosition=`${100-w}%`,N.style.backgroundSize="200% 100%",N.style.backgroundClip="text"}a+=H}else N.style.backgroundImage="",N.style.backgroundClip="",a-l>f?N.style.color=this.secondaryColor:N.style.color=this.primaryColor;u++}}show(i,a,l,u,f){if(this.element!==void 0){this.updateHighlights(u);return}this.element=document.createElement("div"),this.element.classList.add("ass_renderer_element");let x=parseInt(this.styleData.Alignment);if(this.text[0].startsWith("{\\an"))x=parseInt(this.text[0][4]);else if(this.text[0].startsWith("{\\a"))switch(parseInt(this.text[0][3])){case 1:x=1;break;case 2:x=2;break;case 3:x=3;break;case 5:x=7;break;case 6:x=8;break;case 7:x=9;break;case 9:x=4;break;case 10:x=5;break;case 11:x=6;break;default:x=5;break}let H=this.marginLeft/i*100,F=this.marginRight/i*100,N=this.marginVertical/a*100;switch(x){case 1:this.element.style.left=`${H}%`,this.element.style.bottom=`${N}%`;break;case 2:this.element.style.left=`calc(50% + ${H}% - ${F}%)`,this.element.style.bottom=`${N}%`,this.element.style.transform="translateX(-50%)";break;case 3:this.element.style.right=`${F}%`,this.element.style.bottom=`${N}%`;break;case 4:this.element.style.left=`${H}%`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translateY(-50%)";break;case 5:this.element.style.left=`calc(50% + ${H}% - ${F}%)`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translate(-50%, -50%)";break;case 6:this.element.style.right=`${F}%`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translateY(-50%)";break;case 7:this.element.style.left=`${H}%`,this.element.style.top=`${N}%`;break;case 8:this.element.style.left=`calc(50% + ${H}% - ${F}%)`,this.element.style.top=`${N}%`,this.element.style.transform="translateX(-50%)";break;case 9:this.element.style.right=`${F}%`,this.element.style.top=`${N}%`;break;default:this.element.style.left=`${H}%`,this.element.style.bottom=`${N}%`;break}this.element.style.color=this.secondaryColor,this.element.style.zIndex=(this.layer+99999).toString();let S0=`${this.styleData.Fontname}, "${f}", sans-serif`,w=this.styleData.Fontsize;this.text[0].startsWith("{\\fs")&&(w=this.text[0].slice(4,-1)),this.element.style.fontFamily=S0,this.element.style.fontSize=`${parseFloat(w)/a*.8*window.screen.height}px`,this.styleData.Bold==="1"&&(this.element.style.fontWeight="bold"),this.styleData.Italic==="1"&&(this.element.style.fontStyle="italic"),this.styleData.Underline==="1"&&(this.element.style.textDecoration="underline"),this.styleData.StrikeOut==="1"&&(this.element.style.textDecoration="line-through"),this.textChunks=[];for(let P of this.text)if(!P.startsWith("{")){let F0=document.createElement("span");F0.textContent=P.replaceAll("\\N",` `).replaceAll("\\h"," ").replaceAll("\\n",` `),F0.style.color=this.secondaryColor,this.element.appendChild(F0),this.textChunks.push(F0)}l.appendChild(this.element),this.element.offsetHeight;let U=this.element.getBoundingClientRect();for(let P of l.children){if(P===this.element)continue;let F0=P.getBoundingClientRect(),m1=l.getBoundingClientRect();U.topF0.top&&(F0.top-m1.top>U.height?(this.element.style.top="",this.element.style.bottom=`${m1.bottom-F0.top}px`):(this.element.style.top=`${F0.top+F0.height}px`,this.element.style.bottom=""))}}};var gB=384,uB=288;function Aw(n){let[i,a,l]=n.split(":"),[u,f]=l.split(".");return parseInt(i)*3600+parseInt(a)*60+parseInt(u)+parseInt(f)/100}var dB=class{type;data},JE=class{type;contents=[];constructor(i,a){this.type=i,this.contents=a}getContent(i,a=""){return this.contents.find(l=>l.type===i)?.data||a}},WE=class{visible;subData=[];resolutionX=gB;resolutionY=uB;kerning=!0;styles=[];events=[];fonts=[];timer=1;constructor(i,a,l){this.seq=i,this.screen=a,this.init(),l.onRender=this.tick.bind(this),document.addEventListener("keydown",u=>{u.key===q8.toggleSubtitles&&this.setVisibility(!this.visible)})}tick(){if(!this.visible){for(let a of this.events)a.hide();return}let i=this.seq.currentTime*this.timer;for(let a of this.events)(a.startSeconds>i||a.endSeconds<=i)&&a.hide();this.screen.offsetHeight;for(let a of this.events)a.startSeconds<=i&&a.endSeconds>i&&a.show(this.resolutionX,this.resolutionY,this.screen,i,this.firstEmbeddedFontName)}init(){this.visible=!1,this.subData=[],this.resolutionX=gB,this.resolutionY=uB,this.kerning=!0,this.styles=[],this.events=[],this.fonts=[],this.screen.innerHTML=""}setVisibility(i){this.visible=i,this.tick(),setTimeout(()=>this.tick(),10)}_getSection(i,a=!1){let l=i.toLowerCase(),u=this.subData.find(f=>f.type.toLowerCase()===l);if(!u&&a)throw new Error(`Section ${i} not found!`);return u}loadASSSubtitles(i){this.init();let a=i.replaceAll(`\r `,` `).split(` -`),l=!1,u="",f="",x=[];for(let U of a)if(U.startsWith("[")&&!l)u=U,l=!0;else if(U.length===0&&l)l=!1,this.subData.push(new JE(u,x)),x=[];else if(u==="[Fonts]")if(!U.startsWith("fontname: "))this.fonts.find(P=>P.name===f).data+=U;else{let P=U.split(/: (.*)/s)[1];this.fonts.push({name:P,data:"",dataDecoded:void 0}),f=P}else if(!U.startsWith("!")&&!U.startsWith(";")){let P=U.split(/: (.*)/s),F0=new dB;F0.type=P[0],F0.data=P[1],x.push(F0)}l&&this.subData.push(new JE(u,x));let V=this._getSection("[Script Info]",!0);this.resolutionX=parseInt(V.getContent("PlayResX",gB.toString())),this.resolutionY=parseInt(V.getContent("PlayResY",uB.toString())),this.kerning=V.getContent("Kerning","yes")==="yes",this.timer=parseFloat(V.getContent("Timer","100"))/100;let T=this._getSection("[V4+ Styles]",!0),N=T.getContent("Format","").split(", ");for(let U of T.contents){if(U.type!=="Style")continue;let P=U.data.split(",");if(P.length!==N.length)throw new Error(`Format and style data counts do not match. Expected ${N.length} got ${P.length}`);let F0={};for(let m1=0;m1p3.charCodeAt(0)-33),L2=P2[0]<<2|P2[1]>>4,a0=(P2[1]&15)<<4|P2[2]>>2,g5=(P2[2]&3)<<6|P2[3];U1+1P.name===f).data+=U;else{let P=U.split(/: (.*)/s)[1];this.fonts.push({name:P,data:"",dataDecoded:void 0}),f=P}else if(!U.startsWith("!")&&!U.startsWith(";")){let P=U.split(/: (.*)/s),F0=new dB;F0.type=P[0],F0.data=P[1],x.push(F0)}l&&this.subData.push(new JE(u,x));let H=this._getSection("[Script Info]",!0);this.resolutionX=parseInt(H.getContent("PlayResX",gB.toString())),this.resolutionY=parseInt(H.getContent("PlayResY",uB.toString())),this.kerning=H.getContent("Kerning","yes")==="yes",this.timer=parseFloat(H.getContent("Timer","100"))/100;let F=this._getSection("[V4+ Styles]",!0),N=F.getContent("Format","").split(", ");for(let U of F.contents){if(U.type!=="Style")continue;let P=U.data.split(",");if(P.length!==N.length)throw new Error(`Format and style data counts do not match. Expected ${N.length} got ${P.length}`);let F0={};for(let m1=0;m1p3.charCodeAt(0)-33),L2=P2[0]<<2|P2[1]>>4,a0=(P2[1]&15)<<4|P2[2]>>2,g5=(P2[2]&3)<<6|P2[3];U1+1{let w=document.createElement("option");w.innerText=b0,w.value=b0,l.appendChild(w)}),l.value=this.encoding,l.onchange=()=>this.changeEncoding(l.value),l.classList.add("lyrics_selector"),this.encodingSelector=l,i.appendChild(l);let u=document.createElement("p");u.classList.add("lyrics_text"),n.appendChild(u);let f=document.createElement("details"),x=document.createElement("summary");this.locale.bindObjectProperty(x,"textContent","locale.sequencerController.lyrics.otherText.title"),f.appendChild(x);let V=document.createElement("div");V.innerText="",f.appendChild(V),n.appendChild(f),this.subtitleManager=new WE(this.seq,document.getElementsByClassName("ass_renderer_field")[0],this.renderer);let T=document.createElement("input");T.type="file",T.accept=".ass",T.id="subtitle_upload",T.classList.add("hidden"),n.appendChild(T),T.onchange=async()=>{if(T.files[0]===void 0)return;let b0=T.files[0];this.subtitleManager.loadASSSubtitles(await b0.text()),this.subtitleManager.setVisibility(!0),this.toggleLyrics()};let N=document.createElement("label");N.htmlFor="subtitle_upload",N.classList.add("general_button"),this.locale.bindObjectProperty(N,"textContent","locale.sequencerController.lyrics.subtitles.title"),this.locale.bindObjectProperty(N,"title","locale.sequencerController.lyrics.subtitles.description"),n.appendChild(N),this.lyricsElement.text={main:u,other:V,subtitleButton:N,separateLyrics:[]},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=l,this.controls.appendChild(n),this.requiresTextUpdate=!0}function lw(n){if(!(this.currentLyricsString.length<2||n<0||n>this.currentLyricsString.length)){this.lyricsIndex=n;for(let i=0;i
${Object.keys(v3).find(a=>v3[a]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}
`;this.lyricsElement.text.other.innerHTML=n}var Jr=32,gw="#ccc",uw="#555",o_="#333",a_="#ddd",A_="Shift_JIS",Ps=class{constructor(i,a,l,u){this.iconColor=gw,this.iconDisabledColor=uw,this.controls=i,this.encoding=A_,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.lyricsIndex=0,this.requiresTextUpdate=!1,this.rawOtherTextEvents=[],this.mode="dark",this.locale=a,this.currentSongTitle="",this.currentLyrics=[],this.currentLyricsString=[],this.musicModeUI=l,this.renderer=u,this.mainTitleMessageDisplay=document.getElementById("title"),this.synthDisplayMode={enabled:!1,currentEncodedText:new Uint8Array(0)}}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=o_,this.iconDisabledColor=a_):(this.mode="dark",this.iconColor=gw,this.iconDisabledColor=uw),!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(i=!0){i&&this.seq.play(),this.playPause.innerHTML=T$(Jr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=KQ(Jr),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(i){let a=0;for(;;)try{return this.decoder.decode(i)}catch{a++,this.changeEncoding(Np[a]),this.encodingSelector.value=Np[a]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,u,f)=>{switch(u){default:return;case v3.text:case v3.copyright:case v3.cuePoint:case v3.trackName:case v3.instrumentName:case v3.programName:case v3.marker:this.rawOtherTextEvents.push({type:u,data:l}),this.requiresTextUpdate=!0;return;case v3.lyric:this.setLyricsText(f);break}},this.seq.addOnTimeChangeEvent(()=>{this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.synthDisplayMode.enabled=!1,this.lyricsIndex=0,this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.restoreDisplay(),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[v8.encoding]!==void 0,l.isEmbedded){let u=(T,N,b0,w="")=>this.seq.midiData.RMIDInfo?.[T]===void 0?N:w+b0.decode(this.seq.midiData.RMIDInfo?.[T]).replace(/\0$/,""),f=new TextDecoder,x=u(v8.midiEncoding,this.encoding,f),V=u(v8.encoding,"utf-8",f);this.infoDecoder=new TextDecoder(V),this.changeEncoding(x)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode());let a=null;this.seq.synth.eventHandler.addEvent("synthdisplay","sequi-synth-display",l=>{if(l.displayType===0||l.displayType===1){this.mainTitleMessageDisplay.classList.add("sysex_display"),this.mainTitleMessageDisplay.classList.remove("xg_sysex_display");let u=l.displayData;l.displayType===1&&(u=u.slice(1));let f=this.decodeTextFix(u.buffer);if(l.displayType===1){let x=l.displayData[0];this.mainTitleMessageDisplay.classList.add("xg_sysex_display");let V=x&15;for(let T=0;T=16&&(f=f.slice(0,16)+` -`+f.slice(16)),(x&16)>1&&(f=` -`+f)}f.trim().length===0?this.mainTitleMessageDisplay.innerText="\u200E ":this.mainTitleMessageDisplay.innerText=f,this.synthDisplayMode.enabled=!0,this.synthDisplayMode.currentEncodedText=u,a!==null&&clearTimeout(a),a=setTimeout(()=>{this.synthDisplayMode.enabled=!1,this.restoreDisplay()},5e3)}})}restoreDisplay(){this.mainTitleMessageDisplay.innerText=this.currentSongTitle,this.mainTitleMessageDisplay.classList.remove("sysex_display"),this.mainTitleMessageDisplay.classList.remove("xg_sysex_display")}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.lyricsElement.text.separateLyrics.forEach((a,l)=>{this.currentLyrics[l]!==void 0&&(a.innerText=this.decodeTextFix(this.currentLyrics[l].buffer))}),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.lyricsIndex)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=w=>{w.preventDefault();let U=i.getBoundingClientRect(),P=w.clientX-U.left,F0=U.width;this.seq.currentTime=P/F0*this.seq.duration,l.innerHTML=T$(Jr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let a=document.createElement("div"),l=vu("Play/Pause",T$(Jr));this.playPause=l,this.locale.bindObjectProperty(l,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};l.onclick=u;let f=vu("Previous song",jQ(Jr));this.locale.bindObjectProperty(f,"title","locale.sequencerController.previousSong"),f.onclick=()=>this.switchToPreviousSong();let x=vu("Next song",ZQ(Jr));this.locale.bindObjectProperty(x,"title","locale.sequencerController.nextSong"),x.onclick=()=>this.switchToNextSong();let V=vu("Loop this",JQ(Jr));this.locale.bindObjectProperty(V,"title","locale.sequencerController.loopThis");let T=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),V.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};V.onclick=T,this.loopButton=V;let N=vu("Show lyrics",WQ(Jr));this.locale.bindObjectProperty(N,"title","locale.sequencerController.lyrics.show"),N.firstElementChild.setAttribute("fill",this.iconDisabledColor);let b0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),N.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};this.toggleLyrics=b0,N.onclick=b0,document.addEventListener("keydown",w=>{switch(w.key.toLowerCase()){case q8.playPause:w.preventDefault(),u();break;case q8.toggleLoop:w.preventDefault(),T();break;case q8.toggleLyrics:w.preventDefault(),b0();break;default:break}}),a.appendChild(f),a.appendChild(V),a.appendChild(l),a.appendChild(N),a.appendChild(x),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(a),document.addEventListener("keydown",w=>{switch(w.key.toLowerCase()){case q8.seekBackwards:w.preventDefault(),this.seq.currentTime-=5,l.innerHTML=T$(Jr);break;case q8.seekForwards:w.preventDefault(),this.seq.currentTime+=5,l.innerHTML=T$(Jr);break;case q8.previousSong:this.switchToPreviousSong();break;case q8.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(w.key))){w.preventDefault();let U=parseInt(w.key);0<=U&&U<=9&&(this.seq.currentTime=this.seq.duration*(U/10),l.innerHTML=T$(Jr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=D$(this.seq.currentTime),a=D$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${a.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}loadLyricData(){if(this.currentLyrics=this.seq.midiData.lyrics,this.currentLyricsString=this.currentLyrics.map(i=>this.decodeTextFix(i.buffer)),this.currentLyrics.length===0)this.currentLyricsString=[this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics")];else{let i=!0;for(let a=1;al%2===0?"":this.currentLyricsString[l]))}this.lyricsElement.text.main.innerHTML="",this.lyricsElement.text.separateLyrics=[];for(let i of this.currentLyricsString){let a=document.createElement("span");a.innerText=i,a.classList.add("lyrics_text_gray"),this.lyricsElement.text.main.appendChild(a),this.lyricsElement.text.separateLyrics.push(a)}}};Ps.prototype.createNavigatorHandler=sw;Ps.prototype.updateTitleAndMediaStatus=ow;Ps.prototype.createLyrics=$w;Ps.prototype.setLyricsText=lw;Ps.prototype.updateOtherTextEvents=cw;function dw(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function hw(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function fw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var Er=class{constructor(i="none",a,l,u,f=0,x=100,V=!1,T=void 0,N=void 0,b0=void 0){if(this.meterText="",l.bindObjectProperty(this,"meterText",a+".title"),this.min=f,this.max=x,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=N,this.unlockCallback=b0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),l.bindObjectProperty(this.div,"title",a+".description",u),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,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,V){if(T===void 0)throw new Error("No editable function given!");this.div.onmousedown=w=>{w.preventDefault(),w.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=w=>{if(!this.isActive)return;let U=w.currentTarget.getBoundingClientRect(),P=U.left,F0=U.width,m1=w.clientX-P,l1=Math.max(0,Math.min(1,m1/F0));T(l1*(x-f)+f)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=w=>{this.div.onmousemove(w),this.isActive=!1},this.text.oncontextmenu=w=>{w.preventDefault()},this.div.onclick=w=>{w.preventDefault(),this.isActive=!0,this.div.onmousemove(w),this.isActive=!1,N7&&this.lockMeter()},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(i=!1){i&&(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 i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,a=!1){if(!(i===this.currentValue&&a===!1))if(this.currentValue=i,this.isShown){let l=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${l*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Iw=["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 ZE=class{constructor(i,a,l,u,f=void 0,x=void 0){this.elements=i.map(V=>({name:V.name,program:V.program,bank:V.bank,stringified:`${V.bank.toString().padStart(3,"0")}:${V.program.toString().padStart(3,"0")} ${V.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"),a.bindObjectProperty(this.mainButton,"title",l+".description",u),this.locale=a,this.localePath=l,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=f,this.selectionMenu=void 0,this.lockCallback=x,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 i=document.createElement("div");i.classList.add("voice_selector_window");let a=document.createElement("h2");this.locale.bindObjectProperty(a,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(a);let l=document.createElement("div");l.classList.add("voice_selector_search_wrapper"),i.appendChild(l);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),l.appendChild(u),u.onkeydown=N=>N.stopPropagation();let f=document.createElement("div");f.innerHTML=this.locked?Up(ai):lB(ai),this.locale.bindObjectProperty(f,"title",e4+"channelController.presetReset.description",this.localeArgs),f.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&f.classList.add("voice_reset_light"),f.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?f.innerHTML=Up(ai):f.innerHTML=lB(ai)},l.appendChild(f),this.presetLock=f;let x=document.createElement("div");x.classList.add("voice_selector_table_wrapper"),i.appendChild(x);let T=this.generateTable(x,this.elements).querySelector(".voice_selector_selected");u.oninput=N=>{N.stopPropagation();let b0=u.value,w=this.elements.filter(m1=>m1.stringified.search(new RegExp(b0,"i"))>=0);if(w.length===this.elements.length||w.length===0)return;x.replaceChildren();let U=this.generateTable(x,w),P=U.querySelector(".voice_selector_selected");if(P){T=P;return}let F0=U.querySelector(".voice_selector_option");F0.classList.add("voice_selector_selected"),T=F0},u.addEventListener("keydown",N=>{switch(N.key){case"Enter":let b0=T.getAttribute("bank"),w=T.getAttribute("program"),U=`${b0}:${w}`;if(this.value===U){this.hideSelectionMenu();return}this.editCallback(U),this.locked=!0,this.presetLock.innerHTML=Up(ai),this.hideSelectionMenu();break;case"ArrowDown":let P=T.nextElementSibling;for(;P;){if(P.classList.contains("voice_selector_option")){T.classList.remove("voice_selector_selected"),P.classList.add("voice_selector_selected"),T=P;return}P=P.nextElementSibling}break;case"ArrowUp":let F0=T.previousElementSibling;for(;F0;){if(F0.classList.contains("voice_selector_option")){T.classList.remove("voice_selector_selected"),F0.classList.add("voice_selector_selected"),T=F0;return}F0=F0.previousElementSibling}break}}),i.onclick=N=>{N.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=N=>{N.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,N7||u.focus()}generateTable(i,a){let l=document.createElement("table");l.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),f=parseInt(this.value.split(":")[1]),x=-20;for(let V of a){let T=document.createElement("tr"),N=V.program;if(T.classList.add("voice_selector_option"),T.setAttribute("program",N.toString()),T.setAttribute("bank",V.bank.toString()),N===f&&V.bank===u&&(T.classList.add("voice_selector_selected"),setTimeout(()=>{T.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),T.onclick=()=>{let m1=`${V.bank}:${N}`;if(this.value===m1){this.hideSelectionMenu();return}this.editCallback(m1),this.locked=!0,this.presetLock.innerHTML=Up(ai),this.hideSelectionMenu()},N!==x&&(x=N,V.bank!==128)){let m1=document.createElement("tr"),l1=document.createElement("th");l1.colSpan="3",l1.textContent=Iw[x],m1.appendChild(l1),l.appendChild(m1)}let b0=`${V.program.toString().padStart(3,"0")}`,w=`${V.bank.toString().padStart(3,"0")}`,U=document.createElement("td");U.classList.add("voice_selector_preset_name"),U.textContent=V.name;let P=document.createElement("td");U.classList.add("voice_selector_preset_program"),P.textContent=b0;let F0=document.createElement("td");U.classList.add("voice_selector_preset_program"),F0.textContent=w,T.appendChild(F0),T.appendChild(P),T.appendChild(U),l.appendChild(T)}return i.appendChild(l),l}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(i=this.elements){if(this.elements=i.map(a=>({name:a.name,program:a.program,bank:a.bank,stringified:`${a.bank.toString().padStart(3,"0")}:${a.program.toString().padStart(3,"0")} ${a.name}`})),this.elements.length>0){let a=this.elements[0],l=a.bank,u=parseInt(this.value.split(":")[1]),f=u;this.elements.find(x=>x.program===u)===void 0&&(f=a.program),this.mainButton.textContent=this.getString(`${l}:${f}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let a=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];a!==void 0&&a.classList.remove("voice_selector_selected");let l=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),f=parseInt(this.value.split(":")[1]);for(let x of l.rows){if(x.cells.length===1)continue;let V=parseInt(x.cells[0].textContent),T=parseInt(x.cells[1].textContent);V===u&&T===f&&(x.classList.add("voice_selector_selected"),x.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let a=i.split(":"),l=parseInt(a[0]),u=parseInt(a[1]),f=this.elements.find(x=>x.bank===l&&x.program===u);return f?l===128||this.elements.filter(x=>x.program===u&&x.bank!==128).length<2?`${u}. ${f.name}`:`${l}:${u} ${f.name}`:""}};var ai=32;function mw(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let a=new Er(this.channelColors[n%this.channelColors.length],e4+"channelController.voiceMeter",this.locale,[n+1],0,100);a.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(a.div);let l=new Er(this.channelColors[n%this.channelColors.length],e4+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,U1=>{let c2=l.isLocked;c2&&this.synth.lockController(n,x$+q4.pitchWheel,!1),U1=Math.round(U1)+8192;let P2=U1>>7,L2=U1&127;this.synth.pitchWheel(n,P2,L2),c2&&this.synth.lockController(n,x$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,x$+q4.pitchWheel,!0),()=>this.synth.lockController(n,x$+q4.pitchWheel,!1));l.update(0),i.appendChild(l.div);let u=(U1,c2,P2)=>{P2.isLocked?(this.synth.lockController(n,U1,!1),this.synth.controllerChange(n,U1,c2),this.synth.lockController(n,U1,!0)):this.synth.controllerChange(n,U1,c2)},f=(U1,c2,P2)=>{let L2=new Er(this.channelColors[n%this.channelColors.length],e4+c2,this.locale,[n+1],0,127,!0,a0=>u(U1,Math.round(a0),L2),()=>this.synth.lockController(n,U1,!0),()=>this.synth.lockController(n,U1,!1));return L2.update(P2),L2},x=f($3.pan,"channelController.panMeter",64);i.appendChild(x.div);let V=f($3.expressionController,"channelController.expressionMeter",127);i.appendChild(V.div);let T=f($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(T.div);let N=f($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(N.div);let b0=f($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(b0.div);let w=f($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(w.div);let U=f($3.brightness,"channelController.filterMeter",64);i.appendChild(U.div);let P=new Er(this.channelColors[n%this.channelColors.length],e4+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,U1=>{U1=Math.round(U1),this.synth.transposeChannel(n,U1,!0),P.update(U1)});P.update(0),i.appendChild(P.div);let F0=new ZE([],this.locale,e4+"channelController.presetSelector",[n+1],async U1=>{let c2=U1.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(c2[0]),!0),this.synth.programChange(n,parseInt(c2[1]),!0),F0.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},U1=>this.synth.lockController(n,a7,U1));i.appendChild(F0.mainButton);let m1=document.createElement("div");m1.innerHTML=wu(ai),this.locale.bindObjectProperty(m1,"title",e4+"channelController.soloButton.description",[n+1]),m1.classList.add("controller_element"),m1.classList.add("mute_button"),m1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let U1=0;U1=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let U1=0;U1{if(l1.hasAttribute("is_muted")){l1.removeAttribute("is_muted");let U1=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!U1),l1.innerHTML=Gp(ai)}else this.synth.muteChannel(n,!0),l1.setAttribute("is_muted","true"),l1.innerHTML=ew(ai)},i.appendChild(l1);let j1=document.createElement("div");return j1.innerHTML=n===T7?YE(ai):zE(ai),this.locale.bindObjectProperty(j1,"title",e4+"channelController.drumToggleButton.description",[n+1]),j1.classList.add("controller_element"),j1.classList.add("mute_button"),j1.onclick=()=>{F0.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),F0.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(j1),{controller:i,voiceMeter:a,pitchWheel:l,pan:x,expression:V,volume:T,mod:N,chorus:b0,reverb:w,brightness:U,preset:F0,drumsToggle:j1,soloButton:m1,muteButton:l1,transpose:P}}function pw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function hB(n,i=!0){let a=document.createElement("div");a.classList.add("settings_slider_wrapper");let l=n.getAttribute("min"),u=n.getAttribute("max"),f=n.getAttribute("value"),x=n.getAttribute("units"),V=n.getAttribute("input_id"),T=document.createElement("input");T.classList.add("settings_slider"),T.type="range",T.id=V,T.min=l,T.max=u,T.value=f;let N;i&&(N=document.createElement("span"),N.textContent=f+x);let b0=document.createElement("div");b0.classList.add("settings_visual_wrapper");let w=document.createElement("div");w.classList.add("settings_slider_progress"),b0.appendChild(w);let U=document.createElement("div");return U.classList.add("settings_slider_thumb"),b0.appendChild(U),b0.appendChild(T),T.addEventListener("input",()=>{let P=parseInt(b0.style.getPropertyValue("--visual-width").replace("%","")),F0=Math.round((T.value-T.min)/(T.max-T.min)*100);Math.abs((P-F0)/100)>.05?b0.classList.add("settings_slider_transition"):b0.classList.remove("settings_slider_transition"),b0.style.setProperty("--visual-width",`${F0}%`)}),b0.style.setProperty("--visual-width",`${(T.value-T.min)/(T.max-T.min)*100}%`),a.appendChild(b0),i&&a.appendChild(N),a}function Os(n,i,a){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!a)throw new Error("Translate path title provided but no locale provided.");a.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),a.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function Cw(n,i){switch(n.type){case"button":let a=document.createElement("button");return Os(a,n,i),Ha(n,[a]),a;case"text":let l=document.createElement("p");return Os(l,n,i),Ha(n,[l]),l;case"input":let u=document.createElement("div");u.classList.add("notification_input_wrapper");let f=document.createElement("input");Os(f,n,i),f.addEventListener("keydown",P2=>P2.stopPropagation());let x=document.createElement("label");return Os(x,n,i),Ha(n,[f,x]),u.append(x),u.appendChild(f),u;case"select":let V=document.createElement("div");V.classList.add("notification_input_wrapper");let T=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let P2 of Object.entries(n.selectOptions)){let L2=document.createElement("option");L2.value=P2[0],L2.textContent=P2[1],T.appendChild(L2)}let N=document.createElement("label");return Os(N,n,i),Ha(n,[T,N]),V.appendChild(N),V.appendChild(T),V;case"file":let b0=document.createElement("label");b0.classList.add("notification_input_wrapper");let w=document.createElement("input");w.type="file";let U=document.createElement("label");U.classList.add("notification_file_button"),Os(U,n,i);let P=document.createElement("label");return Os(P,n,i),Ha(n,[U,w,P]),U.appendChild(w),b0.append(P),b0.appendChild(U),b0;case"progress":let F0=document.createElement("div");F0.classList.add("notification_progress_background");let m1=document.createElement("div");return m1.classList.add("notification_progress"),Ha(n,[m1,F0]),F0.appendChild(m1),F0;case"toggle":return $_(n,i);case"range":let l1=document.createElement("input");l1.type="range";let j1=document.createElement("label");Ha(n,[l1,j1]),Os(j1,n,i);let U1=hB(l1,!1),c2=document.createElement("div");return c2.classList.add("notification_slider_wrapper"),c2.appendChild(j1),c2.appendChild(U1),c2}}function Ha(n,i){if(n.attributes)for(let[a,l]of Object.entries(n.attributes))for(let u of i)a.startsWith("onchange")?u[a]=l:u.setAttribute(a,l);if(n.listeners)for(let[a,l]of Object.entries(n.listeners))for(let u of i)u.addEventListener(a,l)}function $_(n,i){let a=document.createElement("label");a.classList.add("notification_switch_wrapper");let l=document.createElement("label");Os(l,n,i);let u=document.createElement("input");u.type="checkbox",Ha(n,[l,u]);let f=document.createElement("div");f.classList.add("notification_switch"),f.appendChild(u);let x=document.createElement("div");return x.classList.add("notification_switch_slider"),f.appendChild(x),a.appendChild(l),a.appendChild(f),a}var l_=13,c_=0,Op={};function M9(n,i,a=l_,l=!0,u=void 0,f=void 0,x=void 0){let V=document.createElement("div"),T=c_++;V.classList.add("notification"),V.innerHTML=` + }`,document.head.appendChild(j1)}this.firstEmbeddedFontName=this.fonts[0]?.name||"sans-serif",m5("Subtitles:",this.styles,this.events,this.fonts),this.screen.style.fontKerning=this.kerning?"normal":"none"}};function $w(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let a=document.createElement("h2");this.locale.bindObjectProperty(a,"textContent","locale.sequencerController.lyrics.title"),a.classList.add("lyrics_title"),i.appendChild(a),this.lyricsElement.title=a;let l=document.createElement("select");Np.forEach(S0=>{let w=document.createElement("option");w.innerText=S0,w.value=S0,l.appendChild(w)}),l.value=this.encoding,l.onchange=()=>this.changeEncoding(l.value),l.classList.add("lyrics_selector"),this.encodingSelector=l,i.appendChild(l);let u=document.createElement("p");u.classList.add("lyrics_text"),n.appendChild(u);let f=document.createElement("details"),x=document.createElement("summary");this.locale.bindObjectProperty(x,"textContent","locale.sequencerController.lyrics.otherText.title"),f.appendChild(x);let H=document.createElement("div");H.innerText="",f.appendChild(H),n.appendChild(f),this.subtitleManager=new WE(this.seq,document.getElementsByClassName("ass_renderer_field")[0],this.renderer);let F=document.createElement("input");F.type="file",F.accept=".ass",F.id="subtitle_upload",F.classList.add("hidden"),n.appendChild(F),F.onchange=async()=>{if(F.files[0]===void 0)return;let S0=F.files[0];this.subtitleManager.loadASSSubtitles(await S0.text()),this.subtitleManager.setVisibility(!0),this.toggleLyrics()};let N=document.createElement("label");N.htmlFor="subtitle_upload",N.classList.add("general_button"),this.locale.bindObjectProperty(N,"textContent","locale.sequencerController.lyrics.subtitles.title"),this.locale.bindObjectProperty(N,"title","locale.sequencerController.lyrics.subtitles.description"),n.appendChild(N),this.lyricsElement.text={main:u,other:H,subtitleButton:N,separateLyrics:[]},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=l,this.controls.appendChild(n),this.requiresTextUpdate=!0}function lw(n){if(!(this.currentLyricsString.length<2||n<0||n>this.currentLyricsString.length)){this.lyricsIndex=n;for(let i=0;i
${Object.keys(v3).find(a=>v3[a]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}
`;this.lyricsElement.text.other.innerHTML=n}var Jr=32,gw="#ccc",uw="#555",o_="#333",a_="#ddd",A_="Shift_JIS",Ps=class{constructor(i,a,l,u){this.iconColor=gw,this.iconDisabledColor=uw,this.controls=i,this.encoding=A_,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.lyricsIndex=0,this.requiresTextUpdate=!1,this.rawOtherTextEvents=[],this.mode="dark",this.locale=a,this.currentSongTitle="",this.currentLyrics=[],this.currentLyricsString=[],this.musicModeUI=l,this.renderer=u,this.mainTitleMessageDisplay=document.getElementById("title"),this.synthDisplayMode={enabled:!1,currentEncodedText:new Uint8Array(0)};let f=null;u.synth.eventHandler.addEvent("synthdisplay","sequi-synth-display",x=>{if(x.displayType===0||x.displayType===1){this.mainTitleMessageDisplay.classList.add("sysex_display"),this.mainTitleMessageDisplay.classList.remove("xg_sysex_display");let H=x.displayData;x.displayType===1&&(H=H.slice(1));let F=this.decodeTextFix(H.buffer);if(x.displayType===1){let N=x.displayData[0];this.mainTitleMessageDisplay.classList.add("xg_sysex_display");let S0=N&15;for(let w=0;w=16&&(F=F.slice(0,16)+` +`+F.slice(16)),(N&16)>1&&(F=` +`+F)}F.trim().length===0?this.mainTitleMessageDisplay.innerText="\u200E ":this.mainTitleMessageDisplay.innerText=F,this.synthDisplayMode.enabled=!0,this.synthDisplayMode.currentEncodedText=H,f!==null&&clearTimeout(f),f=setTimeout(()=>{this.synthDisplayMode.enabled=!1,this.restoreDisplay()},5e3)}})}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=o_,this.iconDisabledColor=a_):(this.mode="dark",this.iconColor=gw,this.iconDisabledColor=uw),!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(i=!0){i&&this.seq.play(),this.playPause.innerHTML=T$(Jr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=KQ(Jr),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(i){let a=0;for(;;)try{return this.decoder.decode(i)}catch{a++,this.changeEncoding(Np[a]),this.encodingSelector.value=Np[a]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(a,l,u)=>{switch(l){default:return;case v3.text:case v3.copyright:case v3.cuePoint:case v3.trackName:case v3.instrumentName:case v3.programName:case v3.marker:this.rawOtherTextEvents.push({type:l,data:a}),this.requiresTextUpdate=!0;return;case v3.lyric:this.setLyricsText(u);break}},this.seq.addOnTimeChangeEvent(()=>{this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(a=>{if(this.synthDisplayMode.enabled=!1,this.lyricsIndex=0,this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.restoreDisplay(),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[v8.encoding]!==void 0,a.isEmbedded){let l=(H,F,N,S0="")=>this.seq.midiData.RMIDInfo?.[H]===void 0?F:S0+N.decode(this.seq.midiData.RMIDInfo?.[H]).replace(/\0$/,""),u=new TextDecoder,f=l(v8.midiEncoding,this.encoding,u),x=l(v8.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(x),this.changeEncoding(f)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}restoreDisplay(){let i=this.currentSongTitle;this.seq||(i=this.locale.getLocaleString("locale.titleMessage")),this.mainTitleMessageDisplay.innerText=i,this.mainTitleMessageDisplay.classList.remove("sysex_display"),this.mainTitleMessageDisplay.classList.remove("xg_sysex_display")}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.lyricsElement.text.separateLyrics.forEach((a,l)=>{this.currentLyrics[l]!==void 0&&(a.innerText=this.decodeTextFix(this.currentLyrics[l].buffer))}),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.lyricsIndex)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=w=>{w.preventDefault();let U=i.getBoundingClientRect(),P=w.clientX-U.left,F0=U.width;this.seq.currentTime=P/F0*this.seq.duration,l.innerHTML=T$(Jr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let a=document.createElement("div"),l=vu("Play/Pause",T$(Jr));this.playPause=l,this.locale.bindObjectProperty(l,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};l.onclick=u;let f=vu("Previous song",jQ(Jr));this.locale.bindObjectProperty(f,"title","locale.sequencerController.previousSong"),f.onclick=()=>this.switchToPreviousSong();let x=vu("Next song",ZQ(Jr));this.locale.bindObjectProperty(x,"title","locale.sequencerController.nextSong"),x.onclick=()=>this.switchToNextSong();let H=vu("Loop this",JQ(Jr));this.locale.bindObjectProperty(H,"title","locale.sequencerController.loopThis");let F=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),H.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};H.onclick=F,this.loopButton=H;let N=vu("Show lyrics",WQ(Jr));this.locale.bindObjectProperty(N,"title","locale.sequencerController.lyrics.show"),N.firstElementChild.setAttribute("fill",this.iconDisabledColor);let S0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),N.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};this.toggleLyrics=S0,N.onclick=S0,document.addEventListener("keydown",w=>{switch(w.key.toLowerCase()){case q8.playPause:w.preventDefault(),u();break;case q8.toggleLoop:w.preventDefault(),F();break;case q8.toggleLyrics:w.preventDefault(),S0();break;default:break}}),a.appendChild(f),a.appendChild(H),a.appendChild(l),a.appendChild(N),a.appendChild(x),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(a),document.addEventListener("keydown",w=>{switch(w.key.toLowerCase()){case q8.seekBackwards:w.preventDefault(),this.seq.currentTime-=5,l.innerHTML=T$(Jr);break;case q8.seekForwards:w.preventDefault(),this.seq.currentTime+=5,l.innerHTML=T$(Jr);break;case q8.previousSong:this.switchToPreviousSong();break;case q8.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(w.key))){w.preventDefault();let U=parseInt(w.key);0<=U&&U<=9&&(this.seq.currentTime=this.seq.duration*(U/10),l.innerHTML=T$(Jr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=D$(this.seq.currentTime),a=D$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${a.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}loadLyricData(){if(this.currentLyrics=this.seq.midiData.lyrics,this.currentLyricsString=this.currentLyrics.map(i=>this.decodeTextFix(i.buffer)),this.currentLyrics.length===0)this.currentLyricsString=[this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics")];else{let i=!0;for(let a=1;al%2===0?"":this.currentLyricsString[l]))}this.lyricsElement.text.main.innerHTML="",this.lyricsElement.text.separateLyrics=[];for(let i of this.currentLyricsString){let a=document.createElement("span");a.innerText=i,a.classList.add("lyrics_text_gray"),this.lyricsElement.text.main.appendChild(a),this.lyricsElement.text.separateLyrics.push(a)}}};Ps.prototype.createNavigatorHandler=sw;Ps.prototype.updateTitleAndMediaStatus=ow;Ps.prototype.createLyrics=$w;Ps.prototype.setLyricsText=lw;Ps.prototype.updateOtherTextEvents=cw;function dw(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function hw(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function fw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var Er=class{constructor(i="none",a,l,u,f=0,x=100,H=!1,F=void 0,N=void 0,S0=void 0){if(this.meterText="",l.bindObjectProperty(this,"meterText",a+".title"),this.min=f,this.max=x,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=N,this.unlockCallback=S0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),l.bindObjectProperty(this.div,"title",a+".description",u),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,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,H){if(F===void 0)throw new Error("No editable function given!");this.div.onmousedown=w=>{w.preventDefault(),w.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=w=>{if(!this.isActive)return;let U=w.currentTarget.getBoundingClientRect(),P=U.left,F0=U.width,m1=w.clientX-P,l1=Math.max(0,Math.min(1,m1/F0));F(l1*(x-f)+f)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=w=>{this.div.onmousemove(w),this.isActive=!1},this.text.oncontextmenu=w=>{w.preventDefault()},this.div.onclick=w=>{w.preventDefault(),this.isActive=!0,this.div.onmousemove(w),this.isActive=!1,N7&&this.lockMeter()},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(i=!1){i&&(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 i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,a=!1){if(!(i===this.currentValue&&a===!1))if(this.currentValue=i,this.isShown){let l=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${l*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Iw=["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 ZE=class{constructor(i,a,l,u,f=void 0,x=void 0){this.elements=i.map(H=>({name:H.name,program:H.program,bank:H.bank,stringified:`${H.bank.toString().padStart(3,"0")}:${H.program.toString().padStart(3,"0")} ${H.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"),a.bindObjectProperty(this.mainButton,"title",l+".description",u),this.locale=a,this.localePath=l,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=f,this.selectionMenu=void 0,this.lockCallback=x,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 i=document.createElement("div");i.classList.add("voice_selector_window");let a=document.createElement("h2");this.locale.bindObjectProperty(a,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(a);let l=document.createElement("div");l.classList.add("voice_selector_search_wrapper"),i.appendChild(l);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),l.appendChild(u),u.onkeydown=N=>N.stopPropagation();let f=document.createElement("div");f.innerHTML=this.locked?Up(ai):lB(ai),this.locale.bindObjectProperty(f,"title",e4+"channelController.presetReset.description",this.localeArgs),f.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&f.classList.add("voice_reset_light"),f.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?f.innerHTML=Up(ai):f.innerHTML=lB(ai)},l.appendChild(f),this.presetLock=f;let x=document.createElement("div");x.classList.add("voice_selector_table_wrapper"),i.appendChild(x);let F=this.generateTable(x,this.elements).querySelector(".voice_selector_selected");u.oninput=N=>{N.stopPropagation();let S0=u.value,w=this.elements.filter(m1=>m1.stringified.search(new RegExp(S0,"i"))>=0);if(w.length===this.elements.length||w.length===0)return;x.replaceChildren();let U=this.generateTable(x,w),P=U.querySelector(".voice_selector_selected");if(P){F=P;return}let F0=U.querySelector(".voice_selector_option");F0.classList.add("voice_selector_selected"),F=F0},u.addEventListener("keydown",N=>{switch(N.key){case"Enter":let S0=F.getAttribute("bank"),w=F.getAttribute("program"),U=`${S0}:${w}`;if(this.value===U){this.hideSelectionMenu();return}this.editCallback(U),this.locked=!0,this.presetLock.innerHTML=Up(ai),this.hideSelectionMenu();break;case"ArrowDown":let P=F.nextElementSibling;for(;P;){if(P.classList.contains("voice_selector_option")){F.classList.remove("voice_selector_selected"),P.classList.add("voice_selector_selected"),F=P;return}P=P.nextElementSibling}break;case"ArrowUp":let F0=F.previousElementSibling;for(;F0;){if(F0.classList.contains("voice_selector_option")){F.classList.remove("voice_selector_selected"),F0.classList.add("voice_selector_selected"),F=F0;return}F0=F0.previousElementSibling}break}}),i.onclick=N=>{N.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=N=>{N.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,N7||u.focus()}generateTable(i,a){let l=document.createElement("table");l.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),f=parseInt(this.value.split(":")[1]),x=-20;for(let H of a){let F=document.createElement("tr"),N=H.program;if(F.classList.add("voice_selector_option"),F.setAttribute("program",N.toString()),F.setAttribute("bank",H.bank.toString()),N===f&&H.bank===u&&(F.classList.add("voice_selector_selected"),setTimeout(()=>{F.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),F.onclick=()=>{let m1=`${H.bank}:${N}`;if(this.value===m1){this.hideSelectionMenu();return}this.editCallback(m1),this.locked=!0,this.presetLock.innerHTML=Up(ai),this.hideSelectionMenu()},N!==x&&(x=N,H.bank!==128)){let m1=document.createElement("tr"),l1=document.createElement("th");l1.colSpan="3",l1.textContent=Iw[x],m1.appendChild(l1),l.appendChild(m1)}let S0=`${H.program.toString().padStart(3,"0")}`,w=`${H.bank.toString().padStart(3,"0")}`,U=document.createElement("td");U.classList.add("voice_selector_preset_name"),U.textContent=H.name;let P=document.createElement("td");U.classList.add("voice_selector_preset_program"),P.textContent=S0;let F0=document.createElement("td");U.classList.add("voice_selector_preset_program"),F0.textContent=w,F.appendChild(F0),F.appendChild(P),F.appendChild(U),l.appendChild(F)}return i.appendChild(l),l}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(i=this.elements){if(this.elements=i.map(a=>({name:a.name,program:a.program,bank:a.bank,stringified:`${a.bank.toString().padStart(3,"0")}:${a.program.toString().padStart(3,"0")} ${a.name}`})),this.elements.length>0){let a=this.elements[0],l=a.bank,u=parseInt(this.value.split(":")[1]),f=u;this.elements.find(x=>x.program===u)===void 0&&(f=a.program),this.mainButton.textContent=this.getString(`${l}:${f}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let a=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];a!==void 0&&a.classList.remove("voice_selector_selected");let l=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),f=parseInt(this.value.split(":")[1]);for(let x of l.rows){if(x.cells.length===1)continue;let H=parseInt(x.cells[0].textContent),F=parseInt(x.cells[1].textContent);H===u&&F===f&&(x.classList.add("voice_selector_selected"),x.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let a=i.split(":"),l=parseInt(a[0]),u=parseInt(a[1]),f=this.elements.find(x=>x.bank===l&&x.program===u);return f?l===128||this.elements.filter(x=>x.program===u&&x.bank!==128).length<2?`${u}. ${f.name}`:`${l}:${u} ${f.name}`:""}};var ai=32;function mw(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let a=new Er(this.channelColors[n%this.channelColors.length],e4+"channelController.voiceMeter",this.locale,[n+1],0,100);a.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(a.div);let l=new Er(this.channelColors[n%this.channelColors.length],e4+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,U1=>{let c2=l.isLocked;c2&&this.synth.lockController(n,x$+q4.pitchWheel,!1),U1=Math.round(U1)+8192;let P2=U1>>7,L2=U1&127;this.synth.pitchWheel(n,P2,L2),c2&&this.synth.lockController(n,x$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,x$+q4.pitchWheel,!0),()=>this.synth.lockController(n,x$+q4.pitchWheel,!1));l.update(0),i.appendChild(l.div);let u=(U1,c2,P2)=>{P2.isLocked?(this.synth.lockController(n,U1,!1),this.synth.controllerChange(n,U1,c2),this.synth.lockController(n,U1,!0)):this.synth.controllerChange(n,U1,c2)},f=(U1,c2,P2)=>{let L2=new Er(this.channelColors[n%this.channelColors.length],e4+c2,this.locale,[n+1],0,127,!0,a0=>u(U1,Math.round(a0),L2),()=>this.synth.lockController(n,U1,!0),()=>this.synth.lockController(n,U1,!1));return L2.update(P2),L2},x=f($3.pan,"channelController.panMeter",64);i.appendChild(x.div);let H=f($3.expressionController,"channelController.expressionMeter",127);i.appendChild(H.div);let F=f($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(F.div);let N=f($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(N.div);let S0=f($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(S0.div);let w=f($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(w.div);let U=f($3.brightness,"channelController.filterMeter",64);i.appendChild(U.div);let P=new Er(this.channelColors[n%this.channelColors.length],e4+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,U1=>{U1=Math.round(U1),this.synth.transposeChannel(n,U1,!0),P.update(U1)});P.update(0),i.appendChild(P.div);let F0=new ZE([],this.locale,e4+"channelController.presetSelector",[n+1],async U1=>{let c2=U1.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(c2[0]),!0),this.synth.programChange(n,parseInt(c2[1]),!0),F0.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},U1=>this.synth.lockController(n,a7,U1));i.appendChild(F0.mainButton);let m1=document.createElement("div");m1.innerHTML=wu(ai),this.locale.bindObjectProperty(m1,"title",e4+"channelController.soloButton.description",[n+1]),m1.classList.add("controller_element"),m1.classList.add("mute_button"),m1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let U1=0;U1=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let U1=0;U1{if(l1.hasAttribute("is_muted")){l1.removeAttribute("is_muted");let U1=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!U1),l1.innerHTML=Gp(ai)}else this.synth.muteChannel(n,!0),l1.setAttribute("is_muted","true"),l1.innerHTML=ew(ai)},i.appendChild(l1);let j1=document.createElement("div");return j1.innerHTML=n===T7?YE(ai):zE(ai),this.locale.bindObjectProperty(j1,"title",e4+"channelController.drumToggleButton.description",[n+1]),j1.classList.add("controller_element"),j1.classList.add("mute_button"),j1.onclick=()=>{F0.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),F0.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(j1),{controller:i,voiceMeter:a,pitchWheel:l,pan:x,expression:H,volume:F,mod:N,chorus:S0,reverb:w,brightness:U,preset:F0,drumsToggle:j1,soloButton:m1,muteButton:l1,transpose:P}}function pw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function hB(n,i=!0){let a=document.createElement("div");a.classList.add("settings_slider_wrapper");let l=n.getAttribute("min"),u=n.getAttribute("max"),f=n.getAttribute("value"),x=n.getAttribute("units"),H=n.getAttribute("input_id"),F=document.createElement("input");F.classList.add("settings_slider"),F.type="range",F.id=H,F.min=l,F.max=u,F.value=f;let N;i&&(N=document.createElement("span"),N.textContent=f+x);let S0=document.createElement("div");S0.classList.add("settings_visual_wrapper");let w=document.createElement("div");w.classList.add("settings_slider_progress"),S0.appendChild(w);let U=document.createElement("div");return U.classList.add("settings_slider_thumb"),S0.appendChild(U),S0.appendChild(F),F.addEventListener("input",()=>{let P=parseInt(S0.style.getPropertyValue("--visual-width").replace("%","")),F0=Math.round((F.value-F.min)/(F.max-F.min)*100);Math.abs((P-F0)/100)>.05?S0.classList.add("settings_slider_transition"):S0.classList.remove("settings_slider_transition"),S0.style.setProperty("--visual-width",`${F0}%`)}),S0.style.setProperty("--visual-width",`${(F.value-F.min)/(F.max-F.min)*100}%`),a.appendChild(S0),i&&a.appendChild(N),a}function Os(n,i,a){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!a)throw new Error("Translate path title provided but no locale provided.");a.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),a.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function Cw(n,i){switch(n.type){case"button":let a=document.createElement("button");return Os(a,n,i),Ha(n,[a]),a;case"text":let l=document.createElement("p");return Os(l,n,i),Ha(n,[l]),l;case"input":let u=document.createElement("div");u.classList.add("notification_input_wrapper");let f=document.createElement("input");Os(f,n,i),f.addEventListener("keydown",P2=>P2.stopPropagation());let x=document.createElement("label");return Os(x,n,i),Ha(n,[f,x]),u.append(x),u.appendChild(f),u;case"select":let H=document.createElement("div");H.classList.add("notification_input_wrapper");let F=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let P2 of Object.entries(n.selectOptions)){let L2=document.createElement("option");L2.value=P2[0],L2.textContent=P2[1],F.appendChild(L2)}let N=document.createElement("label");return Os(N,n,i),Ha(n,[F,N]),H.appendChild(N),H.appendChild(F),H;case"file":let S0=document.createElement("label");S0.classList.add("notification_input_wrapper");let w=document.createElement("input");w.type="file";let U=document.createElement("label");U.classList.add("notification_file_button"),Os(U,n,i);let P=document.createElement("label");return Os(P,n,i),Ha(n,[U,w,P]),U.appendChild(w),S0.append(P),S0.appendChild(U),S0;case"progress":let F0=document.createElement("div");F0.classList.add("notification_progress_background");let m1=document.createElement("div");return m1.classList.add("notification_progress"),Ha(n,[m1,F0]),F0.appendChild(m1),F0;case"toggle":return $_(n,i);case"range":let l1=document.createElement("input");l1.type="range";let j1=document.createElement("label");Ha(n,[l1,j1]),Os(j1,n,i);let U1=hB(l1,!1),c2=document.createElement("div");return c2.classList.add("notification_slider_wrapper"),c2.appendChild(j1),c2.appendChild(U1),c2}}function Ha(n,i){if(n.attributes)for(let[a,l]of Object.entries(n.attributes))for(let u of i)a.startsWith("onchange")?u[a]=l:u.setAttribute(a,l);if(n.listeners)for(let[a,l]of Object.entries(n.listeners))for(let u of i)u.addEventListener(a,l)}function $_(n,i){let a=document.createElement("label");a.classList.add("notification_switch_wrapper");let l=document.createElement("label");Os(l,n,i);let u=document.createElement("input");u.type="checkbox",Ha(n,[l,u]);let f=document.createElement("div");f.classList.add("notification_switch"),f.appendChild(u);let x=document.createElement("div");return x.classList.add("notification_switch_slider"),f.appendChild(x),a.appendChild(l),a.appendChild(f),a}var l_=13,c_=0,Op={};function M9(n,i,a=l_,l=!0,u=void 0,f=void 0,x=void 0){let H=document.createElement("div"),F=c_++;H.classList.add("notification"),H.innerHTML=`

${n}

\xD7 -
`;let N=document.createElement("div");if(N.classList.add("notification_content"),f)for(let[w,U]of Object.entries(f))N.style[w]=U;V.appendChild(N);for(let w of i){let U=Cw(w,u);w.onClick&&(U.onclick=()=>w.onClick({div:V,id:T},U)),N.appendChild(U)}l?V.getElementsByClassName("close_btn")[0].onclick=()=>{l9(T)}:V.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{V.classList.add("drop")},75);let b0=setTimeout(()=>{l9(T)},a*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(V),Op[T]={div:V,timeout:b0,onclose:x},{div:V,id:T}}function l9(n){if(Op[n]===void 0)return;let i=Op[n],a=i.div;clearTimeout(Op[n].timeout),a.classList.remove("drop"),setTimeout(()=>a.parentElement.removeChild(a),500),i.onclose&&i.onclose(),Op[n]=void 0}var l7={nodesAmount:zr.nodesAmount,defaultDelay:zr.defaultDelay,delayVariation:zr.delayVariation,stereoDifference:zr.stereoDifference,oscillatorFrequency:zr.oscillatorFrequency,oscillatorFrequencyVariation:zr.oscillatorFrequencyVariation,oscillatorGain:zr.oscillatorGain};function Bw(n,i,a){let l=i+"effectsConfig.",u=M9(n.getLocaleString(l+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(f,x)=>{a.disableGSNRPparams(),x.parentNode.removeChild(x)}},{type:"text",translatePathTitle:l+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:l+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async f=>{if(f.target.files.length===0)return;f.stopImmediatePropagation(),f.preventDefault();let x=f.target.parentElement.parentElement;x.textContent=n.getLocaleString("locale.synthInit.genericLoading");let V=await a.context.decodeAudioData(await f.target.files[0].arrayBuffer());a.setReverbResponse(V),x.textContent=n.getLocaleString("locale.synthInit.done"),m5("%cReverb response set!",I1.info)}}},{type:"text",translatePathTitle:l+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:l+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:l+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:l+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:l+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:l+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:l+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:l+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:l+"chorusConfig.apply",onClick:f=>{l7.nodesAmount=parseFloat(f.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(f.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(f.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(f.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(f.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(f.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(f.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(f.div.querySelector("input[setting='osc-gain']").value),a.setChorusConfig(l7)}}],999999,!0,n);return u.div.onclick=f=>f.stopImmediatePropagation(),u}var d8="locale.synthesizerController.keyModifiers.";async function yw(n,i){return new Promise(a=>{let l=M9(n.getLocaleString(d8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(d8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=u=>{l9(l.id),i.onNotePressed=void 0,a(u)}})}async function Qw(n,i,a,l){let u=await yw(i,a),f=(U,P,F0,m1)=>{let l1={type:"number",min:P.toString(),max:F0.toString(),value:m1.toString()};return l1[U]="true",l1},x={};x.unchanged=i.getLocaleString(d8+"modifyKey.preset.unchanged");for(let U of l.toSorted((P,F0)=>P.presetNameF0.presetName?1:0))x[U.presetName]=U.presetName;let V=n.keyModifierManager.getModifier(a.channel,u),T=V?.velocity??-1,N=M9(i.getLocaleString(d8+"modifyKey.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[u.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async U=>{l9(U.id),await Qw(n,i,a,l)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:f("chan",0,(n.channelsAmount-1).toString(),a.channel.toString())},{type:"input",translatePathTitle:d8+"modifyKey.velocity",attributes:f("vel",0,127,T)},{type:"select",translatePathTitle:d8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:x},{type:"button",translatePathTitle:d8+"modifyKey.apply",onClick:U=>{let P=parseInt(U.div.querySelector("input[chan]").value)??-1,F0=parseInt(U.div.querySelector("input[vel]").value)??-1,m1=U.div.querySelector("select[preset-selector]").value,l1=-1,j1=-1;if(m1!=="unchanged"){let U1=l.find(c2=>c2.presetName===m1);l1=U1.bank,j1=U1.program}n.keyModifierManager.addModifier(P,u,{velocity:F0,patch:{program:j1,bank:l1}}),l9(U.id)}}],99999,!0,i),b0=V?.patch?.program??-1,w=V?.patch?.bank??-1;w!==-1&&b0!==-1&&(N.div.querySelector("select[preset-selector]").value=l.find(U=>U.bank===w&&U.program===b0).presetName)}async function ww(n,i,a){let l=await yw(i,a);M9(i.getLocaleString(d8+"removeModification.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[l.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async u=>{l9(u.id),await ww(n,i,a)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:{chan:"true",type:"number",value:a.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:d8+"removeModification.remove",onClick:u=>{let f=parseInt(u.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(f,l),l9(u.id)}}],99999,!0,i)}function vw(n,i,a,l){M9(i.getLocaleString(d8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(d8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(d8+"prompt")},{type:"button",translatePathTitle:d8+"modifyKey",onClick:u=>{l9(u.id),Qw(n,i,a,l).then()}},{type:"button",translatePathTitle:d8+"removeModification",onClick:u=>{l9(u.id),ww(n,i,a).then()}},{type:"button",translatePathTitle:d8+"resetModifications",onClick:u=>{l9(u.id),M9(i.getLocaleString(d8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(d8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:f=>{l9(f.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:f=>{l9(f.id)}}],99999,!0,i)}}],9999999,!0,i)}function kw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new Er("",e4+"mainVoiceMeter",this.locale,[],0,oB),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new Er("",e4+"mainVolumeMeter",this.locale,[],0,200,!0,N=>{this.synth.setMainVolume(Math.round(N)/100),this.volumeController.update(N)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new Er("",e4+"mainPanMeter",this.locale,[],-1,1,!0,N=>{this.synth.setMasterPan(N),this.panController.update(N)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new Er("",e4+"mainTransposeMeter",this.locale,[],-12,12,!0,N=>{this.synth.transpose(Math.round(N*2)/2),this.transposeController.update(Math.round(N*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",e4+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",e4+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let a=document.createElement("button");this.locale.bindObjectProperty(a,"textContent",e4+"systemReset.title"),this.locale.bindObjectProperty(a,"title",e4+"systemReset.description"),a.classList.add("synthui_button"),a.classList.add("main_controller_element"),a.onclick=()=>{this.controllers.forEach((N,b0)=>{N.pitchWheel.isLocked&&N.pitchWheel.lockMeter(),N.pan.isLocked&&N.pan.lockMeter(),N.expression.isLocked&&N.expression.lockMeter(),N.volume.isLocked&&N.volume.lockMeter(),N.mod.isLocked&&N.mod.lockMeter(),N.chorus.isLocked&&N.chorus.lockMeter(),N.reverb.isLocked&&N.reverb.lockMeter(),N.brightness.isLocked&&N.brightness.lockMeter(),N.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(b0,a7,!1),N.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(b0,0,!0),N.transpose.update(0),N.soloButton.innerHTML=wu(ai),N.muteButton.innerHTML=Gp(ai),this.synth.muteChannel(b0,!1)}),this.synth.resetControllers()};let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",e4+"blackMidiMode.title"),this.locale.bindObjectProperty(l,"title",e4+"blackMidiMode.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let u=document.createElement("button");this.locale.bindObjectProperty(u,"textContent",e4+"keyModifiers.button.title"),this.locale.bindObjectProperty(u,"title",e4+"keyModifiers.button.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{vw(this.synth,this.locale,this.keyboard,this.presetList)};let f=document.createElement("button");this.locale.bindObjectProperty(f,"textContent",e4+"effectsConfig.button.title"),this.locale.bindObjectProperty(f,"title",e4+"effectsConfig.button.description"),f.classList.add("synthui_button"),f.classList.add("main_controller_element"),f.onclick=()=>{if(this.effectsConfigWindow!==void 0){l9(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=Bw(this.locale,e4,this.synth).id};let x=document.createElement("select");x.classList.add("main_controller_element"),x.classList.add("synthui_button"),this.locale.bindObjectProperty(x,"title",e4+"interpolation.description");{let N=document.createElement("option");N.value="0",this.locale.bindObjectProperty(N,"textContent",e4+"interpolation.linear"),x.appendChild(N);let b0=document.createElement("option");b0.value="1",this.locale.bindObjectProperty(b0,"textContent",e4+"interpolation.nearestNeighbor"),x.appendChild(b0);let w=document.createElement("option");w.value="2",w.selected=!0,this.locale.bindObjectProperty(w,"textContent",e4+"interpolation.cubic"),x.appendChild(w),x.onchange=()=>{this.synth.setInterpolationType(parseInt(x.value))}}let V=document.createElement("div");V.classList.add("synthui_controller"),this.uiDiv.appendChild(V);let T=document.createElement("button");this.locale.bindObjectProperty(T,"textContent",e4+"toggleButton.title"),this.locale.bindObjectProperty(T,"title",e4+"toggleButton.description"),T.classList.add("synthui_button"),T.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(a),n.appendChild(l),n.appendChild(u),n.appendChild(f),n.appendChild(x),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,a,l,u,f,T,x],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(T),V.appendChild(n),this.mainControllerDiv=V,this.mainControllerDiv.onclick=N=>N.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(l9(this.effectsConfigWindow),this.effectsConfigWindow=void 0),V.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Sw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let a=i.controllerNumber,l=i.channel,u=i.controllerValue,f=this.controllers[l];if(f!==void 0)switch(a){default:break;case $3.expressionController:f.expression.update(u);break;case $3.mainVolume:f.volume.update(u);break;case $3.pan:f.pan.update(u);break;case $3.modulationWheel:f.mod.update(u);break;case $3.chorusDepth:f.chorus.update(u);break;case $3.reverbDepth:f.reverb.update(u);break;case $3.brightness:f.brightness.update(u)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let a=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(a-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?YE(32):zE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var e4="locale.synthesizerController.",Wr=class{constructor(i,a,l){this.channelColors=i;let u=a;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),u.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=l,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",a=>{switch(a.key.toLowerCase()){case q8.synthesizerUIShow:a.preventDefault(),this.toggleVisibility();break;case q8.settingsShow:this.isShown=!0,this.toggleVisibility();break;case q8.blackMidiMode:a.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case q8.midiPanic:a.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 a of this.controllers)a.voiceMeter.update(a.voiceMeter.currentValue,!0),a.pitchWheel.update(a.pitchWheel.currentValue,!0),a.pan.update(a.pan.currentValue,!0),a.volume.update(a.volume.currentValue,!0),a.expression.update(a.expression.currentValue,!0),a.mod.update(a.mod.currentValue,!0),a.chorus.update(a.chorus.currentValue,!0),a.reverb.update(a.reverb.currentValue,!0),a.brightness.update(a.brightness.currentValue,!0),a.transpose.update(a.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(l9(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,a)=>{let l=this.synth.channelProperties[a].voicesAmount;i.voiceMeter.update(l),l<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let a=i;this.presetList=a,this.instrumentList=a.filter(l=>l.bank!==128).sort((l,u)=>l.program===u.program?l.bank-u.bank:l.program-u.program).map(l=>({name:l.presetName,bank:l.bank,program:l.program})),this.percussionList=a.filter(l=>l.bank===128).sort((l,u)=>l.program-u.program).map(l=>({name:l.presetName,bank:l.bank,program:l.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((l,u)=>{let f=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;l.preset.reload(f),l.preset.set(`${f[0].bank}:${f[0].program}`)})})}};Wr.prototype.hideControllers=dw;Wr.prototype.showControllers=hw;Wr.prototype.toggleDarkMode=fw;Wr.prototype.createChannelController=mw;Wr.prototype.createChannelControllers=pw;Wr.prototype.createMainSynthController=kw;Wr.prototype.setEventListeners=Sw;var qp=null,jE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=qp,this.selectedOutput=qp,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,m5("%cMIDI handler created!",I1.recognized),!0}catch(i){return se("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return se("Web MIDI Api not supported!",I1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,a){this.selectedOutput=i,a.connectMidiOutput(i),m5(`%cPlaying MIDI to %c${i.name}`,I1.info,I1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=qp,i.connectMidiOutput(void 0),m5("%cDisconnected from MIDI out.",I1.info)}connectDeviceToSynth(i,a){this.selectedInput=i,i.onmidimessage=l=>{a.sendMessage(l.data)},m5(`%cListening for messages on %c${i.name}`,I1.info,I1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=qp,i.onmidimessage=void 0,m5(`%cDisconnected from %c${i.name}`,I1.info,I1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=qp;for(let i of this.inputs)i[1].onmidimessage=void 0}};var XE=class{constructor(i){window.addEventListener("message",a=>{if(typeof a.data!="string")return;let l=a.data.split(",");if(l[0]!=="midi")return;l.shift();let u=l.map(f=>parseInt(f,16));i.sendMessage(u)}),m5("%cWeb MIDI Link handler created!",I1.recognized)}};var Va="midi range";function bw(n,i,a){let l=0,u=this.htmlControls.keyboard,f=[],x=[],V,T=U=>{let P=x[U],F0=P.drum?128:P.bank,m1=V.find(l1=>l1.bank===F0&&l1.program===P.program);m1||(m1=V[0]),f[U].textContent=": "+m1.presetName},N=()=>{if(V)for(let U=0;U{let U=document.createElement("option");U.value=l.toString();let P=document.createElement("p");this.locale.bindObjectProperty(P,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[l+1]);let F0=document.createElement("p");F0.textContent=": not ",f.push(F0),x.push({program:0,bank:0,drum:l%16===9}),N(),U.appendChild(P),U.appendChild(F0),U.style.background=i.channelColors[l%i.channelColors.length],U.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(U),l++},w=this.synthui.synth;w.eventHandler.addEvent("presetlistchange","settings-preset-list-change",U=>{V=U,N()}),w.eventHandler.addEvent("newchannel","settings-new-channel",()=>{b0()}),w.eventHandler.addEvent("programchange","settings-program-change",U=>{let P=x[U.channel];P.bank=U.bank,P.program=U.program,T(U.channel)}),w.eventHandler.addEvent("drumchange","settings-drum-change",U=>{x[U.channel].drum=U.isDrumChannel,T(U.channel)});for(let U=0;U{n.selectChannel(parseInt(u.channelSelector.value))},u.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{u.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,a.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[u.sizeSelector.value],a.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},600);return}u.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,a.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[u.sizeSelector.value],a.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},this.addSequencer=U=>{U.addOnSongChangeEvent(P=>{this.autoKeyRange&&(n.keyRange=P.keyRange,a.keyRange=P.keyRange),P.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{b0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",U=>{U.userCalled&&(n.selectChannel(U.channel),u.channelSelector.value=U.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",U=>{if(U.isMuted&&U.channel===n.channel){let P=0;for(;i.synth.channelProperties[P].isMuted;)if(P++,i.synth.channelProperties[P]===void 0)return;P{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},u.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var Dw=` + `;let N=document.createElement("div");if(N.classList.add("notification_content"),f)for(let[w,U]of Object.entries(f))N.style[w]=U;H.appendChild(N);for(let w of i){let U=Cw(w,u);w.onClick&&(U.onclick=()=>w.onClick({div:H,id:F},U)),N.appendChild(U)}l?H.getElementsByClassName("close_btn")[0].onclick=()=>{l9(F)}:H.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{H.classList.add("drop")},75);let S0=setTimeout(()=>{l9(F)},a*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(H),Op[F]={div:H,timeout:S0,onclose:x},{div:H,id:F}}function l9(n){if(Op[n]===void 0)return;let i=Op[n],a=i.div;clearTimeout(Op[n].timeout),a.classList.remove("drop"),setTimeout(()=>a.parentElement.removeChild(a),500),i.onclose&&i.onclose(),Op[n]=void 0}var l7={nodesAmount:zr.nodesAmount,defaultDelay:zr.defaultDelay,delayVariation:zr.delayVariation,stereoDifference:zr.stereoDifference,oscillatorFrequency:zr.oscillatorFrequency,oscillatorFrequencyVariation:zr.oscillatorFrequencyVariation,oscillatorGain:zr.oscillatorGain};function Bw(n,i,a){let l=i+"effectsConfig.",u=M9(n.getLocaleString(l+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(f,x)=>{a.disableGSNRPparams(),x.parentNode.removeChild(x)}},{type:"text",translatePathTitle:l+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:l+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async f=>{if(f.target.files.length===0)return;f.stopImmediatePropagation(),f.preventDefault();let x=f.target.parentElement.parentElement;x.textContent=n.getLocaleString("locale.synthInit.genericLoading");let H=await a.context.decodeAudioData(await f.target.files[0].arrayBuffer());a.setReverbResponse(H),x.textContent=n.getLocaleString("locale.synthInit.done"),m5("%cReverb response set!",I1.info)}}},{type:"text",translatePathTitle:l+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:l+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:l+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:l+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:l+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:l+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:l+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:l+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:l+"chorusConfig.apply",onClick:f=>{l7.nodesAmount=parseFloat(f.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(f.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(f.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(f.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(f.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(f.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(f.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(f.div.querySelector("input[setting='osc-gain']").value),a.setChorusConfig(l7)}}],999999,!0,n);return u.div.onclick=f=>f.stopImmediatePropagation(),u}var d8="locale.synthesizerController.keyModifiers.";async function yw(n,i){return new Promise(a=>{let l=M9(n.getLocaleString(d8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(d8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=u=>{l9(l.id),i.onNotePressed=void 0,a(u)}})}async function Qw(n,i,a,l){let u=await yw(i,a),f=(U,P,F0,m1)=>{let l1={type:"number",min:P.toString(),max:F0.toString(),value:m1.toString()};return l1[U]="true",l1},x={};x.unchanged=i.getLocaleString(d8+"modifyKey.preset.unchanged");for(let U of l.toSorted((P,F0)=>P.presetNameF0.presetName?1:0))x[U.presetName]=U.presetName;let H=n.keyModifierManager.getModifier(a.channel,u),F=H?.velocity??-1,N=M9(i.getLocaleString(d8+"modifyKey.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[u.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async U=>{l9(U.id),await Qw(n,i,a,l)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:f("chan",0,(n.channelsAmount-1).toString(),a.channel.toString())},{type:"input",translatePathTitle:d8+"modifyKey.velocity",attributes:f("vel",0,127,F)},{type:"select",translatePathTitle:d8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:x},{type:"button",translatePathTitle:d8+"modifyKey.apply",onClick:U=>{let P=parseInt(U.div.querySelector("input[chan]").value)??-1,F0=parseInt(U.div.querySelector("input[vel]").value)??-1,m1=U.div.querySelector("select[preset-selector]").value,l1=-1,j1=-1;if(m1!=="unchanged"){let U1=l.find(c2=>c2.presetName===m1);l1=U1.bank,j1=U1.program}n.keyModifierManager.addModifier(P,u,{velocity:F0,patch:{program:j1,bank:l1}}),l9(U.id)}}],99999,!0,i),S0=H?.patch?.program??-1,w=H?.patch?.bank??-1;w!==-1&&S0!==-1&&(N.div.querySelector("select[preset-selector]").value=l.find(U=>U.bank===w&&U.program===S0).presetName)}async function ww(n,i,a){let l=await yw(i,a);M9(i.getLocaleString(d8+"removeModification.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[l.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async u=>{l9(u.id),await ww(n,i,a)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:{chan:"true",type:"number",value:a.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:d8+"removeModification.remove",onClick:u=>{let f=parseInt(u.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(f,l),l9(u.id)}}],99999,!0,i)}function vw(n,i,a,l){M9(i.getLocaleString(d8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(d8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(d8+"prompt")},{type:"button",translatePathTitle:d8+"modifyKey",onClick:u=>{l9(u.id),Qw(n,i,a,l).then()}},{type:"button",translatePathTitle:d8+"removeModification",onClick:u=>{l9(u.id),ww(n,i,a).then()}},{type:"button",translatePathTitle:d8+"resetModifications",onClick:u=>{l9(u.id),M9(i.getLocaleString(d8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(d8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:f=>{l9(f.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:f=>{l9(f.id)}}],99999,!0,i)}}],9999999,!0,i)}function kw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new Er("",e4+"mainVoiceMeter",this.locale,[],0,oB),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new Er("",e4+"mainVolumeMeter",this.locale,[],0,200,!0,N=>{this.synth.setMainVolume(Math.round(N)/100),this.volumeController.update(N)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new Er("",e4+"mainPanMeter",this.locale,[],-1,1,!0,N=>{this.synth.setMasterPan(N),this.panController.update(N)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new Er("",e4+"mainTransposeMeter",this.locale,[],-12,12,!0,N=>{this.synth.transpose(Math.round(N*2)/2),this.transposeController.update(Math.round(N*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",e4+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",e4+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let a=document.createElement("button");this.locale.bindObjectProperty(a,"textContent",e4+"systemReset.title"),this.locale.bindObjectProperty(a,"title",e4+"systemReset.description"),a.classList.add("synthui_button"),a.classList.add("main_controller_element"),a.onclick=()=>{this.controllers.forEach((N,S0)=>{N.pitchWheel.isLocked&&N.pitchWheel.lockMeter(),N.pan.isLocked&&N.pan.lockMeter(),N.expression.isLocked&&N.expression.lockMeter(),N.volume.isLocked&&N.volume.lockMeter(),N.mod.isLocked&&N.mod.lockMeter(),N.chorus.isLocked&&N.chorus.lockMeter(),N.reverb.isLocked&&N.reverb.lockMeter(),N.brightness.isLocked&&N.brightness.lockMeter(),N.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(S0,a7,!1),N.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(S0,0,!0),N.transpose.update(0),N.soloButton.innerHTML=wu(ai),N.muteButton.innerHTML=Gp(ai),this.synth.muteChannel(S0,!1)}),this.synth.resetControllers()};let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",e4+"blackMidiMode.title"),this.locale.bindObjectProperty(l,"title",e4+"blackMidiMode.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let u=document.createElement("button");this.locale.bindObjectProperty(u,"textContent",e4+"keyModifiers.button.title"),this.locale.bindObjectProperty(u,"title",e4+"keyModifiers.button.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{vw(this.synth,this.locale,this.keyboard,this.presetList)};let f=document.createElement("button");this.locale.bindObjectProperty(f,"textContent",e4+"effectsConfig.button.title"),this.locale.bindObjectProperty(f,"title",e4+"effectsConfig.button.description"),f.classList.add("synthui_button"),f.classList.add("main_controller_element"),f.onclick=()=>{if(this.effectsConfigWindow!==void 0){l9(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=Bw(this.locale,e4,this.synth).id};let x=document.createElement("select");x.classList.add("main_controller_element"),x.classList.add("synthui_button"),this.locale.bindObjectProperty(x,"title",e4+"interpolation.description");{let N=document.createElement("option");N.value="0",this.locale.bindObjectProperty(N,"textContent",e4+"interpolation.linear"),x.appendChild(N);let S0=document.createElement("option");S0.value="1",this.locale.bindObjectProperty(S0,"textContent",e4+"interpolation.nearestNeighbor"),x.appendChild(S0);let w=document.createElement("option");w.value="2",w.selected=!0,this.locale.bindObjectProperty(w,"textContent",e4+"interpolation.cubic"),x.appendChild(w),x.onchange=()=>{this.synth.setInterpolationType(parseInt(x.value))}}let H=document.createElement("div");H.classList.add("synthui_controller"),this.uiDiv.appendChild(H);let F=document.createElement("button");this.locale.bindObjectProperty(F,"textContent",e4+"toggleButton.title"),this.locale.bindObjectProperty(F,"title",e4+"toggleButton.description"),F.classList.add("synthui_button"),F.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(a),n.appendChild(l),n.appendChild(u),n.appendChild(f),n.appendChild(x),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,a,l,u,f,F,x],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(F),H.appendChild(n),this.mainControllerDiv=H,this.mainControllerDiv.onclick=N=>N.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(l9(this.effectsConfigWindow),this.effectsConfigWindow=void 0),H.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Sw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let a=i.controllerNumber,l=i.channel,u=i.controllerValue,f=this.controllers[l];if(f!==void 0)switch(a){default:break;case $3.expressionController:f.expression.update(u);break;case $3.mainVolume:f.volume.update(u);break;case $3.pan:f.pan.update(u);break;case $3.modulationWheel:f.mod.update(u);break;case $3.chorusDepth:f.chorus.update(u);break;case $3.reverbDepth:f.reverb.update(u);break;case $3.brightness:f.brightness.update(u)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let a=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(a-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?YE(32):zE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var e4="locale.synthesizerController.",Wr=class{constructor(i,a,l){this.channelColors=i;let u=a;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),u.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=l,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",a=>{switch(a.key.toLowerCase()){case q8.synthesizerUIShow:a.preventDefault(),this.toggleVisibility();break;case q8.settingsShow:this.isShown=!0,this.toggleVisibility();break;case q8.blackMidiMode:a.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case q8.midiPanic:a.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 a of this.controllers)a.voiceMeter.update(a.voiceMeter.currentValue,!0),a.pitchWheel.update(a.pitchWheel.currentValue,!0),a.pan.update(a.pan.currentValue,!0),a.volume.update(a.volume.currentValue,!0),a.expression.update(a.expression.currentValue,!0),a.mod.update(a.mod.currentValue,!0),a.chorus.update(a.chorus.currentValue,!0),a.reverb.update(a.reverb.currentValue,!0),a.brightness.update(a.brightness.currentValue,!0),a.transpose.update(a.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(l9(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,a)=>{let l=this.synth.channelProperties[a].voicesAmount;i.voiceMeter.update(l),l<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let a=i;this.presetList=a,this.instrumentList=a.filter(l=>l.bank!==128).sort((l,u)=>l.program===u.program?l.bank-u.bank:l.program-u.program).map(l=>({name:l.presetName,bank:l.bank,program:l.program})),this.percussionList=a.filter(l=>l.bank===128).sort((l,u)=>l.program-u.program).map(l=>({name:l.presetName,bank:l.bank,program:l.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((l,u)=>{let f=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;l.preset.reload(f),l.preset.set(`${f[0].bank}:${f[0].program}`)})})}};Wr.prototype.hideControllers=dw;Wr.prototype.showControllers=hw;Wr.prototype.toggleDarkMode=fw;Wr.prototype.createChannelController=mw;Wr.prototype.createChannelControllers=pw;Wr.prototype.createMainSynthController=kw;Wr.prototype.setEventListeners=Sw;var qp=null,jE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=qp,this.selectedOutput=qp,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,m5("%cMIDI handler created!",I1.recognized),!0}catch(i){return se("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return se("Web MIDI Api not supported!",I1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,a){this.selectedOutput=i,a.connectMidiOutput(i),m5(`%cPlaying MIDI to %c${i.name}`,I1.info,I1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=qp,i.connectMidiOutput(void 0),m5("%cDisconnected from MIDI out.",I1.info)}connectDeviceToSynth(i,a){this.selectedInput=i,i.onmidimessage=l=>{a.sendMessage(l.data)},m5(`%cListening for messages on %c${i.name}`,I1.info,I1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=qp,i.onmidimessage=void 0,m5(`%cDisconnected from %c${i.name}`,I1.info,I1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=qp;for(let i of this.inputs)i[1].onmidimessage=void 0}};var XE=class{constructor(i){window.addEventListener("message",a=>{if(typeof a.data!="string")return;let l=a.data.split(",");if(l[0]!=="midi")return;l.shift();let u=l.map(f=>parseInt(f,16));i.sendMessage(u)}),m5("%cWeb MIDI Link handler created!",I1.recognized)}};var Va="midi range";function bw(n,i,a){let l=0,u=this.htmlControls.keyboard,f=[],x=[],H,F=U=>{let P=x[U],F0=P.drum?128:P.bank,m1=H.find(l1=>l1.bank===F0&&l1.program===P.program);m1||(m1=H[0]),f[U].textContent=": "+m1.presetName},N=()=>{if(H)for(let U=0;U{let U=document.createElement("option");U.value=l.toString();let P=document.createElement("p");this.locale.bindObjectProperty(P,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[l+1]);let F0=document.createElement("p");F0.textContent=": not ",f.push(F0),x.push({program:0,bank:0,drum:l%16===9}),N(),U.appendChild(P),U.appendChild(F0),U.style.background=i.channelColors[l%i.channelColors.length],U.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(U),l++},w=this.synthui.synth;w.eventHandler.addEvent("presetlistchange","settings-preset-list-change",U=>{H=U,N()}),w.eventHandler.addEvent("newchannel","settings-new-channel",()=>{S0()}),w.eventHandler.addEvent("programchange","settings-program-change",U=>{let P=x[U.channel];P.bank=U.bank,P.program=U.program,F(U.channel)}),w.eventHandler.addEvent("drumchange","settings-drum-change",U=>{x[U.channel].drum=U.isDrumChannel,F(U.channel)});for(let U=0;U{n.selectChannel(parseInt(u.channelSelector.value))},u.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{u.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,a.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[u.sizeSelector.value],a.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},600);return}u.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,a.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[u.sizeSelector.value],a.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},this.addSequencer=U=>{U.addOnSongChangeEvent(P=>{this.autoKeyRange&&(n.keyRange=P.keyRange,a.keyRange=P.keyRange),P.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{S0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",U=>{U.userCalled&&(n.selectChannel(U.channel),u.channelSelector.value=U.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",U=>{if(U.isMuted&&U.channel===n.channel){let P=0;for(;i.synth.channelProperties[P].isMuted;)if(P++,i.synth.channelProperties[P]===void 0)return;P{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},u.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var Dw=`

@@ -230,7 +230,7 @@ var DE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>(

-`;async function _w(){let n=await window.savedSettings;if(!n.interface)return;m5("Loading saved settings...",n);let i=this.htmlControls.renderer,a=this.renderer,l=n.renderer;a.noteFallingTimeMs=l.noteFallingTimeMs??1e3,i.noteTimeSlider.value=l.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Cr(i.noteTimeSlider).innerText=`${l.noteFallingTimeMs}ms`,a.noteAfterTriggerTimeMs=l.noteAfterTriggerTimeMs??0,i.noteAfterTriggerTimeSlider.value=l.noteAfterTriggerTimeMs,i.noteAfterTriggerTimeSlider.dispatchEvent(new Event("input")),Cr(i.noteAfterTriggerTimeSlider).innerText=`${l.noteAfterTriggerTimeMs}ms`,i.analyserThicknessSlider.value=l.waveformThickness??2,i.analyserThicknessSlider.dispatchEvent(new Event("input")),a.lineThickness=l.waveformThickness,Cr(i.analyserThicknessSlider).innerText=`${l.waveformThickness}px`;let u=l.sampleSize??10;i.analyserFftSlider.value=Math.log2(u),i.analyserFftSlider.dispatchEvent(new Event("input")),a.normalAnalyserFft=u,a.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(u)+2)),a.updateFftSize(),this.setTimeDelay(u),Cr(i.analyserFftSlider).innerText=`${u}`,a.waveMultiplier=l.amplifier??2,i.waveMultiplierSlizer.value=l.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Cr(i.waveMultiplierSlizer).innerText=l.amplifier.toString();let f=this.htmlControls.renderer;a.renderAnalysers=l.renderWaveforms??!0,f.analyserToggler.checked=l.renderWaveforms??!0,a.renderNotes=l.renderNotes??!0,f.noteToggler.checked=l.renderNotes??!0,a.drawActiveNotes=l.drawActiveNotes??!0,f.activeNoteToggler.checked=l.drawActiveNotes??!0,a.showVisualPitch=l.showVisualPitch??!0,f.visualPitchToggler.checked=l.showVisualPitch??!0,a.stabilizeWaveforms=l.stabilizeWaveforms??!0,f.stabilizeWaveformsToggler.checked=l.stabilizeWaveforms??!0,a.keyRange=l.keyRange??{min:0,max:128};let x=this.htmlControls.keyboard,V=this.midiKeyboard,T=n.keyboard;V.setKeyRange(T.keyRange??{min:0,max:128},!1),T.autoRange?(x.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,x.sizeSelector.value=Object.keys(this.keyboardSizes).find(N=>this.keyboardSizes[N].min===T.keyRange.min&&this.keyboardSizes[N].max===T.keyRange.max)),T.mode==="dark"&&(V.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),T.show===!1&&(V.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function xw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Lw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,noteAfterTriggerTimeMs:this.renderer.noteAfterTriggerTimeMs,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===Va,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 Mw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[l,u]of Object.entries(this.locales)){let f=document.createElement("option");f.value=l,f.textContent=u.localeName,i.appendChild(f)}i.value=this.locale.localeCode,i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let a=this.htmlControls.interface.layoutSelector;a.onchange=()=>{this._changeLayout(a.value),this._saveSettings(),a.blur()}}function Rw(n){let i=document.getElementById("keyboard_canvas_wrapper"),a=document.getElementById("note_canvas"),l=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),a.classList.remove("sideways"),l.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),a.classList.remove("sideways"),l.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),a.classList.add("sideways"),l.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),a.classList.add("sideways"),l.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var eC={start:"#101010",end:"#212121"},tC={start:"#bbb",end:"#f0f0f0"},Fw="#eee",Tw="#333",iC={start:"#222",end:"#333"},rC={start:"#ccc",end:"#fff"},Nn=.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 n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Gn(Tw,Fw,Nn,i,"--font-color"),Gn(rC.start,iC.start,Nn,i,"--top-buttons-color-start"),Gn(rC.end,iC.end,Nn,i,"--top-buttons-color-end"),Gn(tC.start,eC.start,Nn,i,"--top-color-start"),Gn(tC.end,eC.end,Nn,i,"--top-color-end")):(Gn(Fw,Tw,Nn,i,"--font-color"),Gn(iC.start,rC.start,Nn,i,"--top-buttons-color-start"),Gn(iC.end,rC.end,Nn,i,"--top-buttons-color-end"),Gn(eC.start,tC.start,Nn,i,"--top-color-start"),Gn(eC.end,tC.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var ku={};function Gn(n,i,a,l,u){ku[u]&&(clearInterval(ku[u]),ku[u]=void 0);function f(w){w.length===4&&(w=`#${w[1]}${w[1]}${w[2]}${w[2]}${w[3]}${w[3]}`);let U=parseInt(w.slice(1),16);return{r:U>>16&255,g:U>>8&255,b:U&255}}function x(w,U,P){return w+(U-w)*P}let V=f(n),T=f(i),N=performance.now()/1e3;function b0(){let U=performance.now()/1e3-N,P=Math.min(U/a,1),F0=Math.round(x(V.r,T.r,P)),m1=Math.round(x(V.g,T.g,P)),l1=Math.round(x(V.b,T.b,P));l.style.setProperty(u,`rgb(${F0}, ${m1}, ${l1})`),P>=1&&(clearInterval(ku[u]),ku[u]=void 0)}ku[u]=setInterval(b0,1e3/60)}function Gw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Cr(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.noteAfterTriggerTimeSlider.addEventListener("input",()=>{n.noteAfterTriggerTimeMs=i.noteAfterTriggerTimeSlider.value,Cr(i.noteAfterTriggerTimeSlider).innerText=`${i.noteAfterTriggerTimeSlider.value}ms`}),i.noteAfterTriggerTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Cr(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let a=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=a,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),this.setTimeDelay(a),Cr(i.analyserFftSlider).innerText=`${a}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Cr(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function Uw(n,i,a){n.createMIDIDeviceHandler().then(l=>{l?(this._createMidiInputHandler(n,a.synth),this._createMidiOutputHandler(n,i)):(N7||M9(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Pw(n,i){if(n.inputs.length<1)return;let a=this.htmlControls.midi.inputSelector;for(let l of n.inputs){let u=document.createElement("option");u.value=l[0],u.innerText=l[1].name,a.appendChild(u)}a.onchange=()=>{a.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(a.value),i),this._saveSettings()}}function Ow(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let a=this.htmlControls.midi.outputSelector;for(let l of n.outputs){let u=document.createElement("option");u.value=l[0],u.innerText=l[1].name,a.appendChild(u)}a.onchange=()=>{i.seq&&(a.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(a.value),i.seq),this._saveSettings())}}var qw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},noteAfterTriggerTime:{title:"Note after trigger time (miliseconds)",description:"How long the notes fall after they get triggered. Zero means that they trigger at the bottom."},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). Also note that high values will add a delay to the audio to sync the waveforms with the audio."},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 Hw={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 Vw={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"},reminder:{title:"Note that you need to RESTART YOUR BROWSER after connecting a new MIDI device for it to show up here.",description:"Also note that Safari does not support WebMIDI, so you will need to use a different browser if you are on Mac."}};var Yw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:qw,keyboardSettings:Hw,midiSettings:Vw,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",helpTranslate:"Translate SpessaSynth"},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"}},reminder:{title:"Did you know that you can hover over the settings to get more information?",description:"Like this one!"}}};var zw={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 Kw={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 Jw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Ww={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. +`;async function _w(){let n=await window.savedSettings;if(!n.interface)return;m5("Loading saved settings...",n);let i=this.htmlControls.renderer,a=this.renderer,l=n.renderer;a.noteFallingTimeMs=l.noteFallingTimeMs??1e3,i.noteTimeSlider.value=l.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Cr(i.noteTimeSlider).innerText=`${l.noteFallingTimeMs}ms`,a.noteAfterTriggerTimeMs=l.noteAfterTriggerTimeMs??0,i.noteAfterTriggerTimeSlider.value=l.noteAfterTriggerTimeMs,i.noteAfterTriggerTimeSlider.dispatchEvent(new Event("input")),Cr(i.noteAfterTriggerTimeSlider).innerText=`${l.noteAfterTriggerTimeMs}ms`,i.analyserThicknessSlider.value=l.waveformThickness??2,i.analyserThicknessSlider.dispatchEvent(new Event("input")),a.lineThickness=l.waveformThickness,Cr(i.analyserThicknessSlider).innerText=`${l.waveformThickness}px`;let u=l.sampleSize??10;i.analyserFftSlider.value=Math.log2(u),i.analyserFftSlider.dispatchEvent(new Event("input")),a.normalAnalyserFft=u,a.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(u)+2)),a.updateFftSize(),this.setTimeDelay(u),Cr(i.analyserFftSlider).innerText=`${u}`,a.waveMultiplier=l.amplifier??2,i.waveMultiplierSlizer.value=l.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Cr(i.waveMultiplierSlizer).innerText=l.amplifier.toString();let f=this.htmlControls.renderer;a.renderAnalysers=l.renderWaveforms??!0,f.analyserToggler.checked=l.renderWaveforms??!0,a.renderNotes=l.renderNotes??!0,f.noteToggler.checked=l.renderNotes??!0,a.drawActiveNotes=l.drawActiveNotes??!0,f.activeNoteToggler.checked=l.drawActiveNotes??!0,a.showVisualPitch=l.showVisualPitch??!0,f.visualPitchToggler.checked=l.showVisualPitch??!0,a.stabilizeWaveforms=l.stabilizeWaveforms??!0,f.stabilizeWaveformsToggler.checked=l.stabilizeWaveforms??!0,a.keyRange=l.keyRange??{min:0,max:128};let x=this.htmlControls.keyboard,H=this.midiKeyboard,F=n.keyboard;H.setKeyRange(F.keyRange??{min:0,max:128},!1),F.autoRange?(x.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,x.sizeSelector.value=Object.keys(this.keyboardSizes).find(N=>this.keyboardSizes[N].min===F.keyRange.min&&this.keyboardSizes[N].max===F.keyRange.max)),F.mode==="dark"&&(H.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),F.show===!1&&(H.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function xw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Lw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,noteAfterTriggerTimeMs:this.renderer.noteAfterTriggerTimeMs,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===Va,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 Mw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[l,u]of Object.entries(this.locales)){let f=document.createElement("option");f.value=l,f.textContent=u.localeName,i.appendChild(f)}i.value=this.locale.localeCode,i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let a=this.htmlControls.interface.layoutSelector;a.onchange=()=>{this._changeLayout(a.value),this._saveSettings(),a.blur()}}function Rw(n){let i=document.getElementById("keyboard_canvas_wrapper"),a=document.getElementById("note_canvas"),l=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),a.classList.remove("sideways"),l.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),a.classList.remove("sideways"),l.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),a.classList.add("sideways"),l.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),a.classList.add("sideways"),l.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var eC={start:"#101010",end:"#212121"},tC={start:"#bbb",end:"#f0f0f0"},Fw="#eee",Tw="#333",iC={start:"#222",end:"#333"},rC={start:"#ccc",end:"#fff"},Nn=.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 n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Gn(Tw,Fw,Nn,i,"--font-color"),Gn(rC.start,iC.start,Nn,i,"--top-buttons-color-start"),Gn(rC.end,iC.end,Nn,i,"--top-buttons-color-end"),Gn(tC.start,eC.start,Nn,i,"--top-color-start"),Gn(tC.end,eC.end,Nn,i,"--top-color-end")):(Gn(Fw,Tw,Nn,i,"--font-color"),Gn(iC.start,rC.start,Nn,i,"--top-buttons-color-start"),Gn(iC.end,rC.end,Nn,i,"--top-buttons-color-end"),Gn(eC.start,tC.start,Nn,i,"--top-color-start"),Gn(eC.end,tC.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var ku={};function Gn(n,i,a,l,u){ku[u]&&(clearInterval(ku[u]),ku[u]=void 0);function f(w){w.length===4&&(w=`#${w[1]}${w[1]}${w[2]}${w[2]}${w[3]}${w[3]}`);let U=parseInt(w.slice(1),16);return{r:U>>16&255,g:U>>8&255,b:U&255}}function x(w,U,P){return w+(U-w)*P}let H=f(n),F=f(i),N=performance.now()/1e3;function S0(){let U=performance.now()/1e3-N,P=Math.min(U/a,1),F0=Math.round(x(H.r,F.r,P)),m1=Math.round(x(H.g,F.g,P)),l1=Math.round(x(H.b,F.b,P));l.style.setProperty(u,`rgb(${F0}, ${m1}, ${l1})`),P>=1&&(clearInterval(ku[u]),ku[u]=void 0)}ku[u]=setInterval(S0,1e3/60)}function Gw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Cr(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.noteAfterTriggerTimeSlider.addEventListener("input",()=>{n.noteAfterTriggerTimeMs=i.noteAfterTriggerTimeSlider.value,Cr(i.noteAfterTriggerTimeSlider).innerText=`${i.noteAfterTriggerTimeSlider.value}ms`}),i.noteAfterTriggerTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Cr(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let a=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=a,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),this.setTimeDelay(a),Cr(i.analyserFftSlider).innerText=`${a}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Cr(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function Uw(n,i,a){n.createMIDIDeviceHandler().then(l=>{l?(this._createMidiInputHandler(n,a.synth),this._createMidiOutputHandler(n,i)):(N7||M9(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Pw(n,i){if(n.inputs.length<1)return;let a=this.htmlControls.midi.inputSelector;for(let l of n.inputs){let u=document.createElement("option");u.value=l[0],u.innerText=l[1].name,a.appendChild(u)}if(a.onchange=()=>{a.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(a.value),i),this._saveSettings()},n.inputs.size>0){let l=n.inputs.entries().next().value;n.connectDeviceToSynth(l[1],i),a.value=l[0]}}function Ow(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let a=this.htmlControls.midi.outputSelector;for(let l of n.outputs){let u=document.createElement("option");u.value=l[0],u.innerText=l[1].name,a.appendChild(u)}a.onchange=()=>{if(!i.seq){setTimeout(a.onchange,1e3);return}a.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(a.value),i.seq),this._saveSettings()}}var qw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},noteAfterTriggerTime:{title:"Note after trigger time (miliseconds)",description:"How long the notes fall after they get triggered. Zero means that they trigger at the bottom."},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). Also note that high values will add a delay to the audio to sync the waveforms with the audio."},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 Hw={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 Vw={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"},reminder:{title:"Note that you need to RESTART YOUR BROWSER after connecting a new MIDI device for it to show up here.",description:"Also note that Safari does not support WebMIDI, so you will need to use a different browser if you are on Mac."}};var Yw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:qw,keyboardSettings:Hw,midiSettings:Vw,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",helpTranslate:"Translate SpessaSynth"},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"}},reminder:{title:"Did you know that you can hover over the settings to get more information?",description:"Like this one!"}}};var zw={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 Kw={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 Jw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Ww={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. Currently you can modify its velocity and assign a patch (instrument) it uses. This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var Zw={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:Kw,effectsConfig:Jw,keyModifiers:Ww};var jw={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"},subtitles:{title:"Upload ASS subtitles",description:"Upload your own subtitles in the (.ass) format"}}};var Xw={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)"},sampleRate:{title:"Sample rate",description:"Output file sample rate in Hz. Leave as is unless you know what you're doing."},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"}}},dls:{button:{title:"DLS (.dls)",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},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... (this may take a while!)",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 ev={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:Xw,error:"Error",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:zw,settings:Yw,synthesizerController:Zw,sequencerController:jw};var tv={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},noteAfterTriggerTime:{title:"Czas po aktywacji nuty (ms)",description:"Jak d\u0142ugo nuty spadaj\u0105 po aktywacji. Zero oznacza, \u017Ce aktywuj\u0105 si\u0119 na dole."},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 linie fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107) Pami\u0119taj, \u017Ce wysokie warto\u015Bci dodadz\u0105 op\xF3\u017Anienie do d\u017Awi\u0119ku, aby zsynchronizowa\u0107 fale z d\u017Awi\u0119kiem."},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 iv={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 rv={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"},reminder:{title:"Zauwa\u017C, \u017Ce po pod\u0142\u0105czeniu nowego urz\u0105dzenia MIDI MUSISZ ZRESTARTOWA\u0106 PRZEGL\u0104DARK\u0118, aby pojawi\u0142o si\u0119 ono tutaj.",description:"Zauwa\u017C r\xF3wnie\u017C, \u017Ce Safari nie obs\u0142uguje WebMIDI, wi\u0119c musisz u\u017Cy\u0107 innej przegl\u0105darki, je\u015Bli jeste\u015B na Macu."}};var nv={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:tv,keyboardSettings:iv,midiSettings:rv,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",helpTranslate:"Przet\u0142umacz SpessaSynth"},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"}},reminder:{title:"Czy wiedzia\u0142e\u015B, \u017Ce mo\u017Cesz najecha\u0107 na ustawienia, aby uzyska\u0107 wi\u0119cej informacji?",description:"Tak jak ta!"}}};var sv={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 ov={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 av={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var Av={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. Aktualnie mo\u017Cesz nadpisa\u0107 si\u0142\u0119 nacisku oraz przypisa\u0107 instrument do danego klawisza. @@ -245,7 +245,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 xv={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:_v,yes:"Oui",no:"Non",error:"Erreur",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:kv,settings:vv,synthesizerController:bv,sequencerController:Dv};var Lv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho) Tamb\xE9m observe que valores altos adicionar\xE3o um atraso ao \xE1udio para sincronizar as formas de onda com o \xE1udio."},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var Mv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var Rv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"},reminder:{title:"Note que voc\xEA precisa REINICIAR O NAVEGADOR ap\xF3s conectar um novo dispositivo MIDI para que ele apare\xE7a aqui.",description:"Tamb\xE9m note que o Safari n\xE3o suporta WebMIDI, ent\xE3o voc\xEA precisar\xE1 usar um navegador diferente se estiver no Mac."}};var Fv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:Lv,keyboardSettings:Mv,midiSettings:Rv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}},reminder:{title:"Voc\xEA sabia que pode passar o mouse sobre as configura\xE7\xF5es para obter mais informa\xE7\xF5es?",description:"Como esta!"}}};var Tv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var Nv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var Gv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var Uv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:Nv,effectsConfig:Gv};var Pv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var Ov={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var qv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:Ov,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:Tv,settings:Fv,synthesizerController:Uv,sequencerController:Pv};var fB="en",N$={en:ev,pl:gv,ja:Bv,fr:xv,pt:qv};var g_=.2,u_={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,a,l,u,f,x,V,T,N){this.delay=N,this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=f,this.midiDeviceHandler=x,this.synthui=a,this.sequi=l,this.locale=T,this.musicMode=V,this.locales=N$,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 b0=document.createElement("div");b0.style.position="relative",b0.classList.add("seamless_button"),b0.classList.add("settings_button"),i.appendChild(b0);let w=document.createElement("div");w.classList.add("seamless_button"),this.locale.bindObjectProperty(w,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(w,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(w);let U=document.createElement("div");U.classList.add("seamless_button"),this.locale.bindObjectProperty(U,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(U,"title","locale.hideTopBar.description"),i.appendChild(U);let P=document.getElementsByClassName("show_top_button")[0];P.innerHTML=rw(20);let F0=document.createElement("span");this.locale.bindObjectProperty(F0,"innerText","locale.settings.toggleButton"),b0.appendChild(F0);let m1=document.createElement("div");m1.innerHTML=tw(24),m1.classList.add("gear"),b0.appendChild(m1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,b0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),w.onclick=this.toggleMusicPlayerMode.bind(this),U.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=Dw,Ew(this.mainDiv);for(let j1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(j1,"textContent",j1.getAttribute("translate-path"));for(let j1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let U1=j1.getAttribute("translate-path-title");if(this.locale.bindObjectProperty(j1,"textContent",U1+".title"),this.locale.bindObjectProperty(j1,"title",U1+".description"),j1.tagName==="LABEL"){let c2=j1.getAttribute("for");if(c2){let P2=document.getElementById(c2);P2&&this.locale.bindObjectProperty(P2,"title",U1+".description")}}}this.getHtmlControls(),document.addEventListener("keydown",j1=>{switch(j1.key.toLowerCase()){case q8.settingsShow:this.setVisibility(!this.visible);break;case q8.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(u,f,x,l,a)}):this.createHandlers(u,f,x,l,a),this.topPartVisible=!0;let l1=!1;window.addEventListener("resize",()=>{let j1=window.screen.height,U1=window.screen.width,c2=window.outerHeight,P2=window.outerWidth,L2;L2=U1===P2&&j1===c2,L2!==l1&&(l1=L2,L2?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 i=document.getElementsByClassName("top_part")[0],a=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),a.classList.remove("shown"),a.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let a=document.getElementsByClassName("show_top_button")[0];a.style.display="flex",setTimeout(()=>{a.classList.add("shown")},75),a.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(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"},g_*1e3)),this.visible=i}createHandlers(i,a,l,u,f){this._createRendererHandler(i),this._createMidiSettingsHandler(l,u,f),this._createKeyboardHandler(a,f,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),noteAfterTriggerTimeSlider:document.getElementById("note_after_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")}}}setTimeDelay(i){let a;i>=2048?a=u_[i]:a=0,this.delay.delayTime.value=a,this.renderer.timeOffset=a,this.synthui.synth.eventHandler.timeDelay=a}};v7.prototype._toggleDarkMode=Nw;v7.prototype._createInterfaceSettingsHandler=Mw;v7.prototype._changeLayout=Rw;v7.prototype._createRendererHandler=Gw;v7.prototype._createMidiSettingsHandler=Uw;v7.prototype._createMidiInputHandler=Pw;v7.prototype._createMidiOutputHandler=Ow;v7.prototype._createKeyboardHandler=bw;v7.prototype._loadSettings=_w;v7.prototype._serializeSettings=Lw;v7.prototype._saveSettings=xw;var Hv=.5,nC=class{constructor(i,a){this.mainDiv=i,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 xv={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:_v,yes:"Oui",no:"Non",error:"Erreur",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:kv,settings:vv,synthesizerController:bv,sequencerController:Dv};var Lv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho) Tamb\xE9m observe que valores altos adicionar\xE3o um atraso ao \xE1udio para sincronizar as formas de onda com o \xE1udio."},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var Mv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var Rv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"},reminder:{title:"Note que voc\xEA precisa REINICIAR O NAVEGADOR ap\xF3s conectar um novo dispositivo MIDI para que ele apare\xE7a aqui.",description:"Tamb\xE9m note que o Safari n\xE3o suporta WebMIDI, ent\xE3o voc\xEA precisar\xE1 usar um navegador diferente se estiver no Mac."}};var Fv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:Lv,keyboardSettings:Mv,midiSettings:Rv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}},reminder:{title:"Voc\xEA sabia que pode passar o mouse sobre as configura\xE7\xF5es para obter mais informa\xE7\xF5es?",description:"Como esta!"}}};var Tv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var Nv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var Gv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var Uv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:Nv,effectsConfig:Gv};var Pv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var Ov={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var qv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:Ov,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:Tv,settings:Fv,synthesizerController:Uv,sequencerController:Pv};var fB="en",N$={en:ev,pl:gv,ja:Bv,fr:xv,pt:qv};var g_=.2,u_={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,a,l,u,f,x,H,F,N){this.delay=N,this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=f,this.midiDeviceHandler=x,this.synthui=a,this.sequi=l,this.locale=F,this.musicMode=H,this.locales=N$,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 S0=document.createElement("div");S0.style.position="relative",S0.classList.add("seamless_button"),S0.classList.add("settings_button"),i.appendChild(S0);let w=document.createElement("div");w.classList.add("seamless_button"),this.locale.bindObjectProperty(w,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(w,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(w);let U=document.createElement("div");U.classList.add("seamless_button"),this.locale.bindObjectProperty(U,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(U,"title","locale.hideTopBar.description"),i.appendChild(U);let P=document.getElementsByClassName("show_top_button")[0];P.innerHTML=rw(20);let F0=document.createElement("span");this.locale.bindObjectProperty(F0,"innerText","locale.settings.toggleButton"),S0.appendChild(F0);let m1=document.createElement("div");m1.innerHTML=tw(24),m1.classList.add("gear"),S0.appendChild(m1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,S0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),w.onclick=this.toggleMusicPlayerMode.bind(this),U.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=Dw,Ew(this.mainDiv);for(let j1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(j1,"textContent",j1.getAttribute("translate-path"));for(let j1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let U1=j1.getAttribute("translate-path-title");if(this.locale.bindObjectProperty(j1,"textContent",U1+".title"),this.locale.bindObjectProperty(j1,"title",U1+".description"),j1.tagName==="LABEL"){let c2=j1.getAttribute("for");if(c2){let P2=document.getElementById(c2);P2&&this.locale.bindObjectProperty(P2,"title",U1+".description")}}}this.getHtmlControls(),document.addEventListener("keydown",j1=>{switch(j1.key.toLowerCase()){case q8.settingsShow:this.setVisibility(!this.visible);break;case q8.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(u,f,x,l,a)}):this.createHandlers(u,f,x,l,a),this.topPartVisible=!0;let l1=!1;window.addEventListener("resize",()=>{let j1=window.screen.height,U1=window.screen.width,c2=window.outerHeight,P2=window.outerWidth,L2;L2=U1===P2&&j1===c2,L2!==l1&&(l1=L2,L2?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 i=document.getElementsByClassName("top_part")[0],a=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),a.classList.remove("shown"),a.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let a=document.getElementsByClassName("show_top_button")[0];a.style.display="flex",setTimeout(()=>{a.classList.add("shown")},75),a.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(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"},g_*1e3)),this.visible=i}createHandlers(i,a,l,u,f){this._createRendererHandler(i),this._createMidiSettingsHandler(l,u,f),this._createKeyboardHandler(a,f,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),noteAfterTriggerTimeSlider:document.getElementById("note_after_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")}}}setTimeDelay(i){let a;i>=2048?a=u_[i]:a=0,this.delay.delayTime.value=a,this.renderer.timeOffset=a,this.synthui.synth.eventHandler.timeDelay=a}};v7.prototype._toggleDarkMode=Nw;v7.prototype._createInterfaceSettingsHandler=Mw;v7.prototype._changeLayout=Rw;v7.prototype._createRendererHandler=Gw;v7.prototype._createMidiSettingsHandler=Uw;v7.prototype._createMidiInputHandler=Pw;v7.prototype._createMidiOutputHandler=Ow;v7.prototype._createKeyboardHandler=bw;v7.prototype._loadSettings=_w;v7.prototype._serializeSettings=Lw;v7.prototype._saveSettings=xw;var Hv=.5,nC=class{constructor(i,a){this.mainDiv=i,this.mainDiv.innerHTML=`
@@ -289,24 +289,24 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let l of this.mainDiv.querySelectorAll("*[translate-path]"))a.bindObjectProperty(l,"textContent",l.getAttribute("translate-path"));for(let l of this.mainDiv.querySelectorAll("*[translate-path-title]"))a.bindObjectProperty(l,"textContent",l.getAttribute("translate-path-title")+".title"),a.bindObjectProperty(l,"title",l.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=a}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(i){document.getElementById("player_info_title").textContent=i}connectSequencer(i){this.seq=i,this.seq.addOnSongChangeEvent(a=>{let l=a.copyright,u=(P,F0,m1=!0)=>{let l1=document.getElementById(P),j1=F0.trim().split(` -`);if(j1.length>1){l1.parentElement.classList.remove("hidden"),l1.innerHTML="";for(let U1 of j1){let c2=document.createElement("span");c2.textContent=U1,l1.appendChild(c2),l1.appendChild(document.createElement("br"))}l1.removeChild(l1.lastChild);return}if(F0.length>0)if(l1.parentElement.classList.remove("hidden"),l1.innerHTML="",F0.length>30&&m1){l1.classList.add("marquee");let U1=document.createElement("span");U1.textContent=F0,l1.appendChild(U1)}else l1.textContent=F0;else l1.parentElement.classList.add("hidden")};u("player_info_detail",l),u("player_info_time",D$(this.seq.duration).time),u("player_info_file_name",a.fileName,!1);let f=(P,F0,m1,l1="")=>this.seq.midiData.RMIDInfo?.[P]===void 0?F0:l1+m1.decode(this.seq.midiData.RMIDInfo?.[P]).replace(/\0$/,""),x=f("IENC","ascii",new TextDecoder),V=new TextDecoder(x);u("player_info_album",f("IPRD","",V)),u("player_info_artist",f("IART","",V)),u("player_info_genre",f("IGNR","",V)),u("player_info_creation",f("ICRD","",V)+f("ICRT","",V,` -`)),u("player_info_comment",f("ICMT","",V));let T=this.mainDiv.getElementsByTagName("svg")[0],N=this.mainDiv.getElementsByTagName("img")[0],b0=document.getElementById("player_info_background_image");if(!a.isEmbedded){T.style.display="",N.style.display="none",b0.style.setProperty("--bg-image","undefined");return}if(a.RMIDInfo.IPIC===void 0){T.style.display="",N.style.display="none",b0.style.setProperty("--bg-image","undefined");return}T.style.display="none",N.style.display="";let w=new Blob([a.RMIDInfo.IPIC.buffer]),U=URL.createObjectURL(w);N.src=U,b0.style.setProperty("--bg-image",`url('${U}')`)},"player-js-song-change")}setVisibility(i,a){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let l=this.mainDiv;if(i){a.classList.add("out_animation"),this.savedCKWrapperHeight=a.clientHeight;let u=a.clientHeight,f=a.getBoundingClientRect().top;l.style.position="absolute",l.style.top=`${f}px`,l.style.height=`${u}px`,l.style.display="flex",setTimeout(()=>{l.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{a.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Hv*1e3)}else{let u=l.getBoundingClientRect().top;a.style.display="",a.style.position="absolute",a.style.top=`${u}px`,a.style.height=`${this.savedCKWrapperHeight}px`,l.classList.remove("player_info_show"),setTimeout(()=>{a.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{l.style.display="none",a.style.position="",a.style.top="",a.style.height="",document.body.style.overflow=""},Hv*1e3)}}};var sC=class{onLocaleChanged=[];constructor(i){this.locale=N$[i]||N$[fB],this.fallbackLocale=N$[fB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,a=[]){let l=this._resolveLocalePath(i);return a.length>0?this._formatLocale(l,a):l}_applyPropertyInternal(i){if(i.isEdited)return;let a=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(a=this._formatLocale(a,i.formattingArguments)),i.object[i.propertyName]=a}_validatePropertyIntegrity(i){let a=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(a=this._formatLocale(a,i.formattingArguments)),i.object[i.propertyName]!==a&&(i.isEdited=!0)}_formatLocale(i,a){return i.replace(/{(\d+)}/g,(l,u)=>typeof a[u]<"u"?a[u]:l)}bindObjectProperty(i,a,l,u=[]){let f={object:i,propertyName:a,localePath:l,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(f),this._boundObjectProperties.push(f)}_resolveLocalePath(i,a=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let l=i.split("."),u=a?this.fallbackLocale:this.locale;for(let f=1;f{this._validatePropertyIntegrity(u)}),this.locale=l,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function IB(n,i=!0,a=0,l={},u=void 0){let f=n.getChannelData(a),x=n.getChannelData(a+1),V=f.length,T=2,N=new J5(0),b0=Object.keys(l).length>0;if(b0){let a0=new TextEncoder,g5=[F$("INFO"),v6("ICMT",a0.encode("Created with SpessaSynth"),!0)];l.artist&&g5.push(v6("IART",a0.encode(l.artist),!0)),l.album&&g5.push(v6("IPRD",a0.encode(l.album),!0)),l.genre&&g5.push(v6("IGNR",a0.encode(l.genre),!0)),l.title&&g5.push(v6("INAM",a0.encode(l.title),!0)),N=v6("LIST",St(g5))}let w=new J5(0),U=u?.end!==void 0&&u?.start!==void 0;if(U){let a0=Math.floor(u.start*n.sampleRate),g5=Math.floor(u.end*n.sampleRate),p3=new J5(24);Ii(p3,0,4),Ii(p3,0,4),O8(p3,"data"),Ii(p3,0,4),Ii(p3,0,4),Ii(p3,a0,4);let k3=new J5(24);Ii(k3,1,4),Ii(k3,0,4),O8(k3,"data"),Ii(k3,0,4),Ii(k3,0,4),Ii(k3,g5,4);let u6=St([new J5([2,0,0,0]),p3,k3]);w=v6("cue ",u6)}let P=44,F0=V*2*T,m1=P+F0+N.length+w.length-8,l1=new Uint8Array(P);l1.set([82,73,70,70],0),l1.set(new Uint8Array([m1&255,m1>>8&255,m1>>16&255,m1>>24&255]),4),l1.set([87,65,86,69],8),l1.set([102,109,116,32],12),l1.set([16,0,0,0],16),l1.set([1,0],20),l1.set([2,0],22);let j1=n.sampleRate;l1.set(new Uint8Array([j1&255,j1>>8&255,j1>>16&255,j1>>24&255]),24);let U1=j1*2*T;l1.set(new Uint8Array([U1&255,U1>>8&255,U1>>16&255,U1>>24&255]),28),l1.set([4,0],32),l1.set([16,0],34),l1.set([100,97,116,97],36),l1.set(new Uint8Array([F0&255,F0>>8&255,F0>>16&255,F0>>24&255]),40);let c2=new Uint8Array(m1+8),P2=P;c2.set(l1,0);let L2=32767;if(i){let a0=f.map((g5,p3)=>Math.max(Math.abs(g5),Math.abs(x[p3]))).reduce((g5,p3)=>Math.max(g5,p3));L2=a0>0?32767/a0:1}for(let a0=0;a0>8&255,c2[P2++]=p3&255,c2[P2++]=p3>>8&255}return b0&&(c2.set(N,P2),P2+=N.length),U&&c2.set(w,P2),new Blob([c2.buffer],{type:"audio/wav"})}var Vv=1e3;async function Yv(n=!0,i=44100,a=2,l=!1,u={},f=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let x=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),V=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),T=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),N=M9(x,[{type:"text",textContent:T},{type:"progress"}],9999999,!1),b0=await this.seq.getMIDI(),w=Qu(b0.loop.start,b0),U=Qu(b0.loop.end,b0),P=U-w,F0=b0.duration+a+P*f,m1=i*F0,l1;try{l1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:i,length:m1}),await l1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(E3){M9("ERROR",[{type:"text",textContent:E3}]);return}let j1=await this.synth.getSynthesizerSnapshot(),U1=this.soundFont,c2,L2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await l1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};j1.effectsConfig=L2;try{c2=new Bu(l1.destination,U1,!1,{parsedMIDI:b0,snapshot:j1,oneOutput:l,loopCount:f},L2)}catch(E3){throw M9(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),E3}let a0=N.div.getElementsByTagName("p")[0],g5=N.div.getElementsByClassName("notification_progress")[0],p3=Vv/1e3,k3=c2.currentTime,u6=F0,S3=.1,ge=setInterval(()=>{let E3=c2.currentTime-k3;k3=c2.currentTime;let p6=c2.currentTime/F0;g5.style.width=`${p6*100}%`;let w4=E3/p3,tr=(1-p6)/w4*F0;tr!==1/0&&(u6=S3*tr+(1-S3)*u6,a0.innerText=`${V} ${D$(u6).time}`)},Vv),Ne=await l1.startRendering();if(g5.style.width="100%",clearInterval(ge),a0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(E3=>setTimeout(E3,75)),l){let E3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",p6=[],w4=new Set;for(let H8 of b0.usedChannelsOnTrack)H8.forEach(Xa=>w4.add(Xa));for(let H8=0;H8<16;H8++){let Xa=!0;for(let Br=H8;Br{let O$=eA.textContent;eA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(G9=>setTimeout(G9,75));let EC=IB(Ne,!1,H8*2),CC=`${H8+1} - ${j1.channelSnapshots[H8].patchName}.wav`;this.saveBlob(EC,CC),eA.classList.add("green_button"),eA.textContent=O$}})}let tr=M9(this.localeManager.getLocaleString(E3+"title"),p6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});tr.div.style.width="30rem"}else{let E3=Qu(b0.firstNoteOn,b0),p6=w-E3,w4=U-E3,tr={start:p6,end:w4};m5(`%cWriting loop points: start %c${p6}%c, end:%c${w4}`,I1.info,I1.recognized,I1.info,I1.recognized);let H8=IB(Ne,n,0,u,tr);this.saveBlob(H8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}l9(N.id),this.isExporting=!1}async function zv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",a=(N,b0,w)=>this.seq.midiData.RMIDInfo?.[N]===void 0?b0:w.decode(this.seq.midiData.RMIDInfo?.[N]).replace(/\0$/,""),l=a("IENC","ascii",new TextDecoder),u=new TextDecoder(l),f=a("IPRD","",u),x=a("IART","",u),V=a("IGNR","",u),T=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:f,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:x,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:V,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:N=>{l9(N.id);let b0=N.div.querySelector("input[normalize-volume-toggle]").checked,w=N.div.querySelector("input[additional-time]").value,U=N.div.querySelector("input[sample-rate]").value,P=N.div.querySelector("input[loop-count]").value,F0=N.div.querySelector("input[separate-channels-toggle]").checked,m1=N.div.querySelector("input[name='artist']").value,l1=N.div.querySelector("input[name='album']").value,j1=N.div.querySelector("input[name='song_title']").value,U1=N.div.querySelector("input[name='genre']").value,c2={artist:m1.length>0?m1:void 0,album:l1.length>0?l1:void 0,title:j1.length>0?j1:void 0,genre:U1.length>0?U1:void 0};this._doExportAudioData(b0,parseInt(U),parseInt(w),F0,c2,parseInt(P))}}];M9(this.localeManager.getLocaleString(n+"title"),T,9999999,!0,this.localeManager)}async function Kv(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=qE(n),a=new Blob([i],{type:"audio/mid"});this.saveBlob(a,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Jv(n,i){Q8("%cSearching for all used programs and keys...",I1.info);let a=16+n.midiPortChannelOffsets.reduce((w,U)=>U>w?U:w),l=[];for(let w=0;w{x[F0]>=P.length||P[x[F0]].ticks0;){let w=T(),U=n.tracks[w];if(x[w]>=U.length){V--;continue}let P=U[x[w]];if(x[w]++,P.messageStatusByte===v3.midiPort){N[w]=P.messageData[0];continue}let F0=P.messageStatusByte&240;if(F0!==v3.noteOn&&F0!==v3.controllerChange&&F0!==v3.programChange&&F0!==v3.systemExclusive)continue;let m1=(P.messageStatusByte&15)+n.midiPortChannelOffsets[N[w]]||0,l1=l[m1];switch(F0){case v3.programChange:l1.program=P.messageData[0],u(l1);break;case v3.controllerChange:if(P.messageData[0]!==$3.bankSelect||b0==="gs"&&l1.drums)continue;let j1=P.messageData[1],U1=Math.max(0,j1-n.bankOffset);if(b0==="xg"){let L2=j1===120||j1===126||j1===127;L2!==l1.drums?(l1.drums=L2,l1.bank=l1.drums?128:U1,u(l1)):l1.bank=l1.drums?128:U1;continue}l[m1].bank=U1;break;case v3.noteOn:if(P.messageData[1]===0)continue;u(l1),f[l1.string].add(`${P.messageData[0]}-${P.messageData[1]}`);break;case v3.systemExclusive:if(P.messageData[0]!==65||P.messageData[2]!==66||P.messageData[3]!==18||P.messageData[4]!==64||!(P.messageData[5]&16)||P.messageData[6]!==21){P.messageData[0]===67&&P.messageData[2]===76&&P.messageData[5]===126&&P.messageData[6]===0&&(b0="xg");continue}let c2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][P.messageData[5]&15]+n.midiPortChannelOffsets[N[w]],P2=!!(P.messageData[7]>0&&P.messageData[5]>>4);l1=l[c2],l1.drums=P2,l1.bank=P2?128:0,u(l1);break}}for(let w of Object.keys(f))f[w].size===0&&(m5(`%cDetected change but no keys for %c${w}`,I1.info,I1.value),delete f[w]);return de(),f}function Su(n,i){function a(u,f){let x=0;for(let V=0;V=N.min&&U.key<=N.max&&U.velocity>=b0.min&&U.velocity<=b0.max){w=!0;break}w||(m5(`%c${T.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${T.useCount-1}`,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized),u.safeDeleteZone(V)&&(x++,V--,m5(`%c${T.sample.sampleName} %cdeleted`,I1.recognized,I1.info)),T.sample.useCount<1&&n.deleteSample(T.sample))}return x}F7("%cTrimming soundfont...",I1.info);let l=Jv(i,n);Q8("%cModifying soundfont...",I1.info),m5("Detected keys for midi:",l);for(let u=0;u{let w=b0.split("-");return{key:parseInt(w[0]),velocity:parseInt(w[1])}});Q8(`%cTrimming %c${f.presetName}`,I1.info,I1.recognized),m5(`Keys for ${f.presetName}:`,T);let N=0;for(let b0=0;b0=U.min&&m1.key<=U.max&&m1.velocity>=P.min&&m1.velocity<=P.max){F0=!0;let l1=a(w.instrument,T);m5(`%cTrimmed off %c${l1}%c zones from %c${w.instrument.instrumentName}`,I1.info,I1.recognized,I1.info,I1.recognized);break}F0||(N++,f.deleteZone(b0),w.instrument.useCount<1&&n.deleteInstrument(w.instrument),b0--)}m5(`%cTrimmed off %c${N}%c zones from %c${f.presetName}`,I1.info,I1.recognized,I1.info,I1.recognized),de()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" +`);if(j1.length>1){l1.parentElement.classList.remove("hidden"),l1.innerHTML="";for(let U1 of j1){let c2=document.createElement("span");c2.textContent=U1,l1.appendChild(c2),l1.appendChild(document.createElement("br"))}l1.removeChild(l1.lastChild);return}if(F0.length>0)if(l1.parentElement.classList.remove("hidden"),l1.innerHTML="",F0.length>30&&m1){l1.classList.add("marquee");let U1=document.createElement("span");U1.textContent=F0,l1.appendChild(U1)}else l1.textContent=F0;else l1.parentElement.classList.add("hidden")};u("player_info_detail",l),u("player_info_time",D$(this.seq.duration).time),u("player_info_file_name",a.fileName,!1);let f=(P,F0,m1,l1="")=>this.seq.midiData.RMIDInfo?.[P]===void 0?F0:l1+m1.decode(this.seq.midiData.RMIDInfo?.[P]).replace(/\0$/,""),x=f("IENC","ascii",new TextDecoder),H=new TextDecoder(x);u("player_info_album",f("IPRD","",H)),u("player_info_artist",f("IART","",H)),u("player_info_genre",f("IGNR","",H)),u("player_info_creation",f("ICRD","",H)+f("ICRT","",H,` +`)),u("player_info_comment",f("ICMT","",H));let F=this.mainDiv.getElementsByTagName("svg")[0],N=this.mainDiv.getElementsByTagName("img")[0],S0=document.getElementById("player_info_background_image");if(!a.isEmbedded){F.style.display="",N.style.display="none",S0.style.setProperty("--bg-image","undefined");return}if(a.RMIDInfo.IPIC===void 0){F.style.display="",N.style.display="none",S0.style.setProperty("--bg-image","undefined");return}F.style.display="none",N.style.display="";let w=new Blob([a.RMIDInfo.IPIC.buffer]),U=URL.createObjectURL(w);N.src=U,S0.style.setProperty("--bg-image",`url('${U}')`)},"player-js-song-change")}setVisibility(i,a){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let l=this.mainDiv;if(i){a.classList.add("out_animation"),this.savedCKWrapperHeight=a.clientHeight;let u=a.clientHeight,f=a.getBoundingClientRect().top;l.style.position="absolute",l.style.top=`${f}px`,l.style.height=`${u}px`,l.style.display="flex",setTimeout(()=>{l.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{a.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Hv*1e3)}else{let u=l.getBoundingClientRect().top;a.style.display="",a.style.position="absolute",a.style.top=`${u}px`,a.style.height=`${this.savedCKWrapperHeight}px`,l.classList.remove("player_info_show"),setTimeout(()=>{a.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{l.style.display="none",a.style.position="",a.style.top="",a.style.height="",document.body.style.overflow=""},Hv*1e3)}}};var sC=class{onLocaleChanged=[];constructor(i){this.locale=N$[i]||N$[fB],this.fallbackLocale=N$[fB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,a=[]){let l=this._resolveLocalePath(i);return a.length>0?this._formatLocale(l,a):l}_applyPropertyInternal(i){if(i.isEdited)return;let a=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(a=this._formatLocale(a,i.formattingArguments)),i.object[i.propertyName]=a}_validatePropertyIntegrity(i){let a=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(a=this._formatLocale(a,i.formattingArguments)),i.object[i.propertyName]!==a&&(i.isEdited=!0)}_formatLocale(i,a){return i.replace(/{(\d+)}/g,(l,u)=>typeof a[u]<"u"?a[u]:l)}bindObjectProperty(i,a,l,u=[]){let f={object:i,propertyName:a,localePath:l,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(f),this._boundObjectProperties.push(f)}_resolveLocalePath(i,a=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let l=i.split("."),u=a?this.fallbackLocale:this.locale;for(let f=1;f{this._validatePropertyIntegrity(u)}),this.locale=l,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function IB(n,i=!0,a=0,l={},u=void 0){let f=n.getChannelData(a),x=n.getChannelData(a+1),H=f.length,F=2,N=new J5(0),S0=Object.keys(l).length>0;if(S0){let a0=new TextEncoder,g5=[F$("INFO"),v6("ICMT",a0.encode("Created with SpessaSynth"),!0)];l.artist&&g5.push(v6("IART",a0.encode(l.artist),!0)),l.album&&g5.push(v6("IPRD",a0.encode(l.album),!0)),l.genre&&g5.push(v6("IGNR",a0.encode(l.genre),!0)),l.title&&g5.push(v6("INAM",a0.encode(l.title),!0)),N=v6("LIST",St(g5))}let w=new J5(0),U=u?.end!==void 0&&u?.start!==void 0;if(U){let a0=Math.floor(u.start*n.sampleRate),g5=Math.floor(u.end*n.sampleRate),p3=new J5(24);Ii(p3,0,4),Ii(p3,0,4),O8(p3,"data"),Ii(p3,0,4),Ii(p3,0,4),Ii(p3,a0,4);let k3=new J5(24);Ii(k3,1,4),Ii(k3,0,4),O8(k3,"data"),Ii(k3,0,4),Ii(k3,0,4),Ii(k3,g5,4);let u6=St([new J5([2,0,0,0]),p3,k3]);w=v6("cue ",u6)}let P=44,F0=H*2*F,m1=P+F0+N.length+w.length-8,l1=new Uint8Array(P);l1.set([82,73,70,70],0),l1.set(new Uint8Array([m1&255,m1>>8&255,m1>>16&255,m1>>24&255]),4),l1.set([87,65,86,69],8),l1.set([102,109,116,32],12),l1.set([16,0,0,0],16),l1.set([1,0],20),l1.set([2,0],22);let j1=n.sampleRate;l1.set(new Uint8Array([j1&255,j1>>8&255,j1>>16&255,j1>>24&255]),24);let U1=j1*2*F;l1.set(new Uint8Array([U1&255,U1>>8&255,U1>>16&255,U1>>24&255]),28),l1.set([4,0],32),l1.set([16,0],34),l1.set([100,97,116,97],36),l1.set(new Uint8Array([F0&255,F0>>8&255,F0>>16&255,F0>>24&255]),40);let c2=new Uint8Array(m1+8),P2=P;c2.set(l1,0);let L2=32767;if(i){let a0=f.map((g5,p3)=>Math.max(Math.abs(g5),Math.abs(x[p3]))).reduce((g5,p3)=>Math.max(g5,p3));L2=a0>0?32767/a0:1}for(let a0=0;a0>8&255,c2[P2++]=p3&255,c2[P2++]=p3>>8&255}return S0&&(c2.set(N,P2),P2+=N.length),U&&c2.set(w,P2),new Blob([c2.buffer],{type:"audio/wav"})}var Vv=1e3;async function Yv(n=!0,i=44100,a=2,l=!1,u={},f=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let x=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),H=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),F=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),N=M9(x,[{type:"text",textContent:F},{type:"progress"}],9999999,!1),S0=await this.seq.getMIDI(),w=Qu(S0.loop.start,S0),U=Qu(S0.loop.end,S0),P=U-w,F0=S0.duration+a+P*f,m1=i*F0,l1;try{l1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:i,length:m1}),await l1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(E3){M9("ERROR",[{type:"text",textContent:E3}]);return}let j1=await this.synth.getSynthesizerSnapshot(),U1=this.soundFont,c2,L2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await l1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};j1.effectsConfig=L2;try{c2=new Bu(l1.destination,U1,!1,{parsedMIDI:S0,snapshot:j1,oneOutput:l,loopCount:f},L2)}catch(E3){throw M9(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),E3}let a0=N.div.getElementsByTagName("p")[0],g5=N.div.getElementsByClassName("notification_progress")[0],p3=Vv/1e3,k3=c2.currentTime,u6=F0,S3=.1,ge=setInterval(()=>{let E3=c2.currentTime-k3;k3=c2.currentTime;let p6=c2.currentTime/F0;g5.style.width=`${p6*100}%`;let w4=E3/p3,tr=(1-p6)/w4*F0;tr!==1/0&&(u6=S3*tr+(1-S3)*u6,a0.innerText=`${H} ${D$(u6).time}`)},Vv),Ne=await l1.startRendering();if(g5.style.width="100%",clearInterval(ge),a0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(E3=>setTimeout(E3,75)),l){let E3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",p6=[],w4=new Set;for(let H8 of S0.usedChannelsOnTrack)H8.forEach(Xa=>w4.add(Xa));for(let H8=0;H8<16;H8++){let Xa=!0;for(let Br=H8;Br{let O$=eA.textContent;eA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(G9=>setTimeout(G9,75));let EC=IB(Ne,!1,H8*2),CC=`${H8+1} - ${j1.channelSnapshots[H8].patchName}.wav`;this.saveBlob(EC,CC),eA.classList.add("green_button"),eA.textContent=O$}})}let tr=M9(this.localeManager.getLocaleString(E3+"title"),p6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});tr.div.style.width="30rem"}else{let E3=Qu(S0.firstNoteOn,S0),p6=w-E3,w4=U-E3,tr={start:p6,end:w4};m5(`%cWriting loop points: start %c${p6}%c, end:%c${w4}`,I1.info,I1.recognized,I1.info,I1.recognized);let H8=IB(Ne,n,0,u,tr);this.saveBlob(H8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}l9(N.id),this.isExporting=!1}async function zv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",a=(N,S0,w)=>this.seq.midiData.RMIDInfo?.[N]===void 0?S0:w.decode(this.seq.midiData.RMIDInfo?.[N]).replace(/\0$/,""),l=a("IENC","ascii",new TextDecoder),u=new TextDecoder(l),f=a("IPRD","",u),x=a("IART","",u),H=a("IGNR","",u),F=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:f,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:x,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:H,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:N=>{l9(N.id);let S0=N.div.querySelector("input[normalize-volume-toggle]").checked,w=N.div.querySelector("input[additional-time]").value,U=N.div.querySelector("input[sample-rate]").value,P=N.div.querySelector("input[loop-count]").value,F0=N.div.querySelector("input[separate-channels-toggle]").checked,m1=N.div.querySelector("input[name='artist']").value,l1=N.div.querySelector("input[name='album']").value,j1=N.div.querySelector("input[name='song_title']").value,U1=N.div.querySelector("input[name='genre']").value,c2={artist:m1.length>0?m1:void 0,album:l1.length>0?l1:void 0,title:j1.length>0?j1:void 0,genre:U1.length>0?U1:void 0};this._doExportAudioData(S0,parseInt(U),parseInt(w),F0,c2,parseInt(P))}}];M9(this.localeManager.getLocaleString(n+"title"),F,9999999,!0,this.localeManager)}async function Kv(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=qE(n),a=new Blob([i],{type:"audio/mid"});this.saveBlob(a,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Jv(n,i){Q8("%cSearching for all used programs and keys...",I1.info);let a=16+n.midiPortChannelOffsets.reduce((w,U)=>U>w?U:w),l=[];for(let w=0;w{x[F0]>=P.length||P[x[F0]].ticks0;){let w=F(),U=n.tracks[w];if(x[w]>=U.length){H--;continue}let P=U[x[w]];if(x[w]++,P.messageStatusByte===v3.midiPort){N[w]=P.messageData[0];continue}let F0=P.messageStatusByte&240;if(F0!==v3.noteOn&&F0!==v3.controllerChange&&F0!==v3.programChange&&F0!==v3.systemExclusive)continue;let m1=(P.messageStatusByte&15)+n.midiPortChannelOffsets[N[w]]||0,l1=l[m1];switch(F0){case v3.programChange:l1.program=P.messageData[0],u(l1);break;case v3.controllerChange:if(P.messageData[0]!==$3.bankSelect||S0==="gs"&&l1.drums)continue;let j1=P.messageData[1],U1=Math.max(0,j1-n.bankOffset);if(S0==="xg"){let L2=j1===120||j1===126||j1===127;L2!==l1.drums?(l1.drums=L2,l1.bank=l1.drums?128:U1,u(l1)):l1.bank=l1.drums?128:U1;continue}l[m1].bank=U1;break;case v3.noteOn:if(P.messageData[1]===0)continue;u(l1),f[l1.string].add(`${P.messageData[0]}-${P.messageData[1]}`);break;case v3.systemExclusive:if(P.messageData[0]!==65||P.messageData[2]!==66||P.messageData[3]!==18||P.messageData[4]!==64||!(P.messageData[5]&16)||P.messageData[6]!==21){P.messageData[0]===67&&P.messageData[2]===76&&P.messageData[5]===126&&P.messageData[6]===0&&(S0="xg");continue}let c2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][P.messageData[5]&15]+n.midiPortChannelOffsets[N[w]],P2=!!(P.messageData[7]>0&&P.messageData[5]>>4);l1=l[c2],l1.drums=P2,l1.bank=P2?128:0,u(l1);break}}for(let w of Object.keys(f))f[w].size===0&&(m5(`%cDetected change but no keys for %c${w}`,I1.info,I1.value),delete f[w]);return de(),f}function Su(n,i){function a(u,f){let x=0;for(let H=0;H=N.min&&U.key<=N.max&&U.velocity>=S0.min&&U.velocity<=S0.max){w=!0;break}w||(m5(`%c${F.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${F.useCount-1}`,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized),u.safeDeleteZone(H)&&(x++,H--,m5(`%c${F.sample.sampleName} %cdeleted`,I1.recognized,I1.info)),F.sample.useCount<1&&n.deleteSample(F.sample))}return x}F7("%cTrimming soundfont...",I1.info);let l=Jv(i,n);Q8("%cModifying soundfont...",I1.info),m5("Detected keys for midi:",l);for(let u=0;u{let w=S0.split("-");return{key:parseInt(w[0]),velocity:parseInt(w[1])}});Q8(`%cTrimming %c${f.presetName}`,I1.info,I1.recognized),m5(`Keys for ${f.presetName}:`,F);let N=0;for(let S0=0;S0=U.min&&m1.key<=U.max&&m1.velocity>=P.min&&m1.velocity<=P.max){F0=!0;let l1=a(w.instrument,F);m5(`%cTrimmed off %c${l1}%c zones from %c${w.instrument.instrumentName}`,I1.info,I1.recognized,I1.info,I1.recognized);break}F0||(N++,f.deleteZone(S0),w.instrument.useCount<1&&n.deleteInstrument(w.instrument),S0--)}m5(`%cTrimmed off %c${N}%c zones from %c${f.presetName}`,I1.info,I1.recognized,I1.info,I1.recognized),de()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" -`+n.soundFontInfo.ICMT,m5("%cSoundfont modified!",I1.recognized),de(),de()}function Wv(){let n=4;for(let l of this.instruments)n+=l.instrumentZones.reduce((u,f)=>(f.generators=f.generators.filter(x=>x.generatorType!==u0.sampleID&&x.generatorType!==u0.keyRange&&x.generatorType!==u0.velRange),(f.velRange.max!==127||f.velRange.min!==0)&&f.generators.unshift({generatorType:u0.velRange,generatorValue:f.velRange.max<<8|Math.max(f.velRange.min,0)}),(f.keyRange.max!==127||f.keyRange.min!==0)&&f.generators.unshift({generatorType:u0.keyRange,generatorValue:f.keyRange.max<<8|Math.max(f.keyRange.min,0)}),f.isGlobal||f.generators.push({generatorType:u0.sampleID,generatorValue:this.samples.indexOf(f.sample)}),f.generators.length*4+u),0);let i=new J5(n),a=0;for(let l of this.instruments)for(let u of l.instrumentZones){u.generatorZoneStartIndex=a;for(let f of u.generators)X3(i,f.generatorType),X3(i,f.generatorValue),a++}return pe(i,0),it(new Q4("igen",i.length,i))}function Zv(n,i,a,l,u){let f=this.samples.map((N,b0)=>{a&&N.compressSample(l,u);let w=N.getRawData();return m5(`%cEncoded sample %c${b0}. ${N.sampleName}%c of %c${this.samples.length}%c. Compressed: %c${N.isCompressed}%c.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,N.isCompressed?I1.recognized:I1.unrecognized,I1.info),w}),x=this.samples.reduce((N,b0,w)=>N+f[w].length+46,0),V=new J5(x);this.samples.forEach((N,b0)=>{let w=f[b0],U,P,F0=w.length;N.isCompressed?(U=V.currentIndex,P=U+w.length):(U=V.currentIndex/2,P=U+w.length/2,F0+=46),n.push(U),V.set(w,V.currentIndex),V.currentIndex+=F0,i.push(P)});let T=it(new Q4("smpl",V.length,V),new J5([115,100,116,97]));return it(new Q4("LIST",T.length,T))}function jv(n,i){let l=new J5(46*(this.samples.length+1));return this.samples.forEach((u,f)=>{O8(l,u.sampleName,20);let x=n[f];pe(l,x);let V=i[f];pe(l,V);let T=u.sampleLoopStartIndex+x,N=u.sampleLoopEndIndex+x;u.isCompressed&&(T-=x,N-=x),pe(l,T),pe(l,N),pe(l,u.sampleRate),l[l.currentIndex++]=u.samplePitch,l[l.currentIndex++]=u.samplePitchCorrection,X3(l,u.sampleLink),X3(l,u.sampleType)}),O8(l,"EOS",46),it(new Q4("shdr",l.length,l))}function Xv(){let n=10;for(let l of this.instruments)n+=l.instrumentZones.reduce((u,f)=>f.modulators.length*10+u,0);let i=new J5(n),a=0;for(let l of this.instruments)for(let u of l.instrumentZones){u.modulatorZoneStartIndex=a;for(let f of u.modulators)X3(i,f.sourceEnum),X3(i,f.modulatorDestination),X3(i,f.transformAmount),X3(i,f.secondarySourceEnum),X3(i,f.transformType),a++}return Ii(i,0,10),it(new Q4("imod",i.length,i))}function ek(){let n=this.instruments.reduce((f,x)=>x.instrumentZones.length*4+f,4),i=new J5(n),a=0,l=0,u=0;for(let f of this.instruments){f.instrumentZoneIndex=a;for(let x of f.instrumentZones)x.zoneID=a,X3(i,l),X3(i,u),l+=x.generators.length,u+=x.modulators.length,a++}return X3(i,l),X3(i,u),it(new Q4("ibag",i.length,i))}function tk(){let n=this.instruments.length*22+22,i=new J5(n),a=0,l=0;for(let u of this.instruments)O8(i,u.instrumentName,20),X3(i,a),a+=u.instrumentZones.length,u.instrumentID=l,l++;return O8(i,"EOI",20),X3(i,a),it(new Q4("inst",i.length,i))}function ik(){let n=4;for(let l of this.presets)n+=l.presetZones.reduce((u,f)=>(f.generators=f.generators.filter(x=>x.generatorType!==u0.instrument&&x.generatorType!==u0.keyRange&&x.generatorType!==u0.velRange),(f.velRange.max!==127||f.velRange.min!==0)&&f.generators.unshift({generatorType:u0.velRange,generatorValue:f.velRange.max<<8|Math.max(f.velRange.min,0)}),(f.keyRange.max!==127||f.keyRange.min!==0)&&f.generators.unshift({generatorType:u0.keyRange,generatorValue:f.keyRange.max<<8|Math.max(f.keyRange.min,0)}),f.isGlobal||f.generators.push({generatorType:u0.instrument,generatorValue:this.instruments.indexOf(f.instrument)}),f.generators.length*4+u),0);let i=new J5(n),a=0;for(let l of this.presets)for(let u of l.presetZones){u.generatorZoneStartIndex=a;for(let f of u.generators)X3(i,f.generatorType),X3(i,f.generatorValue);a+=u.generators.length}return X3(i,0),X3(i,0),it(new Q4("pgen",i.length,i))}function rk(){let n=10;for(let l of this.presets)n+=l.presetZones.reduce((u,f)=>f.modulators.length*10+u,0);let i=new J5(n),a=0;for(let l of this.presets)for(let u of l.presetZones){u.modulatorZoneStartIndex=a;for(let f of u.modulators)X3(i,f.sourceEnum),X3(i,f.modulatorDestination),X3(i,f.transformAmount),X3(i,f.secondarySourceEnum),X3(i,f.transformType),a++}return Ii(i,0,10),it(new Q4("pmod",i.length,i))}function nk(){let n=this.presets.reduce((f,x)=>x.presetZones.length*4+f,4),i=new J5(n),a=0,l=0,u=0;for(let f of this.presets){f.presetZoneStartIndex=a;for(let x of f.presetZones)x.zoneID=a,X3(i,l),X3(i,u),l+=x.generators.length,u+=x.modulators.length,a++}return X3(i,l),X3(i,u),it(new Q4("pbag",i.length,i))}function sk(){let n=this.presets.length*38+38,i=new J5(n),a=0;for(let l of this.presets)O8(i,l.presetName,20),X3(i,l.program),X3(i,l.bank),X3(i,a),pe(i,l.library),pe(i,l.genre),pe(i,l.morphology),a+=l.presetZones.length;return O8(i,"EOP",20),X3(i,0),X3(i,0),X3(i,a),pe(i,0),pe(i,0),pe(i,0),it(new Q4("phdr",i.length,i))}var d_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function ok(n=d_){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");Q8("%cSaving soundfont...",I1.info),m5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,I1.info,I1.recognized,I1.info,I1.recognized),m5("%cWriting INFO...",I1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[P2,L2]of Object.entries(this.soundFontInfo))if(P2==="ifil"||P2==="iver"){let a0=parseInt(L2.split(".")[0]),g5=parseInt(L2.split(".")[1]),p3=new J5(4);X3(p3,a0),X3(p3,g5),i.push(it(new Q4(P2,4,p3)))}else if(P2==="DMOD")i.push(it(new Q4(P2,L2.length,L2)));else{let a0=new J5(L2.length);O8(a0,L2),i.push(it(new Q4(P2,L2.length,a0)))}let a=St([new J5([73,78,70,79]),...i]),l=it(new Q4("LIST",a.length,a));m5("%cWriting SDTA...",I1.info);let u=[],f=[],x=Zv.call(this,u,f,n?.compress,n?.compressionQuality??.5,n.compressionFunction);m5("%cWriting PDTA...",I1.info),m5("%cWriting SHDR...",I1.info);let V=jv.call(this,u,f);m5("%cWriting IGEN...",I1.info);let T=Wv.call(this);m5("%cWriting IMOD...",I1.info);let N=Xv.call(this);m5("%cWriting IBAG...",I1.info);let b0=ek.call(this);m5("%cWriting INST...",I1.info);let w=tk.call(this),U=ik.call(this);m5("%cWriting PMOD...",I1.info);let P=rk.call(this);m5("%cWriting PBAG...",I1.info);let F0=nk.call(this);m5("%cWriting PHDR...",I1.info);let m1=sk.call(this),l1=St([new J5([112,100,116,97]),m1,F0,P,U,w,b0,N,T,V]),j1=it(new Q4("LIST",l1.length,l1));m5("%cWriting the output file...",I1.info);let U1=St([new J5([115,102,98,107]),l,x,j1]),c2=it(new Q4("RIFF",U1.length,U1));return m5(`%cSaved succesfully! Final file size: %c${c2.length}`,I1.info,I1.recognized),de(),c2}var Hp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,a){return this.generators.find(l=>l.generatorType===i)?.generatorValue??a}};var k7=class extends Hp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ya=class extends Hp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var h_=new Set([u0.velRange,u0.keyRange,u0.instrument,u0.exclusiveClass,u0.endOper,u0.sampleModes,u0.startloopAddrsOffset,u0.startloopAddrsCoarseOffset,u0.endloopAddrsOffset,u0.endloopAddrsCoarseOffset,u0.startAddrsOffset,u0.startAddrsCoarseOffset,u0.endAddrOffset,u0.endAddrsCoarseOffset,u0.initialAttenuation,u0.fineTune,u0.coarseTune,u0.keyNumToVolEnvHold,u0.keyNumToVolEnvDecay,u0.keyNumToModEnvHold,u0.keyNumToModEnvDecay]);function ak(n,i=!0){function a(w,U){w.push(...U.filter(P=>!w.find(F0=>F0.generatorType===P.generatorType)))}function l(w,U){return{min:Math.max(w.min,U.min),max:Math.min(w.max,U.max)}}function u(w,U){w.push(...U.filter(P=>!w.find(F0=>ce.isIdentical(P,F0))))}let f=[],x=[],V=[],T={min:0,max:127},N={min:0,max:127},b0=n.presetZones.find(w=>w.isGlobal);b0&&(x.push(...b0.generators),V.push(...b0.modulators),T=b0.keyRange,N=b0.velRange);for(let w of n.presetZones){if(w.isGlobal)continue;let U=w.keyRange;w.hasKeyRange||(U=T);let P=w.velRange;w.hasVelRange||(P=N);let F0=w.generators.map(a0=>new q3(a0.generatorType,a0.generatorValue));a(F0,x);let m1=[...w.modulators];u(m1,V);let l1=w.instrument.instrumentZones,j1=[],U1=[],c2={min:0,max:127},P2={min:0,max:127},L2=l1.find(a0=>a0.isGlobal);L2&&(j1.push(...L2.generators),U1.push(...L2.modulators),c2=L2.keyRange,P2=L2.velRange);for(let a0 of l1){if(a0.isGlobal)continue;let g5=a0.keyRange;a0.hasKeyRange||(g5=c2);let p3=a0.velRange;if(a0.hasVelRange||(p3=P2),g5=l(g5,U),p3=l(p3,P),g5.maxnew q3(E3.generatorType,E3.generatorValue));a(k3,j1);let u6=[...a0.modulators];u(u6,U1);let S3=[...u6];for(let E3 of m1){let p6=S3.findIndex(w4=>ce.isIdentical(E3,w4));p6!==-1?S3[p6]=S3[p6].sumTransform(E3):S3.push(E3)}let ge=k3.map(E3=>new q3(E3.generatorType,E3.generatorValue));for(let E3 of F0){if(E3.generatorType===u0.velRange||E3.generatorType===u0.keyRange||E3.generatorType===u0.instrument||E3.generatorType===u0.endOper||E3.generatorType===u0.sampleModes)continue;let p6=k3.findIndex(w4=>w4.generatorType===E3.generatorType);if(p6!==-1){let w4=ge[p6].generatorValue+E3.generatorValue;ge[p6]=new q3(E3.generatorType,w4)}else{let w4=W6[E3.generatorType].def+E3.generatorValue;ge.push(new q3(E3.generatorType,w4))}}ge=ge.filter(E3=>E3.generatorType!==u0.sampleID&&E3.generatorType!==u0.keyRange&&E3.generatorType!==u0.velRange&&E3.generatorType!==u0.endOper&&E3.generatorType!==u0.instrument&&E3.generatorValue!==W6[E3.generatorType].def);let Ne=new k7;Ne.keyRange=g5,Ne.velRange=p3,Ne.keyRange.min===0&&Ne.keyRange.max===127&&(Ne.keyRange.min=-1),Ne.velRange.min===0&&Ne.velRange.max===127&&(Ne.velRange.min=-1),Ne.isGlobal=!1,Ne.sample=a0.sample,Ne.generators=ge,Ne.modulators=S3,f.push(Ne)}}if(i){let w=new k7;w.isGlobal=!0;for(let F0=0;F0<58;F0++){if(h_.has(F0))continue;let m1={},l1=W6[F0]?.def||0;m1[l1]=0;for(let j1 of f){let U1=j1.generators.find(L2=>L2.generatorType===F0);if(U1){let L2=U1.generatorValue;m1[L2]===void 0?m1[L2]=1:m1[L2]++}else m1[l1]++;let c2;switch(F0){default:continue;case u0.decayVolEnv:c2=u0.keyNumToVolEnvDecay;break;case u0.holdVolEnv:c2=u0.keyNumToVolEnvHold;break;case u0.decayModEnv:c2=u0.keyNumToModEnvDecay;break;case u0.holdModEnv:c2=u0.keyNumToModEnvHold}if(j1.generators.find(L2=>L2.generatorType===c2)!==void 0){m1={};break}}if(Object.keys(m1).length>0){let j1=Object.entries(m1).reduce((c2,P2)=>c2[1]{let P2=c2.generators.findIndex(L2=>L2.generatorType===F0);P2!==-1?c2.generators[P2].generatorValue===U1&&c2.generators.splice(P2,1):U1!==l1&&c2.generators.push(new q3(F0,l1))})}}let P=f.find(F0=>!F0.isGlobal).modulators.map(F0=>ce.copy(F0));for(let F0 of P){let m1=!0;for(let l1 of f){if(l1.isGlobal||!m1)continue;l1.modulators.find(U1=>ce.isIdentical(U1,F0))||(m1=!1)}if(m1===!0){w.modulators.push(ce.copy(F0));for(let l1 of f){let j1=l1.modulators.find(U1=>ce.isIdentical(U1,F0));j1.transformAmount===F0.transformAmount&&l1.modulators.splice(l1.modulators.indexOf(j1),1)}}}f.splice(0,0,w)}return f}var Ak=20;function oC(n,i,a,l,u,f,x){let V=x===0?0:1,T=new J5(Ak+V*16);pe(T,Ak),X3(T,i),X3(T,a);let N=l*.4,b0=Math.floor(N*-65536);pe(T,b0),pe(T,2);let w=f-u,U=0;switch(x){default:case 0:V=0;break;case 1:U=0,V=1;break;case 3:U=1,V=1}return pe(T,V),V===1&&(pe(T,16),pe(T,U),pe(T,u),pe(T,w)),v6("wsmp",T)}var m6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},aC=new ce({srcEnum:219,dest:u0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),AC=new ce({srcEnum:221,dest:u0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),$C=new ce({srcEnum:129,dest:u0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),lC=new ce({srcEnum:13,dest:u0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var S5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Vp=class{source;control;destination;scale;transform;constructor(i,a,l,u,f){this.source=i,this.control=a,this.destination=l,this.scale=u,this.transform=f}writeArticulator(){let i=new J5(12);return X3(i,this.source),X3(i,this.control),X3(i,this.destination),X3(i,this.transform),pe(i,this.scale<<16),i}};function $k(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return m6.modulationWheel;case $3.mainVolume:return m6.volume;case $3.pan:return m6.pan;case $3.expressionController:return m6.expression;case $3.chorusDepth:return m6.chorus;case $3.reverbDepth:return m6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return m6.keyNum;case q4.noteOnVelocity:return m6.velocity;case q4.noController:return m6.none;case q4.polyPressure:return m6.polyPressure;case q4.channelPressure:return m6.channelPressure;case q4.pitchWheel:return m6.pitchWheel;case q4.pitchWheelRange:return m6.pitchWheelRange}}function lk(n,i){switch(n){default:return;case u0.initialAttenuation:return{dest:S5.gain,amount:-i};case u0.fineTune:return S5.pitch;case u0.pan:return S5.pan;case u0.keyNum:return S5.keyNum;case u0.reverbEffectsSend:return S5.reverbSend;case u0.chorusEffectsSend:return S5.chorusSend;case u0.freqModLFO:return S5.modLfoFreq;case u0.delayModLFO:return S5.modLfoDelay;case u0.delayVibLFO:return S5.vibLfoDelay;case u0.freqVibLFO:return S5.vibLfoFreq;case u0.delayVolEnv:return S5.volEnvDelay;case u0.attackVolEnv:return S5.volEnvAttack;case u0.holdVolEnv:return S5.volEnvHold;case u0.decayVolEnv:return S5.volEnvDecay;case u0.sustainVolEnv:return{dest:S5.volEnvSustain,amount:1e3-i};case u0.releaseVolEnv:return S5.volEnvRelease;case u0.delayModEnv:return S5.modEnvDelay;case u0.attackModEnv:return S5.modEnvAttack;case u0.holdModEnv:return S5.modEnvHold;case u0.decayModEnv:return S5.modEnvDecay;case u0.sustainModEnv:return{dest:S5.modEnvSustain,amount:1e3-i};case u0.releaseModEnv:return S5.modEnvRelease;case u0.initialFilterFc:return S5.filterCutoff;case u0.initialFilterQ:return S5.filterQ}}function ck(n,i){switch(n){default:return;case u0.modEnvToFilterFc:return{source:m6.modEnv,dest:S5.filterCutoff,amt:i,isBipolar:!1};case u0.modEnvToPitch:return{source:m6.modEnv,dest:S5.pitch,amt:i,isBipolar:!1};case u0.modLfoToFilterFc:return{source:m6.modLfo,dest:S5.filterCutoff,amt:i,isBipolar:!0};case u0.modLfoToVolume:return{source:m6.modLfo,dest:S5.gain,amt:i,isBipolar:!0};case u0.modLfoToPitch:return{source:m6.modLfo,dest:S5.pitch,amt:i,isBipolar:!0};case u0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:S5.pitch,amt:i,isBipolar:!0};case u0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:S5.volEnvHold,amt:i,isBipolar:!0};case u0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:S5.volEnvDecay,amt:i,isBipolar:!0};case u0.keyNumToModEnvHold:return{source:m6.keyNum,dest:S5.modEnvHold,amt:i,isBipolar:!0};case u0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:S5.modEnvDecay,amt:i,isBipolar:!0};case u0.scaleTuning:return{source:m6.keyNum,dest:S5.pitch,amt:i*128,isBipolar:!1}}}function gk(n){let i=lk(n.generatorType,n.generatorValue),a=i,l=0,u=n.generatorValue;i?.amount!==void 0&&(u=i.amount,a=i.dest);let f=ck(n.generatorType,n.generatorValue);if(f!==void 0)u=f.amt,a=f.dest,l=f.source;else if(a===void 0){se(`Invalid generator type: ${n.generatorType}`);return}return new Vp(l,0,a,u,0)}function uk(n){if(n.transformType!==0){se("Other transform types are not supported.");return}let i=$k(n.sourceUsesCC,n.sourceIndex),a=n.sourceCurveType,l=n.sourcePolarity,u=n.sourceDirection;if(i===void 0){se(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===u0.initialAttenuation&&(u=u===1?0:1);let f=$k(n.secSrcUsesCC,n.secSrcIndex),x=n.secSrcCurveType,V=n.secSrcPolarity,T=n.secSrcDirection;if(f===void 0){se(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let N=lk(n.modulatorDestination,n.transformAmount),b0=N,w=n.transformAmount;N?.dest!==void 0&&(b0=N.dest,w=N.amount);let U=ck(n.modulatorDestination,n.transformAmount);if(U!==void 0)w=U.amt,f=i,x=a,V=l,T=u,a=er.linear,l=U.isBipolar?1:0,u=0,i=U.source,b0=U.dest;else if(b0===void 0){se(`Invalid destination: ${n.modulatorDestination}`);return}let P=0;return P|=x<<4,P|=V<<8,P|=T<<9,P|=a,P|=l<<14,P|=u<<15,new Vp(i,f,b0,w,P)}var f_=new Set([u0.sampleModes,u0.initialAttenuation,u0.keyRange,u0.velRange,u0.sampleID,u0.fineTune,u0.coarseTune,u0.startAddrsOffset,u0.startAddrsCoarseOffset,u0.endAddrOffset,u0.endAddrsCoarseOffset,u0.startloopAddrsOffset,u0.startloopAddrsCoarseOffset,u0.endloopAddrsOffset,u0.endloopAddrsCoarseOffset,u0.overridingRootKey,u0.exclusiveClass]);function cC(n){for(let f=0;fF0.generatorType===V);if(T===void 0)continue;let N=x.generatorValue*-128,b0=60/128*N,w=T.generatorValue-b0,U=n.generators.indexOf(x),P=n.generators.indexOf(T);n.generators[P]=new q3(V,w,!1),n.generators[U]=new q3(x.generatorType,N,!1)}let i=n.generators.reduce((f,x)=>{if(f_.has(x.generatorType))return f;let V=gk(x);return V!==void 0?(f.push(V),m5("%cSucceeded converting to DLS Articulator!",I1.recognized)):se("Failed converting to DLS Articulator!"),f},[]),a=n.modulators.reduce((f,x)=>{if(ce.isIdentical(x,AC,!0)||ce.isIdentical(x,aC,!0)||ce.isIdentical(x,$C,!0)||ce.isIdentical(x,lC,!0))return f;let V=uk(x);return V!==void 0?(f.push(V),m5("%cSucceeded converting to DLS Articulator!",I1.recognized)):se("Failed converting to DLS Articulator!"),f},[]);i.push(...a);let l=new J5(8);pe(l,8),pe(l,i.length);let u=i.map(f=>f.writeArticulator());return v6("art2",St([l,...u]))}function dk(n,i){let a=new J5(12);X3(a,Math.max(n.keyRange.min,0)),X3(a,n.keyRange.max),X3(a,Math.max(n.velRange.min,0)),X3(a,n.velRange.max),X3(a,0);let l=n.getGeneratorValue(u0.exclusiveClass,0);X3(a,l),X3(a,0);let u=v6("rgnh",a),f=n.getGeneratorValue(u0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(u0.scaleTuning,i.getGeneratorValue(u0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(f=n.keyRange.min);let V=oC(n.sample,f,n.getGeneratorValue(u0.fineTune,0)+n.getGeneratorValue(u0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(u0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(u0.startloopAddrsOffset,0)+n.getGeneratorValue(u0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(u0.endloopAddrsOffset,0)+n.getGeneratorValue(u0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(u0.sampleModes,0)),T=new J5(12);X3(T,0),X3(T,0),pe(T,1),pe(T,this.samples.indexOf(n.sample));let N=v6("wlnk",T),b0=new J5(0);if(n.modulators.length+n.generators.length>0){let w=cC(n);b0=v6("lar2",w,!1,!0)}return v6("rgn2",St([u,V,N,b0]),!1,!0)}function hk(n){Q8(`%cWriting %c${n.presetName}%c...`,I1.info,I1.recognized,I1.info);let i=ak(n),a=i.reduce((U,P)=>P.isGlobal?U:U+1,0),l=new J5(12);pe(l,a);let u=(n.bank&127)<<8;n.bank===128&&(u|=1<<31),pe(l,u),pe(l,n.program&127);let f=v6("insh",l),x=new J5(0),V=i.find(U=>U.isGlobal===!0);if(V){let U=cC(V);x=v6("lar2",U,!1,!0)}let T=St(i.reduce((U,P)=>(P.isGlobal||U.push(dk.apply(this,[P,V])),U),[])),N=v6("lrgn",T,!1,!0),b0=v6("INAM",Tn(n.presetName)),w=v6("INFO",b0,!1,!0);return de(),v6("ins ",St([f,N,x,w]),!1,!0)}function fk(){let n=St(this.presets.map(i=>hk.apply(this,[i])));return v6("lins",n,!1,!0)}function Ik(n){let i=new J5(18);X3(i,1),X3(i,1),pe(i,n.sampleRate),pe(i,n.sampleRate*2),X3(i,2),X3(i,16);let a=v6("fmt ",i),l=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(l=0);let u=oC(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,l),f=n.getAudioData(),x;if(n.isCompressed){let N=new Int16Array(f.length);for(let b0=0;b0{let u=Ik(l);return i.push(n),n+=u.length,u});return{data:v6("wvpl",St(a),!1,!0),indexes:i}}function pk(){Q8("%cSaving DLS...",I1.info);let n=new J5(4);pe(n,this.presets.length);let i=v6("colh",n);Q8("%cWriting instruments...",I1.info);let a=fk.apply(this);m5("%cSuccess!",I1.recognized),de(),Q8("%cWriting WAVE samples...",I1.info);let l=mk.apply(this),u=l.data,f=l.indexes;m5("%cSucceeded!",I1.recognized),de();let x=new J5(8+4*f.length);pe(x,8),pe(x,f.length);for(let w of f)pe(x,w);let V=v6("ptbl",x);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` -Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let T=[];for(let[w,U]of Object.entries(this.soundFontInfo))w!=="ICMT"&&w!=="INAM"&&w!=="ICRD"&&w!=="IENG"&&w!=="ICOP"&&w!=="ISFT"&&w!=="ISBJ"||T.push(v6(w,Tn(U),!0));let N=v6("INFO",St(T),!1,!0),b0=new J5(i.length+a.length+V.length+u.length+N.length+4);return O8(b0,"DLS "),b0.set(St([i,a,V,u,N]),4),m5("%cSaved succesfully!",I1.recognized),de(),v6("RIFF",b0)}var I_=48e3,za=class{constructor(i,a,l,u,f,x,V,T){this.sampleName=i,this.sampleRate=a,this.samplePitch=l,this.samplePitchCorrection=u,this.sampleLink=f,this.sampleType=x,this.sampleLoopStartIndex=V,this.sampleLoopEndIndex=T,this.isCompressed=(x&16)>0,this.compressedData=void 0,this.useCount=0,this.sampleData=void 0}getRawData(){let i=new Uint8Array(this.sampleData.length*2);for(let a=0;a>8&255}return i}resampleData(i){let a=this.getAudioData(),l=i/this.sampleRate,u=new Float32Array(Math.floor(a.length*l));for(let f=0;f96e3)&&(this.resampleData(I_),l=this.getAudioData()),this.compressedData=a([l],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{se(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=239}}getAudioData(){return this.sampleData}};var Ka=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var Ja=class{constructor(i){this.presetName="",this.program=0,this.bank=0,this.presetZones=[],this.sampleIDOffset=0,this.foundSamplesAndGenerators=[];for(let a=0;a<128;a++)this.foundSamplesAndGenerators[a]=[];this.library=0,this.genre=0,this.morphology=0,this.defaultModulators=i}deletePreset(){this.presetZones.forEach(i=>i.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,a){for(let l=i;l{f.sample.isSampleLoaded||f.sample.getAudioData()})}preloadSpecific(i,a){this.getSamplesAndGenerators(i,a).forEach(l=>{l.sample.isSampleLoaded||l.sample.getAudioData()})}getSamplesAndGenerators(i,a){let l=this.foundSamplesAndGenerators[i][a];if(l)return l;if(this.presetZones.length<1)return[];function u(P,F0){return F0>=P.min&&F0<=P.max}function f(P,F0){P.push(...F0.filter(m1=>!P.find(l1=>l1.generatorType===m1.generatorType)))}function x(P,F0){P.push(...F0.filter(m1=>!P.find(l1=>ce.isIdentical(m1,l1))))}let V=[],T=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],N=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],b0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},w=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(P=>u(P.hasKeyRange?P.keyRange:b0,i)&&u(P.hasVelRange?P.velRange:w,a)&&!P.isGlobal).forEach(P=>{if(P.instrument.instrumentZones.length<1)return;let F0=P.generators,m1=P.modulators,l1=P.instrument.instrumentZones[0],j1=l1.isGlobal?[...l1.generators]:[],U1=l1.isGlobal?[...l1.modulators]:[],c2=l1.isGlobal?l1.keyRange:{min:0,max:127},P2=l1.isGlobal?l1.velRange:{min:0,max:127};P.instrument.instrumentZones.filter(a0=>u(a0.hasKeyRange?a0.keyRange:c2,i)&&u(a0.hasVelRange?a0.velRange:P2,a)&&!a0.isGlobal).forEach(a0=>{let g5=[...a0.generators],p3=[...a0.modulators];f(F0,T),f(g5,j1),x(m1,N),x(p3,U1),x(p3,this.defaultModulators);let k3=[...p3];for(let u6=0;u6ce.isIdentical(S3,Ne));ge!==-1?k3[ge]=k3[ge].sumTransform(S3):k3.push(S3)}V.push({instrumentGenerators:g5,presetGenerators:F0,modulators:k3,sample:a0.sample,sampleID:a0.generators.find(u6=>u6.generatorType===u0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][a]=V,V}};var Wa=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=ME.map(a=>ce.copy(a)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let a=i.shift(),l=a.presets;for(;i.length;)i.shift().presets.forEach(f=>{l.find(x=>x.bank===f.bank&&x.program===f.program)===void 0&&l.push(f)});return new n({presets:l,info:a.soundFontInfo})}static getDummySoundfontFile(){let i=new n,a=new za("Saw",44100,65,20,0,0,0,127);a.sampleData=new Float32Array(128);for(let N=0;N<128;N++)a.sampleData[N]=N/128*2-1;i.samples.push(a);let l=new k7;l.isGlobal=!0,l.generators.push(new q3(u0.initialAttenuation,375)),l.generators.push(new q3(u0.releaseVolEnv,-1e3)),l.generators.push(new q3(u0.sampleModes,1));let u=new k7;u.sample=a;let f=new k7;f.sample=a,f.generators.push(new q3(u0.fineTune,-9));let x=new Ka;x.instrumentName="Saw Wave",x.instrumentZones.push(l),x.instrumentZones.push(u),x.instrumentZones.push(f),i.instruments.push(x);let V=new Ya;V.instrument=x;let T=new Ja(i.defaultModulators);return T.presetName="Saw Wave",T.presetZones.push(V),i.presets.push(T),i.soundFontInfo.ifil="2.1",i.soundFontInfo.isng="EMU8000",i.soundFontInfo.INAM="Dummy",i.write().buffer}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(a=>{a.isGlobal||a.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(a=>a.sampleIDOffset=i)}getPresetNoFallback(i,a,l=!1){let u=this.presets.find(f=>f.bank===i&&f.program===a);if(u)return u;if(l!==!1)return i===128?this.presets.find(f=>f.bank===128):this.presets.find(f=>f.program===a)}getPreset(i,a){let l=this.presets.find(u=>u.bank===i&&u.program===a);return l||(i===128?(l=this.presets.find(u=>u.bank===128&&u.program===a),l||(l=this.presets.find(u=>u.bank===128))):l=this.presets.find(u=>u.program===a&&u.bank!==128),l&&se(`%cPreset ${i}.${a} not found. Replaced with %c${l.presetName} (${l.bank}.${l.program})`,I1.warn,I1.recognized)),l||(se(`Preset ${a} not found. Defaulting to`,this.presets[0].presetName),l=this.presets[0]),l}getPresetByName(i){let a=this.presets.find(l=>l.presetName===i);return a||(se("Preset not found. Defaulting to:",this.presets[0].presetName),a=this.presets[0]),a}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Wa.prototype.write=ok;Wa.prototype.writeDLS=pk;function Ek(n){Q8("%cLoading instruments...",I1.info);for(let i=0;i>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Ka,this.DLSInstrument.addUseCount();let u=new Ya;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function Ck(n){this.verifyHeader(n,"LIST"),this.verifyText(y4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(y9(n.chunkData));let a=i.find(P=>P.header==="insh");if(!a)throw de(),new Error("No instrument header!");let l=o3(a.chunkData,4),u=o3(a.chunkData,4),f=o3(a.chunkData,4),x=new gC(u,f),V="unnamedPreset",T=U7(i,"INFO");if(T){let P=y9(T.chunkData);for(;P.header!=="INAM";)P=y9(T.chunkData);V=y4(P.chunkData,P.chunkData.length).trim()}x.presetName=V,x.DLSInstrument.instrumentName=V,F7(`%cParsing %c"${V}"%c...`,I1.info,I1.recognized,I1.info);let N=U7(i,"lrgn");if(!N)throw de(),new Error("No region list!");let b0=new k7;b0.isGlobal=!0;let w=U7(i,"lart"),U=U7(i,"lar2");(U!==void 0||w!==void 0)&&this.readLart(w,U,b0),b0.generators=b0.generators.filter(P=>P.generatorValue!==W6[P.generatorType].def),b0.modulators.find(P=>P.modulatorDestination===u0.reverbEffectsSend)===void 0&&b0.modulators.push(ce.copy(aC)),b0.modulators.find(P=>P.modulatorDestination===u0.chorusEffectsSend)===void 0&&b0.modulators.push(ce.copy(AC)),x.DLSInstrument.instrumentZones.push(b0);for(let P=0;P>10&15;U1===er.linear&&j1!==er.linear&&(U1=j1);let c2=l>>14&1,P2=l>>15&1;x===u0.initialAttenuation&&u<0&&(P2=1),U=Kr(U1,c2,P2,V.isCC,V.enum)}let P=l>>4&15,F0=l>>8&1,m1=l>>9&1,l1=Kr(P,F0,m1,w.isCC,w.enum);if(T){let j1=l1;l1=U,U=j1}return new ce({srcEnum:U,secSrcEnum:l1,dest:x,transform:0,amt:b0})}function mB(n,i){let a=n.chunkData,l=[],u=[];o3(a,4);let f=o3(a,4);for(let x=0;x>16;if(V===0&&T===0&&b0===0){let P;switch(N){case S5.pan:P=new q3(u0.pan,U);break;case S5.gain:P=new q3(u0.initialAttenuation,-U*10/.4);break;case S5.filterCutoff:P=new q3(u0.initialFilterFc,U);break;case S5.filterQ:P=new q3(u0.initialFilterQ,U);break;case S5.modLfoFreq:P=new q3(u0.freqModLFO,U);break;case S5.modLfoDelay:P=new q3(u0.delayModLFO,U);break;case S5.vibLfoFreq:P=new q3(u0.freqVibLFO,U);break;case S5.vibLfoDelay:P=new q3(u0.delayVibLFO,U);break;case S5.volEnvDelay:P=new q3(u0.delayVolEnv,U);break;case S5.volEnvAttack:P=new q3(u0.attackVolEnv,U);break;case S5.volEnvHold:P=new q3(u0.holdVolEnv,U,!1);break;case S5.volEnvDecay:P=new q3(u0.decayVolEnv,U,!1);break;case S5.volEnvRelease:P=new q3(u0.releaseVolEnv,U);break;case S5.volEnvSustain:let F0=1e3-U;P=new q3(u0.sustainVolEnv,F0);break;case S5.modEnvDelay:P=new q3(u0.delayModEnv,U);break;case S5.modEnvAttack:P=new q3(u0.attackModEnv,U);break;case S5.modEnvHold:P=new q3(u0.holdModEnv,U,!1);break;case S5.modEnvDecay:P=new q3(u0.decayModEnv,U,!1);break;case S5.modEnvRelease:P=new q3(u0.releaseModEnv,U);break;case S5.modEnvSustain:let m1=1e3-U;P=new q3(u0.sustainModEnv,m1);break;case S5.reverbSend:P=new q3(u0.reverbEffectsSend,U);break;case S5.chorusSend:P=new q3(u0.chorusEffectsSend,U);break;case S5.pitch:let l1=Math.floor(U/100),j1=Math.floor(U-l1*100);P=new q3(u0.fineTune,j1),l.push(new q3(u0.coarseTune,l1));break}P&&l.push(P)}else{let P=!0;if(T===m6.none)if(V===m6.modLfo&&N===S5.pitch)l.push(new q3(u0.modLfoToPitch,U));else if(V===m6.modLfo&&N===S5.gain)l.push(new q3(u0.modLfoToVolume,U));else if(V===m6.modLfo&&N===S5.filterCutoff)l.push(new q3(u0.modLfoToFilterFc,U));else if(V===m6.vibratoLfo&&N===S5.pitch)l.push(new q3(u0.vibLfoToPitch,U));else if(V===m6.modEnv&&N===S5.pitch)l.push(new q3(u0.modEnvToPitch,U));else if(V===m6.modEnv&&N===S5.filterCutoff)l.push(new q3(u0.modEnvToFilterFc,U));else if(V===m6.keyNum&&N===S5.pitch)l.push(new q3(u0.scaleTuning,U/128));else if(V===m6.keyNum&&N===S5.volEnvHold){l.push(new q3(u0.keyNumToVolEnvHold,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.holdVolEnv&&(m1.generatorValue+=F0)})}else if(V===m6.keyNum&&N===S5.volEnvDecay){l.push(new q3(u0.keyNumToVolEnvDecay,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.decayVolEnv&&(m1.generatorValue+=F0)})}else if(V===m6.keyNum&&N===S5.modEnvHold){l.push(new q3(u0.keyNumToModEnvHold,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.holdModEnv&&(m1.generatorValue+=F0)})}else if(V===m6.keyNum&&N===S5.modEnvDecay){l.push(new q3(u0.keyNumToModEnvDecay,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.decayModEnv&&(m1.generatorValue+=F0)})}else P=!1;else P=!1;if(P===!1){let F0=yk(V,T,N,b0,U);F0?(u.push(F0),m5("%cSucceeded converting to SF2 Modulator!",I1.recognized)):se("Failed converting to SF2 Modulator!")}}}return i&&u.push(ce.copy($C),ce.copy(lC)),{modulators:u,generators:l}}function Qk(n,i,a){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(y9(n.chunkData));let a=i.find(p3=>p3.header==="rgnh"),l=o3(a.chunkData,2),u=o3(a.chunkData,2),f=o3(a.chunkData,2),x=o3(a.chunkData,2),V=new uC({min:l,max:u},{min:f,max:x});o3(a.chunkData,2);let T=o3(a.chunkData,2);T!==0&&V.generators.push(new q3(u0.exclusiveClass,T));let N=U7(i,"lart"),b0=U7(i,"lar2");this.readLart(N,b0,V),V.isGlobal=!1;let w=i.find(p3=>p3.header==="wsmp");o3(w.chunkData,4);let U=o3(w.chunkData,2),P=Ua(w.chunkData[w.chunkData.currentIndex++],w.chunkData[w.chunkData.currentIndex++]),m1=(o3(w.chunkData,4)|0)/-655360;o3(w.chunkData,4);let l1=o3(w.chunkData,4),j1,U1={start:0,end:0};if(l1===0)j1=0;else{o3(w.chunkData,4),o3(w.chunkData,4)===0?j1=1:j1=3,U1.start=o3(w.chunkData,4);let k3=o3(w.chunkData,4);U1.end=U1.start+k3}let c2=i.find(p3=>p3.header==="wlnk");if(c2===void 0)return;o3(c2.chunkData,2),o3(c2.chunkData,2),o3(c2.chunkData,4);let P2=o3(c2.chunkData,4),L2=this.samples[P2];if(L2===void 0)throw new Error("Invalid sample ID!");let g5=(m1||L2.sampleDbAttenuation)*10/.4;return V.setWavesample(g5,j1,U1,U,L2,P2,P),V}var dC=class extends za{sampleDbAttenuation;sampleData;constructor(i,a,l,u,f,x,V,T){super(i,a,l,u,0,1,f,x),this.sampleData=V,this.sampleDbAttenuation=T}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}return super.getRawData()}};var vk={PCM:1,ALAW:6};function E_(n,i){let a=Math.pow(2,i*8-1),l=Math.pow(2,i*8),u,f=!1;i===1?(u=255,f=!0):u=a;let x=n.size/i,V=new Float32Array(x);for(let T=0;T=a&&(N-=l),V[T]=N/u)}return V}function C_(n,i){let a=n.size/i,l=new Float32Array(a);for(let u=0;u>4,T=x&15;V>0&&(T+=16),T=(T<<4)+8,V>1&&(T=T<127?T:-T;l[u]=N/32678}return l}function kk(n){Q8("%cLoading Wave samples...",I1.recognized);let i=0;for(;n.chunkData.currentIndexL2.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");let f=o3(u.chunkData,2),x=o3(u.chunkData,2);if(x!==1)throw new Error(`Only mono samples are supported. Fmt reports ${x} channels`);let V=o3(u.chunkData,4);o3(u.chunkData,4),o3(u.chunkData,2);let N=o3(u.chunkData,2)/8,b0=!1,w=l.find(L2=>L2.header==="data");w||this.parsingError("No data chunk in the WAVE chunk!");let U;switch(f){default:b0=!0,U=new Float32Array(w.size/N);break;case vk.PCM:U=E_(w,N);break;case vk.ALAW:U=C_(w,N);break}let P=U7(l,"INFO"),F0=`Unnamed ${i}`;if(P){let L2=y9(P.chunkData);for(;L2.header!=="INAM"&&P.chunkData.currentIndexL2.header==="wsmp");if(P2){o3(P2.chunkData,4),m1=o3(P2.chunkData,2),l1=Ua(P2.chunkData[P2.chunkData.currentIndex++],P2.chunkData[P2.chunkData.currentIndex++]);let L2=Math.trunc(l1/100);if(m1+=L2,l1-=L2*100,c2=(o3(P2.chunkData,4)|0)/-655360,o3(P2.chunkData,4),o3(P2.chunkData,4)===1){o3(P2.chunkData,8),j1=o3(P2.chunkData,4);let p3=o3(P2.chunkData,4);U1=j1+p3}}else se("No wsmp chunk in wave... using sane defaults.");b0&&console.error(`Failed to load '${F0}': Unsupported format: (${f})`),this.samples.push(new dC(F0,V,m1,l1,j1,U1,U,c2)),i++,m5(`%cLoaded sample %c${F0}`,I1.info,I1.recognized)}de()}var qs=class extends Wa{constructor(i){super(),this.dataArray=new J5(i),F7("%cParsing DLS...",I1.info),this.dataArray||(de(),this.parsingError("No data provided!"));let a=y9(this.dataArray,!1);this.verifyHeader(a,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let l=[];for(;this.dataArray.currentIndex(f.generators=f.generators.filter(x=>x.generatorType!==u0.sampleID&&x.generatorType!==u0.keyRange&&x.generatorType!==u0.velRange),(f.velRange.max!==127||f.velRange.min!==0)&&f.generators.unshift({generatorType:u0.velRange,generatorValue:f.velRange.max<<8|Math.max(f.velRange.min,0)}),(f.keyRange.max!==127||f.keyRange.min!==0)&&f.generators.unshift({generatorType:u0.keyRange,generatorValue:f.keyRange.max<<8|Math.max(f.keyRange.min,0)}),f.isGlobal||f.generators.push({generatorType:u0.sampleID,generatorValue:this.samples.indexOf(f.sample)}),f.generators.length*4+u),0);let i=new J5(n),a=0;for(let l of this.instruments)for(let u of l.instrumentZones){u.generatorZoneStartIndex=a;for(let f of u.generators)X3(i,f.generatorType),X3(i,f.generatorValue),a++}return pe(i,0),it(new Q4("igen",i.length,i))}function Zv(n,i,a,l,u){let f=this.samples.map((N,S0)=>{a&&N.compressSample(l,u);let w=N.getRawData();return m5(`%cEncoded sample %c${S0}. ${N.sampleName}%c of %c${this.samples.length}%c. Compressed: %c${N.isCompressed}%c.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,N.isCompressed?I1.recognized:I1.unrecognized,I1.info),w}),x=this.samples.reduce((N,S0,w)=>N+f[w].length+46,0),H=new J5(x);this.samples.forEach((N,S0)=>{let w=f[S0],U,P,F0=w.length;N.isCompressed?(U=H.currentIndex,P=U+w.length):(U=H.currentIndex/2,P=U+w.length/2,F0+=46),n.push(U),H.set(w,H.currentIndex),H.currentIndex+=F0,i.push(P)});let F=it(new Q4("smpl",H.length,H),new J5([115,100,116,97]));return it(new Q4("LIST",F.length,F))}function jv(n,i){let l=new J5(46*(this.samples.length+1));return this.samples.forEach((u,f)=>{O8(l,u.sampleName,20);let x=n[f];pe(l,x);let H=i[f];pe(l,H);let F=u.sampleLoopStartIndex+x,N=u.sampleLoopEndIndex+x;u.isCompressed&&(F-=x,N-=x),pe(l,F),pe(l,N),pe(l,u.sampleRate),l[l.currentIndex++]=u.samplePitch,l[l.currentIndex++]=u.samplePitchCorrection,X3(l,u.sampleLink),X3(l,u.sampleType)}),O8(l,"EOS",46),it(new Q4("shdr",l.length,l))}function Xv(){let n=10;for(let l of this.instruments)n+=l.instrumentZones.reduce((u,f)=>f.modulators.length*10+u,0);let i=new J5(n),a=0;for(let l of this.instruments)for(let u of l.instrumentZones){u.modulatorZoneStartIndex=a;for(let f of u.modulators)X3(i,f.sourceEnum),X3(i,f.modulatorDestination),X3(i,f.transformAmount),X3(i,f.secondarySourceEnum),X3(i,f.transformType),a++}return Ii(i,0,10),it(new Q4("imod",i.length,i))}function ek(){let n=this.instruments.reduce((f,x)=>x.instrumentZones.length*4+f,4),i=new J5(n),a=0,l=0,u=0;for(let f of this.instruments){f.instrumentZoneIndex=a;for(let x of f.instrumentZones)x.zoneID=a,X3(i,l),X3(i,u),l+=x.generators.length,u+=x.modulators.length,a++}return X3(i,l),X3(i,u),it(new Q4("ibag",i.length,i))}function tk(){let n=this.instruments.length*22+22,i=new J5(n),a=0,l=0;for(let u of this.instruments)O8(i,u.instrumentName,20),X3(i,a),a+=u.instrumentZones.length,u.instrumentID=l,l++;return O8(i,"EOI",20),X3(i,a),it(new Q4("inst",i.length,i))}function ik(){let n=4;for(let l of this.presets)n+=l.presetZones.reduce((u,f)=>(f.generators=f.generators.filter(x=>x.generatorType!==u0.instrument&&x.generatorType!==u0.keyRange&&x.generatorType!==u0.velRange),(f.velRange.max!==127||f.velRange.min!==0)&&f.generators.unshift({generatorType:u0.velRange,generatorValue:f.velRange.max<<8|Math.max(f.velRange.min,0)}),(f.keyRange.max!==127||f.keyRange.min!==0)&&f.generators.unshift({generatorType:u0.keyRange,generatorValue:f.keyRange.max<<8|Math.max(f.keyRange.min,0)}),f.isGlobal||f.generators.push({generatorType:u0.instrument,generatorValue:this.instruments.indexOf(f.instrument)}),f.generators.length*4+u),0);let i=new J5(n),a=0;for(let l of this.presets)for(let u of l.presetZones){u.generatorZoneStartIndex=a;for(let f of u.generators)X3(i,f.generatorType),X3(i,f.generatorValue);a+=u.generators.length}return X3(i,0),X3(i,0),it(new Q4("pgen",i.length,i))}function rk(){let n=10;for(let l of this.presets)n+=l.presetZones.reduce((u,f)=>f.modulators.length*10+u,0);let i=new J5(n),a=0;for(let l of this.presets)for(let u of l.presetZones){u.modulatorZoneStartIndex=a;for(let f of u.modulators)X3(i,f.sourceEnum),X3(i,f.modulatorDestination),X3(i,f.transformAmount),X3(i,f.secondarySourceEnum),X3(i,f.transformType),a++}return Ii(i,0,10),it(new Q4("pmod",i.length,i))}function nk(){let n=this.presets.reduce((f,x)=>x.presetZones.length*4+f,4),i=new J5(n),a=0,l=0,u=0;for(let f of this.presets){f.presetZoneStartIndex=a;for(let x of f.presetZones)x.zoneID=a,X3(i,l),X3(i,u),l+=x.generators.length,u+=x.modulators.length,a++}return X3(i,l),X3(i,u),it(new Q4("pbag",i.length,i))}function sk(){let n=this.presets.length*38+38,i=new J5(n),a=0;for(let l of this.presets)O8(i,l.presetName,20),X3(i,l.program),X3(i,l.bank),X3(i,a),pe(i,l.library),pe(i,l.genre),pe(i,l.morphology),a+=l.presetZones.length;return O8(i,"EOP",20),X3(i,0),X3(i,0),X3(i,a),pe(i,0),pe(i,0),pe(i,0),it(new Q4("phdr",i.length,i))}var d_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function ok(n=d_){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");Q8("%cSaving soundfont...",I1.info),m5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,I1.info,I1.recognized,I1.info,I1.recognized),m5("%cWriting INFO...",I1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[P2,L2]of Object.entries(this.soundFontInfo))if(P2==="ifil"||P2==="iver"){let a0=parseInt(L2.split(".")[0]),g5=parseInt(L2.split(".")[1]),p3=new J5(4);X3(p3,a0),X3(p3,g5),i.push(it(new Q4(P2,4,p3)))}else if(P2==="DMOD")i.push(it(new Q4(P2,L2.length,L2)));else{let a0=new J5(L2.length);O8(a0,L2),i.push(it(new Q4(P2,L2.length,a0)))}let a=St([new J5([73,78,70,79]),...i]),l=it(new Q4("LIST",a.length,a));m5("%cWriting SDTA...",I1.info);let u=[],f=[],x=Zv.call(this,u,f,n?.compress,n?.compressionQuality??.5,n.compressionFunction);m5("%cWriting PDTA...",I1.info),m5("%cWriting SHDR...",I1.info);let H=jv.call(this,u,f);m5("%cWriting IGEN...",I1.info);let F=Wv.call(this);m5("%cWriting IMOD...",I1.info);let N=Xv.call(this);m5("%cWriting IBAG...",I1.info);let S0=ek.call(this);m5("%cWriting INST...",I1.info);let w=tk.call(this),U=ik.call(this);m5("%cWriting PMOD...",I1.info);let P=rk.call(this);m5("%cWriting PBAG...",I1.info);let F0=nk.call(this);m5("%cWriting PHDR...",I1.info);let m1=sk.call(this),l1=St([new J5([112,100,116,97]),m1,F0,P,U,w,S0,N,F,H]),j1=it(new Q4("LIST",l1.length,l1));m5("%cWriting the output file...",I1.info);let U1=St([new J5([115,102,98,107]),l,x,j1]),c2=it(new Q4("RIFF",U1.length,U1));return m5(`%cSaved succesfully! Final file size: %c${c2.length}`,I1.info,I1.recognized),de(),c2}var Hp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,a){return this.generators.find(l=>l.generatorType===i)?.generatorValue??a}};var k7=class extends Hp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ya=class extends Hp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var h_=new Set([u0.velRange,u0.keyRange,u0.instrument,u0.exclusiveClass,u0.endOper,u0.sampleModes,u0.startloopAddrsOffset,u0.startloopAddrsCoarseOffset,u0.endloopAddrsOffset,u0.endloopAddrsCoarseOffset,u0.startAddrsOffset,u0.startAddrsCoarseOffset,u0.endAddrOffset,u0.endAddrsCoarseOffset,u0.initialAttenuation,u0.fineTune,u0.coarseTune,u0.keyNumToVolEnvHold,u0.keyNumToVolEnvDecay,u0.keyNumToModEnvHold,u0.keyNumToModEnvDecay]);function ak(n,i=!0){function a(w,U){w.push(...U.filter(P=>!w.find(F0=>F0.generatorType===P.generatorType)))}function l(w,U){return{min:Math.max(w.min,U.min),max:Math.min(w.max,U.max)}}function u(w,U){w.push(...U.filter(P=>!w.find(F0=>ce.isIdentical(P,F0))))}let f=[],x=[],H=[],F={min:0,max:127},N={min:0,max:127},S0=n.presetZones.find(w=>w.isGlobal);S0&&(x.push(...S0.generators),H.push(...S0.modulators),F=S0.keyRange,N=S0.velRange);for(let w of n.presetZones){if(w.isGlobal)continue;let U=w.keyRange;w.hasKeyRange||(U=F);let P=w.velRange;w.hasVelRange||(P=N);let F0=w.generators.map(a0=>new q3(a0.generatorType,a0.generatorValue));a(F0,x);let m1=[...w.modulators];u(m1,H);let l1=w.instrument.instrumentZones,j1=[],U1=[],c2={min:0,max:127},P2={min:0,max:127},L2=l1.find(a0=>a0.isGlobal);L2&&(j1.push(...L2.generators),U1.push(...L2.modulators),c2=L2.keyRange,P2=L2.velRange);for(let a0 of l1){if(a0.isGlobal)continue;let g5=a0.keyRange;a0.hasKeyRange||(g5=c2);let p3=a0.velRange;if(a0.hasVelRange||(p3=P2),g5=l(g5,U),p3=l(p3,P),g5.maxnew q3(E3.generatorType,E3.generatorValue));a(k3,j1);let u6=[...a0.modulators];u(u6,U1);let S3=[...u6];for(let E3 of m1){let p6=S3.findIndex(w4=>ce.isIdentical(E3,w4));p6!==-1?S3[p6]=S3[p6].sumTransform(E3):S3.push(E3)}let ge=k3.map(E3=>new q3(E3.generatorType,E3.generatorValue));for(let E3 of F0){if(E3.generatorType===u0.velRange||E3.generatorType===u0.keyRange||E3.generatorType===u0.instrument||E3.generatorType===u0.endOper||E3.generatorType===u0.sampleModes)continue;let p6=k3.findIndex(w4=>w4.generatorType===E3.generatorType);if(p6!==-1){let w4=ge[p6].generatorValue+E3.generatorValue;ge[p6]=new q3(E3.generatorType,w4)}else{let w4=W6[E3.generatorType].def+E3.generatorValue;ge.push(new q3(E3.generatorType,w4))}}ge=ge.filter(E3=>E3.generatorType!==u0.sampleID&&E3.generatorType!==u0.keyRange&&E3.generatorType!==u0.velRange&&E3.generatorType!==u0.endOper&&E3.generatorType!==u0.instrument&&E3.generatorValue!==W6[E3.generatorType].def);let Ne=new k7;Ne.keyRange=g5,Ne.velRange=p3,Ne.keyRange.min===0&&Ne.keyRange.max===127&&(Ne.keyRange.min=-1),Ne.velRange.min===0&&Ne.velRange.max===127&&(Ne.velRange.min=-1),Ne.isGlobal=!1,Ne.sample=a0.sample,Ne.generators=ge,Ne.modulators=S3,f.push(Ne)}}if(i){let w=new k7;w.isGlobal=!0;for(let F0=0;F0<58;F0++){if(h_.has(F0))continue;let m1={},l1=W6[F0]?.def||0;m1[l1]=0;for(let j1 of f){let U1=j1.generators.find(L2=>L2.generatorType===F0);if(U1){let L2=U1.generatorValue;m1[L2]===void 0?m1[L2]=1:m1[L2]++}else m1[l1]++;let c2;switch(F0){default:continue;case u0.decayVolEnv:c2=u0.keyNumToVolEnvDecay;break;case u0.holdVolEnv:c2=u0.keyNumToVolEnvHold;break;case u0.decayModEnv:c2=u0.keyNumToModEnvDecay;break;case u0.holdModEnv:c2=u0.keyNumToModEnvHold}if(j1.generators.find(L2=>L2.generatorType===c2)!==void 0){m1={};break}}if(Object.keys(m1).length>0){let j1=Object.entries(m1).reduce((c2,P2)=>c2[1]{let P2=c2.generators.findIndex(L2=>L2.generatorType===F0);P2!==-1?c2.generators[P2].generatorValue===U1&&c2.generators.splice(P2,1):U1!==l1&&c2.generators.push(new q3(F0,l1))})}}let P=f.find(F0=>!F0.isGlobal).modulators.map(F0=>ce.copy(F0));for(let F0 of P){let m1=!0;for(let l1 of f){if(l1.isGlobal||!m1)continue;l1.modulators.find(U1=>ce.isIdentical(U1,F0))||(m1=!1)}if(m1===!0){w.modulators.push(ce.copy(F0));for(let l1 of f){let j1=l1.modulators.find(U1=>ce.isIdentical(U1,F0));j1.transformAmount===F0.transformAmount&&l1.modulators.splice(l1.modulators.indexOf(j1),1)}}}f.splice(0,0,w)}return f}var Ak=20;function oC(n,i,a,l,u,f,x){let H=x===0?0:1,F=new J5(Ak+H*16);pe(F,Ak),X3(F,i),X3(F,a);let N=l*.4,S0=Math.floor(N*-65536);pe(F,S0),pe(F,2);let w=f-u,U=0;switch(x){default:case 0:H=0;break;case 1:U=0,H=1;break;case 3:U=1,H=1}return pe(F,H),H===1&&(pe(F,16),pe(F,U),pe(F,u),pe(F,w)),v6("wsmp",F)}var m6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},aC=new ce({srcEnum:219,dest:u0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),AC=new ce({srcEnum:221,dest:u0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),$C=new ce({srcEnum:129,dest:u0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),lC=new ce({srcEnum:13,dest:u0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var S5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Vp=class{source;control;destination;scale;transform;constructor(i,a,l,u,f){this.source=i,this.control=a,this.destination=l,this.scale=u,this.transform=f}writeArticulator(){let i=new J5(12);return X3(i,this.source),X3(i,this.control),X3(i,this.destination),X3(i,this.transform),pe(i,this.scale<<16),i}};function $k(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return m6.modulationWheel;case $3.mainVolume:return m6.volume;case $3.pan:return m6.pan;case $3.expressionController:return m6.expression;case $3.chorusDepth:return m6.chorus;case $3.reverbDepth:return m6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return m6.keyNum;case q4.noteOnVelocity:return m6.velocity;case q4.noController:return m6.none;case q4.polyPressure:return m6.polyPressure;case q4.channelPressure:return m6.channelPressure;case q4.pitchWheel:return m6.pitchWheel;case q4.pitchWheelRange:return m6.pitchWheelRange}}function lk(n,i){switch(n){default:return;case u0.initialAttenuation:return{dest:S5.gain,amount:-i};case u0.fineTune:return S5.pitch;case u0.pan:return S5.pan;case u0.keyNum:return S5.keyNum;case u0.reverbEffectsSend:return S5.reverbSend;case u0.chorusEffectsSend:return S5.chorusSend;case u0.freqModLFO:return S5.modLfoFreq;case u0.delayModLFO:return S5.modLfoDelay;case u0.delayVibLFO:return S5.vibLfoDelay;case u0.freqVibLFO:return S5.vibLfoFreq;case u0.delayVolEnv:return S5.volEnvDelay;case u0.attackVolEnv:return S5.volEnvAttack;case u0.holdVolEnv:return S5.volEnvHold;case u0.decayVolEnv:return S5.volEnvDecay;case u0.sustainVolEnv:return{dest:S5.volEnvSustain,amount:1e3-i};case u0.releaseVolEnv:return S5.volEnvRelease;case u0.delayModEnv:return S5.modEnvDelay;case u0.attackModEnv:return S5.modEnvAttack;case u0.holdModEnv:return S5.modEnvHold;case u0.decayModEnv:return S5.modEnvDecay;case u0.sustainModEnv:return{dest:S5.modEnvSustain,amount:1e3-i};case u0.releaseModEnv:return S5.modEnvRelease;case u0.initialFilterFc:return S5.filterCutoff;case u0.initialFilterQ:return S5.filterQ}}function ck(n,i){switch(n){default:return;case u0.modEnvToFilterFc:return{source:m6.modEnv,dest:S5.filterCutoff,amt:i,isBipolar:!1};case u0.modEnvToPitch:return{source:m6.modEnv,dest:S5.pitch,amt:i,isBipolar:!1};case u0.modLfoToFilterFc:return{source:m6.modLfo,dest:S5.filterCutoff,amt:i,isBipolar:!0};case u0.modLfoToVolume:return{source:m6.modLfo,dest:S5.gain,amt:i,isBipolar:!0};case u0.modLfoToPitch:return{source:m6.modLfo,dest:S5.pitch,amt:i,isBipolar:!0};case u0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:S5.pitch,amt:i,isBipolar:!0};case u0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:S5.volEnvHold,amt:i,isBipolar:!0};case u0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:S5.volEnvDecay,amt:i,isBipolar:!0};case u0.keyNumToModEnvHold:return{source:m6.keyNum,dest:S5.modEnvHold,amt:i,isBipolar:!0};case u0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:S5.modEnvDecay,amt:i,isBipolar:!0};case u0.scaleTuning:return{source:m6.keyNum,dest:S5.pitch,amt:i*128,isBipolar:!1}}}function gk(n){let i=lk(n.generatorType,n.generatorValue),a=i,l=0,u=n.generatorValue;i?.amount!==void 0&&(u=i.amount,a=i.dest);let f=ck(n.generatorType,n.generatorValue);if(f!==void 0)u=f.amt,a=f.dest,l=f.source;else if(a===void 0){se(`Invalid generator type: ${n.generatorType}`);return}return new Vp(l,0,a,u,0)}function uk(n){if(n.transformType!==0){se("Other transform types are not supported.");return}let i=$k(n.sourceUsesCC,n.sourceIndex),a=n.sourceCurveType,l=n.sourcePolarity,u=n.sourceDirection;if(i===void 0){se(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===u0.initialAttenuation&&(u=u===1?0:1);let f=$k(n.secSrcUsesCC,n.secSrcIndex),x=n.secSrcCurveType,H=n.secSrcPolarity,F=n.secSrcDirection;if(f===void 0){se(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let N=lk(n.modulatorDestination,n.transformAmount),S0=N,w=n.transformAmount;N?.dest!==void 0&&(S0=N.dest,w=N.amount);let U=ck(n.modulatorDestination,n.transformAmount);if(U!==void 0)w=U.amt,f=i,x=a,H=l,F=u,a=er.linear,l=U.isBipolar?1:0,u=0,i=U.source,S0=U.dest;else if(S0===void 0){se(`Invalid destination: ${n.modulatorDestination}`);return}let P=0;return P|=x<<4,P|=H<<8,P|=F<<9,P|=a,P|=l<<14,P|=u<<15,new Vp(i,f,S0,w,P)}var f_=new Set([u0.sampleModes,u0.initialAttenuation,u0.keyRange,u0.velRange,u0.sampleID,u0.fineTune,u0.coarseTune,u0.startAddrsOffset,u0.startAddrsCoarseOffset,u0.endAddrOffset,u0.endAddrsCoarseOffset,u0.startloopAddrsOffset,u0.startloopAddrsCoarseOffset,u0.endloopAddrsOffset,u0.endloopAddrsCoarseOffset,u0.overridingRootKey,u0.exclusiveClass]);function cC(n){for(let f=0;fF0.generatorType===H);if(F===void 0)continue;let N=x.generatorValue*-128,S0=60/128*N,w=F.generatorValue-S0,U=n.generators.indexOf(x),P=n.generators.indexOf(F);n.generators[P]=new q3(H,w,!1),n.generators[U]=new q3(x.generatorType,N,!1)}let i=n.generators.reduce((f,x)=>{if(f_.has(x.generatorType))return f;let H=gk(x);return H!==void 0?(f.push(H),m5("%cSucceeded converting to DLS Articulator!",I1.recognized)):se("Failed converting to DLS Articulator!"),f},[]),a=n.modulators.reduce((f,x)=>{if(ce.isIdentical(x,AC,!0)||ce.isIdentical(x,aC,!0)||ce.isIdentical(x,$C,!0)||ce.isIdentical(x,lC,!0))return f;let H=uk(x);return H!==void 0?(f.push(H),m5("%cSucceeded converting to DLS Articulator!",I1.recognized)):se("Failed converting to DLS Articulator!"),f},[]);i.push(...a);let l=new J5(8);pe(l,8),pe(l,i.length);let u=i.map(f=>f.writeArticulator());return v6("art2",St([l,...u]))}function dk(n,i){let a=new J5(12);X3(a,Math.max(n.keyRange.min,0)),X3(a,n.keyRange.max),X3(a,Math.max(n.velRange.min,0)),X3(a,n.velRange.max),X3(a,0);let l=n.getGeneratorValue(u0.exclusiveClass,0);X3(a,l),X3(a,0);let u=v6("rgnh",a),f=n.getGeneratorValue(u0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(u0.scaleTuning,i.getGeneratorValue(u0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(f=n.keyRange.min);let H=oC(n.sample,f,n.getGeneratorValue(u0.fineTune,0)+n.getGeneratorValue(u0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(u0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(u0.startloopAddrsOffset,0)+n.getGeneratorValue(u0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(u0.endloopAddrsOffset,0)+n.getGeneratorValue(u0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(u0.sampleModes,0)),F=new J5(12);X3(F,0),X3(F,0),pe(F,1),pe(F,this.samples.indexOf(n.sample));let N=v6("wlnk",F),S0=new J5(0);if(n.modulators.length+n.generators.length>0){let w=cC(n);S0=v6("lar2",w,!1,!0)}return v6("rgn2",St([u,H,N,S0]),!1,!0)}function hk(n){Q8(`%cWriting %c${n.presetName}%c...`,I1.info,I1.recognized,I1.info);let i=ak(n),a=i.reduce((U,P)=>P.isGlobal?U:U+1,0),l=new J5(12);pe(l,a);let u=(n.bank&127)<<8;n.bank===128&&(u|=1<<31),pe(l,u),pe(l,n.program&127);let f=v6("insh",l),x=new J5(0),H=i.find(U=>U.isGlobal===!0);if(H){let U=cC(H);x=v6("lar2",U,!1,!0)}let F=St(i.reduce((U,P)=>(P.isGlobal||U.push(dk.apply(this,[P,H])),U),[])),N=v6("lrgn",F,!1,!0),S0=v6("INAM",Tn(n.presetName)),w=v6("INFO",S0,!1,!0);return de(),v6("ins ",St([f,N,x,w]),!1,!0)}function fk(){let n=St(this.presets.map(i=>hk.apply(this,[i])));return v6("lins",n,!1,!0)}function Ik(n){let i=new J5(18);X3(i,1),X3(i,1),pe(i,n.sampleRate),pe(i,n.sampleRate*2),X3(i,2),X3(i,16);let a=v6("fmt ",i),l=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(l=0);let u=oC(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,l),f=n.getAudioData(),x;if(n.isCompressed){let N=new Int16Array(f.length);for(let S0=0;S0{let u=Ik(l);return i.push(n),n+=u.length,u});return{data:v6("wvpl",St(a),!1,!0),indexes:i}}function pk(){Q8("%cSaving DLS...",I1.info);let n=new J5(4);pe(n,this.presets.length);let i=v6("colh",n);Q8("%cWriting instruments...",I1.info);let a=fk.apply(this);m5("%cSuccess!",I1.recognized),de(),Q8("%cWriting WAVE samples...",I1.info);let l=mk.apply(this),u=l.data,f=l.indexes;m5("%cSucceeded!",I1.recognized),de();let x=new J5(8+4*f.length);pe(x,8),pe(x,f.length);for(let w of f)pe(x,w);let H=v6("ptbl",x);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` +Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let F=[];for(let[w,U]of Object.entries(this.soundFontInfo))w!=="ICMT"&&w!=="INAM"&&w!=="ICRD"&&w!=="IENG"&&w!=="ICOP"&&w!=="ISFT"&&w!=="ISBJ"||F.push(v6(w,Tn(U),!0));let N=v6("INFO",St(F),!1,!0),S0=new J5(i.length+a.length+H.length+u.length+N.length+4);return O8(S0,"DLS "),S0.set(St([i,a,H,u,N]),4),m5("%cSaved succesfully!",I1.recognized),de(),v6("RIFF",S0)}var I_=48e3,za=class{constructor(i,a,l,u,f,x,H,F){this.sampleName=i,this.sampleRate=a,this.samplePitch=l,this.samplePitchCorrection=u,this.sampleLink=f,this.sampleType=x,this.sampleLoopStartIndex=H,this.sampleLoopEndIndex=F,this.isCompressed=(x&16)>0,this.compressedData=void 0,this.useCount=0,this.sampleData=void 0}getRawData(){let i=new Uint8Array(this.sampleData.length*2);for(let a=0;a>8&255}return i}resampleData(i){let a=this.getAudioData(),l=i/this.sampleRate,u=new Float32Array(Math.floor(a.length*l));for(let f=0;f96e3)&&(this.resampleData(I_),l=this.getAudioData()),this.compressedData=a([l],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{se(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=239}}getAudioData(){return this.sampleData}};var Ka=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var Ja=class{constructor(i){this.presetName="",this.program=0,this.bank=0,this.presetZones=[],this.sampleIDOffset=0,this.foundSamplesAndGenerators=[];for(let a=0;a<128;a++)this.foundSamplesAndGenerators[a]=[];this.library=0,this.genre=0,this.morphology=0,this.defaultModulators=i}deletePreset(){this.presetZones.forEach(i=>i.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,a){for(let l=i;l{f.sample.isSampleLoaded||f.sample.getAudioData()})}preloadSpecific(i,a){this.getSamplesAndGenerators(i,a).forEach(l=>{l.sample.isSampleLoaded||l.sample.getAudioData()})}getSamplesAndGenerators(i,a){let l=this.foundSamplesAndGenerators[i][a];if(l)return l;if(this.presetZones.length<1)return[];function u(P,F0){return F0>=P.min&&F0<=P.max}function f(P,F0){P.push(...F0.filter(m1=>!P.find(l1=>l1.generatorType===m1.generatorType)))}function x(P,F0){P.push(...F0.filter(m1=>!P.find(l1=>ce.isIdentical(m1,l1))))}let H=[],F=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],N=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],S0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},w=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(P=>u(P.hasKeyRange?P.keyRange:S0,i)&&u(P.hasVelRange?P.velRange:w,a)&&!P.isGlobal).forEach(P=>{if(P.instrument.instrumentZones.length<1)return;let F0=P.generators,m1=P.modulators,l1=P.instrument.instrumentZones[0],j1=l1.isGlobal?[...l1.generators]:[],U1=l1.isGlobal?[...l1.modulators]:[],c2=l1.isGlobal?l1.keyRange:{min:0,max:127},P2=l1.isGlobal?l1.velRange:{min:0,max:127};P.instrument.instrumentZones.filter(a0=>u(a0.hasKeyRange?a0.keyRange:c2,i)&&u(a0.hasVelRange?a0.velRange:P2,a)&&!a0.isGlobal).forEach(a0=>{let g5=[...a0.generators],p3=[...a0.modulators];f(F0,F),f(g5,j1),x(m1,N),x(p3,U1),x(p3,this.defaultModulators);let k3=[...p3];for(let u6=0;u6ce.isIdentical(S3,Ne));ge!==-1?k3[ge]=k3[ge].sumTransform(S3):k3.push(S3)}H.push({instrumentGenerators:g5,presetGenerators:F0,modulators:k3,sample:a0.sample,sampleID:a0.generators.find(u6=>u6.generatorType===u0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][a]=H,H}};var Wa=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=ME.map(a=>ce.copy(a)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let a=i.shift(),l=a.presets;for(;i.length;)i.shift().presets.forEach(f=>{l.find(x=>x.bank===f.bank&&x.program===f.program)===void 0&&l.push(f)});return new n({presets:l,info:a.soundFontInfo})}static getDummySoundfontFile(){let i=new n,a=new za("Saw",44100,65,20,0,0,0,127);a.sampleData=new Float32Array(128);for(let N=0;N<128;N++)a.sampleData[N]=N/128*2-1;i.samples.push(a);let l=new k7;l.isGlobal=!0,l.generators.push(new q3(u0.initialAttenuation,375)),l.generators.push(new q3(u0.releaseVolEnv,-1e3)),l.generators.push(new q3(u0.sampleModes,1));let u=new k7;u.sample=a;let f=new k7;f.sample=a,f.generators.push(new q3(u0.fineTune,-9));let x=new Ka;x.instrumentName="Saw Wave",x.instrumentZones.push(l),x.instrumentZones.push(u),x.instrumentZones.push(f),i.instruments.push(x);let H=new Ya;H.instrument=x;let F=new Ja(i.defaultModulators);return F.presetName="Saw Wave",F.presetZones.push(H),i.presets.push(F),i.soundFontInfo.ifil="2.1",i.soundFontInfo.isng="EMU8000",i.soundFontInfo.INAM="Dummy",i.write().buffer}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(a=>{a.isGlobal||a.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(a=>a.sampleIDOffset=i)}getPresetNoFallback(i,a,l=!1){let u=this.presets.find(f=>f.bank===i&&f.program===a);if(u)return u;if(l!==!1)return i===128?this.presets.find(f=>f.bank===128):this.presets.find(f=>f.program===a)}getPreset(i,a){let l=this.presets.find(u=>u.bank===i&&u.program===a);return l||(i===128?(l=this.presets.find(u=>u.bank===128&&u.program===a),l||(l=this.presets.find(u=>u.bank===128))):l=this.presets.find(u=>u.program===a&&u.bank!==128),l&&se(`%cPreset ${i}.${a} not found. Replaced with %c${l.presetName} (${l.bank}.${l.program})`,I1.warn,I1.recognized)),l||(se(`Preset ${a} not found. Defaulting to`,this.presets[0].presetName),l=this.presets[0]),l}getPresetByName(i){let a=this.presets.find(l=>l.presetName===i);return a||(se("Preset not found. Defaulting to:",this.presets[0].presetName),a=this.presets[0]),a}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Wa.prototype.write=ok;Wa.prototype.writeDLS=pk;function Ek(n){Q8("%cLoading instruments...",I1.info);for(let i=0;i>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Ka,this.DLSInstrument.addUseCount();let u=new Ya;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function Ck(n){this.verifyHeader(n,"LIST"),this.verifyText(y4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(y9(n.chunkData));let a=i.find(P=>P.header==="insh");if(!a)throw de(),new Error("No instrument header!");let l=o3(a.chunkData,4),u=o3(a.chunkData,4),f=o3(a.chunkData,4),x=new gC(u,f),H="unnamedPreset",F=U7(i,"INFO");if(F){let P=y9(F.chunkData);for(;P.header!=="INAM";)P=y9(F.chunkData);H=y4(P.chunkData,P.chunkData.length).trim()}x.presetName=H,x.DLSInstrument.instrumentName=H,F7(`%cParsing %c"${H}"%c...`,I1.info,I1.recognized,I1.info);let N=U7(i,"lrgn");if(!N)throw de(),new Error("No region list!");let S0=new k7;S0.isGlobal=!0;let w=U7(i,"lart"),U=U7(i,"lar2");(U!==void 0||w!==void 0)&&this.readLart(w,U,S0),S0.generators=S0.generators.filter(P=>P.generatorValue!==W6[P.generatorType].def),S0.modulators.find(P=>P.modulatorDestination===u0.reverbEffectsSend)===void 0&&S0.modulators.push(ce.copy(aC)),S0.modulators.find(P=>P.modulatorDestination===u0.chorusEffectsSend)===void 0&&S0.modulators.push(ce.copy(AC)),x.DLSInstrument.instrumentZones.push(S0);for(let P=0;P>10&15;U1===er.linear&&j1!==er.linear&&(U1=j1);let c2=l>>14&1,P2=l>>15&1;x===u0.initialAttenuation&&u<0&&(P2=1),U=Kr(U1,c2,P2,H.isCC,H.enum)}let P=l>>4&15,F0=l>>8&1,m1=l>>9&1,l1=Kr(P,F0,m1,w.isCC,w.enum);if(F){let j1=l1;l1=U,U=j1}return new ce({srcEnum:U,secSrcEnum:l1,dest:x,transform:0,amt:S0})}function mB(n,i){let a=n.chunkData,l=[],u=[];o3(a,4);let f=o3(a,4);for(let x=0;x>16;if(H===0&&F===0&&S0===0){let P;switch(N){case S5.pan:P=new q3(u0.pan,U);break;case S5.gain:P=new q3(u0.initialAttenuation,-U*10/.4);break;case S5.filterCutoff:P=new q3(u0.initialFilterFc,U);break;case S5.filterQ:P=new q3(u0.initialFilterQ,U);break;case S5.modLfoFreq:P=new q3(u0.freqModLFO,U);break;case S5.modLfoDelay:P=new q3(u0.delayModLFO,U);break;case S5.vibLfoFreq:P=new q3(u0.freqVibLFO,U);break;case S5.vibLfoDelay:P=new q3(u0.delayVibLFO,U);break;case S5.volEnvDelay:P=new q3(u0.delayVolEnv,U);break;case S5.volEnvAttack:P=new q3(u0.attackVolEnv,U);break;case S5.volEnvHold:P=new q3(u0.holdVolEnv,U,!1);break;case S5.volEnvDecay:P=new q3(u0.decayVolEnv,U,!1);break;case S5.volEnvRelease:P=new q3(u0.releaseVolEnv,U);break;case S5.volEnvSustain:let F0=1e3-U;P=new q3(u0.sustainVolEnv,F0);break;case S5.modEnvDelay:P=new q3(u0.delayModEnv,U);break;case S5.modEnvAttack:P=new q3(u0.attackModEnv,U);break;case S5.modEnvHold:P=new q3(u0.holdModEnv,U,!1);break;case S5.modEnvDecay:P=new q3(u0.decayModEnv,U,!1);break;case S5.modEnvRelease:P=new q3(u0.releaseModEnv,U);break;case S5.modEnvSustain:let m1=1e3-U;P=new q3(u0.sustainModEnv,m1);break;case S5.reverbSend:P=new q3(u0.reverbEffectsSend,U);break;case S5.chorusSend:P=new q3(u0.chorusEffectsSend,U);break;case S5.pitch:let l1=Math.floor(U/100),j1=Math.floor(U-l1*100);P=new q3(u0.fineTune,j1),l.push(new q3(u0.coarseTune,l1));break}P&&l.push(P)}else{let P=!0;if(F===m6.none)if(H===m6.modLfo&&N===S5.pitch)l.push(new q3(u0.modLfoToPitch,U));else if(H===m6.modLfo&&N===S5.gain)l.push(new q3(u0.modLfoToVolume,U));else if(H===m6.modLfo&&N===S5.filterCutoff)l.push(new q3(u0.modLfoToFilterFc,U));else if(H===m6.vibratoLfo&&N===S5.pitch)l.push(new q3(u0.vibLfoToPitch,U));else if(H===m6.modEnv&&N===S5.pitch)l.push(new q3(u0.modEnvToPitch,U));else if(H===m6.modEnv&&N===S5.filterCutoff)l.push(new q3(u0.modEnvToFilterFc,U));else if(H===m6.keyNum&&N===S5.pitch)l.push(new q3(u0.scaleTuning,U/128));else if(H===m6.keyNum&&N===S5.volEnvHold){l.push(new q3(u0.keyNumToVolEnvHold,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.holdVolEnv&&(m1.generatorValue+=F0)})}else if(H===m6.keyNum&&N===S5.volEnvDecay){l.push(new q3(u0.keyNumToVolEnvDecay,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.decayVolEnv&&(m1.generatorValue+=F0)})}else if(H===m6.keyNum&&N===S5.modEnvHold){l.push(new q3(u0.keyNumToModEnvHold,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.holdModEnv&&(m1.generatorValue+=F0)})}else if(H===m6.keyNum&&N===S5.modEnvDecay){l.push(new q3(u0.keyNumToModEnvDecay,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.decayModEnv&&(m1.generatorValue+=F0)})}else P=!1;else P=!1;if(P===!1){let F0=yk(H,F,N,S0,U);F0?(u.push(F0),m5("%cSucceeded converting to SF2 Modulator!",I1.recognized)):se("Failed converting to SF2 Modulator!")}}}return i&&u.push(ce.copy($C),ce.copy(lC)),{modulators:u,generators:l}}function Qk(n,i,a){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(y9(n.chunkData));let a=i.find(p3=>p3.header==="rgnh"),l=o3(a.chunkData,2),u=o3(a.chunkData,2),f=o3(a.chunkData,2),x=o3(a.chunkData,2),H=new uC({min:l,max:u},{min:f,max:x});o3(a.chunkData,2);let F=o3(a.chunkData,2);F!==0&&H.generators.push(new q3(u0.exclusiveClass,F));let N=U7(i,"lart"),S0=U7(i,"lar2");this.readLart(N,S0,H),H.isGlobal=!1;let w=i.find(p3=>p3.header==="wsmp");o3(w.chunkData,4);let U=o3(w.chunkData,2),P=Ua(w.chunkData[w.chunkData.currentIndex++],w.chunkData[w.chunkData.currentIndex++]),m1=(o3(w.chunkData,4)|0)/-655360;o3(w.chunkData,4);let l1=o3(w.chunkData,4),j1,U1={start:0,end:0};if(l1===0)j1=0;else{o3(w.chunkData,4),o3(w.chunkData,4)===0?j1=1:j1=3,U1.start=o3(w.chunkData,4);let k3=o3(w.chunkData,4);U1.end=U1.start+k3}let c2=i.find(p3=>p3.header==="wlnk");if(c2===void 0)return;o3(c2.chunkData,2),o3(c2.chunkData,2),o3(c2.chunkData,4);let P2=o3(c2.chunkData,4),L2=this.samples[P2];if(L2===void 0)throw new Error("Invalid sample ID!");let g5=(m1||L2.sampleDbAttenuation)*10/.4;return H.setWavesample(g5,j1,U1,U,L2,P2,P),H}var dC=class extends za{sampleDbAttenuation;sampleData;constructor(i,a,l,u,f,x,H,F){super(i,a,l,u,0,1,f,x),this.sampleData=H,this.sampleDbAttenuation=F}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}return super.getRawData()}};var vk={PCM:1,ALAW:6};function E_(n,i){let a=Math.pow(2,i*8-1),l=Math.pow(2,i*8),u,f=!1;i===1?(u=255,f=!0):u=a;let x=n.size/i,H=new Float32Array(x);for(let F=0;F=a&&(N-=l),H[F]=N/u)}return H}function C_(n,i){let a=n.size/i,l=new Float32Array(a);for(let u=0;u>4,F=x&15;H>0&&(F+=16),F=(F<<4)+8,H>1&&(F=F<127?F:-F;l[u]=N/32678}return l}function kk(n){Q8("%cLoading Wave samples...",I1.recognized);let i=0;for(;n.chunkData.currentIndexL2.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");let f=o3(u.chunkData,2),x=o3(u.chunkData,2);if(x!==1)throw new Error(`Only mono samples are supported. Fmt reports ${x} channels`);let H=o3(u.chunkData,4);o3(u.chunkData,4),o3(u.chunkData,2);let N=o3(u.chunkData,2)/8,S0=!1,w=l.find(L2=>L2.header==="data");w||this.parsingError("No data chunk in the WAVE chunk!");let U;switch(f){default:S0=!0,U=new Float32Array(w.size/N);break;case vk.PCM:U=E_(w,N);break;case vk.ALAW:U=C_(w,N);break}let P=U7(l,"INFO"),F0=`Unnamed ${i}`;if(P){let L2=y9(P.chunkData);for(;L2.header!=="INAM"&&P.chunkData.currentIndexL2.header==="wsmp");if(P2){o3(P2.chunkData,4),m1=o3(P2.chunkData,2),l1=Ua(P2.chunkData[P2.chunkData.currentIndex++],P2.chunkData[P2.chunkData.currentIndex++]);let L2=Math.trunc(l1/100);if(m1+=L2,l1-=L2*100,c2=(o3(P2.chunkData,4)|0)/-655360,o3(P2.chunkData,4),o3(P2.chunkData,4)===1){o3(P2.chunkData,8),j1=o3(P2.chunkData,4);let p3=o3(P2.chunkData,4);U1=j1+p3}}else se("No wsmp chunk in wave... using sane defaults.");S0&&console.error(`Failed to load '${F0}': Unsupported format: (${f})`),this.samples.push(new dC(F0,H,m1,l1,j1,U1,U,c2)),i++,m5(`%cLoaded sample %c${F0}`,I1.info,I1.recognized)}de()}var qs=class extends Wa{constructor(i){super(),this.dataArray=new J5(i),F7("%cParsing DLS...",I1.info),this.dataArray||(de(),this.parsingError("No data provided!"));let a=y9(this.dataArray,!1);this.verifyHeader(a,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let l=[];for(;this.dataArray.currentIndexT.header==="colh");f||(de(),this.parsingError("No colh chunk!")),this.instrumentAmount=o3(f.chunkData,4),m5(`%cInstruments amount: %c${this.instrumentAmount}`,I1.info,I1.recognized);let x=U7(l,"wvpl");x||(de(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(x);let V=U7(l,"lins");V||(de(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(V),this.presets.sort((T,N)=>T.program-N.program+(T.bank-N.bank)),m5(`%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.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info),de()}verifyHeader(i,a){i.header.toLowerCase()!==a.toLowerCase()&&(de(),this.parsingError(`Invalid DLS chunk header! Expected "${a.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,a){i.toLowerCase()!==a.toLowerCase()&&(de(),this.parsingError(`FourCC error: Expected "${a.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};qs.prototype.readDLSInstrumentList=Ek;qs.prototype.readDLSInstrument=Ck;qs.prototype.readRegion=wk;qs.prototype.readLart=Qk;qs.prototype.readDLSSamples=kk;var Za=Za!==void 0?Za:{},Sk=!1,bk;Za.isInitialized=new Promise(n=>bk=n);var B_=function(n){var i,a,l,u,f,x,V,T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",N="",b0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=T.indexOf(n.charAt(b0++)),f=T.indexOf(n.charAt(b0++)),x=T.indexOf(n.charAt(b0++)),V=T.indexOf(n.charAt(b0++)),i=u<<2|f>>4,a=(15&f)<<4|x>>2,l=(3&x)<<6|V,N+=String.fromCharCode(i),x!==64&&(N+=String.fromCharCode(a)),V!==64&&(N+=String.fromCharCode(l));while(b01&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(T0){if(!(T0 instanceof il))throw T0}),process.on("unhandledRejection",function(T0,i1){process.exit(1)}),a0.quit=function(T0){process.exit(T0)},a0.inspect=function(){return"[Emscripten Module object]"}):S3?(typeof read<"u"&&(a0.read=function(i1){return read(i1)}),a0.readBinary=function(i1){var w1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(i1)):(yr(typeof(w1=read(i1,"binary"))=="object"),w1)},typeof scriptArgs<"u"?a0.arguments=scriptArgs:typeof arguments<"u"&&(a0.arguments=arguments),typeof quit=="function"&&(a0.quit=function(T0){quit(T0)})):(p3||k3)&&(p3?document.currentScript&&(ge=document.currentScript.src):ge=self.location.href,ge=ge.indexOf("blob:")!==0?ge.split("/").slice(0,-1).join("/")+"/":"",a0.read=function(i1){var w1=new XMLHttpRequest;return w1.open("GET",i1,!1),w1.send(null),w1.responseText},k3&&(a0.readBinary=function(i1){var w1=new XMLHttpRequest;return w1.open("GET",i1,!1),w1.responseType="arraybuffer",w1.send(null),new Uint8Array(w1.response)}),a0.readAsync=function(i1,w1,_2){var i6=new XMLHttpRequest;i6.open("GET",i1,!0),i6.responseType="arraybuffer",i6.onload=function(){if(i6.status==200||i6.status==0&&i6.response){w1(i6.response);return}_2()},i6.onerror=_2,i6.send(null)},a0.setWindowTitle=function(T0){document.title=T0});var E3=a0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),p6=a0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||E3);for(n in g5)g5.hasOwnProperty(n)&&(a0[n]=g5[n]);function w4(T0){var i1=P;return P=P+T0+15&-16,i1}function tr(T0){var i1=T[c2>>2],w1=i1+T0+15&-16;return T[c2>>2]=w1,w1>=Ge&&!jr()?(T[c2>>2]=i1,0):i1}function H8(T0,i1){return i1||(i1=16),T0=Math.ceil(T0/i1)*i1}function Xa(T0){switch(T0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(T0[T0.length-1]==="*")return 4;if(T0[0]!=="i")return 0;var i1=parseInt(T0.substr(1));return yr(i1%8==0),i1/8}}function Br(T0){Br.shown||(Br.shown={}),Br.shown[T0]||(Br.shown[T0]=1,p6(T0))}g5=void 0;var eA={"f64-rem":function(T0,i1){return T0%i1},debugger:function(){}},O$=[];function EC(T0,i1){for(var w1=0,_2=w1;_2>>0)+4294967296*+(i1>>>0):+(T0>>>0)+4294967296*+(0|i1)}function q$(T0,i1,w1){return w1&&w1.length?a0["dynCall_"+T0].apply(null,[i1].concat(w1)):a0["dynCall_"+T0].call(null,i1)}var tA=0,bu=0;function yr(T0,i1){T0||ir("Assertion failed: "+i1)}function iA(T0){var i1=a0["_"+T0];return yr(i1,"Cannot call unknown function "+T0+", make sure it is exported"),i1}var zp={stackSave:function(){iE()},stackRestore:function(){tl()},arrayToC:function(T0){var i1,w1,_2=rA(T0.length);return i1=T0,w1=_2,u.set(i1,w1),_2},stringToC:function(T0){var i1=0;if(T0!=null&&T0!==0){var w1=(T0.length<<2)+1;i1=rA(w1),Jp(T0,i1,w1)}return i1}},Vs={string:zp.stringToC,array:zp.arrayToC};function Du(T0,i1,w1,_2,i6){var Ee=iA(T0),e9=[],E6=0;if(_2)for(var k8=0;k8<_2.length;k8++){var H4=Vs[w1[k8]];H4?(E6===0&&(E6=iE()),e9[k8]=H4(_2[k8])):e9[k8]=_2[k8]}var rt,M4=Ee.apply(null,e9);return M4=(rt=M4,i1==="string"?V$(rt):i1==="boolean"?!!rt:rt),E6!==0&&tl(E6),M4}function H3(T0,i1,w1,_2){switch((w1=w1||"i8").charAt(w1.length-1)==="*"&&(w1="i32"),w1){case"i1":case"i8":u[T0>>0]=i1;break;case"i16":x[T0>>1]=i1;break;case"i32":T[T0>>2]=i1;break;case"i64":tempI64=[i1>>>0,+Lu(tempDouble=i1)>=1?tempDouble>0?(0|Ru(+Mu(tempDouble/4294967296),4294967295))>>>0:~~+X$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],T[T0>>2]=tempI64[0],T[T0+4>>2]=tempI64[1];break;case"float":b0[T0>>2]=i1;break;case"double":w[T0>>3]=i1;break;default:ir("invalid type for setValue: "+w1)}}function B3(T0,i1,w1){switch((i1=i1||"i8").charAt(i1.length-1)==="*"&&(i1="i32"),i1){case"i1":case"i8":return u[T0>>0];case"i16":return x[T0>>1];case"i32":case"i64":return T[T0>>2];case"float":return b0[T0>>2];case"double":return w[T0>>3];default:ir("invalid type for getValue: "+i1)}return null}function _B(T0,i1,w1,_2){typeof T0=="number"?(Ee=!0,e9=T0):(Ee=!1,e9=T0.length);var i6=typeof i1=="string"?i1:null;if(E6=w1==4?_2:[typeof Zs=="function"?Zs:w4,rA,w4,tr][w1===void 0?2:w1](Math.max(e9,i6?1:i1.length)),Ee){for(_2=E6,yr((3&E6)==0),k8=E6+(-4&e9);_2>2]=0;for(k8=E6+e9;_2>0]=0;return E6}if(i6==="i8")return T0.subarray||T0.slice?f.set(T0,E6):f.set(new Uint8Array(T0),E6),E6;for(var Ee,e9,E6,k8,H4,rt,M4,Ce=0;Ce>0],(_2!=0||i1)&&(e9++,!i1||e9!=i1););i1||(i1=e9);var E6="";if(Ee<128){for(;i1>0;)i6=String.fromCharCode.apply(String,f.subarray(T0,T0+Math.min(i1,1024))),E6=E6?E6+i6:i6,T0+=1024,i1-=1024;return E6}return w1=T0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Kp)return Kp.decode(H4.subarray(rt,M4));for(var Ce,Ui,H7,S8,Pi,V7,Y7="";;){if(!(Ce=H4[rt++]))return Y7;if(!(128&Ce)){Y7+=String.fromCharCode(Ce);continue}if(Ui=63&H4[rt++],(224&Ce)==192){Y7+=String.fromCharCode((31&Ce)<<6|Ui);continue}if(H7=63&H4[rt++],(240&Ce)==224?Ce=(15&Ce)<<12|Ui<<6|H7:(S8=63&H4[rt++],(248&Ce)==240?Ce=(7&Ce)<<18|Ui<<12|H7<<6|S8:(Pi=63&H4[rt++],Ce=(252&Ce)==248?(3&Ce)<<24|Ui<<18|H7<<12|S8<<6|Pi:(1&Ce)<<30|Ui<<24|H7<<18|S8<<12|Pi<<6|(V7=63&H4[rt++]))),Ce<65536)Y7+=String.fromCharCode(Ce);else{var On=Ce-65536;Y7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(f,w1)}function xB(T0){for(var i1="";;){var w1=u[T0++>>0];if(!w1)return i1;i1+=String.fromCharCode(w1)}}function Ys(T0,i1){return function(_2,i6,Ee){for(var e9=0;e9<_2.length;++e9)u[i6++>>0]=_2.charCodeAt(e9);Ee||(u[i6>>0]=0)}(T0,i1,!1)}var Kp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(T0,i1,w1,_2){if(!(_2>0))return 0;for(var i6=w1,Ee=w1+_2-1,e9=0;e9=55296&&E6<=57343&&(E6=65536+((1023&E6)<<10)|1023&T0.charCodeAt(++e9)),E6<=127){if(w1>=Ee)break;i1[w1++]=E6}else if(E6<=2047){if(w1+1>=Ee)break;i1[w1++]=192|E6>>6,i1[w1++]=128|63&E6}else if(E6<=65535){if(w1+2>=Ee)break;i1[w1++]=224|E6>>12,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=2097151){if(w1+3>=Ee)break;i1[w1++]=240|E6>>18,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=67108863){if(w1+4>=Ee)break;i1[w1++]=248|E6>>24,i1[w1++]=128|E6>>18&63,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else{if(w1+5>=Ee)break;i1[w1++]=252|E6>>30,i1[w1++]=128|E6>>24&63,i1[w1++]=128|E6>>18&63,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}}return i1[w1]=0,w1-i6}function Jp(T0,i1,w1){return Un(T0,f,i1,w1)}function zs(T0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&T0.charCodeAt(++w1)),_2<=127?++i1:_2<=2047?i1+=2:_2<=65535?i1+=3:_2<=2097151?i1+=4:_2<=67108863?i1+=5:i1+=6}return i1}var Wp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function LB(T0){for(var i1=T0,w1=i1>>1;x[w1];)++w1;if((i1=w1<<1)-T0>32&&Wp)return Wp.decode(f.subarray(T0,i1));for(var _2=0,i6="";;){var Ee=x[T0+2*_2>>1];if(Ee==0)return i6;++_2,i6+=String.fromCharCode(Ee)}}function MB(T0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<2)return 0;for(var _2=i1,i6=(w1-=2)<2*T0.length?w1/2:T0.length,Ee=0;Ee>1]=e9,i1+=2}return x[i1>>1]=0,i1-_2}function RB(T0){return 2*T0.length}function FB(T0){for(var i1=0,w1="";;){var _2=T[T0+4*i1>>2];if(_2==0)return w1;if(++i1,_2>=65536){var i6=_2-65536;w1+=String.fromCharCode(55296|i6>>10,56320|1023&i6)}else w1+=String.fromCharCode(_2)}}function TB(T0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<4)return 0;for(var _2=i1,i6=_2+w1-4,Ee=0;Ee=55296&&e9<=57343&&(e9=65536+((1023&e9)<<10)|1023&T0.charCodeAt(++Ee)),T[i1>>2]=e9,(i1+=4)+4>i6)break}return T[i1>>2]=0,i1-_2}function NB(T0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&++w1,i1+=4}return i1}function GB(T0){var i1=zs(T0)+1,w1=Zs(i1);return w1&&Un(T0,u,w1,i1),w1}function UB(T0){var i1=zs(T0)+1,w1=rA(i1);return Un(T0,u,w1,i1),w1}function Zp(T0){return T0}function yC(){var T0,i1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(i6){_2=i6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return a0.extraStackTrace&&(i1+=` -`+a0.extraStackTrace()),(T0=i1).replace(/__Z[\w\d_]+/g,function(w1){var _2,i6=_2=w1;return w1===i6?w1:w1+" ["+i6+"]"})}function _u(T0,i1){return T0%i1>0&&(T0+=i1-T0%i1),T0}function jp(T0){a0.buffer=l=T0}function Xe(){a0.HEAP8=u=new Int8Array(l),a0.HEAP16=x=new Int16Array(l),a0.HEAP32=T=new Int32Array(l),a0.HEAPU8=f=new Uint8Array(l),a0.HEAPU16=V=new Uint16Array(l),a0.HEAPU32=N=new Uint32Array(l),a0.HEAPF32=b0=new Float32Array(l),a0.HEAPF64=w=new Float64Array(l)}function jr(){var T0=a0.usingWasm?65536:16777216,i1=2147483648-T0;if(T[c2>>2]>i1)return!1;var w1=Ge;for(Ge=Math.max(Ge,16777216);Ge>2];)Ge=Ge<=536870912?_u(2*Ge,T0):Math.min(_u((3*Ge+2147483648)/4,T0),i1);var _2=a0.reallocBuffer(Ge);return _2&&_2.byteLength==Ge?(jp(_2),Xe(),!0):(Ge=w1,!1)}U=P=m1=l1=j1=U1=c2=0,F0=!1,a0.reallocBuffer||(a0.reallocBuffer=function(T0){try{if(ArrayBuffer.transfer)i1=ArrayBuffer.transfer(l,T0);else{var i1,w1=u;i1=new ArrayBuffer(T0),new Int8Array(i1).set(w1)}}catch{return!1}return!!vC(i1)&&i1});try{(P2=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{P2=function(i1){return i1.byteLength}}var Y$=a0.TOTAL_STACK||5242880,Ge=a0.TOTAL_MEMORY||16777216;function z$(){return Ge}function Ks(T0){for(;T0.length>0;){var i1=T0.shift();if(typeof i1=="function"){i1();continue}var w1=i1.func;typeof w1=="number"?i1.arg===void 0?a0.dynCall_v(w1):a0.dynCall_vi(w1,i1.arg):w1(i1.arg===void 0?null:i1.arg)}}Ge=0?T0:i1<=32?2*Math.abs(1<=_2&&(i1<=32||T0>_2)&&(T0=-2*_2+T0),T0}var Lu=Math.abs,X$=Math.ceil,Mu=Math.floor,Ru=Math.min,Pn=0,Fu=null,Ws=null;function PB(T0){return T0}a0.preloadedImages={},a0.preloadedAudios={};var tE="data:application/octet-stream;base64,";function el(T0){return String.prototype.startsWith?T0.startsWith(tE):T0.indexOf(tE)===0}(function(){var i1="main.wast",w1="main.wasm",_2="main.temp.asm.js";el(i1)||(i1=Ne(i1)),el(w1)||(w1=Ne(w1)),el(_2)||(_2=Ne(_2));var i6={global:null,env:null,asm2wasm:eA,parent:a0},Ee=null;function e9(M4){return M4}function E6(){try{if(a0.wasmBinary)return new Uint8Array(a0.wasmBinary);if(a0.readBinary)return a0.readBinary(w1);throw"both async and sync fetching of the wasm failed"}catch(M4){ir(M4)}}a0.asmPreload=a0.asm;var k8=a0.reallocBuffer,H4=function(M4){M4=_u(M4,a0.usingWasm?65536:16777216);var Ce=a0.buffer.byteLength;if(a0.usingWasm)try{var Ui=a0.wasmMemory.grow((M4-Ce)/65536);return Ui!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(M4){return rt==="asmjs"?k8(M4):H4(M4)};var rt="";a0.asm=function(M4,Ce,Ui){var H7;if(!(Ce=H7=Ce).table){var S8,Pi=a0.wasmTableSize;Pi===void 0&&(Pi=1024);var V7=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?V7!==void 0?Ce.table=new WebAssembly.Table({initial:Pi,maximum:V7,element:"anyfunc"}):Ce.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):Ce.table=Array(Pi),a0.wasmTable=Ce.table}return Ce.memoryBase||(Ce.memoryBase=a0.STATIC_BASE),Ce.tableBase||(Ce.tableBase=0),S8=function(On,Qr,rE){if(typeof WebAssembly!="object")return p6("no native wasm support detected"),!1;if(!(a0.wasmMemory instanceof WebAssembly.Memory))return p6("no native wasm Memory in use"),!1;function Tu(wr,rr){if((Ee=wr.exports).memory){var nA,js,Xs;nA=Ee.memory,js=a0.buffer,nA.byteLength0?w1:zs(T0)+1,i6=Array(_2),Ee=Un(T0,i6,0,i6.length);return i1&&(i6.length=Ee),i6}function wC(T0){for(var i1=[],w1=0;w1255&&(_2&=255),i1.push(String.fromCharCode(_2))}return i1.join("")}P+=16,c2=w4(4),j1=(m1=l1=H8(P))+Y$,U1=H8(j1),T[c2>>2]=U1,F0=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:ir,assert:yr,enlargeMemory:jr,getTotalMemory:z$,abortOnCannotGrowMemory:function(){ir("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ge+", (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(i1,w1,_2){var i6=iE();try{return a0.dynCall_iii(i1,w1,_2)}catch(Ee){if(tl(i6),typeof Ee!="number"&&Ee!=="longjmp")throw Ee;a0.setThrew(1,0)}},___assert_fail:function(i1,w1,_2,i6){ir("Assertion failed: "+V$(i1)+", at: "+[w1?V$(w1):"unknown filename",_2,i6?V$(i6):"unknown function"])},___setErrNo:function(i1){return a0.___errno_location&&(T[a0.___errno_location()>>2]=i1),i1},_abort:function(){a0.abort()},_emscripten_memcpy_big:function(i1,w1,_2){return f.set(f.subarray(w1,w1+_2),i1),i1},_llvm_floor_f64:Mu,DYNAMICTOP_PTR:c2,tempDoublePtr:Gi,ABORT:tA,STACKTOP:l1,STACK_MAX:j1};var tn=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,l);a0.asm=tn,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var vC=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 Zs=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 rA=a0.stackAlloc=function(){return a0.asm.stackAlloc.apply(null,arguments)},tl=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},iE=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function il(T0){this.name="ExitStatus",this.message="Program terminated with exit("+T0+")",this.status=T0}function rl(T0){T0=T0||a0.arguments,!(Pn>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)QC(a0.preRun.shift());Ks(Xr)}(),!(Pn>0)&&(a0.calledRun||(a0.setStatus?(a0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a0.setStatus("")},1),i1()},1)):i1())));function i1(){!a0.calledRun&&(a0.calledRun=!0,tA||(W$||(W$=!0,Ks(K$)),Ks(xu),a0.onRuntimeInitialized&&a0.onRuntimeInitialized(),function(){if(a0.postRun)for(typeof a0.postRun=="function"&&(a0.postRun=[a0.postRun]);a0.postRun.length;)q7(a0.postRun.shift());Ks(J$)}()))}}function kC(T0,i1){(!i1||!a0.noExitRuntime||T0!==0)&&(a0.noExitRuntime||(tA=!0,bu=T0,l1=L2,Ks(S7),O7=!0,a0.onExit&&a0.onExit(T0)),a0.quit(T0,new il(T0)))}function ir(T0){throw a0.onAbort&&a0.onAbort(T0),T0!==void 0?(E3(T0),p6(T0),T0=JSON.stringify(T0)):T0="",tA=!0,bu=1,"abort("+T0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=tn,a0.ccall=Du,a0.cwrap=function(i1,w1,_2,i6){var Ee=(_2=_2||[]).every(function(e9){return e9==="number"});return w1!=="string"&&Ee&&!i6?iA(i1):function(){return Du(i1,w1,_2,arguments,i6)}},il.prototype=Error(),il.prototype.constructor=il,Ws=function T0(){a0.calledRun||rl(),a0.calledRun||(Ws=T0)},a0.run=rl,a0.abort=ir,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,rl(),a0.onRuntimeInitialized=()=>{Sk=!0,bk()},Za.decode=function(T0){return function(w1){if(!Sk)throw Error("Not initialized");var _2={};function i6(Qr){return new Int32Array(a0.HEAPU8.buffer,Qr,1)[0]}function Ee(Qr,rE){var Tu=new ArrayBuffer(rE*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Tu);return bt.set(new Float32Array(a0.HEAPU8.buffer,Qr,rE)),bt}_2.open=a0.cwrap("stb_vorbis_js_open","number",[]),_2.close=a0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=a0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=a0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=a0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var e9,E6,k8,H4,rt=_2.open(),M4=(e9=w1,E6=w1.byteLength,k8=a0._malloc(E6),(H4=new Uint8Array(a0.HEAPU8.buffer,k8,E6)).set(new Uint8Array(e9,0,E6)),H4),Ce=a0._malloc(4),Ui=a0._malloc(4),H7=_2.decode(rt,M4.byteOffset,M4.byteLength,Ce,Ui);if(a0._free(M4.byteOffset),H7<0)throw _2.close(rt),a0._free(Ce),Error("stbvorbis decode failed: "+H7);for(var S8=_2.channels(rt),Pi=Array(S8),V7=new Int32Array(a0.HEAPU32.buffer,i6(Ce),S8),Y7=0;Y7n.chunkData.currentIndex;){let f=y_(u,n.chunkData,i,a);l.push(f),u++}return l.length>1&&l.pop(),l}function y_(n,i,a,l){let u=y4(i,20),f=o3(i,4)*2,x=o3(i,4)*2,V=o3(i,4),T=o3(i,4),N=o3(i,4),b0=i[i.currentIndex++];b0===255&&(b0=60);let w=YQ(i[i.currentIndex++]),U=o3(i,2),P=o3(i,2);return new pB(u,f,x,V,T,N,b0,w,U,P,a,n,l)}var EB=class extends q3{constructor(i){super();let a=i.currentIndex;this.generatorType=i[a+1]<<8|i[a],this.generatorValue=Ua(i[a+2],i[a+3]),i.currentIndex+=4}};function CB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new EB(n.chunkData));return i.length>1&&i.pop(),i}var BB=class extends Ka{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=o3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,a){this.instrumentZonesAmount=i;for(let l=this.instrumentZoneIndex;ln.chunkData.currentIndex;){let l=new BB(n);if(a.length>0){let u=l.instrumentZoneIndex-a[a.length-1].instrumentZoneIndex;a[a.length-1].getInstrumentZones(u,i)}a.push(l)}return a.length>1&&a.pop(),a}var yB=class extends k7{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,a){this.modulatorZoneSize=i,this.generatorZoneSize=a}getGenerators(i){for(let a=this.generatorZoneStartIndex;al.generatorType===u0.sampleID);a&&(this.sample=i[a.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(a=>a.generatorType===u0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(a=>a.generatorType===u0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function xk(n,i,a,l){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let f=new yB(n.chunkData);if(u.length>0){let x=f.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,V=f.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(x,V),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(a),u[u.length-1].getSample(l),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(f)}return u.length>1&&u.pop(),u}var QB=class extends Ya{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,a){this.modulatorZoneSize=i,this.generatorZoneSize=a}getGenerators(i){for(let a=this.generatorZoneStartIndex;al.generatorType===u0.instrument);a&&(this.instrument=i[a.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(a=>a.generatorType===u0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(a=>a.generatorType===u0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Lk(n,i,a,l){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let f=new QB(n.chunkData);if(u.length>0){let x=f.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,V=f.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(x,V),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(a),u[u.length-1].getInstrument(l),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(f)}return u.length>1&&u.pop(),u}var wB=class extends Ja{constructor(i,a){super(a),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(i.chunkData,2),this.bank=o3(i.chunkData,2),this.presetZoneStartIndex=o3(i.chunkData,2),this.library=o3(i.chunkData,4),this.genre=o3(i.chunkData,4),this.morphology=o3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,a){this.presetZonesAmount=i;for(let l=this.presetZoneStartIndex;ln.chunkData.currentIndex;){let u=new wB(n,a);if(l.length>0){let f=u.presetZoneStartIndex-l[l.length-1].presetZoneStartIndex;l[l.length-1].getPresetZones(f,i)}l.push(u)}return l.length>1&&l.pop(),l}var vB=class extends ce{constructor(i){super({srcEnum:o3(i,2),dest:o3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:o3(i,2),transform:o3(i,2)})}};function hC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new vB(n.chunkData));return i}var fC=class extends Wa{constructor(i,a=!0){super(),a&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new J5(i),F7("%cParsing SoundFont...",I1.info),this.dataArray||(de(),this.parsingError("No data provided!"));let l=y9(this.dataArray,!1);this.verifyHeader(l,"riff");let u=y4(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw de(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let f=u==="sfpk",x=y9(this.dataArray);for(this.verifyHeader(x,"list"),y4(x.chunkData,4);x.chunkData.length>x.chunkData.currentIndex;){let u6=y9(x.chunkData),S3;switch(u6.header.toLowerCase()){case"ifil":case"iver":S3=`${o3(u6.chunkData,2)}.${o3(u6.chunkData,2)}`,this.soundFontInfo[u6.header]=S3;break;case"icmt":S3=y4(u6.chunkData,u6.chunkData.length,void 0,!1),this.soundFontInfo[u6.header]=S3;break;case"dmod":let ge=hC(u6);ge.pop(),S3=`Modulators: ${ge.length}`;let Ne=this.defaultModulators;this.defaultModulators=ge,this.defaultModulators.push(...Ne.filter(E3=>!this.defaultModulators.find(p6=>ce.isIdentical(E3,p6)))),this.soundFontInfo[u6.header]=u6.chunkData;break;default:S3=y4(u6.chunkData,u6.chunkData.length),this.soundFontInfo[u6.header]=S3}m5(`%c"${u6.header}": %c"${S3}"`,I1.info,I1.recognized)}let V=y9(this.dataArray,!1);this.verifyHeader(V,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),m5("%cVerifying smpl chunk...",I1.warn);let T=y9(this.dataArray,!1);this.verifyHeader(T,"smpl");let N;if(f){m5("%cSF2Pack detected, attempting to decode the smpl chunk...",I1.info);try{N=Za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+V.size-12)).data[0]}catch(u6){throw de(),new Error(`SF2Pack Ogg Vorbis decode error: ${u6}`)}m5(`%cDecoded the smpl chunk! Length: %c${N.length}`,I1.info,I1.value)}else N=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;m5(`%cSkipping sample chunk, length: %c${V.size-12}`,I1.info,I1.value),this.dataArray.currentIndex+=V.size-12,m5("%cLoading preset data chunk...",I1.warn);let b0=y9(this.dataArray);this.verifyHeader(b0,"list"),y4(b0.chunkData,4);let w=y9(b0.chunkData);this.verifyHeader(w,"phdr");let U=y9(b0.chunkData);this.verifyHeader(U,"pbag");let P=y9(b0.chunkData);this.verifyHeader(P,"pmod");let F0=y9(b0.chunkData);this.verifyHeader(F0,"pgen");let m1=y9(b0.chunkData);this.verifyHeader(m1,"inst");let l1=y9(b0.chunkData);this.verifyHeader(l1,"ibag");let j1=y9(b0.chunkData);this.verifyHeader(j1,"imod");let U1=y9(b0.chunkData);this.verifyHeader(U1,"igen");let c2=y9(b0.chunkData);this.verifyHeader(c2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Dk(c2,N,!f));let P2=CB(U1),L2=hC(j1),a0=xk(l1,P2,L2,this.samples);this.instruments=_k(m1,a0);let g5=CB(F0),p3=hC(P),k3=Lk(U,g5,p3,this.instruments);this.presets.push(...Mk(w,k3,this.defaultModulators)),this.presets.sort((u6,S3)=>u6.program-S3.program+(u6.bank-S3.bank)),m5(`%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.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info),de(),f&&delete this.dataArray}verifyHeader(i,a){i.header.toLowerCase()!==a.toLowerCase()&&(de(),this.parsingError(`Invalid chunk header! Expected "${a.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,a){i.toLowerCase()!==a.toLowerCase()&&(de(),this.parsingError(`Invalid FourCC: Expected "${a.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Hs(n){let i=n.slice(8,12),a=new J5(i);return y4(a,4,void 0,!1).toLowerCase()==="dls "?new qs(n):new fC(n,!1)}async function Rk(){let n="locale.exportAudio.formats.formats.soundfont.options.";M9(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let a=i.div.querySelector("input[trim-toggle='1']").checked,l=i.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(i.div.querySelector("input[type='range']").value)/10;l9(i.id),F7("%cExporting minified soundfont...",I1.info);let f=await this.seq.getMIDI(),x=Hs(f.embeddedSoundFont||this.soundFont);Pa(f,await this.synth.getSynthesizerSnapshot()),a&&Su(x,f);let V=x.write({compress:l,compressionQuality:u,compressionFunction:this.compressionFunc}),T=new Blob([V.buffer],{type:"audio/soundfont"}),N=x.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(T,`${x.soundFontInfo.INAM||"unnamed"}.${N}`),de()}}],99999999,!0,this.localeManager)}async function Fk(){let n="locale.exportAudio.formats.";M9(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{l9(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{l9(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{l9(i.id);try{this._exportSoundfont()}catch{M9("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{l9(i.id);try{this._exportDLS()}catch{M9("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{l9(i.id);try{this._exportRMIDI()}catch{M9("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Tk(){let n=(w,U,P)=>this.seq.midiData.RMIDInfo?.[w]===void 0?U:P.decode(this.seq.midiData.RMIDInfo?.[w]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),a=new TextDecoder(i),l=n("IPRD","",a),u=n("IART","",a),f=n("IGNR","",a),x=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",a),V="locale.exportAudio.formats.formats.rmidi.options.",T="locale.exportAudio.formats.metadata.",b0=M9(this.localeManager.getLocaleString(V+"title"),[{type:"toggle",translatePathTitle:V+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:V+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:T+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:T+"album",attributes:{value:l,name:"album",type:"text"}},{type:"input",translatePathTitle:T+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:T+"genre",attributes:{value:f,name:"genre",type:"text"}},{type:"input",translatePathTitle:T+"comment",attributes:{value:x,name:"comment",type:"text"}},{type:"file",translatePathTitle:T+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:V+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:V+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(V+"confirm"),onClick:async w=>{let U=w.div.querySelector("input[compress-toggle='1']").checked,P=parseInt(w.div.querySelector("input[type='range']").value)/10,F0=w.div.querySelector("input[name='album']").value,m1=w.div.querySelector("input[name='artist']").value,l1=w.div.querySelector("input[name='song_title']").value,j1=w.div.querySelector("input[name='comment']").value,U1=w.div.querySelector("input[name='genre']").value,c2=parseInt(w.div.querySelector("input[name='bank_offset']").value),P2=w.div.querySelector("input[name='adjust']").checked,L2=w.div.querySelector("input[type='file']")?.files[0];l9(w.id),Q8("%cExporting RMIDI...",I1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",g5=M9(this.localeManager.getLocaleString(a0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(a0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(p6=>setTimeout(p6,500));let p3=g5.div.getElementsByClassName("export_rmidi_message")[0],k3=await this.seq.getMIDI(),u6=Hs(k3.embeddedSoundFont||this.soundFont);p3.textContent=this.localeManager.getLocaleString(a0+"modifyingMIDI"),await new Promise(p6=>setTimeout(p6,75)),Pa(k3,await this.synth.getSynthesizerSnapshot()),p3.textContent=this.localeManager.getLocaleString(a0+"modifyingSoundfont"),await new Promise(p6=>setTimeout(p6,75)),Su(u6,k3);let S3=u6.write({compress:U,compressionQuality:P,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(p6=>setTimeout(p6,75));let ge;L2?.type.split("/")[0]==="image"?ge=await L2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(ge=k3.RMIDInfo.IPIC.buffer);let Ne=HE(S3,k3,u6,c2,this.seqUI.encoding,{name:l1,comment:j1,engineer:u6.soundFontInfo.IENG,picture:ge,album:F0.length>0?F0:void 0,artist:m1.length>0?m1:void 0,genre:U1.length>0?U1:void 0,midiEncoding:this.seqUI.encoding},P2),E3=new Blob([Ne.buffer],{type:"audio/rmid"});this.saveBlob(E3,`${l1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(a0+"done"),l9(g5.id),de()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");b0.oninput=()=>{b0.files[0]&&(b0.parentElement.firstChild.textContent=b0.files[0].name)}}var Nk="synthetizer/worklet_processor.min.js";var IC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var a in n)n.hasOwnProperty(a)&&(i[a]=n[a]);var l=typeof window=="object",u=typeof process=="object"&&typeof DE=="function"&&!l,f=typeof importScripts=="function",x=!l&&!u&&!f;if(u){n.print||(n.print=function(c){process.stdout.write(c+` +Converted from DLS to SF2 with SpessaSynth`;for(let[F,N]of Object.entries(this.soundFontInfo))m5(`%c"${F}": %c"${N}"`,I1.info,I1.recognized);let f=l.find(F=>F.header==="colh");f||(de(),this.parsingError("No colh chunk!")),this.instrumentAmount=o3(f.chunkData,4),m5(`%cInstruments amount: %c${this.instrumentAmount}`,I1.info,I1.recognized);let x=U7(l,"wvpl");x||(de(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(x);let H=U7(l,"lins");H||(de(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(H),this.presets.sort((F,N)=>F.program-N.program+(F.bank-N.bank)),m5(`%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.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info),de()}verifyHeader(i,a){i.header.toLowerCase()!==a.toLowerCase()&&(de(),this.parsingError(`Invalid DLS chunk header! Expected "${a.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,a){i.toLowerCase()!==a.toLowerCase()&&(de(),this.parsingError(`FourCC error: Expected "${a.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};qs.prototype.readDLSInstrumentList=Ek;qs.prototype.readDLSInstrument=Ck;qs.prototype.readRegion=wk;qs.prototype.readLart=Qk;qs.prototype.readDLSSamples=kk;var Za=Za!==void 0?Za:{},Sk=!1,bk;Za.isInitialized=new Promise(n=>bk=n);var B_=function(n){var i,a,l,u,f,x,H,F="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",N="",S0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=F.indexOf(n.charAt(S0++)),f=F.indexOf(n.charAt(S0++)),x=F.indexOf(n.charAt(S0++)),H=F.indexOf(n.charAt(S0++)),i=u<<2|f>>4,a=(15&f)<<4|x>>2,l=(3&x)<<6|H,N+=String.fromCharCode(i),x!==64&&(N+=String.fromCharCode(a)),H!==64&&(N+=String.fromCharCode(l));while(S01&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(T0){if(!(T0 instanceof il))throw T0}),process.on("unhandledRejection",function(T0,i1){process.exit(1)}),a0.quit=function(T0){process.exit(T0)},a0.inspect=function(){return"[Emscripten Module object]"}):S3?(typeof read<"u"&&(a0.read=function(i1){return read(i1)}),a0.readBinary=function(i1){var w1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(i1)):(yr(typeof(w1=read(i1,"binary"))=="object"),w1)},typeof scriptArgs<"u"?a0.arguments=scriptArgs:typeof arguments<"u"&&(a0.arguments=arguments),typeof quit=="function"&&(a0.quit=function(T0){quit(T0)})):(p3||k3)&&(p3?document.currentScript&&(ge=document.currentScript.src):ge=self.location.href,ge=ge.indexOf("blob:")!==0?ge.split("/").slice(0,-1).join("/")+"/":"",a0.read=function(i1){var w1=new XMLHttpRequest;return w1.open("GET",i1,!1),w1.send(null),w1.responseText},k3&&(a0.readBinary=function(i1){var w1=new XMLHttpRequest;return w1.open("GET",i1,!1),w1.responseType="arraybuffer",w1.send(null),new Uint8Array(w1.response)}),a0.readAsync=function(i1,w1,_2){var i6=new XMLHttpRequest;i6.open("GET",i1,!0),i6.responseType="arraybuffer",i6.onload=function(){if(i6.status==200||i6.status==0&&i6.response){w1(i6.response);return}_2()},i6.onerror=_2,i6.send(null)},a0.setWindowTitle=function(T0){document.title=T0});var E3=a0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),p6=a0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||E3);for(n in g5)g5.hasOwnProperty(n)&&(a0[n]=g5[n]);function w4(T0){var i1=P;return P=P+T0+15&-16,i1}function tr(T0){var i1=F[c2>>2],w1=i1+T0+15&-16;return F[c2>>2]=w1,w1>=Ge&&!jr()?(F[c2>>2]=i1,0):i1}function H8(T0,i1){return i1||(i1=16),T0=Math.ceil(T0/i1)*i1}function Xa(T0){switch(T0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(T0[T0.length-1]==="*")return 4;if(T0[0]!=="i")return 0;var i1=parseInt(T0.substr(1));return yr(i1%8==0),i1/8}}function Br(T0){Br.shown||(Br.shown={}),Br.shown[T0]||(Br.shown[T0]=1,p6(T0))}g5=void 0;var eA={"f64-rem":function(T0,i1){return T0%i1},debugger:function(){}},O$=[];function EC(T0,i1){for(var w1=0,_2=w1;_2>>0)+4294967296*+(i1>>>0):+(T0>>>0)+4294967296*+(0|i1)}function q$(T0,i1,w1){return w1&&w1.length?a0["dynCall_"+T0].apply(null,[i1].concat(w1)):a0["dynCall_"+T0].call(null,i1)}var tA=0,bu=0;function yr(T0,i1){T0||ir("Assertion failed: "+i1)}function iA(T0){var i1=a0["_"+T0];return yr(i1,"Cannot call unknown function "+T0+", make sure it is exported"),i1}var zp={stackSave:function(){iE()},stackRestore:function(){tl()},arrayToC:function(T0){var i1,w1,_2=rA(T0.length);return i1=T0,w1=_2,u.set(i1,w1),_2},stringToC:function(T0){var i1=0;if(T0!=null&&T0!==0){var w1=(T0.length<<2)+1;i1=rA(w1),Jp(T0,i1,w1)}return i1}},Vs={string:zp.stringToC,array:zp.arrayToC};function Du(T0,i1,w1,_2,i6){var Ee=iA(T0),e9=[],E6=0;if(_2)for(var k8=0;k8<_2.length;k8++){var H4=Vs[w1[k8]];H4?(E6===0&&(E6=iE()),e9[k8]=H4(_2[k8])):e9[k8]=_2[k8]}var rt,M4=Ee.apply(null,e9);return M4=(rt=M4,i1==="string"?V$(rt):i1==="boolean"?!!rt:rt),E6!==0&&tl(E6),M4}function H3(T0,i1,w1,_2){switch((w1=w1||"i8").charAt(w1.length-1)==="*"&&(w1="i32"),w1){case"i1":case"i8":u[T0>>0]=i1;break;case"i16":x[T0>>1]=i1;break;case"i32":F[T0>>2]=i1;break;case"i64":tempI64=[i1>>>0,+Lu(tempDouble=i1)>=1?tempDouble>0?(0|Ru(+Mu(tempDouble/4294967296),4294967295))>>>0:~~+X$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],F[T0>>2]=tempI64[0],F[T0+4>>2]=tempI64[1];break;case"float":S0[T0>>2]=i1;break;case"double":w[T0>>3]=i1;break;default:ir("invalid type for setValue: "+w1)}}function B3(T0,i1,w1){switch((i1=i1||"i8").charAt(i1.length-1)==="*"&&(i1="i32"),i1){case"i1":case"i8":return u[T0>>0];case"i16":return x[T0>>1];case"i32":case"i64":return F[T0>>2];case"float":return S0[T0>>2];case"double":return w[T0>>3];default:ir("invalid type for getValue: "+i1)}return null}function _B(T0,i1,w1,_2){typeof T0=="number"?(Ee=!0,e9=T0):(Ee=!1,e9=T0.length);var i6=typeof i1=="string"?i1:null;if(E6=w1==4?_2:[typeof Zs=="function"?Zs:w4,rA,w4,tr][w1===void 0?2:w1](Math.max(e9,i6?1:i1.length)),Ee){for(_2=E6,yr((3&E6)==0),k8=E6+(-4&e9);_2>2]=0;for(k8=E6+e9;_2>0]=0;return E6}if(i6==="i8")return T0.subarray||T0.slice?f.set(T0,E6):f.set(new Uint8Array(T0),E6),E6;for(var Ee,e9,E6,k8,H4,rt,M4,Ce=0;Ce>0],(_2!=0||i1)&&(e9++,!i1||e9!=i1););i1||(i1=e9);var E6="";if(Ee<128){for(;i1>0;)i6=String.fromCharCode.apply(String,f.subarray(T0,T0+Math.min(i1,1024))),E6=E6?E6+i6:i6,T0+=1024,i1-=1024;return E6}return w1=T0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Kp)return Kp.decode(H4.subarray(rt,M4));for(var Ce,Ui,H7,S8,Pi,V7,Y7="";;){if(!(Ce=H4[rt++]))return Y7;if(!(128&Ce)){Y7+=String.fromCharCode(Ce);continue}if(Ui=63&H4[rt++],(224&Ce)==192){Y7+=String.fromCharCode((31&Ce)<<6|Ui);continue}if(H7=63&H4[rt++],(240&Ce)==224?Ce=(15&Ce)<<12|Ui<<6|H7:(S8=63&H4[rt++],(248&Ce)==240?Ce=(7&Ce)<<18|Ui<<12|H7<<6|S8:(Pi=63&H4[rt++],Ce=(252&Ce)==248?(3&Ce)<<24|Ui<<18|H7<<12|S8<<6|Pi:(1&Ce)<<30|Ui<<24|H7<<18|S8<<12|Pi<<6|(V7=63&H4[rt++]))),Ce<65536)Y7+=String.fromCharCode(Ce);else{var On=Ce-65536;Y7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(f,w1)}function xB(T0){for(var i1="";;){var w1=u[T0++>>0];if(!w1)return i1;i1+=String.fromCharCode(w1)}}function Ys(T0,i1){return function(_2,i6,Ee){for(var e9=0;e9<_2.length;++e9)u[i6++>>0]=_2.charCodeAt(e9);Ee||(u[i6>>0]=0)}(T0,i1,!1)}var Kp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(T0,i1,w1,_2){if(!(_2>0))return 0;for(var i6=w1,Ee=w1+_2-1,e9=0;e9=55296&&E6<=57343&&(E6=65536+((1023&E6)<<10)|1023&T0.charCodeAt(++e9)),E6<=127){if(w1>=Ee)break;i1[w1++]=E6}else if(E6<=2047){if(w1+1>=Ee)break;i1[w1++]=192|E6>>6,i1[w1++]=128|63&E6}else if(E6<=65535){if(w1+2>=Ee)break;i1[w1++]=224|E6>>12,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=2097151){if(w1+3>=Ee)break;i1[w1++]=240|E6>>18,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=67108863){if(w1+4>=Ee)break;i1[w1++]=248|E6>>24,i1[w1++]=128|E6>>18&63,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else{if(w1+5>=Ee)break;i1[w1++]=252|E6>>30,i1[w1++]=128|E6>>24&63,i1[w1++]=128|E6>>18&63,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}}return i1[w1]=0,w1-i6}function Jp(T0,i1,w1){return Un(T0,f,i1,w1)}function zs(T0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&T0.charCodeAt(++w1)),_2<=127?++i1:_2<=2047?i1+=2:_2<=65535?i1+=3:_2<=2097151?i1+=4:_2<=67108863?i1+=5:i1+=6}return i1}var Wp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function LB(T0){for(var i1=T0,w1=i1>>1;x[w1];)++w1;if((i1=w1<<1)-T0>32&&Wp)return Wp.decode(f.subarray(T0,i1));for(var _2=0,i6="";;){var Ee=x[T0+2*_2>>1];if(Ee==0)return i6;++_2,i6+=String.fromCharCode(Ee)}}function MB(T0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<2)return 0;for(var _2=i1,i6=(w1-=2)<2*T0.length?w1/2:T0.length,Ee=0;Ee>1]=e9,i1+=2}return x[i1>>1]=0,i1-_2}function RB(T0){return 2*T0.length}function FB(T0){for(var i1=0,w1="";;){var _2=F[T0+4*i1>>2];if(_2==0)return w1;if(++i1,_2>=65536){var i6=_2-65536;w1+=String.fromCharCode(55296|i6>>10,56320|1023&i6)}else w1+=String.fromCharCode(_2)}}function TB(T0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<4)return 0;for(var _2=i1,i6=_2+w1-4,Ee=0;Ee=55296&&e9<=57343&&(e9=65536+((1023&e9)<<10)|1023&T0.charCodeAt(++Ee)),F[i1>>2]=e9,(i1+=4)+4>i6)break}return F[i1>>2]=0,i1-_2}function NB(T0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&++w1,i1+=4}return i1}function GB(T0){var i1=zs(T0)+1,w1=Zs(i1);return w1&&Un(T0,u,w1,i1),w1}function UB(T0){var i1=zs(T0)+1,w1=rA(i1);return Un(T0,u,w1,i1),w1}function Zp(T0){return T0}function yC(){var T0,i1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(i6){_2=i6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return a0.extraStackTrace&&(i1+=` +`+a0.extraStackTrace()),(T0=i1).replace(/__Z[\w\d_]+/g,function(w1){var _2,i6=_2=w1;return w1===i6?w1:w1+" ["+i6+"]"})}function _u(T0,i1){return T0%i1>0&&(T0+=i1-T0%i1),T0}function jp(T0){a0.buffer=l=T0}function Xe(){a0.HEAP8=u=new Int8Array(l),a0.HEAP16=x=new Int16Array(l),a0.HEAP32=F=new Int32Array(l),a0.HEAPU8=f=new Uint8Array(l),a0.HEAPU16=H=new Uint16Array(l),a0.HEAPU32=N=new Uint32Array(l),a0.HEAPF32=S0=new Float32Array(l),a0.HEAPF64=w=new Float64Array(l)}function jr(){var T0=a0.usingWasm?65536:16777216,i1=2147483648-T0;if(F[c2>>2]>i1)return!1;var w1=Ge;for(Ge=Math.max(Ge,16777216);Ge>2];)Ge=Ge<=536870912?_u(2*Ge,T0):Math.min(_u((3*Ge+2147483648)/4,T0),i1);var _2=a0.reallocBuffer(Ge);return _2&&_2.byteLength==Ge?(jp(_2),Xe(),!0):(Ge=w1,!1)}U=P=m1=l1=j1=U1=c2=0,F0=!1,a0.reallocBuffer||(a0.reallocBuffer=function(T0){try{if(ArrayBuffer.transfer)i1=ArrayBuffer.transfer(l,T0);else{var i1,w1=u;i1=new ArrayBuffer(T0),new Int8Array(i1).set(w1)}}catch{return!1}return!!vC(i1)&&i1});try{(P2=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{P2=function(i1){return i1.byteLength}}var Y$=a0.TOTAL_STACK||5242880,Ge=a0.TOTAL_MEMORY||16777216;function z$(){return Ge}function Ks(T0){for(;T0.length>0;){var i1=T0.shift();if(typeof i1=="function"){i1();continue}var w1=i1.func;typeof w1=="number"?i1.arg===void 0?a0.dynCall_v(w1):a0.dynCall_vi(w1,i1.arg):w1(i1.arg===void 0?null:i1.arg)}}Ge=0?T0:i1<=32?2*Math.abs(1<=_2&&(i1<=32||T0>_2)&&(T0=-2*_2+T0),T0}var Lu=Math.abs,X$=Math.ceil,Mu=Math.floor,Ru=Math.min,Pn=0,Fu=null,Ws=null;function PB(T0){return T0}a0.preloadedImages={},a0.preloadedAudios={};var tE="data:application/octet-stream;base64,";function el(T0){return String.prototype.startsWith?T0.startsWith(tE):T0.indexOf(tE)===0}(function(){var i1="main.wast",w1="main.wasm",_2="main.temp.asm.js";el(i1)||(i1=Ne(i1)),el(w1)||(w1=Ne(w1)),el(_2)||(_2=Ne(_2));var i6={global:null,env:null,asm2wasm:eA,parent:a0},Ee=null;function e9(M4){return M4}function E6(){try{if(a0.wasmBinary)return new Uint8Array(a0.wasmBinary);if(a0.readBinary)return a0.readBinary(w1);throw"both async and sync fetching of the wasm failed"}catch(M4){ir(M4)}}a0.asmPreload=a0.asm;var k8=a0.reallocBuffer,H4=function(M4){M4=_u(M4,a0.usingWasm?65536:16777216);var Ce=a0.buffer.byteLength;if(a0.usingWasm)try{var Ui=a0.wasmMemory.grow((M4-Ce)/65536);return Ui!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(M4){return rt==="asmjs"?k8(M4):H4(M4)};var rt="";a0.asm=function(M4,Ce,Ui){var H7;if(!(Ce=H7=Ce).table){var S8,Pi=a0.wasmTableSize;Pi===void 0&&(Pi=1024);var V7=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?V7!==void 0?Ce.table=new WebAssembly.Table({initial:Pi,maximum:V7,element:"anyfunc"}):Ce.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):Ce.table=Array(Pi),a0.wasmTable=Ce.table}return Ce.memoryBase||(Ce.memoryBase=a0.STATIC_BASE),Ce.tableBase||(Ce.tableBase=0),S8=function(On,Qr,rE){if(typeof WebAssembly!="object")return p6("no native wasm support detected"),!1;if(!(a0.wasmMemory instanceof WebAssembly.Memory))return p6("no native wasm Memory in use"),!1;function Tu(wr,rr){if((Ee=wr.exports).memory){var nA,js,Xs;nA=Ee.memory,js=a0.buffer,nA.byteLength0?w1:zs(T0)+1,i6=Array(_2),Ee=Un(T0,i6,0,i6.length);return i1&&(i6.length=Ee),i6}function wC(T0){for(var i1=[],w1=0;w1255&&(_2&=255),i1.push(String.fromCharCode(_2))}return i1.join("")}P+=16,c2=w4(4),j1=(m1=l1=H8(P))+Y$,U1=H8(j1),F[c2>>2]=U1,F0=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:ir,assert:yr,enlargeMemory:jr,getTotalMemory:z$,abortOnCannotGrowMemory:function(){ir("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ge+", (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(i1,w1,_2){var i6=iE();try{return a0.dynCall_iii(i1,w1,_2)}catch(Ee){if(tl(i6),typeof Ee!="number"&&Ee!=="longjmp")throw Ee;a0.setThrew(1,0)}},___assert_fail:function(i1,w1,_2,i6){ir("Assertion failed: "+V$(i1)+", at: "+[w1?V$(w1):"unknown filename",_2,i6?V$(i6):"unknown function"])},___setErrNo:function(i1){return a0.___errno_location&&(F[a0.___errno_location()>>2]=i1),i1},_abort:function(){a0.abort()},_emscripten_memcpy_big:function(i1,w1,_2){return f.set(f.subarray(w1,w1+_2),i1),i1},_llvm_floor_f64:Mu,DYNAMICTOP_PTR:c2,tempDoublePtr:Gi,ABORT:tA,STACKTOP:l1,STACK_MAX:j1};var tn=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,l);a0.asm=tn,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var vC=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 Zs=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 rA=a0.stackAlloc=function(){return a0.asm.stackAlloc.apply(null,arguments)},tl=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},iE=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function il(T0){this.name="ExitStatus",this.message="Program terminated with exit("+T0+")",this.status=T0}function rl(T0){T0=T0||a0.arguments,!(Pn>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)QC(a0.preRun.shift());Ks(Xr)}(),!(Pn>0)&&(a0.calledRun||(a0.setStatus?(a0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a0.setStatus("")},1),i1()},1)):i1())));function i1(){!a0.calledRun&&(a0.calledRun=!0,tA||(W$||(W$=!0,Ks(K$)),Ks(xu),a0.onRuntimeInitialized&&a0.onRuntimeInitialized(),function(){if(a0.postRun)for(typeof a0.postRun=="function"&&(a0.postRun=[a0.postRun]);a0.postRun.length;)q7(a0.postRun.shift());Ks(J$)}()))}}function kC(T0,i1){(!i1||!a0.noExitRuntime||T0!==0)&&(a0.noExitRuntime||(tA=!0,bu=T0,l1=L2,Ks(S7),O7=!0,a0.onExit&&a0.onExit(T0)),a0.quit(T0,new il(T0)))}function ir(T0){throw a0.onAbort&&a0.onAbort(T0),T0!==void 0?(E3(T0),p6(T0),T0=JSON.stringify(T0)):T0="",tA=!0,bu=1,"abort("+T0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=tn,a0.ccall=Du,a0.cwrap=function(i1,w1,_2,i6){var Ee=(_2=_2||[]).every(function(e9){return e9==="number"});return w1!=="string"&&Ee&&!i6?iA(i1):function(){return Du(i1,w1,_2,arguments,i6)}},il.prototype=Error(),il.prototype.constructor=il,Ws=function T0(){a0.calledRun||rl(),a0.calledRun||(Ws=T0)},a0.run=rl,a0.abort=ir,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,rl(),a0.onRuntimeInitialized=()=>{Sk=!0,bk()},Za.decode=function(T0){return function(w1){if(!Sk)throw Error("Not initialized");var _2={};function i6(Qr){return new Int32Array(a0.HEAPU8.buffer,Qr,1)[0]}function Ee(Qr,rE){var Tu=new ArrayBuffer(rE*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Tu);return bt.set(new Float32Array(a0.HEAPU8.buffer,Qr,rE)),bt}_2.open=a0.cwrap("stb_vorbis_js_open","number",[]),_2.close=a0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=a0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=a0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=a0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var e9,E6,k8,H4,rt=_2.open(),M4=(e9=w1,E6=w1.byteLength,k8=a0._malloc(E6),(H4=new Uint8Array(a0.HEAPU8.buffer,k8,E6)).set(new Uint8Array(e9,0,E6)),H4),Ce=a0._malloc(4),Ui=a0._malloc(4),H7=_2.decode(rt,M4.byteOffset,M4.byteLength,Ce,Ui);if(a0._free(M4.byteOffset),H7<0)throw _2.close(rt),a0._free(Ce),Error("stbvorbis decode failed: "+H7);for(var S8=_2.channels(rt),Pi=Array(S8),V7=new Int32Array(a0.HEAPU32.buffer,i6(Ce),S8),Y7=0;Y7n.chunkData.currentIndex;){let f=y_(u,n.chunkData,i,a);l.push(f),u++}return l.length>1&&l.pop(),l}function y_(n,i,a,l){let u=y4(i,20),f=o3(i,4)*2,x=o3(i,4)*2,H=o3(i,4),F=o3(i,4),N=o3(i,4),S0=i[i.currentIndex++];S0===255&&(S0=60);let w=YQ(i[i.currentIndex++]),U=o3(i,2),P=o3(i,2);return new pB(u,f,x,H,F,N,S0,w,U,P,a,n,l)}var EB=class extends q3{constructor(i){super();let a=i.currentIndex;this.generatorType=i[a+1]<<8|i[a],this.generatorValue=Ua(i[a+2],i[a+3]),i.currentIndex+=4}};function CB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new EB(n.chunkData));return i.length>1&&i.pop(),i}var BB=class extends Ka{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=o3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,a){this.instrumentZonesAmount=i;for(let l=this.instrumentZoneIndex;ln.chunkData.currentIndex;){let l=new BB(n);if(a.length>0){let u=l.instrumentZoneIndex-a[a.length-1].instrumentZoneIndex;a[a.length-1].getInstrumentZones(u,i)}a.push(l)}return a.length>1&&a.pop(),a}var yB=class extends k7{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,a){this.modulatorZoneSize=i,this.generatorZoneSize=a}getGenerators(i){for(let a=this.generatorZoneStartIndex;al.generatorType===u0.sampleID);a&&(this.sample=i[a.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(a=>a.generatorType===u0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(a=>a.generatorType===u0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function xk(n,i,a,l){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let f=new yB(n.chunkData);if(u.length>0){let x=f.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,H=f.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(x,H),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(a),u[u.length-1].getSample(l),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(f)}return u.length>1&&u.pop(),u}var QB=class extends Ya{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,a){this.modulatorZoneSize=i,this.generatorZoneSize=a}getGenerators(i){for(let a=this.generatorZoneStartIndex;al.generatorType===u0.instrument);a&&(this.instrument=i[a.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(a=>a.generatorType===u0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(a=>a.generatorType===u0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Lk(n,i,a,l){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let f=new QB(n.chunkData);if(u.length>0){let x=f.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,H=f.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(x,H),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(a),u[u.length-1].getInstrument(l),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(f)}return u.length>1&&u.pop(),u}var wB=class extends Ja{constructor(i,a){super(a),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(i.chunkData,2),this.bank=o3(i.chunkData,2),this.presetZoneStartIndex=o3(i.chunkData,2),this.library=o3(i.chunkData,4),this.genre=o3(i.chunkData,4),this.morphology=o3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,a){this.presetZonesAmount=i;for(let l=this.presetZoneStartIndex;ln.chunkData.currentIndex;){let u=new wB(n,a);if(l.length>0){let f=u.presetZoneStartIndex-l[l.length-1].presetZoneStartIndex;l[l.length-1].getPresetZones(f,i)}l.push(u)}return l.length>1&&l.pop(),l}var vB=class extends ce{constructor(i){super({srcEnum:o3(i,2),dest:o3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:o3(i,2),transform:o3(i,2)})}};function hC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new vB(n.chunkData));return i}var fC=class extends Wa{constructor(i,a=!0){super(),a&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new J5(i),F7("%cParsing SoundFont...",I1.info),this.dataArray||(de(),this.parsingError("No data provided!"));let l=y9(this.dataArray,!1);this.verifyHeader(l,"riff");let u=y4(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw de(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let f=u==="sfpk",x=y9(this.dataArray);for(this.verifyHeader(x,"list"),y4(x.chunkData,4);x.chunkData.length>x.chunkData.currentIndex;){let u6=y9(x.chunkData),S3;switch(u6.header.toLowerCase()){case"ifil":case"iver":S3=`${o3(u6.chunkData,2)}.${o3(u6.chunkData,2)}`,this.soundFontInfo[u6.header]=S3;break;case"icmt":S3=y4(u6.chunkData,u6.chunkData.length,void 0,!1),this.soundFontInfo[u6.header]=S3;break;case"dmod":let ge=hC(u6);ge.pop(),S3=`Modulators: ${ge.length}`;let Ne=this.defaultModulators;this.defaultModulators=ge,this.defaultModulators.push(...Ne.filter(E3=>!this.defaultModulators.find(p6=>ce.isIdentical(E3,p6)))),this.soundFontInfo[u6.header]=u6.chunkData;break;default:S3=y4(u6.chunkData,u6.chunkData.length),this.soundFontInfo[u6.header]=S3}m5(`%c"${u6.header}": %c"${S3}"`,I1.info,I1.recognized)}let H=y9(this.dataArray,!1);this.verifyHeader(H,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),m5("%cVerifying smpl chunk...",I1.warn);let F=y9(this.dataArray,!1);this.verifyHeader(F,"smpl");let N;if(f){m5("%cSF2Pack detected, attempting to decode the smpl chunk...",I1.info);try{N=Za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+H.size-12)).data[0]}catch(u6){throw de(),new Error(`SF2Pack Ogg Vorbis decode error: ${u6}`)}m5(`%cDecoded the smpl chunk! Length: %c${N.length}`,I1.info,I1.value)}else N=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;m5(`%cSkipping sample chunk, length: %c${H.size-12}`,I1.info,I1.value),this.dataArray.currentIndex+=H.size-12,m5("%cLoading preset data chunk...",I1.warn);let S0=y9(this.dataArray);this.verifyHeader(S0,"list"),y4(S0.chunkData,4);let w=y9(S0.chunkData);this.verifyHeader(w,"phdr");let U=y9(S0.chunkData);this.verifyHeader(U,"pbag");let P=y9(S0.chunkData);this.verifyHeader(P,"pmod");let F0=y9(S0.chunkData);this.verifyHeader(F0,"pgen");let m1=y9(S0.chunkData);this.verifyHeader(m1,"inst");let l1=y9(S0.chunkData);this.verifyHeader(l1,"ibag");let j1=y9(S0.chunkData);this.verifyHeader(j1,"imod");let U1=y9(S0.chunkData);this.verifyHeader(U1,"igen");let c2=y9(S0.chunkData);this.verifyHeader(c2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Dk(c2,N,!f));let P2=CB(U1),L2=hC(j1),a0=xk(l1,P2,L2,this.samples);this.instruments=_k(m1,a0);let g5=CB(F0),p3=hC(P),k3=Lk(U,g5,p3,this.instruments);this.presets.push(...Mk(w,k3,this.defaultModulators)),this.presets.sort((u6,S3)=>u6.program-S3.program+(u6.bank-S3.bank)),m5(`%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.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info),de(),f&&delete this.dataArray}verifyHeader(i,a){i.header.toLowerCase()!==a.toLowerCase()&&(de(),this.parsingError(`Invalid chunk header! Expected "${a.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,a){i.toLowerCase()!==a.toLowerCase()&&(de(),this.parsingError(`Invalid FourCC: Expected "${a.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Hs(n){let i=n.slice(8,12),a=new J5(i);return y4(a,4,void 0,!1).toLowerCase()==="dls "?new qs(n):new fC(n,!1)}async function Rk(){let n="locale.exportAudio.formats.formats.soundfont.options.";M9(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let a=i.div.querySelector("input[trim-toggle='1']").checked,l=i.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(i.div.querySelector("input[type='range']").value)/10;l9(i.id),F7("%cExporting minified soundfont...",I1.info);let f=await this.seq.getMIDI(),x=Hs(f.embeddedSoundFont||this.soundFont);Pa(f,await this.synth.getSynthesizerSnapshot()),a&&Su(x,f);let H=x.write({compress:l,compressionQuality:u,compressionFunction:this.compressionFunc}),F=new Blob([H.buffer],{type:"audio/soundfont"}),N=x.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(F,`${x.soundFontInfo.INAM||"unnamed"}.${N}`),de()}}],99999999,!0,this.localeManager)}async function Fk(){let n="locale.exportAudio.formats.";M9(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{l9(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{l9(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{l9(i.id);try{this._exportSoundfont()}catch{M9("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{l9(i.id);try{this._exportDLS()}catch{M9("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{l9(i.id);try{this._exportRMIDI()}catch{M9("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Tk(){let n=(w,U,P)=>this.seq.midiData.RMIDInfo?.[w]===void 0?U:P.decode(this.seq.midiData.RMIDInfo?.[w]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),a=new TextDecoder(i),l=n("IPRD","",a),u=n("IART","",a),f=n("IGNR","",a),x=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",a),H="locale.exportAudio.formats.formats.rmidi.options.",F="locale.exportAudio.formats.metadata.",S0=M9(this.localeManager.getLocaleString(H+"title"),[{type:"toggle",translatePathTitle:H+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:H+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:F+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:F+"album",attributes:{value:l,name:"album",type:"text"}},{type:"input",translatePathTitle:F+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:F+"genre",attributes:{value:f,name:"genre",type:"text"}},{type:"input",translatePathTitle:F+"comment",attributes:{value:x,name:"comment",type:"text"}},{type:"file",translatePathTitle:F+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:H+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:H+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(H+"confirm"),onClick:async w=>{let U=w.div.querySelector("input[compress-toggle='1']").checked,P=parseInt(w.div.querySelector("input[type='range']").value)/10,F0=w.div.querySelector("input[name='album']").value,m1=w.div.querySelector("input[name='artist']").value,l1=w.div.querySelector("input[name='song_title']").value,j1=w.div.querySelector("input[name='comment']").value,U1=w.div.querySelector("input[name='genre']").value,c2=parseInt(w.div.querySelector("input[name='bank_offset']").value),P2=w.div.querySelector("input[name='adjust']").checked,L2=w.div.querySelector("input[type='file']")?.files[0];l9(w.id),Q8("%cExporting RMIDI...",I1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",g5=M9(this.localeManager.getLocaleString(a0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(a0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(p6=>setTimeout(p6,500));let p3=g5.div.getElementsByClassName("export_rmidi_message")[0],k3=await this.seq.getMIDI(),u6=Hs(k3.embeddedSoundFont||this.soundFont);p3.textContent=this.localeManager.getLocaleString(a0+"modifyingMIDI"),await new Promise(p6=>setTimeout(p6,75)),Pa(k3,await this.synth.getSynthesizerSnapshot()),p3.textContent=this.localeManager.getLocaleString(a0+"modifyingSoundfont"),await new Promise(p6=>setTimeout(p6,75)),Su(u6,k3);let S3=u6.write({compress:U,compressionQuality:P,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(p6=>setTimeout(p6,75));let ge;L2?.type.split("/")[0]==="image"?ge=await L2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(ge=k3.RMIDInfo.IPIC.buffer);let Ne=HE(S3,k3,u6,c2,this.seqUI.encoding,{name:l1,comment:j1,engineer:u6.soundFontInfo.IENG,picture:ge,album:F0.length>0?F0:void 0,artist:m1.length>0?m1:void 0,genre:U1.length>0?U1:void 0,midiEncoding:this.seqUI.encoding},P2),E3=new Blob([Ne.buffer],{type:"audio/rmid"});this.saveBlob(E3,`${l1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(a0+"done"),l9(g5.id),de()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");S0.oninput=()=>{S0.files[0]&&(S0.parentElement.firstChild.textContent=S0.files[0].name)}}var Nk="synthetizer/worklet_processor.min.js";var IC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var a in n)n.hasOwnProperty(a)&&(i[a]=n[a]);var l=typeof window=="object",u=typeof process=="object"&&typeof DE=="function"&&!l,f=typeof importScripts=="function",x=!l&&!u&&!f;if(u){n.print||(n.print=function(c){process.stdout.write(c+` `)}),n.printErr||(n.printErr=function(c){process.stderr.write(c+` -`)});var V=void 0,T=void 0;n.read=function(c,d){c=T.normalize(c);var I=V.readFileSync(c);return!I&&c!=T.resolve(c)&&(c=path.join(__dirname,"..","src",c),I=V.readFileSync(c)),I&&!d&&(I=I.toString()),I},n.readBinary=function(c){return n.read(c,!0)},n.load=function(c){b0(read(c))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof sA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(x)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(c){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(c));var d=read(c,"binary");return G9(typeof d=="object"),d},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(l||f){if(n.read=function(c){var d=new XMLHttpRequest;return d.open("GET",c,!1),d.send(null),d.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(c){console.log(c)}),n.printErr||(n.printErr=function(c){console.log(c)});else{var N=!1;n.print||(n.print=N&&typeof dump<"u"?function(r){dump(r)}:function(r){})}f&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function b0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(c){b0(n.read(c))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a]);var w={setTempRet0:function(r){p6=r},getTempRet0:function(){return p6},stackSave:function(){return S7},stackRestore:function(r){S7=r},getNativeTypeSize:function(r){switch(r){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(r[r.length-1]==="*")return w.QUANTUM_SIZE;if(r[0]==="i"){var c=parseInt(r.substr(1));return G9(c%8===0),c/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(w.getNativeTypeSize(r),w.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,c){return c==="double"||c==="i64"?r&7&&(G9((r&7)===4),r+=4):G9((r&3)===0),r},getAlignSize:function(r,c,d){return!d&&(r=="i64"||r=="double")?8:r?Math.min(c||(r?w.getNativeFieldSize(r):0),w.QUANTUM_SIZE):Math.min(c,8)},dynCall:function(r,c,d){return d&&d.length?(d.splice||(d=Array.prototype.slice.call(d)),d.splice(0,0,c),n["dynCall_"+r].apply(null,d)):n["dynCall_"+r].call(null,c)},functionPointers:[],addFunction:function(r){for(var c=0;c=Js){var d=QC();if(!d)return O7=c,0}return c},alignMemory:function(r,c){var d=r=Math.ceil(r/(c||16))*(c||16);return d},makeBigInt:function(r,c,d){var I=d?+(r>>>0)+ +(c>>>0)*4294967296:+(r>>>0)+ +(c|0)*4294967296;return I},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=w;var U=0,P=!1,F0=0,m1=0,l1,j1,U1,c2,P2,L2,a0,g5,p3,k3,u6,S3,ge,Ne,E3,p6,w4,tr,H8,Xa,Br,eA,O$,EC,CC;function G9(r,c){r||eo("Assertion failed: "+c)}var qk=this;function BC(r){var c=n["_"+r];if(!c)try{c=void("_"+r)}catch{}return G9(c,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),c}var q$,tA;(function(){var r={stackSave:function(){w.stackSave()},stackRestore:function(){w.stackRestore()},arrayToC:function(e1){var n1=w.stackAlloc(e1.length);return rA(e1,n1),n1},stringToC:function(e1){var n1=0;return e1!=null&&e1!==0&&(n1=w.stackAlloc((e1.length<<2)+1),Zs(e1,n1)),n1}},c={string:r.stringToC,array:r.arrayToC};tA=function(n1,x2,o,c1,C){var b5=BC(n1),w2=[],P5=0;if(c1)for(var Ue=0;Ue>0]=c;break;case"i8":Xe[r>>0]=c;break;case"i16":jr[r>>1]=c;break;case"i32":Ge[r>>2]=c;break;case"i64":Ne=[c>>>0,(S3=c,+rl(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+k8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],Ge[r>>2]=Ne[0],Ge[r+4>>2]=Ne[1];break;case"float":sl[r>>2]=c;break;case"double":z$[r>>3]=c;break;default:eo("invalid type for setValue: "+d)}}n.setValue=bu;function yr(r,c,d){switch(c=c||"i8",c.charAt(c.length-1)==="*"&&(c="i32"),c){case"i1":return Xe[r>>0];case"i8":return Xe[r>>0];case"i16":return jr[r>>1];case"i32":return Ge[r>>2];case"i64":return Ge[r>>2];case"float":return sl[r>>2];case"double":return z$[r>>3];default:eo("invalid type for setValue: "+c)}return null}n.getValue=yr;var iA=0,zp=1,Vs=2,Du=3,H3=4;n.ALLOC_NORMAL=iA,n.ALLOC_STACK=zp,n.ALLOC_STATIC=Vs,n.ALLOC_DYNAMIC=Du,n.ALLOC_NONE=H3;function B3(r,c,d,I){var z,e;typeof r=="number"?(z=!0,e=r):(z=!1,e=r.length);var e1=typeof c=="string"?c:null,n1;if(d==H3?n1=I:n1=[Nu,w.stackAlloc,w.staticAlloc,w.dynamicAlloc][d===void 0?Vs:d](Math.max(e,e1?1:c.length)),z){var I=n1,x2;for(G9((n1&3)==0),x2=n1+(e&-4);I>2]=0;for(x2=n1+e;I>0]=0;return n1}if(e1==="i8")return r.subarray||r.slice?b7.set(r,n1):b7.set(new Uint8Array(r),n1),n1;for(var o=0,c1,C,b5;o>0],d|=I,!(I==0&&!c||(z++,c&&z==c)););c||(c=z);var e="";if(d<128){for(var e1=1024,n1;c>0;)n1=String.fromCharCode.apply(String,b7.subarray(r,r+Math.min(c,e1))),e=e?e+n1:n1,r+=e1,c-=e1;return e}return n.UTF8ToString(r)}n.Pointer_stringify=H$;function V$(r){for(var c="";;){var d=Xe[r++>>0];if(!d)return c;c+=String.fromCharCode(d)}}n.AsciiToString=V$;function xB(r,c){return tl(r,c,!1)}n.stringToAscii=xB;function Ys(r,c){for(var d,I,z,e,e1,n1,x2="";;){if(d=r[c++],!d)return x2;if(!(d&128)){x2+=String.fromCharCode(d);continue}if(I=r[c++]&63,(d&224)==192){x2+=String.fromCharCode((d&31)<<6|I);continue}if(z=r[c++]&63,(d&240)==224?d=(d&15)<<12|I<<6|z:(e=r[c++]&63,(d&248)==240?d=(d&7)<<18|I<<12|z<<6|e:(e1=r[c++]&63,(d&252)==248?d=(d&3)<<24|I<<18|z<<12|e<<6|e1:(n1=r[c++]&63,d=(d&1)<<30|I<<24|z<<18|e<<12|e1<<6|n1))),d<65536)x2+=String.fromCharCode(d);else{var o=d-65536;x2+=String.fromCharCode(55296|o>>10,56320|o&1023)}}}n.UTF8ArrayToString=Ys;function Kp(r){return Ys(b7,r)}n.UTF8ToString=Kp;function Un(r,c,d,I){if(!(I>0))return 0;for(var z=d,e=d+I-1,e1=0;e1=55296&&n1<=57343&&(n1=65536+((n1&1023)<<10)|r.charCodeAt(++e1)&1023),n1<=127){if(d>=e)break;c[d++]=n1}else if(n1<=2047){if(d+1>=e)break;c[d++]=192|n1>>6,c[d++]=128|n1&63}else if(n1<=65535){if(d+2>=e)break;c[d++]=224|n1>>12,c[d++]=128|n1>>6&63,c[d++]=128|n1&63}else if(n1<=2097151){if(d+3>=e)break;c[d++]=240|n1>>18,c[d++]=128|n1>>12&63,c[d++]=128|n1>>6&63,c[d++]=128|n1&63}else if(n1<=67108863){if(d+4>=e)break;c[d++]=248|n1>>24,c[d++]=128|n1>>18&63,c[d++]=128|n1>>12&63,c[d++]=128|n1>>6&63,c[d++]=128|n1&63}else{if(d+5>=e)break;c[d++]=252|n1>>30,c[d++]=128|n1>>24&63,c[d++]=128|n1>>18&63,c[d++]=128|n1>>12&63,c[d++]=128|n1>>6&63,c[d++]=128|n1&63}}return c[d]=0,d-z}n.stringToUTF8Array=Un;function Jp(r,c,d){return Un(r,b7,c,d)}n.stringToUTF8=Jp;function zs(r){for(var c=0,d=0;d=55296&&I<=57343&&(I=65536+((I&1023)<<10)|r.charCodeAt(++d)&1023),I<=127?++c:I<=2047?c+=2:I<=65535?c+=3:I<=2097151?c+=4:I<=67108863?c+=5:c+=6}return c}n.lengthBytesUTF8=zs;function Wp(r){for(var c=0,d="";;){var I=jr[r+c*2>>1];if(I==0)return d;++c,d+=String.fromCharCode(I)}}n.UTF16ToString=Wp;function LB(r,c,d){if(d===void 0&&(d=2147483647),d<2)return 0;d-=2;for(var I=c,z=d>1]=e1,c+=2}return jr[c>>1]=0,c-I}n.stringToUTF16=LB;function MB(r){return r.length*2}n.lengthBytesUTF16=MB;function RB(r){for(var c=0,d="";;){var I=Ge[r+c*4>>2];if(I==0)return d;if(++c,I>=65536){var z=I-65536;d+=String.fromCharCode(55296|z>>10,56320|z&1023)}else d+=String.fromCharCode(I)}}n.UTF32ToString=RB;function FB(r,c,d){if(d===void 0&&(d=2147483647),d<4)return 0;for(var I=c,z=I+d-4,e=0;e=55296&&e1<=57343){var n1=r.charCodeAt(++e);e1=65536+((e1&1023)<<10)|n1&1023}if(Ge[c>>2]=e1,c+=4,c+4>z)break}return Ge[c>>2]=0,c-I}n.stringToUTF32=FB;function TB(r){for(var c=0,d=0;d=55296&&I<=57343&&++d,c+=4}return c}n.lengthBytesUTF32=TB;function NB(r){var c=!!n.___cxa_demangle;if(c)try{var d=Nu(r.length);Zs(r.substr(1),d);var I=Nu(4),z=n.___cxa_demangle(d,0,0,I);if(yr(I,"i32")===0&&z)return H$(z)}catch{}finally{d&&bC(d),I&&bC(I),z&&bC(z)}var e=3,e1={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:"..."},n1=[],x2=!0;function o(w2){w2&&n.print(w2),n.print(r);for(var P5="",Ue=0;Ue"}else We=i9;e:for(;e0;){var vr=r[e++];if(vr in e1)Q9.push(e1[vr]);else switch(vr){case"P":Q9.push(C(!0,1,!0)[0]+"*");break;case"R":Q9.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var al=r.indexOf("E",e),It=al-e;Q9.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,Q9.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:We+="?"+vr;break e}}return!Ue&&Q9.length===1&&Q9[0]==="void"&&(Q9=[]),w2?(We&&Q9.push(We+"?"),Q9):We+Dt()}var b5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=H$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}b5=C()}catch{b5+="?"}return b5.indexOf("?")>=0&&!c&&w.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),b5}function GB(r){return r.replace(/__Z[\w\d_]+/g,function(c){var d=NB(c);return c===d?c:c+" ["+d+"]"})}function UB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(c){r=c}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Zp(){return GB(UB())}n.stackTrace=Zp;var yC=4096;function _u(r){return r%4096>0&&(r+=4096-r%4096),r}var jp,Xe,b7,jr,Y$,Ge,nl,sl,z$,Ks=0,Xr=0,K$=!1,xu=0,S7=0,J$=0,W$=0,O7=0;function QC(){eo("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Js+", (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 Xp=n.TOTAL_STACK||5242880,Js=n.TOTAL_MEMORY||16777216,en=64*1024;en0;){var c=r.shift();if(typeof c=="function"){c();continue}var d=c.func;typeof d=="number"?c.arg===void 0?w.dynCall("v",d):w.dynCall("vi",d,[c.arg]):d(c.arg===void 0?null:c.arg)}}var eE=[],j$=[],Lu=[],X$=[],Mu=[],Ru=!1,Pn=!1;function Fu(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Gi(n.preRun.shift());Z$(eE)}function Ws(){Ru||(Ru=!0,Z$(j$))}function PB(){Z$(Lu)}function tE(){Z$(X$),Pn=!0}function el(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)wC(n.postRun.shift());Z$(Mu)}function Gi(r){eE.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function OB(r){j$.unshift(r)}n.addOnInit=n.addOnInit=OB;function qB(r){Lu.unshift(r)}n.addOnPreMain=n.addOnPreMain=qB;function HB(r){X$.unshift(r)}n.addOnExit=n.addOnExit=HB;function wC(r){Mu.unshift(r)}n.addOnPostRun=n.addOnPostRun=wC;function tn(r,c,d){var I=d>0?d:zs(r)+1,z=new Array(I),e=Un(r,z,0,z.length);return c&&(z.length=e),z}n.intArrayFromString=tn;function vC(r){for(var c=[],d=0;d255&&(I&=255),c.push(String.fromCharCode(I))}return c.join("")}n.intArrayToString=vC;function Zs(r,c,d){for(var I=tn(r,d),z=0;z>0]=e,z=z+1}}n.writeStringToMemory=Zs;function rA(r,c){for(var d=0;d>0]=r[d]}n.writeArrayToMemory=rA;function tl(r,c,d){for(var I=0;I>0]=r.charCodeAt(I);d||(Xe[c>>0]=0)}n.writeAsciiToMemory=tl;function iE(r,c,d){return r>=0?r:c<=32?2*Math.abs(1<=I&&(c<=32||r>I)&&(r=-2*I+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(c,d){var I=c>>>16,z=c&65535,e=d>>>16,e1=d&65535;return z*e1+(I*e1+z*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var c=0;c<32;c++)if(r&1<<31-c)return c;return 32}),Math.clz32=Math.clz32;var rl=Math.abs,kC=Math.cos,ir=Math.sin,T0=Math.tan,i1=Math.acos,w1=Math.asin,_2=Math.atan,i6=Math.atan2,Ee=Math.exp,e9=Math.log,E6=Math.sqrt,k8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,Ce=Math.fround,Ui=Math.min,H7=Math.clz32,S8=0,Pi=null,V7=null;function Y7(r){return r}function On(r){S8++,n.monitorRunDependencies&&n.monitorRunDependencies(S8)}n.addRunDependency=On;function Qr(r){if(S8--,n.monitorRunDependencies&&n.monitorRunDependencies(S8),S8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),V7)){var c=V7;V7=null,c()}}n.removeRunDependency=Qr,n.preloadedImages={},n.preloadedAudios={};var rE=null,Tu=[];Ks=8,Xr=Ks+553552,j$.push(),B3([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",H3,w.GLOBAL_BASE),B3([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",H3,w.GLOBAL_BASE+10240),B3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,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",H3,w.GLOBAL_BASE+20480),B3([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",H3,w.GLOBAL_BASE+30720),B3([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",H3,w.GLOBAL_BASE+41032),B3([1],"i8",H3,w.GLOBAL_BASE+49544),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+50572),B3([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",H3,w.GLOBAL_BASE+52752),B3([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",H3,w.GLOBAL_BASE+55148),B3([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",H3,w.GLOBAL_BASE+62212),B3([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",H3,w.GLOBAL_BASE+72464),B3([1],"i8",H3,w.GLOBAL_BASE+78916),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+79944),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+81996),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+83152),B3([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",H3,w.GLOBAL_BASE+86572),B3([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",H3,w.GLOBAL_BASE+97272),B3([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",H3,w.GLOBAL_BASE+107456),B3([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",H3,w.GLOBAL_BASE+117696),B3([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",H3,w.GLOBAL_BASE+124340),B3([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",H3,w.GLOBAL_BASE+134580),B3([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",H3,w.GLOBAL_BASE+144820),B3([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",H3,w.GLOBAL_BASE+155104),B3([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",H3,w.GLOBAL_BASE+165344),B3([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",H3,w.GLOBAL_BASE+175348),B3([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",H3,w.GLOBAL_BASE+185588),B3([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",H3,w.GLOBAL_BASE+195830),B3([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",H3,w.GLOBAL_BASE+207264),B3([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",H3,w.GLOBAL_BASE+218416),B3([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",H3,w.GLOBAL_BASE+229400),B3([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",H3,w.GLOBAL_BASE+240320),B3([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",H3,w.GLOBAL_BASE+242772),B3([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",H3,w.GLOBAL_BASE+253728),B3([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",H3,w.GLOBAL_BASE+263472),B3([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",H3,w.GLOBAL_BASE+274008),B3([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",H3,w.GLOBAL_BASE+284176),B3([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",H3,w.GLOBAL_BASE+294712),B3([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",H3,w.GLOBAL_BASE+304880),B3([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",H3,w.GLOBAL_BASE+315120),B3([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",H3,w.GLOBAL_BASE+325360),B3([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",H3,w.GLOBAL_BASE+339320),B3([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",H3,w.GLOBAL_BASE+349504),B3([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",H3,w.GLOBAL_BASE+360488),B3([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",H3,w.GLOBAL_BASE+363696),B3([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",H3,w.GLOBAL_BASE+366508),B3([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",H3,w.GLOBAL_BASE+369616),B3([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",H3,w.GLOBAL_BASE+379856),B3([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",H3,w.GLOBAL_BASE+390097),B3([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",H3,w.GLOBAL_BASE+400337),B3([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",H3,w.GLOBAL_BASE+410577),B3([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",H3,w.GLOBAL_BASE+420817),B3([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",H3,w.GLOBAL_BASE+431057),B3([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",H3,w.GLOBAL_BASE+441297),B3([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",H3,w.GLOBAL_BASE+446300),B3([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",H3,w.GLOBAL_BASE+456540),B3([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",H3,w.GLOBAL_BASE+466780),B3([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",H3,w.GLOBAL_BASE+477020),B3([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",H3,w.GLOBAL_BASE+487288),B3([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",H3,w.GLOBAL_BASE+489700),B3([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",H3,w.GLOBAL_BASE+500144),B3([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",H3,w.GLOBAL_BASE+510456),B3([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",H3,w.GLOBAL_BASE+520696),B3([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",H3,w.GLOBAL_BASE+530936),B3([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",H3,w.GLOBAL_BASE+541176),B3([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",H3,w.GLOBAL_BASE+551416);var bt=w.alignMemory(B3(12,"i8",Vs),8);G9(bt%8==0);function SC(r){Xe[bt]=Xe[r],Xe[bt+1]=Xe[r+1],Xe[bt+2]=Xe[r+2],Xe[bt+3]=Xe[r+3]}function wr(r){Xe[bt]=Xe[r],Xe[bt+1]=Xe[r+1],Xe[bt+2]=Xe[r+2],Xe[bt+3]=Xe[r+3],Xe[bt+4]=Xe[r+4],Xe[bt+5]=Xe[r+5],Xe[bt+6]=Xe[r+6],Xe[bt+7]=Xe[r+7]}var rr=kC,nA=rl,js=0;function Xs(r){return Ge[js>>2]=r,r}var N2={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 VB(r){switch(r){case 30:return yC;case 85:return en/yC;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 Xs(N2.EINVAL),-1}n._memset=QS;var YB=!0;n._strlen=ES,n._strcat=CS,n._bitshift64Shl=SS;function Hk(){n.abort()}n._i64Add=BS;var Vk=H4,Yk={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"},qn={ttys:[],init:function(){},shutdown:function(){},register:function(r,c){qn.ttys[r]={input:[],output:[],ops:c},S.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var c=qn.ttys[r.node.rdev];if(!c)throw new S.ErrnoError(N2.ENODEV);r.tty=c,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,c,d,I,z){if(!r.tty||!r.tty.ops.get_char)throw new S.ErrnoError(N2.ENXIO);for(var e=0,e1=0;e10?c=I.slice(0,z).toString("utf-8"):c=null}else typeof window<"u"&&typeof window.prompt=="function"?(c=window.prompt("Input: "),c!==null&&(c+=` +`)});var H=void 0,F=void 0;n.read=function(c,d){c=F.normalize(c);var I=H.readFileSync(c);return!I&&c!=F.resolve(c)&&(c=path.join(__dirname,"..","src",c),I=H.readFileSync(c)),I&&!d&&(I=I.toString()),I},n.readBinary=function(c){return n.read(c,!0)},n.load=function(c){S0(read(c))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof sA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(x)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(c){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(c));var d=read(c,"binary");return G9(typeof d=="object"),d},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(l||f){if(n.read=function(c){var d=new XMLHttpRequest;return d.open("GET",c,!1),d.send(null),d.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(c){console.log(c)}),n.printErr||(n.printErr=function(c){console.log(c)});else{var N=!1;n.print||(n.print=N&&typeof dump<"u"?function(r){dump(r)}:function(r){})}f&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function S0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(c){S0(n.read(c))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a]);var w={setTempRet0:function(r){p6=r},getTempRet0:function(){return p6},stackSave:function(){return S7},stackRestore:function(r){S7=r},getNativeTypeSize:function(r){switch(r){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(r[r.length-1]==="*")return w.QUANTUM_SIZE;if(r[0]==="i"){var c=parseInt(r.substr(1));return G9(c%8===0),c/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(w.getNativeTypeSize(r),w.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,c){return c==="double"||c==="i64"?r&7&&(G9((r&7)===4),r+=4):G9((r&3)===0),r},getAlignSize:function(r,c,d){return!d&&(r=="i64"||r=="double")?8:r?Math.min(c||(r?w.getNativeFieldSize(r):0),w.QUANTUM_SIZE):Math.min(c,8)},dynCall:function(r,c,d){return d&&d.length?(d.splice||(d=Array.prototype.slice.call(d)),d.splice(0,0,c),n["dynCall_"+r].apply(null,d)):n["dynCall_"+r].call(null,c)},functionPointers:[],addFunction:function(r){for(var c=0;c=Js){var d=QC();if(!d)return O7=c,0}return c},alignMemory:function(r,c){var d=r=Math.ceil(r/(c||16))*(c||16);return d},makeBigInt:function(r,c,d){var I=d?+(r>>>0)+ +(c>>>0)*4294967296:+(r>>>0)+ +(c|0)*4294967296;return I},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=w;var U=0,P=!1,F0=0,m1=0,l1,j1,U1,c2,P2,L2,a0,g5,p3,k3,u6,S3,ge,Ne,E3,p6,w4,tr,H8,Xa,Br,eA,O$,EC,CC;function G9(r,c){r||eo("Assertion failed: "+c)}var qk=this;function BC(r){var c=n["_"+r];if(!c)try{c=void("_"+r)}catch{}return G9(c,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),c}var q$,tA;(function(){var r={stackSave:function(){w.stackSave()},stackRestore:function(){w.stackRestore()},arrayToC:function(e1){var n1=w.stackAlloc(e1.length);return rA(e1,n1),n1},stringToC:function(e1){var n1=0;return e1!=null&&e1!==0&&(n1=w.stackAlloc((e1.length<<2)+1),Zs(e1,n1)),n1}},c={string:r.stringToC,array:r.arrayToC};tA=function(n1,x2,o,c1,C){var b5=BC(n1),w2=[],P5=0;if(c1)for(var Ue=0;Ue>0]=c;break;case"i8":Xe[r>>0]=c;break;case"i16":jr[r>>1]=c;break;case"i32":Ge[r>>2]=c;break;case"i64":Ne=[c>>>0,(S3=c,+rl(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+k8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],Ge[r>>2]=Ne[0],Ge[r+4>>2]=Ne[1];break;case"float":sl[r>>2]=c;break;case"double":z$[r>>3]=c;break;default:eo("invalid type for setValue: "+d)}}n.setValue=bu;function yr(r,c,d){switch(c=c||"i8",c.charAt(c.length-1)==="*"&&(c="i32"),c){case"i1":return Xe[r>>0];case"i8":return Xe[r>>0];case"i16":return jr[r>>1];case"i32":return Ge[r>>2];case"i64":return Ge[r>>2];case"float":return sl[r>>2];case"double":return z$[r>>3];default:eo("invalid type for setValue: "+c)}return null}n.getValue=yr;var iA=0,zp=1,Vs=2,Du=3,H3=4;n.ALLOC_NORMAL=iA,n.ALLOC_STACK=zp,n.ALLOC_STATIC=Vs,n.ALLOC_DYNAMIC=Du,n.ALLOC_NONE=H3;function B3(r,c,d,I){var z,e;typeof r=="number"?(z=!0,e=r):(z=!1,e=r.length);var e1=typeof c=="string"?c:null,n1;if(d==H3?n1=I:n1=[Nu,w.stackAlloc,w.staticAlloc,w.dynamicAlloc][d===void 0?Vs:d](Math.max(e,e1?1:c.length)),z){var I=n1,x2;for(G9((n1&3)==0),x2=n1+(e&-4);I>2]=0;for(x2=n1+e;I>0]=0;return n1}if(e1==="i8")return r.subarray||r.slice?b7.set(r,n1):b7.set(new Uint8Array(r),n1),n1;for(var o=0,c1,C,b5;o>0],d|=I,!(I==0&&!c||(z++,c&&z==c)););c||(c=z);var e="";if(d<128){for(var e1=1024,n1;c>0;)n1=String.fromCharCode.apply(String,b7.subarray(r,r+Math.min(c,e1))),e=e?e+n1:n1,r+=e1,c-=e1;return e}return n.UTF8ToString(r)}n.Pointer_stringify=H$;function V$(r){for(var c="";;){var d=Xe[r++>>0];if(!d)return c;c+=String.fromCharCode(d)}}n.AsciiToString=V$;function xB(r,c){return tl(r,c,!1)}n.stringToAscii=xB;function Ys(r,c){for(var d,I,z,e,e1,n1,x2="";;){if(d=r[c++],!d)return x2;if(!(d&128)){x2+=String.fromCharCode(d);continue}if(I=r[c++]&63,(d&224)==192){x2+=String.fromCharCode((d&31)<<6|I);continue}if(z=r[c++]&63,(d&240)==224?d=(d&15)<<12|I<<6|z:(e=r[c++]&63,(d&248)==240?d=(d&7)<<18|I<<12|z<<6|e:(e1=r[c++]&63,(d&252)==248?d=(d&3)<<24|I<<18|z<<12|e<<6|e1:(n1=r[c++]&63,d=(d&1)<<30|I<<24|z<<18|e<<12|e1<<6|n1))),d<65536)x2+=String.fromCharCode(d);else{var o=d-65536;x2+=String.fromCharCode(55296|o>>10,56320|o&1023)}}}n.UTF8ArrayToString=Ys;function Kp(r){return Ys(b7,r)}n.UTF8ToString=Kp;function Un(r,c,d,I){if(!(I>0))return 0;for(var z=d,e=d+I-1,e1=0;e1=55296&&n1<=57343&&(n1=65536+((n1&1023)<<10)|r.charCodeAt(++e1)&1023),n1<=127){if(d>=e)break;c[d++]=n1}else if(n1<=2047){if(d+1>=e)break;c[d++]=192|n1>>6,c[d++]=128|n1&63}else if(n1<=65535){if(d+2>=e)break;c[d++]=224|n1>>12,c[d++]=128|n1>>6&63,c[d++]=128|n1&63}else if(n1<=2097151){if(d+3>=e)break;c[d++]=240|n1>>18,c[d++]=128|n1>>12&63,c[d++]=128|n1>>6&63,c[d++]=128|n1&63}else if(n1<=67108863){if(d+4>=e)break;c[d++]=248|n1>>24,c[d++]=128|n1>>18&63,c[d++]=128|n1>>12&63,c[d++]=128|n1>>6&63,c[d++]=128|n1&63}else{if(d+5>=e)break;c[d++]=252|n1>>30,c[d++]=128|n1>>24&63,c[d++]=128|n1>>18&63,c[d++]=128|n1>>12&63,c[d++]=128|n1>>6&63,c[d++]=128|n1&63}}return c[d]=0,d-z}n.stringToUTF8Array=Un;function Jp(r,c,d){return Un(r,b7,c,d)}n.stringToUTF8=Jp;function zs(r){for(var c=0,d=0;d=55296&&I<=57343&&(I=65536+((I&1023)<<10)|r.charCodeAt(++d)&1023),I<=127?++c:I<=2047?c+=2:I<=65535?c+=3:I<=2097151?c+=4:I<=67108863?c+=5:c+=6}return c}n.lengthBytesUTF8=zs;function Wp(r){for(var c=0,d="";;){var I=jr[r+c*2>>1];if(I==0)return d;++c,d+=String.fromCharCode(I)}}n.UTF16ToString=Wp;function LB(r,c,d){if(d===void 0&&(d=2147483647),d<2)return 0;d-=2;for(var I=c,z=d>1]=e1,c+=2}return jr[c>>1]=0,c-I}n.stringToUTF16=LB;function MB(r){return r.length*2}n.lengthBytesUTF16=MB;function RB(r){for(var c=0,d="";;){var I=Ge[r+c*4>>2];if(I==0)return d;if(++c,I>=65536){var z=I-65536;d+=String.fromCharCode(55296|z>>10,56320|z&1023)}else d+=String.fromCharCode(I)}}n.UTF32ToString=RB;function FB(r,c,d){if(d===void 0&&(d=2147483647),d<4)return 0;for(var I=c,z=I+d-4,e=0;e=55296&&e1<=57343){var n1=r.charCodeAt(++e);e1=65536+((e1&1023)<<10)|n1&1023}if(Ge[c>>2]=e1,c+=4,c+4>z)break}return Ge[c>>2]=0,c-I}n.stringToUTF32=FB;function TB(r){for(var c=0,d=0;d=55296&&I<=57343&&++d,c+=4}return c}n.lengthBytesUTF32=TB;function NB(r){var c=!!n.___cxa_demangle;if(c)try{var d=Nu(r.length);Zs(r.substr(1),d);var I=Nu(4),z=n.___cxa_demangle(d,0,0,I);if(yr(I,"i32")===0&&z)return H$(z)}catch{}finally{d&&bC(d),I&&bC(I),z&&bC(z)}var e=3,e1={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:"..."},n1=[],x2=!0;function o(w2){w2&&n.print(w2),n.print(r);for(var P5="",Ue=0;Ue"}else We=i9;e:for(;e0;){var vr=r[e++];if(vr in e1)Q9.push(e1[vr]);else switch(vr){case"P":Q9.push(C(!0,1,!0)[0]+"*");break;case"R":Q9.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var al=r.indexOf("E",e),It=al-e;Q9.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,Q9.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:We+="?"+vr;break e}}return!Ue&&Q9.length===1&&Q9[0]==="void"&&(Q9=[]),w2?(We&&Q9.push(We+"?"),Q9):We+Dt()}var b5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=H$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}b5=C()}catch{b5+="?"}return b5.indexOf("?")>=0&&!c&&w.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),b5}function GB(r){return r.replace(/__Z[\w\d_]+/g,function(c){var d=NB(c);return c===d?c:c+" ["+d+"]"})}function UB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(c){r=c}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Zp(){return GB(UB())}n.stackTrace=Zp;var yC=4096;function _u(r){return r%4096>0&&(r+=4096-r%4096),r}var jp,Xe,b7,jr,Y$,Ge,nl,sl,z$,Ks=0,Xr=0,K$=!1,xu=0,S7=0,J$=0,W$=0,O7=0;function QC(){eo("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Js+", (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 Xp=n.TOTAL_STACK||5242880,Js=n.TOTAL_MEMORY||16777216,en=64*1024;en0;){var c=r.shift();if(typeof c=="function"){c();continue}var d=c.func;typeof d=="number"?c.arg===void 0?w.dynCall("v",d):w.dynCall("vi",d,[c.arg]):d(c.arg===void 0?null:c.arg)}}var eE=[],j$=[],Lu=[],X$=[],Mu=[],Ru=!1,Pn=!1;function Fu(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Gi(n.preRun.shift());Z$(eE)}function Ws(){Ru||(Ru=!0,Z$(j$))}function PB(){Z$(Lu)}function tE(){Z$(X$),Pn=!0}function el(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)wC(n.postRun.shift());Z$(Mu)}function Gi(r){eE.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function OB(r){j$.unshift(r)}n.addOnInit=n.addOnInit=OB;function qB(r){Lu.unshift(r)}n.addOnPreMain=n.addOnPreMain=qB;function HB(r){X$.unshift(r)}n.addOnExit=n.addOnExit=HB;function wC(r){Mu.unshift(r)}n.addOnPostRun=n.addOnPostRun=wC;function tn(r,c,d){var I=d>0?d:zs(r)+1,z=new Array(I),e=Un(r,z,0,z.length);return c&&(z.length=e),z}n.intArrayFromString=tn;function vC(r){for(var c=[],d=0;d255&&(I&=255),c.push(String.fromCharCode(I))}return c.join("")}n.intArrayToString=vC;function Zs(r,c,d){for(var I=tn(r,d),z=0;z>0]=e,z=z+1}}n.writeStringToMemory=Zs;function rA(r,c){for(var d=0;d>0]=r[d]}n.writeArrayToMemory=rA;function tl(r,c,d){for(var I=0;I>0]=r.charCodeAt(I);d||(Xe[c>>0]=0)}n.writeAsciiToMemory=tl;function iE(r,c,d){return r>=0?r:c<=32?2*Math.abs(1<=I&&(c<=32||r>I)&&(r=-2*I+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(c,d){var I=c>>>16,z=c&65535,e=d>>>16,e1=d&65535;return z*e1+(I*e1+z*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var c=0;c<32;c++)if(r&1<<31-c)return c;return 32}),Math.clz32=Math.clz32;var rl=Math.abs,kC=Math.cos,ir=Math.sin,T0=Math.tan,i1=Math.acos,w1=Math.asin,_2=Math.atan,i6=Math.atan2,Ee=Math.exp,e9=Math.log,E6=Math.sqrt,k8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,Ce=Math.fround,Ui=Math.min,H7=Math.clz32,S8=0,Pi=null,V7=null;function Y7(r){return r}function On(r){S8++,n.monitorRunDependencies&&n.monitorRunDependencies(S8)}n.addRunDependency=On;function Qr(r){if(S8--,n.monitorRunDependencies&&n.monitorRunDependencies(S8),S8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),V7)){var c=V7;V7=null,c()}}n.removeRunDependency=Qr,n.preloadedImages={},n.preloadedAudios={};var rE=null,Tu=[];Ks=8,Xr=Ks+553552,j$.push(),B3([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",H3,w.GLOBAL_BASE),B3([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",H3,w.GLOBAL_BASE+10240),B3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,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",H3,w.GLOBAL_BASE+20480),B3([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",H3,w.GLOBAL_BASE+30720),B3([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",H3,w.GLOBAL_BASE+41032),B3([1],"i8",H3,w.GLOBAL_BASE+49544),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+50572),B3([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",H3,w.GLOBAL_BASE+52752),B3([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",H3,w.GLOBAL_BASE+55148),B3([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",H3,w.GLOBAL_BASE+62212),B3([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",H3,w.GLOBAL_BASE+72464),B3([1],"i8",H3,w.GLOBAL_BASE+78916),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+79944),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+81996),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+83152),B3([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",H3,w.GLOBAL_BASE+86572),B3([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",H3,w.GLOBAL_BASE+97272),B3([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",H3,w.GLOBAL_BASE+107456),B3([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",H3,w.GLOBAL_BASE+117696),B3([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",H3,w.GLOBAL_BASE+124340),B3([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",H3,w.GLOBAL_BASE+134580),B3([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",H3,w.GLOBAL_BASE+144820),B3([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",H3,w.GLOBAL_BASE+155104),B3([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",H3,w.GLOBAL_BASE+165344),B3([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",H3,w.GLOBAL_BASE+175348),B3([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",H3,w.GLOBAL_BASE+185588),B3([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",H3,w.GLOBAL_BASE+195830),B3([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",H3,w.GLOBAL_BASE+207264),B3([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",H3,w.GLOBAL_BASE+218416),B3([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",H3,w.GLOBAL_BASE+229400),B3([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",H3,w.GLOBAL_BASE+240320),B3([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",H3,w.GLOBAL_BASE+242772),B3([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",H3,w.GLOBAL_BASE+253728),B3([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",H3,w.GLOBAL_BASE+263472),B3([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",H3,w.GLOBAL_BASE+274008),B3([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",H3,w.GLOBAL_BASE+284176),B3([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",H3,w.GLOBAL_BASE+294712),B3([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",H3,w.GLOBAL_BASE+304880),B3([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",H3,w.GLOBAL_BASE+315120),B3([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",H3,w.GLOBAL_BASE+325360),B3([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",H3,w.GLOBAL_BASE+339320),B3([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",H3,w.GLOBAL_BASE+349504),B3([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",H3,w.GLOBAL_BASE+360488),B3([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",H3,w.GLOBAL_BASE+363696),B3([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",H3,w.GLOBAL_BASE+366508),B3([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",H3,w.GLOBAL_BASE+369616),B3([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",H3,w.GLOBAL_BASE+379856),B3([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",H3,w.GLOBAL_BASE+390097),B3([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",H3,w.GLOBAL_BASE+400337),B3([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",H3,w.GLOBAL_BASE+410577),B3([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",H3,w.GLOBAL_BASE+420817),B3([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",H3,w.GLOBAL_BASE+431057),B3([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",H3,w.GLOBAL_BASE+441297),B3([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",H3,w.GLOBAL_BASE+446300),B3([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",H3,w.GLOBAL_BASE+456540),B3([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",H3,w.GLOBAL_BASE+466780),B3([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",H3,w.GLOBAL_BASE+477020),B3([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",H3,w.GLOBAL_BASE+487288),B3([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",H3,w.GLOBAL_BASE+489700),B3([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",H3,w.GLOBAL_BASE+500144),B3([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",H3,w.GLOBAL_BASE+510456),B3([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",H3,w.GLOBAL_BASE+520696),B3([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",H3,w.GLOBAL_BASE+530936),B3([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",H3,w.GLOBAL_BASE+541176),B3([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",H3,w.GLOBAL_BASE+551416);var bt=w.alignMemory(B3(12,"i8",Vs),8);G9(bt%8==0);function SC(r){Xe[bt]=Xe[r],Xe[bt+1]=Xe[r+1],Xe[bt+2]=Xe[r+2],Xe[bt+3]=Xe[r+3]}function wr(r){Xe[bt]=Xe[r],Xe[bt+1]=Xe[r+1],Xe[bt+2]=Xe[r+2],Xe[bt+3]=Xe[r+3],Xe[bt+4]=Xe[r+4],Xe[bt+5]=Xe[r+5],Xe[bt+6]=Xe[r+6],Xe[bt+7]=Xe[r+7]}var rr=kC,nA=rl,js=0;function Xs(r){return Ge[js>>2]=r,r}var N2={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 VB(r){switch(r){case 30:return yC;case 85:return en/yC;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 Xs(N2.EINVAL),-1}n._memset=QS;var YB=!0;n._strlen=ES,n._strcat=CS,n._bitshift64Shl=SS;function Hk(){n.abort()}n._i64Add=BS;var Vk=H4,Yk={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"},qn={ttys:[],init:function(){},shutdown:function(){},register:function(r,c){qn.ttys[r]={input:[],output:[],ops:c},S.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var c=qn.ttys[r.node.rdev];if(!c)throw new S.ErrnoError(N2.ENODEV);r.tty=c,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,c,d,I,z){if(!r.tty||!r.tty.ops.get_char)throw new S.ErrnoError(N2.ENXIO);for(var e=0,e1=0;e10?c=I.slice(0,z).toString("utf-8"):c=null}else typeof window<"u"&&typeof window.prompt=="function"?(c=window.prompt("Input: "),c!==null&&(c+=` `)):typeof readline=="function"&&(c=readline(),c!==null&&(c+=` -`));if(!c)return null;r.input=tn(c,!0)}return r.input.shift()},put_char:function(r,c){c===null||c===10?(n.print(Ys(r.output,0)),r.output=[]):c!=0&&r.output.push(c)},flush:function(r){r.output&&r.output.length>0&&(n.print(Ys(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,c){c===null||c===10?(n.printErr(Ys(r.output,0)),r.output=[]):c!=0&&r.output.push(c)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Ys(r.output,0)),r.output=[])}}},Me={ops_table:null,mount:function(r){return Me.createNode(null,"/",16895,0)},createNode:function(r,c,d,I){if(S.isBlkdev(d)||S.isFIFO(d))throw new S.ErrnoError(N2.EPERM);Me.ops_table||(Me.ops_table={dir:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,lookup:Me.node_ops.lookup,mknod:Me.node_ops.mknod,rename:Me.node_ops.rename,unlink:Me.node_ops.unlink,rmdir:Me.node_ops.rmdir,readdir:Me.node_ops.readdir,symlink:Me.node_ops.symlink},stream:{llseek:Me.stream_ops.llseek}},file:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:{llseek:Me.stream_ops.llseek,read:Me.stream_ops.read,write:Me.stream_ops.write,allocate:Me.stream_ops.allocate,mmap:Me.stream_ops.mmap,msync:Me.stream_ops.msync}},link:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,readlink:Me.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:S.chrdev_stream_ops}});var z=S.createNode(r,c,d,I);return S.isDir(z.mode)?(z.node_ops=Me.ops_table.dir.node,z.stream_ops=Me.ops_table.dir.stream,z.contents={}):S.isFile(z.mode)?(z.node_ops=Me.ops_table.file.node,z.stream_ops=Me.ops_table.file.stream,z.usedBytes=0,z.contents=null):S.isLink(z.mode)?(z.node_ops=Me.ops_table.link.node,z.stream_ops=Me.ops_table.link.stream):S.isChrdev(z.mode)&&(z.node_ops=Me.ops_table.chrdev.node,z.stream_ops=Me.ops_table.chrdev.stream),z.timestamp=Date.now(),r&&(r.contents[c]=z),z},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var c=[],d=0;dr.contents.length&&(r.contents=Me.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var d=r.contents?r.contents.buffer.byteLength:0;if(d>=c)return;var I=1024*1024;c=Math.max(c,d*(d0&&r.contents.set(z.subarray(0,r.usedBytes),0);return}for(!r.contents&&c>0&&(r.contents=[]);r.contents.lengthc)r.contents.length=c;else for(;r.contents.length=r.node.usedBytes)return 0;var e1=Math.min(r.node.usedBytes-z,I);if(G9(e1>=0),e1>8&&e.subarray)c.set(e.subarray(z,z+e1),d);else for(var n1=0;n10||z+IP5.timestamp)&&(z.push(b5),I++)});var e=[];if(Object.keys(c.entries).forEach(function(b5){var w2=c.entries[b5],P5=r.entries[b5];P5||(e.push(b5),I++)}),!I)return d(null);var e1=!1,n1=0,x2=r.type==="remote"?r.db:c.db,o=x2.transaction([b8.DB_STORE_NAME],"readwrite"),c1=o.objectStore(b8.DB_STORE_NAME);function C(b5){if(b5)return C.errored?void 0:(C.errored=!0,d(b5));if(++n1>=I)return d(null)}o.onerror=function(b5){C(this.error),b5.preventDefault()},z.sort().forEach(function(b5){c.type==="local"?b8.loadRemoteEntry(c1,b5,function(w2,P5){if(w2)return C(w2);b8.storeLocalEntry(b5,P5,C)}):b8.loadLocalEntry(b5,function(w2,P5){if(w2)return C(w2);b8.storeRemoteEntry(c1,b5,P5,C)})}),e.sort().reverse().forEach(function(b5){c.type==="local"?b8.removeLocalEntry(b5,C):b8.removeRemoteEntry(c1,b5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return G9(u),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,c,d,I){if(!S.isDir(d)&&!S.isFile(d)&&!S.isLink(d))throw new S.ErrnoError(N2.EINVAL);var z=S.createNode(r,c,d);return z.node_ops=ft.node_ops,z.stream_ops=ft.stream_ops,z},getMode:function(r){var c;try{c=D8.lstatSync(r),ft.isWindows&&(c.mode=c.mode|(c.mode&146)>>1)}catch(d){throw d.code?new S.ErrnoError(N2[d.code]):d}return c.mode},realPath:function(r){for(var c=[];r.parent!==r;)c.push(r.name),r=r.parent;return c.push(r.mount.opts.root),c.reverse(),me.join.apply(null,c)},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(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var c=ft.realPath(r),d;try{d=D8.lstatSync(c)}catch(I){throw I.code?new S.ErrnoError(N2[I.code]):I}return ft.isWindows&&!d.blksize&&(d.blksize=4096),ft.isWindows&&!d.blocks&&(d.blocks=(d.size+d.blksize-1)/d.blksize|0),{dev:d.dev,ino:d.ino,mode:d.mode,nlink:d.nlink,uid:d.uid,gid:d.gid,rdev:d.rdev,size:d.size,atime:d.atime,mtime:d.mtime,ctime:d.ctime,blksize:d.blksize,blocks:d.blocks}},setattr:function(r,c){var d=ft.realPath(r);try{if(c.mode!==void 0&&(D8.chmodSync(d,c.mode),r.mode=c.mode),c.timestamp!==void 0){var I=new Date(c.timestamp);D8.utimesSync(d,I,I)}c.size!==void 0&&D8.truncateSync(d,c.size)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},lookup:function(r,c){var d=me.join2(ft.realPath(r),c),I=ft.getMode(d);return ft.createNode(r,c,I)},mknod:function(r,c,d,I){var z=ft.createNode(r,c,d,I),e=ft.realPath(z);try{S.isDir(z.mode)?D8.mkdirSync(e,z.mode):D8.writeFileSync(e,"",{mode:z.mode})}catch(e1){throw e1.code?new S.ErrnoError(N2[e1.code]):e1}return z},rename:function(r,c,d){var I=ft.realPath(r),z=me.join2(ft.realPath(c),d);try{D8.renameSync(I,z)}catch(e){throw e.code?new S.ErrnoError(N2[e.code]):e}},unlink:function(r,c){var d=me.join2(ft.realPath(r),c);try{D8.unlinkSync(d)}catch(I){throw I.code?new S.ErrnoError(N2[I.code]):I}},rmdir:function(r,c){var d=me.join2(ft.realPath(r),c);try{D8.rmdirSync(d)}catch(I){throw I.code?new S.ErrnoError(N2[I.code]):I}},readdir:function(r){var c=ft.realPath(r);try{return D8.readdirSync(c)}catch(d){throw d.code?new S.ErrnoError(N2[d.code]):d}},symlink:function(r,c,d){var I=me.join2(ft.realPath(r),c);try{D8.symlinkSync(d,I)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},readlink:function(r){var c=ft.realPath(r);try{return c=D8.readlinkSync(c),c=JB.relative(JB.resolve(r.mount.opts.root),c),c}catch(d){throw d.code?new S.ErrnoError(N2[d.code]):d}}},stream_ops:{open:function(r){var c=ft.realPath(r.node);try{S.isFile(r.node.mode)&&(r.nfd=D8.openSync(c,ft.flagsToPermissionString(r.flags)))}catch(d){throw d.code?new S.ErrnoError(N2[d.code]):d}},close:function(r){try{S.isFile(r.node.mode)&&r.nfd&&D8.closeSync(r.nfd)}catch(c){throw c.code?new S.ErrnoError(N2[c.code]):c}},read:function(r,c,d,I,z){if(I===0)return 0;var e=new Buffer(I),e1;try{e1=D8.readSync(r.nfd,e,0,I,z)}catch(x2){throw new S.ErrnoError(N2[x2.code])}if(e1>0)for(var n1=0;n18)throw new S.ErrnoError(N2.ELOOP);for(var z=me.normalizeArray(r.split("/").filter(function(b5){return!!b5}),!1),e=S.root,e1="/",n1=0;n140)throw new S.ErrnoError(N2.ELOOP)}}return{path:e1,node:e}},getPath:function(r){for(var c;;){if(S.isRoot(r)){var d=r.mount.mountpoint;return c?d[d.length-1]!=="/"?d+"/"+c:d+c:d}c=c?r.name+"/"+c:r.name,r=r.parent}},hashName:function(r,c){for(var d=0,I=0;I>>0)%S.nameTable.length},hashAddNode:function(r){var c=S.hashName(r.parent.id,r.name);r.name_next=S.nameTable[c],S.nameTable[c]=r},hashRemoveNode:function(r){var c=S.hashName(r.parent.id,r.name);if(S.nameTable[c]===r)S.nameTable[c]=r.name_next;else for(var d=S.nameTable[c];d;){if(d.name_next===r){d.name_next=r.name_next;break}d=d.name_next}},lookupNode:function(r,c){var d=S.mayLookup(r);if(d)throw new S.ErrnoError(d,r);for(var I=S.hashName(r.id,c),z=S.nameTable[I];z;z=z.name_next){var e=z.name;if(z.parent.id===r.id&&e===c)return z}return S.lookup(r,c)},createNode:function(r,c,d,I){if(!S.FSNode){S.FSNode=function(n1,x2,o,c1){n1||(n1=this),this.parent=n1,this.mount=n1.mount,this.mounted=null,this.id=S.nextInode++,this.name=x2,this.mode=o,this.node_ops={},this.stream_ops={},this.rdev=c1},S.FSNode.prototype={};var z=365,e=146;Object.defineProperties(S.FSNode.prototype,{read:{get:function(){return(this.mode&z)===z},set:function(n1){n1?this.mode|=z:this.mode&=~z}},write:{get:function(){return(this.mode&e)===e},set:function(n1){n1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}})}var e1=new S.FSNode(r,c,d,I);return S.hashAddNode(e1),e1},destroyNode:function(r){S.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&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(r){var c=S.flagModes[r];if(typeof c>"u")throw new Error("Unknown file open mode: "+r);return c},flagsToPermissionString:function(r){var c=r&2097155,d=["r","w","rw"][c];return r&512&&(d+="w"),d},nodePermissions:function(r,c){return S.ignorePermissions?0:c.indexOf("r")!==-1&&!(r.mode&292)||c.indexOf("w")!==-1&&!(r.mode&146)||c.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var c=S.nodePermissions(r,"x");return c||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,c){try{var d=S.lookupNode(r,c);return N2.EEXIST}catch{}return S.nodePermissions(r,"wx")},mayDelete:function(r,c,d){var I;try{I=S.lookupNode(r,c)}catch(e){return e.errno}var z=S.nodePermissions(r,"wx");if(z)return z;if(d){if(!S.isDir(I.mode))return N2.ENOTDIR;if(S.isRoot(I)||S.getPath(I)===S.cwd())return N2.EBUSY}else if(S.isDir(I.mode))return N2.EISDIR;return 0},mayOpen:function(r,c){return r?S.isLink(r.mode)?N2.ELOOP:S.isDir(r.mode)&&(c&2097155||c&512)?N2.EISDIR:S.nodePermissions(r,S.flagsToPermissionString(c)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,c){r=r||0,c=c||S.MAX_OPEN_FDS;for(var d=r;d<=c;d++)if(!S.streams[d])return d;throw new S.ErrnoError(N2.EMFILE)},getStream:function(r){return S.streams[r]},createStream:function(r,c,d){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={},Object.defineProperties(S.FSStream.prototype,{object:{get:function(){return this.node},set:function(e1){this.node=e1}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var I=new S.FSStream;for(var z in r)I[z]=r[z];r=I;var e=S.nextfd(c,d);return r.fd=e,S.streams[e]=r,r},closeStream:function(r){S.streams[r]=null},getStreamFromPtr:function(r){return S.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var c=S.getDevice(r.node.rdev);r.stream_ops=c.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new S.ErrnoError(N2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,c){return r<<8|c},registerDevice:function(r,c){S.devices[r]={stream_ops:c}},getDevice:function(r){return S.devices[r]},getMounts:function(r){for(var c=[],d=[r];d.length;){var I=d.pop();c.push(I),d.push.apply(d,I.mounts)}return c},syncfs:function(r,c){typeof r=="function"&&(c=r,r=!1);var d=S.getMounts(S.root.mount),I=0;function z(e){if(e)return z.errored?void 0:(z.errored=!0,c(e));++I>=d.length&&c(null)}d.forEach(function(e){if(!e.type.syncfs)return z(null);e.type.syncfs(e,r,z)})},mount:function(r,c,d){var I=d==="/",z=!d,e;if(I&&S.root)throw new S.ErrnoError(N2.EBUSY);if(!I&&!z){var e1=S.lookupPath(d,{follow_mount:!1});if(d=e1.path,e=e1.node,S.isMountpoint(e))throw new S.ErrnoError(N2.EBUSY);if(!S.isDir(e.mode))throw new S.ErrnoError(N2.ENOTDIR)}var n1={type:r,opts:c,mountpoint:d,mounts:[]},x2=r.mount(n1);return x2.mount=n1,n1.root=x2,I?S.root=x2:e&&(e.mounted=n1,e.mount&&e.mount.mounts.push(n1)),x2},unmount:function(r){var c=S.lookupPath(r,{follow_mount:!1});if(!S.isMountpoint(c.node))throw new S.ErrnoError(N2.EINVAL);var d=c.node,I=d.mounted,z=S.getMounts(I);Object.keys(S.nameTable).forEach(function(e1){for(var n1=S.nameTable[e1];n1;){var x2=n1.name_next;z.indexOf(n1.mount)!==-1&&S.destroyNode(n1),n1=x2}}),d.mounted=null;var e=d.mount.mounts.indexOf(I);G9(e!==-1),d.mount.mounts.splice(e,1)},lookup:function(r,c){return r.node_ops.lookup(r,c)},mknod:function(r,c,d){var I=S.lookupPath(r,{parent:!0}),z=I.node,e=me.basename(r);if(!e||e==="."||e==="..")throw new S.ErrnoError(N2.EINVAL);var e1=S.mayCreate(z,e);if(e1)throw new S.ErrnoError(e1);if(!z.node_ops.mknod)throw new S.ErrnoError(N2.EPERM);return z.node_ops.mknod(z,e,c,d)},create:function(r,c){return c=c!==void 0?c:438,c&=4095,c|=32768,S.mknod(r,c,0)},mkdir:function(r,c){return c=c!==void 0?c:511,c&=1023,c|=16384,S.mknod(r,c,0)},mkdev:function(r,c,d){return typeof d>"u"&&(d=c,c=438),c|=8192,S.mknod(r,c,d)},symlink:function(r,c){if(!me.resolve(r))throw new S.ErrnoError(N2.ENOENT);var d=S.lookupPath(c,{parent:!0}),I=d.node;if(!I)throw new S.ErrnoError(N2.ENOENT);var z=me.basename(c),e=S.mayCreate(I,z);if(e)throw new S.ErrnoError(e);if(!I.node_ops.symlink)throw new S.ErrnoError(N2.EPERM);return I.node_ops.symlink(I,z,r)},rename:function(r,c){var d=me.dirname(r),I=me.dirname(c),z=me.basename(r),e=me.basename(c),e1,n1,x2;try{e1=S.lookupPath(r,{parent:!0}),n1=e1.node,e1=S.lookupPath(c,{parent:!0}),x2=e1.node}catch{throw new S.ErrnoError(N2.EBUSY)}if(!n1||!x2)throw new S.ErrnoError(N2.ENOENT);if(n1.mount!==x2.mount)throw new S.ErrnoError(N2.EXDEV);var o=S.lookupNode(n1,z),c1=me.relative(r,I);if(c1.charAt(0)!==".")throw new S.ErrnoError(N2.EINVAL);if(c1=me.relative(c,d),c1.charAt(0)!==".")throw new S.ErrnoError(N2.ENOTEMPTY);var C;try{C=S.lookupNode(x2,e)}catch{}if(o!==C){var b5=S.isDir(o.mode),w2=S.mayDelete(n1,z,b5);if(w2)throw new S.ErrnoError(w2);if(w2=C?S.mayDelete(x2,e,b5):S.mayCreate(x2,e),w2)throw new S.ErrnoError(w2);if(!n1.node_ops.rename)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(o)||C&&S.isMountpoint(C))throw new S.ErrnoError(N2.EBUSY);if(x2!==n1&&(w2=S.nodePermissions(n1,"w"),w2))throw new S.ErrnoError(w2);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(r,c)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+c+"') threw an exception: "+P5.message)}S.hashRemoveNode(o);try{n1.node_ops.rename(o,x2,e)}catch(P5){throw P5}finally{S.hashAddNode(o)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(r,c)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+c+"') threw an exception: "+P5.message)}}},rmdir:function(r){var c=S.lookupPath(r,{parent:!0}),d=c.node,I=me.basename(r),z=S.lookupNode(d,I),e=S.mayDelete(d,I,!0);if(e)throw new S.ErrnoError(e);if(!d.node_ops.rmdir)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(z))throw new S.ErrnoError(N2.EBUSY);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e1.message)}d.node_ops.rmdir(d,I),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e1.message)}},readdir:function(r){var c=S.lookupPath(r,{follow:!0}),d=c.node;if(!d.node_ops.readdir)throw new S.ErrnoError(N2.ENOTDIR);return d.node_ops.readdir(d)},unlink:function(r){var c=S.lookupPath(r,{parent:!0}),d=c.node,I=me.basename(r),z=S.lookupNode(d,I),e=S.mayDelete(d,I,!1);if(e)throw e===N2.EISDIR&&(e=N2.EPERM),new S.ErrnoError(e);if(!d.node_ops.unlink)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(z))throw new S.ErrnoError(N2.EBUSY);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e1.message)}d.node_ops.unlink(d,I),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e1.message)}},readlink:function(r){var c=S.lookupPath(r),d=c.node;if(!d)throw new S.ErrnoError(N2.ENOENT);if(!d.node_ops.readlink)throw new S.ErrnoError(N2.EINVAL);return me.resolve(S.getPath(c.node.parent),d.node_ops.readlink(d))},stat:function(r,c){var d=S.lookupPath(r,{follow:!c}),I=d.node;if(!I)throw new S.ErrnoError(N2.ENOENT);if(!I.node_ops.getattr)throw new S.ErrnoError(N2.EPERM);return I.node_ops.getattr(I)},lstat:function(r){return S.stat(r,!0)},chmod:function(r,c,d){var I;if(typeof r=="string"){var z=S.lookupPath(r,{follow:!d});I=z.node}else I=r;if(!I.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);I.node_ops.setattr(I,{mode:c&4095|I.mode&-4096,timestamp:Date.now()})},lchmod:function(r,c){S.chmod(r,c,!0)},fchmod:function(r,c){var d=S.getStream(r);if(!d)throw new S.ErrnoError(N2.EBADF);S.chmod(d.node,c)},chown:function(r,c,d,I){var z;if(typeof r=="string"){var e=S.lookupPath(r,{follow:!I});z=e.node}else z=r;if(!z.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);z.node_ops.setattr(z,{timestamp:Date.now()})},lchown:function(r,c,d){S.chown(r,c,d,!0)},fchown:function(r,c,d){var I=S.getStream(r);if(!I)throw new S.ErrnoError(N2.EBADF);S.chown(I.node,c,d)},truncate:function(r,c){if(c<0)throw new S.ErrnoError(N2.EINVAL);var d;if(typeof r=="string"){var I=S.lookupPath(r,{follow:!0});d=I.node}else d=r;if(!d.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);if(S.isDir(d.mode))throw new S.ErrnoError(N2.EISDIR);if(!S.isFile(d.mode))throw new S.ErrnoError(N2.EINVAL);var z=S.nodePermissions(d,"w");if(z)throw new S.ErrnoError(z);d.node_ops.setattr(d,{size:c,timestamp:Date.now()})},ftruncate:function(r,c){var d=S.getStream(r);if(!d)throw new S.ErrnoError(N2.EBADF);if(!(d.flags&2097155))throw new S.ErrnoError(N2.EINVAL);S.truncate(d.node,c)},utime:function(r,c,d){var I=S.lookupPath(r,{follow:!0}),z=I.node;z.node_ops.setattr(z,{timestamp:Math.max(c,d)})},open:function(r,c,d,I,z){if(r==="")throw new S.ErrnoError(N2.ENOENT);c=typeof c=="string"?S.modeStringToFlags(c):c,d=typeof d>"u"?438:d,c&64?d=d&4095|32768:d=0;var e;if(typeof r=="object")e=r;else{r=me.normalize(r);try{var e1=S.lookupPath(r,{follow:!(c&131072)});e=e1.node}catch{}}var n1=!1;if(c&64)if(e){if(c&128)throw new S.ErrnoError(N2.EEXIST)}else e=S.mknod(r,d,0),n1=!0;if(!e)throw new S.ErrnoError(N2.ENOENT);if(S.isChrdev(e.mode)&&(c&=-513),!n1){var x2=S.mayOpen(e,c);if(x2)throw new S.ErrnoError(x2)}c&512&&S.truncate(e,0),c&=-641;var o=S.createStream({node:e,path:S.getPath(e),flags:c,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},I,z);o.stream_ops.open&&o.stream_ops.open(o),n.logReadFiles&&!(c&1)&&(S.readFiles||(S.readFiles={}),r in S.readFiles||(S.readFiles[r]=1,n.printErr("read file: "+r)));try{if(S.trackingDelegate.onOpenFile){var c1=0;(c&2097155)!==1&&(c1|=S.tracking.openFlags.READ),c&2097155&&(c1|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(r,c1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return o},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(c){throw c}finally{S.closeStream(r.fd)}},llseek:function(r,c,d){if(!r.seekable||!r.stream_ops.llseek)throw new S.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,c,d),r.ungotten=[],r.position},read:function(r,c,d,I,z){if(I<0||z<0)throw new S.ErrnoError(N2.EINVAL);if((r.flags&2097155)===1)throw new S.ErrnoError(N2.EBADF);if(S.isDir(r.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!r.stream_ops.read)throw new S.ErrnoError(N2.EINVAL);var e=!0;if(typeof z>"u")z=r.position,e=!1;else if(!r.seekable)throw new S.ErrnoError(N2.ESPIPE);var e1=r.stream_ops.read(r,c,d,I,z);return e||(r.position+=e1),e1},write:function(r,c,d,I,z,e){if(I<0||z<0)throw new S.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(S.isDir(r.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!r.stream_ops.write)throw new S.ErrnoError(N2.EINVAL);r.flags&1024&&S.llseek(r,0,2);var e1=!0;if(typeof z>"u")z=r.position,e1=!1;else if(!r.seekable)throw new S.ErrnoError(N2.ESPIPE);var n1=r.stream_ops.write(r,c,d,I,z,e);e1||(r.position+=n1);try{r.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return n1},allocate:function(r,c,d){if(c<0||d<=0)throw new S.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(!S.isFile(r.node.mode)&&!S.isDir(node.mode))throw new S.ErrnoError(N2.ENODEV);if(!r.stream_ops.allocate)throw new S.ErrnoError(N2.EOPNOTSUPP);r.stream_ops.allocate(r,c,d)},mmap:function(r,c,d,I,z,e,e1){if((r.flags&2097155)===1)throw new S.ErrnoError(N2.EACCES);if(!r.stream_ops.mmap)throw new S.ErrnoError(N2.ENODEV);return r.stream_ops.mmap(r,c,d,I,z,e,e1)},msync:function(r,c,d,I,z){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,c,d,I,z)},munmap:function(r){return 0},ioctl:function(r,c,d){if(!r.stream_ops.ioctl)throw new S.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,c,d)},readFile:function(r,c){if(c=c||{},c.flags=c.flags||"r",c.encoding=c.encoding||"binary",c.encoding!=="utf8"&&c.encoding!=="binary")throw new Error('Invalid encoding type "'+c.encoding+'"');var d,I=S.open(r,c.flags),z=S.stat(r),e=z.size,e1=new Uint8Array(e);return S.read(I,e1,0,e,0),c.encoding==="utf8"?d=Ys(e1,0):c.encoding==="binary"&&(d=e1),S.close(I),d},writeFile:function(r,c,d){if(d=d||{},d.flags=d.flags||"w",d.encoding=d.encoding||"utf8",d.encoding!=="utf8"&&d.encoding!=="binary")throw new Error('Invalid encoding type "'+d.encoding+'"');var I=S.open(r,d.flags,d.mode);if(d.encoding==="utf8"){var z=new Uint8Array(zs(c)+1),e=Un(c,z,0,z.length);S.write(I,z,0,e,0,d.canOwn)}else d.encoding==="binary"&&S.write(I,c,0,c.length,0,d.canOwn);S.close(I)},cwd:function(){return S.currentPath},chdir:function(r){var c=S.lookupPath(r,{follow:!0});if(!S.isDir(c.node.mode))throw new S.ErrnoError(N2.ENOTDIR);var d=S.nodePermissions(c.node,"x");if(d)throw new S.ErrnoError(d);S.currentPath=c.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(d,I,z,e,e1){return e}}),S.mkdev("/dev/null",S.makedev(1,3)),qn.register(S.makedev(5,0),qn.default_tty_ops),qn.register(S.makedev(6,0),qn.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var r;if(typeof crypto<"u"){var c=new Uint8Array(1);r=function(){return crypto.getRandomValues(c),c[0]}}else u?r=void 0:r=function(){return Math.random()*256|0};S.createDevice("/dev","random",r),S.createDevice("/dev","urandom",r),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?S.createDevice("/dev","stdin",n.stdin):S.symlink("/dev/tty","/dev/stdin"),n.stdout?S.createDevice("/dev","stdout",null,n.stdout):S.symlink("/dev/tty","/dev/stdout"),n.stderr?S.createDevice("/dev","stderr",null,n.stderr):S.symlink("/dev/tty1","/dev/stderr");var r=S.open("/dev/stdin","r");Ge[zk>>2]=S.getPtrForStream(r),G9(r.fd===0,"invalid handle for stdin ("+r.fd+")");var c=S.open("/dev/stdout","w");Ge[Kk>>2]=S.getPtrForStream(c),G9(c.fd===1,"invalid handle for stdout ("+c.fd+")");var d=S.open("/dev/stderr","w");Ge[Jk>>2]=S.getPtrForStream(d),G9(d.fd===2,"invalid handle for stderr ("+d.fd+")")},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(c,d){this.node=d,this.setErrno=function(I){this.errno=I;for(var z in N2)if(N2[z]===I){this.code=z;break}},this.setErrno(c),this.message=Yk[c]},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[N2.ENOENT].forEach(function(r){S.genericErrors[r]=new S.ErrnoError(r),S.genericErrors[r].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(Me,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices()},init:function(r,c,d){G9(!S.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)"),S.init.initialized=!0,S.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=c||n.stdout,n.stderr=d||n.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;for(var r=0;rthis.length-1||b5<0)){var w2=b5%this.chunkSize,P5=b5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(b5){this.getter=b5},e.prototype.cacheLength=function(){var b5=new XMLHttpRequest;if(b5.open("HEAD",d,!1),b5.send(null),!(b5.status>=200&&b5.status<300||b5.status===304))throw new Error("Couldn't load "+d+". Status: "+b5.status);var w2=Number(b5.getResponseHeader("Content-length")),P5,Ue=(P5=b5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",We=1024*1024;Ue||(We=w2);var Q9=function(i9,It){if(i9>It)throw new Error("invalid range ("+i9+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var t4=new XMLHttpRequest;if(t4.open("GET",d,!1),w2!==We&&t4.setRequestHeader("Range","bytes="+i9+"-"+It),typeof Uint8Array<"u"&&(t4.responseType="arraybuffer"),t4.overrideMimeType&&t4.overrideMimeType("text/plain; charset=x-user-defined"),t4.send(null),!(t4.status>=200&&t4.status<300||t4.status===304))throw new Error("Couldn't load "+d+". Status: "+t4.status);return t4.response!==void 0?new Uint8Array(t4.response||[]):tn(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(i9){var It=i9*We,t4=(i9+1)*We-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[i9]>"u"&&(Dt.chunks[i9]=Q9(It,t4)),typeof Dt.chunks[i9]>"u")throw new Error("doXHR failed!");return Dt.chunks[i9]}),this._length=w2,this._chunkSize=We,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!f)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var e1=new e;Object.defineProperty(e1,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(e1,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var n1={isDevice:!1,contents:e1}}else var n1={isDevice:!1,url:d};var x2=S.createFile(r,c,n1,I,z);n1.contents?x2.contents=n1.contents:n1.url&&(x2.contents=null,x2.url=n1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var o={},c1=Object.keys(x2.stream_ops);return c1.forEach(function(C){var b5=x2.stream_ops[C];o[C]=function(){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);return b5.apply(null,arguments)}}),o.read=function(b5,w2,P5,Ue,We){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);var Q9=b5.node.contents;if(We>=Q9.length)return 0;var Dt=Math.min(Q9.length-We,Ue);if(G9(Dt>=0),Q9.slice)for(var i9=0;i9=0;I--){var z=r[I];z==="."?r.splice(I,1):z===".."?(r.splice(I,1),d++):d&&(r.splice(I,1),d--)}if(c)for(;d--;d)r.unshift("..");return r},normalize:function(r){var c=r.charAt(0)==="/",d=r.substr(-1)==="/";return r=me.normalizeArray(r.split("/").filter(function(I){return!!I}),!c).join("/"),!r&&!c&&(r="."),r&&d&&(r+="/"),(c?"/":"")+r},dirname:function(r){var c=me.splitPath(r),d=c[0],I=c[1];return!d&&!I?".":(I&&(I=I.substr(0,I.length-1)),d+I)},basename:function(r){if(r==="/")return"/";var c=r.lastIndexOf("/");return c===-1?r:r.substr(c+1)},extname:function(r){return me.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return me.normalize(r.join("/"))},join2:function(r,c){return me.normalize(r+"/"+c)},resolve:function(){for(var r="",c=!1,d=arguments.length-1;d>=-1&&!c;d--){var I=d>=0?arguments[d]:S.cwd();if(typeof I!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!I)return"";r=I+"/"+r,c=I.charAt(0)==="/"}return r=me.normalizeArray(r.split("/").filter(function(z){return!!z}),!c).join("/"),(c?"/":"")+r||"."},relative:function(r,c){r=me.resolve(r).substr(1),c=me.resolve(c).substr(1);function d(o){for(var c1=0;c1=0&&o[C]==="";C--);return c1>C?[]:o.slice(c1,C-c1+1)}for(var I=d(r.split("/")),z=d(c.split("/")),e=Math.min(I.length,z.length),e1=e,n1=0;n10){var n1=Date.now(),x2=K1.mainLoop.queue.shift();if(x2.func(x2.arg),K1.mainLoop.remainingBlockers){var o=K1.mainLoop.remainingBlockers,c1=o%1==0?o-1:Math.floor(o);x2.counted?K1.mainLoop.remainingBlockers=c1:(c1=c1+.5,K1.mainLoop.remainingBlockers=(8*o+c1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-n1)+" ms"),K1.mainLoop.updateStatus(),setTimeout(K1.mainLoop.runner,0);return}if(!(e1&&K1.mainLoop.currentFrameNumber%K1.mainLoop.timingValue!=0){K1.mainLoop.scheduler();return}K1.mainLoop.method==="timeout"&&n.ctx&&(n.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!"),K1.mainLoop.method=""),K1.mainLoop.runIter(function(){typeof I<"u"?w.dynCall("vi",r,[I]):w.dynCall("v",r)}),!(e0?nE(0,1e3/c):nE(1,1),K1.mainLoop.scheduler()),d)throw"SimulateInfiniteLoop"}var K1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){K1.mainLoop.scheduler=null,K1.mainLoop.currentlyRunningMainloop++},resume:function(){K1.mainLoop.currentlyRunningMainloop++;var r=K1.mainLoop.timingMode,c=K1.mainLoop.timingValue,d=K1.mainLoop.func;K1.mainLoop.func=null,zB(d,0,!1,K1.mainLoop.arg,!0),nE(r,c),K1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",c=K1.mainLoop.remainingBlockers,d=K1.mainLoop.expectedBlockers;c?c"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,e1,n1,x2){var o=null;if(K1.hasBlobConstructor)try{o=new Blob([e],{type:K1.getMimetype(e1)}),o.size!==e.length&&(o=new Blob([new Uint8Array(e).buffer],{type:K1.getMimetype(e1)}))}catch(w2){w.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!o){var c1=new K1.BlobBuilder;c1.append(new Uint8Array(e).buffer),o=c1.getBlob()}var C=K1.URLObject.createObjectURL(o),b5=new Image;b5.onload=function(){G9(b5.complete,"Image "+e1+" could not be decoded");var P5=document.createElement("canvas");P5.width=b5.width,P5.height=b5.height;var Ue=P5.getContext("2d");Ue.drawImage(b5,0,0),n.preloadedImages[e1]=P5,K1.URLObject.revokeObjectURL(C),n1&&n1(e)},b5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},b5.src=C},n.preloadPlugins.push(r);var c={};c.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},c.handle=function(e,e1,n1,x2){var o=!1;function c1(Ue){o||(o=!0,n.preloadedAudios[e1]=Ue,n1&&n1(e))}function C(){o||(o=!0,n.preloadedAudios[e1]=new Audio,x2&&x2())}if(K1.hasBlobConstructor){try{var b5=new Blob([e],{type:K1.getMimetype(e1)})}catch{return C()}var w2=K1.URLObject.createObjectURL(b5),P5=new Audio;P5.addEventListener("canplaythrough",function(){c1(P5)},!1),P5.onerror=function(We){if(o)return;console.log("warning: browser could not fully decode audio "+e1+", trying slower base64 approach");function Q9(Dt){for(var i9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",z7=0,K7=0,vr=0;vr=6;){var al=z7>>K7-6&63;K7-=6,t4+=i9[al]}return K7==2?(t4+=i9[(z7&3)<<4],t4+=It+It):K7==4&&(t4+=i9[(z7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+e1.substr(-3)+";base64,"+Q9(e),c1(P5)},P5.src=w2,K1.safeSetTimeout(function(){c1(P5)},1e4)}else return C()},n.preloadPlugins.push(c);var d=n.canvas;function I(){K1.pointerLock=document.pointerLockElement===d||document.mozPointerLockElement===d||document.webkitPointerLockElement===d||document.msPointerLockElement===d}d&&(d.requestPointerLock=d.requestPointerLock||d.mozRequestPointerLock||d.webkitRequestPointerLock||d.msRequestPointerLock||function(){},d.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},d.exitPointerLock=d.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",I,!1),document.addEventListener("mozpointerlockchange",I,!1),document.addEventListener("webkitpointerlockchange",I,!1),document.addEventListener("mspointerlockchange",I,!1),n.elementPointerLock&&d.addEventListener("click",function(z){!K1.pointerLock&&d.requestPointerLock&&(d.requestPointerLock(),z.preventDefault())},!1))},createContext:function(r,c,d,I){if(c&&n.ctx&&r==n.canvas)return n.ctx;var z,e;if(c){var e1={antialias:!1,alpha:!1};if(I)for(var n1 in I)e1[n1]=I[n1];e=GL.createContext(r,e1),e&&(z=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else z=r.getContext("2d");return z?(d&&(c||G9(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=z,c&&GL.makeContextCurrent(e),n.useWebGL=c,K1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),K1.init()),z):null},destroyContext:function(r,c,d){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,c,d){K1.lockPointer=r,K1.resizeCanvas=c,K1.vrDevice=d,typeof K1.lockPointer>"u"&&(K1.lockPointer=!0),typeof K1.resizeCanvas>"u"&&(K1.resizeCanvas=!1),typeof K1.vrDevice>"u"&&(K1.vrDevice=null);var I=n.canvas;function z(){K1.isFullScreen=!1;var e1=I.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e1?(I.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},I.cancelFullScreen=I.cancelFullScreen.bind(document),K1.lockPointer&&I.requestPointerLock(),K1.isFullScreen=!0,K1.resizeCanvas&&K1.setFullScreenCanvasSize()):(e1.parentNode.insertBefore(I,e1),e1.parentNode.removeChild(e1),K1.resizeCanvas&&K1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(K1.isFullScreen),K1.updateCanvasDimensions(I)}K1.fullScreenHandlersInstalled||(K1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",z,!1),document.addEventListener("mozfullscreenchange",z,!1),document.addEventListener("webkitfullscreenchange",z,!1),document.addEventListener("MSFullscreenChange",z,!1));var e=document.createElement("div");I.parentNode.insertBefore(e,I),e.appendChild(I),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),d?e.requestFullScreen({vrDisplay:d}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var c=Date.now();if(K1.nextRAF===0)K1.nextRAF=c+1e3/60;else for(;c+2>=K1.nextRAF;)K1.nextRAF+=1e3/60;var d=Math.max(K1.nextRAF-c,0);setTimeout(r,d)},requestAnimationFrame:function(c){typeof window>"u"?K1.fakeRequestAnimationFrame(c):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||K1.fakeRequestAnimationFrame),window.requestAnimationFrame(c))},safeCallback:function(r){return function(){if(!P)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){K1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(K1.allowAsyncCallbacks=!0,K1.queuedAsyncCallbacks.length>0){var r=K1.queuedAsyncCallbacks;K1.queuedAsyncCallbacks=[],r.forEach(function(c){c()})}},safeRequestAnimationFrame:function(r){return K1.requestAnimationFrame(function(){P||(K1.allowAsyncCallbacks?r():K1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,c){return n.noExitRuntime=!0,setTimeout(function(){P||(K1.allowAsyncCallbacks?r():K1.queuedAsyncCallbacks.push(r))},c)},safeSetInterval:function(r,c){return n.noExitRuntime=!0,setInterval(function(){P||K1.allowAsyncCallbacks&&r()},c)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var c=0;switch(r.type){case"DOMMouseScroll":c=r.detail;break;case"mousewheel":c=r.wheelDelta;break;case"wheel":c=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return c},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(K1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?K1.mouseMovementX=K1.mouseMovementY=0:(K1.mouseMovementX=K1.getMovementX(r),K1.mouseMovementY=K1.getMovementY(r)),typeof SDL<"u"?(K1.mouseX=SDL.mouseX+K1.mouseMovementX,K1.mouseY=SDL.mouseY+K1.mouseMovementY):(K1.mouseX+=K1.mouseMovementX,K1.mouseY+=K1.mouseMovementY);else{var c=n.canvas.getBoundingClientRect(),d=n.canvas.width,I=n.canvas.height,z=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var e1=r.touch;if(e1===void 0)return;var n1=e1.pageX-(z+c.left),x2=e1.pageY-(e+c.top);n1=n1*(d/c.width),x2=x2*(I/c.height);var o={x:n1,y:x2};if(r.type==="touchstart")K1.lastTouches[e1.identifier]=o,K1.touches[e1.identifier]=o;else if(r.type==="touchend"||r.type==="touchmove"){var c1=K1.touches[e1.identifier];c1||(c1=o),K1.lastTouches[e1.identifier]=c1,K1.touches[e1.identifier]=o}return}var C=r.pageX-(z+c.left),b5=r.pageY-(e+c.top);C=C*(d/c.width),b5=b5*(I/c.height),K1.mouseMovementX=C-K1.mouseX,K1.mouseMovementY=b5-K1.mouseY,K1.mouseX=C,K1.mouseY=b5}},xhrLoad:function(r,c,d){var I=new XMLHttpRequest;I.open("GET",r,!0),I.responseType="arraybuffer",I.onload=function(){I.status==200||I.status==0&&I.response?c(I.response):d()},I.onerror=d,I.send(null)},asyncLoad:function(r,c,d,I){K1.xhrLoad(r,function(z){G9(z,'Loading data file "'+r+'" failed (no arrayBuffer).'),c(new Uint8Array(z)),I||Qr("al "+r)},function(z){if(d)d();else throw'Loading data file "'+r+'" failed.'}),I||On("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;K1.resizeListeners.forEach(function(c){c(r.width,r.height)})},setCanvasSize:function(r,c,d){var I=n.canvas;K1.updateCanvasDimensions(I,r,c),d||K1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=nl[SDL.screen+w.QUANTUM_SIZE*0>>2];r=r|8388608,Ge[SDL.screen+w.QUANTUM_SIZE*0>>2]=r}K1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=nl[SDL.screen+w.QUANTUM_SIZE*0>>2];r=r&-8388609,Ge[SDL.screen+w.QUANTUM_SIZE*0>>2]=r}K1.updateResizeListeners()},updateCanvasDimensions:function(r,c,d){c&&d?(r.widthNative=c,r.heightNative=d):(c=r.widthNative,d=r.heightNative);var I=c,z=d;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(I/z>2]=c),c}function lS(){n.printErr("missing function: floor0_exportbundle"),eo(-1)}if(js=w.staticAlloc(4),Ge[js>>2]=0,n.requestFullScreen=function(c,d,I){K1.requestFullScreen(c,d,I)},n.requestAnimationFrame=function(c){K1.requestAnimationFrame(c)},n.setCanvasSize=function(c,d,I){K1.setCanvasSize(c,d,I)},n.pauseMainLoop=function(){K1.mainLoop.pause()},n.resumeMainLoop=function(){K1.mainLoop.resume()},n.getUserMedia=function(){K1.getUserMedia()},n.createContext=function(c,d,I,z){return K1.createContext(c,d,I,z)},S.staticInit(),j$.unshift(function(){!n.noFSInit&&!S.init.initialized&&S.init()}),Lu.push(function(){S.ignorePermissions=!1}),X$.push(function(){S.quit()}),n.FS_createFolder=S.createFolder,n.FS_createPath=S.createPath,n.FS_createDataFile=S.createDataFile,n.FS_createPreloadedFile=S.createPreloadedFile,n.FS_createLazyFile=S.createLazyFile,n.FS_createLink=S.createLink,n.FS_createDevice=S.createDevice,j$.unshift(function(){qn.init()}),X$.push(function(){qn.shutdown()}),u)var D8=void 0,JB=void 0;xu=S7=w.alignMemory(Xr),K$=!0,J$=xu+Xp,W$=O7=w.alignMemory(J$),G9(W$>0]=I[t>>0],I[w2+1>>0]=I[t+1>>0],I[w2+2>>0]=I[t+2>>0],I[w2+3>>0]=I[t+3>>0]}function ax(t){t=t|0,I[w2>>0]=I[t>>0],I[w2+1>>0]=I[t+1>>0],I[w2+2>>0]=I[t+2>>0],I[w2+3>>0]=I[t+3>>0],I[w2+4>>0]=I[t+4>>0],I[w2+5>>0]=I[t+5>>0],I[w2+6>>0]=I[t+6>>0],I[w2+7>>0]=I[t+7>>0]}function HS(t){t=t|0,Z6=t}function VS(){return Z6|0}function xC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0;p=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,s=Re(256)|0,A=t+8|0,e[A>>2]=s,$=t+12|0,e[$>>2]=s,I[s>>0]=0,g=t+16|0,e[g>>2]=256}function YS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;M=C,A=s>>3,$=t+12|0,B=e[$>>2]|0,b=(B|0)==0,!b&&(D=A<<3,k=s-D|0,v=t+8|0,_=e[v>>2]|0,Q=_+A|0,e[$>>2]=Q,L=t+4|0,e[L>>2]=k,e[t>>2]=A,g=8+(k<<2)|0,h=e[g>>2]|0,p=I[Q>>0]|0,m=p&255,E=m&h,y=E&255,I[Q>>0]=y)}function H2(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;Y0=C,h=A>>>0>32;do if(!h){if(p=e[t>>2]|0,L=t+16|0,A0=e[L>>2]|0,c0=A0+-4|0,S0=(p|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)q=g;else{if(G0=(g|0)==0,G0)return;if(J0=(A0|0)>2147483391,J0||(V0=t+8|0,j0=e[V0>>2]|0,m=A0+256|0,E=W7(j0,m)|0,y=(E|0)==0,y))break;e[V0>>2]=E,B=e[L>>2]|0,b=B+256|0,e[L>>2]=b,D=e[t>>2]|0,k=E+D|0,e[$>>2]=k,q=k}v=8+(A<<2)|0,_=e[v>>2]|0,Q=_&s,R=t+4|0,M=e[R>>2]|0,F=M+A|0,G=Q<>0]|0,H=O&255,K=H|G,t0=K&255,I[q>>0]=t0,Z=(F|0)>7;do if(Z&&(j=e[R>>2]|0,r0=8-j|0,o0=Q>>>r0,J=o0&255,s0=e[$>>2]|0,Y=s0+1|0,I[Y>>0]=J,h0=(F|0)>15,h0&&(i0=e[R>>2]|0,e0=16-i0|0,d0=Q>>>e0,$0=d0&255,l0=e[$>>2]|0,X=l0+2|0,I[X>>0]=$0,m0=(F|0)>23,m0&&(g0=e[R>>2]|0,I0=24-g0|0,n0=Q>>>I0,f0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,I[C0>>0]=f0,y0=(F|0)>31,y0))))if(D0=e[R>>2]|0,E0=(D0|0)==0,E0){R0=e[$>>2]|0,v0=R0+4|0,I[v0>>0]=0;break}else{Q0=32-D0|0,w0=Q>>>Q0,B0=w0&255,x0=e[$>>2]|0,Z0=x0+4|0,I[Z0>>0]=B0;break}while(!1);U0=(F|0)/8&-1,O0=e[t>>2]|0,H0=O0+U0|0,e[t>>2]=H0,k0=e[$>>2]|0,K0=k0+U0|0,e[$>>2]=K0,N0=F&7,e[R>>2]=N0;return}while(!1);M0=t+8|0,P0=e[M0>>2]|0,W0=(P0|0)==0,W0||E2(P0),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 LC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0;h=C,s=t+8|0,A=e[s>>2]|0,$=(A|0)==0,$||E2(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 mi(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0;y=C,s=t+12|0,A=e[s>>2]|0,$=(A|0)==0,!$&&(g=t+8|0,h=e[g>>2]|0,e[s>>2]=h,p=h,I[p>>0]=0,e[t>>2]=0,m=t+4|0,e[m>>2]=0)}function MC(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,$=s>>>0>32,$)return A=-1,A|0;if(g=8+(s<<2)|0,_=e[g>>2]|0,t0=t+4|0,e0=e[t0>>2]|0,p0=e0+s|0,S0=e[t>>2]|0,y0=t+16|0,D0=e[y0>>2]|0,E0=D0+-4|0,h=(S0|0)<(E0|0),!h){if(p=p0+7|0,m=p>>3,E=D0-m|0,y=(S0|0)>(E|0),y)return A=-1,A|0;if(B=(p0|0)==0,B)return A=0,A|0}return b=t+12|0,D=e[b>>2]|0,k=I[D>>0]|0,v=k&255,Q=v>>>e0,L=(p0|0)>8,L?(R=D+1|0,M=I[R>>0]|0,F=M&255,G=8-e0|0,O=F<16,H?(K=D+2|0,Z=I[K>>0]|0,A0=Z&255,j=16-e0|0,r0=A0<24,J?(s0=D+3|0,Y=I[s0>>0]|0,h0=Y&255,i0=24-e0|0,d0=h0<>0]|0,g0=m0&255,I0=32-e0|0,n0=g0<>2]|0,b=$+s|0,D=e[t>>2]|0,k=t+16|0,v=e[k>>2]|0,_=b+7|0,Q=_>>3,L=v-Q|0,R=(D|0)>(L|0),R){B=t+12|0,e[B>>2]=0,e[t>>2]=v,M=1,e[A>>2]=M;return}else{g=(b|0)/8&-1,h=t+12|0,p=e[h>>2]|0,m=p+g|0,e[h>>2]=m,E=D+g|0,e[t>>2]=E,y=b&7,M=y,e[A>>2]=M;return}}function r4(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0;M0=C,E=s>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,m=t+4|0,h=t,p=m,v0=g;else{if(y=8+(s<<2)|0,F=e[y>>2]|0,o0=t+4|0,X=e[o0>>2]|0,E0=X+s|0,G0=e[t>>2]|0,U0=t+16|0,O0=e[U0>>2]|0,H0=O0+-4|0,B=(G0|0)<(H0|0),!B){if(b=E0+7|0,D=b>>3,k=O0-D|0,v=(G0|0)>(k|0),v){h=t,p=o0,v0=O0;break}if(_=(E0|0)==0,_)return A=0,A|0}return Q=t+12|0,L=e[Q>>2]|0,R=I[L>>0]|0,M=R&255,G=M>>>X,O=(E0|0)>8,O?(q=L+1|0,H=I[q>>0]|0,K=H&255,t0=8-X|0,Z=K<16,j?(r0=L+2|0,J=I[r0>>0]|0,s0=J&255,Y=16-X|0,h0=s0<24,e0?(d0=L+3|0,c0=I[d0>>0]|0,$0=c0&255,l0=24-X|0,m0=$0<>0]|0,C0=p0&255,S0=32-X|0,y0=C0<>2]=B0,x0=G0+w0|0,e[t>>2]=x0,Z0=E0&7,e[o0>>2]=Z0,A=Q0,A|0}while(!1);return R0=t+12|0,e[R0>>2]=0,e[h>>2]=v0,e[p>>2]=1,A=-1,A|0}function _8(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0;return E=C,s=e[t>>2]|0,A=t+4|0,$=e[A>>2]|0,g=$+7|0,h=(g|0)/8&-1,p=h+s|0,p|0}function yy(t){t=t|0;var s=0,A=0,$=0,g=0;return g=C,s=t+8|0,A=e[s>>2]|0,A|0}function zS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0;if(O=C,g=(t|0)==0,g)return A=-1,A|0;g4(t|0,0,360)|0,h=t+4|0,e[h>>2]=16384,D=t+24|0,e[D>>2]=1024,k=Re(16384)|0,e[t>>2]=k,v=Re(4096)|0,_=t+16|0,e[_>>2]=v,Q=Re(8192)|0,L=t+20|0,e[L>>2]=Q,R=(k|0)==0;do if(R)m=v;else{if(M=(v|0)==0,p=(Q|0)==0,F=p|M,F){E2(k),$=e[_>>2]|0,m=$;break}return b=t+336|0,e[b>>2]=s,A=0,A|0}while(!1);return E=(m|0)==0,E||E2(m),y=e[L>>2]|0,B=(y|0)==0,B||E2(y),g4(t|0,0,360)|0,A=-1,A|0}function KS(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0;return b=C,s=(t|0)==0,s||(A=e[t>>2]|0,$=(A|0)==0,$||E2(A),g=t+16|0,h=e[g>>2]|0,p=(h|0)==0,p||E2(h),m=t+20|0,E=e[m>>2]|0,y=(E|0)==0,y||E2(E),g4(t|0,0,360)|0),0}function JS(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0;if(O0=C,s=(t|0)==0,!s){if(A=e[t>>2]|0,k=A+22|0,I[k>>0]=0,H=e[t>>2]|0,h0=H+23|0,I[h0>>0]=0,n0=e[t>>2]|0,D0=n0+24|0,I[D0>>0]=0,E0=e[t>>2]|0,Q0=E0+25|0,I[Q0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(h=e[t>>2]|0,x0=0,v0=0;;)if(b=x0<<8,D=x0>>>24,v=h+v0|0,_=I[v>>0]|0,Q=_&255,L=Q^D,R=144+(L<<2)|0,M=e[R>>2]|0,F=M^b,G=v0+1|0,O=(G|0)<($|0),O)x0=F,v0=G;else{B0=F;break}else B0=0;if(p=t+12|0,m=e[p>>2]|0,E=(m|0)>0,E)for(y=t+8|0,B=e[y>>2]|0,R0=B0,G0=0;;)if(q=R0<<8,K=R0>>>24,t0=B+G0|0,Z=I[t0>>0]|0,A0=Z&255,j=A0^K,r0=144+(j<<2)|0,o0=e[r0>>2]|0,J=o0^q,s0=G0+1|0,Y=(s0|0)<(m|0),Y)R0=J,G0=s0;else{Z0=J;break}else Z0=B0;i0=Z0&255,e0=e[t>>2]|0,d0=e0+22|0,I[d0>>0]=i0,c0=Z0>>>8,$0=c0&255,l0=e[t>>2]|0,X=l0+23|0,I[X>>0]=$0,m0=Z0>>>16,g0=m0&255,I0=e[t>>2]|0,f0=I0+24|0,I[f0>>0]=g0,p0=Z0>>>24,C0=p0&255,S0=e[t>>2]|0,y0=S0+25|0,I[y0>>0]=C0}}function WS(t,s,A,$,g,h){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(x0=e[t>>2]|0,M0=(x0|0)==0,M0))return m=-1,m|0;if(L0=(s|0)==0,L0)return m=0,m|0;X0=(A|0)>0;e:do if(X0){for(m2=0,k2=0;;){if(b1=(s+(k2<<3)|0)+4|0,H1=e[b1>>2]|0,A2=(H1|0)<0,v=2147483647-H1|0,K=(m2|0)>(v|0),G2=A2|K,G2){m=-1;break}if(i0=H1+m2|0,c0=k2+1|0,$0=(c0|0)<(A|0),$0)m2=i0,k2=c0;else{a2=i0;break e}}return m|0}else a2=0;while(!1);l0=(a2|0)/255&-1,X=l0+1|0,m0=t+12|0,g0=e[m0>>2]|0,I0=(g0|0)==0,k=t+8|0,I0||(f0=e[k>>2]|0,p0=f0-g0|0,e[k>>2]=p0,C0=(f0|0)==(g0|0),C0||(S0=x0+g0|0,lA(x0|0,S0|0,p0|0)|0),e[m0>>2]=0),y0=t+4|0,D0=e[y0>>2]|0,E0=D0-a2|0,Q0=e[k>>2]|0,w0=(E0|0)>(Q0|0);do if(!w0){if(B0=2147483647-a2|0,Z0=(D0|0)>(B0|0),Z0)return R0=e[t>>2]|0,v0=(R0|0)==0,v0||E2(R0),G0=t+16|0,U0=e[G0>>2]|0,O0=(U0|0)==0,O0||E2(U0),H0=t+20|0,k0=e[H0>>2]|0,K0=(k0|0)==0,K0||E2(k0),g4(t|0,0,360)|0,m=-1,m|0;if(N0=D0+a2|0,P0=(N0|0)<2147482623,W0=N0+1024|0,p=P0?W0:N0,J0=e[t>>2]|0,V0=W7(J0,p)|0,j0=(V0|0)==0,!j0){e[y0>>2]=p,e[t>>2]=V0;break}return q0=e[t>>2]|0,Y0=(q0|0)==0,Y0||E2(q0),o1=t+16|0,z0=e[o1>>2]|0,r1=(z0|0)==0,r1||E2(z0),s1=t+20|0,h1=e[s1>>2]|0,u1=(h1|0)==0,u1||E2(h1),g4(t|0,0,360)|0,m=-1,m|0}while(!1);if(E1=ZS(t,X)|0,f1=(E1|0)==0,!f1)return m=-1,m|0;if(X0)for(y=e[k>>2]|0,k1=y,D2=0;y1=e[t>>2]|0,v1=y1+k1|0,S1=s+(D2<<3)|0,L1=e[S1>>2]|0,M1=(s+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,g9(v1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[k>>2]|0,P1=F1+R1|0,e[k>>2]=P1,D1=D2+1|0,r2=(D1|0)==(A|0),!r2;)k1=P1,D2=D1;if(d1=(a2|0)>254,A1=t+28|0,g1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,d1){for(B1=t+352|0,p1=t+20|0,Q1=e[p1>>2]|0,C1=(l0|0)>1,y2=0;O1=g1+y2|0,X1=$1+(O1<<2)|0,e[X1>>2]=255,G1=B1,x1=G1,J1=e[x1>>2]|0,V1=G1+4|0,Y1=V1,z1=e[Y1>>2]|0,t2=Q1+(O1<<3)|0,o2=t2,e2=o2,e[e2>>2]=J1,q1=o2+4|0,d2=q1,e[d2>>2]=z1,Z1=y2+1|0,I2=(Z1|0)<(l0|0),I2;)y2=Z1;M2=C1?l0:1,B=B1,g2=Q1,S2=M2}else E=t+20|0,b=e[E>>2]|0,D=t+352|0,B=D,g2=b,S2=0;return C2=(a2|0)%255&-1,$2=g1+S2|0,W1=$1+($2<<2)|0,e[W1>>2]=C2,f2=g2+($2<<3)|0,n2=f2,u2=n2,e[u2>>2]=g,s2=n2+4|0,l2=s2,e[l2>>2]=h,i2=B,_=i2,e[_>>2]=g,Q=i2+4|0,L=Q,e[L>>2]=h,R=$1+(g1<<2)|0,M=e[R>>2]|0,F=M|256,e[R>>2]=F,G=g1+X|0,e[A1>>2]=G,O=t+344|0,q=O,H=q,t0=e[H>>2]|0,Z=q+4|0,A0=Z,j=e[A0>>2]|0,r0=ro(t0|0,j|0,1,0)|0,o0=Z6,J=O,s0=J,e[s0>>2]=r0,Y=J+4|0,h0=Y,e[h0>>2]=o0,e0=($|0)==0,e0?(m=0,m|0):(d0=t+328|0,e[d0>>2]=1,m=0,m|0)}function $E(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0;return R=C,C=C+16|0,Q=R,A=e[s>>2]|0,e[Q>>2]=A,$=s+4|0,E=e[$>>2]|0,y=Q+4|0,e[y>>2]=E,B=s+12|0,b=e[B>>2]|0,D=s+16|0,k=D,v=k,_=e[v>>2]|0,g=k+4|0,h=g,p=e[h>>2]|0,m=WS(t,Q,1,b,_,p)|0,C=R,m|0}function Qy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0;return g=C,A=vy(t,s,1,4096)|0,A|0}function wy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0;return R=C,h=(t|0)==0,h||(p=e[t>>2]|0,m=(p|0)==0,m)?(A=0,A|0):(E=t+328|0,y=e[E>>2]|0,B=(y|0)==0,$=t+28|0,g=e[$>>2]|0,Q=(g|0)==0,B?Q?_=0:(b=t+332|0,D=e[b>>2]|0,k=(D|0)==0,k?L=7:_=0):Q?_=0:L=7,(L|0)==7&&(_=1),v=vy(t,s,_,4096)|0,A=v,A|0)}function ZS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0;return f0=C,g=t+24|0,h=e[g>>2]|0,Q=h-s|0,Z=t+28|0,d0=e[Z>>2]|0,l0=(Q|0)>(d0|0),l0?($=0,$|0):(X=2147483647-s|0,m0=(h|0)>(X|0),m0?(g0=e[t>>2]|0,I0=(g0|0)==0,I0||E2(g0),p=t+16|0,m=e[p>>2]|0,E=(m|0)==0,E||E2(m),y=t+20|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),g4(t|0,0,360)|0,$=-1,$|0):(D=h+s|0,k=(D|0)<2147483615,v=D+32|0,A=k?v:D,_=t+16|0,L=e[_>>2]|0,R=A<<2,M=W7(L,R)|0,F=(M|0)==0,F?(G=e[t>>2]|0,O=(G|0)==0,O||E2(G),q=e[_>>2]|0,H=(q|0)==0,H||E2(q),K=t+20|0,t0=e[K>>2]|0,A0=(t0|0)==0,A0||E2(t0),g4(t|0,0,360)|0,$=-1,$|0):(e[_>>2]=M,j=t+20|0,r0=e[j>>2]|0,o0=A<<3,J=W7(r0,o0)|0,s0=(J|0)==0,s0?(Y=e[t>>2]|0,h0=(Y|0)==0,h0||E2(Y),i0=e[_>>2]|0,e0=(i0|0)==0,e0||E2(i0),c0=e[j>>2]|0,$0=(c0|0)==0,$0||E2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[j>>2]=J,e[g>>2]=A,$=0,$|0))))}function vy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0;if(D5=C,Q=t+28|0,L=e[Q>>2]|0,h1=(L|0)>255,g=h1?255:L,p1=(t|0)==0,p1||(R1=e[t>>2]|0,Y1=(R1|0)==0,$2=(g|0)==0,_3=$2|Y1,_3))return h=0,h|0;r2=t+332|0,K2=e[r2>>2]|0,j2=(K2|0)==0;e:do if(j2)for(y0=t+16|0,g3=0;;){if(U0=(g3|0)<(g|0),!U0){m=A,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,K5=g3,Y5=14;break e}if(j0=e[y0>>2]|0,z0=j0+(g3<<2)|0,r1=e[z0>>2]|0,L0=r1&255,s1=(L0|0)==255,u1=g3+1|0,s1)g3=u1;else{m=A,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,K5=u1,Y5=14;break}}else if(R=(g|0)>0,R){for(j=t+16|0,$0=t+20|0,Q5=0,x5=-1,h5=-1,l5=-1,X2=-1,h2=-1,v5=-1,r5=-1,a5=-1,t3=0,G3=0,Q3=0;;){if(E1=(Q5|0)>($|0),f1=(t3|0)>3,V3=E1&f1,V3){p=1,q5=x5,R5=h5,z2=l5,C5=X2,$5=h2,d5=v5,w5=r5,T1=a5,u3=Q3;break}if(d1=e[j>>2]|0,A1=d1+(Q3<<2)|0,g1=e[A1>>2]|0,a1=g1&255,$1=a1+Q5|0,X0=(a1|0)==255,X0?(f5=x5,J2=h5,I5=l5,n5=X2,F5=h2,e5=v5,c5=r5,T2=a5,a6=0,Y3=G3):(B1=e[$0>>2]|0,Q1=B1+(Q3<<3)|0,C1=Q1,y1=C1,v1=e[y1>>2]|0,k1=C1+4|0,S1=k1,L1=e[S1>>2]|0,M1=G3+1|0,b1=v1&255,_1=no(v1|0,L1|0,8)|0,F1=Z6,P1=_1&255,D1=no(v1|0,L1|0,16)|0,O1=Z6,X1=D1&255,G1=no(v1|0,L1|0,24)|0,x1=Z6,J1=G1&255,H1=L1&255,V1=no(v1|0,L1|0,40)|0,z1=Z6,t2=V1&255,o2=no(v1|0,L1|0,48)|0,e2=Z6,q1=o2&255,d2=no(v1|0,L1|0,56)|0,Z1=Z6,I2=d2&255,f5=b1,J2=X1,I5=J1,n5=H1,F5=t2,e5=q1,c5=I2,T2=P1,a6=M1,Y3=M1),A2=Q3+1|0,C2=(A2|0)<(g|0),C2)Q5=$1,x5=f5,h5=J2,l5=I5,X2=n5,h2=F5,v5=e5,r5=c5,a5=T2,t3=a6,G3=Y3,Q3=A2;else{p=A,q5=f5,R5=J2,z2=I5,C5=n5,$5=F5,d5=e5,w5=c5,T1=T2,u3=A2;break}}W1=(u3|0)==255,W1?(a3=q5,y3=R5,G5=z2,Z5=C5,x3=$5,f3=d5,w3=w5,e6=T1,H5=255):(m=p,k5=q5,z5=R5,i3=z2,B5=C5,I3=$5,h3=d5,W5=w5,r3=T1,K5=u3,Y5=14)}else m=A,k5=-1,z5=-1,i3=-1,B5=-1,I3=-1,h3=-1,W5=-1,r3=-1,K5=0,Y5=14;while(!1);if((Y5|0)==14){if(f2=(m|0)==0,f2)return h=0,h|0;a3=k5,y3=z5,G5=i3,Z5=B5,x3=I3,f3=h3,w3=W5,e6=r3,H5=K5}if(g2=t+40|0,I[g2>>0]=79,I[g2+1>>0]=103,I[g2+2>>0]=103,I[g2+3>>0]=83,n2=t+44|0,I[n2>>0]=0,u2=t+45|0,I[u2>>0]=0,s2=t+16|0,l2=e[s2>>2]|0,i2=e[l2>>2]|0,a2=i2>>>8,b=a2&1,m2=b^1,k2=m2|2,E=j2?k2:m2,c3=E&255,I[u2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,y2=(S2|0)!=0,G2=(L|0)==(H5|0),X5=y2&G2,X5&&(y=j2?k2:m2,M2=y|4,O2=M2&255,I[u2>>0]=O2),e[r2>>2]=1,p2=t+46|0,I[p2>>0]=a3,W2=t+47|0,I[W2>>0]=e6,q2=t+48|0,I[q2>>0]=y3,U2=t+49|0,I[U2>>0]=G5,V2=t+50|0,I[V2>>0]=Z5,Z2=t+51|0,I[Z2>>0]=x3,A5=t+52|0,I[A5>>0]=f3,Y2=t+53|0,I[Y2>>0]=w3,N1=t+336|0,t5=e[N1>>2]|0,T5=t5&255,i5=t+54|0,I[i5>>0]=T5,L5=t5>>>8,p5=L5&255,_5=t+55|0,I[_5>>0]=p5,V5=t5>>>16,u5=V5&255,b2=t+56|0,I[b2>>0]=u5,y5=t5>>>24,o5=y5&255,F2=t+57|0,I[F2>>0]=o5,R2=t+340|0,Q2=e[R2>>2]|0,M=(Q2|0)==-1,M?(e[R2>>2]=0,G=0):G=Q2,F=G+1|0,e[R2>>2]=F,O=G&255,q=t+58|0,I[q>>0]=O,H=G>>>8,K=H&255,t0=t+59|0,I[t0>>0]=K,Z=G>>>16,A0=Z&255,r0=t+60|0,I[r0>>0]=A0,o0=G>>>24,J=o0&255,s0=t+61|0,I[s0>>0]=J,Y=t+62|0,h0=H5&255,i0=t+66|0,I[Y>>0]=0,I[Y+1>>0]=0,I[Y+2>>0]=0,I[Y+3>>0]=0,I[i0>>0]=h0,e0=(H5|0)>0,e0){if(d0=e[l2>>2]|0,c0=d0&255,l0=t+67|0,I[l0>>0]=c0,X=d0&255,M5=(H5|0)==1,M5)B=X;else for(g0=1,D0=X;;)if(D=e[s2>>2]|0,m0=D+(g0<<2)|0,I0=e[m0>>2]|0,n0=I0&255,f0=g0+27|0,p0=(t+40|0)+f0|0,I[p0>>0]=n0,C0=I0&255,S0=C0+D0|0,E0=g0+1|0,E5=(E0|0)==(H5|0),E5){B=S0;break}else g0=E0,D0=S0;k=e[t>>2]|0,v=e[Q>>2]|0,_=e[s2>>2]|0,v0=k,k0=v,N0=_,N5=B}else v0=R1,k0=L,N0=l2,N5=0;return e[s>>2]=g2,Q0=H5+27|0,w0=t+324|0,e[w0>>2]=Q0,B0=s+4|0,e[B0>>2]=Q0,x0=t+12|0,Z0=e[x0>>2]|0,R0=v0+Z0|0,G0=s+8|0,e[G0>>2]=R0,O0=s+12|0,e[O0>>2]=N5,H0=k0-H5|0,e[Q>>2]=H0,K0=N0+(H5<<2)|0,M0=H0<<2,lA(N0|0,K0|0,M0|0)|0,P0=t+20|0,W0=e[P0>>2]|0,J0=W0+(H5<<3)|0,V0=e[Q>>2]|0,q0=V0<<3,lA(W0|0,J0|0,q0|0)|0,Y0=e[x0>>2]|0,o1=Y0+N5|0,e[x0>>2]=o1,JS(s),h=1,h|0}function jS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0;return z0=C,$=t+104|0,g=e[$>>2]|0,_=t+88|0,t0=g+12|0,e[_>>2]=0,e[_+4>>2]=0,e[_+8>>2]=0,e[_+12>>2]=0,e0=e[t0>>2]|0,mi(e0),p0=g+16|0,R0=e[p0>>2]|0,mi(R0),W0=g+20|0,q0=e[W0>>2]|0,mi(q0),Y0=g+24|0,h=e[Y0>>2]|0,mi(h),p=g+28|0,m=e[p>>2]|0,mi(m),E=g+32|0,y=e[E>>2]|0,mi(y),B=g+36|0,b=e[B>>2]|0,mi(b),D=g+40|0,k=e[D>>2]|0,mi(k),v=g+44|0,Q=e[v>>2]|0,mi(Q),L=g+48|0,R=e[L>>2]|0,mi(R),M=g+52|0,F=e[M>>2]|0,mi(F),G=g+56|0,O=e[G>>2]|0,mi(O),q=g+60|0,H=e[q>>2]|0,mi(H),K=g+64|0,Z=e[K>>2]|0,mi(Z),A0=g+68|0,j=e[A0>>2]|0,mi(j),r0=e[6416]|0,o0=r0+12|0,J=e[o0>>2]|0,s0=nQ[J&1](t)|0,Y=(s0|0)==0,Y?(h0=(s|0)==0,h0?(A=0,A|0):(i0=Pu(t)|0,d0=(i0|0)==0,d0?(c0=t+4|0,$0=yy(c0)|0,e[s>>2]=$0,l0=_8(c0)|0,X=s+4|0,e[X>>2]=l0,m0=s+8|0,e[m0>>2]=0,g0=t+44|0,I0=e[g0>>2]|0,n0=s+12|0,e[n0>>2]=I0,f0=t+48|0,C0=f0,S0=C0,y0=e[S0>>2]|0,D0=C0+4|0,E0=D0,Q0=e[E0>>2]|0,w0=s+16|0,B0=w0,x0=B0,e[x0>>2]=y0,Z0=B0+4|0,v0=Z0,e[v0>>2]=Q0,G0=t+56|0,U0=G0,O0=U0,H0=e[O0>>2]|0,k0=U0+4|0,K0=k0,N0=e[K0>>2]|0,M0=s+24|0,P0=M0,J0=P0,e[J0>>2]=H0,V0=P0+4|0,j0=V0,e[j0>>2]=N0,A=0,A|0):(A=-131,A|0))):(A=s0,A|0)}function XS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0;y0=C,A=t+28|0,$=e[A>>2]|0,C0=s,D0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(D0|0));v=$+3372|0,K=e[v>>2]|0,i0=(K|0)>0,i0&&(g0=t+8|0,I0=e[g0>>2]|0,n0=e[$>>2]|0,f0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,h=(g|0)/(n0|0)&-1,p=s+24|0,e[p>>2]=h,e[s>>2]=1,m=$+3360|0,E=e[m>>2]|0,y=+(E|0),B=+(f0|0),b=y*B,D=+(I0|0),k=b/D,_=+J7(k),Q=~~_,L=s+12|0,e[L>>2]=Q,R=$+3364|0,M=e[R>>2]|0,F=+(M|0),G=F*B,O=G/D,q=+J7(O),H=~~q,t0=s+16|0,e[t0>>2]=H,Z=$+3368|0,A0=e[Z>>2]|0,j=+(A0|0),r0=j*B,o0=r0/D,J=+J7(o0),s0=~~J,Y=s+20|0,e[Y>>2]=s0,h0=s+32|0,c1[h0>>3]=7,e0=+(K|0),d0=$+3376|0,c0=+c1[d0>>3],$0=e0*c0,l0=~~$0,X=s+8|0,e[X>>2]=l0,m0=s+4|0,e[m0>>2]=l0)}function eb(t){t=t|0;var s=0,A=0,$=0,g=0;$=C,s=t,g=s+48|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(g|0))}function Pu(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0;return B=C,A=t+64|0,$=e[A>>2]|0,g=$+104|0,h=e[g>>2]|0,p=h+80|0,m=e[p>>2]|0,E=(m|0)!=0,s=E&1,s|0}function tb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0;if(R6=C,y=t+104|0,B=e[y>>2]|0,Z1=t+64|0,b2=e[Z1>>2]|0,R5=b2+104|0,h2=e[R5>>2]|0,T2=b2+4|0,G5=e[T2>>2]|0,G3=G5+28|0,U5=e[G3>>2]|0,b=h2+112|0,O=+c1[b>>3],s0=+J7(O),g0=~~s0,w0=(B+12|0)+(g0<<2)|0,K0=e[w0>>2]|0,z0=_8(K0)|0,a1=z0<<3,L1=t+28|0,x1=e[L1>>2]|0,I2=(x1|0)==0,i2=h2+96|0,p2=e[i2>>2]|0,I2?(T5=h2+100|0,L5=e[T5>>2]|0,Y=p2,D0=T5,B0=L5):(j2=h2+104|0,p5=e[j2>>2]|0,_5=h2+100|0,V5=e[_5>>2]|0,u5=s5(p5,p2)|0,y5=s5(p5,V5)|0,Y=u5,D0=_5,B0=y5),o5=U5+(x1<<2)|0,F2=e[o5>>2]|0,R2=F2>>1,Q2=U5+3372|0,Q5=e[Q2>>2]|0,N5=+(Q5|0),E5=U5+3376|0,M5=+c1[E5>>3],q5=N5*M5,z2=~~q5,C5=h2+80|0,$5=e[C5>>2]|0,d5=($5|0)==0,w5=h2+120|0,d5)return T1=e[w5>>2]|0,x5=(T1|0)==0,x5?(e[w5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[w5>>2]=t,h5=h2+92|0,l5=e[h5>>2]|0,X2=(l5|0)>0,X2){I2?c5=l5:(v5=h2+104|0,r5=e[v5>>2]|0,a5=s5(r5,l5)|0,c5=a5),f5=U5+3384|0,J2=+c1[f5>>3],I5=15/J2,n5=h2+84|0,F5=e[n5>>2]|0,e5=a1-c5|0,k5=F5+e5|0,z5=(k5|0)>(z2|0);e:do if(z5)if(i3=(g0|0)>0,B5=(a1|0)>(c5|0),M6=B5&i3,M6)if(I3=a1-c5|0,h3=I3+F5|0,W5=(h3|0)>(z2|0),W5)for(K3=g0;;){if(r3=K3+-1|0,a3=(B+12|0)+(r3<<2)|0,y3=e[a3>>2]|0,Z5=_8(y3)|0,x3=Z5<<3,f3=(K3|0)>1,w3=(x3|0)>(c5|0),L6=w3&f3,!L6){j5=r3;break e}if(m=e[n5>>2]|0,e6=x3-c5|0,V3=e6+m|0,X5=(V3|0)>(z2|0),X5)K3=r3;else{j5=r3;break}}else j5=g0;else j5=g0;else if(_3=(k5|0)<(z2|0),_3)if(t3=g0+1|0,a6=(t3|0)<15,Y3=(a1|0)<(c5|0),n6=Y3&a6,n6)if(c3=a1-c5|0,g3=c3+F5|0,u3=(g3|0)<(z2|0),u3)for(K5=t3;;){if(Q3=(B+12|0)+(K5<<2)|0,H5=e[Q3>>2]|0,Y5=_8(H5)|0,D5=Y5<<3,z3=K5+1|0,l6=(z3|0)<15,n3=(D5|0)<(c5|0),S6=n3&l6,!S6){j5=K5;break e}if(p=e[n5>>2]|0,l3=D5-c5|0,U3=l3+p|0,C6=(U3|0)<(z2|0),C6)K5=z3;else{j5=K5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+c1[b>>3],D3=b3-L3,A6=+J7(D3),r6=+(R2|0),D=A6/r6,k=G5+8|0,v=e[k>>2]|0,_=+(v|0),Q=_*D,L=-I5,R=QI5,R3=M?I5:k6,F=R3/_,G=F*r6,q=G+L3,c1[b>>3]=q,H=+J7(q),K=~~H,t0=(B+12|0)+(K<<2)|0,Z=e[t0>>2]|0,A0=_8(Z)|0,j=A0<<3,E=e[i2>>2]|0,r0=E,M3=K,s6=j}else r0=p2,M3=g0,s6=a1;o0=(r0|0)>0,J=(s6|0)<(Y|0),f6=J&o0;e:do if(f6)if(h0=h2+88|0,i0=e[h0>>2]|0,e0=s6-Y|0,d0=e0+i0|0,c0=(d0|0)<0,c0)for(d3=M3,o6=s6;;){if($0=d3+1|0,l0=(d3|0)>13,l0){J3=$0,B6=o6;break e}if(X=(B+12|0)+($0<<2)|0,m0=e[X>>2]|0,I0=_8(m0)|0,n0=I0<<3,f0=e[h0>>2]|0,p0=n0-Y|0,C0=p0+f0|0,S0=(C0|0)<0,S0)d3=$0,o6=n0;else{J3=$0,B6=n0;break}}else J3=M3,B6=s6;else J3=M3,B6=s6;while(!1);y0=e[D0>>2]|0,E0=(y0|0)>0,Q0=(B6|0)>(B0|0),b6=Q0&E0;e:do if(b6)if(x0=h2+88|0,Z0=e[x0>>2]|0,R0=B6-B0|0,v0=R0+Z0|0,G0=e[Q2>>2]|0,U0=(v0|0)>(G0|0),U0)for(h6=J3,W3=B6;;){if(O0=h6+-1|0,H0=(h6|0)<1,H0){m3=O0,F3=W3;break e}if(k0=(B+12|0)+(O0<<2)|0,N0=e[k0>>2]|0,M0=_8(N0)|0,P0=M0<<3,W0=e[x0>>2]|0,J0=P0-B0|0,V0=J0+W0|0,j0=e[Q2>>2]|0,q0=(V0|0)>(j0|0),q0)h6=O0,W3=P0;else{m3=O0,F3=P0;break}}else m3=J3,F3=B6;else m3=J3,F3=B6;while(!1);if(Y0=(m3|0)<0,Y0)o1=e[Q2>>2]|0,r1=h2+88|0,L0=e[r1>>2]|0,s1=o1+B0|0,h1=s1-L0|0,u1=(h1|0)/8&-1,E1=h2+124|0,e[E1>>2]=0,f1=B+12|0,d1=e[f1>>2]|0,A1=_8(d1)|0,g1=(A1|0)>(u1|0),g1?($1=e[f1>>2]|0,X0=u1<<3,YS($1,X0),B1=e[f1>>2]|0,p1=_8(B1)|0,Q1=p1<<3,Z3=Q1):Z3=F3;else{if(C1=h2+88|0,y1=e[C1>>2]|0,v1=Y+7|0,k1=v1-y1|0,S1=(k1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=h2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=_8(R1)|0,P1=S1-F1|0,D1=(P1|0)>0,O1=e[_1>>2]|0,D1)for(G1=O1,x6=P1;;)if(X1=x6+-1|0,H2(G1,0,8),J1=(x6|0)>1,H1=e[_1>>2]|0,J1)G1=H1,x6=X1;else{h=H1;break}else h=O1;V1=_8(h)|0,Y1=V1<<3,Z3=Y1}z1=e[i2>>2]|0,t2=(z1|0)>0,t2?t6=37:(o2=e[D0>>2]|0,e2=(o2|0)>0,e2&&(t6=37));do if((t6|0)==37){if(q1=(B0|0)>0,d2=(Z3|0)>(B0|0),N6=q1&d2,N6){A2=Z3-B0|0,C2=h2+88|0,$2=e[C2>>2]|0,W1=A2+$2|0,e[C2>>2]=W1;break}if(f2=(Y|0)>0,g2=(Z3|0)<(Y|0),j6=f2&g2,j6){n2=Z3-Y|0,u2=h2+88|0,s2=e[u2>>2]|0,l2=n2+s2|0,e[u2>>2]=l2;break}if(a2=h2+88|0,m2=e[a2>>2]|0,r2=(m2|0)>(z2|0),r2)if(q1){k2=Z3-B0|0,D2=m2+k2|0,S2=(D2|0)<(z2|0),s=S2?z2:D2,e[a2>>2]=s;break}else{e[a2>>2]=z2;break}else if(f2){y2=Z3-Y|0,G2=m2+y2|0,M2=(G2|0)>(z2|0),$=M2?z2:G2,e[a2>>2]=$;break}else{e[a2>>2]=z2;break}}while(!1);return O2=e[h5>>2]|0,W2=(O2|0)>0,W2?(q2=e[L1>>2]|0,K2=(q2|0)==0,K2?Y2=O2:(U2=h2+104|0,V2=e[U2>>2]|0,Z2=s5(V2,O2)|0,Y2=Z2),A5=Z3-Y2|0,N1=h2+84|0,t5=e[N1>>2]|0,i5=A5+t5|0,e[N1>>2]=i5,A=0,A|0):(A=0,A|0)}function ky(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,_=g+120|0,t0=e[_>>2]|0,e0=(t0|0)==0,e0?(A=0,A|0):(p0=(s|0)==0,p0||(C0=t0+104|0,S0=e[C0>>2]|0,y0=t0+64|0,D0=e[y0>>2]|0,h=D0+104|0,p=e[h>>2]|0,m=p+80|0,E=e[m>>2]|0,Q0=(E|0)==0,Q0?E0=7:(y=g+124|0,B=e[y>>2]|0,E0=B),b=(S0+12|0)+(E0<<2)|0,D=e[b>>2]|0,k=yy(D)|0,e[s>>2]=k,v=e[b>>2]|0,Q=_8(v)|0,L=s+4|0,e[L>>2]=Q,R=s+8|0,e[R>>2]=0,M=t0+44|0,F=e[M>>2]|0,G=s+12|0,e[G>>2]=F,O=t0+48|0,q=O,H=q,K=e[H>>2]|0,Z=q+4|0,A0=Z,j=e[A0>>2]|0,r0=s+16|0,o0=r0,J=o0,e[J>>2]=K,s0=o0+4|0,Y=s0,e[Y>>2]=j,h0=t0+56|0,i0=h0,d0=i0,c0=e[d0>>2]|0,$0=i0+4|0,l0=$0,X=e[l0>>2]|0,m0=s+24|0,g0=m0,I0=g0,e[I0>>2]=c0,n0=g0+4|0,f0=n0,e[f0>>2]=X),e[_>>2]=0,A=1,A|0)}function ib(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0;G=C,M=s,O=M+112|0;do e[M>>2]=0,M=M+4|0;while((M|0)<(O|0));if(A=s+64|0,e[A>>2]=t,$=s+76|0,e[$>>2]=0,y=s+68|0,e[y>>2]=0,B=e[t>>2]|0,b=(B|0)==0,b)return 0;for(D=c9(1,72)|0,k=s+104|0,e[k>>2]=D,v=D+4|0,o[v>>2]=-9999,_=s+4|0,Q=D+12|0,g=D+40|0,R=0;;)if(h=(R|0)==7,h){e[g>>2]=_,xC(_),R=8;continue}else{if(p=c9(1,20)|0,m=Q+(R<<2)|0,e[m>>2]=p,xC(p),E=R+1|0,L=(E|0)==15,L)break;R=E;continue}return 0}function W8(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0;return Z=C,A=s+7|0,$=A&-8,v=t+72|0,M=e[v>>2]|0,F=M+$|0,G=t+76|0,O=e[G>>2]|0,q=(F|0)>(O|0),H=t+68|0,K=e[H>>2]|0,q?(g=(K|0)==0,g||(h=K,p=Re(8)|0,m=t+80|0,E=e[m>>2]|0,y=E+M|0,e[m>>2]=y,B=t+84|0,b=e[B>>2]|0,D=p+4|0,e[D>>2]=b,e[p>>2]=h,e[B>>2]=p),e[G>>2]=$,k=Re($)|0,e[H>>2]=k,e[v>>2]=0,Q=k,L=0,_=Q+L|0,R=L+$|0,e[v>>2]=R,_|0):(Q=K,L=M,_=Q+L|0,R=L+$|0,e[v>>2]=R,_|0)}function rb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0;if(i0=C,$=t+104|0,g=e[$>>2]|0,_=t+84|0,H=e[_>>2]|0,K=(H|0)==0,!K)for(s0=H;t0=s0+4|0,Z=e[t0>>2]|0,A0=e[s0>>2]|0,E2(A0),E2(s0),j=(Z|0)==0,!j;)s0=Z;if(r0=t+80|0,h=e[r0>>2]|0,p=(h|0)==0,s=t+68|0,A=e[s>>2]|0,p?Q=A:(m=t+76|0,E=e[m>>2]|0,y=E+h|0,B=W7(A,y)|0,e[s>>2]=B,b=e[r0>>2]|0,D=e[m>>2]|0,k=D+b|0,e[m>>2]=k,e[r0>>2]=0,Q=B),v=t+72|0,e[v>>2]=0,e[_>>2]=0,L=(Q|0)==0,L||E2(Q),R=(g|0)==0,R){Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}else J=0;for(;;){if(M=(g+12|0)+(J<<2)|0,F=e[M>>2]|0,LC(F),G=(J|0)==7,G){J=8;continue}if(O=e[M>>2]|0,E2(O),q=J+1|0,o0=(q|0)==15,o0)break;J=q}E2(g),Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}function nb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,$=ob(t,s,1)|0,g=($|0)==0,g?(E=t+104|0,y=e[E>>2]|0,B=Nb(s)|0,b=y+60|0,e[b>>2]=B,D=c9(1,180)|0,e[y>>2]=D,cb(D,s),k=y+80|0,XS(s,k),v=t+64|0,_=v,h=_,e[h>>2]=3,p=_+4|0,m=p,e[m>>2]=0,A=0,A|0):(A=1,A|0)}function Sy(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0;if(q2=C,B=(t|0)==0,!B){if(b=t+4|0,w0=e[b>>2]|0,K0=(w0|0)!=0,K0?(z0=w0+28|0,a1=e[z0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,Z1=(x1|0)!=0,Z1){if(l2=e[x1>>2]|0,D=(l2|0)==0,D||(gb(l2),q=e[x1>>2]|0,E2(q)),Y=x1+12|0,I0=e[Y>>2]|0,C0=(I0|0)==0,C0||(S0=e[I0>>2]|0,GC(S0),y0=e[Y>>2]|0,D0=e[y0>>2]|0,E2(D0),E0=e[Y>>2]|0,E2(E0)),Q0=x1+16|0,B0=e[Q0>>2]|0,x0=(B0|0)==0,x0||(Z0=e[B0>>2]|0,GC(Z0),R0=e[Q0>>2]|0,v0=e[R0>>2]|0,E2(v0),G0=e[Q0>>2]|0,E2(G0)),U0=x1+48|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0){if(N0=(k0|0)==0,N0)C1=O0;else if(M0=k0+16|0,P0=e[M0>>2]|0,W0=(P0|0)>0,W0){if(J0=k0+800|0,V0=e[J0>>2]|0,j0=25640+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+16|0,o1=e[Y0>>2]|0,r1=e[O0>>2]|0,oo[o1&7](r1),L0=e[M0>>2]|0,s1=(L0|0)>1,s1)for(u1=1;s=e[U0>>2]|0,h1=J0+(u1<<2)|0,E1=e[h1>>2]|0,f1=25640+(E1<<2)|0,d1=e[f1>>2]|0,A1=d1+16|0,g1=e[A1>>2]|0,$1=s+(u1<<2)|0,X0=e[$1>>2]|0,oo[g1&7](X0),B1=u1+1|0,p1=e[M0>>2]|0,Q1=(B1|0)<(p1|0),Q1;)u1=B1;A=e[U0>>2]|0,C1=A}else C1=O0;E2(C1)}if(y1=x1+52|0,v1=e[y1>>2]|0,k1=(v1|0)==0,!k1){if(S1=(k0|0)==0,S1)W1=v1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,P1=25648+(F1<<2)|0,D1=e[P1>>2]|0,O1=D1+16|0,X1=e[O1>>2]|0,G1=e[v1>>2]|0,oo[X1&7](G1),J1=e[M1>>2]|0,H1=(J1|0)>1,H1)for(Y1=1;$=e[y1>>2]|0,V1=R1+(Y1<<2)|0,z1=e[V1>>2]|0,t2=25648+(z1<<2)|0,o2=e[t2>>2]|0,e2=o2+16|0,q1=e[e2>>2]|0,d2=$+(Y1<<2)|0,I2=e[d2>>2]|0,oo[q1&7](I2),A2=Y1+1|0,C2=e[M1>>2]|0,$2=(A2|0)<(C2|0),$2;)Y1=A2;g=e[y1>>2]|0,W1=g}else W1=v1;E2(W1)}if(f2=x1+56|0,g2=e[f2>>2]|0,n2=(g2|0)==0,!n2){if(u2=(k0|0)==0,u2)M2=g2;else if(s2=k0+28|0,i2=e[s2>>2]|0,a2=(i2|0)>0,a2){if(Ty(g2),m2=e[s2>>2]|0,r2=(m2|0)>1,r2)for(D2=1;h=e[f2>>2]|0,k2=h+(D2*52|0)|0,Ty(k2),S2=D2+1|0,y2=e[s2>>2]|0,G2=(S2|0)<(y2|0),G2;)D2=S2;p=e[f2>>2]|0,M2=p}else M2=g2;E2(M2)}k=x1+60|0,v=e[k>>2]|0,_=(v|0)==0,_||Gb(v),Q=x1+80|0,eb(Q),L=x1+20|0,zy(L),R=x1+32|0,zy(R)}if(M=t+8|0,F=e[M>>2]|0,G=(F|0)==0,!G){if(K0)if(O=w0+4|0,H=e[O>>2]|0,K=(H|0)>0,K){for(Z=F,p0=H,O2=0;t0=Z+(O2<<2)|0,A0=e[t0>>2]|0,j=(A0|0)==0,j?J=p0:(E2(A0),E=e[O>>2]|0,J=E),r0=O2+1|0,o0=(r0|0)<(J|0),!!o0;)m=e[M>>2]|0,Z=m,p0=J,O2=r0;y=e[M>>2]|0,s0=y}else s0=F;else s0=F;E2(s0),h0=t+12|0,i0=e[h0>>2]|0,e0=(i0|0)==0,e0||E2(i0)}Z1&&(d0=x1+64|0,c0=e[d0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,X=e[l0>>2]|0,m0=(X|0)==0,m0||E2(X),g0=x1+72|0,n0=e[g0>>2]|0,f0=(n0|0)==0,f0||E2(n0),E2(x1)),p2=t,K2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(K2|0))}}function by(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0;if(K0=C,m=t+4|0,E=e[m>>2]|0,M=t+104|0,r0=e[M>>2]|0,l0=r0+64|0,D0=e[l0>>2]|0,v0=(D0|0)==0,v0||E2(D0),e[l0>>2]=0,G0=r0+68|0,U0=e[G0>>2]|0,O0=(U0|0)==0,O0||E2(U0),e[G0>>2]=0,y=r0+72|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),e[y>>2]=0,D=t+20|0,k=e[D>>2]|0,v=k+s|0,_=t+16|0,Q=e[_>>2]|0,L=(v|0)<(Q|0),L)A=E+4|0,h=e[A>>2]|0,s0=h,k0=11;else if(R=s<<1,F=k+R|0,e[_>>2]=F,G=E+4|0,O=e[G>>2]|0,q=(O|0)>0,q)if(H=t+8|0,K=e[H>>2]|0,t0=e[K>>2]|0,Z=F<<2,A0=W7(t0,Z)|0,j=e[H>>2]|0,e[j>>2]=A0,o0=e[G>>2]|0,J=(o0|0)>1,J)for($0=1;;)if($=e[_>>2]|0,d0=e[H>>2]|0,c0=d0+($0<<2)|0,X=e[c0>>2]|0,m0=$<<2,g0=W7(X,m0)|0,I0=e[H>>2]|0,n0=I0+($0<<2)|0,e[n0>>2]=g0,f0=$0+1|0,p0=e[G>>2]|0,C0=(f0|0)<(p0|0),C0)$0=f0;else{s0=p0,k0=11;break}else s0=o0,k0=11;if((k0|0)==11&&(Y=(s0|0)>0,Y)){for(h0=t+8|0,i0=e[D>>2]|0,e0=t+12|0,H0=0;;)if(S0=e[h0>>2]|0,y0=S0+(H0<<2)|0,E0=e[y0>>2]|0,Q0=E0+(i0<<2)|0,w0=e[e0>>2]|0,B0=w0+(H0<<2)|0,e[B0>>2]=Q0,x0=H0+1|0,Z0=(x0|0)<(s0|0),Z0)H0=x0;else{g=e0;break}return R0=e[g>>2]|0,R0|0}return p=t+12|0,g=p,R0=e[g>>2]|0,R0|0}function sb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0;if(V0=C,m=t+4|0,E=e[m>>2]|0,M=E+28|0,r0=e[M>>2]|0,l0=(s|0)<1,!l0)return S0=t+20|0,y0=e[S0>>2]|0,E0=y0+s|0,Q0=t+16|0,w0=e[Q0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=V0,$|0):(e[S0>>2]=E0,x0=t+28|0,Z0=e[x0>>2]|0,R0=(Z0|0)==0,!R0||(v0=t+48|0,G0=e[v0>>2]|0,U0=E0-G0|0,H0=r0+4|0,k0=e[H0>>2]|0,K0=(U0|0)>(k0|0),!K0)?($=0,C=V0,$|0):(_y(t),$=0,C=V0,$|0));if(D0=C,C=C+128|0,O0=t+28|0,N0=e[O0>>2]|0,M0=(N0|0)==0,M0&&_y(t),P0=r0+4|0,y=e[P0>>2]|0,B=y*3|0,by(t,B)|0,b=t+20|0,D=e[b>>2]|0,k=t+32|0,e[k>>2]=D,v=e[P0>>2]|0,_=v*3|0,Q=D+_|0,e[b>>2]=Q,L=E+4|0,R=e[L>>2]|0,F=(R|0)>0,!F)return $=0,C=V0,$|0;for(G=t+8|0,O=D,W0=0;;){if(q=(O|0)>64,q?(H=e[P0>>2]|0,K=(O|0)>(H|0),A=K?H:O,t0=e[G>>2]|0,Z=t0+(W0<<2)|0,A0=e[Z>>2]|0,h=O-A|0,j=A0+(h<<2)|0,+xy(j,D0,A,32),o0=e[G>>2]|0,J=o0+(W0<<2)|0,s0=e[J>>2]|0,Y=e[k>>2]|0,h0=s0+(Y<<2)|0,p=Y+-32|0,i0=s0+(p<<2)|0,e0=e[b>>2]|0,d0=e0-Y|0,Ly(D0,i0,32,h0,d0)):(c0=e[G>>2]|0,$0=c0+(W0<<2)|0,X=e[$0>>2]|0,m0=X+(O<<2)|0,g0=e[b>>2]|0,I0=g0-O|0,n0=I0<<2,g4(m0|0,0,n0|0)|0),f0=W0+1|0,p0=e[L>>2]|0,C0=(f0|0)<(p0|0),!C0){$=0;break}g=e[k>>2]|0,O=g,W0=f0}return C=V0,$|0}function Dy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0;if(u9=C,b=t+4|0,D=e[b>>2]|0,A2=D+28|0,D5=e[A2>>2]|0,A6=t+104|0,M6=e[A6>>2]|0,B6=M6+60|0,y6=e[B6>>2]|0,V6=t+48|0,ae=e[V6>>2]|0,k=t+40|0,H=e[k>>2]|0,h0=D5+(H<<2)|0,n0=e[h0>>2]|0,x0=(n0|0)/2&-1,M0=ae-x0|0,L0=s+104|0,X0=e[L0>>2]|0,b1=t+28|0,H1=e[b1>>2]|0,C2=(H1|0)==0,C2||(m2=t+32|0,q2=e[m2>>2]|0,L5=(q2|0)==-1,L5))return $=0,$|0;Q2=ub(t)|0,w5=(Q2|0)==-1;do if(w5){if(J2=e[m2>>2]|0,I3=(J2|0)==0,I3)return $=0,$|0;e6=t+44|0,e[e6>>2]=0,h=e6,K3=0;break}else if(Q3=e[D5>>2]|0,z3=D5+4|0,U5=e[z3>>2]|0,l6=(Q3|0)==(U5|0),n3=t+44|0,l6){e[n3>>2]=0,h=n3,K3=0;break}else{e[n3>>2]=Q2,h=n3,K3=Q2;break}while(!1);if(l3=e[V6>>2]|0,U3=e[k>>2]|0,C6=D5+(U3<<2)|0,b3=e[C6>>2]|0,L3=(b3|0)/4&-1,D3=L3+l3|0,r6=D5+(K3<<2)|0,j5=e[r6>>2]|0,M3=(j5|0)/4&-1,d3=D3+M3|0,J3=(j5|0)/2&-1,h6=d3+J3|0,m3=t+20|0,x6=e[m3>>2]|0,L6=(x6|0)<(h6|0),L6)return $=0,$|0;if(S6=s+84|0,n6=e[S6>>2]|0,f6=(n6|0)==0,!f6)for(we=n6;b6=we+4|0,N6=e[b6>>2]|0,j6=e[we>>2]|0,E2(j6),E2(we),k6=(N6|0)==0,!k6;)we=N6;R3=s+80|0,s6=e[R3>>2]|0,o6=(s6|0)==0,o6||(W3=s+68|0,F3=e[W3>>2]|0,Z3=s+76|0,t6=e[Z3>>2]|0,R6=t6+s6|0,c6=W7(F3,R6)|0,e[W3>>2]=c6,s3=e[R3>>2]|0,K6=e[Z3>>2]|0,A3=K6+s3|0,e[Z3>>2]=A3,e[R3>>2]=0),g6=s+72|0,e[g6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,$6=s+24|0,e[$6>>2]=H6,D6=e[k>>2]|0,G6=s+28|0,e[G6>>2]=D6,ee=e[h>>2]|0,Q6=s+32|0,e[Q6>>2]=ee,X6=(D6|0)==0;do if(X6)if(ue=db(t)|0,U6=(ue|0)==0,Y6=X0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,re=(ee|0)==0,Ye=P3|re,oe=X0+8|0,Ye){e[oe>>2]=0;break}else{e[oe>>2]=1;break}while(!1);F6=s+64|0,e[F6>>2]=t,te=t+64|0,_6=te,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,he=O6,ne=e[he>>2]|0,Be=ro(O3|0,ne|0,1,0)|0,ye=Z6,Qe=te,fe=Qe,e[fe>>2]=Be,Ie=Qe+4|0,Ve=Ie,e[Ve>>2]=ye,w6=s+56|0,q6=w6,v=q6,e[v>>2]=O3,_=q6+4|0,Q=_,e[Q>>2]=ne,L=t+56|0,R=L,M=R,F=e[M>>2]|0,G=R+4|0,O=G,q=e[O>>2]|0,K=s+48|0,t0=K,Z=t0,e[Z>>2]=F,A0=t0+4|0,j=A0,e[j>>2]=q,r0=e[k>>2]|0,o0=D5+(r0<<2)|0,J=e[o0>>2]|0,s0=s+36|0,e[s0>>2]=J,Y=X0+4|0,i0=+o[Y>>2],e0=+o[y6>>2],d0=i0>e0,d0?(o[y6>>2]=i0,c0=i0):c0=e0,$0=+Ob(c0,t),o[y6>>2]=$0,o[Y>>2]=$0,l0=D+4|0,X=e[l0>>2]|0,m0=X<<2,g0=m0+7|0,I0=g0&-8,f0=e[g6>>2]|0,p0=I0+f0|0,C0=s+76|0,S0=e[C0>>2]|0,y0=(p0|0)>(S0|0),D0=s+68|0,E0=e[D0>>2]|0,y0?(Q0=(E0|0)==0,Q0||(w0=E0,B0=Re(8)|0,Z0=e[R3>>2]|0,R0=Z0+f0|0,e[R3>>2]=R0,v0=e[S6>>2]|0,G0=B0+4|0,e[G0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=I0,U0=Re(I0)|0,e[D0>>2]=U0,e[g6>>2]=0,g=e[l0>>2]|0,H0=U0,k0=0,P0=g,q0=I0):(H0=E0,k0=f0,P0=X,q0=S0),O0=H0+k0|0,K0=k0+I0|0,e[g6>>2]=K0,e[s>>2]=O0,N0=P0<<2,W0=N0+7|0,J0=W0&-8,V0=J0+K0|0,j0=(V0|0)>(q0|0),j0?(Y0=(H0|0)==0,Y0||(o1=H0,z0=Re(8)|0,r1=e[R3>>2]|0,s1=r1+K0|0,e[R3>>2]=s1,h1=e[S6>>2]|0,u1=z0+4|0,e[u1>>2]=h1,e[z0>>2]=o1,e[S6>>2]=z0),e[C0>>2]=J0,E1=Re(J0)|0,e[D0>>2]=E1,e[g6>>2]=0,p=e[l0>>2]|0,d1=E1,A1=0,a1=p,Y5=J0):(d1=H0,A1=K0,a1=P0,Y5=q0),f1=d1+A1|0,g1=A1+J0|0,e[g6>>2]=g1,e[X0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(B1=t+8|0,S1=g1,M1=Y5,_1=d1,Ae=0;;){if(p1=e[s0>>2]|0,Q1=p1+M0|0,C1=Q1<<2,y1=C1+7|0,v1=y1&-8,k1=v1+S1|0,L1=(k1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,P1=Re(8)|0,D1=e[R3>>2]|0,O1=D1+S1|0,e[R3>>2]=O1,X1=e[S6>>2]|0,G1=P1+4|0,e[G1>>2]=X1,e[P1>>2]=F1,e[S6>>2]=P1),e[C0>>2]=v1,x1=Re(v1)|0,e[D0>>2]=x1,e[g6>>2]=0,V1=x1,Y1=0):(V1=_1,Y1=S1),J1=V1+Y1|0,z1=Y1+v1|0,e[g6>>2]=z1,t2=e[X0>>2]|0,o2=t2+(Ae<<2)|0,e[o2>>2]=J1,e2=e[X0>>2]|0,q1=e2+(Ae<<2)|0,d2=e[q1>>2]|0,Z1=e[B1>>2]|0,I2=Z1+(Ae<<2)|0,$2=e[I2>>2]|0,g9(d2|0,$2|0,C1|0)|0,W1=e[X0>>2]|0,f2=W1+(Ae<<2)|0,g2=e[f2>>2]|0,n2=g2+(M0<<2)|0,u2=e[s>>2]|0,s2=u2+(Ae<<2)|0,e[s2>>2]=n2,l2=Ae+1|0,i2=e[l0>>2]|0,a2=(l2|0)<(i2|0),!a2)break e;m=e[g6>>2]|0,E=e[C0>>2]|0,y=e[D0>>2]|0,S1=m,M1=E,_1=y,Ae=l2}while(!1);if(r2=e[m2>>2]|0,k2=(r2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(r2|0),!S2))return e[m2>>2]=-1,y2=s+44|0,e[y2>>2]=1,$=1,$|0;if(G2=D5+4|0,M2=e[G2>>2]|0,O2=(M2|0)/2&-1,p2=d3-O2|0,W2=(p2|0)>0,!W2)return $=1,$|0;if(K2=e[M6>>2]|0,hb(K2,p2),U2=e[m3>>2]|0,V2=U2-p2|0,e[m3>>2]=V2,Z2=e[l0>>2]|0,A5=(Z2|0)>0,A5&&(Y2=t+8|0,N1=e[Y2>>2]|0,t5=e[N1>>2]|0,T5=t5+(p2<<2)|0,i5=V2<<2,lA(t5|0,T5|0,i5|0)|0,j2=e[l0>>2]|0,p5=(j2|0)>1,p5))for(u5=1;B=e[m3>>2]|0,_5=e[Y2>>2]|0,V5=_5+(u5<<2)|0,b2=e[V5>>2]|0,y5=b2+(p2<<2)|0,o5=B<<2,lA(b2|0,y5|0,o5|0)|0,F2=u5+1|0,R2=e[l0>>2]|0,Q5=(F2|0)<(R2|0),Q5;)u5=F2;return N5=e[k>>2]|0,e[T3>>2]=N5,E5=e[h>>2]|0,e[k>>2]=E5,e[V6>>2]=O2,M5=e[m2>>2]|0,q5=(M5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,V3=L,X5=V3,_3=e[X5>>2]|0,t3=V3+4|0,a6=t3,G3=e[a6>>2]|0,Y3=ro(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=L,u3=g3,e[u3>>2]=Y3,K5=g3+4|0,H5=K5,e[H5>>2]=c3,$=1,$|0):(R5=M5-p2|0,z2=(R5|0)<1,A=z2?-1:R5,e[m2>>2]=A,C5=(A|0)>(O2|0),C5?(c5=(p2|0)<0,T2=c5<<31>>31,k5=L,z5=k5,i3=e[z5>>2]|0,B5=k5+4|0,h3=B5,W5=e[h3>>2]|0,r3=ro(i3|0,W5|0,p2|0,T2|0)|0,a3=Z6,y3=L,G5=y3,e[G5>>2]=r3,Z5=y3+4|0,x3=Z5,e[x3>>2]=a3,$=1,$|0):($5=A+p2|0,d5=$5-O2|0,T1=(d5|0)<0,x5=T1<<31>>31,h5=L,l5=h5,X2=e[l5>>2]|0,h2=h5+4|0,v5=h2,r5=e[v5>>2]|0,a5=ro(X2|0,r5|0,d5|0,x5|0)|0,f5=Z6,I5=L,n5=I5,e[n5>>2]=a5,F5=I5+4|0,e5=F5,e[e5>>2]=f5,$=1,$|0))}function ob(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0;if(n5=C,y=s+28|0,B=e[y>>2]|0,k1=(B|0)==0,k1||(X1=B+8|0,q1=e[X1>>2]|0,u2=(q1|0)<1,u2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,R5=e[b2>>2]|0,b=(R5|0)<(G2|0),b))return $=1,$|0;O=B+3656|0,s0=e[O>>2]|0,J2=t,F5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(F5|0));g0=c9(1,136)|0,w0=t+104|0,e[w0>>2]=g0,K0=t+4|0,e[K0>>2]=s,z0=e[X1>>2]|0,a1=z0+-1|0,y1=V8(a1)|0,v1=g0+44|0,e[v1>>2]=y1,S1=c9(1,4)|0,L1=g0+12|0,e[L1>>2]=S1,M1=c9(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=c9(1,20)|0,e[S1>>2]=_1,R1=c9(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,P1=F1>>s0,NC(_1,P1),D1=e[b1>>2]|0,O1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>s0,NC(O1,x1),J1=e[B>>2]|0,H1=V8(J1)|0,V1=H1+-7|0,Y1=g0+4|0,e[Y1>>2]=V1,z1=e[b2>>2]|0,t2=V8(z1)|0,o2=t2+-7|0,e2=g0+8|0,e[e2>>2]=o2,d2=(A|0)==0;e:do if(d2){if(Q2=B+2848|0,Q5=e[Q2>>2]|0,N5=(Q5|0)==0,N5&&(E5=B+24|0,M5=e[E5>>2]|0,q5=c9(M5,56)|0,e[Q2>>2]=q5,z2=e[E5>>2]|0,C5=(z2|0)>0,C5)){for(Q1=z2,v5=0;;){if($5=(B+1824|0)+(v5<<2)|0,d5=e[$5>>2]|0,w5=(d5|0)==0,w5){T1=Q1;break}if(h5=e[Q2>>2]|0,l5=h5+(v5*56|0)|0,X2=AD(l5,d5)|0,D=(X2|0)==0,!D){I5=20;break}if(k=e[$5>>2]|0,UC(k),e[$5>>2]=0,v=v5+1|0,_=e[E5>>2]|0,Q=(v|0)<(_|0),Q)Q1=_,v5=v;else break e}if((I5|0)==20&&(m=e[E5>>2]|0,T1=m),x5=(T1|0)>0,x5)for(C1=T1,f5=0;A1=(B+1824|0)+(f5<<2)|0,g1=e[A1>>2]|0,$1=(g1|0)==0,$1?p1=C1:(UC(g1),e[A1>>2]=0,E=e[E5>>2]|0,p1=E),X0=f5+1|0,B1=(X0|0)<(p1|0),B1;)C1=p1,f5=X0;return Sy(t),$=-1,$|0}}else{if(Z1=g0+20|0,I2=e[B>>2]|0,Yy(Z1,I2),A2=g0+32|0,C2=e[b2>>2]|0,Yy(A2,C2),$2=B+2848|0,W1=e[$2>>2]|0,f2=(W1|0)==0,f2&&(g2=B+24|0,n2=e[g2>>2]|0,s2=c9(n2,56)|0,e[$2>>2]=s2,l2=e[g2>>2]|0,i2=(l2|0)>0,i2&&(a2=B+1824|0,m2=e[a2>>2]|0,Vy(s2,m2)|0,r2=e[g2>>2]|0,k2=(r2|0)>1,k2)))for(S2=1;g=e[$2>>2]|0,D2=g+(S2*56|0)|0,y2=(B+1824|0)+(S2<<2)|0,M2=e[y2>>2]|0,Vy(D2,M2)|0,O2=S2+1|0,p2=e[g2>>2]|0,W2=(O2|0)<(p2|0),W2;)S2=O2;q2=B+28|0,K2=e[q2>>2]|0,U2=c9(K2,52)|0,V2=g0+56|0,e[V2>>2]=U2,Z2=e[q2>>2]|0,A5=(Z2|0)>0;t:do if(A5)for(N1=B+2868|0,t5=s+8|0,i5=U2,h2=0;;){if(T5=i5+(h2*52|0)|0,L5=(B+2852|0)+(h2<<2)|0,j2=e[L5>>2]|0,p5=e[j2>>2]|0,_5=B+(p5<<2)|0,V5=e[_5>>2]|0,u5=(V5|0)/2&-1,y5=e[t5>>2]|0,Pb(T5,j2,N1,u5,y5),o5=h2+1|0,F2=e[q2>>2]|0,R2=(o5|0)<(F2|0),!R2)break t;h=e[V2>>2]|0,i5=h,h2=o5}while(!1);e[t>>2]=1}while(!1);if(L=e[b2>>2]|0,R=t+16|0,e[R>>2]=L,M=s+4|0,F=e[M>>2]|0,G=F<<2,q=Re(G)|0,H=t+8|0,e[H>>2]=q,K=Re(G)|0,t0=t+12|0,e[t0>>2]=K,Z=(F|0)>0,Z&&(A0=c9(L,4)|0,e[q>>2]=A0,j=(F|0)>1,j))for(J=1;p=e[H>>2]|0,r0=c9(L,4)|0,o0=p+(J<<2)|0,e[o0>>2]=r0,Y=J+1|0,h0=(Y|0)<(F|0),h0;)J=Y;if(i0=t+36|0,e[i0>>2]=0,e0=t+40|0,e[e0>>2]=0,d0=e[b2>>2]|0,c0=(d0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,X=B+16|0,m0=e[X>>2]|0,I0=c9(m0,4)|0,n0=g0+48|0,e[n0>>2]=I0,f0=B+20|0,p0=e[f0>>2]|0,C0=c9(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,y0=e[X>>2]|0,D0=(y0|0)>0,D0)for(r5=0;B0=(B+800|0)+(r5<<2)|0,x0=e[B0>>2]|0,Z0=25640+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0+8|0,G0=e[v0>>2]|0,U0=(B+1056|0)+(r5<<2)|0,O0=e[U0>>2]|0,H0=pi[G0&15](t,O0)|0,k0=e[n0>>2]|0,N0=k0+(r5<<2)|0,e[N0>>2]=H0,M0=r5+1|0,P0=e[X>>2]|0,W0=(M0|0)<(P0|0),W0;)r5=M0;if(E0=e[f0>>2]|0,Q0=(E0|0)>0,Q0)a5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(a5<<2)|0,V0=e[J0>>2]|0,j0=25648+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+8|0,o1=e[Y0>>2]|0,r1=(B+1568|0)+(a5<<2)|0,L0=e[r1>>2]|0,s1=pi[o1&15](t,L0)|0,h1=e[S0>>2]|0,u1=h1+(a5<<2)|0,e[u1>>2]=s1,E1=a5+1|0,f1=e[f0>>2]|0,d1=(E1|0)<(f1|0),d1)a5=E1;else{$=0;break}return $|0}function _y(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0;if(R0=C,C=C+64|0,g=R0,h=t+20|0,Q=e[h>>2]|0,Z=Q<<2,s=Z,d0=C,C=C+((1*s|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,y0=t+48|0,D0=e[y0>>2]|0,E0=Q-D0|0,Q0=(E0|0)>32,!Q0){C=R0;return}if(p=t+4|0,m=e[p>>2]|0,E=m+4|0,y=e[E>>2]|0,B=(y|0)>0,!B){C=R0;return}for(b=t+8|0,D=Q,w0=0;;){if(k=(D|0)>0,k)for(v=e[b>>2]|0,_=v+(w0<<2)|0,L=e[_>>2]|0,B0=0;R=B0^-1,M=D+R|0,F=L+(M<<2)|0,G=e[F>>2]|0,O=d0+(B0<<2)|0,e[O>>2]=G,q=B0+1|0,H=(D|0)>(q|0),H;)B0=q;if(K=e[y0>>2]|0,t0=D-K|0,+xy(d0,g,t0,16),A0=e[h>>2]|0,j=e[y0>>2]|0,A=A0-j|0,r0=d0+(A<<2)|0,$=A+-16|0,o0=d0+($<<2)|0,Ly(g,o0,16,r0,j),J=e[h>>2]|0,s0=(J|0)>0,s0)for(Y=e[b>>2]|0,h0=Y+(w0<<2)|0,i0=e[h0>>2]|0,x0=0;e0=d0+(x0<<2)|0,c0=e[e0>>2]|0,$0=x0^-1,l0=J+$0|0,X=i0+(l0<<2)|0,e[X>>2]=c0,m0=x0+1|0,g0=(J|0)>(m0|0),g0;)x0=m0;if(I0=w0+1|0,n0=e[p>>2]|0,f0=n0+4|0,p0=e[f0>>2]|0,S0=(I0|0)<(p0|0),S0)D=J,w0=I0;else break}C=R0}function ab(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0;l2=C,H2(s,5653314,24),p=e[t>>2]|0,H2(s,p,16),m=t+4|0,H=e[m>>2]|0,H2(s,H,24),h0=e[m>>2]|0,n0=(h0|0)>1;e:do if(n0)for(x0=t+8|0,M0=e[x0>>2]|0,g=I[M0>>0]|0,L0=g,q1=1;;){if(X0=L0<<24>>24==0,X0){e2=q1;break e}if(b1=M0+q1|0,E=I[b1>>0]|0,_=E<<24>>24>24,_){e2=q1;break e}if(Q=q1+1|0,L=(Q|0)<(h0|0),L)L0=E,q1=Q;else{e2=Q;break}}else e2=1;while(!1);R=(e2|0)==(h0|0);e:do if(R){if(H2(s,1,1),M=t+8|0,F=e[M>>2]|0,G=I[F>>0]|0,O=G<<24>>24,q=O+-1|0,H2(s,q,5),K=e[m>>2]|0,t0=(K|0)>1,t0)for(v=K,V1=0,Z1=1;;){if(Z=e[M>>2]|0,A0=Z+Z1|0,j=I[A0>>0]|0,r0=Z1+-1|0,o0=Z+r0|0,J=I[o0>>0]|0,s0=j<<24>>24>J<<24>>24,s0)for(Y=J<<24>>24,i0=j<<24>>24,c0=v,Y1=V1,g2=Y;;)if(e0=Z1-Y1|0,d0=c0-Y1|0,$0=V8(d0)|0,H2(s,e0,$0),l0=g2+1|0,o2=(l0|0)==(i0|0),h=e[m>>2]|0,o2){g0=h,z1=Z1;break}else c0=h,Y1=Z1,g2=l0;else g0=v,z1=V1;if(X=Z1+1|0,m0=(X|0)<(g0|0),m0)v=g0,V1=z1,Z1=X;else{$=g0,H1=z1,d2=X;break}}else $=K,H1=0,d2=1;I0=d2-H1|0,f0=$-H1|0,p0=V8(f0)|0,H2(s,I0,p0)}else{H2(s,0,1),C0=e[m>>2]|0,S0=(C0|0)>0;t:do if(S0)for(y0=t+8|0,D0=e[y0>>2]|0,A2=0;;){if(E0=D0+A2|0,Q0=I[E0>>0]|0,w0=Q0<<24>>24==0,w0){I2=A2;break t}if(B0=A2+1|0,Z0=(B0|0)<(C0|0),Z0)A2=B0;else{I2=B0;break}}else I2=0;while(!1);if(R0=(I2|0)==(C0|0),R0){if(H2(s,0,1),v0=e[m>>2]|0,G0=(v0|0)>0,!G0)break;for(U0=t+8|0,C2=0;;)if(O0=e[U0>>2]|0,H0=O0+C2|0,k0=I[H0>>0]|0,K0=k0<<24>>24,N0=K0+-1|0,H2(s,N0,5),P0=C2+1|0,W0=e[m>>2]|0,J0=(P0|0)<(W0|0),J0)C2=P0;else break e}if(H2(s,1,1),V0=e[m>>2]|0,j0=(V0|0)>0,j0)for(q0=t+8|0,$2=0;Y0=e[q0>>2]|0,o1=Y0+$2|0,z0=I[o1>>0]|0,r1=z0<<24>>24==0,r1?H2(s,0,1):(H2(s,1,1),s1=e[q0>>2]|0,h1=s1+$2|0,u1=I[h1>>0]|0,E1=u1<<24>>24,f1=E1+-1|0,H2(s,f1,5)),d1=$2+1|0,A1=e[m>>2]|0,g1=(d1|0)<(A1|0),g1;)$2=d1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,H2(s,$1,4),B1=e[a1>>2]|0,(B1|0)==2|(B1|0)==1)s2=28;else if(B1|0)return A=-1,A|0;do if((s2|0)==28){if(p1=t+32|0,Q1=e[p1>>2]|0,C1=(Q1|0)==0,C1)return A=-1,A|0;if(y1=t+16|0,v1=e[y1>>2]|0,H2(s,v1,32),k1=t+20|0,S1=e[k1>>2]|0,H2(s,S1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,H2(s,_1,4),R1=t+28|0,F1=e[R1>>2]|0,H2(s,F1,1),P1=e[a1>>2]|0,(P1|0)==1)D1=sD(t)|0,u2=D1;else if((P1|0)==2)O1=e[m>>2]|0,X1=e[t>>2]|0,G1=s5(X1,O1)|0,u2=G1;else break;if(x1=(u2|0)>0,x1)for(W1=0;J1=e[p1>>2]|0,y=J1+(W1<<2)|0,B=e[y>>2]|0,f2=(B|0)>-1,n2=0-B|0,b=f2?B:n2,D=e[L1>>2]|0,H2(s,b,D),k=W1+1|0,t2=(k|0)==(u2|0),!t2;)W1=k}while(!1);return A=0,A|0}function Ou(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0;return t0=C,g=(s|0)<0,g||(h=t+12|0,Q=e[h>>2]|0,R=Q+4|0,M=e[R>>2]|0,F=(M|0)>(s|0),!F)?($=0,$|0):(G=t+20|0,O=e[G>>2]|0,q=O+(s<<2)|0,H=e[q>>2]|0,p=Q+8|0,m=e[p>>2]|0,E=m+s|0,y=I[E>>0]|0,B=y<<24>>24,H2(A,H,B),b=e[h>>2]|0,D=b+8|0,k=e[D>>2]|0,v=k+s|0,_=I[v>>0]|0,L=_<<24>>24,$=L,$|0)}function lE(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0;return k=C,$=t+8|0,g=e[$>>2]|0,h=(g|0)>0,!h||(p=qu(t,s)|0,m=(p|0)>-1,!m)?(A=-1,A|0):(E=t+24|0,y=e[E>>2]|0,B=y+(p<<2)|0,b=e[B>>2]|0,A=b,A|0)}function Ab(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0;if(n0=C,E=t+8|0,y=e[E>>2]|0,F=(y|0)>0,!F)return g=0,C=n0,g|0;o0=e[t>>2]|0,s0=($|0)/(o0|0)&-1,Y=s0<<2,h=Y,h0=C,C=C+((1*h|0)+15&-16)|0,i0=(s0|0)>0;e:do if(i0){for(e0=t+16|0,l0=0;;){if(q=qu(t,A)|0,H=(q|0)==-1,H){g=-1;break}if(K=e[e0>>2]|0,t0=e[t>>2]|0,Z=s5(t0,q)|0,A0=K+(Z<<2)|0,j=h0+(l0<<2)|0,e[j>>2]=A0,r0=l0+1|0,J=(r0|0)<(s0|0),J)l0=r0;else{d0=t0;break e}}return C=n0,g|0}else d0=o0;while(!1);if(p=(d0|0)<1,m=i0^1,c0=p|m,c0)return g=0,C=n0,g|0;for(X=0,g0=0;;){for(m0=0;k=h0+(m0<<2)|0,v=e[k>>2]|0,_=v+(X<<2)|0,Q=+o[_>>2],L=m0+g0|0,R=s+(L<<2)|0,M=+o[R>>2],G=M+Q,o[R>>2]=G,O=m0+1|0,$0=(O|0)==(s0|0),!$0;)m0=O;if(B=X+1|0,b=g0+s0|0,D=(B|0)<(d0|0),D)X=B,g0=b;else{g=0;break}}return C=n0,g|0}function $b(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0;if(t5=C,Z=t+8|0,A0=e[Z>>2]|0,I0=(A0|0)>0,!I0)return g=0,g|0;if(B0=e[t>>2]|0,N0=(B0|0)>8,N0){if(M1=($|0)>0,!M1)return g=0,g|0;for(J1=t+16|0,i2=0;;){if(i0=qu(t,A)|0,e0=(i0|0)==-1,e0){g=-1,N1=29;break}if(d0=e[J1>>2]|0,c0=e[t>>2]|0,$0=s5(c0,i0)|0,l0=(c0|0)>0,l0){for(X=(c0|0)>1,Y2=X?c0:1,m2=i2,p2=0;m0=p2+1|0,t0=p2+$0|0,g0=d0+(t0<<2)|0,n0=+o[g0>>2],f0=m2+1|0,p0=s+(m2<<2)|0,C0=+o[p0>>2],S0=C0+n0,o[p0>>2]=S0,y0=(m0|0)<(c0|0),y0;)m2=f0,p2=m0;I2=i2+Y2|0,a2=I2}else a2=i2;if(j=(a2|0)<($|0),j)i2=a2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(r1=t+16|0,$1=($|0)>0,$1)r2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(J=qu(t,A)|0,s0=(J|0)==-1,s0){g=-1,N1=29;break e}switch(Y=e[r1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=J,Q=Y,N1=19;break t}case 3:{b=J,L=Y,N1=21;break t}case 7:{m=J,k=Y,N1=13;break t}case 6:{E=J,v=Y,N1=15;break t}case 8:{h=Y,p=J,N1=12;break t}case 5:{y=J,_=Y,N1=17;break t}case 1:{W1=J,g2=Y,O2=r2,A5=0;break t}case 2:{D=J,R=Y,N1=23;break t}default:}}if((N1|0)==12?(N1=0,D0=p<<3,E0=h+(D0<<2)|0,Q0=+o[E0>>2],w0=r2+1|0,x0=s+(r2<<2)|0,Z0=+o[x0>>2],R0=Z0+Q0,o[x0>>2]=R0,U0=D0,H0=h,k2=w0,W2=1,N1=14):(N1|0)==13?(N1=0,v0=m*7|0,U0=v0,H0=k,k2=r2,W2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,j0=J0,Y0=v,D2=r2,q2=0,N1=16):(N1|0)==17?(N1=0,u1=y*5|0,f1=u1,A1=_,S2=r2,K2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,y1=Q1,k1=Q,y2=r2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=b*3|0,D1=F1,X1=L,G2=r2,V2=0,N1=22):(N1|0)==23&&(N1=0,z1=D<<1,o2=z1,q1=R,M2=r2,Z2=0,N1=24),(N1|0)==14&&(N1=0,G0=W2+1|0,K=W2+U0|0,O0=H0+(K<<2)|0,k0=+o[O0>>2],K0=k2+1|0,M0=s+(k2<<2)|0,P0=+o[M0>>2],W0=P0+k0,o[M0>>2]=W0,j0=U0,Y0=H0,D2=K0,q2=G0,N1=16),(N1|0)==16&&(N1=0,V0=q2+1|0,H=q2+j0|0,q0=Y0+(H<<2)|0,o1=+o[q0>>2],z0=D2+1|0,L0=s+(D2<<2)|0,s1=+o[L0>>2],h1=s1+o1,o[L0>>2]=h1,f1=j0,A1=Y0,S2=z0,K2=V0,N1=18),(N1|0)==18&&(N1=0,E1=K2+1|0,q=K2+f1|0,d1=A1+(q<<2)|0,g1=+o[d1>>2],a1=S2+1|0,X0=s+(S2<<2)|0,B1=+o[X0>>2],p1=B1+g1,o[X0>>2]=p1,y1=f1,k1=A1,y2=a1,U2=E1,N1=20),(N1|0)==20&&(N1=0,C1=U2+1|0,O=U2+y1|0,v1=k1+(O<<2)|0,S1=+o[v1>>2],L1=y2+1|0,b1=s+(y2<<2)|0,_1=+o[b1>>2],R1=_1+S1,o[b1>>2]=R1,D1=y1,X1=k1,G2=L1,V2=C1,N1=22),(N1|0)==22&&(N1=0,P1=V2+1|0,G=V2+D1|0,O1=X1+(G<<2)|0,G1=+o[O1>>2],x1=G2+1|0,H1=s+(G2<<2)|0,V1=+o[H1>>2],Y1=V1+G1,o[H1>>2]=Y1,o2=D1,q1=X1,M2=x1,Z2=P1,N1=24),(N1|0)==24&&(N1=0,t2=Z2+1|0,F=Z2+o2|0,e2=q1+(F<<2)|0,d2=+o[e2>>2],Z1=M2+1|0,A2=s+(M2<<2)|0,C2=+o[A2>>2],$2=C2+d2,o[A2>>2]=$2,W1=o2,g2=q1,O2=Z1,A5=t2),M=A5+W1|0,f2=g2+(M<<2)|0,n2=+o[f2>>2],u2=O2+1|0,s2=s+(O2<<2)|0,l2=+o[s2>>2],r0=l2+n2,o[s2>>2]=r0,o0=(u2|0)<($|0),o0)r2=u2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function lb(t,s,A,$,g,h){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0;if(I0=C,B=t+8|0,b=e[B>>2]|0,O=(b|0)>0,!O||(r0=(A|0)/($|0)&-1,o0=h+A|0,J=(o0|0)/($|0)&-1,s0=(r0|0)<(J|0),!s0))return m=0,m|0;for(Y=t+16|0,e0=0,$0=r0;;){if(i0=qu(t,g)|0,D=(i0|0)==-1,D){m=-1,g0=8;break}if(k=e[Y>>2]|0,v=e[t>>2]|0,_=s5(v,i0)|0,Q=(v|0)>0,Q)for(c0=e0,X=$0,m0=0;;)if(y=m0+_|0,L=k+(y<<2)|0,R=+o[L>>2],M=c0+1|0,F=s+(c0<<2)|0,G=e[F>>2]|0,q=G+(X<<2)|0,H=+o[q>>2],K=H+R,o[q>>2]=K,t0=(M|0)==($|0),Z=t0&1,E=Z+X|0,p=t0?0:M,A0=m0+1|0,j=(A0|0)<(v|0),j)c0=p,X=E,m0=A0;else{d0=p,l0=E;break}else d0=e0,l0=$0;if(h0=(l0|0)<(J|0),h0)e0=d0,$0=l0;else{m=0,g0=8;break}}return(g0|0)==8?m|0:0}function qu(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0;p1=C,g=t+40|0,h=e[g>>2]|0,Q=t+36|0,Z=e[Q>>2]|0,d0=MC(s,Z)|0,C0=(d0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,h1=J0+(d0<<2)|0,u1=e[h1>>2]|0,p=(u1|0)<0,p){m=u1>>>15,E=m&32767,y=t+8|0,B=e[y>>2]|0,b=u1&32767,D=B-b|0,E1=D,d1=E;break}return k=u1+-1|0,v=t+28|0,_=e[v>>2]|0,L=_+k|0,R=I[L>>0]|0,M=R<<24>>24,RC(s,M),A=k,A|0}else F=t+8|0,G=e[F>>2]|0,E1=G,d1=0;while(!1);if(O=MC(s,h)|0,q=(O|0)<0,H=(h|0)>1,K=q&H,K)for(X0=h;;)if(t0=X0+-1|0,A0=MC(s,t0)|0,j=(A0|0)<0,r0=(t0|0)>1,o0=j&r0,o0)X0=t0;else{$=j,a1=A0,$1=t0;break}else $=q,a1=O,$1=h;if($)return A=-1,A|0;if(J=a1>>>16,s0=a1<<16,Y=J|s0,h0=Y>>>8,i0=h0&16711935,e0=Y<<8,c0=e0&-16711936,$0=i0|c0,l0=$0>>>4,X=l0&252645135,m0=$0<<4,g0=m0&-252645136,I0=X|g0,n0=I0>>>2,f0=n0&858993459,p0=I0<<2,S0=p0&-858993460,y0=f0|S0,D0=y0>>>1,E0=D0&1431655765,Q0=y0<<1,w0=Q0&-1431655766,B0=E0|w0,x0=E1-d1|0,Z0=(x0|0)>1,Z0)for(R0=t+20|0,G0=e[R0>>2]|0,O0=x0,f1=E1,g1=d1;;)if(U0=O0>>1,H0=U0+g1|0,k0=G0+(H0<<2)|0,K0=e[k0>>2]|0,N0=K0>>>0>B0>>>0,M0=N0?0:U0,P0=M0+g1|0,W0=N0?U0:0,V0=f1-W0|0,j0=V0-P0|0,q0=(j0|0)>1,q0)O0=j0,f1=V0,g1=P0;else{A1=P0;break}else A1=d1;return Y0=t+28|0,o1=e[Y0>>2]|0,z0=o1+A1|0,r1=I[z0>>0]|0,L0=r1<<24>>24,s1=(L0|0)>($1|0),s1?(RC(s,$1),A=-1,A|0):(RC(s,L0),A=A1,A|0)}function cb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0;for(h1=C,y=s+28|0,B=e[y>>2]|0,G=s+4|0,J=e[G>>2]|0,m0=t+4|0,e[m0>>2]=128,Q0=t+8|0,e[Q0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,V0=t+12|0,e[V0>>2]=J0,e[t>>2]=J,j0=t+164|0,e[j0>>2]=128,b=B+4|0,D=e[b>>2]|0,k=(D|0)/2&-1,v=t+176|0,e[v>>2]=k,_=c9(128,4)|0,Q=t+36|0,e[Q>>2]=_,L=t+16|0,NC(L,128),R=e[Q>>2]|0,z0=0;M=+(z0|0),F=M*.024736950028266088,O=+Vn(+F),q=O,H=R+(z0<<2)|0,K=q*q,o[H>>2]=K,t0=z0+1|0,o1=(t0|0)==128,!o1;)z0=t0;for(Z=t+40|0,e[Z>>2]=2,A0=t+44|0,e[A0>>2]=4,j=t+56|0,e[j>>2]=4,r0=t+60|0,e[r0>>2]=5,o0=t+72|0,e[o0>>2]=6,s0=t+76|0,e[s0>>2]=6,Y=t+88|0,e[Y>>2]=9,h0=t+92|0,e[h0>>2]=8,i0=t+104|0,e[i0>>2]=13,e0=t+108|0,e[e0>>2]=8,d0=t+120|0,e[d0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,L0=0;;){if(X=g0<<2,I0=Re(X)|0,n0=((t+40|0)+(L0<<4)|0)+8|0,e[n0>>2]=I0,f0=(g0|0)>0,f0){for(p0=+(g0|0),C0=((t+40|0)+(L0<<4)|0)+12|0,E=+o[C0>>2],R0=E,r1=0;;)if(S0=+(r1|0),y0=S0+.5,D0=y0/p0,E0=D0*3.141592653589793,w0=+Vn(+E0),B0=w0,x0=I0+(r1<<2)|0,o[x0>>2]=B0,Z0=R0+B0,v0=r1+1|0,q0=(v0|0)==(g0|0),q0){A=Z0;break}else R0=Z0,r1=v0;o[C0>>2]=A,p=C0,U0=A}else g=((t+40|0)+(L0<<4)|0)+12|0,m=+o[g>>2],p=g,U0=m;if(G0=1/U0,o[p>>2]=G0,O0=L0+1|0,Y0=(O0|0)==7,Y0)break;$=((t+40|0)+(O0<<4)|0)+4|0,h=e[$>>2]|0,g0=h,L0=O0}H0=J*7|0,K0=c9(H0,144)|0,N0=t+152|0,e[N0>>2]=K0,M0=e[j0>>2]|0,P0=c9(M0,4)|0,W0=t+160|0,e[W0>>2]=P0}function gb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0;q=C,s=t+16|0,GC(s),A=t+48|0,k=e[A>>2]|0,E2(k),_=t+64|0,Q=e[_>>2]|0,E2(Q),L=t+80|0,R=e[L>>2]|0,E2(R),M=t+96|0,F=e[M>>2]|0,E2(F),G=t+112|0,$=e[G>>2]|0,E2($),g=t+128|0,h=e[g>>2]|0,E2(h),p=t+144|0,m=e[p>>2]|0,E2(m),E=t+36|0,y=e[E>>2]|0,E2(y),B=t+152|0,b=e[B>>2]|0,E2(b),D=t+160|0,v=e[D>>2]|0,E2(v),g4(t|0,0,180)|0}function ub(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0;if(t2=C,h=t+4|0,p=e[h>>2]|0,F=p+28|0,o0=e[F>>2]|0,X=o0+2868|0,E0=t+104|0,H0=e[E0>>2]|0,Y0=e[H0>>2]|0,A1=Y0+168|0,k1=e[A1>>2]|0,m=Y0+8|0,b=e[m>>2]|0,D=(k1|0)/(b|0)&-1,k=t+20|0,v=e[k>>2]|0,_=(v|0)/(b|0)&-1,Q=_+-4|0,L=(D|0)<0,s=L?0:D,R=_+2|0,M=Y0+164|0,G=e[M>>2]|0,O=(R|0)>(G|0),O&&(e[M>>2]=R,q=Y0+160|0,H=e[q>>2]|0,K=R<<2,t0=W7(H,K)|0,e[q>>2]=t0),Z=(s|0)<(Q|0),Z)for(A0=Y0+156|0,j=Y0+160|0,r0=t+8|0,J=Y0+40|0,s0=Y0+152|0,x1=s;;){if(Y=e[A0>>2]|0,h0=Y+1|0,i0=(Y|0)>23,$=i0?24:h0,e[A0>>2]=$,e0=e[Y0>>2]|0,d0=(e0|0)>0,d0){for(G1=0,Y1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,I0=e[g0>>2]|0,n0=e[m>>2]|0,f0=s5(n0,x1)|0,p0=I0+(f0<<2)|0,C0=e[s0>>2]|0,S0=G1*7|0,y0=C0+(S0*144|0)|0,D0=fb(Y0,X,p0,J,y0)|0,Q0=D0|Y1,w0=G1+1|0,B0=e[Y0>>2]|0,x0=(w0|0)<(B0|0),x0)G1=w0,Y1=Q0;else{g=Q0;break}Z0=x1+2|0,R0=e[j>>2]|0,v0=R0+(Z0<<2)|0,e[v0>>2]=0,G0=g&1,U0=(G0|0)==0,U0||(O0=R0+(x1<<2)|0,e[O0>>2]=1,k0=x1+1|0,K0=R0+(k0<<2)|0,e[K0>>2]=1),N0=g&2,M0=(N0|0)==0,M0||(P0=R0+(x1<<2)|0,e[P0>>2]=1,W0=(x1|0)>0,W0&&(J0=x1+-1|0,V0=R0+(J0<<2)|0,e[V0>>2]=1)),j0=g&4,q0=(j0|0)==0,q0||(e[A0>>2]=-1)}else c0=x1+2|0,$0=e[j>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(o1=x1+1|0,X1=(o1|0)==(Q|0),X1)break;x1=o1}if(z0=e[m>>2]|0,r1=s5(z0,Q)|0,e[A1>>2]=r1,L0=t+48|0,s1=e[L0>>2]|0,h1=t+40|0,u1=e[h1>>2]|0,E1=o0+(u1<<2)|0,f1=e[E1>>2]|0,d1=(f1|0)/4&-1,g1=d1+s1|0,a1=o0+4|0,$1=e[a1>>2]|0,X0=($1|0)/2&-1,B1=g1+X0|0,p1=e[o0>>2]|0,Q1=(p1|0)/4&-1,C1=B1+Q1|0,y1=Y0+176|0,v1=e[y1>>2]|0,S1=r1-z0|0,L1=(v1|0)<(S1|0),!L1)return A=-1,A|0;for(M1=Y0+160|0,J1=v1;;){if(R1=(J1|0)<(C1|0),!R1){A=1,z1=22;break}if(e[y1>>2]=J1,F1=(J1|0)/(z0|0)&-1,P1=e[M1>>2]|0,D1=P1+(F1<<2)|0,O1=e[D1>>2]|0,E=(O1|0)!=0,y=(J1|0)>(s1|0),V1=y&E,b1=z0+J1|0,V1){H1=J1,z1=21;break}if(_1=(b1|0)<(S1|0),_1)J1=b1;else{A=-1,z1=22;break}}return(z1|0)==21?(B=Y0+172|0,e[B>>2]=H1,A=0,A|0):(z1|0)==22?A|0:0}function db(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0;if(Q0=C,g=t+104|0,h=e[g>>2]|0,Q=e[h>>2]|0,Z=t+4|0,d0=e[Z>>2]|0,g0=d0+28|0,I0=e[g0>>2]|0,n0=t+48|0,f0=e[n0>>2]|0,p0=t+40|0,p=e[p0>>2]|0,m=I0+(p<<2)|0,E=e[m>>2]|0,y=(E|0)/4&-1,B=f0-y|0,b=y+f0|0,D=(p|0)==0,D?(H=e[I0>>2]|0,K=(H|0)/4&-1,A=K,$=K):(k=t+36|0,v=e[k>>2]|0,_=I0+(v<<2)|0,L=e[_>>2]|0,R=(L|0)/4&-1,M=t+44|0,F=e[M>>2]|0,G=I0+(F<<2)|0,O=e[G>>2]|0,q=(O|0)/4&-1,A=q,$=R),C0=B-$|0,S0=b+A|0,t0=Q+172|0,A0=e[t0>>2]|0,j=(A0|0)>=(C0|0),r0=(A0|0)<(S0|0),D0=j&r0,D0)return s=1,s|0;if(o0=Q+8|0,J=e[o0>>2]|0,s0=(C0|0)/(J|0)&-1,Y=(S0|0)/(J|0)&-1,h0=(s0|0)<(Y|0),!h0)return s=0,s|0;for(i0=Q+160|0,e0=e[i0>>2]|0,y0=s0;;){if(l0=e0+(y0<<2)|0,X=e[l0>>2]|0,m0=(X|0)==0,c0=y0+1|0,!m0){s=1,E0=9;break}if($0=(c0|0)<(Y|0),$0)y0=c0;else{s=0,E0=9;break}}return(E0|0)==9?s|0:0}function hb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0;if(H=C,A=t+168|0,$=e[A>>2]|0,v=t+8|0,Q=e[v>>2]|0,L=($|0)/(Q|0)&-1,R=L+2|0,M=(s|0)/(Q|0)&-1,F=t+160|0,G=e[F>>2]|0,O=G+(M<<2)|0,g=R-M|0,h=g<<2,lA(G|0,O|0,h|0)|0,p=e[A>>2]|0,m=p-s|0,e[A>>2]=m,E=t+172|0,y=e[E>>2]|0,B=(y|0)>-1,!B){D=t+176|0,k=e[D>>2]|0,_=k-s|0,e[D>>2]=_;return}b=y-s|0,e[E>>2]=b,D=t+176|0,k=e[D>>2]|0,_=k-s|0,e[D>>2]=_}function fb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0;if(m3=C,Z=t+4|0,A0=e[Z>>2]|0,u2=t+12|0,G2=+o[u2>>2],Y2=A0<<2,L=Y2,b2=C,C=C+((1*L|0)+15&-16)|0,R5=t+156|0,h2=e[R5>>2]|0,T2=(h2|0)>5,G5=(h2|0)/2&-1,h=T2?G5:2,j=s+60|0,$0=+o[j>>2],y0=G5+-2|0,U0=+(y0|0),j0=$0-U0,f1=j0<0,C6=f1?0:j0,y1=C6>$0,b3=y1?$0:C6,D1=(A0|0)>0,D1)for(o2=t+36|0,g2=e[o2>>2]|0,Y5=0;s2=A+(Y5<<2)|0,l2=+o[s2>>2],i2=g2+(Y5<<2)|0,a2=+o[i2>>2],m2=a2*l2,r2=b2+(Y5<<2)|0,o[r2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(A0|0),!Q3;)Y5=k2;D2=t+16|0,My(D2,b2,b2),S2=+o[b2>>2],y2=S2*S2,M2=y2,O2=b2+4|0,p2=+o[O2>>2],W2=p2,q2=W2*W2,K2=q2*.7,U2=K2+M2,V2=b2+8|0,Z2=+o[V2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=U2+t5,i5=T5,L5=g+140|0,j2=e[L5>>2]|0,p5=(j2|0)==0,p5?(_5=g+136|0,V5=+o[_5>>2],u5=V5+i5,y5=g+132|0,o[y5>>2]=u5,o[_5>>2]=i5,O=y5,z2=u5):(o5=g+132|0,F2=+o[o5>>2],R2=F2+i5,o[o5>>2]=R2,Q2=g+136|0,Q5=+o[Q2>>2],N5=Q5+i5,o[Q2>>2]=N5,O=o5,z2=R2),E5=(g+72|0)+(j2<<2)|0,M5=+o[E5>>2],q5=z2-M5,o[O>>2]=q5,o[E5>>2]=i5,C5=e[L5>>2]|0,$5=C5+1|0,d5=(C5|0)>13,p=d5?0:$5,e[L5>>2]=p,w5=(A0|0)/2&-1,T1=(A0|0)>1;e:do if(T1)for(x5=z2*.0625,h5=(o[w2>>2]=x5,e[w2>>2]|0),l5=h5&2147483647,X2=+(l5>>>0),v5=X2*7177114298428933e-22,r5=v5+-764.6162109375,a5=r5,f5=a5*.5,J2=f5+-15,I5=J2,R=I5,G0=S2,D5=0;;){if(v0=G0*G0,O0=D5|1,H0=b2+(O0<<2)|0,k0=+o[H0>>2],K0=k0*k0,N0=K0+v0,M0=(o[w2>>2]=N0,e[w2>>2]|0),P0=M0&2147483647,W0=+(P0>>>0),J0=W0*35885571492144663e-23,V0=J0+-382.30810546875,q0=V0>1,z0=b2+(o1<<2)|0,o[z0>>2]=t0,r1=D5+2|0,L0=(r1|0)<(w5|0),!L0)break e;s1=R+-8,F=b2+(r1<<2)|0,G=+o[F>>2],R=s1,G0=G,D5=r1}while(!1);if(n5=(h|0)>0,n5)l3=0,K3=0;else{for(n3=0,r6=0;;){if(h1=($+(n3<<4)|0)+4|0,u1=e[h1>>2]|0,E1=(u1|0)>0,E1)for(d1=$+(n3<<4)|0,A1=e[d1>>2]|0,g1=($+(n3<<4)|0)+8|0,a1=e[g1>>2]|0,c3=0,z3=0;;)if($1=A1+z3|0,X0=b2+($1<<2)|0,B1=+o[X0>>2],p1=a1+(z3<<2)|0,Q1=+o[p1>>2],C1=Q1*B1,v1=C1+c3,k1=z3+1|0,S1=(k1|0)<(u1|0),S1)c3=v1,z3=k1;else{G3=v1;break}else G3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+o[L1>>2],b1=M1*G3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,y=F1?16:-1,m=y+R1|0,P1=(g+(n3*144|0)|0)+(m<<2)|0,O1=+o[P1>>2],X1=b1O1,b=x1?O1:b1,J1=b+-99999,H1=G1+99999,V1=(g+(n3*144|0)|0)+(R1<<2)|0,o[V1>>2]=b1,Y1=e[_1>>2]|0,z1=Y1+1|0,t2=(Y1|0)>15,_=t2?0:z1,e[_1>>2]=_,e2=(s+4|0)+(n3<<2)|0,q1=+o[e2>>2],d2=q1+b3,Z1=H1>d2,I2=r6|5,j5=Z1?I2:r6,A2=(s+32|0)+(n3<<2)|0,C2=+o[A2>>2],$2=C2-b3,W1=J1<$2,f2=j5|2,d3=W1?f2:j5,n2=n3+1|0,u3=(n2|0)==7,u3){A6=d3;break}else n3=n2,r6=d3}return C=m3,A6|0}for(;;){if(F5=($+(l3<<4)|0)+4|0,e5=e[F5>>2]|0,c5=(e5|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,D0=($+(l3<<4)|0)+8|0,g0=e[D0>>2]|0,g3=0,U5=0;;)if(d0=c0+U5|0,l0=b2+(d0<<2)|0,X=+o[l0>>2],m0=g0+(U5<<2)|0,I0=+o[m0>>2],n0=I0*X,f0=n0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=f0,U5=p0;else{Y3=f0;break}else Y3=0;for(E0=($+(l3<<4)|0)+12|0,Q0=+o[E0>>2],h3=Q0*Y3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,x0=+o[B0>>2],Z0=h3x0,D=R0?x0:h3,l6=0,U3=E,L3=-99999,D3=99999;;)if(o0=(U3|0)<1,v=o0?16:-1,k=v+U3|0,J=(g+(l3*144|0)|0)+(k<<2)|0,s0=+o[J>>2],Y=L3s0,q=i0?s0:D3,e0=l6+1|0,K5=(e0|0)==(h|0),K5){M=h0,H=q;break}else l6=e0,U3=k,L3=h0,D3=q;if(k5=D-H,z5=i3-M,B5=(g+(l3*144|0)|0)+(I3<<2)|0,o[B5>>2]=h3,W5=e[r3>>2]|0,a3=W5+1|0,y3=(W5|0)>15,Q=y3?0:a3,e[r3>>2]=Q,Z5=(s+4|0)+(l3<<2)|0,x3=+o[Z5>>2],f3=x3+b3,w3=z5>f3,e6=K3|5,M3=w3?e6:K3,V3=(s+32|0)+(l3<<2)|0,X5=+o[V3>>2],_3=X5-b3,t3=k5<_3,a6=M3|2,J3=t3?a6:M3,r0=l3+1|0,H5=(r0|0)==7,H5){A6=J3;break}else l3=r0,K3=J3}return C=m3,A6|0}function Al(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0;if(A9=C,C=C+4912|0,z6=A9+1328|0,b9=A9+1064|0,m9=A9+804|0,Pt=A9+544|0,F4=A9+284|0,t8=A9+24|0,$8=A9+20|0,Zt=A9+16|0,Ot=A9+12|0,qt=A9+8|0,T4=A9+4|0,ot=A9,A0=s+1296|0,j=e[A0>>2]|0,y2=s+1288|0,n6=e[y2>>2]|0,O3=s+1284|0,w6=e[O3>>2]|0,ve=(w6|0)>0,ve){for(mt=0;n4=b9+(mt<<2)|0,e[n4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(w6|0),!S4;)mt=k4;if(ve){for(j3=0;B9=m9+(j3<<2)|0,e[B9>>2]=-200,r0=j3+1|0,I9=(r0|0)==(w6|0),!I9;)j3=r0;if(ve){for(l0=w6<<2,g4(Pt|0,0,l0|0)|0,xe=0;D0=F4+(xe<<2)|0,e[D0>>2]=1,O0=xe+1|0,z4=(O0|0)==(w6|0),!z4;)xe=O0;if(ve){if(d1=w6<<2,g4(t8|0,-1,d1|0)|0,v1=(w6|0)>1,!v1)return A4=0,C=A9,A4|0;for(O1=n6+-1|0,e2=j+1112|0,n2=w6+-1|0,G=e[s>>2]|0,k9=G,be=0,b4=0;;){F9=be+1|0,T9=s+(F9<<2)|0,U9=e[T9>>2]|0,H9=z6+(be*56|0)|0,O4=H9,G8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(G8|0));if(e[H9>>2]=k9,V9=(z6+(be*56|0)|0)+4|0,e[V9>>2]=U9,Ke=(U9|0)<(n6|0),o8=Ke?U9:O1,Y9=(o8|0)<(k9|0),Y9)_t=0,n8=0,Mt=0,Rt=0,yt=0,P4=0,a8=0,je=0,jt=0,Tt=0,Z8=0,j8=0;else for(x9=k9,pt=0,K4=0,W9=0,o9=0,D4=0,gt=0,C3=0,Te=0,dt=0,De=0,u8=0,Nt=0;;){h9=$+(x9<<2)|0,K=+o[h9>>2],P9=K*7.314285755157471,C9=P9+1023.5,v4=~~C9,Ze=(v4|0)>1023,ke=(v4|0)<0,p=ke?0:v4,b=Ze?1023:p,V4=(b|0)==0;do if(V4)Kt=pt,at=K4,$t=W9,Bt=o9,W4=D4,D9=gt,wt=C3,Wt=Te,j9=dt,et=De,c4=u8,Xt=Nt;else if(nt=A+(x9<<2)|0,z9=+o[nt>>2],Y4=+o[e2>>2],K9=Y4+z9,s4=!(K9>=K),s4){d4=x9+gt|0,s9=b+Nt|0,h4=s5(x9,x9)|0,f4=h4+o9|0,S9=s5(b,b)|0,o0=S9+De|0,J=s5(b,x9)|0,s0=J+Te|0,Y=K4+1|0,Kt=pt,at=Y,$t=W9,Bt=f4,W4=D4,D9=d4,wt=C3,Wt=s0,j9=dt,et=o0,c4=u8,Xt=s9;break}else{R4=x9+D4|0,st=b+u8|0,n9=s5(x9,x9)|0,u4=n9+W9|0,T6=s5(b,b)|0,J9=T6+dt|0,Oe=s5(b,x9)|0,f9=Oe+C3|0,N9=pt+1|0,Kt=N9,at=K4,$t=u4,Bt=o9,W4=R4,D9=gt,wt=f9,Wt=Te,j9=J9,et=De,c4=st,Xt=Nt;break}while(!1);if(h0=x9+1|0,i0=(x9|0)<(o8|0),i0)x9=h0,pt=Kt,K4=at,W9=$t,o9=Bt,D4=W4,gt=D9,C3=wt,Te=Wt,dt=j9,De=et,u8=c4,Nt=Xt;else{_t=Kt,n8=at,Mt=$t,Rt=Bt,yt=W4,P4=D9,a8=wt,je=Wt,jt=j9,Tt=et,Z8=c4,j8=Xt;break}}if(e0=(z6+(be*56|0)|0)+8|0,e[e0>>2]=yt,d0=(z6+(be*56|0)|0)+12|0,e[d0>>2]=Z8,c0=(z6+(be*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(be*56|0)|0)+20|0,e[$0>>2]=jt,X=(z6+(be*56|0)|0)+24|0,e[X>>2]=a8,m0=(z6+(be*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(be*56|0)|0)+32|0,e[g0>>2]=P4,I0=(z6+(be*56|0)|0)+36|0,e[I0>>2]=j8,n0=(z6+(be*56|0)|0)+40|0,e[n0>>2]=Rt,f0=(z6+(be*56|0)|0)+44|0,e[f0>>2]=Tt,p0=(z6+(be*56|0)|0)+48|0,e[p0>>2]=je,C0=(z6+(be*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+b4|0,I6=(F9|0)==(n2|0),I6){E8=S0;break}else k9=U9,be=F9,b4=S0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(q0=(w6|0)==0,!q0)return A4=0,C=A9,A4|0;G2=z6+4|0,O4=z6,G8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(G8|0));if(e[G2>>2]=n6,Y2=(n6|0)<1,Y2)Yt=0,r8=0,Jt=0,Ct=0,ct=0,a9=0,Qt=0,$4=0,l8=0,c8=0,Y8=0,z8=0;else for(b2=j+1112|0,p9=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,Z9=0,l4=0,ut=0,X4=0,F8=0,ht=0;;){R5=$+(p9<<2)|0,H=+o[R5>>2],h2=H*7.314285755157471,T2=h2+1023.5,G5=~~T2,G3=(G5|0)>1023,U5=(G5|0)<0,h=U5?0:G5,B=G3?1023:h,K3=(B|0)==0;do if(K3)zt=xt,G4=Et,U4=At,lt=m4,J4=p4,_4=E4,Z4=Z9,j4=l4,Ft=ut,g8=X4,T8=F8,N8=ht;else if(f6=A+(p9<<2)|0,Z3=+o[f6>>2],$6=+o[b2>>2],ue=$6+Z3,U6=!(ue>=H),U6){Be=p9+E4|0,ye=B+ht|0,Qe=s5(p9,p9)|0,fe=Qe+m4|0,Ie=s5(B,B)|0,Ve=Ie+X4|0,q6=s5(B,p9)|0,Ae=q6+l4|0,Ye=Et+1|0,zt=xt,G4=Ye,U4=At,lt=fe,J4=p4,_4=Be,Z4=Z9,j4=Ae,Ft=ut,g8=Ve,T8=F8,N8=ye;break}else{Y6=p9+p4|0,F6=B+F8|0,te=s5(p9,p9)|0,_6=te+At|0,P6=s5(B,B)|0,O6=P6+ut|0,ae=s5(B,p9)|0,he=ae+Z9|0,ne=xt+1|0,zt=ne,G4=Et,U4=_6,lt=m4,J4=Y6,_4=E4,Z4=he,j4=l4,Ft=O6,g8=X4,T8=F6,N8=ht;break}while(!1);if(we=p9+1|0,Se=(we|0)==(n6|0),Se){Yt=zt,r8=G4,Jt=U4,Ct=lt,ct=J4,a9=_4,Qt=Z4,$4=j4,l8=Ft,c8=g8,Y8=T8,z8=N8;break}else p9=we,xt=zt,Et=G4,At=U4,m4=lt,p4=J4,E4=_4,Z9=Z4,l4=j4,ut=Ft,X4=g8,F8=T8,ht=N8}w9=z6+8|0,e[w9>>2]=ct,u9=z6+12|0,e[u9>>2]=Y8,E9=z6+16|0,e[E9>>2]=Jt,ze=z6+20|0,e[ze>>2]=l8,r9=z6+24|0,e[r9>>2]=Qt,Fe=z6+28|0,e[Fe>>2]=Yt,J6=z6+32|0,e[J6>>2]=a9,$e=z6+36|0,e[$e>>2]=z8,v9=z6+40|0,e[v9>>2]=Ct,R9=z6+44|0,e[R9>>2]=c8,d9=z6+48|0,e[d9>>2]=$4,_e=z6+52|0,e[_e>>2]=r8,E8=Yt}if(y0=(E8|0)==0,y0)return A4=0,C=A9,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=w6+-1|0,FC(z6,E0,$8,Zt,j)|0,Q0=e[$8>>2]|0,e[b9>>2]=Q0,e[m9>>2]=Q0,w0=e[Zt>>2]|0,B0=m9+4|0,e[B0>>2]=w0,x0=b9+4|0,e[x0>>2]=w0,Z0=(w6|0)>2;do if(Z0){R0=j+1112|0,v0=j+1096|0,G0=j+1100|0,U0=j+1104|0,q9=2;e:for(;;){H0=(s+520|0)+(q9<<2)|0,k0=e[H0>>2]|0,K0=Pt+(k0<<2)|0,N0=e[K0>>2]|0,M0=F4+(k0<<2)|0,P0=e[M0>>2]|0,W0=t8+(N0<<2)|0,J0=e[W0>>2]|0,V0=(J0|0)==(P0|0);t:do if(!V0){if(j0=(s+520|0)+(N0<<2)|0,Y0=e[j0>>2]|0,o1=(s+520|0)+(P0<<2)|0,z0=e[o1>>2]|0,e[W0>>2]=P0,r1=(j+836|0)+(N0<<2)|0,L0=e[r1>>2]|0,s1=(j+836|0)+(P0<<2)|0,h1=e[s1>>2]|0,u1=b9+(N0<<2)|0,E1=e[u1>>2]|0,f1=(E1|0)<0,A1=m9+(N0<<2)|0,g1=e[A1>>2]|0,f1?v=g1:(a1=(g1|0)<0,a1?v=E1:($1=g1+E1|0,X0=$1>>1,v=X0)),B1=b9+(P0<<2)|0,p1=e[B1>>2]|0,Q1=(p1|0)<0,C1=m9+(P0<<2)|0,y1=e[C1>>2]|0,Q1?Q=y1:(k1=(y1|0)<0,k1?Q=p1:(S1=y1+p1|0,L1=S1>>1,Q=L1)),M1=(v|0)==-1,b1=(Q|0)==-1,M8=M1|b1,M8){C4=38;break e}_1=Q-v|0,R1=h1-L0|0,N4=(_1|0)>-1,Le=0-_1|0,F1=N4?_1:Le,P1=(_1|0)/(R1|0)&-1,D1=_1>>31,X1=D1|1,G1=$+(L0<<2)|0,Z=+o[G1>>2],x1=Z*7.314285755157471,J1=x1+1023.5,H1=~~J1,V1=(H1|0)>1023,Y1=(H1|0)<0,m=Y1?0:H1,D=V1?1023:m,z1=s5(P1,R1)|0,f8=(z1|0)>-1,p8=0-z1|0,t2=f8?z1:p8,o2=F1-t2|0,q1=v-D|0,d2=s5(q1,q1)|0,Z1=A+(L0<<2)|0,I2=+o[Z1>>2],A2=+o[R0>>2],C2=A2+I2,$2=!(C2>=Z),$2?C4=42:(W1=+(v|0),f2=+o[v0>>2],g2=f2+W1,u2=+(D|0),s2=g2>2],i2=W1-l2,a2=i2>u2,a2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=L0+1|0,r2=(m2|0)<(h1|0),r2)for(p2=m2,o4=0,L8=d2,Vt=1,C8=v;;){if(k2=o4+o2|0,D2=(k2|0)<(R1|0),S2=D2?0:X1,M2=D2?0:R1,O9=k2-M2|0,F=C8+P1|0,A8=F+S2|0,O2=$+(p2<<2)|0,t0=+o[O2>>2],W2=t0*7.314285755157471,q2=W2+1023.5,K2=~~q2,U2=(K2|0)>1023,V2=(K2|0)<0,E=V2?0:K2,_=U2?1023:E,Z2=A8-_|0,A5=s5(Z2,Z2)|0,N1=A5+L8|0,t5=Vt+1|0,T5=A+(p2<<2)|0,i5=+o[T5>>2],L5=i5+A2,j2=L5>=t0,p5=(_|0)!=0,s8=j2&p5,s8&&(_5=+(A8|0),V5=+o[v0>>2],u5=V5+_5,y5=+(_|0),o5=u5>2],R2=_5-F2,Q2=R2>y5,Q2)))break i;if(Q5=p2+1|0,N5=(Q5|0)<(h1|0),N5)p2=Q5,o4=O9,L8=N1,Vt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=d2,Ht=1;if(E5=+o[v0>>2],M5=E5*E5,q5=+(Ht|0),z2=M5/q5,C5=+o[U0>>2],$5=z2>C5,!$5&&(d5=+o[G0>>2],w5=d5*d5,T1=w5/q5,x5=T1>C5,!x5&&(h5=(i8|0)/(Ht|0)&-1,l5=+(h5|0),X2=l5>C5,X2)))break;g3=b9+(q9<<2)|0,e[g3>>2]=-200,u3=m9+(q9<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[ot>>2]=-200,v5=z6+(Y0*56|0)|0,r5=k0-Y0|0,a5=FC(v5,r5,Ot,qt,j)|0,f5=z6+(k0*56|0)|0,J2=z0-k0|0,I5=FC(f5,J2,T4,ot,j)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=v,F5=e[T4>>2]|0,e[qt>>2]=F5),e5=(I5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[ot>>2]=Q,n5)){k5=b9+(q9<<2)|0,e[k5>>2]=-200,z5=m9+(q9<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,B5=(N0|0)==0,B5&&(e[b9>>2]=i3),I3=e[qt>>2]|0,h3=b9+(q9<<2)|0,e[h3>>2]=I3,W5=e[T4>>2]|0,r3=m9+(q9<<2)|0,e[r3>>2]=W5,a3=e[ot>>2]|0,e[B1>>2]=a3,y3=(P0|0)==1,y3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(x8=e8+-1|0,e6=F4+(x8<<2)|0,V3=e[e6>>2]|0,X5=(V3|0)==(P0|0),!X5)break i;if(e[e6>>2]=q9,_3=(e8|0)>1,_3)e8=x8;else break}while(!1);if(m8=k0+1|0,w3=(m8|0)<(w6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,a6=e[t3>>2]|0,Y3=(a6|0)==(N0|0),!Y3)break t;if(e[t3>>2]=q9,I8=Ut+1|0,c3=(I8|0)<(w6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=q9+1|0,K5=(Q3|0)<(w6|0),K5)q9=Q3;else{C4=68;break}}if((C4|0)==38)NS(1);else if((C4|0)==68){O=e[b9>>2]|0,q=e[m9>>2]|0,D5=O,l6=q;break}}else D5=Q0,l6=Q0;while(!1);if(H5=w6<<2,Y5=W8(t,H5)|0,z3=(D5|0)<0,z3?k=l6:(n3=(l6|0)<0,n3?k=D5:(l3=l6+D5|0,U3=l3>>1,k=U3)),e[Y5>>2]=k,C6=e[x0>>2]|0,b3=(C6|0)<0,L3=e[B0>>2]|0,b3?R=L3:(D3=(L3|0)<0,D3?R=C6:(A6=L3+C6|0,r6=A6>>1,R=r6)),j5=Y5+4|0,e[j5>>2]=R,Z0)a4=2;else return A4=Y5,C=A9,A4|0;for(;;)if(M3=a4+-2|0,d3=(s+1032|0)+(M3<<2)|0,J3=e[d3>>2]|0,h6=(s+780|0)+(M3<<2)|0,m3=e[h6>>2]|0,x6=(j+836|0)+(J3<<2)|0,L6=e[x6>>2]|0,M6=(j+836|0)+(m3<<2)|0,S6=e[M6>>2]|0,b6=Y5+(J3<<2)|0,N6=e[b6>>2]|0,j6=Y5+(m3<<2)|0,k6=e[j6>>2]|0,R3=(j+836|0)+(a4<<2)|0,s6=e[R3>>2]|0,o6=N6&32767,B6=k6&32767,W3=B6-o6|0,F3=S6-L6|0,h8=(W3|0)>-1,Lt=0-W3|0,t6=h8?W3:Lt,R6=s6-L6|0,c6=s5(t6,R6)|0,s3=(c6|0)/(F3|0)&-1,K6=(W3|0)<0,A3=0-s3|0,M=K6?A3:s3,L=M+o6|0,g6=b9+(a4<<2)|0,y6=e[g6>>2]|0,T3=(y6|0)<0,H6=m9+(a4<<2)|0,D6=e[H6>>2]|0,T3?y=D6:(G6=(D6|0)<0,G6?y=y6:(ee=D6+y6|0,Q6=ee>>1,y=Q6)),X6=(y|0)<0,P3=(L|0)==(y|0),R8=X6|P3,re=L|32768,g=R8?re:y,V6=Y5+(a4<<2)|0,e[V6>>2]=g,oe=a4+1|0,I4=(oe|0)==(w6|0),I4){A4=Y5;break}else a4=oe;return C=A9,A4|0}function Gt(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0;if(d0=C,h=s+1284|0,p=e[h>>2]|0,L=(A|0)!=0,t0=($|0)!=0,h0=L&t0,!h0)return i0=0,i0|0;if(Z=p<<2,A0=W8(t,Z)|0,j=(p|0)>0,!j)return i0=A0,i0|0;for(r0=65536-g|0,Y=0;;)if(o0=A+(Y<<2)|0,J=e[o0>>2]|0,m=J&32767,E=s5(m,r0)|0,y=$+(Y<<2)|0,B=e[y>>2]|0,b=B&32767,D=s5(b,g)|0,k=E+32768|0,v=k+D|0,_=v>>16,Q=A0+(Y<<2)|0,e[Q>>2]=_,R=e[o0>>2]|0,M=R&32768,F=(M|0)==0,F||(G=e[y>>2]|0,O=G&32768,q=(O|0)==0,q||(H=_|32768,e[Q>>2]=H)),K=Y+1|0,s0=(K|0)==(p|0),s0){i0=A0;break}else Y=K;return i0|0}function Ib(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0;if(O6=C,C=C+336|0,U6=O6+64|0,d3=O6+32|0,P3=O6,_=A+1296|0,Q=e[_>>2]|0,f2=A+1284|0,F2=e[f2>>2]|0,$5=s+64|0,a5=e[$5>>2]|0,i3=a5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,L=l3+2848|0,A0=e[L>>2]|0,c0=($|0)==0,c0)return H2(t,0,1),T5=s+36|0,i5=e[T5>>2]|0,L5=(i5|0)/2&-1,j2=L5<<2,g4(g|0,0,j2|0)|0,p=0,C=O6,p|0;if(S0=(F2|0)>0,S0)for(G0=Q+832|0,B6=0;V0=$+(B6<<2)|0,E1=e[V0>>2]|0,C1=E1&32767,P1=e[G0>>2]|0,(P1|0)==4?(Z2=C1>>>4,Y6=Z2):(P1|0)==1?(t2=C1>>>2,Y6=t2):(P1|0)==2?(g2=C1>>>3,Y6=g2):(P1|0)==3?(S2=(C1>>>0)/12&-1,Y6=S2):Y6=C1,p5=E1&32768,_5=p5|Y6,e[V0>>2]=_5,V5=B6+1|0,k6=(V5|0)==(F2|0),!k6;)B6=V5;if(u5=e[$>>2]|0,e[U6>>2]=u5,b2=$+4|0,y5=e[b2>>2]|0,o5=U6+4|0,e[o5>>2]=y5,R2=(F2|0)>2,Q2=A+1292|0,R2){for(W3=2;;){if(Q5=W3+-2|0,N5=(A+1032|0)+(Q5<<2)|0,E5=e[N5>>2]|0,M5=(A+780|0)+(Q5<<2)|0,q5=e[M5>>2]|0,R5=(Q+836|0)+(E5<<2)|0,z2=e[R5>>2]|0,C5=(Q+836|0)+(q5<<2)|0,d5=e[C5>>2]|0,w5=$+(E5<<2)|0,T1=e[w5>>2]|0,x5=$+(q5<<2)|0,h5=e[x5>>2]|0,l5=(Q+836|0)+(W3<<2)|0,X2=e[l5>>2]|0,h2=T1&32767,v5=h5&32767,r5=v5-h2|0,f5=d5-z2|0,Z3=(r5|0)>-1,re=0-r5|0,J2=Z3?r5:re,I5=X2-z2|0,n5=s5(J2,I5)|0,F5=(n5|0)/(f5|0)&-1,e5=(r5|0)<0,c5=0-F5|0,E=e5?c5:F5,m=E+h2|0,T2=$+(W3<<2)|0,k5=e[T2>>2]|0,z5=k5&32768,B5=(z5|0)!=0,I3=(k5|0)==(m|0),ue=B5|I3,ue)h3=m|32768,e[T2>>2]=h3,W5=U6+(W3<<2)|0,e[W5>>2]=0;else{r3=e[Q2>>2]|0,a3=r3-m|0,y3=(a3|0)<(m|0),h=y3?a3:m,G5=k5-m|0,Z5=(G5|0)<0;do if(Z5)if(x3=0-h|0,w3=(G5|0)<(x3|0),w3){e6=G5^-1,V3=h+e6|0,F6=V3;break}else{X5=G5<<1,_3=X5^-1,F6=_3;break}else if(t3=(h|0)>(G5|0),t3){G3=G5<<1,F6=G3;break}else{a6=h+G5|0,F6=a6;break}while(!1);Y3=U6+(W3<<2)|0,e[Y3>>2]=F6,e[w5>>2]=h2,c3=e[x5>>2]|0,u3=c3&32767,e[x5>>2]=u3}if(Q3=W3+1|0,j6=(Q3|0)==(F2|0),j6)break;W3=Q3}b=e[U6>>2]|0,D=e[o5>>2]|0,A6=b,M3=D}else A6=u5,M3=y5;if(H2(t,1,1),K5=A+1308|0,H5=e[K5>>2]|0,Y5=H5+1|0,e[K5>>2]=Y5,D5=e[Q2>>2]|0,z3=D5+-1|0,U5=V8(z3)|0,l6=U5<<1,n3=A+1304|0,U3=e[n3>>2]|0,C6=U3+l6|0,e[n3>>2]=C6,b3=e[Q2>>2]|0,L3=b3+-1|0,D3=V8(L3)|0,H2(t,A6,D3),r6=e[Q2>>2]|0,K3=r6+-1|0,j5=V8(K3)|0,H2(t,M3,j5),R=e[Q>>2]|0,M=(R|0)>0,M)for(F=A+1300|0,F3=0,c6=2;;){if(G=(Q+4|0)+(F3<<2)|0,O=e[G>>2]|0,q=(Q+128|0)+(O<<2)|0,H=e[q>>2]|0,K=(Q+192|0)+(O<<2)|0,t0=e[K>>2]|0,Z=1<>2]=0,e[d3+4>>2]=0,e[d3+8>>2]=0,e[d3+12>>2]=0,e[d3+16>>2]=0,e[d3+20>>2]=0,e[d3+24>>2]=0,e[d3+28>>2]=0,j=(t0|0)==0,!j){if(e[P3>>2]=0,e[P3+4>>2]=0,e[P3+8>>2]=0,e[P3+12>>2]=0,e[P3+16>>2]=0,e[P3+20>>2]=0,e[P3+24>>2]=0,e[P3+28>>2]=0,r0=(t0|0)==31,!r0)for(A3=0;f0=((Q+320|0)+(O<<5)|0)+(A3<<2)|0,p0=e[f0>>2]|0,C0=(p0|0)<0,C0?v=1:(y0=(l3+1824|0)+(p0<<2)|0,D0=e[y0>>2]|0,E0=D0+4|0,Q0=e[E0>>2]|0,v=Q0),w0=P3+(A3<<2)|0,e[w0>>2]=v,B0=A3+1|0,x0=(B0|0)<(Z|0),x0;)A3=B0;o0=(H|0)>0;e:do if(o0){if(r0)for(J3=0,x6=0,g6=0;;)if(Z0=d3+(g6<<2)|0,R0=e[Z0>>2]|0,v0=R0<>2]|0,H6=0;;){if(J=P3+(H6<<2)|0,s0=e[J>>2]|0,h0=(Y|0)<(s0|0),h0){$6=H6,O3=31;break}if(i0=H6+1|0,e0=(i0|0)<(Z|0),e0)H6=i0;else{O3=33;break}}if((O3|0)==31?(O3=0,d0=d3+(y6<<2)|0,e[d0>>2]=$6,l0=$6):(O3|0)==33&&(O3=0,y=d3+(y6<<2)|0,k=e[y>>2]|0,l0=k),$0=l0<>2]|0,N0=A0+(K0*56|0)|0,M0=Ou(N0,m3,t)|0,P0=e[F>>2]|0,W0=P0+M0|0,e[F>>2]=W0}if(J0=(H|0)>0,J0)for(T3=0;j0=d3+(T3<<2)|0,q0=e[j0>>2]|0,Y0=((Q+320|0)+(O<<5)|0)+(q0<<2)|0,o1=e[Y0>>2]|0,z0=(o1|0)>-1,z0&&(r1=T3+c6|0,L0=U6+(r1<<2)|0,s1=e[L0>>2]|0,h1=(A0+(o1*56|0)|0)+4|0,u1=e[h1>>2]|0,f1=(s1|0)<(u1|0),f1&&(d1=A0+(o1*56|0)|0,A1=Ou(d1,s1,t)|0,g1=e[n3>>2]|0,a1=g1+A1|0,e[n3>>2]=a1)),$1=T3+1|0,b6=($1|0)==(H|0),!b6;)T3=$1;if(X0=H+c6|0,B1=F3+1|0,p1=e[Q>>2]|0,Q1=(B1|0)<(p1|0),Q1)F3=B1,c6=X0;else break}if(y1=e[$>>2]|0,v1=Q+832|0,k1=e[v1>>2]|0,S1=s5(k1,y1)|0,L1=s+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[f2>>2]|0,D1=(F1|0)>1,D1)for(s6=0,s3=1,D6=0,Q6=S1;;){if(J1=(A+260|0)+(s3<<2)|0,H1=e[J1>>2]|0,V1=$+(H1<<2)|0,Y1=e[V1>>2]|0,z1=Y1&32767,o2=(z1|0)==(Y1|0),o2)if(e2=e[v1>>2]|0,q1=s5(e2,Y1)|0,d2=(Q+836|0)+(H1<<2)|0,Z1=e[d2>>2]|0,I2=q1-Q6|0,A2=Z1-D6|0,t6=(I2|0)>-1,V6=0-I2|0,C2=t6?I2:V6,$2=(I2|0)/(A2|0)&-1,W1=I2>>31,n2=W1|1,u2=s5($2,A2)|0,R6=(u2|0)>-1,oe=0-u2|0,s2=R6?u2:oe,l2=C2-s2|0,i2=(R1|0)>(Z1|0),te=i2?Z1:R1,a2=(te|0)>(D6|0),a2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),r2=D6+1|0,k2=(r2|0)<(te|0),k2)for(p2=r2,M6=0,_6=Q6;;)if(D2=M6+l2|0,y2=(D2|0)<(A2|0),G2=y2?0:n2,M2=y2?0:A2,S6=D2-M2|0,B=_6+$2|0,P6=B+G2|0,O2=g+(p2<<2)|0,e[O2>>2]=P6,W2=p2+1|0,f6=(W2|0)==(te|0),f6){o6=Z1,G6=Z1,X6=q1;break}else p2=W2,M6=S6,_6=P6;else o6=Z1,G6=Z1,X6=q1;else o6=s6,G6=D6,X6=Q6;if(q2=s3+1|0,K2=e[f2>>2]|0,U2=(q2|0)<(K2|0),U2)s6=o6,s3=q2,D6=G6,Q6=X6;else{R3=o6,ee=X6;break}}else R3=0,ee=S1;if(O1=s+36|0,X1=e[O1>>2]|0,G1=(X1|0)/2&-1,x1=(R3|0)<(G1|0),x1)K6=R3;else return p=1,C=O6,p|0;for(;;)if(V2=g+(K6<<2)|0,e[V2>>2]=ee,A5=K6+1|0,Y2=e[O1>>2]|0,N1=(Y2|0)/2&-1,t5=(A5|0)<(N1|0),t5)K6=A5;else{p=1;break}return C=O6,p|0}function FC(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0;if(A5=C,y=e[t>>2]|0,B=s+-1|0,$0=(t+(B*56|0)|0)+4|0,y0=e[$0>>2]|0,U0=(s|0)>0,U0)for(j0=g+1108|0,f1=+o[j0>>2],n2=0,i2=0,m2=0,S2=0,O2=0,K2=0;;)if(y1=(t+(i2*56|0)|0)+52|0,D1=e[y1>>2]|0,o2=(t+(i2*56|0)|0)+28|0,b=e[o2>>2]|0,O=b+D1|0,J=+(O|0),s0=J*f1,Y=b+1|0,h0=+(Y|0),i0=s0/h0,e0=i0,d0=e0+1,c0=(t+(i2*56|0)|0)+32|0,l0=e[c0>>2]|0,X=+(l0|0),m0=(t+(i2*56|0)|0)+8|0,g0=e[m0>>2]|0,I0=+(g0|0),n0=I0*d0,f0=X+S2,p0=f0+n0,C0=(t+(i2*56|0)|0)+36|0,S0=e[C0>>2]|0,D0=+(S0|0),E0=(t+(i2*56|0)|0)+12|0,Q0=e[E0>>2]|0,w0=+(Q0|0),B0=w0*d0,x0=D0+K2,Z0=x0+B0,R0=(t+(i2*56|0)|0)+40|0,v0=e[R0>>2]|0,G0=+(v0|0),O0=(t+(i2*56|0)|0)+16|0,H0=e[O0>>2]|0,k0=+(H0|0),K0=k0*d0,N0=G0+m2,M0=N0+K0,P0=(t+(i2*56|0)|0)+48|0,W0=e[P0>>2]|0,J0=+(W0|0),V0=(t+(i2*56|0)|0)+24|0,q0=e[V0>>2]|0,Y0=+(q0|0),o1=Y0*d0,z0=J0+O2,r1=z0+o1,L0=+(D1|0),s1=+(b|0),h1=d0*s1,u1=L0+n2,E1=u1+h1,d1=i2+1|0,l2=(d1|0)==(s|0),l2){g2=E1,a2=M0,D2=p0,M2=r1,q2=Z0;break}else n2=E1,i2=d1,m2=M0,S2=p0,O2=r1,K2=Z0;else g2=0,a2=0,D2=0,M2=0,q2=0;return A1=e[A>>2]|0,g1=(A1|0)>-1,g1?(a1=+(y|0),$1=D2+a1,X0=+(A1|0),B1=X0+q2,p1=s5(y,y)|0,Q1=+(p1|0),C1=a2+Q1,v1=s5(A1,y)|0,k1=+(v1|0),S1=k1+M2,L1=g2+1,u2=L1,r2=C1,y2=$1,p2=S1,U2=B1):(u2=g2,r2=a2,y2=D2,p2=M2,U2=q2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(y0|0),R1=y2+_1,F1=+(M1|0),P1=F1+U2,O1=s5(y0,y0)|0,X1=+(O1|0),G1=r2+X1,x1=s5(M1,y0)|0,J1=+(x1|0),H1=J1+p2,V1=u2+1,s2=V1,k2=G1,G2=R1,W2=H1,V2=P1):(s2=u2,k2=r2,G2=y2,W2=p2,V2=U2),Y1=k2*s2,z1=G2*G2,t2=Y1-z1,e2=t2>0,e2?(q1=V2*k2,d2=G2*W2,Z1=q1-d2,I2=Z1/t2,A2=W2*s2,C2=G2*V2,$2=A2-C2,W1=$2/t2,f2=+(y|0),D=W1*f2,k=D+I2,v=+J7(k),_=~~v,e[A>>2]=_,Q=+(y0|0),L=W1*Q,R=L+I2,M=+J7(R),F=~~M,e[$>>2]=F,G=e[A>>2]|0,q=(G|0)>1023,q?(e[A>>2]=1023,p=e[$>>2]|0,H=p,r0=1023):(H=F,r0=G),K=(H|0)>1023,K?(e[$>>2]=1023,m=e[A>>2]|0,t0=m,o0=1023):(t0=r0,o0=H),Z=(t0|0)<0,Z?(e[A>>2]=0,E=e[$>>2]|0,A0=E):A0=o0,j=(A0|0)<0,j?(e[$>>2]=0,h=0,h|0):(h=0,h|0)):(e[A>>2]=0,e[$>>2]=0,h=1,h|0)}function mb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0;if(L0=C,p=t+836|0,m=t+840|0,R=e[m>>2]|0,j=e[t>>2]|0,H2(s,j,5),$0=e[t>>2]|0,y0=($0|0)>0,y0){for(U0=t+4|0,W0=0,z0=-1;;)if(B=U0+(W0<<2)|0,b=e[B>>2]|0,H2(s,b,4),D=e[B>>2]|0,k=(z0|0)<(D|0),A=k?D:z0,v=W0+1|0,_=e[t>>2]|0,Q=(v|0)<(_|0),Q)W0=v,z0=A;else{$=A;break}if(H0=($|0)>-1,H0)for(k0=t+128|0,K0=t+192|0,E=t+256|0,y=t+320|0,J0=0;;){if(L=k0+(J0<<2)|0,M=e[L>>2]|0,F=M+-1|0,H2(s,F,3),G=K0+(J0<<2)|0,O=e[G>>2]|0,H2(s,O,2),q=e[G>>2]|0,H=(q|0)==0,H?(j0=0,r1=8):(K=E+(J0<<2)|0,t0=e[K>>2]|0,H2(s,t0,8),g=e[G>>2]|0,Z=(g|0)==31,Z||(j0=0,r1=8)),(r1|0)==8)for(;r1=0,A0=(y+(J0<<5)|0)+(j0<<2)|0,r0=e[A0>>2]|0,o0=r0+1|0,H2(s,o0,8),J=j0+1|0,s0=e[G>>2]|0,Y=1<>2]|0,c0=d0+-1|0,H2(s,c0,2),l0=R+-1|0,X=V8(l0)|0,H2(s,X,4),m0=V8(l0)|0,g0=e[t>>2]|0,I0=(g0|0)>0,!!I0)for(n0=t+4|0,f0=t+128|0,O0=g0,N0=0,V0=0,q0=0;;){if(p0=n0+(V0<<2)|0,C0=e[p0>>2]|0,S0=f0+(C0<<2)|0,D0=e[S0>>2]|0,E0=D0+N0|0,Q0=(q0|0)<(E0|0),Q0){for(o1=q0;w0=o1+2|0,B0=p+(w0<<2)|0,x0=e[B0>>2]|0,H2(s,x0,m0),Z0=o1+1|0,M0=(Z0|0)==(E0|0),!M0;)o1=Z0;h=e[t>>2]|0,G0=h,Y0=E0}else G0=O0,Y0=q0;if(R0=V0+1|0,v0=(R0|0)<(G0|0),v0)O0=G0,N0=E0,V0=R0,q0=Y0;else break}}function pb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0;Z1=C,C=C+272|0,q1=Z1,_=t+28|0,Q=e[_>>2]|0,Z=c9(1,1120)|0,d0=r4(s,5)|0,e[Z>>2]=d0,C0=(d0|0)>0;e:do if(C0){for(v0=Z+4|0,X1=0,o2=-1;;){if(M=r4(s,4)|0,F=v0+(X1<<2)|0,e[F>>2]=M,G=(M|0)<0,G)break e;if(O=(o2|0)<(M|0),g=O?M:o2,q=X1+1|0,H=e[Z>>2]|0,K=(q|0)<(H|0),K)X1=q,o2=g;else{h=g;break}}if(J0=(h|0)>-1,J0)for(u1=Z+128|0,Q1=Z+192|0,F1=Z+256|0,L=Q+24|0,R=Z+320|0,G1=0;;){if(t0=r4(s,3)|0,A0=t0+1|0,j=u1+(G1<<2)|0,e[j>>2]=A0,r0=r4(s,2)|0,o0=Q1+(G1<<2)|0,e[o0>>2]=r0,J=(r0|0)<0,J||(s0=(r0|0)==0,s0?(p=F1+(G1<<2)|0,m=e[p>>2]|0,i0=m):(Y=r4(s,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=Y,i0=Y),e0=(i0|0)<0,e0)||(c0=e[L>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[o0>>2]|0,X=(l0|0)==31,!X)for(V1=0;;){if(f0=r4(s,8)|0,p0=f0+-1|0,S0=(R+(G1<<5)|0)+(V1<<2)|0,e[S0>>2]=p0,y0=(f0|0)<0,y0||(D0=e[L>>2]|0,E0=(f0|0)>(D0|0),I0=V1+1|0,E0))break e;if(m0=e[o0>>2]|0,g0=1<>2]=x0,R0=r4(s,4)|0,G0=(R0|0)<0,!G0)){if(U0=e[Z>>2]|0,O0=(U0|0)>0,O0)for(H0=Z+4|0,k0=Z+128|0,K0=Z+836|0,N0=1<>2]|0,W0=k0+(P0<<2)|0,V0=e[W0>>2]|0,j0=V0+O1|0,q0=(j0|0)>63,q0)break e;if(Y0=(Y1|0)<(j0|0),Y0){for(t2=Y1;;){if(o1=r4(s,R0)|0,z0=t2+2|0,r1=K0+(z0<<2)|0,e[r1>>2]=o1,L0=(o1|0)>-1,s1=(o1|0)<(N0|0),e2=L0&s1,!e2)break e;if(h1=t2+1|0,E1=(h1|0)<(j0|0),E1)t2=h1;else{$=h1;break}}B=e[Z>>2]|0,A1=B,z1=$}else A1=P1,z1=Y1;if(f1=x1+1|0,d1=(f1|0)<(A1|0),d1)P1=A1,O1=j0,x1=f1,Y1=z1;else{E=K0,y=N0,D1=j0;break}}else k=Z+836|0,v=1<>2]=0,g1=Z+840|0,e[g1>>2]=y,a1=D1+2|0,$1=(D1|0)>-2,$1)for(J1=0;X0=E+(J1<<2)|0,B1=q1+(J1<<2)|0,e[B1>>2]=X0,p1=J1+1|0,C1=(p1|0)<(a1|0),C1;)J1=p1;Hu(q1,a1,4,8),y1=(a1|0)>1;t:do if(y1){for(b=e[q1>>2]|0,D=e[b>>2]|0,b1=D,H1=1;S1=q1+(H1<<2)|0,L1=e[S1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),v1=H1+1|0,!_1;)if(k1=(v1|0)<(a1|0),k1)b1=M1,H1=v1;else break t;if(R1=(Z|0)==0,R1)A=0;else break e;return C=Z1,A|0}while(!1);return A=Z,C=Z1,A|0}while(!1);return E2(Z),A=0,C=Z1,A|0}function Eb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=c9(1,1312)|0,g=$+1296|0,e[g>>2]=s,_=s+836|0,t0=s+840|0,e0=e[t0>>2]|0,p0=$+1288|0,e[p0>>2]=e0,R0=e[s>>2]|0,W0=(R0|0)>0,W0){for(z0=s+4|0,h=s+128|0,f1=0,S1=0;;)if(p=z0+(f1<<2)|0,m=e[p>>2]|0,E=h+(m<<2)|0,y=e[E>>2]|0,B=y+S1|0,b=f1+1|0,D=(b|0)<(R0|0),D)f1=b,S1=B;else{A=B;break}k=A+2|0,v=$+1284|0,e[v>>2]=k,Q=(A|0)>-2,Q?(G=k,k1=A,_1=7):(Hu(b1,k,4,8),v1=A)}else o1=$+1284|0,e[o1>>2]=2,G=2,k1=0,_1=7;if((_1|0)==7){for(d1=0;L=_+(d1<<2)|0,R=b1+(d1<<2)|0,e[R>>2]=L,M=d1+1|0,F=(M|0)<(G|0),F;)d1=M;for(Hu(b1,G,4,8),O=_,q=$+260|0,A1=0;Z=b1+(A1<<2)|0,A0=e[Z>>2]|0,j=A0,r0=j-O|0,o0=r0>>2,J=q+(A1<<2)|0,e[J>>2]=o0,s0=A1+1|0,Y=(s0|0)<(G|0),Y;)A1=s0;for(H=$+260|0,K=$+520|0,g1=0;i0=H+(g1<<2)|0,d0=e[i0>>2]|0,c0=K+(d0<<2)|0,e[c0>>2]=g1,$0=g1+1|0,l0=($0|0)<(G|0),l0;)g1=$0;for(h0=$+260|0,a1=0;;)if(X=h0+(a1<<2)|0,m0=e[X>>2]|0,g0=_+(m0<<2)|0,I0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=I0,f0=a1+1|0,C0=(f0|0)<(G|0),C0)a1=f0;else{v1=k1;break}}if(S0=s+832|0,y0=e[S0>>2]|0,(y0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(y0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(y0|0)==1?(D0=$+1292|0,e[D0>>2]=256):(y0|0)==3&&(Q0=$+1292|0,e[Q0>>2]=86),B0=(v1|0)>0,!B0)return C=R1,$|0;for(x0=$+1032|0,Z0=$+780|0,$1=0;;){for(v0=$1+2|0,G0=_+(v0<<2)|0,U0=e[G0>>2]|0,O0=e[p0>>2]|0,L0=1,u1=O0,X0=0,B1=0,C1=0;;)if(H0=_+(X0<<2)|0,k0=e[H0>>2]|0,K0=(k0|0)>(C1|0),N0=(k0|0)<(U0|0),L1=K0&N0,p1=L1?X0:B1,y1=L1?k0:C1,M0=(k0|0)<(u1|0),P0=(k0|0)>(U0|0),M1=M0&P0,s1=M1?X0:L0,E1=M1?k0:u1,J0=X0+1|0,V0=(J0|0)<(v0|0),V0)L0=s1,u1=E1,X0=J0,B1=p1,C1=y1;else{h1=s1,Q1=p1;break}if(j0=x0+($1<<2)|0,e[j0>>2]=Q1,q0=Z0+($1<<2)|0,e[q0>>2]=h1,Y0=$1+1|0,r1=(Y0|0)==(v1|0),r1)break;$1=Y0}return C=R1,$|0}function Cb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Bb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function yb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;if(S2=C,h=s+1296|0,p=e[h>>2]|0,l0=t+64|0,D0=e[l0>>2]|0,O0=D0+4|0,q0=e[O0>>2]|0,d1=q0+28|0,v1=e[d1>>2]|0,O1=v1+2848|0,e2=e[O1>>2]|0,m=t+4|0,R=r4(m,1)|0,j=(R|0)==1,!j)return A=0,A|0;Y=s+1284|0,h0=e[Y>>2]|0,i0=h0<<2,e0=W8(t,i0)|0,d0=s+1292|0,c0=e[d0>>2]|0,$0=c0+-1|0,X=V8($0)|0,m0=r4(m,X)|0,e[e0>>2]=m0,g0=e[d0>>2]|0,I0=g0+-1|0,n0=V8(I0)|0,f0=r4(m,n0)|0,p0=e0+4|0,e[p0>>2]=f0,C0=e[p>>2]|0,S0=(C0|0)>0;e:do if(S0){s2=0,a2=2;t:for(;;){if(B0=(p+4|0)+(s2<<2)|0,x0=e[B0>>2]|0,Z0=(p+128|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=(p+192|0)+(x0<<2)|0,G0=e[v0>>2]|0,U0=1<>2]|0,N0=e2+(K0*56|0)|0,M0=lE(N0,m)|0,P0=(M0|0)==-1,P0){A=0,D2=25;break}else n2=M0;if(W0=(R0|0)>0,W0)for(J0=U0+-1|0,u2=n2,m2=0;;){if(V0=u2&J0,j0=((p+320|0)+(x0<<5)|0)+(V0<<2)|0,Y0=e[j0>>2]|0,o1=u2>>G0,z0=(Y0|0)>-1,z0){if(r1=e2+(Y0*56|0)|0,L0=lE(r1,m)|0,s1=m2+a2|0,h1=e0+(s1<<2)|0,e[h1>>2]=L0,u1=(L0|0)==-1,u1){A=0,D2=25;break t}}else E1=m2+a2|0,f1=e0+(E1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,g1=(A1|0)<(R0|0),g1)u2=o1,m2=A1;else break}if(a1=R0+a2|0,$1=s2+1|0,X0=e[p>>2]|0,B1=($1|0)<(X0|0),B1)s2=$1,a2=a1;else break e}if((D2|0)==25)return A|0}while(!1);if(y0=e[Y>>2]|0,E0=(y0|0)>2,!E0)return A=e0,A|0;for(Q0=s+1032|0,w0=s+780|0,l2=2;;){if(p1=l2+-2|0,Q1=Q0+(p1<<2)|0,C1=e[Q1>>2]|0,y1=(p+836|0)+(C1<<2)|0,k1=e[y1>>2]|0,S1=w0+(p1<<2)|0,L1=e[S1>>2]|0,M1=(p+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=e0+(C1<<2)|0,R1=e[_1>>2]|0,F1=e0+(L1<<2)|0,P1=e[F1>>2]|0,D1=(p+836|0)+(l2<<2)|0,X1=e[D1>>2]|0,G1=R1&32767,x1=P1&32767,J1=x1-G1|0,H1=b1-k1|0,i2=(J1|0)>-1,r2=0-J1|0,V1=i2?J1:r2,Y1=X1-k1|0,z1=s5(V1,Y1)|0,t2=(z1|0)/(H1|0)&-1,o2=(J1|0)<0,q1=0-t2|0,g=o2?q1:t2,$=g+G1|0,d2=e[d0>>2]|0,Z1=d2-$|0,I2=e0+(l2<<2)|0,A2=e[I2>>2]|0,C2=(A2|0)==0,C2)r0=$|32768,e[I2>>2]=r0;else{$2=(Z1|0)<($|0),W1=$2?Z1:$,f2=W1<<1,g2=(A2|0)<(f2|0);do if(g2)if(D=A2&1,k=(D|0)==0,k){L=A2>>1,k2=L;break}else{v=A2+1|0,_=v>>1,Q=0-_|0,k2=Q;break}else if(E=(Z1|0)>($|0),E){y=A2-$|0,k2=y;break}else{B=A2-Z1|0,b=B^-1,k2=b;break}while(!1);M=k2+$|0,F=M&32767,e[I2>>2]=F,G=e[Q1>>2]|0,O=e0+(G<<2)|0,q=e[O>>2]|0,H=q&32767,e[O>>2]=H,K=e[S1>>2]|0,t0=e0+(K<<2)|0,Z=e[t0>>2]|0,A0=Z&32767,e[t0>>2]=A0}if(o0=l2+1|0,J=e[Y>>2]|0,s0=(o0|0)<(J|0),s0)l2=o0;else{A=e0;break}}return A|0}function Qb(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0;if(D1=C,p=s+1296|0,m=e[p>>2]|0,R=t+64|0,j=e[R>>2]|0,$0=j+4|0,y0=e[$0>>2]|0,U0=y0+28|0,j0=e[U0>>2]|0,u1=t+28|0,E1=e[u1>>2]|0,E=j0+(E1<<2)|0,y=e[E>>2]|0,B=(y|0)/2&-1,b=(A|0)==0,b)return h1=B<<2,g4($|0,0,h1|0)|0,g=0,g|0;if(D=e[A>>2]|0,k=m+832|0,v=e[k>>2]|0,_=s5(v,D)|0,Q=(_|0)<0,L=(_|0)>255,M=L?255:_,F=Q?0:M,G=s+1284|0,O=e[G>>2]|0,q=(O|0)>1,q)for(H=s+260|0,$1=0,Q1=1,y1=0,S1=F;;){if(A0=H+(Q1<<2)|0,r0=e[A0>>2]|0,o0=A+(r0<<2)|0,J=e[o0>>2]|0,s0=J&32767,Y=(s0|0)==(J|0),Y)if(h0=(m+836|0)+(r0<<2)|0,i0=e[h0>>2]|0,e0=s5(v,J)|0,d0=(e0|0)<0,c0=(e0|0)>255,l0=c0?255:e0,X=d0?0:l0,m0=X-S1|0,g0=i0-y1|0,B1=(m0|0)>-1,M1=0-m0|0,I0=B1?m0:M1,n0=(m0|0)/(g0|0)&-1,f0=m0>>31,p0=f0|1,C0=s5(n0,g0)|0,p1=(C0|0)>-1,b1=0-C0|0,S0=p1?C0:b1,D0=I0-S0|0,E0=(B|0)>(i0|0),_1=E0?i0:B,Q0=(_1|0)>(y1|0),Q0&&(w0=1768+(S1<<2)|0,B0=+o[w0>>2],x0=$+(y1<<2)|0,Z0=+o[x0>>2],R0=Z0*B0,o[x0>>2]=R0),v0=y1+1|0,G0=(v0|0)<(_1|0),G0)for(W0=v0,f1=0,R1=S1;;)if(O0=f1+D0|0,H0=(O0|0)<(g0|0),k0=H0?0:p0,K0=H0?0:g0,d1=O0-K0|0,h=R1+n0|0,F1=h+k0|0,N0=1768+(F1<<2)|0,M0=+o[N0>>2],P0=$+(W0<<2)|0,J0=+o[P0>>2],V0=J0*M0,o[P0>>2]=V0,q0=W0+1|0,g1=(q0|0)==(_1|0),g1){X0=i0,v1=i0,L1=X;break}else W0=q0,f1=d1,R1=F1;else X0=i0,v1=i0,L1=X;else X0=$1,v1=y1,L1=S1;if(Y0=Q1+1|0,o1=(Y0|0)<(O|0),o1)$1=X0,Q1=Y0,y1=v1,S1=L1;else{a1=X0,k1=L1;break}}else a1=0,k1=F;if(K=(a1|0)<(B|0),!K)return g=1,g|0;for(t0=1768+(k1<<2)|0,Z=+o[t0>>2],C1=a1;;)if(z0=$+(C1<<2)|0,r1=+o[z0>>2],L0=r1*Z,o[z0>>2]=L0,s1=C1+1|0,A1=(s1|0)==(B|0),A1){g=1;break}else C1=s1;return g|0}function wb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0;return E=C,A=e[t>>2]|0,$=e[A>>2]|0,g=e[s>>2]|0,h=e[g>>2]|0,p=$-h|0,p|0}function vb(t){t=t|0;var s=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 kb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0;d0=C,g=ll(s|0)|0,h=ll(A|0)|0,Q=g+2|0,Z=Q+h|0,$=Z,j=C,C=C+((1*$|0)+15&-16)|0,PC(j|0,s|0)|0,i0=ll(j|0)|0,h0=j+i0|0,I[h0>>0]=61,I[h0+1>>0]=0,Xy(j|0,A|0)|0,r0=e[t>>2]|0,o0=t+8|0,J=e[o0>>2]|0,s0=J<<2,Y=s0+8|0,p=W7(r0,Y)|0,e[t>>2]=p,m=t+4|0,E=e[m>>2]|0,y=e[o0>>2]|0,B=y<<2,b=B+8|0,D=W7(E,b)|0,e[m>>2]=D,k=ll(j|0)|0,v=e[o0>>2]|0,_=D+(v<<2)|0,e[_>>2]=k,L=k+1|0,R=Re(L)|0,M=e[t>>2]|0,F=M+(v<<2)|0,e[F>>2]=R,G=e[t>>2]|0,O=G+(v<<2)|0,q=e[O>>2]|0,PC(q|0,j|0)|0,H=e[o0>>2]|0,K=H+1|0,e[o0>>2]=K,t0=e[t>>2]|0,A0=t0+(K<<2)|0,e[A0>>2]=0,C=d0}function Sb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0;if(Z=C,g=(t|0)==0,!g){if(h=e[t>>2]|0,Q=(h|0)==0,!Q){if(R=t+8|0,M=e[R>>2]|0,F=(M|0)>0,F){for(L=M,O=h,K=0;G=O+(K<<2)|0,q=e[G>>2]|0,H=(q|0)==0,H?E=L:(E2(q),A=e[R>>2]|0,E=A),p=K+1|0,m=(p|0)<(E|0),!!m;)s=e[t>>2]|0,L=E,O=s,K=p;$=e[t>>2]|0,y=$}else y=h;E2(y)}B=t+4|0,b=e[B>>2]|0,D=(b|0)==0,D||E2(b),k=t+12|0,v=e[k>>2]|0,_=(v|0)==0,_||E2(v),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function bb(t){t=t|0;var s=0,A=0,$=0,g=0;g=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,s=c9(1,3664)|0,A=t+28|0,e[A>>2]=s}function TC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,h=t+28|0,p=e[h>>2]|0,L=(p|0)==0,L){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(A0=p+8|0,c0=e[A0>>2]|0,S0=(c0|0)>0,S0)for(f1=c0,$1=0;a1=(p+32|0)+($1<<2)|0,m=e[a1>>2]|0,E=(m|0)==0,E?b=f1:(E2(m),s=e[A0>>2]|0,b=s),y=$1+1|0,B=(y|0)<(b|0),B;)f1=b,$1=y;if(G0=p+12|0,V0=e[G0>>2]|0,E1=(V0|0)>0,E1)for(d1=V0,X0=0;_=(p+544|0)+(X0<<2)|0,Q=e[_>>2]|0,R=(Q|0)==0,R?Z=d1:(M=(p+288|0)+(X0<<2)|0,F=e[M>>2]|0,G=25664+(F<<2)|0,O=e[G>>2]|0,q=O+8|0,H=e[q>>2]|0,oo[H&7](Q),A=e[G0>>2]|0,Z=A),K=X0+1|0,t0=(K|0)<(Z|0),t0;)d1=Z,X0=K;if(D=p+16|0,k=e[D>>2]|0,v=(k|0)>0,v)for(A1=k,B1=0;J=(p+1056|0)+(B1<<2)|0,s0=e[J>>2]|0,Y=(s0|0)==0,Y?g0=A1:(h0=(p+800|0)+(B1<<2)|0,i0=e[h0>>2]|0,e0=25640+(i0<<2)|0,d0=e[e0>>2]|0,$0=d0+12|0,l0=e[$0>>2]|0,oo[l0&7](s0),$=e[D>>2]|0,g0=$),X=B1+1|0,m0=(X|0)<(g0|0),m0;)A1=g0,B1=X;if(j=p+20|0,r0=e[j>>2]|0,o0=(r0|0)>0,o0)for(g1=r0,p1=0;C0=(p+1568|0)+(p1<<2)|0,y0=e[C0>>2]|0,D0=(y0|0)==0,D0?U0=g1:(E0=(p+1312|0)+(p1<<2)|0,Q0=e[E0>>2]|0,w0=25648+(Q0<<2)|0,B0=e[w0>>2]|0,x0=B0+12|0,Z0=e[x0>>2]|0,oo[Z0&7](y0),g=e[j>>2]|0,U0=g),R0=p1+1|0,v0=(R0|0)<(U0|0),v0;)g1=U0,p1=R0;if(I0=p+24|0,n0=e[I0>>2]|0,f0=(n0|0)>0,p0=p+2848|0,f0)for(Q1=0;O0=(p+1824|0)+(Q1<<2)|0,H0=e[O0>>2]|0,k0=(H0|0)==0,k0||UC(H0),K0=e[p0>>2]|0,N0=(K0|0)==0,N0||(M0=K0+(Q1*56|0)|0,aD(M0)),P0=Q1+1|0,W0=e[I0>>2]|0,J0=(P0|0)<(W0|0),J0;)Q1=P0;if(j0=e[p0>>2]|0,q0=(j0|0)==0,q0||E2(j0),Y0=p+28|0,o1=e[Y0>>2]|0,z0=(o1|0)>0,z0)for(C1=0;r1=(p+2852|0)+(C1<<2)|0,L0=e[r1>>2]|0,Ub(L0),s1=C1+1|0,h1=e[Y0>>2]|0,u1=(s1|0)<(h1|0),u1;)C1=s1;E2(p),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 Db(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0;if(X2=C,C=C+32|0,T1=X2,E=t+4|0,y=e[E>>2]|0,g1=t+104|0,S1=e[g1>>2]|0,G1=(S1|0)==0,G1)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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,h=-129,C=X2,h|0;if(d2=y+4|0,s2=e[d2>>2]|0,M2=(s2|0)<1,M2)x5=-129,l5=27;else if(xC(T1),N1=y+28|0,y5=e[N1>>2]|0,B=(y5|0)==0,B)x5=-130,l5=27;else if(G=e[y5>>2]|0,J=(G|0)<64,J)x5=-130,l5=27;else if(m0=y5+4|0,Q0=e[m0>>2]|0,k0=(Q0|0)<(G|0),k0)x5=-130,l5=27;else{H2(T1,1,8),H2(T1,118,8),H2(T1,111,8),H2(T1,114,8),H2(T1,98,8),H2(T1,105,8),H2(T1,115,8),H2(T1,0,32),o1=e[d2>>2]|0,H2(T1,o1,8),f1=y+8|0,d1=e[f1>>2]|0,H2(T1,d1,32),A1=y+12|0,a1=e[A1>>2]|0,H2(T1,a1,32),$1=y+16|0,X0=e[$1>>2]|0,H2(T1,X0,32),B1=y+20|0,p1=e[B1>>2]|0,H2(T1,p1,32),Q1=e[y5>>2]|0,C1=Q1+-1|0,y1=V8(C1)|0,H2(T1,y1,4),v1=e[m0>>2]|0,k1=v1+-1|0,L1=V8(k1)|0,H2(T1,L1,4),H2(T1,1,1),M1=S1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=_8(T1)|0,F1=Re(R1)|0,e[M1>>2]=F1,P1=T1+8|0,D1=e[P1>>2]|0,O1=_8(T1)|0,g9(F1|0,D1|0,O1|0)|0,X1=e[M1>>2]|0,e[A>>2]=X1,x1=_8(T1)|0,J1=A+4|0,e[J1>>2]=x1,H1=A+8|0,e[H1>>2]=1,V1=A+12|0,e[V1>>2]=0,e[V1+4>>2]=0,e[V1+8>>2]=0,e[V1+12>>2]=0,e[V1+16>>2]=0,mi(T1),_b(T1,s),Y1=S1+68|0,z1=e[Y1>>2]|0,t2=(z1|0)==0,t2||E2(z1),o2=_8(T1)|0,e2=Re(o2)|0,e[Y1>>2]=e2,q1=e[P1>>2]|0,Z1=_8(T1)|0,g9(e2|0,q1|0,Z1|0)|0,I2=e[Y1>>2]|0,e[$>>2]=I2,A2=_8(T1)|0,C2=$+4|0,e[C2>>2]=A2,$2=$+8|0,W1=$+24|0,e[$2>>2]=0,e[$2+4>>2]=0,e[$2+8>>2]=0,e[$2+12>>2]=0,f2=W1,g2=f2,e[g2>>2]=1,n2=f2+4|0,u2=n2,e[u2>>2]=0,mi(T1),l2=e[N1>>2]|0,i2=(l2|0)==0;e:do if(!i2){if(H2(T1,5,8),H2(T1,118,8),H2(T1,111,8),H2(T1,114,8),H2(T1,98,8),H2(T1,105,8),H2(T1,115,8),a2=l2+24|0,m2=e[a2>>2]|0,r2=m2+-1|0,H2(T1,r2,8),k2=e[a2>>2]|0,D2=(k2|0)>0,D2)for(z2=0;;){if(O2=(l2+1824|0)+(z2<<2)|0,p2=e[O2>>2]|0,W2=ab(p2,T1)|0,q2=(W2|0)==0,y2=z2+1|0,!q2)break e;if(S2=e[a2>>2]|0,G2=(y2|0)<(S2|0),G2)z2=y2;else break}if(H2(T1,0,6),H2(T1,0,16),K2=l2+16|0,U2=e[K2>>2]|0,V2=U2+-1|0,H2(T1,V2,6),Z2=e[K2>>2]|0,A5=(Z2|0)>0,A5)for(C5=0;;){if(Y2=(l2+800|0)+(C5<<2)|0,t5=e[Y2>>2]|0,H2(T1,t5,16),T5=e[Y2>>2]|0,i5=25640+(T5<<2)|0,L5=e[i5>>2]|0,j2=e[L5>>2]|0,p5=(j2|0)==0,p5)break e;if(_5=(l2+1056|0)+(C5<<2)|0,V5=e[_5>>2]|0,VC[j2&3](V5,T1),u5=C5+1|0,b2=e[K2>>2]|0,o5=(u5|0)<(b2|0),o5)C5=u5;else break}if(F2=l2+20|0,R2=e[F2>>2]|0,Q2=R2+-1|0,H2(T1,Q2,6),Q5=e[F2>>2]|0,N5=(Q5|0)>0,N5)for($5=0;E5=(l2+1312|0)+($5<<2)|0,M5=e[E5>>2]|0,H2(T1,M5,16),q5=e[E5>>2]|0,R5=25648+(q5<<2)|0,b=e[R5>>2]|0,D=e[b>>2]|0,k=(l2+1568|0)+($5<<2)|0,v=e[k>>2]|0,VC[D&3](v,T1),_=$5+1|0,Q=e[F2>>2]|0,L=(_|0)<(Q|0),L;)$5=_;if(R=l2+12|0,M=e[R>>2]|0,F=M+-1|0,H2(T1,F,6),O=e[R>>2]|0,q=(O|0)>0,q)for(d5=0;H=(l2+288|0)+(d5<<2)|0,K=e[H>>2]|0,H2(T1,K,16),t0=e[H>>2]|0,Z=25664+(t0<<2)|0,A0=e[Z>>2]|0,j=e[A0>>2]|0,r0=(l2+544|0)+(d5<<2)|0,o0=e[r0>>2]|0,sQ[j&1](y,o0,T1),s0=d5+1|0,Y=e[R>>2]|0,h0=(s0|0)<(Y|0),h0;)d5=s0;if(i0=l2+8|0,e0=e[i0>>2]|0,d0=e0+-1|0,H2(T1,d0,6),c0=e[i0>>2]|0,$0=(c0|0)>0,$0)for(w5=0;l0=(l2+32|0)+(w5<<2)|0,X=e[l0>>2]|0,g0=e[X>>2]|0,H2(T1,g0,1),I0=e[l0>>2]|0,n0=I0+4|0,f0=e[n0>>2]|0,H2(T1,f0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,H2(T1,S0,16),y0=e[l0>>2]|0,D0=y0+12|0,E0=e[D0>>2]|0,H2(T1,E0,8),w0=w5+1|0,B0=e[i0>>2]|0,x0=(w0|0)<(B0|0),x0;)w5=w0;return H2(T1,1,1),Z0=S1+72|0,R0=e[Z0>>2]|0,v0=(R0|0)==0,v0||E2(R0),G0=_8(T1)|0,U0=Re(G0)|0,e[Z0>>2]=U0,O0=e[P1>>2]|0,H0=_8(T1)|0,g9(U0|0,O0|0,H0|0)|0,K0=e[Z0>>2]|0,e[g>>2]=K0,N0=_8(T1)|0,M0=g+4|0,e[M0>>2]=N0,P0=g+8|0,W0=g+24|0,e[P0>>2]=0,e[P0+4>>2]=0,e[P0+8>>2]=0,e[P0+12>>2]=0,J0=W0,V0=J0,e[V0>>2]=2,j0=J0+4|0,q0=j0,e[q0>>2]=0,LC(T1),h=0,C=X2,h|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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=M1,h5=-130}return(l5|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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,p=S1+64|0,m=p,h5=x5),LC(T1),Y0=e[m>>2]|0,z0=(Y0|0)==0,z0||E2(Y0),r1=S1+68|0,L0=e[r1>>2]|0,s1=(L0|0)==0,s1||E2(L0),h1=S1+72|0,u1=e[h1>>2]|0,E1=(u1|0)==0,E1||E2(u1),e[m>>2]=0,e[r1>>2]=0,e[h1>>2]=0,h=h5,C=X2,h|0}function _b(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0;for($0=C,H2(t,3,8),H2(t,118,8),H2(t,111,8),H2(t,114,8),H2(t,98,8),H2(t,105,8),H2(t,115,8),H2(t,44,32),A=1200,g=44;p=g+-1|0,m=A+1|0,R=I[A>>0]|0,j=R<<24>>24,H2(t,j,8),J=(p|0)==0,!J;)A=m,g=p;if(s0=s+8|0,Y=e[s0>>2]|0,H2(t,Y,32),h0=e[s0>>2]|0,i0=(h0|0)>0,!i0){H2(t,1,1);return}for(e0=s+4|0,d0=0;;){if(E=e[s>>2]|0,y=E+(d0<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b)H2(t,0,32);else if(D=e[e0>>2]|0,k=D+(d0<<2)|0,v=e[k>>2]|0,H2(t,v,32),_=e[e0>>2]|0,Q=_+(d0<<2)|0,L=e[Q>>2]|0,M=(L|0)==0,!M)for(F=e[s>>2]|0,G=F+(d0<<2)|0,O=e[G>>2]|0,$=O,h=L;q=h+-1|0,H=$+1|0,K=I[$>>0]|0,t0=K<<24>>24,H2(t,t0,8),Z=(q|0)==0,!Z;)$=H,h=q;if(A0=d0+1|0,r0=e[s0>>2]|0,o0=(A0|0)<(r0|0),o0)d0=A0;else break}H2(t,1,1)}function xy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0;if(z1=C,E=$+1|0,y=E<<3,g=y,F=C,C=C+((1*g|0)+15&-16)|0,o0=$<<3,h=o0,X=C,C=C+((1*h|0)+15&-16)|0,E0=(E|0)==0,E0)q=0;else{for(H0=$;;){if(Y0=(H0|0)<(A|0),Y0)for(Q1=0,R1=H0;;)if(A1=t+(R1<<2)|0,B1=+o[A1>>2],B=B1,b=R1-H0|0,D=t+(b<<2)|0,k=+o[D>>2],v=k,_=v*B,Q=_+Q1,L=R1+1|0,_1=(L|0)==(A|0),_1){p1=Q;break}else Q1=Q,R1=L;else p1=0;if(R=F+(H0<<3)|0,c1[R>>3]=p1,M=H0+-1|0,G=(H0|0)==0,G)break;H0=M}m=+c1[F>>3],q=m}if(O=q*1.0000000001,H=q*1e-9,K=H+1e-10,t0=($|0)>0,t0)y1=O,F1=0;else return S1=O,X0=S1,C=z1,+X0;for(;;){if(D1=F1+1|0,Z=y1>3],Y=-s0,h0=(F1|0)>0,h0){for(O1=0,H1=Y;;)if(d0=X+(O1<<3)|0,c0=+c1[d0>>3],$0=F1-O1|0,l0=F+($0<<3)|0,m0=+c1[l0>>3],g0=m0*c0,I0=H1-g0,n0=O1+1|0,b1=(n0|0)==(F1|0),b1){p=I0;break}else O1=n0,H1=I0;if(f0=p/y1,p0=X+(F1<<3)|0,c1[p0>>3]=f0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(y0=F1+-1|0,D0=(C0|0)>1,G1=0;Q0=X+(G1<<3)|0,w0=+c1[Q0>>3],B0=y0-G1|0,x0=X+(B0<<3)|0,Z0=+c1[x0>>3],R0=Z0*f0,v0=R0+w0,c1[Q0>>3]=v0,G0=w0*f0,U0=+c1[x0>>3],O0=U0+G0,c1[x0>>3]=O0,k0=G1+1|0,K0=(k0|0)<(C0|0),K0;)G1=k0;V1=D0?C0:1,V0=f0,X1=V1}else V0=f0,X1=0}else i0=Y/y1,e0=X+(F1<<3)|0,c1[e0>>3]=i0,V0=i0,X1=0;if(N0=F1&1,M0=(N0|0)==0,M0||(P0=X+(X1<<3)|0,W0=+c1[P0>>3],J0=W0*V0,j0=J0+W0,c1[P0>>3]=j0),q0=V0*V0,o1=1-q0,z0=o1*y1,r1=(D1|0)<($|0),r1)y1=z0,F1=D1;else{k1=z0;break}}if((Y1|0)==8&&(A0=X+(P1<<3)|0,j=$-P1|0,r0=j<<3,g4(A0|0,0,r0|0)|0,k1=v1),t0)C1=.99,x1=0;else return S1=k1,X0=S1,C=z1,+X0;for(;L0=X+(x1<<3)|0,s1=+c1[L0>>3],h1=s1*C1,c1[L0>>3]=h1,u1=C1*.99,E1=x1+1|0,M1=(E1|0)==($|0),!M1;)C1=u1,x1=E1;if(t0)J1=0;else return S1=k1,X0=S1,C=z1,+X0;for(;;)if(f1=X+(J1<<3)|0,d1=+c1[f1>>3],g1=d1,a1=s+(J1<<2)|0,o[a1>>2]=g1,$1=J1+1|0,L1=($1|0)==($|0),L1){S1=k1;break}else J1=$1;return X0=S1,C=z1,+X0}function Ly(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0;if(e0=C,m=g+A|0,E=m<<2,h=E,M=C,C=C+((1*h|0)+15&-16)|0,G=(s|0)==0,O=(A|0)>0,G?O&&(H=A<<2,g4(M|0,0,H|0)|0):O&&(q=A<<2,g9(M|0,s|0,q|0)|0),K=(g|0)>0,!K){C=e0;return}if(t0=(A|0)>0,t0)r0=0,o0=A;else{Z=g<<2,g4(M|0,0,Z|0)|0,g4($|0,0,Z|0)|0,C=e0;return}for(;;){for(s0=r0,Y=A,h0=0;;)if(D=s0+1|0,k=M+(s0<<2)|0,v=+o[k>>2],_=Y+-1|0,Q=t+(_<<2)|0,L=+o[Q>>2],R=L*v,F=h0-R,A0=(D|0)==(o0|0),A0){p=F;break}else s0=D,Y=_,h0=F;if(y=M+(o0<<2)|0,o[y>>2]=p,B=$+(r0<<2)|0,o[B>>2]=p,b=r0+1|0,J=o0+1|0,j=(b|0)==(g|0),j)break;r0=b,o0=J}C=e0}function xb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,g=e[s>>2]|0,h=(g|0)>1,h?(H2(A,1,1),Q=e[s>>2]|0,Z=Q+-1|0,H2(A,Z,4)):H2(A,0,1),d0=s+1156|0,p0=e[d0>>2]|0,C0=(p0|0)>0,C0){if(H2(A,1,1),S0=e[d0>>2]|0,y0=S0+-1|0,H2(A,y0,8),D0=e[d0>>2]|0,p=(D0|0)>0,p)for(m=s+1160|0,E=t+4|0,y=s+2184|0,E0=0;B=m+(E0<<2)|0,b=e[B>>2]|0,D=e[E>>2]|0,k=D+-1|0,v=V8(k)|0,H2(A,b,v),_=y+(E0<<2)|0,L=e[_>>2]|0,R=e[E>>2]|0,M=R+-1|0,F=V8(M)|0,H2(A,L,F),G=E0+1|0,O=e[d0>>2]|0,q=(G|0)<(O|0),q;)E0=G}else H2(A,0,1);if(H2(A,0,2),H=e[s>>2]|0,K=(H|0)>1,K){if(t0=t+4|0,A0=e[t0>>2]|0,j=(A0|0)>0,j){for(r0=s+4|0,Q0=0;h0=r0+(Q0<<2)|0,i0=e[h0>>2]|0,H2(A,i0,4),e0=Q0+1|0,c0=e[t0>>2]|0,$0=(e0|0)<(c0|0),$0;)Q0=e0;$=e[s>>2]|0,o0=$,B0=13}}else o0=H,B0=13;if(!((B0|0)==13&&(J=(o0|0)>0,!J)))for(s0=s+1028|0,Y=s+1092|0,w0=0;H2(A,0,8),l0=s0+(w0<<2)|0,X=e[l0>>2]|0,H2(A,X,8),m0=Y+(w0<<2)|0,g0=e[m0>>2]|0,H2(A,g0,8),I0=w0+1|0,n0=e[s>>2]|0,f0=(I0|0)<(n0|0),f0;)w0=I0}function Lb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0;a1=C,g=c9(1,3208)|0,h=t+28|0,Q=e[h>>2]|0,g4(g|0,0,3208)|0,Z=t+4|0,d0=e[Z>>2]|0,C0=(d0|0)<1;e:do if(C0)g1=24;else if(v0=r4(s,1)|0,J0=(v0|0)<0,J0)g1=24;else{if(z0=(v0|0)==0,z0)e[g>>2]=1;else if(r1=r4(s,4)|0,p=r1+1|0,e[g>>2]=p,m=(r1|0)<0,m)break;if(E=r4(s,1)|0,y=(E|0)<0,!y){if(B=(E|0)==0,!B){if(b=r4(s,8)|0,D=b+1|0,k=g+1156|0,e[k>>2]=D,v=(b|0)<0,v)break;for(_=g+1160|0,L=g+2184|0,$=e[Z>>2]|0,O=$,L0=0;;){if(G=O+-1|0,q=V8(G)|0,H=r4(s,q)|0,K=_+(L0<<2)|0,e[K>>2]=H,t0=e[Z>>2]|0,A0=t0+-1|0,j=V8(A0)|0,r0=r4(s,j)|0,o0=L+(L0<<2)|0,e[o0>>2]=r0,J=r0|H,s0=(J|0)<0,Y=(H|0)==(r0|0),u1=Y|s0,u1||(h0=e[Z>>2]|0,i0=(H|0)<(h0|0),e0=(r0|0)<(h0|0),E1=i0&e0,M=L0+1|0,!E1))break e;if(R=e[k>>2]|0,F=(M|0)<(R|0),F)O=h0,L0=M;else break}}if(c0=r4(s,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,X=(l0|0)>1,X){if(m0=e[Z>>2]|0,g0=(m0|0)>0,g0)for(I0=g+4|0,s1=0;;){if(B0=r4(s,4)|0,x0=I0+(s1<<2)|0,e[x0>>2]=B0,Z0=e[g>>2]|0,R0=(B0|0)>=(Z0|0),G0=(B0|0)<0,f1=G0|R0,Q0=s1+1|0,f1)break e;if(E0=e[Z>>2]|0,w0=(Q0|0)<(E0|0),w0)s1=Q0;else{n0=Z0,g1=17;break}}}else n0=l0,g1=17;if((g1|0)==17&&(f0=(n0|0)>0,!f0))return A=g,A|0;for(p0=g+1028|0,S0=Q+16|0,y0=g+1092|0,D0=Q+20|0,h1=0;;){if(r4(s,8)|0,k0=r4(s,8)|0,K0=p0+(h1<<2)|0,e[K0>>2]=k0,N0=e[S0>>2]|0,M0=(k0|0)>=(N0|0),P0=(k0|0)<0,d1=P0|M0,d1||(W0=r4(s,8)|0,V0=y0+(h1<<2)|0,e[V0>>2]=W0,j0=e[D0>>2]|0,q0=(W0|0)>=(j0|0),Y0=(W0|0)<0,A1=Y0|q0,O0=h1+1|0,A1))break e;if(U0=e[g>>2]|0,H0=(O0|0)<(U0|0),H0)h1=O0;else{A=g;break}}return A|0}}}while(!1);return(g1|0)==24&&(o1=(g|0)==0,o1)?(A=0,A|0):(E2(g),A=0,A|0)}function Mb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Rb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0,y8=0,P8=0,sn=0,kr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,Sr=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,br=0,dn=0,To=0,or=0,No=0,ls=0,hn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,ds=0,hs=0,Po=0,Dr=0,fs=0,p7=0,In=0,_r=0,ar=0,xr=0,Z7=0,Lr=0,Is=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,Ar=0,$r=0,Rr=0,E7=0,Oo=0,fi=0,gl=0,mn=0,pn=0;if(mn=C,L=t+64|0,R=e[L>>2]|0,n2=R+4|0,K3=e[n2>>2]|0,N9=K3+28|0,j9=e[N9>>2]|0,Bo=R+104|0,m7=e[Bo>>2]|0,Mo=t+104|0,hn=e[Mo>>2]|0,M=t+36|0,r0=e[M>>2]|0,l0=K3+4|0,D0=e[l0>>2]|0,O0=D0<<2,$=O0,q0=C,C=C+((1*$|0)+15&-16)|0,d1=W8(t,O0)|0,v1=e[l0>>2]|0,O1=v1<<2,e2=W8(t,O1)|0,u2=e[l0>>2]|0,G2=u2<<2,Y2=W8(t,G2)|0,b2=hn+4|0,R5=+o[b2>>2],h2=e[l0>>2]|0,T2=h2<<2,g=T2,G5=C,C=C+((1*g|0)+15&-16)|0,G3=hn+8|0,U5=e[G3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,Z3=(j9+544|0)+(f6<<2)|0,$6=e[Z3>>2]|0,U6=m7+56|0,Be=e[U6>>2]|0,w9=(f6|0)!=0,d9=w9?2:0,_=d9+U5|0,h9=Be+(_*52|0)|0,K9=t+40|0,e[K9>>2]=f6,d4=(h2|0)>0,d4)for(I9=+(r0|0),j3=4/I9,m8=(o[w2>>2]=j3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),D9=ct*7177114298428933e-22,j4=D9+-764.6162109375,c8=j4,c4=c8+.345,$i=c4,li=m7+4|0,Ji=t+24|0,f7=t+32|0,J8=$i+-764.6162109375,sn=r0+-1|0,go=(sn|0)>1,es=$i+-382.30810546875,Lr=R5,j7=0;;){if(yo=e[t>>2]|0,cn=yo+(j7<<2)|0,I7=e[cn>>2]|0,rs=W8(t,Lt)|0,Qo=e2+(j7<<2)|0,e[Qo>>2]=rs,wo=W8(t,Lt)|0,ns=d1+(j7<<2)|0,e[ns>>2]=wo,ss=e[Ji>>2]|0,os=e[j5>>2]|0,vo=e[f7>>2]|0,hD(I7,li,j9,ss,os,vo),gn=e[j5>>2]|0,ko=(m7+12|0)+(gn<<2)|0,as=e[ko>>2]|0,So=e[as>>2]|0,bo=e[ns>>2]|0,My(So,I7,bo),Do=e[j5>>2]|0,As=(m7+20|0)+(Do*12|0)|0,lD(As,I7),_o=e[I7>>2]|0,xo=_o&2147483647,Lo=+(xo>>>0),$s=Lo*7177114298428933e-22,Ro=J8+$s,Fo=Ro,un=Fo+.345,br=un,o[I7>>2]=br,dn=G5+(j7<<2)|0,o[dn>>2]=br,go)for(K=br,Mr=1;;)if(To=I7+(Mr<<2)|0,or=+o[To>>2],No=or*or,ls=Mr+1|0,cs=I7+(ls<<2)|0,fn=+o[cs>>2],Go=fn*fn,gs=Go+No,us=(o[w2>>2]=gs,e[w2>>2]|0),Uo=us&2147483647,ds=+(Uo>>>0),hs=ds*35885571492144663e-23,Po=es+hs,Dr=Po,F=Dr+.345,G=F,O=ls>>1,q=I7+(O<<2)|0,o[q>>2]=G,H=G>K,H?(o[dn>>2]=G,Sr=G):Sr=K,t0=Mr+2|0,Z=(t0|0)<(sn|0),Z)K=Sr,Mr=t0;else{j=Sr;break}else j=br;if(A0=j>0,A0?(o[dn>>2]=0,J=0):J=j,o0=J>Lr,Is=o0?J:Lr,s0=j7+1|0,Y=e[l0>>2]|0,h0=(s0|0)<(Y|0),h0)Lr=Is,j7=s0;else{y=Lt,b=_t,Z7=Is;break}}else D=(r0|0)/2&-1,k=D<<2,y=k,b=D,Z7=R5;i0=W8(t,y)|0,e0=W8(t,y)|0,d0=e[l0>>2]|0,c0=(d0|0)>0;e:do if(c0){if($0=(r0|0)>1,X=m7+48|0,$0)_7=0;else{for(D7=0;;){o6=($6+4|0)+(D7<<2)|0,B6=e[o6>>2]|0,W3=d1+(D7<<2)|0,F3=e[W3>>2]|0,t6=e[t>>2]|0,R6=t6+(D7<<2)|0,c6=e[R6>>2]|0,s3=c6+(b<<2)|0,e[K9>>2]=f6,K6=W8(t,60)|0,A3=Y2+(D7<<2)|0,e[A3>>2]=K6,fi=K6,pn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(pn|0));if(Ny(h9,s3,i0),g6=G5+(D7<<2)|0,y6=+o[g6>>2],Gy(h9,c6,e0,Z7,y6),$l(h9,i0,e0,1,c6,F3,s3),T3=($6+1028|0)+(B6<<2)|0,H6=e[T3>>2]|0,D6=(j9+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,ee=(G6|0)==1,!ee){A=-1;break}if(Q6=e[X>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,re=Al(t,P3,s3,c6)|0,V6=e[A3>>2]|0,oe=V6+28|0,e[oe>>2]=re,ue=Pu(t)|0,Y6=(ue|0)==0,Y6||(F6=e[A3>>2]|0,te=F6+28|0,_6=e[te>>2]|0,P6=(_6|0)==0,P6||($l(h9,i0,e0,2,c6,F3,s3),O3=e[T3>>2]|0,O6=e[X>>2]|0,ae=O6+(O3<<2)|0,he=e[ae>>2]|0,ne=Al(t,he,s3,c6)|0,ye=e[A3>>2]|0,Qe=ye+56|0,e[Qe>>2]=ne,$l(h9,i0,e0,0,c6,F3,s3),fe=e[T3>>2]|0,Ie=e[X>>2]|0,Ve=Ie+(fe<<2)|0,w6=e[Ve>>2]|0,q6=Al(t,w6,s3,c6)|0,Ae=e[A3>>2]|0,e[Ae>>2]=q6,Ye=e[T3>>2]|0,we=e[X>>2]|0,u9=we+(Ye<<2)|0,E9=e[u9>>2]|0,ze=e[A3>>2]|0,r9=e[ze>>2]|0,Fe=ze+28|0,ve=e[Fe>>2]|0,J6=Gt(t,E9,r9,ve,9362)|0,$e=e[A3>>2]|0,v9=$e+4|0,e[v9>>2]=J6,R9=e[T3>>2]|0,_e=e[X>>2]|0,F9=_e+(R9<<2)|0,T9=e[F9>>2]|0,U9=e[A3>>2]|0,H9=e[U9>>2]|0,n4=U9+28|0,k9=e[n4>>2]|0,V9=Gt(t,T9,H9,k9,18724)|0,Ke=e[A3>>2]|0,Y9=Ke+8|0,e[Y9>>2]=V9,P9=e[T3>>2]|0,C9=e[X>>2]|0,v4=C9+(P9<<2)|0,Ze=e[v4>>2]|0,ke=e[A3>>2]|0,k4=e[ke>>2]|0,V4=ke+28|0,nt=e[V4>>2]|0,z9=Gt(t,Ze,k4,nt,28086)|0,Y4=e[A3>>2]|0,s4=Y4+12|0,e[s4>>2]=z9,R4=e[T3>>2]|0,st=e[X>>2]|0,n9=st+(R4<<2)|0,u4=e[n9>>2]|0,B9=e[A3>>2]|0,T6=e[B9>>2]|0,J9=B9+28|0,Oe=e[J9>>2]|0,f9=Gt(t,u4,T6,Oe,37449)|0,s9=e[A3>>2]|0,h4=s9+16|0,e[h4>>2]=f9,f4=e[T3>>2]|0,S9=e[X>>2]|0,o4=S9+(f4<<2)|0,O9=e[o4>>2]|0,I4=e[A3>>2]|0,Se=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,S4=Gt(t,O9,Se,z4,46811)|0,b9=e[A3>>2]|0,m9=b9+20|0,e[m9>>2]=S4,z6=e[T3>>2]|0,F4=e[X>>2]|0,T4=F4+(z6<<2)|0,ot=e[T4>>2]|0,p9=e[A3>>2]|0,x9=e[p9>>2]|0,mt=p9+28|0,xe=e[mt>>2]|0,be=Gt(t,ot,x9,xe,56173)|0,q9=e[A3>>2]|0,a4=q9+24|0,e[a4>>2]=be,h8=e[T3>>2]|0,N4=e[X>>2]|0,f8=N4+(h8<<2)|0,x8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,x8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,L8=e[T3>>2]|0,Ht=e[X>>2]|0,Vt=Ht+(L8<<2)|0,Yt=e[Vt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,zt=e[pt>>2]|0,Kt=xt+56|0,r8=e[Kt>>2]|0,n8=Gt(t,Yt,zt,r8,18724)|0,Et=e[A3>>2]|0,K4=Et+36|0,e[K4>>2]=n8,G4=e[T3>>2]|0,at=e[X>>2]|0,Le=at+(G4<<2)|0,p8=e[Le>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,M8=e[E8>>2]|0,s8=b4+56|0,R8=e[s8>>2]|0,A4=Gt(t,p8,M8,R8,28086)|0,o8=e[A3>>2]|0,Jt=o8+40|0,e[Jt>>2]=A4,At=e[T3>>2]|0,W9=e[X>>2]|0,U4=W9+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,o9=Ct+56|0,lt=e[o9>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,yt=e[A3>>2]|0,p4=yt+44|0,e[p4>>2]=Bt,D4=e[T3>>2]|0,J4=e[X>>2]|0,W4=J4+(D4<<2)|0,a9=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,_4=P4+56|0,Qt=e[_4>>2]|0,a8=Gt(t,a9,gt,Qt,46811)|0,Z9=e[A3>>2]|0,C3=Z9+48|0,e[C3>>2]=a8,Z4=e[T3>>2]|0,wt=e[X>>2]|0,$4=wt+(Z4<<2)|0,je=e[$4>>2]|0,l4=e[A3>>2]|0,Te=l4+28|0,Wt=e[Te>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,je,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=D7+1|0,ut=e[l0>>2]|0,dt=(jt|0)<(ut|0),dt)D7=jt;else{B=X,Tt=ut;break e}}return C=mn,A|0}for(;;){N6=($6+4|0)+(_7<<2)|0,C0=e[N6>>2]|0,j6=d1+(_7<<2)|0,f0=e[j6>>2]|0,k6=e[t>>2]|0,R3=k6+(_7<<2)|0,n0=e[R3>>2]|0,m0=n0+(b<<2)|0,e[K9>>2]=f6,s6=W8(t,60)|0,v0=Y2+(_7<<2)|0,e[v0>>2]=s6,fi=s6,pn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(pn|0));for(Ar=0;r6=f0+(Ar<<2)|0,M3=e[r6>>2]|0,d3=M3&2147483647,J3=+(d3>>>0),h6=J3*7177114298428933e-22,m3=h6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,Q=Ar+b|0,S6=n0+(Q<<2)|0,o[S6>>2]=M6,n6=Ar+1|0,b6=(n6|0)<(b|0),b6;)Ar=n6;if(Ny(h9,m0,i0),g0=G5+(_7<<2)|0,I0=+o[g0>>2],Gy(h9,n0,e0,Z7,I0),$l(h9,i0,e0,1,n0,f0,m0),p0=($6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,y0=(j9+800|0)+(S0<<2)|0,E0=e[y0>>2]|0,Q0=(E0|0)==1,!Q0){A=-1;break}if(w0=e[X>>2]|0,B0=w0+(S0<<2)|0,x0=e[B0>>2]|0,Z0=Al(t,x0,m0,n0)|0,R0=e[v0>>2]|0,G0=R0+28|0,e[G0>>2]=Z0,U0=Pu(t)|0,H0=(U0|0)==0,H0||(k0=e[v0>>2]|0,K0=k0+28|0,N0=e[K0>>2]|0,M0=(N0|0)==0,M0||($l(h9,i0,e0,2,n0,f0,m0),P0=e[p0>>2]|0,W0=e[X>>2]|0,J0=W0+(P0<<2)|0,V0=e[J0>>2]|0,j0=Al(t,V0,m0,n0)|0,Y0=e[v0>>2]|0,o1=Y0+56|0,e[o1>>2]=j0,$l(h9,i0,e0,0,n0,f0,m0),z0=e[p0>>2]|0,r1=e[X>>2]|0,L0=r1+(z0<<2)|0,s1=e[L0>>2]|0,h1=Al(t,s1,m0,n0)|0,u1=e[v0>>2]|0,e[u1>>2]=h1,E1=e[p0>>2]|0,f1=e[X>>2]|0,A1=f1+(E1<<2)|0,g1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,X0=a1+28|0,B1=e[X0>>2]|0,p1=Gt(t,g1,$1,B1,9362)|0,Q1=e[v0>>2]|0,C1=Q1+4|0,e[C1>>2]=p1,y1=e[p0>>2]|0,k1=e[X>>2]|0,S1=k1+(y1<<2)|0,L1=e[S1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,P1=e[v0>>2]|0,D1=P1+8|0,e[D1>>2]=F1,X1=e[p0>>2]|0,G1=e[X>>2]|0,x1=G1+(X1<<2)|0,J1=e[x1>>2]|0,H1=e[v0>>2]|0,V1=e[H1>>2]|0,Y1=H1+28|0,z1=e[Y1>>2]|0,t2=Gt(t,J1,V1,z1,28086)|0,o2=e[v0>>2]|0,q1=o2+12|0,e[q1>>2]=t2,d2=e[p0>>2]|0,Z1=e[X>>2]|0,I2=Z1+(d2<<2)|0,A2=e[I2>>2]|0,C2=e[v0>>2]|0,$2=e[C2>>2]|0,W1=C2+28|0,f2=e[W1>>2]|0,g2=Gt(t,A2,$2,f2,37449)|0,s2=e[v0>>2]|0,l2=s2+16|0,e[l2>>2]=g2,i2=e[p0>>2]|0,a2=e[X>>2]|0,m2=a2+(i2<<2)|0,r2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,y2=e[S2>>2]|0,M2=Gt(t,r2,D2,y2,46811)|0,O2=e[v0>>2]|0,p2=O2+20|0,e[p2>>2]=M2,W2=e[p0>>2]|0,q2=e[X>>2]|0,K2=q2+(W2<<2)|0,U2=e[K2>>2]|0,V2=e[v0>>2]|0,Z2=e[V2>>2]|0,A5=V2+28|0,N1=e[A5>>2]|0,t5=Gt(t,U2,Z2,N1,56173)|0,T5=e[v0>>2]|0,i5=T5+24|0,e[i5>>2]=t5,L5=e[p0>>2]|0,j2=e[X>>2]|0,p5=j2+(L5<<2)|0,_5=e[p5>>2]|0,V5=e[v0>>2]|0,u5=V5+28|0,y5=e[u5>>2]|0,o5=V5+56|0,F2=e[o5>>2]|0,R2=Gt(t,_5,y5,F2,9362)|0,Q2=e[v0>>2]|0,Q5=Q2+32|0,e[Q5>>2]=R2,N5=e[p0>>2]|0,E5=e[X>>2]|0,M5=E5+(N5<<2)|0,q5=e[M5>>2]|0,z2=e[v0>>2]|0,C5=z2+28|0,$5=e[C5>>2]|0,d5=z2+56|0,w5=e[d5>>2]|0,T1=Gt(t,q5,$5,w5,18724)|0,x5=e[v0>>2]|0,h5=x5+36|0,e[h5>>2]=T1,l5=e[p0>>2]|0,X2=e[X>>2]|0,v5=X2+(l5<<2)|0,r5=e[v5>>2]|0,a5=e[v0>>2]|0,f5=a5+28|0,J2=e[f5>>2]|0,I5=a5+56|0,n5=e[I5>>2]|0,F5=Gt(t,r5,J2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=F5,k5=e[p0>>2]|0,z5=e[X>>2]|0,i3=z5+(k5<<2)|0,B5=e[i3>>2]|0,I3=e[v0>>2]|0,h3=I3+28|0,W5=e[h3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,y3=Gt(t,B5,W5,a3,37449)|0,Z5=e[v0>>2]|0,x3=Z5+44|0,e[x3>>2]=y3,f3=e[p0>>2]|0,w3=e[X>>2]|0,e6=w3+(f3<<2)|0,V3=e[e6>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,a6=X5+56|0,Y3=e[a6>>2]|0,c3=Gt(t,V3,t3,Y3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,K5=e[X>>2]|0,H5=K5+(Q3<<2)|0,Y5=e[H5>>2]|0,D5=e[v0>>2]|0,z3=D5+28|0,l6=e[z3>>2]|0,n3=D5+56|0,l3=e[n3>>2]|0,U3=Gt(t,Y5,l6,l3,56173)|0,C6=e[v0>>2]|0,b3=C6+52|0,e[b3>>2]=U3)),L3=_7+1|0,D3=e[l0>>2]|0,A6=(L3|0)<(D3|0),A6)_7=L3;else{B=X,Tt=D3;break e}}return C=mn,A|0}else v=m7+48|0,B=v,Tt=d0;while(!1);for(o[b2>>2]=Z7,Ft=Tt<<2,h=Ft,X4=C,C=C+((1*h|0)+15&-16)|0,p=Ft,De=C,C=C+((1*p|0)+15&-16)|0,g8=Pu(t)|0,et=(g8|0)!=0,Y8=et?0:7,Z8=m7+44|0,F8=t+24|0,u8=t+32|0,T8=j9+2868|0,z8=m7+52|0,E7=Y8;;){if(j8=(hn+12|0)+(E7<<2)|0,ht=e[j8>>2]|0,H2(ht,0,1),Nt=e[Z8>>2]|0,H2(ht,f6,Nt),N8=e[j5>>2]|0,Xt=(N8|0)==0,Xt||(O4=e[F8>>2]|0,H2(ht,O4,1),C4=e[u8>>2]|0,H2(ht,C4,1)),A9=e[l0>>2]|0,G8=(A9|0)>0,G8)for(i7=0;;)if(qi=($6+4|0)+(i7<<2)|0,Hi=e[qi>>2]|0,Vi=e2+(i7<<2)|0,Ei=e[Vi>>2]|0,X8=($6+1028|0)+(Hi<<2)|0,Ci=e[X8>>2]|0,ei=e[B>>2]|0,Bi=ei+(Ci<<2)|0,ti=e[Bi>>2]|0,yi=Y2+(i7<<2)|0,g7=e[yi>>2]|0,Yi=g7+(E7<<2)|0,Qi=e[Yi>>2]|0,wi=Ib(ht,t,ti,Qi,Ei)|0,u7=q0+(i7<<2)|0,e[u7>>2]=wi,vi=i7+1|0,ci=e[l0>>2]|0,d7=(vi|0)<(ci|0),d7)i7=vi;else{m=ci;break}else m=A9;if(zi=e[j5>>2]|0,Ki=((j9+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ki>>2]|0,qb(E7,T8,h9,$6,d1,e2,q0,Wi,m),gi=e[$6>>2]|0,ki=(gi|0)>0,ki)for(x7=0;;){if(Zi=($6+1092|0)+(x7<<2)|0,ii=e[Zi>>2]|0,ui=e[l0>>2]|0,K8=(ui|0)>0,K8)for(ln=ui,p7=0,$r=0;;)if(ri=($6+4|0)+($r<<2)|0,h7=e[ri>>2]|0,ji=(h7|0)==(x7|0),ji?(Si=De+(p7<<2)|0,Xi=q0+($r<<2)|0,bi=e[Xi>>2]|0,Oo=(bi|0)!=0,s=Oo&1,e[Si>>2]=s,Di=e2+($r<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ni=X4+(p7<<2)|0,e[ni>>2]=e7,E=e[l0>>2]|0,di=E,In=_i):(di=ln,In=p7),xi=$r+1|0,t7=(xi|0)<(di|0),t7)ln=di,p7=In,$r=xi;else{fs=In;break}else fs=0;if(Li=(j9+1312|0)+(ii<<2)|0,x4=e[Li>>2]|0,Mi=25648+(x4<<2)|0,U8=e[Mi>>2]|0,hi=U8+20|0,le=e[hi>>2]|0,B8=e[z8>>2]|0,vt=B8+(ii<<2)|0,y8=e[vt>>2]|0,P8=YC[le&7](t,y8,X4,De,fs)|0,kr=e[l0>>2]|0,ao=(kr|0)>0,ao)for(ar=0,Rr=0;;)if(zn=($6+4|0)+(Rr<<2)|0,Ao=e[zn>>2]|0,Kn=(Ao|0)==(x7|0),Kn?($o=e2+(Rr<<2)|0,lo=e[$o>>2]|0,Jn=ar+1|0,co=X4+(ar<<2)|0,e[co>>2]=lo,xr=Jn):xr=ar,on=Rr+1|0,uo=(on|0)<(kr|0),uo)ar=xr,Rr=on;else{_r=xr;break}else _r=0;if(ho=e[Li>>2]|0,Wn=25648+(ho<<2)|0,fo=e[Wn>>2]|0,Zn=fo+24|0,jn=e[Zn>>2]|0,Io=e[z8>>2]|0,an=Io+(ii<<2)|0,Xn=e[an>>2]|0,oQ[jn&3](ht,t,Xn,X4,De,_r,P8,x7)|0,An=x7+1|0,ts=e[$6>>2]|0,mo=(An|0)<(ts|0),mo)x7=An;else break}if(po=E7+1|0,Eo=Pu(t)|0,$n=(Eo|0)!=0,is=$n?14:7,Co=(E7|0)<(is|0),Co)E7=po;else{A=0;break}}return C=mn,A|0}function Fb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0;if(T2=C,D=t+64|0,k=e[D>>2]|0,Q1=k+4|0,F1=e[Q1>>2]|0,z1=F1+28|0,W1=e[z1>>2]|0,k2=k+104|0,U2=e[k2>>2]|0,p5=t+28|0,N5=e[p5>>2]|0,v=W1+(N5<<2)|0,K=e[v>>2]|0,i0=t+36|0,e[i0>>2]=K,f0=F1+4|0,Z0=e[f0>>2]|0,P0=Z0<<2,g=P0,s1=C,C=C+((1*g|0)+15&-16)|0,h=P0,X0=C,C=C+((1*h|0)+15&-16)|0,p=P0,B1=C,C=C+((1*p|0)+15&-16)|0,m=P0,p1=C,C=C+((1*m|0)+15&-16)|0,C1=e[f0>>2]|0,y1=(C1|0)>0,y1)for(v1=s+4|0,k1=s+1028|0,S1=U2+48|0,L1=K<<1,M1=L1&2147483646,X2=0;;)if(O1=v1+(X2<<2)|0,X1=e[O1>>2]|0,G1=k1+(X1<<2)|0,x1=e[G1>>2]|0,J1=(W1+800|0)+(x1<<2)|0,H1=e[J1>>2]|0,V1=25640+(H1<<2)|0,Y1=e[V1>>2]|0,t2=Y1+20|0,o2=e[t2>>2]|0,e2=e[S1>>2]|0,q1=e2+(x1<<2)|0,d2=e[q1>>2]|0,Z1=pi[o2&15](t,d2)|0,I2=p1+(X2<<2)|0,e[I2>>2]=Z1,A2=B1+(X2<<2)|0,e5=(Z1|0)!=0,A=e5&1,e[A2>>2]=A,C2=e[t>>2]|0,$2=C2+(X2<<2)|0,f2=e[$2>>2]|0,g4(f2|0,0,M1|0)|0,g2=X2+1|0,n2=e[f0>>2]|0,u2=(g2|0)<(n2|0),u2)X2=g2;else{a1=n2;break}else a1=C1;if(b1=s+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(P1=s+1160|0,D1=s+2184|0,h2=0;r2=P1+(h2<<2)|0,D2=e[r2>>2]|0,S2=B1+(D2<<2)|0,y2=e[S2>>2]|0,G2=(y2|0)==0,M2=D1+(h2<<2)|0,O2=e[M2>>2]|0,G2?(p2=B1+(O2<<2)|0,W2=e[p2>>2]|0,q2=(W2|0)==0,q2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,K2=B1+(O2<<2)|0,e[K2>>2]=1),V2=h2+1|0,Z2=(V2|0)<(_1|0),Z2;)h2=V2;if(s2=e[s>>2]|0,l2=(s2|0)>0,l2){for(i2=s+1092|0,a2=U2+52|0,m2=s+4|0,A5=a1,v5=0;;){if(Y2=(A5|0)>0,Y2)for($1=A5,h5=0,I5=0;;)if(N1=m2+(I5<<2)|0,t5=e[N1>>2]|0,T5=(t5|0)==(v5|0),T5?(i5=B1+(I5<<2)|0,L5=e[i5>>2]|0,j2=X0+(h5<<2)|0,F5=(L5|0)!=0,$=F5&1,e[j2>>2]=$,_5=e[t>>2]|0,V5=_5+(I5<<2)|0,u5=e[V5>>2]|0,b2=h5+1|0,y5=s1+(h5<<2)|0,e[y5>>2]=u5,B=e[f0>>2]|0,R2=B,l5=b2):(R2=$1,l5=h5),o5=I5+1|0,F2=(o5|0)<(R2|0),F2)$1=R2,h5=l5,I5=o5;else{x5=l5;break}else x5=0;if(Q2=i2+(v5<<2)|0,Q5=e[Q2>>2]|0,E5=(W1+1312|0)+(Q5<<2)|0,M5=e[E5>>2]|0,q5=25648+(M5<<2)|0,R5=e[q5>>2]|0,z2=R5+28|0,C5=e[z2>>2]|0,$5=e[a2>>2]|0,d5=$5+(Q5<<2)|0,w5=e[d5>>2]|0,YC[C5&7](t,w5,s1,X0,x5)|0,T1=v5+1|0,_=e[s>>2]|0,Q=(T1|0)<(_|0),!Q)break;y=e[f0>>2]|0,A5=y,v5=T1}b=e[b1>>2]|0,L=b}else L=_1;if(R=(L|0)>0,R)for(M=s+1160|0,F=e[t>>2]|0,G=s+2184|0,O=(K|0)/2&-1,q=(K|0)>1,a5=L;;){if(r5=a5+-1|0,o0=M+(r5<<2)|0,J=e[o0>>2]|0,s0=F+(J<<2)|0,Y=e[s0>>2]|0,h0=G+(r5<<2)|0,e0=e[h0>>2]|0,d0=F+(e0<<2)|0,c0=e[d0>>2]|0,q)for(n5=0;;){$0=Y+(n5<<2)|0,l0=+o[$0>>2],X=c0+(n5<<2)|0,m0=+o[X>>2],g0=l0>0,I0=m0>0;do if(g0)if(I0){o[$0>>2]=l0,n0=l0-m0,o[X>>2]=n0;break}else{o[X>>2]=l0,p0=m0+l0,o[$0>>2]=p0;break}else if(I0){o[$0>>2]=l0,C0=m0+l0,o[X>>2]=C0;break}else{o[X>>2]=l0,S0=l0-m0,o[$0>>2]=S0;break}while(!1);if(y0=n5+1|0,D0=(y0|0)<(O|0),D0)n5=y0;else break}if(H=(a5|0)>1,H)a5=r5;else break}if(t0=e[f0>>2]|0,Z=(t0|0)>0,!Z)return C=T2,0;for(A0=s+4|0,j=s+1028|0,r0=U2+48|0,f5=0;;)if(Q0=e[t>>2]|0,w0=Q0+(f5<<2)|0,B0=e[w0>>2]|0,x0=A0+(f5<<2)|0,R0=e[x0>>2]|0,v0=j+(R0<<2)|0,G0=e[v0>>2]|0,U0=(W1+800|0)+(G0<<2)|0,O0=e[U0>>2]|0,H0=25640+(O0<<2)|0,k0=e[H0>>2]|0,K0=k0+24|0,N0=e[K0>>2]|0,M0=e[r0>>2]|0,W0=M0+(G0<<2)|0,J0=e[W0>>2]|0,V0=p1+(f5<<2)|0,j0=e[V0>>2]|0,HC[N0&3](t,J0,j0,B0)|0,q0=f5+1|0,Y0=e[f0>>2]|0,o1=(q0|0)<(Y0|0),o1)f5=q0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=T2,0;for(J2=0;z0=e[t>>2]|0,r1=z0+(J2<<2)|0,L0=e[r1>>2]|0,h1=e[p5>>2]|0,u1=(U2+12|0)+(h1<<2)|0,E1=e[u1>>2]|0,f1=e[E1>>2]|0,Tb(f1,L0,L0),d1=J2+1|0,A1=e[f0>>2]|0,g1=(d1|0)<(A1|0),g1;)J2=d1;return C=T2,0}function NC(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0;if(b1=C,A=(s|0)/4&-1,$=A<<2,v=Re($)|0,K=A+s|0,i0=K<<2,f0=Re(i0)|0,Z0=s>>1,P0=+(s|0),s1=P0,B1=+rn(+s1),g=B1*1.4426950408889634,h=+J7(g),p=~~h,m=t+4|0,e[m>>2]=p,e[t>>2]=s,E=t+8|0,e[E>>2]=f0,y=t+12|0,e[y>>2]=v,B=(s|0)>3,!B){X0=4/P0,p1=t+16|0,o[p1>>2]=X0;return}for(b=+(s|0),D=3.141592653589793/b,k=s<<1,_=+(k|0),Q=3.141592653589793/_,v1=0;G=v1<<2,O=+(G|0),q=D*O,H=+AA(+q),t0=H,Z=v1<<1,A0=f0+(Z<<2)|0,o[A0>>2]=t0,j=+Vn(+q),r0=j,o0=-r0,J=Z|1,s0=f0+(J<<2)|0,o[s0>>2]=o0,Y=+(J|0),h0=Q*Y,e0=+AA(+h0),d0=e0,c0=Z+Z0|0,$0=f0+(c0<<2)|0,o[$0>>2]=d0,l0=+Vn(+h0),X=l0,m0=c0+1|0,g0=f0+(m0<<2)|0,o[g0>>2]=X,I0=v1+1|0,n0=(I0|0)<(A|0),n0;)v1=I0;if(L=(s|0)/8&-1,R=(s|0)>7,!R){X0=4/P0,p1=t+16|0,o[p1>>2]=X0;return}for(M=+(s|0),F=3.141592653589793/M,k1=0;p0=k1<<2,C0=p0|2,S0=+(C0|0),y0=F*S0,D0=+AA(+y0),E0=D0*.5,Q0=E0,w0=k1<<1,B0=w0+s|0,x0=f0+(B0<<2)|0,o[x0>>2]=Q0,R0=+Vn(+y0),v0=R0*-.5,G0=v0,U0=B0+1|0,O0=f0+(U0<<2)|0,o[O0>>2]=G0,H0=k1+1|0,k0=(H0|0)<(L|0),k0;)k1=H0;if(K0=p+-1|0,N0=1<>2]=X0;return}for(;;){for(j0=J0,Q1=0,L1=0;;)if(V0=j0&S1,q0=(V0|0)==0,Y0=1<>z0,L0=(r1|0)==0,L0){y1=C1;break}else j0=r1,Q1=C1,L1=z0;if(h1=y1^-1,u1=M0&h1,E1=u1+-1|0,f1=S1<<1,d1=v+(f1<<2)|0,e[d1>>2]=E1,A1=f1|1,g1=v+(A1<<2)|0,e[g1>>2]=y1,a1=S1+1|0,$1=(a1|0)<(L|0),$1)S1=a1;else break}X0=4/P0,p1=t+16|0,o[p1>>2]=X0}function GC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0;y=C,s=(t|0)==0,!s&&(A=t+8|0,$=e[A>>2]|0,g=($|0)==0,g||E2($),h=t+12|0,p=e[h>>2]|0,m=(p|0)==0,m||E2(p),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 Tb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0;for(J3=C,p=e[t>>2]|0,m=p>>1,e2=p>>2,$=m+-7|0,W2=s+($<<2)|0,g=m+e2|0,i5=A+(g<<2)|0,R2=t+8|0,d5=e[R2>>2]|0,f5=d5+(e2<<2)|0,u3=f5,H5=W2,L3=i5;B5=L3+-16|0,w3=H5+8|0,E=+o[w3>>2],M=u3+12|0,r0=+o[M>>2],l0=E*r0,D0=-l0,O0=+o[H5>>2],q0=u3+8|0,d1=+o[q0>>2],v1=d1*O0,O1=D0-v1,o[B5>>2]=O1,q1=+o[H5>>2],u2=+o[M>>2],k2=u2*q1,D2=+o[w3>>2],S2=+o[q0>>2],y2=S2*D2,G2=k2-y2,M2=L3+-12|0,o[M2>>2]=G2,O2=H5+24|0,p2=+o[O2>>2],q2=u3+4|0,K2=+o[q2>>2],U2=p2*K2,V2=-U2,Z2=H5+16|0,A5=+o[Z2>>2],Y2=+o[u3>>2],N1=Y2*A5,t5=V2-N1,T5=L3+-8|0,o[T5>>2]=t5,L5=+o[Z2>>2],j2=+o[q2>>2],p5=j2*L5,_5=+o[O2>>2],V5=+o[u3>>2],u5=V5*_5,b2=p5-u5,y5=L3+-4|0,o[y5>>2]=b2,o5=H5+-32|0,F2=u3+16|0,Q2=o5>>>0>>0,!Q2;)u3=F2,H5=o5,L3=B5;for(Q5=A+(m<<2)|0,h=m+-8|0,N5=s+(h<<2)|0,Q3=f5,Y5=N5,D3=i5;E5=Q3+-16|0,M5=Y5+16|0,q5=+o[M5>>2],R5=Q3+-4|0,z2=+o[R5>>2],C5=z2*q5,$5=Y5+24|0,w5=+o[$5>>2],T1=Q3+-8|0,x5=+o[T1>>2],h5=x5*w5,l5=h5+C5,o[D3>>2]=l5,X2=+o[M5>>2],h2=+o[T1>>2],v5=h2*X2,r5=+o[$5>>2],a5=+o[R5>>2],J2=a5*r5,I5=v5-J2,n5=D3+4|0,o[n5>>2]=I5,F5=+o[Y5>>2],e5=Q3+-12|0,c5=+o[e5>>2],T2=c5*F5,k5=Y5+8|0,z5=+o[k5>>2],i3=+o[E5>>2],I3=i3*z5,h3=I3+T2,W5=D3+8|0,o[W5>>2]=h3,r3=+o[Y5>>2],a3=+o[E5>>2],y3=a3*r3,G5=+o[k5>>2],Z5=+o[e5>>2],x3=Z5*G5,f3=y3-x3,e6=D3+12|0,o[e6>>2]=f3,V3=Y5+-32|0,X5=D3+16|0,_3=V3>>>0>>0,!_3;)Q3=E5,Y5=V3,D3=X5;for(l6=t+4|0,n3=e[l6>>2]|0,Ry(n3,d5,Q5,m),l3=e[t>>2]|0,U3=e[R2>>2]|0,C6=t+12|0,b3=e[C6>>2]|0,Fy(l3,U3,b3,A),t3=e[R2>>2]|0,a6=t3+(m<<2)|0,K5=a6,D5=A,A6=i5,j5=i5;G3=A6+-16|0,Y3=+o[D5>>2],c3=K5+4|0,g3=+o[c3>>2],y=g3*Y3,B=D5+4|0,b=+o[B>>2],D=+o[K5>>2],k=D*b,v=y-k,_=A6+-4|0,o[_>>2]=v,Q=+o[D5>>2],L=+o[K5>>2],R=L*Q,F=+o[B>>2],G=+o[c3>>2],O=G*F,q=R+O,H=-q,o[j5>>2]=H,K=D5+8|0,t0=+o[K>>2],Z=K5+12|0,A0=+o[Z>>2],j=A0*t0,o0=D5+12|0,J=+o[o0>>2],s0=K5+8|0,Y=+o[s0>>2],h0=Y*J,i0=j-h0,e0=A6+-8|0,o[e0>>2]=i0,d0=+o[K>>2],c0=+o[s0>>2],$0=c0*d0,X=+o[o0>>2],m0=+o[Z>>2],g0=m0*X,I0=$0+g0,n0=-I0,f0=j5+4|0,o[f0>>2]=n0,p0=D5+16|0,C0=+o[p0>>2],S0=K5+20|0,y0=+o[S0>>2],E0=y0*C0,Q0=D5+20|0,w0=+o[Q0>>2],B0=K5+16|0,x0=+o[B0>>2],Z0=x0*w0,R0=E0-Z0,v0=A6+-12|0,o[v0>>2]=R0,G0=+o[p0>>2],U0=+o[B0>>2],H0=U0*G0,k0=+o[Q0>>2],K0=+o[S0>>2],N0=K0*k0,M0=H0+N0,P0=-M0,W0=j5+8|0,o[W0>>2]=P0,J0=D5+24|0,V0=+o[J0>>2],j0=K5+28|0,Y0=+o[j0>>2],o1=Y0*V0,z0=D5+28|0,r1=+o[z0>>2],L0=K5+24|0,s1=+o[L0>>2],h1=s1*r1,u1=o1-h1,o[G3>>2]=u1,E1=+o[J0>>2],f1=+o[L0>>2],A1=f1*E1,g1=+o[z0>>2],a1=+o[j0>>2],$1=a1*g1,X0=A1+$1,B1=-X0,p1=j5+12|0,o[p1>>2]=B1,Q1=j5+16|0,C1=D5+32|0,y1=K5+32|0,k1=C1>>>0>>0,k1;)K5=y1,D5=C1,A6=G3,j5=Q1;for(S1=A+(e2<<2)|0,z3=i5,r6=S1,M3=S1;;)if(L1=r6+-16|0,M1=z3+-16|0,b1=z3+-4|0,_1=+o[b1>>2],R1=r6+-4|0,o[R1>>2]=_1,F1=-_1,o[M3>>2]=F1,P1=z3+-8|0,D1=+o[P1>>2],X1=r6+-8|0,o[X1>>2]=D1,G1=-D1,x1=M3+4|0,o[x1>>2]=G1,J1=z3+-12|0,H1=+o[J1>>2],V1=r6+-12|0,o[V1>>2]=H1,Y1=-H1,z1=M3+8|0,o[z1>>2]=Y1,t2=+o[M1>>2],o[L1>>2]=t2,o2=-t2,d2=M3+12|0,o[d2>>2]=o2,Z1=M3+16|0,I2=Z1>>>0>>0,I2)z3=M1,r6=L1,M3=Z1;else{U5=i5,K3=i5;break}for(;A2=K3+-16|0,C2=U5+12|0,$2=e[C2>>2]|0,e[A2>>2]=$2,W1=U5+8|0,f2=e[W1>>2]|0,g2=K3+-12|0,e[g2>>2]=f2,n2=U5+4|0,s2=e[n2>>2]|0,l2=K3+-8|0,e[l2>>2]=s2,i2=e[U5>>2]|0,a2=K3+-4|0,e[a2>>2]=i2,m2=U5+16|0,r2=A2>>>0>Q5>>>0,r2;)U5=m2,K3=A2}function My(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0;if(z5=C,k=e[t>>2]|0,v=k>>1,o1=k>>2,g1=k>>3,S1=k<<2,$=S1,G1=C,C=C+((1*$|0)+15&-16)|0,d2=G1+(v<<2)|0,g=v+o1|0,s2=s+(g<<2)|0,M2=t+8|0,N1=e[M2>>2]|0,_=N1+(v<<2)|0,t0=(g1|0)>0,t0){for(h=g+1|0,e0=s+(h<<2)|0,p0=g1+-1|0,R0=p0>>>1,W0=R0<<1,V0=v+-2|0,j0=V0-W0|0,q0=g+-4|0,Y0=R0<<2,z0=q0-Y0|0,o5=_,M5=0,f5=s2,F5=e0;r1=f5+-16|0,L0=o5+-8|0,s1=f5+-8|0,h1=+o[s1>>2],u1=+o[F5>>2],E1=u1+h1,f1=+o[r1>>2],d1=F5+8|0,A1=+o[d1>>2],a1=A1+f1,$1=o5+-4|0,X0=+o[$1>>2],B1=a1*X0,p1=+o[L0>>2],Q1=p1*E1,C1=Q1+B1,b=M5+v|0,y1=G1+(b<<2)|0,o[y1>>2]=C1,v1=+o[L0>>2],k1=v1*a1,L1=+o[$1>>2],M1=L1*E1,b1=k1-M1,_1=M5|1,D=_1+v|0,R1=G1+(D<<2)|0,o[R1>>2]=b1,F1=F5+16|0,P1=M5+2|0,D1=(P1|0)<(g1|0),D1;)o5=L0,M5=P1,f5=r1,F5=F1;O1=W0+2|0,h2=N1+(j0<<2)|0,v5=s+(z0<<2)|0,Y2=j0,y5=h2,E5=O1,a5=v5}else Y2=v,y5=_,E5=0,a5=s2;if(X1=s+4|0,x1=v-g1|0,J1=(E5|0)<(x1|0),J1){for(H1=v+-1|0,V1=H1-E5|0,Y1=V1-g1|0,z1=Y1>>>1,t2=z1<<1,o2=E5+t2|0,e2=z1<<2,q1=e2+5|0,Z1=-2-t2|0,R2=y5,R5=E5,J2=a5,c5=X1;I2=R2+-8|0,A2=J2+-16|0,C2=J2+-8|0,$2=+o[C2>>2],W1=+o[c5>>2],f2=$2-W1,g2=+o[A2>>2],n2=c5+8|0,u2=+o[n2>>2],l2=g2-u2,i2=R2+-4|0,a2=+o[i2>>2],m2=l2*a2,r2=+o[I2>>2],k2=r2*f2,D2=k2+m2,E=R5+v|0,S2=G1+(E<<2)|0,o[S2>>2]=D2,y2=+o[I2>>2],G2=y2*l2,O2=+o[i2>>2],p2=O2*f2,W2=G2-p2,q2=R5|1,y=q2+v|0,K2=G1+(y<<2)|0,o[K2>>2]=W2,U2=c5+16|0,V2=R5+2|0,Z2=(V2|0)<(x1|0),Z2;)R2=I2,R5=V2,J2=A2,c5=U2;A5=o2+2|0,l5=s+(q1<<2)|0,B=Y2+Z1|0,X2=N1+(B<<2)|0,F2=X2,q5=A5,e5=l5}else F2=y5,q5=E5,e5=X1;if(t5=(q5|0)<(v|0),t5)for(T5=s+(k<<2)|0,Q2=F2,z2=q5,I5=T5,T2=e5;i5=Q2+-8|0,L5=I5+-16|0,j2=I5+-8|0,p5=+o[j2>>2],_5=-p5,V5=+o[T2>>2],u5=_5-V5,b2=+o[L5>>2],Q=-b2,L=T2+8|0,R=+o[L>>2],M=Q-R,F=Q2+-4|0,G=+o[F>>2],O=M*G,q=+o[i5>>2],H=q*u5,K=H+O,p=z2+v|0,Z=G1+(p<<2)|0,o[Z>>2]=K,A0=+o[i5>>2],j=A0*M,r0=+o[F>>2],o0=r0*u5,J=j-o0,s0=z2|1,m=s0+v|0,Y=G1+(m<<2)|0,o[Y>>2]=J,h0=T2+16|0,i0=z2+2|0,d0=(i0|0)<(v|0),d0;)Q2=i5,z2=i0,I5=L5,T2=h0;if($5=t+4|0,d5=e[$5>>2]|0,Ry(d5,N1,d2,v),h5=e[t>>2]|0,w5=e[M2>>2]|0,T1=t+12|0,x5=e[T1>>2]|0,Fy(h5,w5,x5,G1),c0=(o1|0)>0,!c0){C=z5;return}for($0=A+(v<<2)|0,l0=e[M2>>2]|0,X=l0+(v<<2)|0,m0=t+16|0,Q5=X,C5=0,r5=G1,n5=$0;g0=n5+-4|0,I0=+o[r5>>2],n0=+o[Q5>>2],f0=n0*I0,C0=r5+4|0,S0=+o[C0>>2],y0=Q5+4|0,D0=+o[y0>>2],E0=D0*S0,Q0=E0+f0,w0=+o[m0>>2],B0=Q0*w0,x0=A+(C5<<2)|0,o[x0>>2]=B0,Z0=+o[r5>>2],v0=+o[y0>>2],G0=v0*Z0,U0=+o[C0>>2],O0=+o[Q5>>2],H0=O0*U0,k0=G0-H0,K0=+o[m0>>2],N0=k0*K0,o[g0>>2]=N0,M0=r5+8|0,P0=Q5+8|0,J0=C5+1|0,N5=(J0|0)==(o1|0),!N5;)Q5=P0,C5=J0,r5=M0,n5=g0;C=z5}function Ry(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0,y8=0,P8=0,sn=0,kr=0;if(kr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(m=$+-8|0,V5=A+(m<<2)|0,T3=$>>1,B=T3+-8|0,e8=A+(B<<2)|0,g=s,B8=V5,y8=e8;ht=B8+24|0,Vi=+o[ht>>2],Qi=y8+24|0,ki=+o[Qi>>2],bi=Vi-ki,y0=B8+28|0,U0=+o[y0>>2],j0=y8+28|0,f1=+o[j0>>2],y1=U0-f1,D1=ki+Vi,o[ht>>2]=D1,o2=+o[j0>>2],g2=o2+U0,o[y0>>2]=g2,S2=g+4|0,Z2=+o[S2>>2],u5=Z2*y1,q5=+o[g>>2],X2=q5*bi,c5=X2+u5,o[Qi>>2]=c5,y3=+o[g>>2],a6=y3*y1,z3=+o[S2>>2],r6=z3*bi,S6=a6-r6,o[j0>>2]=S6,W3=B8+16|0,H6=+o[W3>>2],ue=y8+16|0,ne=+o[ue>>2],we=H6-ne,R9=B8+20|0,Y9=+o[R9>>2],Y4=y8+20|0,f9=+o[Y4>>2],I6=Y9-f9,x9=ne+H6,o[W3>>2]=x9,I8=+o[Y4>>2],Yt=I8+Y9,o[R9>>2]=Yt,at=g+20|0,Jt=+o[at>>2],Bt=Jt*I6,_4=g+16|0,Te=+o[_4>>2],Ft=Te*we,u8=Ft+Bt,o[ue>>2]=u8,j8=+o[_4>>2],Nt=j8*I6,N8=+o[at>>2],Xt=N8*we,O4=Nt-Xt,o[Y4>>2]=O4,C4=B8+8|0,A9=+o[C4>>2],G8=y8+8|0,$i=+o[G8>>2],qi=A9-$i,Hi=B8+12|0,Ei=+o[Hi>>2],X8=y8+12|0,Ci=+o[X8>>2],ei=Ei-Ci,Bi=$i+A9,o[C4>>2]=Bi,ti=+o[X8>>2],yi=ti+Ei,o[Hi>>2]=yi,li=g+36|0,g7=+o[li>>2],Yi=g7*ei,wi=g+32|0,u7=+o[wi>>2],vi=u7*qi,ci=vi+Yi,o[G8>>2]=ci,d7=+o[wi>>2],zi=d7*ei,Ki=+o[li>>2],Ji=Ki*qi,Wi=zi-Ji,o[X8>>2]=Wi,gi=+o[B8>>2],Zi=+o[y8>>2],ii=gi-Zi,ui=B8+4|0,K8=+o[ui>>2],ri=y8+4|0,h7=+o[ri>>2],ji=K8-h7,f7=Zi+gi,o[B8>>2]=f7,Si=+o[ri>>2],Xi=Si+K8,o[ui>>2]=Xi,Di=g+52|0,e7=+o[Di>>2],_i=e7*ji,ni=g+48|0,xi=+o[ni>>2],t7=xi*ii,di=t7+_i,o[y8>>2]=di,J8=+o[ni>>2],Li=J8*ji,x4=+o[Di>>2],D0=x4*ii,E0=Li-D0,o[ri>>2]=E0,Q0=B8+-32|0,w0=y8+-32|0,B0=g+64|0,x0=w0>>>0>>0,!x0;)g=B0,B8=Q0,y8=w0;if(Z0=(C0|0)>1,Z0)for(U8=1;;){if(R0=1<>U8,O0=4<>1,b=H0+-8|0,q=O0+1|0,h0=O0<<1,$0=h0|1,m0=O0*3|0,I0=m0+1|0,f0=O0<<2,hi=0;;){for(K0=s5(hi,G0)|0,N0=A+(K0<<2)|0,p=E+K0|0,M0=A+(p<<2)|0,d0=b+K0|0,P0=A+(d0<<2)|0,h=s,vt=M0,P8=P0;W0=vt+24|0,J0=+o[W0>>2],V0=P8+24|0,q0=+o[V0>>2],Y0=J0-q0,o1=vt+28|0,z0=+o[o1>>2],r1=P8+28|0,L0=+o[r1>>2],s1=z0-L0,h1=q0+J0,o[W0>>2]=h1,u1=+o[r1>>2],E1=u1+z0,o[o1>>2]=E1,d1=h+4|0,A1=+o[d1>>2],g1=A1*s1,a1=+o[h>>2],$1=a1*Y0,X0=$1+g1,o[V0>>2]=X0,B1=+o[h>>2],p1=B1*s1,Q1=+o[d1>>2],C1=Q1*Y0,v1=p1-C1,o[r1>>2]=v1,k1=h+(O0<<2)|0,S1=vt+16|0,L1=+o[S1>>2],M1=P8+16|0,b1=+o[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+o[R1>>2],P1=P8+20|0,O1=+o[P1>>2],X1=F1-O1,G1=b1+L1,o[S1>>2]=G1,x1=+o[P1>>2],J1=x1+F1,o[R1>>2]=J1,H1=h+(q<<2)|0,V1=+o[H1>>2],Y1=V1*X1,z1=+o[k1>>2],t2=z1*_1,e2=t2+Y1,o[M1>>2]=e2,q1=+o[k1>>2],d2=q1*X1,Z1=+o[H1>>2],I2=Z1*_1,A2=d2-I2,o[P1>>2]=A2,C2=h+(h0<<2)|0,$2=vt+8|0,W1=+o[$2>>2],f2=P8+8|0,n2=+o[f2>>2],u2=W1-n2,s2=vt+12|0,l2=+o[s2>>2],i2=P8+12|0,a2=+o[i2>>2],m2=l2-a2,r2=n2+W1,o[$2>>2]=r2,k2=+o[i2>>2],D2=k2+l2,o[s2>>2]=D2,y2=h+($0<<2)|0,G2=+o[y2>>2],M2=G2*m2,O2=+o[C2>>2],p2=O2*u2,W2=p2+M2,o[f2>>2]=W2,q2=+o[C2>>2],K2=q2*m2,U2=+o[y2>>2],V2=U2*u2,A5=K2-V2,o[i2>>2]=A5,Y2=h+(m0<<2)|0,N1=+o[vt>>2],t5=+o[P8>>2],T5=N1-t5,i5=vt+4|0,L5=+o[i5>>2],j2=P8+4|0,p5=+o[j2>>2],_5=L5-p5,b2=t5+N1,o[vt>>2]=b2,y5=+o[j2>>2],o5=y5+L5,o[i5>>2]=o5,F2=h+(I0<<2)|0,R2=+o[F2>>2],Q2=R2*_5,Q5=+o[Y2>>2],N5=Q5*T5,E5=N5+Q2,o[P8>>2]=E5,M5=+o[Y2>>2],R5=M5*_5,z2=+o[F2>>2],C5=z2*T5,$5=R5-C5,o[j2>>2]=$5,d5=h+(f0<<2)|0,w5=vt+-32|0,T1=P8+-32|0,x5=T1>>>0>>0,!x5;)h=d5,vt=w5,P8=T1;if(h5=hi+1|0,l5=(h5|0)<(R0|0),l5)hi=h5;else break}if(h2=U8+1|0,Mi=(h2|0)==(C0|0),Mi)break;U8=h2}if(k0=($|0)>0,k0)le=0;else return;for(;v5=A+(le<<2)|0,y=le|30,r5=A+(y<<2)|0,a5=+o[r5>>2],O=le|14,f5=A+(O<<2)|0,J2=+o[f5>>2],I5=a5-J2,Y=le|31,n5=A+(Y<<2)|0,F5=+o[n5>>2],c0=le|15,e5=A+(c0<<2)|0,T2=+o[e5>>2],k5=F5-T2,z5=J2+a5,o[r5>>2]=z5,i3=T2+F5,o[n5>>2]=i3,o[f5>>2]=I5,o[e5>>2]=k5,l0=le|28,B5=A+(l0<<2)|0,I3=+o[B5>>2],X=le|12,h3=A+(X<<2)|0,W5=+o[h3>>2],r3=I3-W5,g0=le|29,a3=A+(g0<<2)|0,G5=+o[a3>>2],n0=le|13,Z5=A+(n0<<2)|0,x3=+o[Z5>>2],f3=G5-x3,w3=W5+I3,o[B5>>2]=w3,e6=x3+G5,o[a3>>2]=e6,V3=r3*.9238795042037964,X5=f3*.3826834261417389,_3=V3-X5,o[h3>>2]=_3,t3=r3*.3826834261417389,G3=f3*.9238795042037964,Y3=G3+t3,o[Z5>>2]=Y3,p0=le|26,c3=A+(p0<<2)|0,g3=+o[c3>>2],D=le|10,u3=A+(D<<2)|0,Q3=+o[u3>>2],K5=g3-Q3,k=le|27,H5=A+(k<<2)|0,Y5=+o[H5>>2],v=le|11,D5=A+(v<<2)|0,U5=+o[D5>>2],l6=Y5-U5,n3=Q3+g3,o[c3>>2]=n3,l3=U5+Y5,o[H5>>2]=l3,U3=K5-l6,C6=U3*.7071067690849304,o[u3>>2]=C6,b3=l6+K5,L3=b3*.7071067690849304,o[D5>>2]=L3,_=le|24,D3=A+(_<<2)|0,A6=+o[D3>>2],Q=le|8,K3=A+(Q<<2)|0,j5=+o[K3>>2],M3=A6-j5,L=le|25,d3=A+(L<<2)|0,J3=+o[d3>>2],R=le|9,h6=A+(R<<2)|0,m3=+o[h6>>2],x6=J3-m3,L6=j5+A6,o[D3>>2]=L6,M6=m3+J3,o[d3>>2]=M6,n6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=n6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,k6=N6+j6,M=le|22,R3=A+(M<<2)|0,s6=+o[R3>>2],F=le|6,o6=A+(F<<2)|0,B6=+o[o6>>2],F3=s6-B6,G=le|7,Z3=A+(G<<2)|0,t6=+o[Z3>>2],H=le|23,R6=A+(H<<2)|0,c6=+o[R6>>2],s3=t6-c6,K6=B6+s6,o[R3>>2]=K6,A3=c6+t6,o[R6>>2]=A3,o[o6>>2]=s3,o[Z3>>2]=F3,K=le|4,g6=A+(K<<2)|0,y6=+o[g6>>2],t0=le|20,$6=A+(t0<<2)|0,D6=+o[$6>>2],G6=y6-D6,Z=le|5,ee=A+(Z<<2)|0,Q6=+o[ee>>2],A0=le|21,X6=A+(A0<<2)|0,P3=+o[X6>>2],re=Q6-P3,V6=D6+y6,o[$6>>2]=V6,oe=P3+Q6,o[X6>>2]=oe,U6=re*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,te=re*.3826834261417389,_6=G6*.9238795042037964,P6=te-_6,j=le|2,O3=A+(j<<2)|0,O6=+o[O3>>2],r0=le|18,ae=A+(r0<<2)|0,he=+o[ae>>2],Be=O6-he,o0=le|3,ye=A+(o0<<2)|0,Qe=+o[ye>>2],J=le|19,fe=A+(J<<2)|0,Ie=+o[fe>>2],Ve=Qe-Ie,w6=he+O6,o[ae>>2]=w6,q6=Ie+Qe,o[fe>>2]=q6,Ae=Ve+Be,Ye=Ae*.7071067690849304,w9=Ve-Be,u9=w9*.7071067690849304,E9=+o[v5>>2],s0=le|16,ze=A+(s0<<2)|0,r9=+o[ze>>2],Fe=E9-r9,i0=le|1,ve=A+(i0<<2)|0,J6=+o[ve>>2],e0=le|17,$e=A+(e0<<2)|0,v9=+o[$e>>2],d9=J6-v9,_e=r9+E9,o[ze>>2]=_e,F9=v9+J6,o[$e>>2]=F9,T9=d9*.3826834261417389,U9=Fe*.9238795042037964,H9=T9+U9,n4=d9*.9238795042037964,k9=Fe*.3826834261417389,V9=n4-k9,Ke=V9-k6,h9=H9-b6,P9=H9+b6,C9=V9+k6,v4=h9+Ke,Ze=Ke-h9,ke=+o[D5>>2],k4=u9-ke,V4=+o[u3>>2],nt=V4-Ye,z9=V4+Ye,K9=ke+u9,s4=+o[h3>>2],R4=s4-F6,st=+o[Z5>>2],n9=st-P6,u4=s4+F6,B9=st+P6,T6=R4-n9,J9=n9+R4,Oe=+o[f5>>2],N9=Oe-s3,d4=+o[e5>>2],s9=d4-F3,h4=s3+Oe,f4=F3+d4,S9=N9+k4,o4=N9-k4,O9=T6+v4,I4=O9*.7071067690849304,Se=T6-v4,z4=Se*.7071067690849304,I9=I4+S9,o[o6>>2]=I9,S4=S9-I4,o[g6>>2]=S4,b9=J9-Ze,m9=b9*.7071067690849304,z6=s9-nt,F4=m9+o4,o[v5>>2]=F4,T4=o4-m9,o[O3>>2]=T4,ot=J9+Ze,p9=ot*.7071067690849304,mt=s9+nt,j3=z6+z4,o[ye>>2]=j3,xe=z6-z4,o[ve>>2]=xe,be=mt+p9,o[Z3>>2]=be,q9=mt-p9,o[ee>>2]=q9,a4=h4+z9,h8=h4-z9,N4=P9+u4,f8=u4-P9,x8=a4+N4,o[f5>>2]=x8,m8=a4-N4,o[h3>>2]=m8,Ut=B9-C9,Pt=f4-K9,Ot=h8+Ut,o[K3>>2]=Ot,qt=h8-Ut,o[u3>>2]=qt,t8=B9+C9,i8=f4+K9,L8=Pt+f8,o[D5>>2]=L8,Ht=Pt-f8,o[h6>>2]=Ht,Vt=i8+t8,o[e5>>2]=Vt,_t=i8-t8,o[Z5>>2]=_t,xt=+o[d3>>2],pt=F9-xt,zt=+o[D3>>2],Kt=_e-zt,r8=zt+_e,n8=xt+F9,Et=Kt+pt,K4=pt-Kt,G4=+o[fe>>2],Lt=+o[H5>>2],Le=G4-Lt,p8=+o[c3>>2],b4=+o[ae>>2],E8=p8-b4,M8=b4+p8,s8=Lt+G4,R8=+o[B5>>2],A4=+o[$6>>2],o8=R8-A4,Mt=+o[a3>>2],At=+o[X6>>2],W9=Mt-At,U4=A4+R8,$t=At+Mt,Ct=o8-W9,Rt=W9+o8,m4=+o[r5>>2],o9=+o[R3>>2],lt=m4-o9,ct=+o[n5>>2],yt=+o[R6>>2],p4=ct-yt,D4=o9+m4,J4=yt+ct,W4=lt+Le,a9=lt-Le,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,D9=gt*.7071067690849304,Qt=E4+W4,o[R3>>2]=Qt,a8=W4-E4,o[$6>>2]=a8,Z9=Rt-K4,C3=Z9*.7071067690849304,Z4=p4-E8,wt=C3+a9,o[ze>>2]=wt,$4=a9-C3,o[ae>>2]=$4,je=Rt+K4,l4=je*.7071067690849304,j4=p4+E8,Wt=Z4+D9,o[fe>>2]=Wt,C8=Z4-D9,o[$e>>2]=C8,A8=j4+l4,o[R6>>2]=A8,$8=j4-l4,o[X6>>2]=$8,Zt=D4+M8,l8=D4-M8,jt=U4+r8,ut=U4-r8,dt=Zt+jt,o[r5>>2]=dt,j9=Zt-jt,o[B5>>2]=j9,c8=$t-n8,Tt=J4-s8,X4=l8+c8,o[D3>>2]=X4,De=l8-c8,o[c3>>2]=De,g8=$t+n8,et=J4+s8,Y8=Tt+ut,o[H5>>2]=Y8,Z8=Tt-ut,o[d3>>2]=Z8,F8=et+g8,o[n5>>2]=F8,T8=et-g8,o[a3>>2]=T8,c4=le+32|0,z8=(c4|0)<($|0),z8;)le=c4}function Fy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0;for(Q1=C,D=t>>1,k=$+(D<<2)|0,H=s+(t<<2)|0,a1=H,$1=A,X0=$,B1=k;h0=e[$1>>2]|0,g=h0+D|0,n0=$+(g<<2)|0,x0=$1+4|0,M0=e[x0>>2]|0,h=M0+D|0,L0=$+(h<<2)|0,p=g+1|0,A1=$+(p<<2)|0,g1=+o[A1>>2],m=h+1|0,v=$+(m<<2)|0,_=+o[v>>2],Q=g1-_,L=+o[n0>>2],R=+o[L0>>2],M=R+L,F=+o[a1>>2],G=M*F,O=a1+4|0,q=+o[O>>2],K=q*Q,t0=K+G,Z=q*M,A0=F*Q,j=Z-A0,r0=B1+-16|0,o0=_+g1,J=o0*.5,s0=L-R,Y=s0*.5,i0=t0+J,o[X0>>2]=i0,e0=J-t0,d0=B1+-8|0,o[d0>>2]=e0,c0=j+Y,$0=X0+4|0,o[$0>>2]=c0,l0=j-Y,X=B1+-4|0,o[X>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+D|0,I0=$+(E<<2)|0,f0=$1+12|0,p0=e[f0>>2]|0,y=p0+D|0,C0=$+(y<<2)|0,B=E+1|0,S0=$+(B<<2)|0,y0=+o[S0>>2],b=y+1|0,D0=$+(b<<2)|0,E0=+o[D0>>2],Q0=y0-E0,w0=+o[I0>>2],B0=+o[C0>>2],Z0=B0+w0,R0=a1+8|0,v0=+o[R0>>2],G0=Z0*v0,U0=a1+12|0,O0=+o[U0>>2],H0=O0*Q0,k0=H0+G0,K0=O0*Z0,N0=v0*Q0,P0=K0-N0,W0=E0+y0,J0=W0*.5,V0=w0-B0,j0=V0*.5,q0=k0+J0,Y0=X0+8|0,o[Y0>>2]=q0,o1=J0-k0,o[r0>>2]=o1,z0=P0+j0,r1=X0+12|0,o[r1>>2]=z0,s1=P0-j0,h1=B1+-12|0,o[h1>>2]=s1,u1=a1+16|0,E1=$1+16|0,f1=X0+16|0,d1=f1>>>0>>0,d1;)a1=u1,$1=E1,X0=f1,B1=r0}function Nb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0;return B=C,s=t+28|0,A=e[s>>2]|0,$=A+2868|0,g=c9(1,36)|0,h=t+4|0,p=e[h>>2]|0,m=g+4|0,e[m>>2]=p,o[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Gb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,!s&&E2(t)}function Ub(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Pb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0;Ae=C,w6=t,Ye=w6+48|0;do e[w6>>2]=0,w6=w6+4|0;while((w6|0)<(Ye|0));L=e[A>>2]|0,R=t+36|0,e[R>>2]=L,n2=+(L|0),i3=n2*8,f3=i3,g3=+rn(+f3),l3=g3*1.4426950408889634,d3=+J7(l3),N6=d3+-1,R6=~~N6,M=t+32|0,e[M>>2]=R6,r0=+(g|0),l0=r0*.25,D0=l0,O0=D0*.5,q0=+($|0),d1=O0/q0,v1=+rn(+d1),O1=v1*1.4426950216293335,e2=O1+-5.965784072875977,u2=R6+1|0,G2=1<>2]=c5,k5=+($|0),z5=k5+.25,B5=z5*r0,I3=B5,h3=I3*.5,W5=h3/q0,r3=+rn(+W5),a3=r3*1.4426950216293335,y3=a3+-5.965784072875977,G5=Y2*y3,Z5=G5+.5,x3=~~Z5,w3=1-c5|0,e6=w3+x3|0,V3=t+40|0,e[V3>>2]=e6,X5=$<<2,_3=Re(X5)|0,t3=t+16|0,e[t3>>2]=_3,a6=Re(X5)|0,G3=t+20|0,e[G3>>2]=a6,Y3=Re(X5)|0,c3=t+24|0,e[c3>>2]=Y3,u3=t+4|0,e[u3>>2]=s,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,K5=t+48|0,o[K5>>2]=1,H5=(g|0)<26e3;do if(H5)o[K5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){o[K5>>2]=.9399999976158142;break}D5=(g|0)>46e3,D5&&(o[K5>>2]=1.274999976158142)}while(!1);z3=q0*2,U5=+(g|0),l6=($|0)>0,b3=l6,te=0,ne=0;e:for(;;){for(y=b3^1,_6=te;;){if(D3=_6+1|0,A6=+(D3|0),r6=A6*.08664337545633316,K3=r6+2.7488713472395148,j5=+Yn(+K3),M3=z3*j5,J3=M3/U5,h6=+J7(J3),m3=~~h6,E=(m3|0)<=(ne|0),ee=E|y,!ee){p=D3,m=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{he=ne;break e}}for(L6=1272+(P6<<2)|0,M6=+o[L6>>2],S6=1272+(p<<2)|0,n6=+o[S6>>2],f6=n6-M6,b6=m-ne|0,j6=+(b6|0),k6=f6/j6,R3=ne-m|0,s6=ne-$|0,o6=R3>>>0>s6>>>0,Ve=o6?R3:s6,n3=ne-Ve|0,G6=M6,Be=ne;B6=G6+100,W3=_3+(Be<<2)|0,o[W3>>2]=B6,F3=G6+k6,Z3=Be+1|0,V6=(Z3|0)==(n3|0),!V6;)G6=F3,Be=Z3;if(U3=(n3|0)<($|0),C6=(p|0)<87,C6)b3=U3,te=p,ne=n3;else{he=n3;break}}if(L3=(he|0)<($|0),L3)for(ye=he;H6=ye+-1|0,$6=_3+(H6<<2)|0,D6=e[$6>>2]|0,F=_3+(ye<<2)|0,e[F>>2]=D6,G=ye+1|0,re=(G|0)==($|0),!re;)ye=G;if(t6=($|0)>0,t6){for(c6=$<<1,s3=(g|0)/(c6|0)&-1,K6=s+120|0,A3=e[K6>>2]|0,g6=s+124|0,y6=s+116|0,T3=s+112|0,U6=1,O3=0,Qe=-99;;){Z=s5(s3,O3)|0,A0=+(Z|0),j=A0*.0007399999885819852,o0=j,J=+to(+o0),s0=J*13.100000381469727,Y=s5(Z,Z)|0,h0=+(Y|0),i0=h0*18499999754340024e-24,e0=i0,d0=+to(+e0),c0=d0*2.240000009536743,$0=c0+s0,X=A0*9999999747378752e-20,m0=X,g0=$0+m0,I0=g0,n0=A3+Qe|0,f0=(n0|0)<(O3|0);e:do if(f0)for(p0=+o[T3>>2],C0=I0-p0,S0=C0,Ie=Qe;;){if(y0=s5(Ie,s3)|0,E0=+(y0|0),Q0=E0*.0007399999885819852,w0=Q0,B0=+to(+w0),x0=B0*13.100000381469727,Z0=s5(y0,y0)|0,R0=+(Z0|0),v0=R0*18499999754340024e-24,G0=v0,U0=+to(+G0),H0=U0*2.240000009536743,k0=E0*9999999747378752e-20,K0=k0,N0=x0+K0,M0=N0+H0,P0=M0($|0);e:do if(W0)Y6=U6;else for(J0=e[g6>>2]|0,V0=J0+O3|0,F6=U6;;){if(z0=(F6|0)<(V0|0),!z0&&(r1=s5(F6,s3)|0,L0=+(r1|0),s1=L0*.0007399999885819852,h1=s1,u1=+to(+h1),E1=u1*13.100000381469727,f1=s5(r1,r1)|0,A1=+(f1|0),g1=A1*18499999754340024e-24,a1=g1,$1=+to(+a1),X0=$1*2.240000009536743,B1=L0*9999999747378752e-20,p1=B1,Q1=E1+p1,C1=Q1+X0,y1=+o[y6>>2],k1=y1+I0,S1=k1,L1=C1>2]=F1,D1=O3+1|0,P3=(D1|0)==($|0),P3)break;U6=Y6,O3=D1,Qe=fe}if(t6)for(O=U5*.5,q=e[M>>2]|0,H=q+1|0,K=1<>2]=q1,Z1=O6+1|0,X6=(Z1|0)==($|0),X6){k=O;break}else O6=Z1;else q6=19}else q6=19;if((q6|0)==19&&(Q=U5*.5,k=Q),I2=s+36|0,A2=k/q0,C2=A2,$2=s+24|0,W1=+o[$2>>2],f2=s+28|0,g2=+o[f2>>2],s2=Hb(I2,C2,$,W1,g2)|0,l2=t+8|0,e[l2>>2]=s2,i2=Re(12)|0,a2=t+12|0,e[a2>>2]=i2,m2=Re(X5)|0,e[i2>>2]=m2,r2=Re(X5)|0,k2=i2+4|0,e[k2>>2]=r2,D2=Re(X5)|0,S2=i2+8|0,e[S2>>2]=D2,!!t6)for(y2=e[u3>>2]|0,D=e[i2>>2]|0,B=i2+4|0,v=e[B>>2]|0,b=i2+8|0,_=e[b>>2]|0,ae=0;M2=+(ae|0),O2=M2+.5,p2=O2*U5,W2=p2/z3,q2=+rn(+W2),K2=q2*2.885390043258667,U2=K2+-11.931568145751953,V2=U2,Z2=V2<0,oe=Z2?0:V2,h=oe>=16,ue=h?16:oe,A5=~~ue,N1=+(A5|0),t5=ue-N1,T5=t5,i5=1-T5,L5=A5+1|0,j2=(y2+132|0)+(A5<<2)|0,p5=+o[j2>>2],_5=p5,V5=_5*i5,u5=(y2+132|0)+(L5<<2)|0,y5=+o[u5>>2],o5=y5*t5,F2=o5,R2=F2+V5,Q2=R2,Q5=D+(ae<<2)|0,o[Q5>>2]=Q2,N5=(y2+200|0)+(A5<<2)|0,E5=+o[N5>>2],M5=E5,q5=M5*i5,z2=(y2+200|0)+(L5<<2)|0,C5=+o[z2>>2],$5=C5*t5,d5=$5,w5=d5+q5,T1=w5,x5=v+(ae<<2)|0,o[x5>>2]=T1,h5=(y2+268|0)+(A5<<2)|0,l5=+o[h5>>2],X2=l5,v5=X2*i5,r5=(y2+268|0)+(L5<<2)|0,a5=+o[r5>>2],f5=a5*t5,J2=f5,I5=J2+v5,n5=I5,F5=_+(ae<<2)|0,o[F5>>2]=n5,e5=ae+1|0,Q6=(e5|0)==($|0),!Q6;)ae=e5}function Ty(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;if(q0=C,A=(t|0)==0,!A){if($=t+16|0,v=e[$>>2]|0,K=(v|0)==0,K||E2(v),i0=t+20|0,f0=e[i0>>2]|0,Z0=(f0|0)==0,Z0||E2(f0),N0=t+24|0,M0=e[N0>>2]|0,P0=(M0|0)==0,P0||E2(M0),g=t+8|0,h=e[g>>2]|0,p=(h|0)==0,!p){for(E=h,J0=0;m=E+(J0<<2)|0,y=e[m>>2]|0,B=e[y>>2]|0,E2(B),b=e[g>>2]|0,D=b+(J0<<2)|0,k=e[D>>2]|0,_=k+4|0,Q=e[_>>2]|0,E2(Q),L=e[g>>2]|0,R=L+(J0<<2)|0,M=e[R>>2]|0,F=M+8|0,G=e[F>>2]|0,E2(G),O=e[g>>2]|0,q=O+(J0<<2)|0,H=e[q>>2]|0,t0=H+12|0,Z=e[t0>>2]|0,E2(Z),A0=e[g>>2]|0,j=A0+(J0<<2)|0,r0=e[j>>2]|0,o0=r0+16|0,J=e[o0>>2]|0,E2(J),s0=e[g>>2]|0,Y=s0+(J0<<2)|0,h0=e[Y>>2]|0,e0=h0+20|0,d0=e[e0>>2]|0,E2(d0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,X=l0+24|0,m0=e[X>>2]|0,E2(m0),g0=e[g>>2]|0,I0=g0+(J0<<2)|0,n0=e[I0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),S0=e[g>>2]|0,y0=S0+(J0<<2)|0,D0=e[y0>>2]|0,E2(D0),E0=J0+1|0,W0=(E0|0)==17,!W0;)s=e[g>>2]|0,E=s,J0=E0;Q0=e[g>>2]|0,E2(Q0)}w0=t+12|0,B0=e[w0>>2]|0,x0=(B0|0)==0,x0||(R0=e[B0>>2]|0,E2(R0),v0=e[w0>>2]|0,G0=v0+4|0,U0=e[G0>>2]|0,E2(U0),O0=e[w0>>2]|0,H0=O0+8|0,k0=e[H0>>2]|0,E2(k0),K0=e[w0>>2]|0,E2(K0)),V0=t,Y0=V0+52|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0))}}function Ny(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0;if(y0=C,p=e[t>>2]|0,m=p<<2,h=m,R=C,C=C+((1*h|0)+15&-16)|0,j=t+24|0,d0=e[j>>2]|0,Uy(p,d0,s,A,140,-1),c0=(p|0)>0,c0)for(f0=0;$0=s+(f0<<2)|0,l0=+o[$0>>2],X=A+(f0<<2)|0,m0=+o[X>>2],E=l0-m0,y=R+(f0<<2)|0,o[y>>2]=E,B=f0+1|0,I0=(B|0)==(p|0),!I0;)f0=B;if(b=e[j>>2]|0,D=t+4|0,k=e[D>>2]|0,v=k+128|0,_=e[v>>2]|0,Uy(p,b,R,A,0,_),c0)p0=0;else{C=y0;return}for(;L=s+(p0<<2)|0,M=+o[L>>2],F=R+(p0<<2)|0,G=+o[F>>2],O=M-G,o[F>>2]=O,q=p0+1|0,n0=(q|0)==(p|0),!n0;)p0=q;if(!c0){C=y0;return}for(Q=e[D>>2]|0,C0=0;H=A+(C0<<2)|0,K=+o[H>>2],t0=K,Z=t0+.5,A0=~~Z,r0=(A0|0)>39,$=r0?39:A0,o0=($|0)<0,g=o0?0:$,J=R+(C0<<2)|0,s0=+o[J>>2],Y=(Q+336|0)+(g<<2)|0,h0=+o[Y>>2],i0=h0+s0,o[H>>2]=i0,e0=C0+1|0,g0=(e0|0)==(p|0),!g0;)C0=e0;C=y0}function Gy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=+$,g=+g;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0;if(B5=C,G=e[t>>2]|0,O=t+40|0,d1=e[O>>2]|0,v1=d1<<2,m=v1,O1=C,C=C+((1*m|0)+15&-16)|0,e2=t+4|0,n2=e[e2>>2]|0,y2=n2+4|0,A5=+o[y2>>2],u5=A5+g,q=(d1|0)>0,q)for($5=0;Y=O1+($5<<2)|0,o[Y>>2]=-9999,I0=$5+1|0,B0=(I0|0)<(d1|0),B0;)$5=I0;if(N0=n2+8|0,r1=+o[N0>>2],h1=u50,u1){for(E1=t+16|0,f1=e[E1>>2]|0,h5=0;A1=f1+(h5<<2)|0,g1=+o[A1>>2],a1=g1+q5,$1=A+(h5<<2)|0,o[$1>>2]=a1,X0=h5+1|0,z2=(X0|0)==(G|0),!z2;)h5=X0;if(B1=t+8|0,p1=e[B1>>2]|0,Q1=n2+496|0,C1=+o[Q1>>2],y1=C1-$,u1)for(k1=t+20|0,S1=e[k1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,d5=0;;){_1=s+(d5<<2)|0,R1=+o[_1>>2],F1=S1+(d5<<2)|0,P1=e[F1>>2]|0,x5=d5,a5=R1;e:for(;;)for(w5=x5;;){if(D1=w5+1|0,X1=(D1|0)<(G|0),!X1){b=0,k=D1,T1=w5,f5=a5;break e}if(G1=S1+(D1<<2)|0,x1=e[G1>>2]|0,J1=(x1|0)==(P1|0),!J1){b=1,k=D1,T1=w5,f5=a5;break e}if(H1=s+(D1<<2)|0,V1=+o[H1>>2],Y1=V1>a5,Y1){x5=D1,a5=V1;continue e}else w5=D1}if(z1=f5+6,t2=A+(T1<<2)|0,o2=+o[t2>>2],q1=z1>o2,q1&&(d2=e[L1>>2]|0,Z1=P1>>d2,I2=(Z1|0)>16,p=I2?16:Z1,A2=(p|0)<0,h=A2?0:p,C2=p1+(h<<2)|0,$2=e[C2>>2]|0,W1=e[M1>>2]|0,f2=y1+f5,g2=f2,u2=g2+-30,s2=u2*.10000000149011612,l2=~~s2,i2=(l2|0)<0,a2=i2?0:l2,m2=(a2|0)>7,r2=m2?7:a2,k2=$2+(r2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+o[S2>>2],M2=~~G2,O2=+o[D2>>2],p2=~~O2,W2=(p2|0)<(M2|0),W2))for(q2=S1+(T1<<2)|0,K2=e[q2>>2]|0,U2=e[b1>>2]|0,V2=K2-U2|0,Z2=+(V2|0),Y2=W1>>1,N1=+(Y2|0),t5=O2+-16,T5=+(W1|0),i5=t5*T5,L5=i5-N1,j2=L5+Z2,p5=~~j2,C5=p2,z5=p5;_5=(z5|0)>0,_5&&(F=C5+2|0,V5=D2+(F<<2)|0,b2=+o[V5>>2],y5=b2+f5,o5=O1+(z5<<2)|0,F2=+o[o5>>2],R2=F2>2]=y5)),Q2=z5+W1|0,Q5=(Q2|0)<(d1|0),N5=C5+1|0,E5=(N5|0)<(M2|0),c5=E5&Q5,c5;)C5=N5,z5=Q2;if(b)d5=k;else{R=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(Q=t+36|0,R=Q),M5=e[R>>2]|0,Vb(O1,M5,d1),H=e[t>>2]|0,K=(H|0)>1;e:do if(K)for(t0=t+20|0,Z=t+28|0,A0=e[t0>>2]|0,j=e[A0>>2]|0,r0=M5>>1,o0=j-r0|0,J=e[Z>>2]|0,s0=o0-J|0,h0=e[e2>>2]|0,i0=h0+32|0,X=1,n0=j,X2=0,T2=s0;;){c0=O1+(T2<<2)|0,$0=+o[c0>>2],l0=A0+(X<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,f0=g0>>1,p0=f0-J|0,C0=+o[i0>>2],S0=$0>C0,J2=S0?C0:$0,y0=(T2|0)<(p0|0);t:do if(y0)for(E=T2,n5=J2;;){for(D0=n5==-9999,y=E;;){if(E0=y+1|0,Q0=O1+(E0<<2)|0,w0=+o[Q0>>2],x0=w0>-9999,x0){if(Z0=w0=(H|0),O0=(n0|0)>(G0|0),F5=U0|O0;t:do if(F5)h2=X2;else for(v5=X2;;){if(H0=A+(v5<<2)|0,k0=+o[H0>>2],K0=k0>2]=I5),M0=v5+1|0,P0=(M0|0)<(H|0),!P0){h2=M0;break t}if(_=A0+(M0<<2)|0,M=e[_>>2]|0,W0=(M|0)>(G0|0),W0){h2=M0;break}else v5=M0}while(!1);if(e0=h2+1|0,d0=(e0|0)<(H|0),!d0){l5=h2;break e}v=A0+(h2<<2)|0,L=e[v>>2]|0,X=e0,n0=L,X2=h2,T2=k5}else l5=0;while(!1);if(J0=e[O>>2]|0,V0=J0+-1|0,j0=O1+(V0<<2)|0,q0=+o[j0>>2],Y0=(l5|0)<(H|0),Y0)r5=l5;else{C=B5;return}for(;o1=A+(r5<<2)|0,z0=+o[o1>>2],L0=z0>2]=q0),s1=r5+1|0,R5=(s1|0)==(H|0),!R5;)r5=s1;C=B5}function $l(t,s,A,$,g,h,p){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0;var m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0;if(R0=C,E=e[t>>2]|0,y=t+4|0,F=e[y>>2]|0,o0=(F+12|0)+($<<2)|0,X=+o[o0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,y0=+o[S0>>2],D0=t+12|0,E0=e[D0>>2]|0,B=E0+($<<2)|0,b=e[B>>2]|0,D=F+108|0,k=($|0)==1,v=y0,_=v*.005,Q=v*3e-4,B0=0;L=s+(B0<<2)|0,R=+o[L>>2],M=b+(B0<<2)|0,G=+o[M>>2],O=G+R,q=+o[D>>2],H=O>q,x0=H?q:O,K=A+(B0<<2)|0,t0=+o[K>>2],Z=t0+X,A0=x0>2]=m,k&&(r0=p+(B0<<2)|0,J=+o[r0>>2],s0=x0-J,Y=s0>-17.200000762939453,h0=s0+17.200000762939453,i0=h0,Y?(e0=_*i0,d0=1-e0,c0=d0,$0=c0<0,$0?Q0=9999999747378752e-20:Q0=c0):(l0=Q*i0,m0=1-l0,g0=m0,Q0=g0),I0=h+(B0<<2)|0,n0=+o[I0>>2],f0=n0*Q0,o[I0>>2]=f0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Ob(t,s){t=+t,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0;return q=C,$=s+4|0,g=e[$>>2]|0,v=g+28|0,_=e[v>>2]|0,Q=s+40|0,L=e[Q>>2]|0,R=_+(L<<2)|0,M=e[R>>2]|0,F=(M|0)/2&-1,G=+(F|0),h=g+8|0,p=e[h>>2]|0,m=+(p|0),E=G/m,y=_+2936|0,B=+o[y>>2],b=B*E,D=b+t,k=D<-9999,A=k?-9999:D,+A}function qb(t,s,A,$,g,h,p,m,E){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0;if(Y9=C,c0=e[A>>2]|0,$0=A+4|0,A5=e[$0>>2]|0,e6=A5+500|0,Q3=e[e6>>2]|0,C6=(Q3|0)==0,C6?Z5=16:(h6=A5+508|0,k6=e[h6>>2]|0,Z5=k6),s3=e[A5>>2]|0,Q6=((s+132|0)+(s3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,D0=(s+252|0)+(t<<2)|0,O0=e[D0>>2]|0,q0=1624+(O0<<3)|0,d1=+c1[q0>>3],v1=(s+312|0)+(t<<2)|0,O1=e[v1>>2]|0,e2=E<<2,b=e2,n2=C,C=C+((1*b|0)+15&-16)|0,D=e2,y2=C,C=C+((1*D|0)+15&-16)|0,Q=e2,Y2=C,C=C+((1*Q|0)+15&-16)|0,L=e2,b2=C,C=C+((1*L|0)+15&-16)|0,R=e2,R5=C,C=C+((1*R|0)+15&-16)|0,h2=$+1156|0,T2=(c0|0)>1e3,V9=T2?1696:1624,H9=V9+(O1<<3)|0,U9=+c1[H9>>3],G5=s5(e2,Z5)|0,M=G5,x3=C,C=C+((1*M|0)+15&-16)|0,e[n2>>2]=x3,k=G5,f3=C,C=C+((1*k|0)+15&-16)|0,e[y2>>2]=f3,v=G5,w3=C,C=C+((1*v|0)+15&-16)|0,e[Y2>>2]=w3,_=G5,V3=C,C=C+((1*_|0)+15&-16)|0,e[b2>>2]=V3,X5=(E|0)>1,X5&&(_3=x3+(Z5<<2)|0,t3=n2+4|0,e[t3>>2]=_3,a6=f3+(Z5<<2)|0,G3=y2+4|0,e[G3>>2]=a6,Y3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=Y3,g3=V3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,Be=(E|0)==2,!Be))for(D5=2;G=e[n2>>2]|0,H=e[y2>>2]|0,K=e[Y2>>2]|0,t0=e[b2>>2]|0,Y5=s5(D5,Z5)|0,z3=G+(Y5<<2)|0,U5=n2+(D5<<2)|0,e[U5>>2]=z3,l6=H+(Y5<<2)|0,n3=y2+(D5<<2)|0,e[n3>>2]=l6,l3=K+(Y5<<2)|0,U3=Y2+(D5<<2)|0,e[U3>>2]=l3,b3=t0+(Y5<<2)|0,L3=b2+(D5<<2)|0,e[L3>>2]=b3,D3=D5+1|0,ne=(D3|0)==(E|0),!ne;)D5=D3;if(K5=e[h2>>2]|0,H5=(c0|0)>0,H5)for(A6=e[b2>>2]|0,r6=(E|0)>0,K3=c0^-1,j5=Z5^-1,q6=0,we=K3;;){if(J3=(we|0)>(j5|0),n4=J3?we:j5,m3=n4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),y=L6?x6:Z5,g9(R5|0,p|0,e2|0)|0,g4(A6|0,0,G5|0)|0,r6)for(M6=(y|0)>0,S6=l0-q6|0,$e=0;;){if(R3=h+($e<<2)|0,s6=e[R3>>2]|0,o6=s6+(q6<<2)|0,B6=R5+($e<<2)|0,W3=e[B6>>2]|0,F3=(W3|0)==0,F3){if(M6)for(R6=Y2+($e<<2)|0,c6=e[R6>>2]|0,K6=n2+($e<<2)|0,A3=e[K6>>2]|0,g6=y2+($e<<2)|0,y6=e[g6>>2]|0,T3=b2+($e<<2)|0,H6=e[T3>>2]|0,ve=0;P0=c6+(ve<<2)|0,o[P0>>2]=1000000013351432e-25,W0=A3+(ve<<2)|0,o[W0>>2]=0,J0=y6+(ve<<2)|0,o[J0>>2]=0,V0=H6+(ve<<2)|0,e[V0>>2]=0,Y=ve+q6|0,j0=s6+(Y<<2)|0,e[j0>>2]=0,Y0=ve+1|0,O6=(Y0|0)==(m3|0),!O6;)ve=Y0}else{if(Z3=Y2+($e<<2)|0,t6=e[Z3>>2]|0,M6){for(r9=0;h0=r9+q6|0,$6=s6+(h0<<2)|0,D6=e[$6>>2]|0,G6=1768+(D6<<2)|0,ee=e[G6>>2]|0,X6=t6+(r9<<2)|0,e[X6>>2]=ee,P3=r9+1|0,_6=(P3|0)==(m3|0),!_6;)r9=P3;if(re=g+($e<<2)|0,V6=e[re>>2]|0,oe=b2+($e<<2)|0,ue=e[oe>>2]|0,M6){for(ze=0;U6=(ze|0)>=(S6|0),d0=U6?U9:d1,Y6=d0,i0=ze+q6|0,F6=V6+(i0<<2)|0,te=+o[F6>>2],Qe=+nr(+te),X=t6+(ze<<2)|0,m0=+o[X>>2],g0=Qe/m0,I0=ue+(ze<<2)|0,_e=!(g0>2]=B,n0=ze+1|0,P6=(n0|0)==(y|0),!P6;)ze=n0;if(M6)for(f0=n2+($e<<2)|0,p0=e[f0>>2]|0,C0=y2+($e<<2)|0,S0=e[C0>>2]|0,Fe=0;;)if(y0=Fe+q6|0,E0=V6+(y0<<2)|0,Q0=+o[E0>>2],w0=Q0*Q0,B0=p0+(Fe<<2)|0,o[B0>>2]=w0,x0=S0+(Fe<<2)|0,o[x0>>2]=w0,Z0=+o[E0>>2],R0=Z0<0,R0&&(v0=+o[B0>>2],G0=-v0,o[B0>>2]=G0),U0=t6+(Fe<<2)|0,H0=+o[U0>>2],k0=H0*H0,o[U0>>2]=k0,K0=Fe+1|0,O3=(K0|0)==(m3|0),O3){O=C0,M0=p0;break}else Fe=K0;else Ke=21}else Ke=21}else Ke=21;(Ke|0)==21&&(Ke=0,F=n2+($e<<2)|0,Z=e[F>>2]|0,J=y2+($e<<2)|0,O=J,M0=Z),N0=e[O>>2]|0,F9=e[$0>>2]|0,+Py(F9,l0,M0,N0,t6,0,q6,y,o6)}if(o1=$e+1|0,ae=(o1|0)==(E|0),ae)break;$e=o1}if(n6=e[h2>>2]|0,f6=(n6|0)>0,f6)for(b6=(y|0)>0,N6=m-q6|0,j6=l0-q6|0,y3=n6,k9=0;;){if(z0=($+1160|0)+(k9<<2)|0,r1=e[z0>>2]|0,L0=($+2184|0)+(k9<<2)|0,s1=e[L0>>2]|0,h1=h+(r1<<2)|0,u1=e[h1>>2]|0,E1=u1+(q6<<2)|0,f1=h+(s1<<2)|0,A1=e[f1>>2]|0,g1=n2+(r1<<2)|0,a1=e[g1>>2]|0,$1=n2+(s1<<2)|0,X0=e[$1>>2]|0,B1=y2+(r1<<2)|0,p1=e[B1>>2]|0,Q1=y2+(s1<<2)|0,C1=e[Q1>>2]|0,y1=Y2+(r1<<2)|0,k1=e[y1>>2]|0,S1=Y2+(s1<<2)|0,L1=e[S1>>2]|0,M1=b2+(r1<<2)|0,b1=e[M1>>2]|0,_1=b2+(s1<<2)|0,R1=e[_1>>2]|0,F1=R5+(r1<<2)|0,P1=e[F1>>2]|0,D1=(P1|0)==0,X1=R5+(s1<<2)|0,D1?(G1=e[X1>>2]|0,x1=(G1|0)==0,x1?X2=y3:Ke=31):Ke=31,(Ke|0)==31){if(Ke=0,e[X1>>2]=1,e[F1>>2]=1,b6)for(J6=0;;){J1=(J6|0)<(N6|0);do if(J1){if(H1=b1+(J6<<2)|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,z1=R1+(J6<<2)|0,Y1&&(t2=e[z1>>2]|0,o2=(t2|0)==0,o2)){i5=(J6|0)<(j6|0);do if(i5)L5=X0+(J6<<2)|0,j2=+o[L5>>2],p5=a1+(J6<<2)|0,_5=+o[p5>>2],V5=_5+j2,o[p5>>2]=V5,Ie=+nr(+V5),u5=p1+(J6<<2)|0,o[u5>>2]=Ie,q=L5;else if(y5=a1+(J6<<2)|0,o5=+o[y5>>2],F2=X0+(J6<<2)|0,R2=+o[F2>>2],Q2=R2+o5,Q5=Q2<0,ye=+nr(+o5),fe=+nr(+R2),N5=fe+ye,E5=p1+(J6<<2)|0,o[E5>>2]=N5,Q5){M5=-N5,o[y5>>2]=M5,q=F2;break}else{o[y5>>2]=N5,q=F2;break}while(!1);q5=C1+(J6<<2)|0,o[q5>>2]=0,o[q>>2]=0,e[z1>>2]=1,s0=J6+q6|0,z2=A1+(s0<<2)|0,e[z2>>2]=0;break}q1=a1+(J6<<2)|0,d2=+o[q1>>2],Ve=+nr(+d2),Z1=X0+(J6<<2)|0,I2=+o[Z1>>2],w6=+nr(+I2),A2=w6+Ve,o[q1>>2]=A2,C2=p1+(J6<<2)|0,$2=+o[C2>>2],W1=C1+(J6<<2)|0,f2=+o[W1>>2],g2=f2+$2,o[C2>>2]=g2,e[z1>>2]=1,e[H1>>2]=1,e0=J6+q6|0,u2=u1+(e0<<2)|0,s2=e[u2>>2]|0,l2=A1+(e0<<2)|0,i2=e[l2>>2]|0,w9=(s2|0)>-1,v9=0-s2|0,a2=w9?s2:v9,u9=(i2|0)>-1,d9=0-i2|0,m2=u9?i2:d9,r2=(a2|0)>(m2|0),r2?(k2=(s2|0)>0,D2=s2-i2|0,S2=i2-s2|0,G2=k2?D2:S2,e[l2>>2]=G2,j=e[u2>>2]|0,q2=j,V2=G2):(M2=(i2|0)>0,O2=s2-i2|0,p2=i2-s2|0,W2=M2?O2:p2,e[l2>>2]=W2,e[u2>>2]=i2,A0=e[l2>>2]|0,q2=i2,V2=A0),E9=(q2|0)>-1,R9=0-q2|0,K2=E9?q2:R9,U2=K2<<1,Z2=(V2|0)<(U2|0),Z2||(N1=0-V2|0,e[l2>>2]=N1,t5=e[u2>>2]|0,T5=0-t5|0,e[u2>>2]=T5)}while(!1);if(C5=k1+(J6<<2)|0,$5=+o[C5>>2],d5=L1+(J6<<2)|0,w5=+o[d5>>2],T1=w5+$5,o[d5>>2]=T1,o[C5>>2]=T1,x5=J6+1|0,he=(x5|0)==(m3|0),he)break;J6=x5}T9=e[$0>>2]|0,+Py(T9,l0,a1,p1,k1,b1,q6,y,E1),r0=e[h2>>2]|0,X2=r0}if(h5=k9+1|0,l5=(h5|0)<(X2|0),l5)y3=X2,k9=h5;else{a3=X2;break}}else a3=n6;if(v5=q6+Z5|0,r5=(c0|0)>(v5|0),Ye=we+Z5|0,r5)q6=v5,we=Ye;else{M3=a3;break}}else M3=K5;if(d3=(M3|0)>0,d3)r3=M3,Ae=0;else{C=Y9;return}for(;a5=($+1160|0)+(Ae<<2)|0,f5=e[a5>>2]|0,J2=p+(f5<<2)|0,I5=e[J2>>2]|0,n5=(I5|0)==0,F5=($+2184|0)+(Ae<<2)|0,n5?(e5=e[F5>>2]|0,c5=p+(e5<<2)|0,k5=e[c5>>2]|0,z5=(k5|0)==0,z5?W5=r3:Ke=52):Ke=52,(Ke|0)==52&&(Ke=0,e[J2>>2]=1,i3=e[F5>>2]|0,B5=p+(i3<<2)|0,e[B5>>2]=1,o0=e[h2>>2]|0,W5=o0),I3=Ae+1|0,h3=(I3|0)<(W5|0),h3;)r3=W5,Ae=I3;C=Y9}function Hb(t,s,A,$,g){t=t|0,s=+s,A=A|0,$=+$,g=+g;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0;for(et=C,C=C+32480|0,j3=et+32256|0,De=et+1792|0,xe=et,M=A<<2,D=M,F=C,C=C+((1*D|0)+15&-16)|0,s2=Re(68)|0,g4(De|0,0,30464)|0,M3=$>0,u9=$<0,Le=0;;){for(d4=Le<<2,A4=0;o5=A4+d4|0,C5=(o5|0)<88,C5?(r5=1272+(o5<<2)|0,z5=+o[r5>>2],je=z5):je=-30,x3=o5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+o[U6>>2],te=je>Y6,te?l4=Y6:l4=je):(ue=je>-30,ue?l4=-30:l4=je),_6=o5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,ae=+o[O6>>2],he=l4>ae,he?Te=ae:Te=l4):(O3=l4>-30,O3?Te=-30:Te=l4),ne=o5+3|0,Be=(ne|0)<88,Be?(fe=1272+(ne<<2)|0,Ie=+o[fe>>2],Ve=Te>Ie,Ve?j4=Ie:j4=Te):(ye=Te>-30,ye?j4=-30:j4=Te),w6=j3+(A4<<2)|0,o[w6>>2]=j4,q6=A4+1|0,Ot=(q6|0)==56,!Ot;)A4=q6;if(I9=(De+(Le*1792|0)|0)+448|0,G=2792+(Le*1344|0)|0,g9(I9|0,G|0,224)|0,J=(De+(Le*1792|0)|0)+672|0,m0=(2792+(Le*1344|0)|0)+224|0,g9(J|0,m0|0,224)|0,Q0=(De+(Le*1792|0)|0)+896|0,k0=(2792+(Le*1344|0)|0)+448|0,g9(Q0|0,k0|0,224)|0,o1=(De+(Le*1792|0)|0)+1120|0,g1=(2792+(Le*1344|0)|0)+672|0,g9(o1|0,g1|0,224)|0,S1=(De+(Le*1792|0)|0)+1344|0,G1=(2792+(Le*1344|0)|0)+896|0,g9(S1|0,G1|0,224)|0,d2=(De+(Le*1792|0)|0)+1568|0,l2=(2792+(Le*1344|0)|0)+1120|0,g9(d2|0,l2|0,224)|0,O2=De+(Le*1792|0)|0,g9(O2|0,G|0,224)|0,t5=(De+(Le*1792|0)|0)+224|0,g9(t5|0,G|0,224)|0,M3)for(At=0;;){if(u9)for(Bt=0;E9=16-Bt|0,M8=(E9|0)>-1,$8=0-E9|0,ze=M8?E9:$8,r9=+(ze|0),Fe=r9*g,ve=Fe+$,J6=ve<0,m=J6?0:ve,$e=m>0,h=$e?0:m,v9=((De+(Le*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,R9=+o[v9>>2],d9=R9+h,o[v9>>2]=d9,F9=Bt+1|0,Yt=(F9|0)==56,!Yt;)Bt=F9;else for(ct=0;d3=16-ct|0,s8=(d3|0)>-1,Zt=0-d3|0,N6=s8?d3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,Qe=F6<0,E=Qe?0:F6,Ae=((De+(Le*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Ye=+o[Ae>>2],we=Ye+E,o[Ae>>2]=we,w9=ct+1|0,Vt=(w9|0)==56,!Vt;)ct=w9;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(u9)for(yt=0;n4=16-yt|0,R8=(n4|0)>-1,l8=0-n4|0,k9=R8?n4:l8,V9=+(k9|0),Ke=V9*g,Y9=Ke+$,h9=Y9>0,p=h9?0:Y9,C9=((De+(Le*1792|0)|0)+(Mt*224|0)|0)+(yt<<2)|0,v4=+o[C9>>2],Ze=v4+p,o[C9>>2]=Ze,ke=yt+1|0,t8=(ke|0)==56,!t8;)yt=ke;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,V4=E8?k4:A8,nt=+(V4|0),z9=nt*g,Y4=z9+$,K9=((De+(Le*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+o[K9>>2],st=R4+Y4,o[K9>>2]=st,n9=lt+1|0,qt=(n9|0)==56,!qt;)lt=n9;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(T9=t+(Le<<2)|0,U9=+o[T9>>2],H9=U9,W9=0;;){for(B9=(W9|0)<2,T6=+(W9|0),k=T6*10,v=70-k,J9=B9?50:v,Oe=J9+H9,f9=Oe,Et=0;N9=((De+(Le*1792|0)|0)+(W9*224|0)|0)+(Et<<2)|0,s9=+o[N9>>2],h4=s9+f9,o[N9>>2]=h4,f4=Et+1|0,q9=(f4|0)==56,!q9;)Et=f4;for(S9=xe+(W9*224|0)|0,g9(S9|0,j3|0,224)|0,o4=+(W9|0),O9=o4*10,I4=70-O9,Lt=0;;)if(Se=(xe+(W9*224|0)|0)+(Lt<<2)|0,I6=+o[Se>>2],z4=I4+I6,o[Se>>2]=z4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;b9=((De+(Le*1792|0)|0)+(W9*224|0)|0)+(at<<2)|0,m9=+o[b9>>2],z6=(xe+(W9*224|0)|0)+(at<<2)|0,F4=+o[z6>>2],T4=m9>F4,T4&&(o[z6>>2]=m9),ot=at+1|0,N4=(ot|0)==56,!N4;)at=ot;if(p9=W9+1|0,L8=(p9|0)==8,L8){U4=1;break}else W9=p9}for(;;){for(x9=U4+-1|0,G4=0;;)if(mt=(xe+(x9*224|0)|0)+(G4<<2)|0,O=+o[mt>>2],q=(xe+(U4*224|0)|0)+(G4<<2)|0,H=+o[q>>2],K=O>2]=O),t0=G4+1|0,h8=(t0|0)==56,h8){K4=0;break}else G4=t0;for(;Z=(xe+(U4*224|0)|0)+(K4<<2)|0,A0=+o[Z>>2],j=((De+(Le*1792|0)|0)+(U4*224|0)|0)+(K4<<2)|0,r0=+o[j>>2],o0=A0>2]=A0),s0=K4+1|0,a4=(s0|0)==56,!a4;)K4=s0;if(Y=U4+1|0,Ht=(Y|0)==8,Ht)break;U4=Y}if(h0=Le+1|0,xt=(h0|0)==17,xt)break;Le=h0}for(_e=s,P9=(A|0)>0,s4=A^-1,b4=0;;){for(i0=Re(32)|0,e0=s2+(b4<<2)|0,e[e0>>2]=i0,d0=+(b4|0),c0=d0*.5,$0=d0*.34657350182533264,l0=$0+4.135165354540845,X=+Yn(+l0),g0=X/_e,I0=+aA(+g0),n0=~~I0,f0=+(n0|0),p0=f0*s,C0=p0+1,S0=C0,y0=+rn(+S0),D0=y0*2.885390043258667,E0=D0+-11.931568145751953,w0=+_C(+E0),B0=~~w0,x0=n0+1|0,Z0=+(x0|0),R0=Z0*s,v0=R0,G0=+rn(+v0),U0=G0*2.885390043258667,O0=U0+-11.931568145751953,H0=+aA(+O0),K0=~~H0,N0=(B0|0)>(b4|0),p8=N0?b4:B0,M0=(p8|0)<0,wt=M0?0:p8,P0=(K0|0)>16,y=P0?16:K0,W0=(wt|0)>(y|0),J0=b4+1|0,V0=(J0|0)<17,j0=c0+3.9657840728759766,$4=0;;){if(q0=Re(232)|0,Y0=i0+($4<<2)|0,e[Y0>>2]=q0,P9)for($t=0;z0=F+($t<<2)|0,o[z0>>2]=999,r1=$t+1|0,be=(r1|0)==(A|0),!be;)$t=r1;if(!W0)for(p4=wt;;){for(L0=+(p4|0),s1=L0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),d1=f1*.125,A1=d1+s1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,X0=+Yn(+$1),B1=X0/_e,p1=~~B1,Q1=A1+4.028284072875977,C1=Q1*.6931470036506653,y1=+Yn(+C1),v1=y1/_e,k1=v1+1,L1=~~k1,M1=(p1|0)<0,B=M1?0:p1,b1=(B|0)>(A|0),a8=b1?A:B,_1=(a8|0)<(D4|0),Z9=_1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(A|0),Wt=F1?A:r8,P1=(Z9|0)<(Wt|0),D1=(Z9|0)<(A|0),jt=P1&D1,jt)for(O1=((De+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,X1=+o[O1>>2],x1=(D4|0)<(A|0),J1=x1?D4:A,H1=J1^-1,V1=(p1|0)>0,L=p1^-1,Y1=V1?L:-1,z1=(Y1|0)<(H1|0),j9=z1?H1:Y1,t2=j9^-1,o2=(L1|0)>0,R=L1^-1,e2=o2?R:-1,q1=(e2|0)<(s4|0),c8=q1?s4:e2,Z1=c8-j9|0,I2=j9+A|0,A2=I2^-1,C2=Z1>>>0>A2>>>0,Tt=C2?Z1:A2,$2=t2-Tt|0,a9=Z9;;)if(W1=F+(a9<<2)|0,f2=+o[W1>>2],g2=f2>X1,g2&&(o[W1>>2]=X1),n2=a9+1|0,pt=(n2|0)==($2|0),pt){J4=$2;break}else a9=n2;else J4=Z9;if(u2=Ct+1|0,zt=(u2|0)==56,zt){W4=J4;break}else Ct=u2,D4=J4}if(h1=(W4|0)<(A|0),h1)for(u1=((De+(p4*1792|0)|0)+($4*224|0)|0)+220|0,E1=+o[u1>>2],P4=W4;i2=F+(P4<<2)|0,a2=+o[i2>>2],m2=a2>E1,m2&&(o[i2>>2]=E1),r2=P4+1|0,Kt=(r2|0)==(A|0),!Kt;)P4=r2;if(k2=p4+1|0,D2=(p4|0)<(y|0),D2)p4=k2;else break}if(V0){for(Rt=0,E4=0;;){if(q2=+(Rt|0),K2=q2*.125,U2=K2+c0,V2=U2+3.9032840728759766,Z2=V2*.6931470036506653,A5=+Yn(+Z2),Y2=A5/_e,N1=~~Y2,T5=U2+4.028284072875977,i5=T5*.6931470036506653,L5=+Yn(+i5),j2=L5/_e,p5=j2+1,_5=~~p5,V5=(N1|0)<0,b=V5?0:N1,u5=(b|0)>(A|0),C3=u5?A:b,b2=(C3|0)<(E4|0),Z4=b2?C3:E4,y5=(_5|0)<0,n8=y5?0:_5,F2=(n8|0)>(A|0),C8=F2?A:n8,R2=(Z4|0)<(C8|0),Q2=(Z4|0)<(A|0),ut=R2&Q2,ut)for(Q5=((De+(J0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,N5=+o[Q5>>2],E5=(E4|0)<(A|0),M5=E5?E4:A,q5=M5^-1,R5=(N1|0)>0,_=N1^-1,z2=R5?_:-1,$5=(z2|0)<(q5|0),dt=$5?q5:z2,d5=dt^-1,w5=(_5|0)>0,Q=_5^-1,T1=w5?Q:-1,x5=(T1|0)<(s4|0),Ft=x5?s4:T1,h5=Ft-dt|0,l5=dt+A|0,X2=l5^-1,h2=h5>>>0>X2>>>0,X4=h2?h5:X2,v5=d5-X4|0,D9=Z4;;)if(a5=F+(D9<<2)|0,f5=+o[a5>>2],J2=f5>N5,J2&&(o[a5>>2]=N5),I5=D9+1|0,x8=(I5|0)==(v5|0),x8){gt=v5;break}else D9=I5;else gt=Z4;if(n5=Rt+1|0,e8=(n5|0)==56,e8){_4=gt;break}else Rt=n5,E4=gt}if(M2=(_4|0)<(A|0),M2)for(p2=((De+(J0*1792|0)|0)+($4*224|0)|0)+220|0,W2=+o[p2>>2],Qt=_4;F5=F+(Qt<<2)|0,e5=+o[F5>>2],c5=e5>W2,c5&&(o[F5>>2]=W2),T2=Qt+1|0,I8=(T2|0)==(A|0),!I8;)Qt=T2}for(S2=i0+($4<<2)|0,y2=i0+($4<<2)|0,G2=i0+($4<<2)|0,m4=0;;){I3=+(m4|0),h3=I3*.125,W5=j0+h3,r3=W5*.6931470036506653,a3=+Yn(+r3),y3=a3/_e,G5=~~y3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,e6=w3+(f3<<2)|0,o[e6>>2]=-999;else if(V3=(G5|0)<(A|0),V3){a6=F+(G5<<2)|0,G3=e[a6>>2]|0,Y3=m4+2|0,g3=e[y2>>2]|0,u3=g3+(Y3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,o[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}k5=q0+8|0,i3=+o[k5>>2],B5=i3>-200;do if(B5)o9=0;else if(K5=q0+12|0,H5=+o[K5>>2],Y5=H5>-200,Y5)o9=1;else if(D3=q0+16|0,A6=+o[D3>>2],r6=A6>-200,r6)o9=2;else if(K3=q0+20|0,j5=+o[K3>>2],J3=j5>-200,J3)o9=3;else if(h6=q0+24|0,m3=+o[h6>>2],x6=m3>-200,x6)o9=4;else if(L6=q0+28|0,M6=+o[L6>>2],S6=M6>-200,S6)o9=5;else if(n6=q0+32|0,f6=+o[n6>>2],b6=f6>-200,b6)o9=6;else if(j6=q0+36|0,k6=+o[j6>>2],R3=k6>-200,R3)o9=7;else if(s6=q0+40|0,o6=+o[s6>>2],B6=o6>-200,B6)o9=8;else if(W3=q0+44|0,F3=+o[W3>>2],Z3=F3>-200,Z3)o9=9;else if(t6=q0+48|0,c6=+o[t6>>2],s3=c6>-200,s3)o9=10;else if(K6=q0+52|0,A3=+o[K6>>2],g6=A3>-200,g6)o9=11;else if(y6=q0+56|0,T3=+o[y6>>2],H6=T3>-200,H6)o9=12;else if($6=q0+60|0,D6=+o[$6>>2],ee=D6>-200,ee)o9=13;else{if(Q6=q0+64|0,X6=+o[Q6>>2],P3=X6>-200,P3){o9=14;break}if(re=q0+68|0,V6=+o[re>>2],oe=V6>-200,oe){o9=15;break}o9=16}while(!1);for(o[q0>>2]=o9,Jt=55;;){if(D5=Jt+2|0,z3=q0+(D5<<2)|0,U5=+o[z3>>2],l6=U5>-200,l6){o8=Jt;break}if(l3=Jt+-1|0,U3=(l3|0)>17,U3)Jt=l3;else{o8=l3;break}}if(C6=+(o8|0),b3=q0+4|0,o[b3>>2]=C6,L3=$4+1|0,Ut=(L3|0)==8,Ut)break;$4=L3}if(Pt=(J0|0)==17,Pt)break;b4=J0}return C=et,s2|0}function Uy(t,s,A,$,g,h){t=t|0,s=s|0,A=A|0,$=$|0,g=+g,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0;if(T9=C,k=t<<2,p=k,v=C,C=C+((1*p|0)+15&-16)|0,m=k,$2=C,C=C+((1*m|0)+15&-16)|0,E=k,e5=C,C=C+((1*E|0)+15&-16)|0,y=k,a3=C,C=C+((1*y|0)+15&-16)|0,B=k,t3=C,C=C+((1*B|0)+15&-16)|0,D5=+o[A>>2],A6=D5+g,M6=A6<1,d9=M6?1:A6,B6=d9*d9,_=B6*.5,t0=_*d9,o[v>>2]=_,o[$2>>2]=_,o[e5>>2]=0,o[a3>>2]=t0,o[t3>>2]=0,e0=(t|0)>1,e0)for(O3=1,w6=_,q6=_,Ae=0,Ye=0,we=t0,w9=1;h1=A+(O3<<2)|0,p1=+o[h1>>2],R1=p1+g,Y1=R1<1,_e=Y1?1:R1,W1=_e*_e,k2=W1+w6,U2=W1*w9,p5=U2+q6,N5=U2*w9,x5=N5+Ae,J2=W1*_e,I5=J2+we,n5=U2*_e,F5=n5+Ye,c5=v+(O3<<2)|0,o[c5>>2]=k2,T2=$2+(O3<<2)|0,o[T2>>2]=p5,k5=e5+(O3<<2)|0,o[k5>>2]=x5,z5=a3+(O3<<2)|0,o[z5>>2]=I5,i3=t3+(O3<<2)|0,o[i3>>2]=F5,B5=O3+1|0,I3=w9+1,P6=(B5|0)==(t|0),!P6;)O3=B5,w6=k2,q6=p5,Ae=x5,Ye=F5,we=I5,w9=I3;if(p0=e[s>>2]|0,R0=p0>>16,W0=(R0|0)>-1,W0)W5=p0,y6=0,D6=0,X6=1,O6=0,u9=0;else for(G5=p0,w3=R0,ae=0,E9=0;;)if(y3=G5&65535,Z5=v+(y3<<2)|0,x3=+o[Z5>>2],f3=0-w3|0,e6=v+(f3<<2)|0,V3=+o[e6>>2],X5=V3+x3,_3=$2+(y3<<2)|0,a6=+o[_3>>2],G3=$2+(f3<<2)|0,Y3=+o[G3>>2],c3=a6-Y3,g3=e5+(y3<<2)|0,u3=+o[g3>>2],Q3=e5+(f3<<2)|0,K5=+o[Q3>>2],H5=K5+u3,Y5=a3+(y3<<2)|0,z3=+o[Y5>>2],U5=a3+(f3<<2)|0,l6=+o[U5>>2],n3=l6+z3,l3=t3+(y3<<2)|0,U3=+o[l3>>2],C6=t3+(f3<<2)|0,b3=+o[C6>>2],L3=U3-b3,D3=n3*H5,r6=L3*c3,K3=D3-r6,j5=L3*X5,M3=n3*c3,d3=j5-M3,J3=H5*X5,h6=c3*c3,m3=J3-h6,x6=d3*E9,L6=x6+K3,S6=L6/m3,n6=S6<0,oe=n6?0:S6,f6=oe-g,b6=$+(ae<<2)|0,o[b6>>2]=f6,N6=ae+1|0,j6=E9+1,k6=s+(N6<<2)|0,R3=e[k6>>2]|0,s6=R3>>16,o6=(s6|0)>-1,o6){W5=R3,y6=K3,D6=d3,X6=m3,O6=N6,u9=j6;break}else G5=R3,w3=s6,ae=N6,E9=j6;if(h3=W5&65535,r3=(h3|0)<(t|0),r3)for(b=W5,t6=h3,ne=O6,r9=u9;;)if(F3=b>>16,Z3=v+(t6<<2)|0,R6=+o[Z3>>2],c6=v+(F3<<2)|0,s3=+o[c6>>2],K6=R6-s3,A3=$2+(t6<<2)|0,g6=+o[A3>>2],Q=$2+(F3<<2)|0,L=+o[Q>>2],R=g6-L,M=e5+(t6<<2)|0,F=+o[M>>2],G=e5+(F3<<2)|0,O=+o[G>>2],q=F-O,H=a3+(t6<<2)|0,K=+o[H>>2],Z=a3+(F3<<2)|0,A0=+o[Z>>2],j=K-A0,r0=t3+(t6<<2)|0,o0=+o[r0>>2],J=t3+(F3<<2)|0,s0=+o[J>>2],Y=o0-s0,h0=j*q,i0=Y*R,d0=h0-i0,c0=Y*K6,$0=j*R,l0=c0-$0,X=q*K6,m0=R*R,g0=X-m0,I0=l0*r9,n0=I0+d0,f0=n0/g0,C0=f0<0,ue=C0?0:f0,S0=ue-g,y0=$+(ne<<2)|0,o[y0>>2]=S0,D0=ne+1|0,E0=r9+1,Q0=s+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0&65535,x0=(B0|0)<(t|0),x0)b=w0,t6=B0,ne=D0,r9=E0;else{T3=d0,G6=l0,P3=g0,he=D0,ze=E0;break}else T3=y6,G6=D6,P3=X6,he=O6,ze=u9;if(W3=(he|0)<(t|0),W3)for(Be=he,Fe=ze;Z0=Fe*G6,v0=Z0+T3,G0=v0/P3,U0=G0<0,U6=U0?0:G0,O0=U6-g,H0=$+(Be<<2)|0,o[H0>>2]=O0,k0=Be+1|0,K0=Fe+1,_6=(k0|0)==(t|0),!_6;)Be=k0,Fe=K0;if(N0=(h|0)<1,N0){C=T9;return}if(M0=(h|0)/2&-1,P0=M0-h|0,J0=(P0|0)>-1,J0)H6=T3,ee=G6,re=P3,ye=0,ve=0;else for(V0=h-M0|0,z0=M0,s1=P0,Qe=0,J6=0;;)if(o1=v+(z0<<2)|0,r1=+o[o1>>2],L0=0-s1|0,u1=v+(L0<<2)|0,E1=+o[u1>>2],f1=E1+r1,d1=$2+(z0<<2)|0,A1=+o[d1>>2],g1=$2+(L0<<2)|0,a1=+o[g1>>2],$1=A1-a1,X0=e5+(z0<<2)|0,B1=+o[X0>>2],Q1=e5+(L0<<2)|0,C1=+o[Q1>>2],y1=C1+B1,v1=a3+(z0<<2)|0,k1=+o[v1>>2],S1=a3+(L0<<2)|0,L1=+o[S1>>2],M1=L1+k1,b1=t3+(z0<<2)|0,_1=+o[b1>>2],F1=t3+(L0<<2)|0,P1=+o[F1>>2],D1=_1-P1,O1=M1*y1,X1=D1*$1,G1=O1-X1,x1=D1*f1,J1=M1*$1,H1=x1-J1,V1=y1*f1,z1=$1*$1,t2=V1-z1,o2=H1*J6,e2=o2+G1,q1=e2/t2,d2=q1-g,Z1=$+(Qe<<2)|0,I2=+o[Z1>>2],A2=d2>2]=d2),C2=Qe+1|0,f2=J6+1,g2=M0+C2|0,n2=g2-h|0,te=(C2|0)==(V0|0),te){H6=G1,ee=H1,re=t2,ye=V0,ve=f2;break}else z0=g2,s1=n2,Qe=C2,J6=f2;if(j0=ye+M0|0,q0=(j0|0)<(t|0),q0)for(Y0=t-M0|0,D=j0,Ie=ye,v9=ve;;)if(s2=D-h|0,l2=v+(D<<2)|0,i2=+o[l2>>2],a2=v+(s2<<2)|0,m2=+o[a2>>2],r2=i2-m2,D2=$2+(D<<2)|0,S2=+o[D2>>2],y2=$2+(s2<<2)|0,G2=+o[y2>>2],M2=S2-G2,O2=e5+(D<<2)|0,p2=+o[O2>>2],W2=e5+(s2<<2)|0,q2=+o[W2>>2],K2=p2-q2,V2=a3+(D<<2)|0,Z2=+o[V2>>2],A5=a3+(s2<<2)|0,Y2=+o[A5>>2],N1=Z2-Y2,t5=t3+(D<<2)|0,T5=+o[t5>>2],i5=t3+(s2<<2)|0,L5=+o[i5>>2],j2=T5-L5,_5=N1*K2,V5=j2*M2,u5=_5-V5,b2=j2*r2,y5=N1*M2,o5=b2-y5,F2=K2*r2,R2=M2*M2,Q2=F2-R2,Q5=o5*v9,E5=Q5+u5,M5=E5/Q2,q5=M5-g,R5=$+(Ie<<2)|0,z2=+o[R5>>2],C5=q5>2]=q5),$5=Ie+1|0,d5=v9+1,w5=$5+M0|0,F6=($5|0)==(Y0|0),F6){$6=u5,Q6=o5,V6=Q2,fe=Y0,$e=d5;break}else D=w5,Ie=$5,v9=d5;else $6=H6,Q6=ee,V6=re,fe=ye,$e=ve;if(u2=(fe|0)<(t|0),u2)Ve=fe,R9=$e;else{C=T9;return}for(;T1=R9*Q6,h5=T1+$6,l5=h5/V6,X2=l5-g,h2=$+(Ve<<2)|0,v5=+o[h2>>2],r5=X2>2]=X2),a5=Ve+1|0,f5=R9+1,Y6=(a5|0)==(t|0),!Y6;)Ve=a5,R9=f5;C=T9}function Vb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0;if(h1=C,h=A<<2,$=h,p=C,C=C+((1*$|0)+15&-16)|0,g=h,L=C,C=C+((1*g|0)+15&-16)|0,A0=(A|0)>0,A0)k0=0,V0=0;else{C=h1;return}for(;;){x0=(V0|0)<2;do if(x0)v0=p+(V0<<2)|0,e[v0>>2]=k0,m=t+(k0<<2)|0,E=e[m>>2]|0,y=L+(V0<<2)|0,e[y>>2]=E,z0=V0;else{for(Z0=t+(k0<<2)|0,R0=+o[Z0>>2],j0=V0;;){if(B=j0+-1|0,b=L+(B<<2)|0,D=+o[b>>2],k=R0>2]|0,M=R+s|0,F=(k0|0)<(M|0),G=(j0|0)>1,M0=G&F,!M0){Y0=j0,s1=12;break}if(O=j0+-2|0,q=L+(O<<2)|0,H=+o[q>>2],K=!(D<=H),K){Y0=j0,s1=12;break}if(t0=p+(O<<2)|0,Z=e[t0>>2]|0,j=Z+s|0,r0=(k0|0)<(j|0),r0)j0=B;else{Y0=j0,s1=12;break}}if((s1|0)==8){s1=0,v=p+(q0<<2)|0,e[v>>2]=k0,_=L+(q0<<2)|0,o[_>>2]=R0,z0=q0;break}else if((s1|0)==12){s1=0,o0=p+(Y0<<2)|0,e[o0>>2]=k0,J=L+(Y0<<2)|0,o[J>>2]=R0,z0=Y0;break}}while(!1);if(o1=z0+1|0,s0=k0+1|0,H0=(s0|0)==(A|0),H0){r1=z0,L0=o1;break}else k0=s0,V0=o1}if(c0=(r1|0)>-1,!c0){C=h1;return}for(S0=s+1|0,K0=0,P0=0;;){if(Y=(K0|0)<(r1|0),Y?(h0=K0+1|0,i0=L+(h0<<2)|0,e0=+o[i0>>2],d0=L+(K0<<2)|0,$0=+o[d0>>2],l0=e0>$0,l0?(X=p+(h0<<2)|0,m0=e[X>>2]|0,G0=m0):s1=17):s1=17,(s1|0)==17&&(s1=0,g0=p+(K0<<2)|0,I0=e[g0>>2]|0,n0=S0+I0|0,G0=n0),f0=(G0|0)>(A|0),N0=f0?A:G0,p0=(P0|0)<(N0|0),p0)for(C0=L+(K0<<2)|0,y0=e[C0>>2]|0,D0=(G0|0)<(A|0),E0=D0?G0:A,J0=P0;;)if(Q0=t+(J0<<2)|0,e[Q0>>2]=y0,w0=J0+1|0,U0=(w0|0)==(E0|0),U0){W0=E0;break}else J0=w0;else W0=P0;if(B0=K0+1|0,O0=(B0|0)==(L0|0),O0)break;K0=B0,P0=W0}C=h1}function Py(t,s,A,$,g,h,p,m,E){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0;if(d2=C,M=m<<2,_=M,F=C,C=C+((1*_|0)+15&-16)|0,o0=t+500|0,X=e[o0>>2]|0,E0=(X|0)==0,E0?k1=m:(H0=t+504|0,Y0=e[H0>>2]|0,A1=Y0-p|0,k1=A1),F1=(k1|0)>(m|0),z1=F1?m:k1,G=(z1|0)>0,G)for(O=(h|0)==0,q=(k1|0)<(m|0),H=q?k1:m,H1=0;;){O?q1=9:(A0=h+(H1<<2)|0,j=e[A0>>2]|0,r0=(j|0)==0,r0&&(q1=9));do if((q1|0)==9)if(q1=0,J=$+(H1<<2)|0,s0=+o[J>>2],Y=g+(H1<<2)|0,h0=+o[Y>>2],i0=s0/h0,e0=A+(H1<<2)|0,d0=+o[e0>>2],c0=d0<0,$0=i0,l0=+Hn(+$0),m0=+J7(l0),c0){g0=-m0,I0=~~g0,n0=E+(H1<<2)|0,e[n0>>2]=I0;break}else{f0=~~m0,p0=E+(H1<<2)|0,e[p0>>2]=f0;break}while(!1);if(C0=H1+1|0,x1=(C0|0)==(H|0),x1){J1=H;break}else H1=C0}else J1=0;if(K=(J1|0)<(m|0),!K)return v=0,C=d2,+v;for(t0=(h|0)!=0,Z=s-p|0,y=0,P1=0,V1=J1;;){t0?(S0=h+(V1<<2)|0,y0=e[S0>>2]|0,D0=(y0|0)==0,D0?q1=15:(B=y,D1=P1)):q1=15;do if((q1|0)==15)if(q1=0,Q0=$+(V1<<2)|0,w0=+o[Q0>>2],B0=g+(V1<<2)|0,x0=+o[B0>>2],Z0=w0/x0,R0=!(Z0<.25),v0=(V1|0)<(Z|0),t2=t0&v0,o2=R0|t2,o2){k0=A+(V1<<2)|0,K0=+o[k0>>2],N0=K0<0,M0=Z0,P0=+Hn(+M0),W0=+J7(P0),J0=-W0,L=N0?J0:W0,Q=~~L,V0=E+(V1<<2)|0,e[V0>>2]=Q,j0=s5(Q,Q)|0,q0=+(j0|0),o1=+o[B0>>2],z0=q0*o1,o[Q0>>2]=z0,B=y,D1=P1;break}else{G0=Z0+y,U0=P1+1|0,O0=F+(P1<<2)|0,e[O0>>2]=Q0,B=G0,D1=U0;break}while(!1);if(r1=V1+1|0,G1=(r1|0)==(m|0),G1){b=B,O1=D1;break}else y=B,P1=D1,V1=r1}if(L0=(O1|0)==0,L0||(Hu(F,O1,4,9),s1=(O1|0)>0,!s1))return v=b,C=d2,+v;for(h1=$,u1=t+512|0,E1=+c1[u1>>3],D=b,Y1=0;;)if(f1=F+(Y1<<2)|0,d1=e[f1>>2]|0,g1=d1,a1=g1-h1|0,$1=a1>>2,X0=D,B1=!(X0>=E1),B1?(k=D,R=0,e2=0):(p1=A+($1<<2)|0,Q1=e[p1>>2]|0,C1=Q1&-2147483648,y1=C1|1065353216,v1=(e[w2>>2]=y1,+o[w2>>2]),S1=~~v1,L1=D+-1,M1=g+($1<<2)|0,b1=+o[M1>>2],k=L1,R=S1,e2=b1),_1=E+($1<<2)|0,e[_1>>2]=R,o[d1>>2]=e2,R1=Y1+1|0,X1=(R1|0)==(O1|0),X1){v=k;break}else D=k,Y1=R1;return C=d2,+v}function Yb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0;return D=C,A=e[t>>2]|0,$=+o[A>>2],g=e[s>>2]|0,h=+o[g>>2],p=$h,y=E&1,B=m-y|0,B|0}function zb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Kb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0;if(r0=C,A=(t|0)==0,!A){if($=t+4|0,v=e[$>>2]|0,F=(v|0)>0,G=t+20|0,F)for(M=v,Z=0;O=e[G>>2]|0,q=O+(Z<<2)|0,H=e[q>>2]|0,K=(H|0)==0,K?h=M:(E2(H),s=e[$>>2]|0,h=s),t0=Z+1|0,g=(t0|0)<(h|0),g;)M=h,Z=t0;if(p=e[G>>2]|0,E2(p),m=t+24|0,E=e[m>>2]|0,y=(E|0)>0,B=t+28|0,y)for(A0=0;b=e[B>>2]|0,D=b+(A0<<2)|0,k=e[D>>2]|0,E2(k),_=A0+1|0,Q=e[m>>2]|0,L=(_|0)<(Q|0),L;)A0=_;R=e[B>>2]|0,E2(R),E2(t)}}function Jb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0;if(f0=C,g=e[t>>2]|0,H2(s,g,24),h=t+4|0,Q=e[h>>2]|0,H2(s,Q,24),Z=t+8|0,Y=e[Z>>2]|0,h0=Y+-1|0,H2(s,h0,24),i0=t+12|0,e0=e[i0>>2]|0,d0=e0+-1|0,H2(s,d0,6),c0=t+20|0,p=e[c0>>2]|0,H2(s,p,8),m=e[i0>>2]|0,E=(m|0)>0,!!E){for(y=t+24|0,$0=0,X=0;;){if(D=y+(X<<2)|0,k=e[D>>2]|0,v=V8(k)|0,_=(v|0)>3,L=e[D>>2]|0,_?(H2(s,L,3),H2(s,1,1),R=e[D>>2]|0,M=R>>3,H2(s,M,5)):H2(s,L,4),F=e[D>>2]|0,G=(F|0)==0,G)g0=0;else for(A=F,I0=0;;)if(O=A&1,q=O+I0|0,H=A>>>1,K=(H|0)==0,K){g0=q;break}else A=H,I0=q;if(t0=g0+$0|0,A0=X+1|0,j=e[i0>>2]|0,r0=(A0|0)<(j|0),r0)$0=t0,X=A0;else{$=t0;break}}if(B=($|0)>0,!!B)for(b=t+280|0,m0=0;o0=b+(m0<<2)|0,J=e[o0>>2]|0,H2(s,J,8),s0=m0+1|0,l0=(s0|0)==($|0),!l0;)m0=s0}}function Wb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0;a1=C,p=c9(1,2840)|0,m=t+28|0,R=e[m>>2]|0,j=r4(s,24)|0,e[p>>2]=j,$0=r4(s,24)|0,y0=p+4|0,e[y0>>2]=$0,U0=r4(s,24)|0,j0=U0+1|0,Y0=p+8|0,e[Y0>>2]=j0,o1=r4(s,6)|0,E=o1+1|0,y=p+12|0,e[y>>2]=E,B=r4(s,8)|0,b=p+20|0,e[b>>2]=B,D=(B|0)<0;e:do if(D)g1=26;else{if(k=(o1|0)>-1,k){for(v=p+24|0,r1=0,h1=0;;){if(L=r4(s,3)|0,M=r4(s,1)|0,F=(M|0)<0,F){g1=26;break e}if(G=(M|0)==0,G)L0=L;else{if(O=r4(s,5)|0,q=(O|0)<0,q){g1=26;break e}H=O<<3,K=H|L,L0=K}if(t0=v+(h1<<2)|0,e[t0>>2]=L0,Z=(L0|0)==0,Z)d1=0;else for($=L0,A1=0;;)if(A0=$&1,r0=A0+A1|0,o0=$>>>1,J=(o0|0)==0,J){d1=r0;break}else $=o0,A1=r0;if(s0=d1+r1|0,Y=h1+1|0,h0=e[y>>2]|0,i0=(Y|0)<(h0|0),i0)r1=s0,h1=Y;else{h=s0;break}}if(_=(h|0)>0,_)for(Q=p+280|0,u1=0;;){if(e0=r4(s,8)|0,d0=(e0|0)<0,d0)break e;if(c0=Q+(u1<<2)|0,e[c0>>2]=e0,l0=u1+1|0,X=(l0|0)<(h|0),X)u1=l0;else{q0=_,z0=h;break}}else q0=0,z0=h}else q0=0,z0=0;if(m0=e[b>>2]|0,g0=R+24|0,I0=e[g0>>2]|0,n0=(m0|0)<(I0|0),n0){if(q0)for(f0=p+280|0,E1=0;;){if(S0=f0+(E1<<2)|0,D0=e[S0>>2]|0,E0=(D0|0)<(I0|0),!E0||(Q0=(R+1824|0)+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0+12|0,x0=e[B0>>2]|0,Z0=(x0|0)==0,p0=E1+1|0,Z0))break e;if(C0=(p0|0)<(z0|0),C0)E1=p0;else break}if(R0=(R+1824|0)+(m0<<2)|0,v0=e[R0>>2]|0,G0=v0+4|0,O0=e[G0>>2]|0,H0=e[v0>>2]|0,k0=(H0|0)<1,!k0){for(K0=e[y>>2]|0,s1=H0,f1=1;;){if(P0=s5(K0,f1)|0,W0=(P0|0)>(O0|0),W0)break e;if(N0=s1+-1|0,M0=(s1|0)>1,M0)s1=N0,f1=P0;else{g=P0;break}}return J0=p+16|0,e[J0>>2]=g,A=p,A|0}}}while(!1);return(g1|0)==26&&(V0=(p|0)==0,V0)?(A=0,A|0):(E2(p),A=0,A|0)}function Zb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0;if(k1=C,h=c9(1,44)|0,p=t+4|0,L=e[p>>2]|0,A0=L+28|0,c0=e[A0>>2]|0,e[h>>2]=s,S0=s+12|0,G0=e[S0>>2]|0,V0=h+4|0,e[V0>>2]=G0,o1=c0+2848|0,z0=e[o1>>2]|0,m=h+12|0,e[m>>2]=z0,E=z0,y=s+20|0,B=e[y>>2]|0,b=E+(B*56|0)|0,D=h+16|0,e[D>>2]=b,k=e[b>>2]|0,v=c9(G0,4)|0,_=h+20|0,e[_>>2]=v,Q=(G0|0)>0,Q)for(R=s+24|0,M=s+280|0,r1=0,d1=0,p1=0;;){if(F=R+(d1<<2)|0,G=e[F>>2]|0,O=V8(G)|0,q=(O|0)==0,q)h1=r1,Q1=p1;else if(H=(O|0)>(p1|0),$=H?O:p1,K=c9(O,4)|0,t0=v+(d1<<2)|0,e[t0>>2]=K,Z=(O|0)>0,Z)for(j=e[F>>2]|0,r0=v+(d1<<2)|0,L0=r1,$1=0;;)if(o0=1<<$1,J=j&o0,s0=(J|0)==0,s0?s1=L0:(Y=e[o1>>2]|0,h0=L0+1|0,i0=M+(L0<<2)|0,e0=e[i0>>2]|0,d0=Y+(e0*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=d0,s1=h0),X=$1+1|0,E1=(X|0)==(O|0),E1){h1=s1,Q1=$;break}else L0=s1,$1=X;else h1=r1,Q1=$;if(m0=d1+1|0,g0=(m0|0)<(G0|0),g0)r1=h1,d1=m0,p1=Q1;else{B1=Q1;break}}else B1=0;if(I0=h+24|0,e[I0>>2]=1,n0=(k|0)>0,n0){for(p0=1,A1=0;;)if(f0=s5(p0,G0)|0,C0=A1+1|0,u1=(C0|0)==(k|0),u1){A=f0;break}else p0=f0,A1=C0;e[I0>>2]=A,E0=A}else E0=1;if(y0=h+8|0,e[y0>>2]=B1,D0=E0<<2,Q0=Re(D0)|0,w0=h+28|0,e[w0>>2]=Q0,B0=(E0|0)>0,!B0)return h|0;if(x0=k<<2,!n0){for(g1=0;J0=Re(x0)|0,j0=Q0+(g1<<2)|0,e[j0>>2]=J0,q0=g1+1|0,Y0=(q0|0)<(E0|0),Y0;)g1=q0;return h|0}for(Z0=e[w0>>2]|0,a1=0;;){for(M0=Re(x0)|0,P0=Q0+(a1<<2)|0,e[P0>>2]=M0,W0=Z0+(a1<<2)|0,K0=e[W0>>2]|0,g=E0,X0=0,y1=a1;C1=(g|0)/(G0|0)&-1,U0=(y1|0)/(C1|0)&-1,O0=s5(U0,C1)|0,H0=y1-O0|0,k0=K0+(X0<<2)|0,e[k0>>2]=U0,N0=X0+1|0,f1=(N0|0)==(k|0),!f1;)g=C1,X0=N0,y1=H0;if(R0=a1+1|0,v0=(R0|0)<(E0|0),v0)a1=R0;else break}return h|0}function jb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0;if(G=C,h=(g|0)>0,h)Q=0,L=0;else return 0;for(;;)if(p=$+(Q<<2)|0,m=e[p>>2]|0,E=(m|0)==0,E?R=L:(y=A+(Q<<2)|0,B=e[y>>2]|0,b=L+1|0,D=A+(L<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){M=R;break}else Q=k,L=R;return v=(M|0)==0,v||Oy(t,s,A,M,2),0}function Xb(t,s,A,$,g,h,p,m){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0;if(H=C,E=(h|0)>0,E)M=0,F=0;else return 0;for(;;)if(y=g+(M<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b?G=F:(D=$+(M<<2)|0,k=e[D>>2]|0,v=F+1|0,_=$+(F<<2)|0,e[_>>2]=k,G=v),Q=M+1|0,R=(Q|0)==(h|0),R){O=G;break}else M=Q,F=G;return L=(O|0)==0,L||qy(t,A,$,O,p),0}function eD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,m=(g|0)>0,m)s1=0,p1=0;else return h=0,h|0;for(;;)if(E=$+(s1<<2)|0,M=e[E>>2]|0,r0=(M|0)==0,r0?Q1=p1:(l0=A+(s1<<2)|0,D0=e[l0>>2]|0,O0=p1+1|0,W0=A+(p1<<2)|0,e[W0>>2]=D0,Q1=O0),J0=s1+1|0,Y0=(J0|0)==(g|0),Y0){C1=Q1;break}else s1=J0,p1=Q1;if(V0=(C1|0)==0,V0)return h=0,h|0;if(y=e[s>>2]|0,B=y+8|0,b=e[B>>2]|0,D=y+12|0,k=e[D>>2]|0,v=y+4|0,_=e[v>>2]|0,Q=e[y>>2]|0,L=_-Q|0,R=(L|0)/(b|0)&-1,F=C1<<2,G=W8(t,F)|0,O=+(b|0),q=100/O,H=q,K=(C1|0)>0,K)for(t0=R<<2,h1=0;J=W8(t,t0)|0,s0=G+(h1<<2)|0,e[s0>>2]=J,g4(J|0,0,t0|0)|0,Y=h1+1|0,L0=(Y|0)==(C1|0),!L0;)h1=Y;if(Z=(R|0)>0,Z)for(A0=(b|0)>0,j=k+-1|0,o0=(k|0)>1,u1=0;;){if(h0=s5(u1,b)|0,i0=e[y>>2]|0,e0=i0+h0|0,K)for(f1=0;;){if(A0)for(d0=A+(f1<<2)|0,c0=e[d0>>2]|0,q0=0,d1=0,$1=0;;)if($0=e0+d1|0,X=c0+($0<<2)|0,m0=e[X>>2]|0,E1=(m0|0)>-1,X0=0-m0|0,g0=E1?m0:X0,I0=(g0|0)>($1|0),p=I0?g0:$1,n0=g0+q0|0,f0=d1+1|0,o1=(f0|0)==(b|0),o1){j0=n0,a1=p;break}else q0=n0,d1=f0,$1=p;else j0=0,a1=0;p0=+(j0|0),C0=p0*H,S0=~~C0;e:do if(o0)for(g1=0;;){if(y0=(y+2328|0)+(g1<<2)|0,E0=e[y0>>2]|0,Q0=(a1|0)>(E0|0),!Q0&&(w0=(y+2584|0)+(g1<<2)|0,B0=e[w0>>2]|0,x0=(B0|0)<0,Z0=(S0|0)<(B0|0),B1=x0|Z0,B1)){A1=g1;break e}if(R0=g1+1|0,v0=(R0|0)<(j|0),v0)g1=R0;else{A1=R0;break}}else A1=0;while(!1);if(G0=G+(f1<<2)|0,U0=e[G0>>2]|0,H0=U0+(u1<<2)|0,e[H0>>2]=A1,k0=f1+1|0,z0=(k0|0)==(C1|0),z0)break;f1=k0}if(K0=u1+1|0,r1=(K0|0)==(R|0),r1)break;u1=K0}return N0=s+40|0,M0=e[N0>>2]|0,P0=M0+1|0,e[N0>>2]=P0,h=G,h|0}function tD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0;if(G=C,h=(g|0)>0,h)Q=0,L=0;else return 0;for(;;)if(p=$+(Q<<2)|0,m=e[p>>2]|0,E=(m|0)==0,E?R=L:(y=A+(Q<<2)|0,B=e[y>>2]|0,b=L+1|0,D=A+(L<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){M=R;break}else Q=k,L=R;return v=(M|0)==0,v||Oy(t,s,A,M,3),0}function iD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0;if(X0=C,E=(g|0)>0,E)P0=0,a1=0;else return h=0,h|0;for(;;)if(y=$+(P0<<2)|0,F=e[y>>2]|0,f1=(F|0)!=0,o0=f1&1,A1=o0+a1|0,X=P0+1|0,K0=(X|0)==(g|0),K0){g1=A1;break}else P0=X,a1=A1;if(d1=(g1|0)==0,d1)return h=0,h|0;if(E0=e[s>>2]|0,Z0=E0+8|0,R0=e[Z0>>2]|0,v0=E0+12|0,G0=e[v0>>2]|0,B=E0+4|0,b=e[B>>2]|0,D=e[E0>>2]|0,k=b-D|0,v=(k|0)/(R0|0)&-1,_=W8(t,4)|0,Q=v<<2,L=W8(t,Q)|0,e[_>>2]=L,g4(L|0,0,Q|0)|0,R=(v|0)>0,R)for(M=e[E0>>2]|0,G=(M|0)/(g|0)&-1,O=(R0|0)>0,q=G0+-1|0,H=(G0|0)>1,K=e[_>>2]|0,t0=(g|0)>1,W0=0,z0=G;;){if(O)for(Z=e[A>>2]|0,O0=0,j0=0,L0=z0,h1=0;;){if(A0=Z+(L0<<2)|0,j=e[A0>>2]|0,J0=(j|0)>-1,u1=0-j|0,r0=J0?j:u1,J=(r0|0)>(h1|0),m=J?r0:h1,t0)for(k0=O0,o1=1;;)if(s0=A+(o1<<2)|0,Y=e[s0>>2]|0,h0=Y+(L0<<2)|0,i0=e[h0>>2]|0,V0=(i0|0)>-1,E1=0-i0|0,e0=V0?i0:E1,d0=(e0|0)>(k0|0),p=d0?e0:k0,c0=o1+1|0,N0=(c0|0)==(g|0),N0){H0=p;break}else k0=p,o1=c0;else H0=O0;if($0=L0+1|0,l0=j0+g|0,m0=(l0|0)<(R0|0),m0)O0=H0,j0=l0,L0=$0,h1=m;else{U0=H0,r1=$0,s1=m;break}}else U0=0,r1=z0,s1=0;e:do if(H)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,I0=e[g0>>2]|0,n0=(s1|0)>(I0|0),!n0&&(f0=(E0+2584|0)+(Y0<<2)|0,p0=e[f0>>2]|0,C0=(U0|0)>(p0|0),!C0)){q0=Y0;break e}if(S0=Y0+1|0,y0=(S0|0)<(q|0),y0)Y0=S0;else{q0=S0;break}}else q0=0;while(!1);if(D0=K+(W0<<2)|0,e[D0>>2]=q0,Q0=W0+1|0,M0=(Q0|0)==(v|0),M0)break;W0=Q0,z0=r1}return w0=s+40|0,B0=e[w0>>2]|0,x0=B0+1|0,e[w0>>2]=x0,h=_,h|0}function rD(t,s,A,$,g,h,p,m){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0;if(c0=C,C=C+16|0,e0=c0,E=s+36|0,y=e[E>>2]|0,F=(y|0)/2&-1,G=h<<2,O=s5(G,F)|0,q=W8(s,O)|0,e[e0>>2]=q,H=(h|0)>0,!H)return C=c0,0;for(K=(y|0)>1,j=0,i0=0;;){if(t0=$+(j<<2)|0,Z=e[t0>>2]|0,B=g+(j<<2)|0,b=e[B>>2]|0,J=(b|0)!=0,D=J&1,Y=D+i0|0,K)for(r0=0,o0=j;k=Z+(r0<<2)|0,v=e[k>>2]|0,_=q+(o0<<2)|0,e[_>>2]=v,Q=r0+1|0,L=o0+h|0,R=(Q|0)<(F|0),R;)r0=Q,o0=L;if(M=j+1|0,A0=(M|0)==(h|0),A0){h0=Y;break}else j=M,i0=Y}return s0=(h0|0)==0,s0?(C=c0,0):(qy(t,A,e0,1,p),C=c0,0)}function nD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;if(S1=C,m=e[s>>2]|0,E=m+8|0,M=e[E>>2]|0,r0=s+16|0,l0=e[r0>>2]|0,D0=e[l0>>2]|0,O0=t+36|0,q0=e[O0>>2]|0,d1=s5(q0,g)|0,A1=d1>>1,y=m+4|0,B=e[y>>2]|0,b=(B|0)<(A1|0),h=b?B:A1,D=e[m>>2]|0,k=h-D|0,v=(k|0)>0,!v)return 0;_=(k|0)/(M|0)&-1,Q=D0+-1|0,L=Q+_|0,R=(L|0)/(D0|0)&-1,F=R<<2,G=W8(t,F)|0,O=(g|0)>0;e:do if(O)for(a1=0;;){if(q=$+(a1<<2)|0,H=e[q>>2]|0,K=(H|0)==0,!K){g1=a1;break e}if(t0=a1+1|0,Z=(t0|0)<(g|0),Z)a1=t0;else{g1=t0;break}}else g1=0;while(!1);if(A0=(g1|0)==(g|0),A0||(j=s+8|0,o0=e[j>>2]|0,J=(o0|0)>0,!J))return 0;s0=(_|0)>0,Y=t+4|0,h0=m+16|0,i0=s+28|0,e0=(D0|0)>0,d0=s+20|0,f1=o0,v1=0;e:for(;;){if(s0){for(c0=(v1|0)==0,$0=1<>2]|0,m0=lE(X,Y)|0,g0=(m0|0)==-1,g0){k1=23;break e}if(I0=e[h0>>2]|0,n0=(m0|0)<(I0|0),!n0){k1=23;break e}if(f0=e[i0>>2]|0,p0=f0+(m0<<2)|0,C0=e[p0>>2]|0,S0=G+(Q1<<2)|0,e[S0>>2]=C0,y0=(C0|0)==0,y0){k1=23;break e}}if(E0=($1|0)<(_|0),y1=e0&E0,y1)for(Q0=G+(Q1<<2)|0,B1=$1,p1=0;;){if(w0=e[Q0>>2]|0,B0=w0+(p1<<2)|0,x0=e[B0>>2]|0,Z0=(m+24|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0&$0,G0=(v0|0)==0,!G0&&(U0=e[d0>>2]|0,H0=U0+(x0<<2)|0,k0=e[H0>>2]|0,K0=k0+(v1<<2)|0,N0=e[K0>>2]|0,M0=(N0|0)==0,!M0&&(P0=s5(B1,M)|0,W0=e[m>>2]|0,J0=W0+P0|0,V0=lb(N0,A,J0,g,Y,M)|0,j0=(V0|0)==-1,j0))){k1=23;break e}if(Y0=p1+1|0,o1=B1+1|0,z0=(Y0|0)<(D0|0),r1=(o1|0)<(_|0),C1=z0&r1,C1)B1=o1,p1=Y0;else{X0=o1;break}}else X0=$1;if(L0=Q1+1|0,s1=(X0|0)<(_|0),s1)$1=X0,Q1=L0;else break}p=e[j>>2]|0,E1=p}else E1=f1;if(h1=v1+1|0,u1=(h1|0)<(E1|0),u1)f1=E1,v1=h1;else{k1=23;break}}return(k1|0)==23,0}function Oy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0;if(t2=C,y=e[s>>2]|0,B=y+8|0,G=e[B>>2]|0,J=s+16|0,m0=e[J>>2]|0,Q0=e[m0>>2]|0,k0=t+36|0,o1=e[k0>>2]|0,g1=o1>>1,S1=y+4|0,b=e[S1>>2]|0,D=(b|0)<(g1|0),h=D?b:g1,k=e[y>>2]|0,v=h-k|0,_=(v|0)>0,!_){C=t2;return}if(Q=(v|0)/(G|0)&-1,L=$<<2,p=L,R=C,C=C+((1*p|0)+15&-16)|0,M=($|0)>0,M)for(F=Q0+-1|0,O=F+Q|0,q=(O|0)/(Q0|0)&-1,H=q<<2,P1=0;h0=W8(t,H)|0,i0=R+(P1<<2)|0,e[i0>>2]=h0,e0=P1+1|0,M1=(e0|0)==($|0),!M1;)P1=e0;if(K=s+8|0,t0=e[K>>2]|0,Z=(t0|0)>0,!Z){C=t2;return}A0=(Q|0)>0,j=t+4|0,r0=y+16|0,o0=s+28|0,s0=(Q0|0)>0,Y=s+20|0,E=M^1,Y1=0;e:for(;;){if(A0)for(d0=1<>2]|0,z0=lE(Y0,j)|0,r1=(z0|0)==-1,r1){z1=25;break e}if(L0=e[r0>>2]|0,s1=(z0|0)<(L0|0),!s1){z1=25;break e}if(h1=e[o0>>2]|0,u1=h1+(z0<<2)|0,E1=e[u1>>2]|0,f1=R+(D1<<2)|0,d1=e[f1>>2]|0,A1=d1+(x1<<2)|0,e[A1>>2]=E1,a1=(E1|0)==0,j0=D1+1|0,a1){z1=25;break e}if(q0=(j0|0)<($|0),q0)D1=j0;else break}c0=(b1|0)<(Q|0),V1=s0&c0;t:do if(V1){if(M)F1=b1,G1=0;else for(R1=b1,X1=0;;)if($1=X1+1|0,X0=R1+1|0,B1=($1|0)<(Q0|0),p1=(X0|0)<(Q|0),J1=B1&p1,J1)R1=X0,X1=$1;else{_1=X0;break t}for(;;){for(f0=s5(F1,G)|0,O1=0;;){if(I0=e[y>>2]|0,n0=I0+f0|0,p0=R+(O1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,y0=e[S0>>2]|0,D0=y0+(G1<<2)|0,E0=e[D0>>2]|0,w0=(y+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,x0=B0&d0,Z0=(x0|0)==0,!Z0&&(R0=e[Y>>2]|0,v0=R0+(E0<<2)|0,G0=e[v0>>2]|0,U0=G0+(Y1<<2)|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0&&(K0=A+(O1<<2)|0,N0=e[K0>>2]|0,M0=N0+(n0<<2)|0,P0=HC[g&3](O0,M0,j,G)|0,W0=(P0|0)==-1,W0))){z1=25;break e}if(J0=O1+1|0,V0=(J0|0)<($|0),V0)O1=J0;else break}if($0=G1+1|0,l0=F1+1|0,X=($0|0)<(Q0|0),g0=(l0|0)<(Q|0),H1=X&g0,H1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,C1=(_1|0)<(Q|0),C1)b1=_1,x1=Q1;else break}if(y1=Y1+1|0,v1=e[K>>2]|0,k1=(y1|0)<(v1|0),k1)Y1=y1;else{z1=25;break}}if((z1|0)==25){C=t2;return}}function qy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0;if(Q6=C,C=C+1088|0,s3=Q6+1056|0,U5=Q6+1024|0,K6=Q6+512|0,A3=Q6,Q=e[s>>2]|0,L=Q+8|0,g2=e[L>>2]|0,K2=Q+12|0,j2=e[K2>>2]|0,Q5=s+16|0,T1=e[Q5>>2]|0,I5=e[T1>>2]|0,h3=Q+4|0,V3=e[h3>>2]|0,R=e[Q>>2]|0,j=V3-R|0,$0=(j|0)/(g2|0)&-1,g4(K6|0,0,512)|0,g4(A3|0,0,512)|0,y0=s+8|0,U0=e[y0>>2]|0,j0=(U0|0)>0,!j0){C=Q6;return}for(f1=($0|0)>0,y1=($|0)>0,D1=(I5|0)>1,o2=s+36|0,n2=(I5|0)>0,D2=s+20|0,S2=s+32|0,y2=0-I5|0,k2=U0,g6=0;;){if(f1){for(G2=(g6|0)==0,M2=1<>2]|0,q5=M5+(j5<<2)|0,R5=e[q5>>2]|0,z2=e[Q5>>2]|0,C5=z2+4|0,$5=e[C5>>2]|0,d5=(R5|0)<($5|0),d5&&(w5=Ou(z2,R5,t)|0,x5=e[o2>>2]|0,h5=x5+w5|0,e[o2>>2]=h5),l5=k6+1|0,l6=(l5|0)==($|0),l6)break e;k6=l5}for(;;){for(b2=g+(R3<<2)|0,p5=e[b2>>2]|0,y5=p5+(j5<<2)|0,o5=e[y5>>2]|0,B6=1,$6=o5;;)if(t5=s5($6,j2)|0,T5=B6+j5|0,i5=(T5|0)<($0|0),i5?(L5=p5+(T5<<2)|0,_5=e[L5>>2]|0,V5=_5+t5|0,D6=V5):D6=t5,u5=B6+1|0,L3=(u5|0)==(I5|0),L3){G6=D6;break}else B6=u5,$6=D6;if(W2=e[Q5>>2]|0,q2=W2+4|0,U2=e[q2>>2]|0,V2=(G6|0)<(U2|0),V2&&(Z2=Ou(W2,G6,t)|0,A5=e[o2>>2]|0,Y2=A5+Z2|0,e[o2>>2]=Y2),N1=R3+1|0,D3=(N1|0)==($|0),D3)break;R3=N1}}while(!1);if(F2=(j5|0)<($0|0),R6=n2&F2,R6){for(R2=j5-$0|0,Q2=R2>>>0>>0,H6=Q2?y2:R2,N5=0-H6|0,h6=j5,W3=0;;){if(X2=s5(h6,g2)|0,h2=e[Q>>2]|0,v5=h2+X2|0,y1)for(o6=0;;){if(r5=g+(o6<<2)|0,a5=e[r5>>2]|0,f5=a5+(h6<<2)|0,J2=e[f5>>2]|0,G2&&(n5=A3+(J2<<2)|0,F5=e[n5>>2]|0,e5=F5+g2|0,e[n5>>2]=e5),c5=(Q+24|0)+(J2<<2)|0,T2=e[c5>>2]|0,k5=T2&M2,z5=(k5|0)==0,!z5&&(i3=e[D2>>2]|0,B5=i3+(J2<<2)|0,I3=e[B5>>2]|0,W5=I3+(g6<<2)|0,r3=e[W5>>2]|0,a3=(r3|0)==0,!a3)){if(y3=A+(o6<<2)|0,G5=e[y3>>2]|0,Z5=e[r3>>2]|0,x3=(g2|0)/(Z5|0)&-1,f3=(x3|0)>0,f3){for(w3=r3+48|0,e6=r3+52|0,X5=r3+44|0,_3=r3+12|0,t3=r3+4|0,M=Z5,D5=0,d3=0;;){a6=s5(d3,Z5)|0,D=a6+v5|0,G3=G5+(D<<2)|0,Y3=e[w3>>2]|0,c3=e[e6>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[s3>>2]=0,e[s3+4>>2]=0,e[s3+8>>2]=0,e[s3+12>>2]=0,e[s3+16>>2]=0,e[s3+20>>2]=0,e[s3+24>>2]=0,e[s3+28>>2]=0,Q3=(c3|0)==1,F=(M|0)>0;do if(Q3){if(!F){n6=0;break}for(H=g3+-1|0,m3=0,S6=0,Z3=M;;)if(C0=Z3+-1|0,_=D+C0|0,S0=G5+(_<<2)|0,D0=e[S0>>2]|0,E0=D0-Y3|0,Q0=(E0|0)<(u3|0),Q0?(w0=u3-E0|0,B0=w0<<1,x0=B0+-1|0,G0=x0):(Z0=E0-u3|0,R0=Z0<<1,G0=R0),v0=s5(S6,g3)|0,O0=(G0|0)<0,H0=(G0|0)>=(g3|0),k0=H0?H:G0,K0=O0?0:k0,N0=K0+v0|0,M0=s3+(C0<<2)|0,e[M0>>2]=D0,P0=m3+1|0,r6=(P0|0)==(M|0),r6){n6=N0;break}else m3=P0,S6=N0,Z3=C0}else{if(!F){n6=0;break}for(G=c3>>1,O=G-Y3|0,q=g3+-1|0,M3=0,M6=0,F3=M;;)if(K=F3+-1|0,v=D+K|0,t0=G5+(v<<2)|0,Z=e[t0>>2]|0,A0=O+Z|0,r0=(A0|0)/(c3|0)&-1,o0=(r0|0)<(u3|0),o0?(J=u3-r0|0,s0=J<<1,Y=s0+-1|0,d0=Y):(h0=r0-u3|0,i0=h0<<1,d0=i0),e0=s5(M6,g3)|0,c0=(d0|0)<0,l0=(d0|0)>=(g3|0),X=l0?q:d0,m0=c0?0:X,g0=m0+e0|0,I0=s5(r0,c3)|0,n0=I0+Y3|0,f0=s3+(K<<2)|0,e[f0>>2]=n0,p0=M3+1|0,K3=(p0|0)==(M|0),K3){n6=g0;break}else M3=p0,M6=g0,F3=K}while(!1);W0=e[_3>>2]|0,J0=W0+8|0,V0=e[J0>>2]|0,q0=V0+n6|0,Y0=I[q0>>0]|0,o1=Y0<<24>>24<1;do if(o1){if(e[U5>>2]=0,e[U5+4>>2]=0,e[U5+8>>2]=0,e[U5+12>>2]=0,e[U5+16>>2]=0,e[U5+20>>2]=0,e[U5+24>>2]=0,e[U5+28>>2]=0,z0=g3+-1|0,r1=s5(z0,c3)|0,L0=r1+Y3|0,s1=e[t3>>2]|0,h1=(s1|0)>0,h1)K5=-1,x6=0,f6=n6;else{N6=n6;break}for(;;){u1=V0+x6|0,E1=I[u1>>0]|0,d1=E1<<24>>24>0;do if(d1){if(F)for(j6=0,T3=0;;)if(A1=U5+(j6<<2)|0,g1=e[A1>>2]|0,k=D+j6|0,a1=G5+(k<<2)|0,$1=e[a1>>2]|0,X0=g1-$1|0,B1=s5(X0,X0)|0,p1=B1+T3|0,Q1=j6+1|0,A6=(Q1|0)==(M|0),A6){y6=p1;break}else j6=Q1,T3=p1;else y6=0;if(C1=(K5|0)==-1,v1=(y6|0)<(K5|0),t6=C1|v1,!t6){H5=K5,b6=f6;break}e[s3>>2]=e[U5>>2]|0,e[s3+4>>2]=e[U5+4>>2]|0,e[s3+8>>2]=e[U5+8>>2]|0,e[s3+12>>2]=e[U5+12>>2]|0,e[s3+16>>2]=e[U5+16>>2]|0,e[s3+20>>2]=e[U5+20>>2]|0,e[s3+24>>2]=e[U5+24>>2]|0,e[s3+28>>2]=e[U5+28>>2]|0,H5=y6,b6=x6}else H5=K5,b6=f6;while(!1);if(k1=e[U5>>2]|0,S1=(k1|0)<(L0|0),S1)p=U5,m=k1;else for(M1=U5,s6=0;;)if(L1=s6+1|0,e[M1>>2]=0,b1=U5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(L0|0),R1){p=b1,m=_1;break}else M1=b1,s6=L1;if(F1=(m|0)>-1,F1?(P1=m+c3|0,e[p>>2]=P1,X1=P1):X1=m,O1=0-X1|0,e[p>>2]=O1,G1=x6+1|0,n3=(G1|0)==(s1|0),n3){N6=b6;break}else K5=H5,x6=G1,f6=b6}}else N6=n6;while(!1);if(x1=(N6|0)>-1,c6=F&x1,c6)for(h=G3,L6=0;J1=s3+(L6<<2)|0,H1=e[J1>>2]|0,V1=h+4|0,Y1=e[h>>2]|0,z1=Y1-H1|0,e[h>>2]=z1,t2=L6+1|0,l3=(t2|0)==(M|0),!l3;)h=V1,L6=t2;if(e2=Ou(r3,N6,t)|0,q1=e2+D5|0,d2=d3+1|0,U3=(d2|0)==(x3|0),U3){E=q1;break}y=e[r3>>2]|0,M=y,D5=q1,d3=d2}B=e[r5>>2]|0,C2=B,Y5=E}else C2=a5,Y5=0;Z1=e[S2>>2]|0,I2=Z1+Y5|0,e[S2>>2]=I2,A2=C2+(h6<<2)|0,$2=e[A2>>2]|0,W1=K6+($2<<2)|0,f2=e[W1>>2]|0,u2=f2+Y5|0,e[W1>>2]=u2}if(s2=o6+1|0,C6=(s2|0)==($|0),C6)break;o6=s2}if(l2=W3+1|0,i2=h6+1|0,b3=(l2|0)==(N5|0),b3)break;h6=i2,W3=l2}O2=j5-H6|0,J3=O2}else J3=j5;if(p2=(J3|0)<($0|0),p2)j5=J3;else break}b=e[y0>>2]|0,r2=b}else r2=k2;if(a2=g6+1|0,m2=(a2|0)<(r2|0),m2)k2=r2,g6=a2;else break}C=Q6}function V8(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0;if(y=C,A=(t|0)==0,A)p=0;else for(s=t,m=0;;)if($=s>>>1,g=m+1|0,h=($|0)==0,h){p=g;break}else s=$,m=g;return p|0}function Hy(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0;f2=C,C=C+144|0,q1=f2,E=(A|0)!=0,y=E?A:s,F=y<<2,o0=Re(F)|0,g4(q1|0,0,132)|0,X=(s|0)>0;do if(X){E0=q1+4|0,H0=(A|0)==0,Y0=H0&1,k1=0,D1=0;e:for(;;){A1=t+D1|0,v1=I[A1>>0]|0,B=v1<<24>>24,b=v1<<24>>24>0;t:do if(b){if(D=q1+(B<<2)|0,k=e[D>>2]|0,v=v1<<24>>24>31,_=k>>>B,Q=(_|0)==0,d2=v|Q,!d2){W1=5;break e}L=o0+(k1<<2)|0,e[L>>2]=k,R=q1+(B<<2)|0,M=k&1,G=(M|0)==0;i:do if(G)for(J=k,s0=R,J1=B;;){if(r0=J+1|0,e[s0>>2]=r0,Y=J1+-1|0,h0=(J1|0)>1,!h0)break i;if(h=q1+(Y<<2)|0,m=e[h>>2]|0,i0=q1+(Y<<2)|0,e0=m&1,d0=(e0|0)==0,d0)J=m,s0=i0,J1=Y;else{g=i0,x1=Y,W1=8;break}}else g=R,x1=B,W1=8;while(!1);do if((W1|0)==8)if(W1=0,q=(x1|0)==1,q){H=e[E0>>2]|0,K=H+1|0,e[E0>>2]=K;break}else{t0=x1+-1|0,Z=q1+(t0<<2)|0,A0=e[Z>>2]|0,j=A0<<1,e[g>>2]=j;break}while(!1);if(z1=B+1|0,O=(z1|0)<33,O)for(R1=k,V1=B,t2=z1;;){if(c0=q1+(t2<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){p=1;break t}if(g0=q1+(V1<<2)|0,I0=e[g0>>2]|0,n0=I0<<1,e[c0>>2]=n0,H1=t2+1|0,f0=(H1|0)<33,f0)Y1=t2,R1=$0,t2=H1,V1=Y1;else{p=1;break}}else p=1}else p=Y0;while(!1);if(S1=k1+p|0,p0=D1+1|0,C0=(p0|0)<(s|0),C0)k1=S1,D1=p0;else{L1=S1,W1=16;break}}if((W1|0)==5)return E2(o0),$=0,C=f2,$|0;if((W1|0)==16){if(Z1=(L1|0)==1,!Z1){O1=1,W1=27;break}if(S0=q1+8|0,y0=e[S0>>2]|0,D0=(y0|0)==2,D0)break;O1=1,W1=27;break}}else O1=1,W1=27;while(!1);e:do if((W1|0)==27){for(;W1=0,j0=q1+(O1<<2)|0,q0=e[j0>>2]|0,o1=32-O1|0,z0=-1>>>o1,r1=q0&z0,L0=(r1|0)==0,J0=O1+1|0,!!L0;)if(V0=(J0|0)<33,V0)O1=J0,W1=27;else break e;return E2(o0),$=0,C=f2,$|0}while(!1);if(!X)return $=o0,C=f2,$|0;if(E)b1=0,G1=0;else{for(M1=0,X1=0;;){if(s1=t+X1|0,h1=I[s1>>0]|0,u1=h1<<24>>24>0,u1)for(E1=o0+(M1<<2)|0,f1=e[E1>>2]|0,d1=h1<<24>>24,o2=0,C2=0;;)if(g1=C2<<1,a1=f1>>>o2,$1=a1&1,X0=$1|g1,B1=o2+1|0,p1=(B1|0)<(d1|0),p1)o2=B1,C2=X0;else{I2=X0;break}else I2=0;if(Q1=M1+1|0,C1=o0+(M1<<2)|0,e[C1>>2]=I2,y1=X1+1|0,F1=(y1|0)==(s|0),F1){$=o0;break}else M1=Q1,X1=y1}return C=f2,$|0}for(;;){if(Q0=t+G1|0,w0=I[Q0>>0]|0,B0=w0<<24>>24>0,B0)for(W0=o0+(b1<<2)|0,O0=e[W0>>2]|0,P0=w0<<24>>24,e2=0,$2=0;;)if(G0=$2<<1,U0=O0>>>e2,k0=U0&1,K0=k0|G0,N0=e2+1|0,M0=(N0|0)<(P0|0),M0)e2=N0,$2=K0;else{A2=K0;break}else A2=0;if(x0=w0<<24>>24==0,x0?_1=b1:(Z0=b1+1|0,R0=o0+(b1<<2)|0,e[R0>>2]=A2,_1=Z0),v0=G1+1|0,P1=(v0|0)==(s|0),P1){$=o0;break}else b1=_1,G1=v0}return C=f2,$|0}function sD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0;if(J=C,$=t+4|0,g=e[$>>2]|0,_=e[t>>2]|0,Q=(_|0)>0,!Q)for(;;);for(L=+(g|0),R=L,M=+(_|0),F=1/M,G=F,O=+Gu(+R,+G),h=+aA(+O),p=~~h,Z=p;;){for(D=Z+1|0,q=1,H=1,K=0;;)if(B=s5(q,Z)|0,b=s5(H,D)|0,k=K+1|0,v=(k|0)<(_|0),v)q=B,H=b,K=k;else{s=B,A=b;break}if(m=(s|0)<=(g|0),E=(A|0)>(g|0),t0=m&E,t0){r0=Z;break}y=(s|0)>(g|0),j=y?-1:1,A0=Z+j|0,Z=A0}return r0|0}function oD(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0;if(z5=C,y=t+12|0,B=e[y>>2]|0,E=B+-1|0,n5=E>>>0<2,!n5)return h=0,h|0;if(z0=t+16|0,a1=e[z0>>2]|0,L1=a1&2097151,x1=+(L1|0),Z1=a1>>>21,l2=Z1&1023,O2=(a1|0)<0,t5=-x1,$=O2?t5:x1,b=l2+-788|0,O=+uE($,b),s0=O,g0=t+20|0,w0=e[g0>>2]|0,K0=w0&2097151,j0=+(K0|0),q0=w0>>>21,Y0=q0&1023,o1=(w0|0)<0,r1=-j0,g=o1?r1:j0,L0=Y0+-788|0,s1=+uE(g,L0),h1=s1,u1=e[t>>2]|0,E1=s5(u1,s)|0,f1=c9(E1,4)|0,(B|0)==1){if(v1=t+4|0,k1=e[v1>>2]|0,S1=(u1|0)>0,!S1)for(;;);for(M1=+(k1|0),b1=M1,_1=+(u1|0),R1=1/_1,F1=R1,P1=+Gu(+b1,+F1),D1=+aA(+P1),O1=~~D1,c5=O1;;){for(I2=c5+1|0,o5=1,F2=1,C5=0;;)if(q1=s5(o5,c5)|0,d2=s5(F2,I2)|0,A2=C5+1|0,E5=(A2|0)==(u1|0),E5){p=q1,m=d2;break}else o5=q1,F2=d2,C5=A2;if(X1=(p|0)<=(k1|0),G1=(m|0)>(k1|0),I5=G1&X1,I5){T2=c5;break}e2=(p|0)>(k1|0),e5=e2?-1:1,F5=e5+c5|0,c5=F5}if(J1=(k1|0)>0,!J1)return h=f1,h|0;for(H1=(A|0)==0,V1=t+8|0,Y1=t+32|0,z1=h1,t2=s0,o2=t+28|0,R2=0,T1=0;;){if(H1)if(g2=e[Y1>>2]|0,n2=e[o2>>2]|0,u2=(n2|0)==0,s2=s5(u1,R2)|0,u2)for(w5=1,X2=0;;)if(L5=(T1|0)/(w5|0)&-1,j2=(L5|0)%(T2|0)&-1,p5=g2+(j2<<2)|0,_5=e[p5>>2]|0,V5=+(_5|0),z2=+nr(+V5),u5=z2,b2=u5*z1,y5=t2+b2,D=y5,k=s2+X2|0,v=f1+(k<<2)|0,o[v>>2]=D,_=s5(w5,T2)|0,Q=X2+1|0,L=(Q|0)<(u1|0),L)w5=_,X2=Q;else{k5=21;break}else for($5=1,h5=0,r5=0;;)if(R=(T1|0)/($5|0)&-1,M=(R|0)%(T2|0)&-1,F=g2+(M<<2)|0,G=e[F>>2]|0,q=+(G|0),q5=+nr(+q),H=q5,K=H*z1,t0=r5,Z=t0+t2,A0=Z+K,j=A0,r0=s2+h5|0,o0=f1+(r0<<2)|0,o[o0>>2]=j,J=s5($5,T2)|0,Y=h5+1|0,h0=(Y|0)<(u1|0),h0)$5=J,h5=Y,r5=j;else{k5=21;break}else if(C2=e[V1>>2]|0,$2=C2+T1|0,W1=I[$2>>0]|0,f2=W1<<24>>24==0,f2)Q2=R2;else for(i2=e[Y1>>2]|0,a2=e[o2>>2]|0,m2=(a2|0)==0,r2=A+(R2<<2)|0,k2=e[r2>>2]|0,D2=s5(k2,u1)|0,d5=1,l5=0,a5=0;;)if(S2=(T1|0)/(d5|0)&-1,y2=(S2|0)%(T2|0)&-1,G2=i2+(y2<<2)|0,M2=e[G2>>2]|0,p2=+(M2|0),R5=+nr(+p2),W2=R5,q2=W2*z1,K2=a5,U2=K2+t2,V2=U2+q2,Z2=V2,v5=m2?a5:Z2,A5=D2+l5|0,Y2=f1+(A5<<2)|0,o[Y2>>2]=Z2,N1=s5(d5,T2)|0,T5=l5+1|0,i5=(T5|0)<(u1|0),i5)d5=N1,l5=T5,a5=v5;else{k5=21;break}if((k5|0)==21&&(k5=0,i0=R2+1|0,Q2=i0),e0=T1+1|0,d0=(e0|0)<(k1|0),d0)R2=Q2,T1=e0;else{h=f1;break}}return h|0}else if((B|0)==2){if(d1=t+4|0,A1=e[d1>>2]|0,g1=(A1|0)>0,!g1)return h=f1,h|0;for($1=(A|0)!=0,X0=t+8|0,B1=t+32|0,p1=h1,Q1=s0,C1=t+28|0,y1=(u1|0)>0,Q5=0,x5=0;;){if($1?(c0=e[X0>>2]|0,$0=c0+x5|0,l0=I[$0>>0]|0,X=l0<<24>>24==0,X?N5=Q5:k5=25):k5=25,(k5|0)==25){if(k5=0,y1)for(m0=e[B1>>2]|0,I0=e[C1>>2]|0,n0=(I0|0)==0,f0=A+(Q5<<2)|0,p0=s5(u1,x5)|0,C0=s5(u1,Q5)|0,h2=0,J2=0;S0=p0+h2|0,y0=m0+(S0<<2)|0,D0=e[y0>>2]|0,E0=+(D0|0),M5=+nr(+E0),Q0=M5,B0=Q0*p1,x0=J2,Z0=x0+Q1,R0=Z0+B0,v0=R0,f5=n0?J2:v0,$1?(G0=e[f0>>2]|0,U0=s5(G0,u1)|0,O0=U0+h2|0,H0=f1+(O0<<2)|0,o[H0>>2]=v0):(k0=C0+h2|0,N0=f1+(k0<<2)|0,o[N0>>2]=v0),M0=h2+1|0,P0=(M0|0)<(u1|0),P0;)h2=M0,J2=f5;W0=Q5+1|0,N5=W0}if(J0=x5+1|0,V0=(J0|0)<(A1|0),V0)Q5=N5,x5=J0;else{h=f1;break}}return h|0}else return h=f1,h|0;return 0}function UC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0;b=C,s=t+36|0,A=e[s>>2]|0,$=(A|0)==0,!$&&(g=t+32|0,h=e[g>>2]|0,p=(h|0)==0,p||E2(h),m=t+8|0,E=e[m>>2]|0,y=(E|0)==0,y||E2(E),E2(t))}function aD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;R=C,s=t+16|0,A=e[s>>2]|0,E=(A|0)==0,E||E2(A),y=t+20|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),D=t+24|0,k=e[D>>2]|0,v=(k|0)==0,v||E2(k),_=t+28|0,$=e[_>>2]|0,g=($|0)==0,g||E2($),h=t+32|0,p=e[h>>2]|0,m=(p|0)==0,m||E2(p),Q=t,M=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(M|0))}function Vy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;q0=C,V0=t,Y0=V0+56|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0));if(p=t+12|0,e[p>>2]=s,m=s+4|0,R=e[m>>2]|0,j=t+4|0,e[j>>2]=R,$0=t+8|0,e[$0>>2]=R,y0=e[s>>2]|0,e[t>>2]=y0,x0=s+8|0,Z0=e[x0>>2]|0,R0=Hy(Z0,R,0)|0,v0=t+20|0,e[v0>>2]=R0,E=e[m>>2]|0,y=e[s>>2]|0,B=(y|0)>0,!B)for(;;);for(b=+(E|0),D=b,k=+(y|0),v=1/k,_=v,Q=+Gu(+D,+_),L=+aA(+Q),M=~~L,W0=M;;){for(K=W0+1|0,G0=1,U0=1,H0=0;;)if(q=s5(G0,W0)|0,H=s5(U0,K)|0,t0=H0+1|0,O0=(t0|0)==(y|0),O0){g=q,h=H;break}else G0=q,U0=H,H0=t0;if(F=(g|0)<=(E|0),G=(h|0)>(E|0),k0=G&F,k0){J0=W0;break}O=(g|0)>(E|0),P0=O?-1:1,M0=P0+W0|0,W0=M0}return Z=t+44|0,e[Z>>2]=J0,A0=s+16|0,r0=e[A0>>2]|0,o0=r0&2097151,J=+(o0|0),s0=r0>>>21,Y=s0&1023,h0=(r0|0)<0,i0=-J,A=h0?i0:J,e0=Y+-788|0,d0=+uE(A,e0),c0=d0,K0=+Zy(c0),l0=~~K0,X=t+48|0,e[X>>2]=l0,m0=s+20|0,g0=e[m0>>2]|0,I0=g0&2097151,n0=+(I0|0),f0=g0>>>21,p0=f0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,D0=p0+-788|0,E0=+uE($,D0),Q0=E0,N0=+Zy(Q0),w0=~~N0,B0=t+52|0,e[B0>>2]=w0,0}function AD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0;O3=C,_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));if(D=s+4|0,k=e[D>>2]|0,C2=(k|0)>0,C2)for(z2=s+8|0,v5=e[z2>>2]|0,W3=0,G6=0;;)if(k5=v5+W3|0,Z5=I[k5>>0]|0,Y3=Z5<<24>>24>0,l6=Y3&1,E=l6+G6|0,j5=W3+1|0,v=(j5|0)<(k|0),v)W3=j5,G6=E;else{f0=E;break}else f0=0;if(K=t+4|0,e[K>>2]=k,i0=t+8|0,e[i0>>2]=f0,Z0=e[s>>2]|0,e[t>>2]=Z0,P0=(f0|0)>0,!P0)return $=0,C=O3,$|0;if(s1=s+8|0,B1=e[s1>>2]|0,_1=Hy(B1,k,f0)|0,V1=f0<<2,h=V1,$2=C,C=C+((1*h|0)+15&-16)|0,r2=(_1|0)==0,r2){V2=t+16|0,Z2=e[V2>>2]|0,A5=(Z2|0)==0,A5||E2(Z2),Y2=t+20|0,N1=e[Y2>>2]|0,t5=(N1|0)==0,t5||E2(N1),T5=t+24|0,i5=e[T5>>2]|0,L5=(i5|0)==0,L5||E2(i5),p5=t+28|0,_5=e[p5>>2]|0,V5=(_5|0)==0,V5||E2(_5),u5=t+32|0,b2=e[u5>>2]|0,y5=(b2|0)==0,y5||E2(b2),_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));return $=-1,C=O3,$|0}else F3=0;for(;K2=_1+(F3<<2)|0,j2=e[K2>>2]|0,Q5=j2>>>16,N5=j2<<16,E5=Q5|N5,M5=E5>>>8,q5=M5&16711935,R5=E5<<8,C5=R5&-16711936,$5=q5|C5,d5=$5>>>4,w5=d5&252645135,T1=$5<<4,x5=T1&-252645136,h5=w5|x5,l5=h5>>>2,X2=l5&858993459,h2=h5<<2,r5=h2&-858993460,a5=X2|r5,f5=a5>>>1,J2=f5&1431655765,I5=a5<<1,n5=I5&-1431655766,F5=J2|n5,e[K2>>2]=F5,e5=$2+(F3<<2)|0,e[e5>>2]=K2,c5=F3+1|0,j6=(c5|0)==(f0|0),!j6;)F3=c5;for(Hu($2,f0,4,10),p=V1,T2=C,C=C+((1*p|0)+15&-16)|0,z5=Re(V1)|0,i3=t+20|0,e[i3>>2]=z5,B5=_1,Z3=0;;)if(I3=$2+(Z3<<2)|0,h3=e[I3>>2]|0,W5=h3,r3=W5-B5|0,a3=r3>>2,y3=T2+(a3<<2)|0,e[y3>>2]=Z3,G5=Z3+1|0,N6=(G5|0)==(f0|0),N6){t6=0;break}else Z3=G5;for(;x3=_1+(t6<<2)|0,f3=e[x3>>2]|0,w3=T2+(t6<<2)|0,e6=e[w3>>2]|0,V3=z5+(e6<<2)|0,e[V3>>2]=f3,X5=t6+1|0,b6=(X5|0)==(f0|0),!b6;)t6=X5;if(E2(_1),_3=oD(s,f0,T2)|0,t3=t+16|0,e[t3>>2]=_3,a6=Re(V1)|0,G3=t+24|0,e[G3>>2]=a6,c3=e[D>>2]|0,g3=(c3|0)>0,g3)for(y=e[s1>>2]|0,R6=0,Q6=0;;)if(u3=y+R6|0,Q3=I[u3>>0]|0,K5=Q3<<24>>24>0,K5?(H5=Q6+1|0,Y5=T2+(Q6<<2)|0,D5=e[Y5>>2]|0,z3=a6+(D5<<2)|0,e[z3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,n3=(U5|0)<(c3|0),n3)R6=U5,Q6=X6;else{ee=X6;break}else ee=0;if(l3=Re(ee)|0,U3=t+28|0,e[U3>>2]=l3,C6=t+40|0,e[C6>>2]=0,g3){for(B=e[s1>>2]|0,o5=0,L3=B,c6=0,re=0;;)if(b3=L3+c6|0,D3=I[b3>>0]|0,A6=D3<<24>>24>0,A6?(r6=re+1|0,K3=T2+(re<<2)|0,M3=e[K3>>2]|0,d3=e[U3>>2]|0,J3=d3+M3|0,I[J3>>0]=D3,h6=e[s1>>2]|0,m3=h6+c6|0,x6=I[m3>>0]|0,L6=x6<<24>>24,M6=e[C6>>2]|0,S6=(L6|0)>(M6|0),S6?(e[C6>>2]=L6,F2=L6,R2=h6,V6=r6):(F2=M6,R2=h6,V6=r6)):(F2=o5,R2=L3,V6=re),n6=c6+1|0,_=e[D>>2]|0,Q=(n6|0)<(_|0),Q)o5=F2,L3=R2,c6=n6,re=V6;else{m=F2,oe=V6;break}if(L=(oe|0)==1,L){if(R=(m|0)==1,R)return M=t+36|0,e[M>>2]=1,F=c9(2,4)|0,G=t+32|0,e[G>>2]=F,O=F+4|0,e[O>>2]=1,e[F>>2]=1,$=0,C=O3,$|0;P3=1}else P3=oe}else P3=0;if(q=e[i0>>2]|0,H=(q|0)==0,H)U6=-4;else{for(g=q,Y6=0;;)if(t0=g>>>1,Z=Y6+1|0,A0=(t0|0)==0,A0){F6=Y6;break}else g=t0,Y6=Z;ue=F6+-3|0,U6=ue}if(j=t+36|0,r0=(U6|0)<5,A=r0?5:U6,o0=(A|0)>8,te=o0?8:A,e[j>>2]=te,J=1<>2]=s0,h0=(P3|0)>0,h0)for(l0=te,s3=0;;){if(e0=e[U3>>2]|0,d0=e0+s3|0,c0=I[d0>>0]|0,$0=c0<<24>>24,X=(l0|0)<($0|0),X)Q2=l0;else if(m0=e[i3>>2]|0,g0=m0+(s3<<2)|0,I0=e[g0>>2]|0,n0=I0>>>16,p0=I0<<16,C0=n0|p0,S0=C0>>>8,y0=S0&16711935,D0=C0<<8,E0=D0&-16711936,Q0=y0|E0,w0=Q0>>>4,B0=w0&252645135,x0=Q0<<4,R0=x0&-252645136,v0=B0|R0,G0=v0>>>2,U0=G0&858993459,O0=v0<<2,H0=O0&-858993460,k0=U0|H0,K0=k0>>>1,N0=K0&1431655765,M0=k0<<1,W0=M0&-1431655766,J0=N0|W0,V0=l0-$0|0,j0=(V0|0)==31,j0)Q2=l0;else for(q0=s3+1|0,o1=$0,A3=0;;)if(Y0=A3<>2]=q0,L0=A3+1|0,h1=e[j>>2]|0,u1=I[d0>>0]|0,E1=u1<<24>>24,f1=h1-E1|0,d1=1<>>16,k1=y1<<16,S1=v1|k1,L1=S1>>>8,M1=L1&16711935,b1=S1<<8,R1=b1&-16711936,F1=M1|R1,P1=F1>>>4,D1=P1&252645135,O1=F1<<4,X1=O1&-252645136,G1=D1|X1,x1=G1>>>2,J1=x1&858993459,H1=G1<<2,Y1=H1&-858993460,z1=J1|Y1,t2=z1>>>1,o2=t2&1431655765,e2=z1<<1,q1=e2&-1431655766,d2=o2|q1,Z1=s0+(d2<<2)|0,I2=e[Z1>>2]|0,A2=(I2|0)==0,A2){for(y6=g6;;){if(W1=y6+1|0,f2=(W1|0)<(P3|0),!f2){T3=y6;break}if(g2=e[i3>>2]|0,n2=g2+(W1<<2)|0,u2=e[n2>>2]|0,s2=u2>>>0>y1>>>0,s2){T3=y6;break}else y6=W1}l2=(P3|0)>(k6|0);e:do if(l2)for(i2=e[i3>>2]|0,s6=k6;;){if(a2=i2+(s6<<2)|0,m2=e[a2>>2]|0,k2=m2&X0,D2=y1>>>0>>0,D2){R3=s6;break e}if(S2=s6+1|0,y2=(P3|0)>(S2|0),y2)s6=S2;else{R3=S2;break}}else R3=k6;while(!1);G2=P3-R3|0,M2=T3>>>0>32767,O2=G2>>>0>32767,B6=O2?32767:G2,H6=T3<<15,$6=H6|-2147483648,p2=M2?-1073774592:$6,W2=p2|B6,e[Z1>>2]=W2,o6=R3,D6=T3}else o6=k6,D6=g6;if(q2=K6+1|0,U2=(q2|0)<(J|0),!U2){$=0;break}b=e[j>>2]|0,C1=b,k6=o6,K6=q2,g6=D6}return C=O3,$|0}function $D(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0;return D=C,A=e[t>>2]|0,$=e[A>>2]|0,g=e[s>>2]|0,h=e[g>>2]|0,p=$>>>0>h>>>0,m=p&1,E=$>>>0>>0,y=E&1,B=m-y|0,B|0}function lD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0;if(Z0=C,y=e[t>>2]|0,B=(y|0)==1,!B&&(G=t+4|0,J=e[G>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,X=l0+4|0,m0=e[X>>2]|0,g0=(m0|0)>0,!!g0)){for(I0=m0+1|0,E=y+-1|0,C0=y,S0=0,y0=y,E0=1;;){b=I0-S0|0,D=l0+(b<<2)|0,k=e[D>>2]|0,v=(y0|0)/(k|0)&-1,_=(y|0)/(y0|0)&-1,Q=s5(_,v)|0,L=k+-1|0,R=s5(_,L)|0,M=C0-R|0,F=1-E0|0;do if((k|0)==2)if(Z=(F|0)==0,A=E+M|0,A0=J+(A<<2)|0,Z){Jy(_,v,s,J,A0),Q0=0;break}else{Jy(_,v,J,s,A0),Q0=F;break}else if((k|0)==4)if(O=M+_|0,q=(F|0)==0,$=E+M|0,H=J+($<<2)|0,g=E+O|0,K=J+(g<<2)|0,h=E+_|0,p=h+O|0,t0=J+(p<<2)|0,q){Ky(_,v,s,J,H,K,t0),Q0=0;break}else{Ky(_,v,J,s,H,K,t0),Q0=F;break}else if(j=(_|0)==1,D0=j?E0:F,r0=(D0|0)==0,m=E+M|0,o0=J+(m<<2)|0,r0){Wy(_,k,v,Q,s,s,s,J,J,o0),Q0=1;break}else{Wy(_,k,v,Q,J,J,J,s,s,o0),Q0=0;break}while(!1);if(s0=S0+1|0,f0=(s0|0)==(m0|0),f0){w0=Q0;break}else C0=M,S0=s0,y0=v,E0=Q0}if(Y=(w0|0)!=1,h0=(y|0)>0,B0=h0&Y,B0)p0=0;else return;for(;i0=J+(p0<<2)|0,e0=e[i0>>2]|0,d0=s+(p0<<2)|0,e[d0>>2]=e0,c0=p0+1|0,n0=(c0|0)==(y|0),!n0;)p0=c0}}function Yy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0;if(B1=C,e[t>>2]=s,p=s*3|0,m=c9(p,4)|0,R=t+4|0,e[R>>2]=m,j=c9(32,4)|0,$0=t+8|0,e[$0>>2]=j,y0=(s|0)==1,!y0){Z0=j+8|0,z0=-1,u1=0,E1=s,d1=0;e:for(;;)for(R0=z0+1|0,v0=(R0|0)<4,v0?(G0=25768+(R0<<2)|0,E=e[G0>>2]|0,A1=E):(y=d1+2|0,A1=y),B=(A1|0)!=2,V0=u1,f1=E1;;){if(W0=V0+1|0,b=(f1|0)/(A1|0)&-1,D=s5(b,A1)|0,k=(f1|0)==(D|0),!k){z0=R0,u1=V0,E1=f1,d1=A1;continue e}if(v=V0+2|0,_=j+(v<<2)|0,e[_>>2]=A1,Q=(V0|0)==0,g1=B|Q,!g1){if(L=(V0|0)<1,!L)for(N0=1;M=W0-N0|0,F=M+1|0,G=j+(F<<2)|0,O=e[G>>2]|0,q=M+2|0,H=j+(q<<2)|0,e[H>>2]=O,K=N0+1|0,k0=(K|0)==(W0|0),!k0;)N0=K;e[Z0>>2]=2}if(t0=(b|0)==1,t0){A=Q,J0=W0,j0=V0;break e}else V0=W0,f1=b}if(e[j>>2]=s,Z=j+4|0,e[Z>>2]=J0,A0=+(s|0),r0=6.2831854820251465/A0,$=A^1,o0=(j0|0)>0,a1=o0&$,!!a1)for(J=s+1|0,q0=0,L0=0,s1=1;;){if(s0=L0+2|0,Y=j+(s0<<2)|0,h0=e[Y>>2]|0,i0=s5(h0,s1)|0,e0=(s|0)/(i0|0)&-1,d0=(h0|0)>1,d0){for(c0=(e0|0)>2,l0=h0+-1|0,o1=q0,r1=0,h1=0;;){if(X=h1+s1|0,m0=+(X|0),g0=m0*r0,c0)for(K0=0,M0=o1,P0=2;I0=K0+1,n0=g0*I0,U0=+AA(+n0),g=M0+s|0,f0=m+(g<<2)|0,o[f0>>2]=U0,$1=+Vn(+n0),p0=M0+2|0,h=J+M0|0,C0=m+(h<<2)|0,o[C0>>2]=$1,S0=P0+2|0,D0=(S0|0)<(e0|0),D0;)K0=I0,M0=p0,P0=S0;if(E0=o1+e0|0,Q0=r1+1|0,O0=(Q0|0)==(l0|0),O0)break;o1=E0,r1=Q0,h1=X}w0=s5(e0,l0)|0,B0=w0+q0|0,Y0=B0}else Y0=q0;if(x0=L0+1|0,H0=(x0|0)==(j0|0),H0)break;q0=Y0,L0=x0,s1=i0}}}function zy(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0;y=C,s=(t|0)==0,!s&&(A=t+4|0,$=e[A>>2]|0,g=($|0)==0,g||E2($),h=t+8|0,p=e[h>>2]|0,m=(p|0)==0,m||E2(p),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function Ky(t,s,A,$,g,h,p){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0;var m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0;if(I3=C,m=s5(s,t)|0,E=m<<1,Q1=(s|0)>0,Q1)for(F1=m*3|0,z1=t<<2,W1=z1+-1|0,k2=t<<1,h2=0,a5=m,I5=F1,e5=0,c5=E;U2=A+(a5<<2)|0,p5=+o[U2>>2],N5=A+(I5<<2)|0,y=+o[N5>>2],F=y+p5,o0=A+(e5<<2)|0,X=+o[o0>>2],E0=A+(c5<<2)|0,H0=+o[E0>>2],Y0=H0+X,A1=Y0+F,B1=e5<<2,p1=$+(B1<<2)|0,o[p1>>2]=A1,C1=Y0-F,y1=W1+B1|0,v1=$+(y1<<2)|0,o[v1>>2]=C1,k1=+o[o0>>2],S1=+o[E0>>2],L1=k1-S1,M1=B1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,o[_1>>2]=L1,R1=+o[N5>>2],P1=+o[U2>>2],D1=R1-P1,O1=$+(M1<<2)|0,o[O1>>2]=D1,X1=a5+t|0,G1=I5+t|0,x1=e5+t|0,J1=c5+t|0,H1=h2+1|0,h5=(H1|0)==(s|0),!h5;)h2=H1,a5=X1,I5=G1,e5=x1,c5=J1;if(V1=(t|0)<2,!V1){if(Y1=(t|0)==2,!Y1){if(Q1)for(t2=t<<1,v5=0,f5=0;;){for(n0=f5<<2,f0=n0+t2|0,X2=2,n5=f5,T2=n0,z5=f0;q1=n5+2|0,d2=T2+2|0,Z1=z5+-2|0,I2=q1+m|0,A2=X2+-2|0,C2=g+(A2<<2)|0,$2=+o[C2>>2],f2=I2+-1|0,g2=A+(f2<<2)|0,n2=+o[g2>>2],u2=n2*$2,s2=X2+-1|0,l2=g+(s2<<2)|0,i2=+o[l2>>2],a2=A+(I2<<2)|0,m2=+o[a2>>2],r2=m2*i2,D2=r2+u2,S2=m2*$2,y2=i2*n2,G2=S2-y2,M2=I2+m|0,O2=h+(A2<<2)|0,p2=+o[O2>>2],W2=M2+-1|0,q2=A+(W2<<2)|0,K2=+o[q2>>2],V2=K2*p2,Z2=h+(s2<<2)|0,A5=+o[Z2>>2],Y2=A+(M2<<2)|0,N1=+o[Y2>>2],t5=N1*A5,T5=t5+V2,i5=N1*p2,L5=A5*K2,j2=i5-L5,_5=M2+m|0,V5=p+(A2<<2)|0,u5=+o[V5>>2],b2=_5+-1|0,y5=A+(b2<<2)|0,o5=+o[y5>>2],F2=o5*u5,R2=p+(s2<<2)|0,Q2=+o[R2>>2],Q5=A+(_5<<2)|0,E5=+o[Q5>>2],M5=E5*Q2,q5=M5+F2,R5=E5*u5,z2=Q2*o5,C5=R5-z2,$5=q5+D2,d5=q5-D2,w5=C5+G2,T1=G2-C5,B=A+(q1<<2)|0,b=+o[B>>2],D=b+j2,k=b-j2,v=n5+1|0,_=A+(v<<2)|0,Q=+o[_>>2],L=Q+T5,R=Q-T5,M=$5+L,G=T2|1,O=$+(G<<2)|0,o[O>>2]=M,q=w5+D,H=$+(d2<<2)|0,o[H>>2]=q,K=R-T1,t0=z5+-3|0,Z=$+(t0<<2)|0,o[Z>>2]=K,A0=d5-k,j=$+(Z1<<2)|0,o[j>>2]=A0,r0=T1+R,J=d2+t2|0,s0=J+-1|0,Y=$+(s0<<2)|0,o[Y>>2]=r0,h0=d5+k,i0=$+(J<<2)|0,o[i0>>2]=h0,e0=L-$5,d0=Z1+t2|0,c0=d0+-1|0,$0=$+(c0<<2)|0,o[$0>>2]=e0,l0=w5-D,m0=$+(d0<<2)|0,o[m0>>2]=l0,g0=X2+2|0,I0=(g0|0)<(t|0),I0;)X2=g0,n5=q1,T2=d2,z5=Z1;if(o2=f5+t|0,e2=v5+1|0,l5=(e2|0)==(s|0),l5)break;v5=e2,f5=o2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,y0=S0+m|0,D0=t<<2,Q0=t<<1,!!Q1)for(w0=y0+E|0,r5=0,J2=y0,F5=w0,k5=t,i3=t;B0=A+(J2<<2)|0,x0=+o[B0>>2],Z0=A+(F5<<2)|0,R0=+o[Z0>>2],v0=R0+x0,G0=v0*-.7071067690849304,U0=x0-R0,O0=U0*.7071067690849304,k0=i3+-1|0,K0=A+(k0<<2)|0,N0=+o[K0>>2],M0=O0+N0,P0=k5+-1|0,W0=$+(P0<<2)|0,o[W0>>2]=M0,J0=+o[K0>>2],V0=J0-O0,j0=k5+Q0|0,q0=j0+-1|0,o1=$+(q0<<2)|0,o[o1>>2]=V0,z0=J2+m|0,r1=A+(z0<<2)|0,L0=+o[r1>>2],s1=G0-L0,h1=$+(k5<<2)|0,o[h1>>2]=s1,u1=+o[r1>>2],E1=u1+G0,f1=$+(j0<<2)|0,o[f1>>2]=E1,d1=J2+t|0,g1=F5+t|0,a1=k5+D0|0,$1=i3+t|0,X0=r5+1|0,x5=(X0|0)==(s|0),!x5;)r5=X0,J2=d1,F5=g1,k5=a1,i3=$1}}function Jy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0;if(D1=C,h=s5(s,t)|0,p=t<<1,L=(s|0)>0,L)for(A0=p+-1|0,B1=0,C1=0,k1=h;c0=A+(C1<<2)|0,S0=+o[c0>>2],G0=A+(k1<<2)|0,V0=+o[G0>>2],E1=V0+S0,A1=C1<<1,m=$+(A1<<2)|0,o[m>>2]=E1,E=+o[c0>>2],y=+o[G0>>2],B=E-y,b=A0+A1|0,D=$+(b<<2)|0,o[D>>2]=B,k=C1+t|0,v=k1+t|0,_=B1+1|0,a1=(_|0)==(s|0),!a1;)B1=_,C1=k,k1=v;if(Q=(t|0)<2,!Q){if(R=(t|0)==2,!R){if(L)for(p1=0,y1=0,S1=h;;){for(K0=y1<<1,N0=K0+p|0,X0=2,M1=S1,_1=N0,R1=y1,F1=K0;O=M1+2|0,q=_1+-2|0,H=R1+2|0,K=F1+2|0,t0=X0+-2|0,Z=g+(t0<<2)|0,j=+o[Z>>2],r0=M1+1|0,o0=A+(r0<<2)|0,J=+o[o0>>2],s0=J*j,Y=X0+-1|0,h0=g+(Y<<2)|0,i0=+o[h0>>2],e0=A+(O<<2)|0,d0=+o[e0>>2],$0=d0*i0,l0=$0+s0,X=d0*j,m0=i0*J,g0=X-m0,I0=A+(H<<2)|0,n0=+o[I0>>2],f0=g0+n0,p0=$+(K<<2)|0,o[p0>>2]=f0,C0=+o[I0>>2],y0=g0-C0,D0=$+(q<<2)|0,o[D0>>2]=y0,E0=R1+1|0,Q0=A+(E0<<2)|0,w0=+o[Q0>>2],B0=w0+l0,x0=F1|1,Z0=$+(x0<<2)|0,o[Z0>>2]=B0,R0=+o[Q0>>2],v0=R0-l0,U0=_1+-3|0,O0=$+(U0<<2)|0,o[O0>>2]=v0,H0=X0+2|0,k0=(H0|0)<(t|0),k0;)X0=H0,M1=O,_1=q,R1=H,F1=K;if(M=y1+t|0,F=S1+t|0,G=p1+1|0,$1=(G|0)==(s|0),$1)break;p1=G,y1=M,S1=F}if(M0=(t|0)%2&-1,P0=(M0|0)==1,P0)return}if(W0=t+-1|0,!!L)for(J0=h+W0|0,Q1=0,v1=t,L1=J0,b1=W0;j0=A+(L1<<2)|0,q0=+o[j0>>2],Y0=-q0,o1=$+(v1<<2)|0,o[o1>>2]=Y0,z0=A+(b1<<2)|0,r1=e[z0>>2]|0,L0=v1+-1|0,s1=$+(L0<<2)|0,e[s1>>2]=r1,h1=v1+p|0,u1=L1+t|0,f1=b1+t|0,d1=Q1+1|0,g1=(d1|0)==(s|0),!g1;)Q1=d1,v1=h1,L1=u1,b1=f1}}function Wy(t,s,A,$,g,h,p,m,E,y){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,E=E|0,y=y|0;var B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0;vt=C,D=+(s|0),k=6.2831854820251465/D,pt=+AA(+k),Y8=+Vn(+k),C2=s+1|0,b3=C2>>1,Ke=t+-1|0,z9=Ke>>1,Oe=s5(A,t)|0,Se=s5(s,t)|0,p9=(t|0)==1;e:do if(!p9){if(x8=($|0)>0,x8)for(_4=0;f0=p+(_4<<2)|0,Z0=e[f0>>2]|0,P0=E+(_4<<2)|0,e[P0>>2]=Z0,s1=_4+1|0,Bt=(s1|0)==($|0),!Bt;)_4=s1;if(K=(s|0)>1,K)for(i0=(A|0)>0,wt=1,Z8=0;;){if(B1=Z8+Oe|0,i0)for(l8=0,A9=B1;_1=h+(A9<<2)|0,V1=e[_1>>2]|0,$2=m+(A9<<2)|0,e[$2>>2]=V1,r2=A9+t|0,K2=l8+1|0,o9=(K2|0)==(A|0),!o9;)l8=K2,A9=r2;if(j2=wt+1|0,lt=(j2|0)==(s|0),lt)break;wt=j2,Z8=B1}if(Q5=0-t|0,T1=(z9|0)>(A|0),T1){if(K)for(V3=(A|0)>0,K5=(t|0)>2,C3=Q5,je=1,T8=0;;){if(L3=T8+Oe|0,x6=C3+t|0,V3)for(s6=L3-t|0,A3=x6+-1|0,ut=0,G8=s6;;){if(P3=G8+t|0,K5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,w6=Bi+2|0,ve=E4+1|0,n4=y+(ve<<2)|0,V9=+o[n4>>2],Y9=Bi+1|0,h9=h+(Y9<<2)|0,P9=+o[h9>>2],C9=P9*V9,v4=y+(O3<<2)|0,Ze=+o[v4>>2],ke=h+(w6<<2)|0,k4=+o[ke>>2],V4=k4*Ze,nt=V4+C9,Y4=m+(Y9<<2)|0,o[Y4>>2]=nt,K9=+o[n4>>2],s4=+o[ke>>2],R4=s4*K9,st=+o[v4>>2],n9=+o[h9>>2],u4=n9*st,B9=R4-u4,T6=m+(w6<<2)|0,o[T6>>2]=B9,J9=ct+2|0,f9=(J9|0)<(t|0),f9;)ct=J9,E4=O3,Bi=w6;if(N9=ut+1|0,$t=(N9|0)==(A|0),$t)break;ut=N9,G8=P3}if(d4=je+1|0,Ct=(d4|0)==(s|0),Ct)break;C3=x6,je=d4,T8=L3}}else if(K)for(I5=(t|0)>2,h3=(A|0)>0,Z4=Q5,l4=1,z8=0;;){if(s9=Z4+t|0,h4=z8+Oe|0,I5)for(f4=s9+-1|0,yt=2,gt=f4,$i=h4;;){if(S9=gt+2|0,o4=$i+2|0,h3)for(O9=gt+1|0,I4=y+(O9<<2)|0,I6=y+(S9<<2)|0,dt=0,ti=o4;z4=+o[I4>>2],I9=ti+-1|0,S4=h+(I9<<2)|0,b9=+o[S4>>2],m9=b9*z4,z6=+o[I6>>2],F4=h+(ti<<2)|0,T4=+o[F4>>2],ot=T4*z6,x9=ot+m9,mt=m+(I9<<2)|0,o[mt>>2]=x9,j3=+o[I4>>2],xe=+o[F4>>2],be=xe*j3,q9=+o[I6>>2],a4=+o[S4>>2],h8=a4*q9,N4=be-h8,f8=m+(ti<<2)|0,o[f8>>2]=N4,e8=ti+t|0,I8=dt+1|0,Rt=(I8|0)==(A|0),!Rt;)dt=I8,ti=e8;if(m8=yt+2|0,Ut=(m8|0)<(t|0),Ut)yt=m8,gt=S9,$i=o4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(s|0),m4)break;Z4=s9,l4=Pt,z8=h4}if(Ot=s5(Oe,s)|0,qt=(z9|0)<(A|0),t8=(b3|0)>1,!qt){if(!t8)break;for(i8=(A|0)>0,L8=(t|0)>2,j4=1,ht=0,Hi=Ot;;){if(Q0=ht+Oe|0,w0=Hi-Oe|0,i8)for(j9=0,li=Q0,ci=w0;;){if(L8)for(D4=2,ii=li,Si=ci;B0=ii+2|0,x0=Si+2|0,R0=ii+1|0,v0=m+(R0<<2)|0,G0=+o[v0>>2],U0=Si+1|0,O0=m+(U0<<2)|0,H0=+o[O0>>2],k0=H0+G0,K0=h+(R0<<2)|0,o[K0>>2]=k0,N0=m+(B0<<2)|0,M0=+o[N0>>2],W0=m+(x0<<2)|0,J0=+o[W0>>2],V0=M0-J0,j0=h+(U0<<2)|0,o[j0>>2]=V0,q0=+o[N0>>2],Y0=+o[W0>>2],o1=Y0+q0,z0=h+(B0<<2)|0,o[z0>>2]=o1,r1=+o[O0>>2],L0=+o[v0>>2],h1=r1-L0,u1=h+(x0<<2)|0,o[u1>>2]=h1,E1=D4+2|0,f1=(E1|0)<(t|0),f1;)D4=E1,ii=B0,Si=x0;if(d1=li+t|0,A1=ci+t|0,g1=j9+1|0,W9=(g1|0)==(A|0),W9)break;j9=g1,li=d1,ci=A1}if(a1=j4+1|0,U4=(a1|0)==(b3|0),U4)break e;j4=a1,ht=Q0,Hi=w0}}if(t8)for(_=(t|0)>2,Q=(A|0)>0,Te=1,j8=0,qi=Ot;;){if(L=j8+Oe|0,R=qi-Oe|0,_)for(p4=2,yi=L,vi=R;;){if(M=yi+2|0,F=vi+2|0,Q)for(G=F-t|0,O=M-t|0,Ft=0,Zi=O,f7=G;q=Zi+t|0,H=f7+t|0,t0=q+-1|0,Z=m+(t0<<2)|0,A0=+o[Z>>2],j=H+-1|0,r0=m+(j<<2)|0,o0=+o[r0>>2],J=o0+A0,s0=h+(t0<<2)|0,o[s0>>2]=J,Y=m+(q<<2)|0,h0=+o[Y>>2],e0=m+(H<<2)|0,d0=+o[e0>>2],c0=h0-d0,$0=h+(j<<2)|0,o[$0>>2]=c0,l0=+o[Y>>2],X=+o[e0>>2],m0=X+l0,g0=h+(q<<2)|0,o[g0>>2]=m0,I0=+o[r0>>2],n0=+o[Z>>2],p0=I0-n0,C0=h+(H<<2)|0,o[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(A|0),!Mt;)Ft=S0,Zi=q,f7=H;if(y0=p4+2|0,D0=(y0|0)<(t|0),D0)p4=y0,yi=M,vi=F;else break}if(E0=Te+1|0,At=(E0|0)==(b3|0),At)break;Te=E0,j8=L,qi=R}}while(!1);if(v=($|0)>0,v)for(D9=0;$1=E+(D9<<2)|0,X0=e[$1>>2]|0,p1=p+(D9<<2)|0,e[p1>>2]=X0,Q1=D9+1|0,Jt=(Q1|0)==($|0),!Jt;)D9=Q1;if(C1=s5($,s)|0,y1=(b3|0)>1,y1){for(v1=(A|0)>0,Wt=1,Nt=0,Vi=C1;;){if(k1=Nt+Oe|0,S1=Vi-Oe|0,v1)for(L1=S1-t|0,M1=k1-t|0,c8=0,g7=M1,d7=L1;b1=g7+t|0,R1=d7+t|0,F1=m+(b1<<2)|0,P1=+o[F1>>2],D1=m+(R1<<2)|0,O1=+o[D1>>2],X1=O1+P1,G1=h+(b1<<2)|0,o[G1>>2]=X1,x1=+o[D1>>2],J1=+o[F1>>2],H1=x1-J1,Y1=h+(R1<<2)|0,o[Y1>>2]=H1,z1=c8+1|0,A4=(z1|0)==(A|0),!A4;)c8=z1,g7=b1,d7=R1;if(t2=Wt+1|0,o8=(t2|0)==(b3|0),o8)break;Wt=t2,Nt=k1,Vi=S1}if(o2=s+-1|0,e2=s5(o2,$)|0,y1){for(q1=(b3|0)>2,Ht=0,Yt=1,et=1,N8=0,Ei=C1;;){if(d2=N8+$|0,Z1=Ei-$|0,I2=Yt*pt,A2=Ht*Y8,W1=I2-A2,f2=Ht*pt,g2=Yt*Y8,n2=g2+f2,v)for(Qt=0,zi=d2,ui=Z1,Xi=e2,ni=$;u2=p+(Qt<<2)|0,s2=+o[u2>>2],l2=ni+1|0,i2=p+(ni<<2)|0,a2=+o[i2>>2],m2=a2*W1,k2=m2+s2,D2=zi+1|0,S2=E+(zi<<2)|0,o[S2>>2]=k2,y2=Xi+1|0,G2=p+(Xi<<2)|0,M2=+o[G2>>2],O2=M2*n2,p2=ui+1|0,W2=E+(ui<<2)|0,o[W2>>2]=O2,q2=Qt+1|0,E8=(q2|0)==($|0),!E8;)Qt=q2,zi=D2,ui=p2,Xi=y2,ni=l2;if(q1)for(Vt=n2,_t=W1,C8=2,Ki=$,K8=e2;;){if(U2=Ki+$|0,V2=K8-$|0,Z2=_t*W1,A5=Vt*n2,Y2=Z2-A5,N1=Vt*W1,t5=_t*n2,T5=t5+N1,v)for(a8=0,bi=d2,xi=Z1,Li=U2,U8=V2;i5=Li+1|0,L5=p+(Li<<2)|0,p5=+o[L5>>2],_5=p5*Y2,V5=bi+1|0,u5=E+(bi<<2)|0,b2=+o[u5>>2],y5=b2+_5,o[u5>>2]=y5,o5=U8+1|0,F2=p+(U8<<2)|0,R2=+o[F2>>2],Q2=R2*T5,N5=xi+1|0,E5=E+(xi<<2)|0,M5=+o[E5>>2],q5=M5+Q2,o[E5>>2]=q5,R5=a8+1|0,M8=(R5|0)==($|0),!M8;)a8=R5,bi=V5,xi=N5,Li=i5,U8=o5;if(z2=C8+1|0,s8=(z2|0)==(b3|0),s8)break;Vt=T5,_t=Y2,C8=z2,Ki=U2,K8=V2}if(C5=et+1|0,R8=(C5|0)==(b3|0),R8)break;Ht=n2,Yt=W1,et=C5,N8=d2,Ei=Z1}if(y1)for(A8=1,Xt=0;;){if($5=Xt+$|0,v)for(Z9=0,X8=$5;d5=X8+1|0,w5=p+(X8<<2)|0,x5=+o[w5>>2],h5=E+(Z9<<2)|0,l5=+o[h5>>2],X2=l5+x5,o[h5>>2]=X2,h2=Z9+1|0,p8=(h2|0)==($|0),!p8;)Z9=h2,X8=d5;if(v5=A8+1|0,b4=(v5|0)==(b3|0),b4)break;A8=v5,Xt=$5}}}if(r5=(t|0)<(A|0),r5){if(J2=(t|0)>0,J2)for(n5=(A|0)>0,W4=0;;){if(n5)for(X4=0,C4=W4,ei=W4;W5=m+(C4<<2)|0,r3=e[W5>>2]|0,a3=g+(ei<<2)|0,e[a3>>2]=r3,y3=C4+t|0,G5=ei+Se|0,Z5=X4+1|0,G4=(Z5|0)==(A|0),!G4;)X4=Z5,C4=y3,ei=G5;if(x3=W4+1|0,at=(x3|0)==(t|0),at)break;W4=x3}}else if(a5=(A|0)>0,a5)for(f5=(t|0)>0,Tt=0,O4=0,Ci=0;;){if(f5)for(J4=0,Yi=O4,Ji=Ci;F5=Yi+1|0,e5=m+(Yi<<2)|0,c5=e[e5>>2]|0,T2=Ji+1|0,k5=g+(Ji<<2)|0,e[k5>>2]=c5,z5=J4+1|0,Lt=(z5|0)==(t|0),!Lt;)J4=z5,Yi=F5,Ji=T2;if(i3=O4+t|0,B5=Ci+Se|0,I3=Tt+1|0,Le=(I3|0)==(A|0),Le)break;Tt=I3,O4=i3,Ci=B5}if(f3=t<<1,w3=s5(Oe,s)|0,y1)for(e6=(A|0)>0,$8=1,F8=0,Qi=0,Wi=w3;;){if(X5=F8+f3|0,_3=Qi+Oe|0,t3=Wi-Oe|0,e6)for(De=0,ri=X5,Di=_3,t7=t3;a6=m+(Di<<2)|0,G3=e[a6>>2]|0,Y3=ri+-1|0,c3=g+(Y3<<2)|0,e[c3>>2]=G3,g3=m+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ri<<2)|0,e[Q3>>2]=u3,H5=ri+Se|0,Y5=Di+t|0,D5=t7+t|0,z3=De+1|0,Et=(z3|0)==(A|0),!Et;)De=z3,ri=H5,Di=Y5,t7=D5;if(U5=$8+1|0,K4=(U5|0)==(b3|0),K4)break;$8=U5,F8=X5,Qi=_3,Wi=t3}if(!p9){if(l6=(z9|0)<(A|0),n3=0-t|0,!l6){if(!y1)return;for(B=(A|0)<1,b=(t|0)<3,xt=B|b,Zt=1,u8=n3,wi=0,gi=0,h7=w3;;){if(C6=u8+f3|0,D3=wi+f3|0,A6=gi+Oe|0,r6=h7-Oe|0,!xt)for(g8=0,e7=C6,di=D3,x4=A6,hi=r6;;){for(a9=2;h6=t-a9|0,m3=a9+x4|0,L6=m3+-1|0,M6=m+(L6<<2)|0,S6=+o[M6>>2],n6=a9+hi|0,f6=n6+-1|0,b6=m+(f6<<2)|0,N6=+o[b6>>2],j6=N6+S6,k6=a9+di|0,R3=k6+-1|0,o6=g+(R3<<2)|0,o[o6>>2]=j6,B6=+o[M6>>2],W3=+o[b6>>2],F3=B6-W3,Z3=h6+e7|0,t6=Z3+-1|0,R6=g+(t6<<2)|0,o[R6>>2]=F3,c6=m+(m3<<2)|0,s3=+o[c6>>2],K6=m+(n6<<2)|0,g6=+o[K6>>2],y6=g6+s3,T3=g+(k6<<2)|0,o[T3>>2]=y6,H6=+o[K6>>2],$6=+o[c6>>2],D6=H6-$6,G6=g+(Z3<<2)|0,o[G6>>2]=D6,ee=a9+2|0,Q6=(ee|0)<(t|0),Q6;)a9=ee;if(K3=e7+Se|0,j5=di+Se|0,M3=x4+t|0,d3=hi+t|0,J3=g8+1|0,r8=(J3|0)==(A|0),r8)break;g8=J3,e7=K3,di=j5,x4=M3,hi=d3}if(X6=Zt+1|0,n8=(X6|0)==(b3|0),n8)break;Zt=X6,u8=C6,wi=D3,gi=A6,h7=r6}return}if(y1)for(l3=(t|0)>2,U3=(A|0)>0,$4=1,c4=n3,u7=0,ki=0,ji=w3;;){if(re=c4+f3|0,V6=u7+f3|0,oe=ki+Oe|0,ue=ji-Oe|0,l3&&(U6=re+t|0,U3))for(P4=2;;){for(F9=P4+ue|0,T9=P4+oe|0,U9=P4+V6|0,H9=U6-P4|0,jt=0,_i=H9,J8=U9,Mi=T9,le=F9;te=Mi+-1|0,_6=m+(te<<2)|0,P6=+o[_6>>2],O6=le+-1|0,ae=m+(O6<<2)|0,he=+o[ae>>2],ne=he+P6,Be=J8+-1|0,ye=g+(Be<<2)|0,o[ye>>2]=ne,Qe=+o[_6>>2],fe=+o[ae>>2],Ie=Qe-fe,Ve=_i+-1|0,q6=g+(Ve<<2)|0,o[q6>>2]=Ie,Ae=m+(Mi<<2)|0,Ye=+o[Ae>>2],we=m+(le<<2)|0,w9=+o[we>>2],u9=w9+Ye,E9=g+(J8<<2)|0,o[E9>>2]=u9,ze=+o[we>>2],r9=+o[Ae>>2],Fe=ze-r9,J6=g+(_i<<2)|0,o[J6>>2]=Fe,$e=_i+Se|0,v9=J8+Se|0,R9=Mi+t|0,d9=le+t|0,_e=jt+1|0,zt=(_e|0)==(A|0),!zt;)jt=_e,_i=$e,J8=v9,Mi=R9,le=d9;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(k9=$4+1|0,Kt=(k9|0)==(b3|0),Kt)break;$4=k9,c4=re,u7=V6,ki=oe,ji=ue}}}function cD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0,y8=0,P8=0,sn=0,kr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,Sr=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,br=0,dn=0,To=0,or=0,No=0,ls=0,hn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,ds=0,hs=0,Po=0,Dr=0,fs=0,p7=0,In=0,_r=0,ar=0,xr=0,Z7=0,Lr=0,Is=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,Ar=0,$r=0,Rr=0,E7=0,Oo=0,fi=0,gl=0,mn=0,pn=0,Vu=0,ul=0,qo=0,Yu=0,cA=0,dl=0,zu=0,Ku=0,Ju=0,gA=0,hl=0,fl=0,uA=0,En=0,Il=0,Wu=0,Ho=0,lr=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,nd=0,sd=0,od=0,ml=0,Fr=0,ad=0,Ad=0,pl=0,$d=0,dA=0,Vo=0,hA=0,ld=0,cd=0,fA=0,El=0,Cl=0,Bl=0,IA=0,yl=0,Yo=0,gd=0,ud=0,Ql=0,dd=0,hd=0,wl=0,fd=0,Id=0,vl=0,kl=0,Sl=0,bl=0,Dl=0,Cn=0,md=0,_l=0,pd=0,xl=0,Ll=0,Ed=0,Cd=0,Bd=0,mA=0,Ml=0,Rl=0,ms=0,Fl=0,pA=0,yd=0,Tl=0,Qd=0,Nl=0,wd=0,vd=0,Gl=0,Ul=0,kd=0,zo=0,Sd=0,EA=0,Pl=0,Ol=0,bd=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,Ko=0,ql=0,Hl=0,Vl=0,Jo=0,Rd=0,Yl=0,Fd=0,zl=0,Td=0,Nd=0,Kl=0,CA=0,Gd=0,Ud=0,Wo=0,Pd=0,Zo=0,Od=0,BA=0,qd=0,Hd=0,Vd=0,Jl=0,Yd=0,zd=0,Kd=0,Jd=0,Wl=0,Zl=0,cr=0,jl=0,jo=0,yA=0,QA=0,Bn=0,Xl=0,yn=0,Wd=0,ec=0,Zd=0,jd=0,Xd=0,eh=0,Xo=0,wA=0,Tr=0,th=0,ih=0,tc=0,vA=0,ic=0,rc=0,rh=0,nc=0,nh=0,kA=0,sh=0,oh=0,Je=0,ah=0,sc=0,Ah=0,$h=0,SA=0,lh=0,bA=0,oc=0,ch=0,gh=0,ac=0,Ac=0,uh=0,DA=0,_A=0,$c=0,lc=0,dh=0,cc=0,xA=0,hh=0,gc=0,fh=0,Ih=0,mh=0,ph=0,uc=0,dc=0,LA=0,ea=0,hc=0,Eh=0,fc=0,Ic=0,Ch=0,Bh=0,yh=0,mc=0,Qh=0,wh=0,vh=0,kh=0,Sh=0,bh=0,pc=0,Dh=0,Ec=0,_h=0,Qn=0,xh=0,Cc=0,Lh=0,ps=0,Bc=0,MA=0,Mh=0,ta=0,RA=0,Rh=0,FA=0,yc=0,Fh=0,Th=0,Nh=0,Gh=0,Uh=0,Qc=0,Ph=0,Oh=0,qh=0,ia=0,Es=0,TA=0,Hh=0,NA=0,Vh=0,Yh=0,zh=0,wc=0,Kh=0,Jh=0,Wh=0,Zh=0,jh=0,ra=0,Xh=0,ef=0,vc=0,tf=0,rf=0,nf=0,sf=0,C7=0,kc=0,B7=0,Sc=0,GA=0,of=0,r7=0,Cs=0,af=0,Af=0,$f=0,lf=0,cf=0,bc=0,gf=0,uf=0,Dc=0,df=0,hf=0,Bs=0,UA=0,ff=0,_c=0,If=0,mf=0,na=0,pf=0,Ef=0,xc=0,Lc=0,Cf=0,Bf=0,wn=0,yf=0,Qf=0,vn=0,wf=0,Mc=0,vf=0,kf=0,ys=0,Rc=0,Sf=0,Fc=0,bf=0,gr=0,PA=0,Df=0,Tc=0,Nc=0,_f=0,xf=0,Gc=0,Lf=0,Mf=0,Rf=0,Uc=0,Ff=0,Qs=0,Tf=0,kn=0,Nf=0,Gf=0,OA=0,Uf=0,qA=0,HA=0,Pf=0,Pc=0,Oc=0,Of=0,qc=0,Hc=0,Vc=0,qf=0,Yc=0,zc=0,Hf=0,Vf=0,Kc=0,Jc=0,Yf=0,Wc=0,Zc=0,zf=0,Kf=0,jc=0,VA=0,Xc=0,eg=0,tg=0,ig=0,Jf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,rg=0,YA=0,rI=0,nI=0,sI=0,ng=0,sg=0,oI=0,og=0,zA=0,sa=0,ag=0,aI=0,AI=0,$I=0,lI=0,Ag=0,oa=0,cI=0,gI=0,uI=0,dI=0,hI=0,fI=0,II=0,mI=0,$g=0,pI=0,EI=0,CI=0,BI=0,aa=0,lg=0,yI=0,QI=0,Sn=0,cg=0,gg=0,KA=0,wI=0,ug=0,vI=0,dg=0,hg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,JA=0,xI=0,LI=0,MI=0,RI=0,fg=0,FI=0,Ig=0,TI=0,NI=0,mg=0,Nr=0,pg=0,Eg=0,GI=0,Cg=0,$a=0,UI=0,PI=0,OI=0,la=0,Bg=0,qI=0,HI=0,yg=0,VI=0,YI=0,WA=0,ca=0,zI=0,KI=0,JI=0,Qg=0,wg=0,vg=0,WI=0,ZI=0,ws=0,jI=0,kg=0,XI=0,ZA=0,Sg=0,em=0,tm=0,im=0,rm=0,bg=0,nm=0,sm=0,Dg=0,ga=0,om=0,am=0,Am=0,vs=0,_g=0,xg=0,$m=0,Lg=0,Mg=0,L7=0,Rg=0,ur=0,lm=0,cm=0,gm=0,um=0,jA=0,ua=0,Fg=0,Tg=0,dm=0,da=0,ks=0,hm=0,ha=0,XA=0,fm=0,e$=0,Im=0,mm=0,Ng=0,fa=0,Gg=0,pm=0,Em=0,Cm=0,Bm=0,Ug=0,ym=0,si=0,_9=0,n7=0,Qm=0,Pg=0,Og=0,t$=0,wm=0,Gr=0,Ss=0,vm=0,km=0,qg=0,i$=0,Sm=0,Hg=0,Vg=0,Yg=0,r$=0,n$=0,zg=0,bs=0,s$=0,Kg=0,bm=0,bn=0,Dm=0,Jg=0,Ia=0,_m=0,Wg=0,M7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,R7=0,Nm=0,Gm=0,Um=0,Zg=0,y7=0,ma=0,o$=0,jg=0,Xg=0,Pm=0,eu=0,tu=0,Om=0,qm=0,iu=0,ru=0,Hm=0,Vm=0,nu=0,Ym=0,Ds=0,pa=0,Ea=0,zm=0,a$=0,Km=0,Jm=0,su=0,_s=0,Wm=0,Zm=0,A$=0,$$=0,Ca=0,l$=0,c$=0,dr=0,Ur=0,Pr=0,g$=0,u$=0,xs=0,hr=0,Dn=0,jm=0,fr=0,_n=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ou=0,au=0,Qa=0,d$=0,Ni=0,wa=0,Or=0,h$=0,ep=0,f$=0,tp=0,I$=0,Au=0,va=0,ip=0,rp=0,ka=0,np=0,Sa=0,xn=0,tt=0,L9=0,$u=0,sp=0,m$=0,lu=0,op=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,cu=0,gp=0,up=0,dp=0,s7=0,Da=0,Ln=0,p$=0,Ls=0,Ms=0,oi=0,Rs=0,gu=0,uu=0,_a=0,Fs=0,Ts=0,Ns=0,hp=0,Gs=0,Ir=0,du=0,qr=0,o7=0,E$=0,C$=0,X7=0,B$=0,y$=0,Q$=0,Hr=0,d6=0,xa=0,Vr=0,hu=0,L4=0,w$=0,kt=0,Us=0,Mn=0,Rn=0,qe=0,Fn=0,Yr=0,X9=0,v$=0,zC=0,fp=0,fE=0,IE=0,KC=0,Ip=0,aQ=0,AQ=0,$Q=0,lQ=0,cQ=0,gQ=0,uQ=0,dQ=0,hQ=0,fQ=0,IQ=0,mQ=0,JC=0,WC=0,pQ=0,EQ=0,CQ=0,fu=0,mE=0,Q7=0,Iu=0,mu=0,pu=0,Eu=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,yp=0,Qp=0,wp=0,vp=0,kp=0,pE=0,La=0,mr=0,k$=0,Cu=0,S$=0,ZC=0,Ma=0,Sp=0,b$=0,EE=0,CE=0,bp=0,BE=0,yE=0,QE=0,wE=0,vE=0,kE=0,SE=0,jC=0,XC=0,eB=0,tB=0,iB=0,Ra=0,Fa=0,Ta=0,Na=0,BQ=0,pr=0,$9=0,UD=0,Ga=0,bE=0;if(UD=C,I0=t+28|0,n0=e[I0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,Is=e[ui>>2]|0,ql=(Is|0)==0,s=ql&1,ps=n0+3496|0,qc=+c1[ps>>3],Qg=qc>-80,Qg?c1[ps>>3]=-80:(qm=qc<-200,qm&&(c1[ps>>3]=-200)),f0=n0+3512|0,j2=+c1[f0>>3],A3=j2>0,A3?c1[f0>>3]=0:(k9=j2<-99999,k9&&(c1[f0>>3]=-99999)),V4=n0+3396|0,T6=e[V4>>2]|0,O9=(T6|0)==0,O9))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+c1[N4>>3],Et=T6+24|0,R8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,$4=~~i8,jt=R8+($4<<2)|0,Y8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ci=e[Xt>>2]|0,e[n0>>2]=Y8,vi=n0+4|0,e[vi>>2]=Ci,K8=(Y8|0)==(Ci|0),ni=T6+144|0,B8=e[ni>>2]|0,lo=(B8|0)>0,lo){for(Io=T6+136|0,Co=T6+140|0,ss=T6+148|0,or=i8,Tr=n0,pE=0;;){if(_o=~~or,hs=e[Io>>2]|0,j7=e[Co>>2]|0,fi=e[ss>>2]|0,Ku=fi+(pE<<2)|0,Zu=e[Ku>>2]|0,Fr=c9(1,1120)|0,El=Zu+(_o<<2)|0,wl=e[El>>2]|0,pd=j7+(wl*1120|0)|0,g9(Fr|0,pd|0,1120)|0,pA=e[Fr>>2]|0,Sd=(pA|0)>0,Sd){for(Hl=Fr+4|0,mE=0,SE=-1;;)if(xA=Hl+(mE<<2)|0,hc=e[xA>>2]|0,kh=(hc|0)>(SE|0),A0=kh?hc:SE,Bc=mE+1|0,IQ=(Bc|0)==(pA|0),IQ){j=A0;break}else mE=Bc,SE=A0;if(Gd=(j|0)<0,!Gd){for(Yd=Fr+256|0,Bn=Tr+24|0,sh=Fr+192|0,ch=Fr+320|0,S$=0,QE=-1;;){if(Nc=Yd+(S$<<2)|0,kn=e[Nc>>2]|0,Hc=(kn|0)>(QE|0),t0=Hc?kn:QE,Zc=e[Bn>>2]|0,Zf=Zc+kn|0,e[Nc>>2]=Zf,ng=sh+(S$<<2)|0,Ag=e[ng>>2]|0,pI=(Ag|0)==31,pI)wE=t0;else for(_e=Ag,BE=0,kE=t0;;)if(KA=(ch+(S$<<5)|0)+(BE<<2)|0,Aa=e[KA>>2]|0,mg=(Aa|0)>(kE|0),Z=mg?Aa:kE,Bg=(Aa|0)>-1,Bg?(wg=e[Bn>>2]|0,tm=wg+Aa|0,e[KA>>2]=tm,o0=e[ng>>2]|0,XA=o0):XA=_e,vs=BE+1|0,gm=1<>2]|0,of=e[ef>>2]|0,Dc=e[Bn>>2]|0,Ef=Dc+1|0,e[Bn>>2]=Ef,vf=(Tr+1824|0)+(Dc<<2)|0,e[vf>>2]=of,uQ=(vE|0)==0,!uQ))for(ZC=0;n$=ZC+1|0,i0=e[El>>2]|0,Wg=hs+(i0<<2)|0,Um=e[Wg>>2]|0,iu=Um+(n$<<2)|0,Km=e[iu>>2]|0,dr=e[Bn>>2]|0,Xm=dr+1|0,e[Bn>>2]=Xm,wa=(Tr+1824|0)+(dr<<2)|0,e[wa>>2]=Km,gQ=(n$|0)==(vE|0),!gQ;)ZC=n$}}if(ka=Tr+16|0,ap=e[ka>>2]|0,Da=(Tr+800|0)+(ap<<2)|0,e[Da>>2]=1,Ts=e[ka>>2]|0,B$=(Tr+1056|0)+(Ts<<2)|0,e[B$>>2]=Fr,p0=e[ka>>2]|0,R0=p0+1|0,e[ka>>2]=R0,W0=pE+1|0,h1=e[ni>>2]|0,p1=(W0|0)<(h1|0),!p1)break;r0=+c1[N4>>3],l0=e[I0>>2]|0,or=r0,Tr=l0,pE=W0}m0=e[I0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,Y1=+c1[R1>>3],$2=T6+124|0,r2=e[$2>>2]|0,K2=T6+128|0,p5=e[K2>>2]|0,N5=~~Y1,x5=+(N5|0),n5=Y1-x5,W5=X5+2868|0,H5=p5+(N5<<3)|0,L3=+c1[H5>>3],x6=~~L3,s6=r2+(x6*492|0)|0,g9(W5|0,s6|0,492)|0,g6=+c1[H5>>3],re=1-n5,O6=g6*re,q6=N5+1|0,J6=p5+(q6<<3)|0,F9=+c1[J6>>3],T9=F9*n5,U9=T9+O6,H9=~~U9,n4=+(H9|0),V9=U9-n4,Ke=V9==0,Y9=(H9|0)>0,jC=Y9&Ke,m=jC?1:V9,h9=jC<<31>>31,F=h9+H9|0,P9=1-m,C9=F+1|0,v4=(r2+(F*492|0)|0)+4|0,Ze=+o[v4>>2],ke=Ze,k4=P9*ke,nt=(r2+(C9*492|0)|0)+4|0,z9=+o[nt>>2],Y4=z9,K9=m*Y4,s4=k4+K9,R4=s4,st=X5+2872|0,o[st>>2]=R4,n9=(r2+(F*492|0)|0)+32|0,u4=+o[n9>>2],B9=u4,J9=P9*B9,Oe=(r2+(C9*492|0)|0)+32|0,f9=+o[Oe>>2],N9=f9,d4=m*N9,s9=J9+d4,h4=s9,f4=X5+2900|0,o[f4>>2]=h4,S9=(r2+(F*492|0)|0)+8|0,o4=+o[S9>>2],I4=o4,Se=P9*I4,I6=(r2+(C9*492|0)|0)+8|0,z4=+o[I6>>2],I9=z4,S4=m*I9,b9=Se+S4,m9=b9,z6=X5+2876|0,o[z6>>2]=m9,F4=(r2+(F*492|0)|0)+36|0,ot=+o[F4>>2],p9=ot,x9=P9*p9,mt=(r2+(C9*492|0)|0)+36|0,j3=+o[mt>>2],xe=j3,be=xe*m,q9=be+x9,a4=q9,h8=X5+2904|0,o[h8>>2]=a4,f8=(r2+(F*492|0)|0)+12|0,x8=+o[f8>>2],e8=x8,I8=e8*P9,m8=(r2+(C9*492|0)|0)+12|0,Ut=+o[m8>>2],Pt=Ut,Ot=Pt*m,qt=Ot+I8,t8=qt,L8=X5+2880|0,o[L8>>2]=t8,Ht=(r2+(F*492|0)|0)+40|0,Vt=+o[Ht>>2],Yt=Vt,_t=Yt*P9,xt=(r2+(C9*492|0)|0)+40|0,pt=+o[xt>>2],zt=pt,Kt=zt*m,r8=Kt+_t,K4=r8,G4=X5+2908|0,o[G4>>2]=K4,at=(r2+(F*492|0)|0)+16|0,Lt=+o[at>>2],Le=Lt,p8=Le*P9,b4=(r2+(C9*492|0)|0)+16|0,E8=+o[b4>>2],M8=E8,s8=M8*m,A4=s8+p8,o8=A4,Jt=X5+2884|0,o[Jt>>2]=o8,Mt=(r2+(F*492|0)|0)+44|0,At=+o[Mt>>2],W9=At,U4=W9*P9,$t=(r2+(C9*492|0)|0)+44|0,Ct=+o[$t>>2],Rt=Ct,o9=Rt*m,lt=o9+U4,Bt=lt,ct=X5+2912|0,o[ct>>2]=Bt,yt=X5+3512|0,p4=+c1[yt>>3],D4=p4,J4=X5+2936|0,o[J4>>2]=D4,W4=T6+132|0,a9=e[W4>>2]|0,E4=n0+3472|0,gt=+c1[E4>>3],_4=gt,D9=~~_4,Qt=+(D9|0),a8=_4-Qt,Z9=a8,C3=e[I0>>2]|0,Z4=(a9|0)==0;e:do if(Z4)wt=C3+4|0,je=e[C3>>2]|0,l4=C3+3240|0,e[l4>>2]=je,Te=e[wt>>2]|0,j4=C3+3300|0,e[j4>>2]=Te,Wt=C3+3244|0,e[Wt>>2]=je,C8=C3+3304|0,e[C8>>2]=Te,A8=C3+3248|0,e[A8>>2]=je,$8=C3+3308|0,e[$8>>2]=Te,Zt=C3+3252|0,e[Zt>>2]=je,l8=C3+3312|0,e[l8>>2]=Te,ut=C3+3256|0,e[ut>>2]=je,dt=C3+3316|0,e[dt>>2]=Te,Ft=C3+3260|0,e[Ft>>2]=je,j9=C3+3320|0,e[j9>>2]=Te,c8=C3+3264|0,e[c8>>2]=je,Tt=C3+3324|0,e[Tt>>2]=Te,X4=C3+3268|0,e[X4>>2]=je,De=C3+3328|0,e[De>>2]=Te,g8=C3+3272|0,e[g8>>2]=je,et=C3+3332|0,e[et>>2]=Te,Z8=C3+3276|0,e[Z8>>2]=je,F8=C3+3336|0,e[F8>>2]=Te,u8=C3+3280|0,e[u8>>2]=je,T8=C3+3340|0,e[T8>>2]=Te,c4=C3+3284|0,e[c4>>2]=je,z8=C3+3344|0,e[z8>>2]=Te,j8=C3+3288|0,e[j8>>2]=je,ht=C3+3348|0,e[ht>>2]=Te,Nt=C3+3292|0,e[Nt>>2]=je,N8=C3+3352|0,e[N8>>2]=Te,O4=C3+3296|0,e[O4>>2]=je,C4=C3+3356|0,e[C4>>2]=Te;else{A9=C3+3120|0,G8=a9+(D9*240|0)|0,pr=A9,Ga=G8,bE=pr+60|0;do e[pr>>2]=e[Ga>>2]|0,pr=pr+4|0,Ga=Ga+4|0;while((pr|0)<(bE|0));$i=C3+3180|0,qi=(a9+(D9*240|0)|0)+60|0,pr=$i,Ga=qi,bE=pr+60|0;do e[pr>>2]=e[Ga>>2]|0,pr=pr+4|0,Ga=Ga+4|0;while((pr|0)<(bE|0));if(Hi=n0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(X8=1-Z9,ei=D9+1|0,Bi=t+8|0,ti=C3+4|0,s0=e[Bi>>2]|0,yi=+(s0|0),mr=0;;){if(li=((a9+(D9*240|0)|0)+120|0)+(mr<<2)|0,g7=+o[li>>2],Yi=g7,Qi=Yi*X8,wi=((a9+(ei*240|0)|0)+120|0)+(mr<<2)|0,u7=+o[wi>>2],ci=u7,d7=ci*Z9,zi=d7+Qi,Ki=zi,Ji=Ki,Wi=Ji*1e3,gi=Wi/yi,ki=e[C3>>2]|0,Zi=+(ki|0),ii=Zi*gi,ri=~~ii,h7=(C3+3e3|0)+(mr<<2)|0,e[h7>>2]=ri,ji=e[ti>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(C3+3060|0)+(mr<<2)|0,e[bi>>2]=Xi,Di=~~Ki,e7=(C3+2940|0)+(mr<<2)|0,e[e7>>2]=Di,_i=((a9+(D9*240|0)|0)+180|0)+(mr<<2)|0,xi=+o[_i>>2],t7=xi,di=t7*X8,J8=((a9+(ei*240|0)|0)+180|0)+(mr<<2)|0,Li=+o[J8>>2],x4=Li,Mi=x4*Z9,U8=Mi+di,hi=U8,le=hi,vt=le*1e3,y8=vt/yi,P8=e[C3>>2]|0,sn=+(P8|0),kr=sn*y8,ao=~~kr,zn=(C3+3240|0)+(mr<<2)|0,e[zn>>2]=ao,Ao=e[ti>>2]|0,Kn=+(Ao|0),$o=Kn*y8,Jn=~~$o,co=(C3+3300|0)+(mr<<2)|0,e[co>>2]=Jn,on=mr+1|0,hQ=(on|0)==15,hQ)break e;mr=on}for(go=(a9+(D9*240|0)|0)+148|0,uo=+o[go>>2],ho=uo,Wn=1-Z9,fo=ho*Wn,Zn=D9+1|0,jn=(a9+(Zn*240|0)|0)+148|0,an=+o[jn>>2],Xn=an,An=Xn*Z9,es=An+fo,ts=es,mo=ts,po=mo*1e3,Eo=t+8|0,$n=C3+4|0,is=~~ts,h0=e[Eo>>2]|0,Sr=+(h0|0),ln=po/Sr,Cu=0;Bo=e[C3>>2]|0,yo=+(Bo|0),cn=yo*ln,I7=~~cn,rs=(C3+3e3|0)+(Cu<<2)|0,e[rs>>2]=I7,Qo=e[$n>>2]|0,wo=+(Qo|0),ns=wo*ln,os=~~ns,vo=(C3+3060|0)+(Cu<<2)|0,e[vo>>2]=os,m7=(C3+2940|0)+(Cu<<2)|0,e[m7>>2]=is,gn=Cu+1|0,mQ=(gn|0)==15,!mQ;)Cu=gn;for(ko=(a9+(D9*240|0)|0)+208|0,as=+o[ko>>2],So=as,bo=So*Wn,Do=(a9+(Zn*240|0)|0)+208|0,As=+o[Do>>2],xo=As,Lo=xo*Z9,Mo=Lo+bo,$s=Mo,Ro=$s,Fo=Ro*1e3,un=Fo/Sr,Sp=0;br=e[C3>>2]|0,dn=+(br|0),To=dn*un,No=~~To,ls=(C3+3240|0)+(Sp<<2)|0,e[ls>>2]=No,hn=e[$n>>2]|0,cs=+(hn|0),fn=cs*un,Go=~~fn,gs=(C3+3300|0)+(Sp<<2)|0,e[gs>>2]=Go,us=Sp+1|0,dQ=(us|0)==15,!dQ;)Sp=us}while(!1);for(Uo=+c1[N4>>3],ds=T6+92|0,Po=e[ds>>2]|0,Dr=T6+100|0,fs=e[Dr>>2]|0,p7=T6+108|0,In=e[p7>>2]|0,_r=e[I0>>2]|0,ar=_r+2852|0,xr=e[ar>>2]|0,Z7=~~Uo,Lr=_r+28|0,D7=e[Lr>>2]|0,_7=(D7|0)>0,_7||(e[Lr>>2]=1),i7=(xr|0)==0,i7?(x7=c9(1,520)|0,e[ar>>2]=x7,Ra=x7):Ra=xr,g9(Ra|0,25784,520)|0,e[Ra>>2]=0,Mr=_r+3460|0,Ar=e[Mr>>2]|0,$r=(Ar|0)==0,$r||(Rr=Ra+500|0,e[Rr>>2]=1,E7=Po+(Z7<<2)|0,Oo=e[E7>>2]|0,gl=Ra+504|0,e[gl>>2]=Oo,mn=fs+(Z7<<2)|0,pn=e[mn>>2]|0,Vu=Ra+508|0,e[Vu>>2]=pn,ul=In+(Z7<<3)|0,qo=+c1[ul>>3],Yu=Ra+512|0,c1[Yu>>3]=qo),cA=+c1[N4>>3],dl=e[ds>>2]|0,zu=e[Dr>>2]|0,Ju=e[p7>>2]|0,gA=e[I0>>2]|0,hl=gA+2856|0,fl=e[hl>>2]|0,uA=~~cA,En=gA+28|0,Il=e[En>>2]|0,Wu=(Il|0)>1,Wu||(e[En>>2]=2),Ho=(fl|0)==0,Ho?(lr=c9(1,520)|0,e[hl>>2]=lr,Fa=lr):Fa=fl,g9(Fa|0,25784,520)|0,e[Fa>>2]=0,ju=gA+3460|0,Xu=e[ju>>2]|0,ed=(Xu|0)==0,ed||(td=Fa+500|0,e[td>>2]=1,id=dl+(uA<<2)|0,rd=e[id>>2]|0,nd=Fa+504|0,e[nd>>2]=rd,sd=zu+(uA<<2)|0,od=e[sd>>2]|0,ml=Fa+508|0,e[ml>>2]=od,ad=Ju+(uA<<3)|0,Ad=+c1[ad>>3],pl=Fa+512|0,c1[pl>>3]=Ad),K8||($d=+c1[N4>>3],dA=T6+96|0,Vo=e[dA>>2]|0,hA=T6+104|0,ld=e[hA>>2]|0,cd=e[p7>>2]|0,fA=e[I0>>2]|0,Cl=fA+2860|0,Bl=e[Cl>>2]|0,IA=~~$d,yl=fA+28|0,Yo=e[yl>>2]|0,gd=(Yo|0)>2,gd||(e[yl>>2]=3),ud=(Bl|0)==0,ud?(Ql=c9(1,520)|0,e[Cl>>2]=Ql,Ta=Ql):Ta=Bl,g9(Ta|0,25784,520)|0,e[Ta>>2]=1,dd=fA+3460|0,hd=e[dd>>2]|0,fd=(hd|0)==0,fd||(Id=Ta+500|0,e[Id>>2]=1,vl=Vo+(IA<<2)|0,kl=e[vl>>2]|0,Sl=Ta+504|0,e[Sl>>2]=kl,bl=ld+(IA<<2)|0,Dl=e[bl>>2]|0,Cn=Ta+508|0,e[Cn>>2]=Dl,md=cd+(IA<<3)|0,_l=+c1[md>>3],xl=Ta+512|0,c1[xl>>3]=_l),Ll=+c1[N4>>3],Ed=e[dA>>2]|0,Cd=e[hA>>2]|0,Bd=e[p7>>2]|0,mA=e[I0>>2]|0,Ml=mA+2864|0,Rl=e[Ml>>2]|0,ms=~~Ll,Fl=mA+28|0,yd=e[Fl>>2]|0,Tl=(yd|0)>3,Tl||(e[Fl>>2]=4),Qd=(Rl|0)==0,Qd?(Nl=c9(1,520)|0,e[Ml>>2]=Nl,Na=Nl):Na=Rl,g9(Na|0,25784,520)|0,e[Na>>2]=1,wd=mA+3460|0,vd=e[wd>>2]|0,Gl=(vd|0)==0,Gl||(Ul=Na+500|0,e[Ul>>2]=1,kd=Ed+(ms<<2)|0,zo=e[kd>>2]|0,EA=Na+504|0,e[EA>>2]=zo,Pl=Cd+(ms<<2)|0,Ol=e[Pl>>2]|0,bd=Na+508|0,e[bd>>2]=Ol,Dd=Bd+(ms<<3)|0,_d=+c1[Dd>>3],xd=Na+512|0,c1[xd>>3]=_d)),Ld=(n0+3528|0)+(s<<5)|0,Md=+c1[Ld>>3],Ko=T6+32|0,Vl=e[Ko>>2]|0,Jo=T6+36|0,Rd=e[Jo>>2]|0,Yl=T6+44|0,Fd=e[Yl>>2]|0,cE(t,Md,0,Vl,Rd,Fd),zl=n0+3560|0,Td=+c1[zl>>3],Nd=e[Ko>>2]|0,Kl=e[Jo>>2]|0,CA=T6+52|0,Ud=e[CA>>2]|0,cE(t,Td,1,Nd,Kl,Ud),K8||(Wo=n0+3592|0,Pd=+c1[Wo>>3],Zo=e[Ko>>2]|0,Od=e[Jo>>2]|0,BA=e[CA>>2]|0,cE(t,Pd,2,Zo,Od,BA),qd=n0+3624|0,Hd=+c1[qd>>3],Vd=e[Ko>>2]|0,Jl=e[Jo>>2]|0,zd=T6+48|0,Kd=e[zd>>2]|0,cE(t,Hd,3,Vd,Jl,Kd)),Jd=((n0+3528|0)+(s<<5)|0)+24|0,Wl=+c1[Jd>>3],Zl=T6+80|0,cr=e[Zl>>2]|0,jl=T6+84|0,jo=e[jl>>2]|0,yA=~~Wl,QA=+(yA|0),Xl=Wl-QA,yn=e[I0>>2]|0,Wd=yn+2852|0,ec=e[Wd>>2]|0,Zd=jo+(yA<<3)|0,jd=+c1[Zd>>3],Xd=1-Xl,eh=jd*Xd,Xo=yA+1|0,wA=jo+(Xo<<3)|0,th=+c1[wA>>3],ih=th*Xl,tc=ih+eh,vA=~~tc,ic=+(vA|0),rc=tc-ic,rh=rc==0,nc=(vA|0)>0,XC=nc&rh,$=XC?1:rc,nh=XC<<31>>31,G=nh+vA|0,kA=1-$,oh=G+1|0,Iu=0;Je=(cr+(G*160|0)|0)+(Iu<<2)|0,ah=e[Je>>2]|0,sc=+(ah|0),Ah=sc*kA,$h=(cr+(oh*160|0)|0)+(Iu<<2)|0,SA=e[$h>>2]|0,lh=+(SA|0),bA=lh*$,oc=bA+Ah,gh=oc,ac=(ec+336|0)+(Iu<<2)|0,o[ac>>2]=gh,Ac=Iu+1|0,AQ=(Ac|0)==40,!AQ;)Iu=Ac;for(uh=n0+3584|0,DA=+c1[uh>>3],_A=~~DA,$c=+(_A|0),lc=DA-$c,dh=yn+2856|0,cc=e[dh>>2]|0,hh=jo+(_A<<3)|0,gc=+c1[hh>>3],fh=1-lc,Ih=gc*fh,mh=_A+1|0,ph=jo+(mh<<3)|0,uc=+c1[ph>>3],dc=uc*lc,LA=dc+Ih,ea=~~LA,Eh=+(ea|0),fc=LA-Eh,Ic=fc==0,Ch=(ea|0)>0,eB=Ch&Ic,g=eB?1:fc,Bh=eB<<31>>31,O=Bh+ea|0,yh=1-g,mc=O+1|0,mu=0;Qh=(cr+(O*160|0)|0)+(mu<<2)|0,wh=e[Qh>>2]|0,vh=+(wh|0),Sh=vh*yh,bh=(cr+(mc*160|0)|0)+(mu<<2)|0,pc=e[bh>>2]|0,Dh=+(pc|0),Ec=Dh*g,_h=Ec+Sh,Qn=_h,xh=(cc+336|0)+(mu<<2)|0,o[xh>>2]=Qn,Cc=mu+1|0,$Q=(Cc|0)==40,!$Q;)mu=Cc;if(!K8){for(Lh=n0+3616|0,MA=+c1[Lh>>3],Mh=T6+88|0,ta=e[Mh>>2]|0,RA=~~MA,Rh=+(RA|0),FA=MA-Rh,yc=yn+2860|0,Fh=e[yc>>2]|0,Th=ta+(RA<<3)|0,Nh=+c1[Th>>3],Uh=1-FA,Qc=Nh*Uh,Ph=RA+1|0,Oh=ta+(Ph<<3)|0,qh=+c1[Oh>>3],ia=qh*FA,Es=ia+Qc,TA=~~Es,Hh=+(TA|0),NA=Es-Hh,Yh=NA==0,zh=(TA|0)>0,tB=zh&Yh,h=tB?1:NA,wc=tB<<31>>31,q=wc+TA|0,Kh=1-h,Jh=q+1|0,pu=0;Wh=(cr+(q*160|0)|0)+(pu<<2)|0,Zh=e[Wh>>2]|0,jh=+(Zh|0),ra=jh*Kh,Xh=(cr+(Jh*160|0)|0)+(pu<<2)|0,vc=e[Xh>>2]|0,tf=+(vc|0),rf=tf*h,nf=rf+ra,sf=nf,C7=(Fh+336|0)+(pu<<2)|0,o[C7>>2]=sf,kc=pu+1|0,lQ=(kc|0)==40,!lQ;)pu=kc;for(B7=n0+3648|0,Sc=+c1[B7>>3],GA=~~Sc,r7=+(GA|0),Cs=Sc-r7,af=yn+2864|0,Af=e[af>>2]|0,$f=ta+(GA<<3)|0,lf=+c1[$f>>3],cf=1-Cs,bc=lf*cf,gf=GA+1|0,uf=ta+(gf<<3)|0,df=+c1[uf>>3],hf=df*Cs,Bs=hf+bc,UA=~~Bs,ff=+(UA|0),_c=Bs-ff,If=_c==0,mf=(UA|0)>0,iB=mf&If,p=iB?1:_c,na=iB<<31>>31,H=na+UA|0,pf=1-p,xc=H+1|0,Eu=0;Lc=(cr+(H*160|0)|0)+(Eu<<2)|0,Cf=e[Lc>>2]|0,Bf=+(Cf|0),wn=Bf*pf,yf=(cr+(xc*160|0)|0)+(Eu<<2)|0,Qf=e[yf>>2]|0,vn=+(Qf|0),wf=vn*p,Mc=wf+wn,kf=Mc,ys=(Af+336|0)+(Eu<<2)|0,o[ys>>2]=kf,Rc=Eu+1|0,cQ=(Rc|0)==40,!cQ;)Eu=Rc}for(Sf=((n0+3528|0)+(s<<5)|0)+8|0,Fc=+c1[Sf>>3],bf=T6+40|0,gr=e[bf>>2]|0,PA=~~Fc,Df=+(PA|0),Tc=Fc-Df,_f=gr+(PA<<2)|0,xf=e[_f>>2]|0,Gc=+(xf|0),Lf=1-Tc,Mf=Gc*Lf,Rf=PA+1|0,Uc=gr+(Rf<<2)|0,Ff=e[Uc>>2]|0,Qs=+(Ff|0),Tf=Qs*Tc,Nf=Tf+Mf,Gf=Nf,OA=ec+32|0,o[OA>>2]=Gf,Uf=n0+3568|0,qA=+c1[Uf>>3],HA=~~qA,Pf=+(HA|0),Pc=qA-Pf,Oc=gr+(HA<<2)|0,Of=e[Oc>>2]|0,Vc=+(Of|0),qf=1-Pc,Yc=Vc*qf,zc=HA+1|0,Hf=gr+(zc<<2)|0,Vf=e[Hf>>2]|0,Kc=+(Vf|0),Jc=Kc*Pc,Yf=Jc+Yc,Wc=Yf,zf=cc+32|0,o[zf>>2]=Wc,K8||(Kf=n0+3600|0,jc=+c1[Kf>>3],VA=~~jc,Xc=+(VA|0),eg=jc-Xc,tg=yn+2860|0,ig=e[tg>>2]|0,Jf=gr+(VA<<2)|0,Wf=e[Jf>>2]|0,jf=+(Wf|0),Xf=1-eg,eI=jf*Xf,tI=VA+1|0,iI=gr+(tI<<2)|0,rg=e[iI>>2]|0,YA=+(rg|0),rI=YA*eg,nI=rI+eI,sI=nI,sg=ig+32|0,o[sg>>2]=sI,oI=n0+3632|0,og=+c1[oI>>3],zA=~~og,sa=+(zA|0),ag=og-sa,aI=yn+2864|0,AI=e[aI>>2]|0,$I=gr+(zA<<2)|0,lI=e[$I>>2]|0,oa=+(lI|0),cI=1-ag,gI=oa*cI,uI=zA+1|0,dI=gr+(uI<<2)|0,hI=e[dI>>2]|0,fI=+(hI|0),II=fI*ag,mI=II+gI,$g=mI,EI=AI+32|0,o[EI>>2]=$g),CI=((n0+3528|0)+(s<<5)|0)+16|0,BI=+c1[CI>>3],aa=T6+76|0,lg=e[aa>>2]|0,yI=T6+60|0,QI=e[yI>>2]|0,Sn=T6+56|0,cg=e[Sn>>2]|0,ql?ug=0:(gg=n0+3408|0,wI=+c1[gg>>3],ug=wI),gE(t,BI,0,lg,QI,cg,ug),vI=n0+3576|0,dg=+c1[vI>>3],hg=e[aa>>2]|0,kI=T6+64|0,SI=e[kI>>2]|0,bI=e[Sn>>2]|0,gE(t,dg,1,hg,SI,bI,0),K8?(ws=e[I0>>2]|0,jI=ws+2852|0,kg=e[jI>>2]|0,XI=ws+3496|0,ZA=+c1[XI>>3],Sg=ZA,em=kg+4|0,o[em>>2]=Sg,im=ws+3504|0,rm=+c1[im>>3],bg=rm,nm=kg+8|0,o[nm>>2]=bg,sm=ws+2856|0,Dg=e[sm>>2]|0,ga=Dg+4|0,o[ga>>2]=Sg,om=Dg+8|0,o[om>>2]=bg,ur=ws):(DI=n0+3608|0,_I=+c1[DI>>3],JA=e[aa>>2]|0,xI=T6+68|0,LI=e[xI>>2]|0,MI=e[Sn>>2]|0,gE(t,_I,2,JA,LI,MI,0),RI=n0+3640|0,fg=+c1[RI>>3],FI=e[aa>>2]|0,Ig=T6+72|0,TI=e[Ig>>2]|0,NI=e[Sn>>2]|0,gE(t,fg,3,FI,TI,NI,0),Nr=e[I0>>2]|0,pg=Nr+2852|0,Eg=e[pg>>2]|0,GI=Nr+3496|0,Cg=+c1[GI>>3],$a=Cg,UI=Eg+4|0,o[UI>>2]=$a,PI=Nr+3504|0,OI=+c1[PI>>3],la=OI,qI=Eg+8|0,o[qI>>2]=la,HI=Nr+2856|0,yg=e[HI>>2]|0,VI=yg+4|0,o[VI>>2]=$a,YI=yg+8|0,o[YI>>2]=la,WA=Nr+2860|0,ca=e[WA>>2]|0,zI=ca+4|0,o[zI>>2]=$a,KI=ca+8|0,o[KI>>2]=la,JI=Nr+2864|0,vg=e[JI>>2]|0,WI=vg+4|0,o[WI>>2]=$a,ZI=vg+8|0,o[ZI>>2]=la,ur=Nr),am=+c1[N4>>3],Am=T6+152|0,_g=e[Am>>2]|0,xg=~~am,$m=_g+(xg<<3)|0,Lg=e[$m>>2]|0,Mg=(_g+(xg<<3)|0)+4|0,L7=e[Mg>>2]|0,Rg=e[ur>>2]|0,lm=ur+4|0,cm=e[lm>>2]|0,um=(Rg|0)==(cm|0),A=um?1:2,jA=ur+8|0,ua=ur+12|0,Fg=t+8|0,Tg=t+4|0,Q7=0;;){if(dm=c9(1,3208)|0,da=(ur+544|0)+(Q7<<2)|0,e[da>>2]=dm,ks=c9(1,16)|0,hm=(ur+32|0)+(Q7<<2)|0,e[hm>>2]=ks,ha=26304+(Q7<<4)|0,e[ks>>2]=e[ha>>2]|0,e[ks+4>>2]=e[ha+4>>2]|0,e[ks+8>>2]=e[ha+8>>2]|0,e[ks+12>>2]=e[ha+12>>2]|0,fm=e[jA>>2]|0,e$=(Q7|0)<(fm|0),e$||(Im=Q7+1|0,e[jA>>2]=Im),mm=(ur+288|0)+(Q7<<2)|0,e[mm>>2]=0,Ng=e[da>>2]|0,fa=Lg+(Q7*3208|0)|0,g9(Ng|0,fa|0,3208)|0,Gg=e[ua>>2]|0,pm=(Q7|0)<(Gg|0),pm||(Em=Q7+1|0,e[ua>>2]=Em),Cm=e[fa>>2]|0,Ug=(Cm|0)>0,Ug)for(CE=0;;){ym=((Lg+(Q7*3208|0)|0)+1092|0)+(CE<<2)|0,si=e[ym>>2]|0,_9=e[I0>>2]|0,n7=Re(2840)|0,Qm=(_9+1568|0)+(si<<2)|0,e[Qm>>2]=n7,Pg=(L7+(si<<5)|0)+12|0,Og=e[Pg>>2]|0,g9(n7|0,Og|0,2840)|0,t$=_9+20|0,wm=e[t$>>2]|0,Ss=(wm|0)>(si|0),Ss||(vm=si+1|0,e[t$>>2]=vm),km=(L7+(si<<5)|0)+8|0,qg=e[km>>2]|0,i$=n7+8|0,e[i$>>2]=qg,Sm=L7+(si<<5)|0,Hg=e[Sm>>2]|0,Vg=(_9+1312|0)+(si<<2)|0,e[Vg>>2]=Hg,Yg=_9+3420|0,r$=e[Yg>>2]|0,zg=(r$|0)==0,bs=n7+12|0,s$=e[bs>>2]|0,Kg=(s$|0)>0;do if(zg){if(Kg)for(Jg=(L7+(si<<5)|0)+24|0,Ia=e[Jg>>2]|0,_m=n7+24|0,Ma=0;;)if(fr=_m+(Ma<<2)|0,_n=Ia+(Ma<<4)|0,Ri=e[_n>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[fr>>2]|0,Ba=Ti|1,e[fr>>2]=Ba),ya=(Ia+(Ma<<4)|0)+4|0,ou=e[ya>>2]|0,au=(ou|0)==0,au||(b2=e[fr>>2]|0,y5=b2|2,e[fr>>2]=y5),o5=(Ia+(Ma<<4)|0)+8|0,F2=e[o5>>2]|0,R2=(F2|0)==0,R2||(Q2=e[fr>>2]|0,Q5=Q2|4,e[fr>>2]=Q5),E5=(Ia+(Ma<<4)|0)+12|0,M5=e[E5>>2]|0,q5=(M5|0)==0,q5||(R5=e[fr>>2]|0,z2=R5|8,e[fr>>2]=z2),C5=Ma+1|0,$5=e[bs>>2]|0,d5=(C5|0)<($5|0),d5)Ma=C5;else{Sa=$5;break}else Sa=s$;Qa=(L7+(si<<5)|0)+16|0,d$=e[Qa>>2]|0,Ni=_9+24|0,Or=e[Ni>>2]|0,h$=(Or|0)>0,ep=d$;e:do if(h$)for(kp=0;;){if(f$=(_9+1824|0)+(kp<<2)|0,tp=e[f$>>2]|0,I$=(tp|0)==(d$|0),I$){M=kp;break e}if(Au=kp+1|0,va=(Au|0)<(Or|0),va)kp=Au;else{$9=116;break}}else $9=116;while(!1);if(($9|0)==116&&($9=0,ip=Or+1|0,e[Ni>>2]=ip,M=Or),rp=n7+20|0,e[rp>>2]=M,np=(_9+1824|0)+(M<<2)|0,e[np>>2]=ep,xn=(Sa|0)>0,!xn)break;for(tt=(L7+(si<<5)|0)+24|0,L9=n7+280|0,Yr=0,b$=0;;){if($u=e[tt>>2]|0,sp=$u+(b$<<4)|0,m$=e[sp>>2]|0,lu=(m$|0)==0,op=m$,lu)Ls=$u,fp=Yr;else{ba=e[Ni>>2]|0,Ap=(ba|0)>0;e:do if(Ap)for(Bp=0;;){if($p=(_9+1824|0)+(Bp<<2)|0,lp=e[$p>>2]|0,cp=(lp|0)==(m$|0),cp){R=Bp;break e}if(cu=Bp+1|0,gp=(cu|0)<(ba|0),gp)Bp=cu;else{$9=123;break}}else $9=123;while(!1);($9|0)==123&&($9=0,up=ba+1|0,e[Ni>>2]=up,R=ba),dp=Yr+1|0,s7=L9+(Yr<<2)|0,e[s7>>2]=R,Ln=(_9+1824|0)+(R<<2)|0,e[Ln>>2]=op,c0=e[tt>>2]|0,Ls=c0,fp=dp}if(p$=(Ls+(b$<<4)|0)+4|0,Ms=e[p$>>2]|0,oi=(Ms|0)==0,Rs=Ms,oi)C2=Ls,X9=fp;else{J1=e[Ni>>2]|0,H1=(J1|0)>0;e:do if(H1)for(pp=0;;){if(V1=(_9+1824|0)+(pp<<2)|0,z1=e[V1>>2]|0,t2=(z1|0)==(Ms|0),t2){_=pp;break e}if(o2=pp+1|0,e2=(o2|0)<(J1|0),e2)pp=o2;else{$9=147;break}}else $9=147;while(!1);($9|0)==147&&($9=0,q1=J1+1|0,e[Ni>>2]=q1,_=J1),d2=fp+1|0,Z1=L9+(fp<<2)|0,e[Z1>>2]=_,I2=(_9+1824|0)+(_<<2)|0,e[I2>>2]=Rs,$0=e[tt>>2]|0,C2=$0,X9=d2}if(A2=(C2+(b$<<4)|0)+8|0,W1=e[A2>>2]|0,f2=(W1|0)==0,g2=W1,f2)M2=C2,v$=X9;else{n2=e[Ni>>2]|0,u2=(n2|0)>0;e:do if(u2)for(Ep=0;;){if(s2=(_9+1824|0)+(Ep<<2)|0,l2=e[s2>>2]|0,i2=(l2|0)==(W1|0),i2){Q=Ep;break e}if(a2=Ep+1|0,m2=(a2|0)<(n2|0),m2)Ep=a2;else{$9=153;break}}else $9=153;while(!1);($9|0)==153&&($9=0,k2=n2+1|0,e[Ni>>2]=k2,Q=n2),D2=X9+1|0,S2=L9+(X9<<2)|0,e[S2>>2]=Q,y2=(_9+1824|0)+(Q<<2)|0,e[y2>>2]=g2,X=e[tt>>2]|0,M2=X,v$=D2}if(G2=(M2+(b$<<4)|0)+12|0,O2=e[G2>>2]|0,p2=(O2|0)==0,W2=O2,p2)zC=v$;else{q2=e[Ni>>2]|0,U2=(q2|0)>0;e:do if(U2)for(Cp=0;;){if(V2=(_9+1824|0)+(Cp<<2)|0,Z2=e[V2>>2]|0,A5=(Z2|0)==(O2|0),A5){L=Cp;break e}if(Y2=Cp+1|0,N1=(Y2|0)<(q2|0),N1)Cp=Y2;else{$9=159;break}}else $9=159;while(!1);($9|0)==159&&($9=0,t5=q2+1|0,e[Ni>>2]=t5,L=q2),T5=v$+1|0,i5=L9+(v$<<2)|0,e[i5>>2]=L,L5=(_9+1824|0)+(L<<2)|0,e[L5>>2]=W2,zC=T5}if(_5=b$+1|0,V5=e[bs>>2]|0,u5=(_5|0)<(V5|0),u5)Yr=zC,b$=_5;else break}}else{if(Kg)for(bm=(L7+(si<<5)|0)+28|0,bn=e[bm>>2]|0,Dm=n7+24|0,La=0;;)if(M7=Dm+(La<<2)|0,xm=bn+(La<<4)|0,Lm=e[xm>>2]|0,Mm=(Lm|0)==0,Mm||(Rm=e[M7>>2]|0,Fm=Rm|1,e[M7>>2]=Fm),Tm=(bn+(La<<4)|0)+4|0,R7=e[Tm>>2]|0,Nm=(R7|0)==0,Nm||(l6=e[M7>>2]|0,n3=l6|2,e[M7>>2]=n3),l3=(bn+(La<<4)|0)+8|0,U3=e[l3>>2]|0,C6=(U3|0)==0,C6||(b3=e[M7>>2]|0,D3=b3|4,e[M7>>2]=D3),A6=(bn+(La<<4)|0)+12|0,r6=e[A6>>2]|0,K3=(r6|0)==0,K3||(j5=e[M7>>2]|0,M3=j5|8,e[M7>>2]=M3),d3=La+1|0,J3=e[bs>>2]|0,h6=(d3|0)<(J3|0),h6)La=d3;else{nu=J3;break}else nu=s$;Gm=(L7+(si<<5)|0)+20|0,Zg=e[Gm>>2]|0,y7=_9+24|0,ma=e[y7>>2]|0,o$=(ma|0)>0,jg=Zg;e:do if(o$)for(mp=0;;){if(Xg=(_9+1824|0)+(mp<<2)|0,Pm=e[Xg>>2]|0,eu=(Pm|0)==(Zg|0),eu){B=mp;break e}if(tu=mp+1|0,Om=(tu|0)<(ma|0),Om)mp=tu;else{$9=100;break}}else $9=100;while(!1);if(($9|0)==100&&($9=0,ru=ma+1|0,e[y7>>2]=ru,B=ma),Hm=n7+20|0,e[Hm>>2]=B,Vm=(_9+1824|0)+(B<<2)|0,e[Vm>>2]=jg,Ym=(nu|0)>0,!Ym)break;for(Ds=(L7+(si<<5)|0)+28|0,pa=n7+280|0,Us=0,k$=0;;){if(Ea=e[Ds>>2]|0,zm=Ea+(k$<<4)|0,a$=e[zm>>2]|0,Jm=(a$|0)==0,su=a$,Jm)xs=Ea,Fn=Us;else{_s=e[y7>>2]|0,Wm=(_s|0)>0;e:do if(Wm)for(vp=0;;){if(Zm=(_9+1824|0)+(vp<<2)|0,A$=e[Zm>>2]|0,$$=(A$|0)==(a$|0),$$){v=vp;break e}if(Ca=vp+1|0,l$=(Ca|0)<(_s|0),l$)vp=Ca;else{$9=107;break}}else $9=107;while(!1);($9|0)==107&&($9=0,c$=_s+1|0,e[y7>>2]=c$,v=_s),Ur=Us+1|0,Pr=pa+(Us<<2)|0,e[Pr>>2]=v,g$=(_9+1824|0)+(v<<2)|0,e[g$>>2]=su,J=e[Ds>>2]|0,xs=J,Fn=Ur}if(u$=(xs+(k$<<4)|0)+4|0,hr=e[u$>>2]|0,Dn=(hr|0)==0,jm=hr,Dn)F5=xs,Mn=Fn;else{w5=e[y7>>2]|0,T1=(w5|0)>0;e:do if(T1)for(yp=0;;){if(h5=(_9+1824|0)+(yp<<2)|0,l5=e[h5>>2]|0,X2=(l5|0)==(hr|0),X2){b=yp;break e}if(h2=yp+1|0,v5=(h2|0)<(w5|0),v5)yp=h2;else{$9=171;break}}else $9=171;while(!1);($9|0)==171&&($9=0,r5=w5+1|0,e[y7>>2]=r5,b=w5),a5=Fn+1|0,f5=pa+(Fn<<2)|0,e[f5>>2]=b,J2=(_9+1824|0)+(b<<2)|0,e[J2>>2]=jm,e0=e[Ds>>2]|0,F5=e0,Mn=a5}if(I5=(F5+(k$<<4)|0)+8|0,e5=e[I5>>2]|0,c5=(e5|0)==0,T2=e5,c5)f3=F5,Rn=Mn;else{k5=e[y7>>2]|0,z5=(k5|0)>0;e:do if(z5)for(Qp=0;;){if(i3=(_9+1824|0)+(Qp<<2)|0,B5=e[i3>>2]|0,I3=(B5|0)==(e5|0),I3){D=Qp;break e}if(h3=Qp+1|0,r3=(h3|0)<(k5|0),r3)Qp=h3;else{$9=177;break}}else $9=177;while(!1);($9|0)==177&&($9=0,a3=k5+1|0,e[y7>>2]=a3,D=k5),y3=Mn+1|0,G5=pa+(Mn<<2)|0,e[G5>>2]=D,Z5=(_9+1824|0)+(D<<2)|0,e[Z5>>2]=T2,d0=e[Ds>>2]|0,f3=d0,Rn=y3}if(x3=(f3+(k$<<4)|0)+12|0,w3=e[x3>>2]|0,e6=(w3|0)==0,V3=w3,e6)qe=Rn;else{_3=e[y7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(wp=0;;){if(a6=(_9+1824|0)+(wp<<2)|0,G3=e[a6>>2]|0,Y3=(G3|0)==(w3|0),Y3){k=wp;break e}if(c3=wp+1|0,g3=(c3|0)<(_3|0),g3)wp=c3;else{$9=183;break}}else $9=183;while(!1);($9|0)==183&&($9=0,u3=_3+1|0,e[y7>>2]=u3,k=_3),Q3=Rn+1|0,K5=pa+(Rn<<2)|0,e[K5>>2]=k,Y5=(_9+1824|0)+(k<<2)|0,e[Y5>>2]=V3,qe=Q3}if(D5=k$+1|0,z3=e[bs>>2]|0,U5=(D5|0)<(z3|0),U5)Us=qe,k$=D5;else break}}while(!1);gu=_9+3480|0,uu=+c1[gu>>3],_a=uu*1e3,Fs=(_9+1056|0)+(Q7<<2)|0,Ns=e[Fs>>2]|0,hp=e[Fg>>2]|0,Gs=+(hp|0),Ir=Gs*.5,du=_9+(Q7<<2)|0,qr=e[du>>2]|0,o7=qr>>1,E$=_a>Ir,JC=E$?Ir:_a,C$=JC/Ir,X7=+(o7|0),y$=X7*C$,Q$=~~y$,Hr=Ns+1116|0,e[Hr>>2]=Q$,d6=(L7+(si<<5)|0)+4|0,xa=e[d6>>2]|0;do if((xa|0)==2)fu=250;else if((xa|0)==1){if(Vr=e[Yg>>2]|0,hu=(Vr|0)==0,L4=_9+2996|0,w$=_9+2968|0,CQ=hu?w$:L4,EQ=e[CQ>>2]|0,pQ=+(EQ|0),WC=pQ*1e3,kt=WC>Ir,!kt){fu=WC;break}fu=Ir}else fu=JC;while(!1);C0=e[Vg>>2]|0,S0=(C0|0)==2;do if(S0){if(y0=_9+12|0,D0=e[y0>>2]|0,E0=(D0|0)>0,E0)for(EE=0;;){if(Q0=(_9+544|0)+(EE<<2)|0,w0=e[Q0>>2]|0,B0=e[w0>>2]|0,x0=(B0|0)>0,x0)for(bp=0;;){Z0=(w0+1092|0)+(bp<<2)|0,v0=e[Z0>>2]|0,G0=(v0|0)==(si|0);do if(G0){if(U0=e[Tg>>2]|0,O0=(U0|0)>0,O0)KC=0,yE=0;else{Ip=0;break}for(;;)if(H0=(w0+4|0)+(yE<<2)|0,k0=e[H0>>2]|0,K0=(k0|0)==(bp|0),N0=K0&1,K=N0+KC|0,M0=yE+1|0,aQ=(M0|0)==(U0|0),aQ){Ip=K;break}else KC=K,yE=M0}else Ip=0;while(!1);if(P0=bp+1|0,J0=(P0|0)<(B0|0),V0=(Ip|0)==0,j0=J0&V0,j0)bp=P0;else{IE=Ip;break}}else IE=0;if(q0=EE+1|0,Y0=(q0|0)<(D0|0),o1=(IE|0)==0,z0=Y0&o1,z0)EE=q0;else{fE=IE;break}}else fE=0;if(r1=fu/Ir,L0=+(fE|0),s1=L0*X7,u1=s1*r1,E1=e[i$>>2]|0,f1=+(E1|0),d1=u1/f1,A1=d1+.9,g1=~~A1,a1=s5(g1,E1)|0,$1=n7+4|0,e[$1>>2]=a1,X0=s5(fE,o7)|0,B1=(a1|0)>(X0|0),!B1){Y=$1,X1=a1,x1=E1;break}Q1=(X0|0)%(E1|0)&-1,C1=X0-Q1|0,e[$1>>2]=C1,Y=$1,X1=C1,x1=E1}else{if(y1=fu/Ir,v1=y1*X7,k1=e[i$>>2]|0,S1=+(k1|0),L1=v1/S1,M1=L1+.9,b1=~~M1,_1=s5(b1,k1)|0,F1=n7+4|0,e[F1>>2]=_1,P1=(_1|0)>(o7|0),!P1){Y=F1,X1=_1,x1=k1;break}D1=(o7|0)%(k1|0)&-1,O1=o7-D1|0,e[F1>>2]=O1,Y=F1,X1=O1,x1=k1}while(!1);if(G1=(X1|0)==0,G1&&(e[Y>>2]=x1),m3=CE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)CE=m3;else break}if(S6=Q7+1|0,n6=(S6|0)<(A|0),n6)Q7=S6;else break}return f6=n0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(k6=e[I0>>2]|0,R3=k6+3396|0,o6=e[R3>>2]|0,B6=k6+3400|0,W3=+c1[B6>>3],F3=~~W3,Z3=+(F3|0),t6=W3-Z3,R6=o6+4|0,c6=e[R6>>2]|0,s3=(c6|0)==0,s3?y=-1:(K6=e[Tg>>2]|0,y6=c6+(F3<<3)|0,T3=+c1[y6>>3],H6=1-t6,$6=T3*H6,D6=F3+1|0,G6=c6+(D6<<3)|0,ee=+c1[G6>>3],Q6=ee*t6,X6=Q6+$6,P3=+(K6|0),V6=X6*P3,BQ=~~V6,y=BQ),oe=t+16|0,e[oe>>2]=y),ue=n0+3424|0,U6=e[ue>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=n0+3440|0,te=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=te,P6=(b6|0)==0,P6?g0=0:(O3=n0+3444|0,ae=e[O3>>2]|0,he=+(ae|0),ne=+(b6|0),Be=he/ne,ye=~~Be,g0=ye),Qe=t+24|0,e[Qe>>2]=g0,fe=n0+3420|0,Ie=e[fe>>2]|0,Ve=(Ie|0)==0,Ve?(E=0,E|0):(w6=e[f6>>2]|0,Ae=n0+3360|0,e[Ae>>2]=w6,Ye=e[ue>>2]|0,we=n0+3364|0,e[we>>2]=Ye,w9=e[F6>>2]|0,u9=n0+3368|0,e[u9>>2]=w9,E9=n0+3444|0,ze=e[E9>>2]|0,r9=n0+3372|0,e[r9>>2]=ze,Fe=n0+3448|0,ve=+c1[Fe>>3],$e=n0+3376|0,c1[$e>>3]=ve,v9=n0+3432|0,R9=+c1[v9>>3],d9=n0+3384|0,c1[d9>>3]=R9,E=0,E|0)}function gD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=+$;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0;if(K=C,m=(A|0)<1,m)h=-131;else if(E=t+28|0,Q=e[E>>2]|0,L=$,R=L+1e-7,M=R,F=!(M>=1),p=F?M:.9998999834060669,G=Q+3416|0,o[G>>2]=p,O=p,q=Q+3400|0,y=uD(s,A,O,0,q)|0,B=Q+3396|0,e[B>>2]=y,b=(y|0)==0,b)h=-130;else return dD(t,s,A),D=Q+3420|0,e[D>>2]=0,k=Q+3464|0,e[k>>2]=1,v=cD(t)|0,_=(v|0)==0,_?(g=0,g|0):(TC(t),g=v,g|0);return TC(t),g=h,g|0}function cE(t,s,A,$,g,h){t=t|0,s=+s,A=A|0,$=$|0,g=g|0,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;for(v1=C,p=~~s,m=+(p|0),R=s-m,j=t+28|0,$0=e[j>>2]|0,y0=($0+2852|0)+(A<<2)|0,U0=e[y0>>2]|0,j0=$+(p*20|0)|0,f1=e[j0>>2]|0,p1=+(f1|0),E=1-R,y=p1*E,B=p+1|0,b=$+(B*20|0)|0,D=e[b>>2]|0,k=+(D|0),v=k*R,_=v+y,Q=_,L=U0+12|0,o[L>>2]=Q,M=($+(p*20|0)|0)+4|0,F=e[M>>2]|0,G=+(F|0),O=G*E,q=($+(B*20|0)|0)+4|0,H=e[q>>2]|0,K=+(H|0),t0=K*R,Z=t0+O,A0=Z,r0=U0+16|0,o[r0>>2]=A0,o0=($+(p*20|0)|0)+8|0,J=e[o0>>2]|0,s0=+(J|0),Y=s0*E,h0=($+(B*20|0)|0)+8|0,i0=e[h0>>2]|0,e0=+(i0|0),d0=e0*R,c0=d0+Y,l0=c0,X=U0+20|0,o[X>>2]=l0,m0=($+(p*20|0)|0)+12|0,g0=+o[m0>>2],I0=g0,n0=I0*E,f0=($+(B*20|0)|0)+12|0,p0=+o[f0>>2],C0=p0,S0=C0*R,D0=S0+n0,E0=D0,Q0=U0+24|0,o[Q0>>2]=E0,w0=($+(p*20|0)|0)+16|0,B0=+o[w0>>2],x0=B0,Z0=x0*E,R0=($+(B*20|0)|0)+16|0,v0=+o[R0>>2],G0=v0,O0=G0*R,H0=O0+Z0,k0=H0,K0=U0+28|0,o[K0>>2]=k0,N0=g+(p<<2)|0,M0=e[N0>>2]|0,P0=+(M0|0),W0=P0*E,J0=g+(B<<2)|0,V0=e[J0>>2]|0,q0=+(V0|0),Y0=q0*R,o1=Y0+W0,z0=o1,r1=U0+496|0,o[r1>>2]=z0,C1=0;L0=(h+(p*68|0)|0)+(C1<<2)|0,s1=e[L0>>2]|0,h1=+(s1|0),u1=h1*E,E1=(h+(B*68|0)|0)+(C1<<2)|0,d1=e[E1>>2]|0,A1=+(d1|0),g1=A1*R,a1=g1+u1,$1=a1,X0=(U0+36|0)+(C1<<2)|0,o[X0>>2]=$1,B1=C1+1|0,Q1=(B1|0)==17,!Q1;)C1=B1}function gE(t,s,A,$,g,h,p){t=t|0,s=+s,A=A|0,$=$|0,g=g|0,h=h|0,p=+p;var m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;for(S2=C,k=~~s,v=+(k|0),h0=s-v,n0=t+28|0,x0=e[n0>>2]|0,M0=(x0+2852|0)+(A<<2)|0,L0=e[M0>>2]|0,X0=$+(k<<2)|0,b1=e[X0>>2]|0,H1=+(b1|0),_=1-h0,t0=H1*_,Z=k+1|0,A0=$+(Z<<2)|0,j=e[A0>>2]|0,r0=+(j|0),o0=r0*h0,J=o0+t0,s0=J,Y=L0+108|0,o[Y>>2]=s0,i0=h+(A*12|0)|0,e0=e[i0>>2]|0,d0=L0+120|0,e[d0>>2]=e0,c0=(h+(A*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=L0+124|0,e[l0>>2]=$0,X=(h+(A*12|0)|0)+8|0,m0=e[X>>2]|0,g0=L0+128|0,e[g0>>2]=m0,n2=0;;)if(I0=(g+(k*204|0)|0)+(n2<<2)|0,f0=e[I0>>2]|0,p0=+(f0|0),C0=p0*_,S0=(g+(Z*204|0)|0)+(n2<<2)|0,y0=e[S0>>2]|0,D0=+(y0|0),E0=D0*h0,Q0=E0+C0,w0=Q0,B0=(L0+132|0)+(n2<<2)|0,o[B0>>2]=w0,Z0=n2+1|0,W1=(Z0|0)==17,W1){u2=0;break}else n2=Z0;for(;;)if(M1=((g+(k*204|0)|0)+68|0)+(u2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*_,P1=((g+(Z*204|0)|0)+68|0)+(u2<<2)|0,D1=e[P1>>2]|0,O1=+(D1|0),X1=O1*h0,G1=X1+F1,x1=G1,J1=(L0+200|0)+(u2<<2)|0,o[J1>>2]=x1,V1=u2+1|0,f2=(V1|0)==17,f2){s2=0;break}else u2=V1;for(;Y1=((g+(k*204|0)|0)+136|0)+(s2<<2)|0,z1=e[Y1>>2]|0,t2=+(z1|0),o2=t2*_,e2=((g+(Z*204|0)|0)+136|0)+(s2<<2)|0,q1=e[e2>>2]|0,d2=+(q1|0),Z1=d2*h0,I2=Z1+o2,Q=I2,L=(L0+268|0)+(s2<<2)|0,o[L>>2]=Q,R=s2+1|0,g2=(R|0)==17,!g2;)s2=R;for(M=L0+132|0,F=+o[M>>2],k0=F+6,G=L0+132|0,O=F,q=O+p,H=q,K=H>2]=k2,R0=1;m=(L0+132|0)+(R0<<2)|0,B=+o[m>>2],v0=(L0+132|0)+(R0<<2)|0,G0=B,U0=G0+p,O0=U0,H0=O0>2]=l2,K0=R0+1|0,A2=(K0|0)==17,!A2;)R0=K0;for(N0=L0+200|0,P0=+o[N0>>2],W0=P0+6,J0=L0+200|0,V0=P0,j0=V0+p,q0=j0,Y0=q0>2]=a2,o1=1;E=(L0+200|0)+(o1<<2)|0,b=+o[E>>2],z0=(L0+200|0)+(o1<<2)|0,r1=b,s1=r1+p,h1=s1,u1=h1>2]=i2,E1=o1+1|0,C2=(E1|0)==17,!C2;)o1=E1;for(f1=L0+268|0,d1=+o[f1>>2],A1=d1+6,g1=L0+268|0,a1=d1,$1=a1+p,B1=$1,p1=B1>2]=r2,Q1=1;y=(L0+268|0)+(Q1<<2)|0,D=+o[y>>2],C1=(L0+268|0)+(Q1<<2)|0,y1=D,v1=y1+p,k1=v1,S1=k1>2]=m2,L1=Q1+1|0,$2=(L1|0)==17,!$2;)Q1=L1}function uD(t,s,A,$,g){t=t|0,s=s|0,A=+A,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;S1=C,k=($|0)==0;e:do if(k){for(J=26336,X0=0;;){if(o0=e[J>>2]|0,s0=o0+12|0,Y=e[s0>>2]|0,h0=(Y|0)==-1,e0=(Y|0)==(t|0),C1=h0|e0,C1&&(d0=o0+16|0,c0=e[d0>>2]|0,$0=(c0|0)>(s|0),!$0&&(l0=o0+20|0,X=e[l0>>2]|0,m0=(X|0)<(s|0),!m0&&(g0=e[o0>>2]|0,I0=o0+8|0,n0=e[I0>>2]|0,p0=+c1[n0>>3],C0=p0>A,!C0&&(D0=n0+(g0<<3)|0,E0=+c1[D0>>3],Q0=E0>2]|0,Z0=i0+12|0,P0=e[Z0>>2]|0,s1=(P0|0)==-1,A1=(P0|0)==(t|0),y1=s1|A1,y1&&(g1=i0+16|0,_=e[g1>>2]|0,Q=(_|0)>(s|0),!Q&&(L=i0+20|0,R=e[L>>2]|0,M=(R|0)<(s|0),!M&&(F=e[i0>>2]|0,G=i0+4|0,O=e[G>>2]|0,q=+c1[O>>3],H=K>3],A0=K>Z,!A0))))){p=K,m=F,E=f0,y=O,d1=q;break e}if($1=B1+1|0,j=26336+($1<<2)|0,r0=($1|0)==17,r0){h=0;break}else f0=j,B1=$1}return h|0}while(!1);w0=(m|0)>0;e:do if(w0)for(x0=d1,Q1=0;;){if(B0=!(p>=x0),D=Q1+1|0,!B0&&(R0=y+(D<<3)|0,v0=+c1[R0>>3],G0=p>3],x0=b,Q1=D}else p1=0;while(!1);return O0=(p1|0)==(m|0),O0?(H0=+(m|0),k0=H0+-.001,v1=k0):(K0=y+(p1<<3)|0,N0=+c1[K0>>3],M0=N0,W0=p1+1|0,J0=y+(W0<<3)|0,V0=+c1[J0>>3],j0=V0,q0=M0,Y0=p-q0,o1=j0-M0,z0=o1,r1=Y0/z0,L0=r1,h1=+(p1|0),u1=L0+h1,E1=u1,v1=E1),c1[g>>3]=v1,f1=e[E>>2]|0,h=f1,h|0}function dD(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0;L0=C,m=t+28|0,E=e[m>>2]|0,M=E+3396|0,r0=e[M>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=s,D0=t+8|0,e[D0>>2]=A,O0=E+3456|0,e[O0>>2]=1,q0=E+3460|0,e[q0>>2]=1,o1=E+3400|0,z0=+c1[o1>>3],y=~~z0,B=+(y|0),b=z0-B,D=E+3472|0,c1[D>>3]=z0,k=E+3488|0,v=e[k>>2]|0,_=(v|0)==0,_?(Q=r0+120|0,L=e[Q>>2]|0,R=L+(y<<3)|0,F=+c1[R>>3],G=1-b,O=F*G,q=y+1|0,H=L+(q<<3)|0,K=+c1[H>>3],t0=K*b,Z=t0+O,A0=E+3480|0,c1[A0>>3]=Z,g=q,h=G):($=1-b,p=y+1|0,g=p,h=$),j=r0+112|0,o0=e[j>>2]|0,J=o0+(y<<2)|0,s0=e[J>>2]|0,Y=+(s0|0),h0=Y*h,i0=o0+(g<<2)|0,e0=e[i0>>2]|0,d0=+(e0|0),c0=d0*b,$0=c0+h0,X=E+3496|0,c1[X>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,I0=g0+(y<<2)|0,n0=e[I0>>2]|0,f0=+(n0|0),p0=f0*h,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,y0=+(S0|0),E0=y0*b,Q0=E0+p0,w0=E+3504|0,c1[w0>>3]=Q0,B0=E+3512|0,c1[B0>>3]=-6,x0=E+3520|0,c1[x0>>3]=z0,Z0=E+3528|0,c1[Z0>>3]=z0,R0=E+3536|0,c1[R0>>3]=z0,v0=E+3544|0,c1[v0>>3]=z0,G0=E+3552|0,c1[G0>>3]=z0,U0=E+3560|0,c1[U0>>3]=z0,H0=E+3568|0,c1[H0>>3]=z0,k0=E+3576|0,c1[k0>>3]=z0,K0=E+3584|0,c1[K0>>3]=z0,N0=E+3592|0,c1[N0>>3]=z0,M0=E+3600|0,c1[M0>>3]=z0,P0=E+3608|0,c1[P0>>3]=z0,W0=E+3616|0,c1[W0>>3]=z0,J0=E+3624|0,c1[J0>>3]=z0,V0=E+3632|0,c1[V0>>3]=z0,j0=E+3640|0,c1[j0>>3]=z0,Y0=E+3648|0,c1[Y0>>3]=z0}function hD(t,s,A,$,g,h){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0;if(V0=C,m=(g|0)!=0,E=m?$:0,M=m?h:0,r0=s+(E<<2)|0,l0=e[r0>>2]|0,D0=520336+(l0<<2)|0,x0=e[D0>>2]|0,Z0=s+(M<<2)|0,R0=e[Z0>>2]|0,v0=520336+(R0<<2)|0,y=e[v0>>2]|0,B=A+(g<<2)|0,b=e[B>>2]|0,D=A+(E<<2)|0,k=e[D>>2]|0,v=A+(M<<2)|0,_=e[v>>2]|0,Q=(b|0)/4&-1,L=(k|0)/4&-1,R=Q-L|0,F=(k|0)/2&-1,G=R+F|0,O=(b|0)/2&-1,q=O+Q|0,p=(_|0)/-4&-1,H=q+p|0,K=(_|0)/2&-1,t0=H+K|0,Z=(R|0)>0,Z?(A0=Q-L|0,j=A0<<2,g4(t|0,0,j|0)|0,U0=R):U0=0,o0=(U0|0)<(G|0),o0)for(J=Q+F|0,s0=J-U0|0,Y=s0-L|0,O0=U0,K0=0;d0=x0+(K0<<2)|0,c0=+o[d0>>2],$0=t+(O0<<2)|0,X=+o[$0>>2],m0=X*c0,o[$0>>2]=m0,g0=O0+1|0,I0=K0+1|0,G0=(I0|0)==(Y|0),!G0;)O0=g0,K0=I0;if(h0=(_|0)>1,h0){for(i0=H+1|0,e0=(t0|0)>(i0|0),k0=H,M0=K;N0=M0+-1|0,C0=y+(N0<<2)|0,S0=+o[C0>>2],y0=t+(k0<<2)|0,E0=+o[y0>>2],Q0=E0*S0,o[y0>>2]=Q0,w0=k0+1|0,B0=(w0|0)<(t0|0),B0;)k0=w0,M0=N0;W0=e0?t0:i0,H0=W0}else H0=H;n0=(b|0)>(H0|0),n0&&(P0=t+(H0<<2)|0,f0=b-H0|0,p0=f0<<2,g4(P0|0,0,p0|0)|0)}function fD(t,s,A){t=t|0,s=+s,A=+A;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0;if(X=C,C=C+64|0,$0=X+32|0,c0=X,$=Re(688)|0,g=$+408|0,bb(g),_=~~s,gD(g,t,_,A)|0,t0=$+440|0,vb(t0),kb(t0,553008,553016),s0=$+456|0,nb(s0,g)|0,Y=$+568|0,ib(s0,Y)|0,h0=By(0)|0,yD(h0),i0=QD()|0,zS($,i0)|0,e0=$+680|0,e[e0>>2]=0,d0=$+684|0,e[d0>>2]=0,h=$+360|0,Db(s0,t0,h,$0,c0)|0,$E($,h)|0,$E($,$0)|0,$E($,c0)|0,p=$+392|0,m=Qy($,p)|0,E=(m|0)==0,E)return C=X,$|0;for(y=$+396|0,B=$+404|0,b=$+400|0;D=e[d0>>2]|0,k=e[y>>2]|0,v=k+D|0,Q=e[B>>2]|0,L=v+Q|0,R=(L|0)==0,R||(G=e[e0>>2]|0,O=W7(G,L)|0,e[e0>>2]=O,q=e[d0>>2]|0,H=O+q|0,K=e[p>>2]|0,Z=e[y>>2]|0,g9(H|0,K|0,Z|0)|0,A0=Z+q|0,e[d0>>2]=A0,j=O+A0|0,r0=e[b>>2]|0,o0=e[B>>2]|0,g9(j|0,r0|0,o0|0)|0,J=o0+A0|0,e[d0>>2]=J),M=Qy($,p)|0,F=(M|0)==0,!F;);return C=X,$|0}function ID(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0;E=C,KS(t)|0,s=t+568|0,rb(s)|0,A=t+456|0,Sy(A),$=t+440|0,Sb($),g=t+408|0,TC(g),h=t+680|0,p=e[h>>2]|0,E2(p),E2(t)}function mD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0;return h=C,A=t+456|0,$=by(A,s)|0,$|0}function pD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0;if(X=C,A=t+456|0,sb(A,s)|0,$=t+568|0,v=Dy(A,$)|0,K=(v|0)==1,!!K)for(h0=t+360|0,i0=t+392|0,e0=t+684|0,d0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,h=t+400|0;;){if(jS($,0)|0,tb($)|0,E=ky(A,h0)|0,y=(E|0)==0,!y)for(;;){if($E(t,h0)|0,D=wy(t,i0)|0,k=(D|0)==0,!k)for(;_=e[e0>>2]|0,Q=e[d0>>2]|0,L=Q+_|0,R=e[c0>>2]|0,M=L+R|0,F=(M|0)==0,F||(q=e[$0>>2]|0,H=W7(q,M)|0,e[$0>>2]=H,t0=e[e0>>2]|0,Z=H+t0|0,A0=e[g>>2]|0,j=e[d0>>2]|0,g9(Z|0,A0|0,j|0)|0,r0=j+t0|0,e[e0>>2]=r0,o0=H+r0|0,J=e[h>>2]|0,s0=e[c0>>2]|0,g9(o0|0,J|0,s0|0)|0,Y=s0+r0|0,e[e0>>2]=Y),G=wy(t,i0)|0,O=(G|0)==0,!O;);if(B=ky(A,h0)|0,b=(B|0)==0,b)break}if(p=Dy(A,$)|0,m=(p|0)==1,!m)break}}function ED(t){t=t|0;var s=0,A=0,$=0,g=0;return g=C,s=t+684|0,A=e[s>>2]|0,A|0}function CD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0;return h=C,s=t+684|0,e[s>>2]=0,A=t+680|0,$=e[A>>2]|0,$|0}function uE(t,s){t=+t,s=s|0;var A=0,$=0,g=0;return g=C,A=+BD(t,s),+A}function Hu(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0;if(U3=C,C=C+688|0,n3=U3+424|0,W5=U3+192|0,t3=U3,s0=s5(A,s)|0,Y=(s0|0)==0,Y){C=U3;return}for(j=s0-A|0,Y1=t3+4|0,e[Y1>>2]=A,e[t3>>2]=A,r2=A,p5=A,x3=2;$2=r2+A|0,U2=$2+p5|0,N5=t3+(x3<<2)|0,e[N5>>2]=U2,x5=U2>>>0>>0,n5=x3+1|0,x5;)k2=p5,p5=U2,x3=n5,r2=k2;if(h0=0-A|0,n0=t+j|0,x0=(j|0)>0,x0)for(M0=(A|0)==0,L0=n0,b1=1,Z2=0,G5=t,H5=1;;){X0=b1&3,J1=(X0|0)==3;do if(J1){e[W5>>2]=G5,H1=(H5|0)>1;e:do if(H1){for(B=H5,Q=G5,q1=G5,X5=1;;){if(V1=Q+h0|0,z1=B+-2|0,t2=t3+(z1<<2)|0,o2=e[t2>>2]|0,U5=o2+A|0,r0=0-U5|0,e2=Q+r0|0,d2=pi[$&15](q1,e2)|0,Z1=(d2|0)>-1,Z1&&(I2=pi[$&15](q1,V1)|0,A2=(I2|0)>-1,A2)){f3=X5;break}if(C2=pi[$&15](e2,V1)|0,W1=(C2|0)>-1,f2=X5+1|0,g2=W5+(X5<<2)|0,W1?(e[g2>>2]=e2,n2=B+-1|0,h=e2,E=n2):(e[g2>>2]=V1,h=V1,E=z1),u2=(E|0)>1,!u2){f3=f2;break}K=e[W5>>2]|0,B=E,Q=h,q1=K,X5=f2}if(s2=(f3|0)<2,!s2&&(l2=W5+(f3<<2)|0,e[l2>>2]=n3,!M0))for(v=A,q2=n3;;){for(p2=v>>>0>256,a2=p2?256:v,W2=e[W5>>2]|0,g9(q2|0,W2|0,a2|0)|0,M2=W2,e6=0;D2=W5+(e6<<2)|0,S2=e6+1|0,y2=W5+(S2<<2)|0,G2=e[y2>>2]|0,g9(M2|0,G2|0,a2|0)|0,O2=M2+a2|0,e[D2>>2]=O2,r3=(S2|0)==(f3|0),!r3;)M2=G2,e6=S2;if(i2=(v|0)==(a2|0),i2)break e;m2=v-a2|0,Z=e[l2>>2]|0,v=m2,q2=Z}}while(!1);K2=b1>>>2,V2=Z2<<30,A5=K2|V2,Y2=Z2>>>2,N1=H5+2|0,l0=A5,x1=Y2,Y5=N1}else{if(t5=H5+-1|0,T5=t3+(t5<<2)|0,i5=e[T5>>2]|0,L5=G5,j2=L0-L5|0,_5=i5>>>0>>0,_5){e[W5>>2]=G5,V5=(H5|0)>1;e:do if(V5){for(b=H5,L=G5,R2=G5,_3=1;;){if(u5=L+h0|0,b2=b+-2|0,y5=t3+(b2<<2)|0,o5=e[y5>>2]|0,l6=o5+A|0,o0=0-l6|0,F2=L+o0|0,Q2=pi[$&15](R2,F2)|0,Q5=(Q2|0)>-1,Q5&&(E5=pi[$&15](R2,u5)|0,M5=(E5|0)>-1,M5)){w3=_3;break}if(q5=pi[$&15](F2,u5)|0,R5=(q5|0)>-1,z2=_3+1|0,C5=W5+(_3<<2)|0,R5?(e[C5>>2]=F2,$5=b+-1|0,p=F2,y=$5):(e[C5>>2]=u5,p=u5,y=b2),d5=(y|0)>1,!d5){w3=z2;break}t0=e[W5>>2]|0,b=y,L=p,R2=t0,_3=z2}if(w5=(w3|0)<2,!w5&&(T1=W5+(w3<<2)|0,e[T1>>2]=n3,!M0))for(_=A,e5=n3;;){for(I5=_>>>0>256,l5=I5?256:_,F5=e[W5>>2]|0,g9(e5|0,F5|0,l5|0)|0,f5=F5,V3=0;h2=W5+(V3<<2)|0,v5=V3+1|0,r5=W5+(v5<<2)|0,a5=e[r5>>2]|0,g9(f5|0,a5|0,l5|0)|0,J2=f5+l5|0,e[h2>>2]=J2,a3=(v5|0)==(w3|0),!a3;)f5=a5,V3=v5;if(h5=(_|0)==(l5|0),h5)break e;X2=_-l5|0,A0=e[T1>>2]|0,_=X2,e5=A0}}while(!1)}else dE(G5,A,$,b1,Z2,H5,0,t3);if(c5=(H5|0)==1,c5){T2=Z2<<1,k5=b1>>>31,z5=k5|T2,i3=b1<<1,l0=i3,x1=z5,Y5=0;break}else{B5=t5>>>0>31,I3=H5+-33|0,g=B5?0:b1,R=B5?b1:Z2,M=B5?I3:t5,h3=R<>>i0,d0=e0|h3,c0=g<>>0>>0,m0)b1=$0,Z2=x1,G5=X,H5=Y5;else{O=x1,q=$0,y3=X,K5=Y5;break}}else O=0,q=1,y3=t,K5=1;if(dE(y3,A,$,q,O,K5,0,t3),g0=(K5|0)==1,I0=(q|0)==1,Q3=I0&g0,f0=(O|0)==0,u3=f0&Q3,u3){C=U3;return}else S0=q,v0=O,Z5=y3,D5=K5;for(;;){if(p0=(D5|0)<2,!p0){Y0=v0<<2,o1=S0>>>30,z0=o1|Y0,r1=D5+-2|0,s1=S0<<1,h1=s1&2147483646,u1=o1<<31,E1=h1|u1,f1=E1^3,d1=z0>>>1,A1=t3+(r1<<2)|0,g1=e[A1>>2]|0,z3=g1+A|0,J=0-z3|0,a1=Z5+J|0,$1=D5+-1|0,dE(a1,A,$,f1,d1,$1,1,t3),B1=d1<<1,p1=o1&1,Q1=B1|p1,C1=f1<<1,y1=C1|1,v1=Z5+h0|0,dE(v1,A,$,y1,Q1,r1,1,t3),S0=y1,v0=Q1,Z5=v1,D5=r1;continue}C0=S0+-1|0,y0=(C0|0)==0;do if(y0)q0=32,l3=56;else{if(D0=C0&1,E0=(D0|0)==0,E0){for(D=C0,a6=0;;)if(Q0=a6+1|0,w0=D>>>1,B0=w0&1,Z0=(B0|0)==0,Z0)D=w0,a6=Q0;else{F=Q0;break}R0=(F|0)==0,R0?l3=51:J0=F}else l3=51;if((l3|0)==51){if(l3=0,G0=(v0|0)==0,G0){q0=64,l3=56;break}if(U0=v0&1,O0=(U0|0)==0,O0)k=v0,G3=0;else{m=0,S1=S0,_1=v0,D1=0;break}for(;;)if(H0=G3+1|0,k0=k>>>1,K0=k0&1,N0=(K0|0)==0,N0)k=k0,G3=H0;else{G=H0,Y3=G3;break}if(P0=Y3+33|0,W0=(G|0)==0,W0){m=0,S1=S0,_1=v0,D1=0;break}else J0=P0}V0=J0>>>0>31,V0?(q0=J0,l3=56):(m=J0,S1=S0,_1=v0,D1=J0)}while(!1);if((l3|0)==56&&(l3=0,j0=q0+-32|0,m=j0,S1=v0,_1=0,D1=q0),k1=S1>>>m,L1=32-m|0,M1=_1<>>m,P1=D1+D5|0,H=Z5+h0|0,O1=(P1|0)==1,X1=(R1|0)==1,c3=X1&O1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,Z5=H,D5=P1}C=U3}function dE(t,s,A,$,g,h,p,m){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0;Q2=C,C=C+720|0,F2=Q2+456|0,V2=Q2+228|0,U2=Q2,e[U2>>2]=t,Y=0-s|0,h0=($|0)!=1,v0=(g|0)!=0,J0=v0|h0;e:do if(J0)if(u1=m+(h<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,z1=t+F1|0,W1=pi[A&15](z1,t)|0,k2=(W1|0)<1,k2)B=t,R=h,H=p,Y2=1,R2=18;else for(k=t,O=h,K=p,B0=z1,Y0=g,L5=1,b2=$;;){if(i0=(K|0)==0,f0=(O|0)>1,u5=i0&f0,u5){if(D0=k+Y|0,E0=O+-2|0,Q0=m+(E0<<2)|0,w0=e[Q0>>2]|0,x0=pi[A&15](D0,B0)|0,Z0=(x0|0)>-1,Z0){b=k,M=O,t5=L5;break e}if(y5=w0+s|0,J=0-y5|0,R0=k+J|0,G0=pi[A&15](R0,B0)|0,U0=(G0|0)>-1,U0){b=k,M=O,t5=L5;break e}}O0=L5+1|0,H0=U2+(L5<<2)|0,e[H0>>2]=B0,k0=b2+-1|0,K0=(k0|0)==0;do if(K0)$1=32,R2=15;else{if(N0=k0&1,M0=(N0|0)==0,M0){for(Q=k0,p5=0;;)if(P0=p5+1|0,W0=Q>>>1,V0=W0&1,j0=(V0|0)==0,j0)Q=W0,p5=P0;else{t0=P0;break}q0=(t0|0)==0,q0?R2=10:A1=t0}else R2=10;if((R2|0)==10){if(R2=0,o1=(Y0|0)==0,o1){$1=64,R2=15;break}if(z0=Y0&1,r1=(z0|0)==0,r1)L=Y0,_5=0;else{y=0,B1=b2,y1=Y0,L1=0;break}for(;;)if(L0=_5+1|0,s1=L>>>1,h1=s1&1,E1=(h1|0)==0,E1)L=s1,_5=L0;else{Z=L0,V5=_5;break}if(f1=V5+33|0,d1=(Z|0)==0,d1){y=0,B1=b2,y1=Y0,L1=0;break}else A1=f1}g1=A1>>>0>31,g1?($1=A1,R2=15):(y=A1,B1=b2,y1=Y0,L1=A1)}while(!1);if((R2|0)==15&&(R2=0,a1=$1+-32|0,y=a1,B1=Y0,y1=0,L1=$1),X0=B1>>>y,p1=32-y|0,C1=y1<>>y,S1=L1+O|0,M1=(v1|0)!=1,b1=(k1|0)!=0,_1=b1|M1,!_1){b=B0,M=S1,t5=O0;break e}if(A0=e[U2>>2]|0,R1=m+(S1<<2)|0,P1=e[R1>>2]|0,D1=0-P1|0,O1=B0+D1|0,X1=pi[A&15](O1,A0)|0,G1=(X1|0)<1,G1){B=B0,R=S1,H=0,Y2=O0,R2=18;break}else v=B0,O=S1,K=0,B0=O1,Y0=k1,L5=O0,b2=v1,k=v}else B=t,R=h,H=p,Y2=1,R2=18;while(!1);if((R2|0)==18)if(x1=(H|0)==0,x1)b=B,M=R,t5=Y2;else{C=Q2;return}J1=(t5|0)<2;e:do if(!J1&&(H1=U2+(t5<<2)|0,e[H1>>2]=F2,V1=(s|0)==0,!V1))for(G=s,f2=F2;;){for(C2=G>>>0>256,t2=C2?256:G,$2=e[U2>>2]|0,g9(f2|0,$2|0,t2|0)|0,I2=$2,i5=0;e2=U2+(i5<<2)|0,q1=i5+1|0,d2=U2+(q1<<2)|0,Z1=e[d2>>2]|0,g9(I2|0,Z1|0,t2|0)|0,A2=I2+t2|0,e[e2>>2]=A2,A5=(q1|0)==(t5|0),!A5;)I2=Z1,i5=q1;if(Y1=(G|0)==(t2|0),Y1)break e;o2=G-t2|0,o0=e[H1>>2]|0,G=o2,f2=o0}while(!1);e[V2>>2]=b,g2=(M|0)>1;e:do if(g2){for(_=M,q=b,a2=b,j2=1;;){if(n2=q+Y|0,u2=_+-2|0,s2=m+(u2<<2)|0,l2=e[s2>>2]|0,o5=l2+s|0,s0=0-o5|0,i2=q+s0|0,m2=pi[A&15](a2,i2)|0,r2=(m2|0)>-1,r2&&(D2=pi[A&15](a2,n2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(y2=pi[A&15](i2,n2)|0,G2=(y2|0)>-1,M2=j2+1|0,O2=V2+(j2<<2)|0,G2?(e[O2>>2]=i2,p2=_+-1|0,E=i2,D=p2):(e[O2>>2]=n2,E=n2,D=u2),W2=(D|0)>1,!W2){N1=M2;break}j=e[V2>>2]|0,_=D,q=E,a2=j,j2=M2}if(q2=(N1|0)<2,q2)y0=F2;else if(K2=V2+(N1<<2)|0,e[K2>>2]=F2,e0=(s|0)==0,e0)y0=F2;else for(F=s,S0=F2;;){for(p0=F>>>0>256,c0=p0?256:F,C0=e[V2>>2]|0,g9(S0|0,C0|0,c0|0)|0,I0=C0,T5=0;l0=V2+(T5<<2)|0,X=T5+1|0,m0=V2+(X<<2)|0,g0=e[m0>>2]|0,g9(I0|0,g0|0,c0|0)|0,n0=I0+c0|0,e[l0>>2]=n0,Z2=(X|0)==(N1|0),!Z2;)I0=g0,T5=X;if(d0=(F|0)==(c0|0),d0){y0=F2;break e}$0=F-c0|0,r0=e[K2>>2]|0,F=$0,S0=r0}}else y0=F2;while(!1);C=Q2}function J7(t){t=+t;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;return M=C,c1[w2>>3]=t,A=e[w2>>2]|0,$=e[w2+4>>2]|0,y=$&2146435072,B=y>>>0>1126170624,b=!1,D=(y|0)==1126170624,k=D&b,v=B|k,v?(s=t,+s):(_=($|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,h=t+4503599627370496,p=h+-4503599627370496,L=_?g:p,m=L==0,m?(E=_?-0:0,s=E,+s):(s=L,+s))}function Zy(t){t=+t;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return v=C,A=(o[w2>>2]=t,e[w2>>2]|0),$=A&2130706432,g=$>>>0>1249902592,g?(s=t,+s):(h=(A|0)<0,p=t+-8388608,m=p+8388608,E=t+8388608,y=E+-8388608,D=h?m:y,B=D==0,B?(b=h?-0:0,s=b,+s):(s=D,+s))}function BD(t,s){t=+t,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0;return t0=C,h=(s|0)>1023,h?(p=t*898846567431158e293,Q=s+-1023|0,L=(Q|0)>1023,L?(R=p*898846567431158e293,M=s+-2046|0,F=(M|0)>1023,A=F?1023:M,$=A,H=R):($=Q,H=p)):(G=(s|0)<-1022,G?(O=t*22250738585072014e-324,q=s+1022|0,m=(q|0)<-1022,m?(E=O*22250738585072014e-324,y=s+2044|0,B=(y|0)<-1022,g=B?-1022:y,$=g,H=E):($=q,H=O)):($=s,H=t)),b=$+1023|0,D=eQ(b|0,0,52)|0,k=Z6,e[w2>>2]=D,e[w2+4>>2]=k,v=+c1[w2>>3],_=H*v,+_}function yD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0;m=C,s=t+-1|0,A=553040,$=A,e[$>>2]=s,g=A+4|0,h=g,e[h>>2]=0}function QD(){var t=0,s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,t=553040,s=t,E=e[s>>2]|0,y=t+4|0,B=y,b=e[B>>2]|0,D=SD(E|0,b|0,1284865837,1481765933)|0,k=Z6,v=ro(D|0,k|0,1,0)|0,_=Z6,A=553040,$=A,e[$>>2]=v,g=A+4|0,h=g,e[h>>2]=_,p=no(v|0,_|0,33)|0,m=Z6,p|0}function Re(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0,y8=0,P8=0,sn=0,kr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,Sr=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,br=0,dn=0,To=0,or=0,No=0,ls=0,hn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,ds=0,hs=0,Po=0,Dr=0,fs=0,p7=0,In=0,_r=0,ar=0,xr=0,Z7=0,Lr=0,Is=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,Ar=0,$r=0,Rr=0,E7=0,Oo=0,fi=0,gl=0,mn=0,pn=0,Vu=0,ul=0,qo=0,Yu=0,cA=0,dl=0,zu=0,Ku=0,Ju=0,gA=0,hl=0,fl=0,uA=0,En=0,Il=0,Wu=0,Ho=0,lr=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,nd=0,sd=0,od=0,ml=0,Fr=0,ad=0,Ad=0,pl=0,$d=0,dA=0,Vo=0,hA=0,ld=0,cd=0,fA=0,El=0,Cl=0,Bl=0,IA=0,yl=0,Yo=0,gd=0,ud=0,Ql=0,dd=0,hd=0,wl=0,fd=0,Id=0,vl=0,kl=0,Sl=0,bl=0,Dl=0,Cn=0,md=0,_l=0,pd=0,xl=0,Ll=0,Ed=0,Cd=0,Bd=0,mA=0,Ml=0,Rl=0,ms=0,Fl=0,pA=0,yd=0,Tl=0,Qd=0,Nl=0,wd=0,vd=0,Gl=0,Ul=0,kd=0,zo=0,Sd=0,EA=0,Pl=0,Ol=0,bd=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,Ko=0,ql=0,Hl=0,Vl=0,Jo=0,Rd=0,Yl=0,Fd=0,zl=0,Td=0,Nd=0,Kl=0,CA=0,Gd=0,Ud=0,Wo=0,Pd=0,Zo=0,Od=0,BA=0,qd=0,Hd=0,Vd=0,Jl=0,Yd=0,zd=0,Kd=0,Jd=0,Wl=0,Zl=0,cr=0,jl=0,jo=0,yA=0,QA=0,Bn=0,Xl=0,yn=0,Wd=0,ec=0,Zd=0,jd=0,Xd=0,eh=0,Xo=0,wA=0,Tr=0,th=0,ih=0,tc=0,vA=0,ic=0,rc=0,rh=0,nc=0,nh=0,kA=0,sh=0,oh=0,Je=0,ah=0,sc=0,Ah=0,$h=0,SA=0,lh=0,bA=0,oc=0,ch=0,gh=0,ac=0,Ac=0,uh=0,DA=0,_A=0,$c=0,lc=0,dh=0,cc=0,xA=0,hh=0,gc=0,fh=0,Ih=0,mh=0,ph=0,uc=0,dc=0,LA=0,ea=0,hc=0,Eh=0,fc=0,Ic=0,Ch=0,Bh=0,yh=0,mc=0,Qh=0,wh=0,vh=0,kh=0,Sh=0,bh=0,pc=0,Dh=0,Ec=0,_h=0,Qn=0,xh=0,Cc=0,Lh=0,ps=0,Bc=0,MA=0,Mh=0,ta=0,RA=0,Rh=0,FA=0,yc=0,Fh=0,Th=0,Nh=0,Gh=0,Uh=0,Qc=0,Ph=0,Oh=0,qh=0,ia=0,Es=0,TA=0,Hh=0,NA=0,Vh=0,Yh=0,zh=0,wc=0,Kh=0,Jh=0,Wh=0,Zh=0,jh=0,ra=0,Xh=0,ef=0,vc=0,tf=0,rf=0,nf=0,sf=0,C7=0,kc=0,B7=0,Sc=0,GA=0,of=0,r7=0,Cs=0,af=0,Af=0,$f=0,lf=0,cf=0,bc=0,gf=0,uf=0,Dc=0,df=0,hf=0,Bs=0,UA=0,ff=0,_c=0,If=0,mf=0,na=0,pf=0,Ef=0,xc=0,Lc=0,Cf=0,Bf=0,wn=0,yf=0,Qf=0,vn=0,wf=0,Mc=0,vf=0,kf=0,ys=0,Rc=0,Sf=0,Fc=0,bf=0,gr=0,PA=0,Df=0,Tc=0,Nc=0,_f=0,xf=0,Gc=0,Lf=0,Mf=0,Rf=0,Uc=0,Ff=0,Qs=0,Tf=0,kn=0,Nf=0,Gf=0,OA=0,Uf=0,qA=0,HA=0,Pf=0,Pc=0,Oc=0,Of=0,qc=0,Hc=0,Vc=0,qf=0,Yc=0,zc=0,Hf=0,Vf=0,Kc=0,Jc=0,Yf=0,Wc=0,Zc=0,zf=0,Kf=0,jc=0,VA=0,Xc=0,eg=0,tg=0,ig=0,Jf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,rg=0,YA=0,rI=0,nI=0,sI=0,ng=0,sg=0,oI=0,og=0,zA=0,sa=0,ag=0,aI=0,AI=0,$I=0,lI=0,Ag=0,oa=0,cI=0,gI=0,uI=0,dI=0,hI=0,fI=0,II=0,mI=0,$g=0,pI=0,EI=0,CI=0,BI=0,aa=0,lg=0,yI=0,QI=0,Sn=0,cg=0,gg=0,KA=0,wI=0,ug=0,vI=0,dg=0,hg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,JA=0,xI=0,LI=0,MI=0,RI=0,fg=0,FI=0,Ig=0,TI=0,NI=0,mg=0,Nr=0,pg=0,Eg=0,GI=0,Cg=0,$a=0,UI=0,PI=0,OI=0,la=0,Bg=0,qI=0,HI=0,yg=0,VI=0,YI=0,WA=0,ca=0,zI=0,KI=0,JI=0,Qg=0,wg=0,vg=0,WI=0,ZI=0,ws=0,jI=0,kg=0,XI=0,ZA=0,Sg=0,em=0,tm=0,im=0,rm=0,bg=0,nm=0,sm=0,Dg=0,ga=0,om=0,am=0,Am=0,vs=0,_g=0,xg=0,$m=0,Lg=0,Mg=0,L7=0,Rg=0,ur=0,lm=0,cm=0,gm=0,um=0,jA=0,ua=0,Fg=0,Tg=0,dm=0,da=0,ks=0,hm=0,ha=0,XA=0,fm=0,e$=0,Im=0,mm=0,Ng=0,fa=0,Gg=0,pm=0,Em=0,Cm=0,Bm=0,Ug=0,ym=0,si=0,_9=0,n7=0,Qm=0,Pg=0,Og=0,t$=0,wm=0,Gr=0,Ss=0,vm=0,km=0,qg=0,i$=0,Sm=0,Hg=0,Vg=0,Yg=0,r$=0,n$=0,zg=0,bs=0,s$=0,Kg=0,bm=0,bn=0,Dm=0,Jg=0,Ia=0,_m=0,Wg=0,M7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,R7=0,Nm=0,Gm=0,Um=0,Zg=0,y7=0,ma=0,o$=0,jg=0,Xg=0,Pm=0,eu=0,tu=0,Om=0,qm=0,iu=0,ru=0,Hm=0,Vm=0,nu=0,Ym=0,Ds=0,pa=0,Ea=0,zm=0,a$=0,Km=0,Jm=0,su=0,_s=0,Wm=0,Zm=0,A$=0,$$=0,Ca=0,l$=0,c$=0,dr=0,Ur=0,Pr=0,g$=0,u$=0,xs=0,hr=0,Dn=0,jm=0,fr=0,_n=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ou=0,au=0,Qa=0,d$=0,Ni=0,wa=0,Or=0,h$=0,ep=0,f$=0,tp=0,I$=0,Au=0,va=0,ip=0,rp=0,ka=0,np=0,Sa=0,xn=0,tt=0,L9=0,$u=0,sp=0,m$=0,lu=0,op=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,cu=0,gp=0,up=0,dp=0,s7=0,Da=0,Ln=0,p$=0,Ls=0,Ms=0,oi=0,Rs=0,gu=0,uu=0,_a=0,Fs=0,Ts=0,Ns=0,hp=0,Gs=0,Ir=0,du=0,qr=0,o7=0,E$=0,C$=0,X7=0,B$=0,y$=0,Q$=0,Hr=0,d6=0,xa=0,Vr=0,hu=0,L4=0,w$=0,kt=0,Us=0,Mn=0,Rn=0,qe=0,Fn=0,Yr=0,X9=0,v$=0;v$=C,W1=t>>>0<245;do if(W1){if(f2=t>>>0<11,E9=t+11|0,W9=E9&-8,x4=f2?16:W9,qo=x4>>>3,BA=e[138262]|0,ia=BA>>>qo,eg=ia&3,Dg=(eg|0)==0,!Dg){g2=ia&1,f3=g2^1,g3=f3+qo|0,l3=g3<<1,d3=553088+(l3<<2)|0,S0=l3+2|0,N6=553088+(S0<<2)|0,R6=e[N6>>2]|0,G6=R6+8|0,F6=e[G6>>2]|0,Qe=(d3|0)==(F6|0);do if(Qe)ze=1<>>0>>0,h4&&v2(),b9=F6+12|0,be=e[b9>>2]|0,Pt=(be|0)==(R6|0),Pt){e[b9>>2]=d3,e[N6>>2]=F6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=R6+4|0,e[U4>>2]=p8,w0=pt|4,D4=R6+w0|0,Z9=e[D4>>2]|0,A8=Z9|1,e[D4>>2]=A8,tt=G6,tt|0}if(X4=e[138264]|0,j8=x4>>>0>X4>>>0,j8){if(Hi=(ia|0)==0,!Hi){Yi=ia<>>12,un=So&16,gs=rs>>>un,ar=gs>>>5,Ar=ar&8,Yu=Ar|un,Il=gs>>>Ar,nd=Il>>>2,hA=nd&4,ud=Yu|hA,Dl=Il>>>hA,Ml=Dl>>>1,Gl=Ml&2,xd=ud|Gl,zl=Dl>>>Gl,qd=zl>>>1,jl=qd&1,Xd=xd|jl,rh=zl>>>jl,SA=Xd+rh|0,$c=SA<<1,uc=553088+($c<<2)|0,O1=$c+2|0,mc=553088+(O1<<2)|0,Qn=e[mc>>2]|0,FA=Qn+8|0,Es=e[FA>>2]|0,Zh=(uc|0)==(Es|0);do if(Zh)kc=1<>>0>>0,gr&&v2(),Uc=Es+12|0,Pf=e[Uc>>2]|0,Vf=(Pf|0)==(Qn|0),Vf){e[Uc>>2]=uc,e[mc>>2]=Es,v=e[138264]|0,ca=v;break}else v2();while(!1);return tg=SA<<3,YA=tg-x4|0,aI=x4|3,fI=Qn+4|0,e[fI>>2]=aI,QI=Qn+x4|0,SI=YA|1,t2=x4|4,FI=Qn+t2|0,e[FI>>2]=SI,UI=Qn+tg|0,e[UI>>2]=YA,kg=(ca|0)==0,kg||(ga=e[138267]|0,Rg=ca>>>3,da=Rg<<1,Gg=553088+(da<<2)|0,Pg=e[138262]|0,Hg=1<>2]|0,y2=e[138266]|0,A5=n2>>>0>>0,A5?v2():(H=Ds,Ca=n2)),e[H>>2]=ga,u5=Ca+12|0,e[u5>>2]=ga,q5=ga+8|0,e[q5>>2]=Ca,X2=ga+12|0,e[X2>>2]=Gg),e[138264]=YA,e[138267]=QI,tt=FA,tt|0}if(c5=e[138263]|0,y3=(c5|0)==0,y3)L9=x4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,e6=w3>>>12,V3=e6&16,X5=w3>>>V3,_3=X5>>>5,t3=_3&8,a6=t3|V3,G3=X5>>>t3,Y3=G3>>>2,c3=Y3&4,u3=a6|c3,Q3=G3>>>c3,K5=Q3>>>1,H5=K5&2,Y5=u3|H5,D5=Q3>>>H5,z3=D5>>>1,U5=z3&1,l6=Y5|U5,n3=D5>>>U5,U3=l6+n3|0,C6=553352+(U3<<2)|0,b3=e[C6>>2]|0,L3=b3+4|0,D3=e[L3>>2]|0,A6=D3&-8,r6=A6-x4|0,Da=r6,C$=b3,w$=b3;;){if(K3=C$+16|0,j5=e[K3>>2]|0,M3=(j5|0)==0,M3)if(J3=C$+20|0,h6=e[J3>>2]|0,m3=(h6|0)==0,m3){Ln=Da,kt=w$;break}else L6=h6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,n6=S6-x4|0,f6=n6>>>0>>0,J=f6?n6:Da,$2=f6?L6:w$,Da=J,C$=L6,w$=$2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),k6=kt+x4|0,R3=kt>>>0>>0,R3||v2(),s6=kt+24|0,o6=e[s6>>2]|0,B6=kt+12|0,W3=e[B6>>2]|0,F3=(W3|0)==(kt|0);do if(F3){if(H6=kt+20|0,$6=e[H6>>2]|0,D6=($6|0)==0,D6)if(ee=kt+16|0,Q6=e[ee>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else hr=Q6,Ba=ee;else hr=$6,Ba=H6;for(;;){if(P3=hr+20|0,re=e[P3>>2]|0,V6=(re|0)==0,!V6){hr=re,Ba=P3;continue}if(oe=hr+16|0,ue=e[oe>>2]|0,U6=(ue|0)==0,U6){fr=hr,au=Ba;break}else hr=ue,Ba=oe}if(Y6=au>>>0>>0,Y6)v2();else{e[au>>2]=0,Ri=fr;break}}else if(Z3=kt+8|0,t6=e[Z3>>2]|0,c6=t6>>>0>>0,c6&&v2(),s3=t6+12|0,K6=e[s3>>2]|0,A3=(K6|0)==(kt|0),A3||v2(),g6=W3+8|0,y6=e[g6>>2]|0,T3=(y6|0)==(kt|0),T3){e[s3>>2]=W3,e[g6>>2]=t6,Ri=W3;break}else v2();while(!1);te=(o6|0)==0;do if(!te){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,ae=(kt|0)==(O6|0),ae){if(e[O3>>2]=Ri,ip=(Ri|0)==0,ip){he=1<>>0>>0,Ie&&v2(),Ve=o6+16|0,w6=e[Ve>>2]|0,q6=(w6|0)==(kt|0),q6?e[Ve>>2]=Ri:(Ae=o6+20|0,e[Ae>>2]=Ri),Ye=(Ri|0)==0,Ye)break;we=e[138266]|0,w9=Ri>>>0>>0,w9&&v2(),u9=Ri+24|0,e[u9>>2]=o6,r9=kt+16|0,Fe=e[r9>>2]|0,ve=(Fe|0)==0;do if(!ve)if(J6=Fe>>>0>>0,J6)v2();else{$e=Ri+16|0,e[$e>>2]=Fe,v9=Fe+24|0,e[v9>>2]=Ri;break}while(!1);if(R9=kt+20|0,d9=e[R9>>2]|0,_e=(d9|0)==0,!_e)if(F9=e[138266]|0,U9=d9>>>0>>0,U9)v2();else{H9=Ri+20|0,e[H9>>2]=d9,n4=d9+24|0,e[n4>>2]=Ri;break}}while(!1);return k9=Ln>>>0<16,k9?(V9=Ln+x4|0,Ke=V9|3,Y9=kt+4|0,e[Y9>>2]=Ke,X1=V9+4|0,h9=kt+X1|0,P9=e[h9>>2]|0,C9=P9|1,e[h9>>2]=C9):(Ze=x4|3,ke=kt+4|0,e[ke>>2]=Ze,k4=Ln|1,m0=x4|4,V4=kt+m0|0,e[V4>>2]=k4,I0=Ln+x4|0,nt=kt+I0|0,e[nt>>2]=Ln,z9=e[138264]|0,Y4=(z9|0)==0,Y4||(K9=e[138267]|0,s4=z9>>>3,R4=s4<<1,n9=553088+(R4<<2)|0,u4=e[138262]|0,B9=1<>2]|0,d4=e[138266]|0,s9=N9>>>0>>0,s9?v2():(O=f9,$$=N9)),e[O>>2]=K9,f4=$$+12|0,e[f4>>2]=K9,S9=K9+8|0,e[S9>>2]=$$,o4=K9+12|0,e[o4>>2]=n9),e[138264]=Ln,e[138267]=k6),O9=kt+8|0,tt=O9,tt|0}}else L9=x4}else if(I4=t>>>0>4294967231,I4)L9=-1;else if(Se=t+11|0,I6=Se&-8,z4=e[138263]|0,I9=(z4|0)==0,I9)L9=I6;else{S4=0-I6|0,m9=Se>>>8,z6=(m9|0)==0,z6?xn=0:(F4=I6>>>0>16777215,F4?xn=31:(T4=m9+1048320|0,ot=T4>>>16,p9=ot&8,x9=m9<>>16,xe=j3&4,q9=xe|p9,a4=x9<>>16,f8=N4&2,x8=q9|f8,e8=14-x8|0,I8=a4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,L8=i8|Ot,xn=L8)),Ht=553352+(xn<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ms=S4,B$=0,Rn=0,X9=86;else for(_t=(xn|0)==31,xt=xn>>>1,zt=25-xt|0,Kt=_t?0:zt,r8=I6<>2]|0,K4=Et&-8,G4=K4-I6|0,at=G4>>>0>>0,at)if(Lt=(K4|0)==(I6|0),Lt){Rs=G4,Hr=X7,Yr=X7,X9=90;break e}else Ls=G4,Mn=X7;else Ls=p$,Mn=Us;if(Le=X7+20|0,b4=e[Le>>2]|0,E8=_a>>>31,M8=(X7+16|0)+(E8<<2)|0,s8=e[M8>>2]|0,R8=(b4|0)==0,A4=(b4|0)==(s8|0),Ap=R8|A4,uu=Ap?gu:b4,o8=(s8|0)==0,Jt=_a<<1,o8){Ms=Ls,B$=uu,Rn=Mn,X9=86;break}else p$=Ls,gu=uu,_a=Jt,X7=s8,Us=Mn}while(!1);if((X9|0)==86){if(Mt=(B$|0)==0,At=(Rn|0)==0,op=Mt&At,op){if($t=2<>>12,p4=yt&16,J4=ct>>>p4,W4=J4>>>5,a9=W4&8,P4=a9|p4,E4=J4>>>a9,gt=E4>>>2,_4=gt&4,D9=P4|_4,Qt=E4>>>_4,a8=Qt>>>1,C3=a8&2,Z4=D9|C3,wt=Qt>>>C3,$4=wt>>>1,je=$4&1,l4=Z4|je,Te=wt>>>je,j4=l4+Te|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,y$=C8,Fn=0}else y$=B$,Fn=Rn;$8=(y$|0)==0,$8?(oi=Ms,qe=Fn):(Rs=Ms,Hr=y$,Yr=Fn,X9=90)}if((X9|0)==90)for(;;){if(X9=0,Zt=Hr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,dt=ut>>>0>>0,s0=dt?ut:Rs,Q$=dt?Hr:Yr,Ft=Hr+16|0,j9=e[Ft>>2]|0,c8=(j9|0)==0,!c8){Rs=s0,Hr=j9,Yr=Q$,X9=90;continue}if(Tt=Hr+20|0,De=e[Tt>>2]|0,g8=(De|0)==0,g8){oi=s0,qe=Q$;break}else Rs=s0,Hr=De,Yr=Q$,X9=90}if(et=(qe|0)==0,et)L9=I6;else if(Y8=e[138264]|0,Z8=Y8-I6|0,F8=oi>>>0>>0,F8){u8=e[138266]|0,T8=qe>>>0>>0,T8&&v2(),c4=qe+I6|0,z8=qe>>>0>>0,z8||v2(),ht=qe+24|0,Nt=e[ht>>2]|0,N8=qe+12|0,Xt=e[N8>>2]|0,O4=(Xt|0)==(qe|0);do if(O4){if(ei=qe+20|0,Bi=e[ei>>2]|0,ti=(Bi|0)==0,ti)if(yi=qe+16|0,li=e[yi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else _n=li,Qa=yi;else _n=Bi,Qa=ei;for(;;){if(Qi=_n+20|0,wi=e[Qi>>2]|0,u7=(wi|0)==0,!u7){_n=wi,Qa=Qi;continue}if(vi=_n+16|0,ci=e[vi>>2]|0,d7=(ci|0)==0,d7){Xm=_n,d$=Qa;break}else _n=ci,Qa=vi}if(zi=d$>>>0>>0,zi)v2();else{e[d$>>2]=0,Ti=Xm;break}}else if(C4=qe+8|0,A9=e[C4>>2]|0,G8=A9>>>0>>0,G8&&v2(),$i=A9+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(qe|0),Vi||v2(),Ei=Xt+8|0,X8=e[Ei>>2]|0,Ci=(X8|0)==(qe|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=A9,Ti=Xt;break}else v2();while(!1);Ki=(Nt|0)==0;do if(!Ki){if(Ji=qe+28|0,Wi=e[Ji>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ii=(qe|0)==(Zi|0),ii){if(e[ki>>2]=Ti,ka=(Ti|0)==0,ka){ui=1<>>0>>0,f7&&v2(),Si=Nt+16|0,bi=e[Si>>2]|0,Di=(bi|0)==(qe|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ni=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,di=qe+16|0,J8=e[di>>2]|0,Li=(J8|0)==0;do if(!Li)if(U8=J8>>>0>>0,U8)v2();else{hi=Ti+16|0,e[hi>>2]=J8,le=J8+24|0,e[le>>2]=Ti;break}while(!1);if(B8=qe+20|0,vt=e[B8>>2]|0,y8=(vt|0)==0,!y8)if(P8=e[138266]|0,sn=vt>>>0>>0,sn)v2();else{kr=Ti+20|0,e[kr>>2]=vt,ao=vt+24|0,e[ao>>2]=Ti;break}}while(!1);Ao=oi>>>0<16;e:do if(Ao)Kn=oi+I6|0,$o=Kn|3,lo=qe+4|0,e[lo>>2]=$o,h1=Kn+4|0,Jn=qe+h1|0,co=e[Jn>>2]|0,on=co|1,e[Jn>>2]=on;else{if(go=I6|3,uo=qe+4|0,e[uo>>2]=go,ho=oi|1,l0=I6|4,fo=qe+l0|0,e[fo>>2]=ho,C0=oi+I6|0,Zn=qe+C0|0,e[Zn>>2]=oi,jn=oi>>>3,Io=oi>>>0<256,Io){an=jn<<1,Xn=553088+(an<<2)|0,An=e[138262]|0,es=1<>2]|0,Co=e[138266]|0,Sr=is>>>0>>0,Sr?v2():(G=$n,c$=is)),e[G>>2]=c4,ln=c$+12|0,e[ln>>2]=c4,Y0=I6+8|0,Bo=qe+Y0|0,e[Bo>>2]=c$,z0=I6+12|0,yo=qe+z0|0,e[yo>>2]=Xn;break}if(cn=oi>>>8,I7=(cn|0)==0,I7?Ur=0:(Qo=oi>>>0>16777215,Qo?Ur=31:(wo=cn+1048320|0,ns=wo>>>16,ss=ns&8,os=cn<>>16,gn=m7&4,ko=gn|ss,as=os<>>16,As=Do&2,_o=ko|As,xo=14-_o|0,Lo=as<>>15,$s=xo+Mo|0,Ro=$s<<1,Fo=$s+7|0,br=oi>>>Fo,dn=br&1,To=dn|Ro,Ur=To)),or=553352+(Ur<<2)|0,f1=I6+28|0,No=qe+f1|0,e[No>>2]=Ur,M1=I6+16|0,ls=qe+M1|0,x1=I6+20|0,hn=qe+x1|0,e[hn>>2]=0,e[ls>>2]=0,cs=e[138263]|0,fn=1<>2]=c4,Y1=I6+24|0,ds=qe+Y1|0,e[ds>>2]=or,o2=I6+12|0,hs=qe+o2|0,e[hs>>2]=c4,q1=I6+8|0,Po=qe+q1|0,e[Po>>2]=c4;break}Dr=e[or>>2]|0,fs=Dr+4|0,p7=e[fs>>2]|0,In=p7&-8,_r=(In|0)==(oi|0);t:do if(_r)Ni=Dr;else{for(xr=(Ur|0)==31,Z7=Ur>>>1,Lr=25-Z7|0,Is=xr?0:Lr,j7=oi<>>31,E7=(h$+16|0)+(Rr<<2)|0,i7=e[E7>>2]|0,Oo=(i7|0)==0,Oo){k=E7,ep=h$;break}if(D7=g$<<1,_7=i7+4|0,x7=e[_7>>2]|0,Mr=x7&-8,$r=(Mr|0)==(oi|0),$r){Ni=i7;break t}else g$=D7,h$=i7}if(fi=e[138266]|0,gl=k>>>0>>0,gl)v2();else{e[k>>2]=c4,E0=I6+24|0,mn=qe+E0|0,e[mn>>2]=ep,H0=I6+12|0,pn=qe+H0|0,e[pn>>2]=c4,V0=I6+8|0,Vu=qe+V0|0,e[Vu>>2]=c4;break e}}while(!1);if(ul=Ni+8|0,cA=e[ul>>2]|0,dl=e[138266]|0,zu=cA>>>0>=dl>>>0,$u=Ni>>>0>=dl>>>0,Ku=zu&$u,Ku){Ju=cA+12|0,e[Ju>>2]=c4,e[ul>>2]=c4,d2=I6+8|0,gA=qe+d2|0,e[gA>>2]=cA,I2=I6+12|0,hl=qe+I2|0,e[hl>>2]=Ni,y0=I6+24|0,fl=qe+y0|0,e[fl>>2]=0;break}else v2()}while(!1);return uA=qe+8|0,tt=uA,tt|0}else L9=I6}while(!1);if(En=e[138264]|0,Wu=En>>>0>>0,!Wu)return Ho=En-L9|0,lr=e[138267]|0,Zu=Ho>>>0>15,Zu?(ju=lr+L9|0,e[138267]=ju,e[138264]=Ho,Xu=Ho|1,E1=L9+4|0,ed=lr+E1|0,e[ed>>2]=Xu,td=lr+En|0,e[td>>2]=Ho,id=L9|3,rd=lr+4|0,e[rd>>2]=id):(e[138264]=0,e[138267]=0,sd=En|3,od=lr+4|0,e[od>>2]=sd,g0=En+4|0,ml=lr+g0|0,Fr=e[ml>>2]|0,ad=Fr|1,e[ml>>2]=ad),Ad=lr+8|0,tt=Ad,tt|0;if(pl=e[138265]|0,$d=pl>>>0>L9>>>0,$d)return dA=pl-L9|0,e[138265]=dA,Vo=e[138268]|0,ld=Vo+L9|0,e[138268]=ld,cd=dA|1,Y=L9+4|0,fA=Vo+Y|0,e[fA>>2]=cd,El=L9|3,Cl=Vo+4|0,e[Cl>>2]=El,Bl=Vo+8|0,tt=Bl,tt|0;IA=e[138380]|0,yl=(IA|0)==0;do if(yl)if(Yo=TS(30)|0,gd=Yo+-1|0,Ql=gd&Yo,dd=(Ql|0)==0,dd){e[138382]=Yo,e[138381]=Yo,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,hd=By(0)|0,wl=hd&-16,fd=wl^1431655768,e[138380]=fd;break}else v2();while(!1);if(Id=L9+48|0,vl=e[138382]|0,kl=L9+47|0,Sl=vl+kl|0,bl=0-vl|0,Cn=Sl&bl,md=Cn>>>0>L9>>>0,!md||(_l=e[138372]|0,pd=(_l|0)==0,!pd&&(xl=e[138370]|0,Ll=xl+Cn|0,Ed=Ll>>>0<=xl>>>0,Cd=Ll>>>0>_l>>>0,ba=Ed|Cd,ba)))return tt=0,tt|0;Bd=e[138373]|0,mA=Bd&4,Rl=(mA|0)==0;e:do if(Rl){ms=e[138268]|0,Fl=(ms|0)==0;t:do if(Fl)X9=174;else{for(Fs=553496;;){if(pA=e[Fs>>2]|0,yd=pA>>>0>ms>>>0,!yd&&(Tl=Fs+4|0,Qd=e[Tl>>2]|0,Nl=pA+Qd|0,wd=Nl>>>0>ms>>>0,wd)){b=Fs,D=Tl;break}if(vd=Fs+8|0,Ul=e[vd>>2]|0,kd=(Ul|0)==0,kd){X9=174;break t}else Fs=Ul}if(Gd=e[138265]|0,Ud=Sl-Gd|0,Wo=Ud&bl,Pd=Wo>>>0<2147483647,Pd)if(Zo=Oi(Wo|0)|0,Od=e[b>>2]|0,Hd=e[D>>2]|0,Vd=Od+Hd|0,Jl=(Zo|0)==(Vd|0),s=Jl?Wo:0,Jl)if(Yd=(Zo|0)==-1,Yd)Vr=s;else{d6=Zo,L4=s,X9=194;break e}else va=Zo,o7=Wo,xa=s,X9=184;else Vr=0}while(!1);do if((X9|0)==174)if(zo=Oi(0)|0,Sd=(zo|0)==-1,Sd)Vr=0;else if(EA=zo,Pl=e[138381]|0,Ol=Pl+-1|0,bd=Ol&EA,Dd=(bd|0)==0,Dd?qr=Cn:(_d=Ol+EA|0,Ld=0-Pl|0,Md=_d&Ld,Ko=Cn-EA|0,ql=Ko+Md|0,qr=ql),Hl=e[138370]|0,Vl=Hl+qr|0,Jo=qr>>>0>L9>>>0,Rd=qr>>>0<2147483647,ap=Jo&Rd,ap){if(Yl=e[138372]|0,Fd=(Yl|0)==0,!Fd&&(Td=Vl>>>0<=Hl>>>0,Nd=Vl>>>0>Yl>>>0,$p=Td|Nd,$p)){Vr=0;break}if(Kl=Oi(qr|0)|0,CA=(Kl|0)==(zo|0),du=CA?qr:0,CA){d6=zo,L4=du,X9=194;break e}else va=Kl,o7=qr,xa=du,X9=184}else Vr=0;while(!1);t:do if((X9|0)==184){zd=0-o7|0,Kd=(va|0)!=-1,Jd=o7>>>0<2147483647,cp=Jd&Kd,Wl=Id>>>0>o7>>>0,gp=Wl&cp;do if(gp)if(Zl=e[138382]|0,cr=kl-o7|0,jo=cr+Zl|0,yA=0-Zl|0,QA=jo&yA,Bn=QA>>>0<2147483647,Bn)if(Xl=Oi(QA|0)|0,yn=(Xl|0)==-1,yn){Oi(zd|0)|0,Vr=xa;break t}else{Wd=QA+o7|0,E$=Wd;break}else E$=o7;else E$=o7;while(!1);if(ec=(va|0)==-1,ec)Vr=xa;else{d6=va,L4=E$,X9=194;break e}}while(!1);Zd=e[138373]|0,jd=Zd|4,e[138373]=jd,hu=Vr,X9=191}else hu=0,X9=191;while(!1);if((X9|0)==191&&(eh=Cn>>>0<2147483647,eh&&(Xo=Oi(Cn|0)|0,wA=Oi(0)|0,Tr=(Xo|0)!=-1,th=(wA|0)!=-1,lp=Tr&th,ih=Xo>>>0>>0,up=ih&lp,up&&(tc=wA,vA=Xo,ic=tc-vA|0,rc=L9+40|0,nc=ic>>>0>rc>>>0,C2=nc?ic:hu,nc&&(d6=Xo,L4=C2,X9=194)))),(X9|0)==194){nh=e[138370]|0,kA=nh+L4|0,e[138370]=kA,sh=e[138371]|0,oh=kA>>>0>sh>>>0,oh&&(e[138371]=kA),Je=e[138268]|0,ah=(Je|0)==0;e:do if(ah){for(sc=e[138266]|0,Ah=(sc|0)==0,$h=d6>>>0>>0,dp=Ah|$h,dp&&(e[138266]=d6),e[138374]=d6,e[138375]=L4,e[138377]=0,lh=e[138380]|0,e[138271]=lh,e[138270]=-1,Sa=0;bA=Sa<<1,oc=553088+(bA<<2)|0,h0=bA+3|0,ch=553088+(h0<<2)|0,e[ch>>2]=oc,n0=bA+2|0,gh=553088+(n0<<2)|0,e[gh>>2]=oc,ac=Sa+1|0,np=(ac|0)==32,!np;)Sa=ac;Ac=L4+-40|0,uh=d6+8|0,DA=uh,_A=DA&7,lc=(_A|0)==0,dh=0-DA|0,cc=dh&7,xA=lc?0:cc,hh=d6+xA|0,gc=Ac-xA|0,e[138268]=hh,e[138265]=gc,fh=gc|1,e0=xA+4|0,Ih=d6+e0|0,e[Ih>>2]=fh,d1=L4+-36|0,mh=d6+d1|0,e[mh>>2]=40,ph=e[138384]|0,e[138269]=ph}else{for(Ns=553496;;){if(dc=e[Ns>>2]|0,LA=Ns+4|0,ea=e[LA>>2]|0,hc=dc+ea|0,Eh=(d6|0)==(hc|0),Eh){E=dc,y=LA,B=ea,hp=Ns,X9=204;break}if(fc=Ns+8|0,Ic=e[fc>>2]|0,Ch=(Ic|0)==0,Ch)break;Ns=Ic}if((X9|0)==204&&(Bh=hp+12|0,yh=e[Bh>>2]|0,Qh=yh&8,wh=(Qh|0)==0,wh&&(vh=Je>>>0>=E>>>0,kh=Je>>>0>>0,cu=kh&vh,cu))){Sh=B+L4|0,e[y>>2]=Sh,bh=e[138265]|0,pc=bh+L4|0,Dh=Je+8|0,Ec=Dh,_h=Ec&7,xh=(_h|0)==0,Cc=0-Ec|0,Lh=Cc&7,ps=xh?0:Lh,Bc=Je+ps|0,MA=pc-ps|0,e[138268]=Bc,e[138265]=MA,Mh=MA|1,c0=ps+4|0,ta=Je+c0|0,e[ta>>2]=Mh,a1=pc+4|0,RA=Je+a1|0,e[RA>>2]=40,Rh=e[138384]|0,e[138269]=Rh;break}for(yc=e[138266]|0,Fh=d6>>>0>>0,Fh?(e[138266]=d6,ys=d6):ys=yc,Th=d6+L4|0,Gs=553496;;){if(Nh=e[Gs>>2]|0,Gh=(Nh|0)==(Th|0),Gh){m=Gs,Ir=Gs,X9=212;break}if(Uh=Gs+8|0,Qc=e[Uh>>2]|0,Ph=(Qc|0)==0,Ph){Ts=553496;break}else Gs=Qc}if((X9|0)==212)if(Oh=Ir+12|0,qh=e[Oh>>2]|0,TA=qh&8,Hh=(TA|0)==0,Hh){e[m>>2]=d6,NA=Ir+4|0,Vh=e[NA>>2]|0,Yh=Vh+L4|0,e[NA>>2]=Yh,zh=d6+8|0,wc=zh,Kh=wc&7,Jh=(Kh|0)==0,Wh=0-wc|0,jh=Wh&7,ra=Jh?0:jh,Xh=d6+ra|0,B0=L4+8|0,ef=d6+B0|0,vc=ef,tf=vc&7,rf=(tf|0)==0,nf=0-vc|0,sf=nf&7,C7=rf?0:sf,x0=C7+L4|0,B7=d6+x0|0,Sc=B7,GA=Xh,of=Sc-GA|0,$0=ra+L9|0,r7=d6+$0|0,Cs=of-L9|0,af=L9|3,p0=ra+4|0,Af=d6+p0|0,e[Af>>2]=af,$f=(B7|0)==(Je|0);t:do if($f)lf=e[138265]|0,bc=lf+Cs|0,e[138265]=bc,e[138268]=r7,gf=bc|1,V1=$0+4|0,uf=d6+V1|0,e[uf>>2]=gf;else{if(Dc=e[138267]|0,df=(B7|0)==(Dc|0),df){hf=e[138264]|0,Bs=hf+Cs|0,e[138264]=Bs,e[138267]=r7,UA=Bs|1,J1=$0+4|0,ff=d6+J1|0,e[ff>>2]=UA,H1=Bs+$0|0,_c=d6+H1|0,e[_c>>2]=Bs;break}if($1=L4+4|0,Z0=$1+C7|0,mf=d6+Z0|0,na=e[mf>>2]|0,pf=na&3,Ef=(pf|0)==1,Ef){xc=na&-8,Lc=na>>>3,Cf=na>>>0<256;i:do if(Cf){P1=C7|8,W0=P1+L4|0,Bf=d6+W0|0,wn=e[Bf>>2]|0,D1=L4+12|0,J0=D1+C7|0,yf=d6+J0|0,vn=e[yf>>2]|0,wf=Lc<<1,Mc=553088+(wf<<2)|0,vf=(wn|0)==(Mc|0);do if(!vf){if(kf=wn>>>0>>0,kf&&v2(),Rc=wn+12|0,Sf=e[Rc>>2]|0,Fc=(Sf|0)==(B7|0),Fc)break;v2()}while(!1);if(bf=(vn|0)==(wn|0),bf){PA=1<>>0>>0,xf&&v2(),Gc=vn+8|0,Lf=e[Gc>>2]|0,Mf=(Lf|0)==(B7|0),Mf){q=Gc;break}v2()}while(!1);Rf=wn+12|0,e[Rf>>2]=vn,e[q>>2]=wn}else{R1=C7|24,R0=R1+L4|0,Ff=d6+R0|0,Qs=e[Ff>>2]|0,z1=L4+12|0,v0=z1+C7|0,Tf=d6+v0|0,kn=e[Tf>>2]|0,Nf=(kn|0)==(B7|0);do if(Nf){if(e2=C7|16,M0=$1+e2|0,Hc=d6+M0|0,Vc=e[Hc>>2]|0,qf=(Vc|0)==0,qf)if(P0=e2+L4|0,Yc=d6+P0|0,zc=e[Yc>>2]|0,Hf=(zc|0)==0,Hf){Fi=0;break}else Dn=zc,ya=Yc;else Dn=Vc,ya=Hc;for(;;){if(Kc=Dn+20|0,Jc=e[Kc>>2]|0,Yf=(Jc|0)==0,!Yf){Dn=Jc,ya=Kc;continue}if(Wc=Dn+16|0,Zc=e[Wc>>2]|0,zf=(Zc|0)==0,zf){jm=Dn,ou=ya;break}else Dn=Zc,ya=Wc}if(Kf=ou>>>0>>0,Kf)v2();else{e[ou>>2]=0,Fi=jm;break}}else if(F1=C7|8,G0=F1+L4|0,Gf=d6+G0|0,OA=e[Gf>>2]|0,Uf=OA>>>0>>0,Uf&&v2(),qA=OA+12|0,HA=e[qA>>2]|0,Pc=(HA|0)==(B7|0),Pc||v2(),Oc=kn+8|0,Of=e[Oc>>2]|0,qc=(Of|0)==(B7|0),qc){e[qA>>2]=kn,e[Oc>>2]=OA,Fi=kn;break}else v2();while(!1);if(jc=(Qs|0)==0,jc)break;b1=L4+28|0,U0=b1+C7|0,VA=d6+U0|0,Xc=e[VA>>2]|0,ig=553352+(Xc<<2)|0,Jf=e[ig>>2]|0,Wf=(B7|0)==(Jf|0);do if(Wf){if(e[ig>>2]=Fi,rp=(Fi|0)==0,!rp)break;Zf=1<>>0>>0,iI&&v2(),rg=Qs+16|0,rI=e[rg>>2]|0,nI=(rI|0)==(B7|0),nI?e[rg>>2]=Fi:(sI=Qs+20|0,e[sI>>2]=Fi),ng=(Fi|0)==0,ng)break i;while(!1);sg=e[138266]|0,oI=Fi>>>0>>0,oI&&v2(),og=Fi+24|0,e[og>>2]=Qs,_1=C7|16,O0=_1+L4|0,zA=d6+O0|0,sa=e[zA>>2]|0,ag=(sa|0)==0;do if(!ag)if(AI=sa>>>0>>0,AI)v2();else{$I=Fi+16|0,e[$I>>2]=sa,lI=sa+24|0,e[lI>>2]=Fi;break}while(!1);if(K0=$1+_1|0,Ag=d6+K0|0,oa=e[Ag>>2]|0,cI=(oa|0)==0,cI)break;if(gI=e[138266]|0,uI=oa>>>0>>0,uI)v2();else{dI=Fi+20|0,e[dI>>2]=oa,hI=oa+24|0,e[hI>>2]=Fi;break}}while(!1);A2=xc|C7,N0=A2+L4|0,II=d6+N0|0,mI=xc+Cs|0,lu=II,s7=mI}else lu=B7,s7=Cs;if($g=lu+4|0,pI=e[$g>>2]|0,EI=pI&-2,e[$g>>2]=EI,CI=s7|1,D0=$0+4|0,BI=d6+D0|0,e[BI>>2]=CI,Q0=s7+$0|0,aa=d6+Q0|0,e[aa>>2]=s7,lg=s7>>>3,yI=s7>>>0<256,yI){Sn=lg<<1,cg=553088+(Sn<<2)|0,gg=e[138262]|0,KA=1<>2]|0,kI=e[138266]|0,bI=hg>>>0>>0,!bI){F=dg,l$=hg;break}v2()}while(!1);e[F>>2]=r7,DI=l$+12|0,e[DI>>2]=r7,v1=$0+8|0,_I=d6+v1|0,e[_I>>2]=l$,k1=$0+12|0,Aa=d6+k1|0,e[Aa>>2]=cg;break}JA=s7>>>8,xI=(JA|0)==0;do if(xI)Pr=0;else{if(LI=s7>>>0>16777215,LI){Pr=31;break}MI=JA+1048320|0,RI=MI>>>16,fg=RI&8,Ig=JA<>>16,mg=NI&4,Nr=mg|fg,pg=Ig<>>16,Cg=GI&2,$a=Nr|Cg,PI=14-$a|0,OI=pg<>>15,Bg=PI+la|0,qI=Bg<<1,HI=Bg+7|0,yg=s7>>>HI,VI=yg&1,YI=VI|qI,Pr=YI}while(!1);if(WA=553352+(Pr<<2)|0,k0=$0+28|0,zI=d6+k0|0,e[zI>>2]=Pr,j0=$0+16|0,KI=d6+j0|0,q0=$0+20|0,JI=d6+q0|0,e[JI>>2]=0,e[KI>>2]=0,Qg=e[138263]|0,wg=1<>2]=r7,o1=$0+24|0,ws=d6+o1|0,e[ws>>2]=WA,r1=$0+12|0,jI=d6+r1|0,e[jI>>2]=r7,s1=$0+8|0,XI=d6+s1|0,e[XI>>2]=r7;break}ZA=e[WA>>2]|0,Sg=ZA+4|0,em=e[Sg>>2]|0,tm=em&-8,im=(tm|0)==(s7|0);i:do if(im)Or=ZA;else{for(rm=(Pr|0)==31,bg=Pr>>>1,nm=25-bg|0,sm=rm?0:nm,om=s7<>>31,Mg=(f$+16|0)+(Lg<<2)|0,vs=e[Mg>>2]|0,L7=(vs|0)==0,L7){A=Mg,tp=f$;break}if(am=xs<<1,Am=vs+4|0,_g=e[Am>>2]|0,xg=_g&-8,$m=(xg|0)==(s7|0),$m){Or=vs;break i}else xs=am,f$=vs}if(ur=e[138266]|0,lm=A>>>0>>0,lm)v2();else{e[A>>2]=r7,Q1=$0+24|0,cm=d6+Q1|0,e[cm>>2]=tp,C1=$0+12|0,gm=d6+C1|0,e[gm>>2]=r7,y1=$0+8|0,um=d6+y1|0,e[um>>2]=r7;break t}}while(!1);if(jA=Or+8|0,ua=e[jA>>2]|0,Fg=e[138266]|0,Tg=ua>>>0>=Fg>>>0,m$=Or>>>0>=Fg>>>0,dm=Tg&m$,dm){ks=ua+12|0,e[ks>>2]=r7,e[jA>>2]=r7,X0=$0+8|0,hm=d6+X0|0,e[hm>>2]=ua,B1=$0+12|0,ha=d6+B1|0,e[ha>>2]=Or,p1=$0+24|0,XA=d6+p1|0,e[XA>>2]=0;break}else v2()}while(!1);return u1=ra|8,fm=d6+u1|0,tt=fm,tt|0}else Ts=553496;for(;;){if(e$=e[Ts>>2]|0,Im=e$>>>0>Je>>>0,!Im&&(mm=Ts+4|0,Ng=e[mm>>2]|0,fa=e$+Ng|0,pm=fa>>>0>Je>>>0,pm)){g=e$,h=Ng,p=fa;break}Em=Ts+8|0,Cm=e[Em>>2]|0,Ts=Cm}if(d0=h+-47|0,f0=h+-39|0,Bm=g+f0|0,Ug=Bm,ym=Ug&7,si=(ym|0)==0,_9=0-Ug|0,n7=_9&7,Qm=si?0:n7,g1=d0+Qm|0,Og=g+g1|0,t$=Je+16|0,wm=Og>>>0>>0,Gr=wm?Je:Og,Ss=Gr+8|0,vm=L4+-40|0,km=d6+8|0,qg=km,i$=qg&7,Sm=(i$|0)==0,Vg=0-qg|0,Yg=Vg&7,r$=Sm?0:Yg,n$=d6+r$|0,zg=vm-r$|0,e[138268]=n$,e[138265]=zg,bs=zg|1,i0=r$+4|0,s$=d6+i0|0,e[s$>>2]=bs,A1=L4+-36|0,Kg=d6+A1|0,e[Kg>>2]=40,bm=e[138384]|0,e[138269]=bm,bn=Gr+4|0,e[bn>>2]=27,e[Ss>>2]=e[138374]|0,e[Ss+4>>2]=e[138375]|0,e[Ss+8>>2]=e[138376]|0,e[Ss+12>>2]=e[138377]|0,e[138374]=d6,e[138375]=L4,e[138377]=0,e[138376]=Ss,Jg=Gr+28|0,e[Jg>>2]=7,Ia=Gr+32|0,_m=Ia>>>0

>>0,_m)for(M7=Jg;Wg=M7+4|0,e[Wg>>2]=7,xm=M7+8|0,Lm=xm>>>0

>>0,Lm;)M7=Wg;if(Mm=(Gr|0)==(Je|0),!Mm){if(Rm=Gr,Fm=Je,R7=Rm-Fm|0,Nm=e[bn>>2]|0,Gm=Nm&-2,e[bn>>2]=Gm,Um=R7|1,Zg=Je+4|0,e[Zg>>2]=Um,e[Gr>>2]=R7,y7=R7>>>3,ma=R7>>>0<256,ma){o$=y7<<1,jg=553088+(o$<<2)|0,Xg=e[138262]|0,eu=1<>2]|0,Hm=e[138266]|0,Vm=ru>>>0>>0,Vm?v2():(M=iu,A$=ru)),e[M>>2]=Je,nu=A$+12|0,e[nu>>2]=Je,Ym=Je+8|0,e[Ym>>2]=A$,pa=Je+12|0,e[pa>>2]=jg;break}if(Ea=R7>>>8,zm=(Ea|0)==0,zm?dr=0:(a$=R7>>>0>16777215,a$?dr=31:(Km=Ea+1048320|0,Jm=Km>>>16,su=Jm&8,_s=Ea<>>16,u2=Zm&4,s2=u2|su,l2=_s<>>16,m2=a2&2,r2=s2|m2,k2=14-r2|0,D2=l2<>>15,G2=k2+S2|0,M2=G2<<1,O2=G2+7|0,p2=R7>>>O2,W2=p2&1,q2=W2|M2,dr=q2)),K2=553352+(dr<<2)|0,U2=Je+28|0,e[U2>>2]=dr,V2=Je+20|0,e[V2>>2]=0,e[t$>>2]=0,Z2=e[138263]|0,Y2=1<>2]=Je,i5=Je+24|0,e[i5>>2]=K2,L5=Je+12|0,e[L5>>2]=Je,j2=Je+8|0,e[j2>>2]=Je;break}p5=e[K2>>2]|0,_5=p5+4|0,V5=e[_5>>2]|0,b2=V5&-8,y5=(b2|0)==(R7|0);t:do if(y5)wa=p5;else{for(o5=(dr|0)==31,F2=dr>>>1,R2=25-F2|0,Q2=o5?0:R2,Q5=R7<>>31,d5=(I$+16|0)+($5<<2)|0,M5=e[d5>>2]|0,w5=(M5|0)==0,w5){$=d5,Au=I$;break}if(N5=u$<<1,E5=M5+4|0,R5=e[E5>>2]|0,z2=R5&-8,C5=(z2|0)==(R7|0),C5){wa=M5;break t}else u$=N5,I$=M5}if(T1=e[138266]|0,x5=$>>>0>>0,x5)v2();else{e[$>>2]=Je,h5=Je+24|0,e[h5>>2]=Au,l5=Je+12|0,e[l5>>2]=Je,h2=Je+8|0,e[h2>>2]=Je;break e}}while(!1);if(v5=wa+8|0,r5=e[v5>>2]|0,a5=e[138266]|0,f5=r5>>>0>=a5>>>0,sp=wa>>>0>=a5>>>0,J2=f5&sp,J2){I5=r5+12|0,e[I5>>2]=Je,e[v5>>2]=Je,n5=Je+8|0,e[n5>>2]=r5,F5=Je+12|0,e[F5>>2]=wa,e5=Je+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(T2=e[138265]|0,k5=T2>>>0>L9>>>0,k5)return z5=T2-L9|0,e[138265]=z5,i3=e[138268]|0,B5=i3+L9|0,e[138268]=B5,I3=z5|1,X=L9+4|0,h3=i3+X|0,e[h3>>2]=I3,W5=L9|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=Cy()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0;if(N4=C,s0=(t|0)==0,!s0){Y=t+-8|0,W2=e[138266]|0,k6=Y>>>0>>0,k6&&v2(),_6=t+-4|0,Ie=e[_6>>2]|0,r9=Ie&3,U9=(r9|0)==1,U9&&v2(),Ze=Ie&-8,y=Ze+-8|0,n9=t+y|0,h0=Ie&1,n0=(h0|0)==0;do if(n0){if(x0=e[Y>>2]|0,M0=(r9|0)==0,M0)return;if(Q=-8-x0|0,L0=t+Q|0,X0=x0+Ze|0,b1=L0>>>0>>0,b1&&v2(),H1=e[138267]|0,A2=(L0|0)==(H1|0),A2){if(t0=Ze+-4|0,c0=t+t0|0,$0=e[c0>>2]|0,l0=$0&3,X=(l0|0)==3,!X){j3=L0,xe=X0;break}e[138264]=X0,m0=$0&-2,e[c0>>2]=m0,g0=X0|1,L=Q+4|0,I0=t+L|0,e[I0>>2]=g0,e[n9>>2]=X0;return}if(a2=x0>>>3,q2=x0>>>0<256,q2){if(Z=Q+8|0,L5=t+Z|0,Q2=e[L5>>2]|0,A0=Q+12|0,w5=t+A0|0,J2=e[w5>>2]|0,I3=a2<<1,e6=553088+(I3<<2)|0,Q3=(Q2|0)==(e6|0),Q3||(C6=Q2>>>0>>0,C6&&v2(),h6=Q2+12|0,R3=e[h6>>2]|0,K6=(R3|0)==(L0|0),K6||v2()),X6=(J2|0)==(Q2|0),X6){V6=1<>>0>>0,F6&&v2(),te=J2+8|0,P6=e[te>>2]|0,O3=(P6|0)==(L0|0),O3?g=te:v2()),O6=Q2+12|0,e[O6>>2]=J2,e[g>>2]=Q2,j3=L0,xe=X0;break}R=Q+24|0,ae=t+R|0,he=e[ae>>2]|0,M=Q+12|0,ne=t+M|0,Be=e[ne>>2]|0,ye=(Be|0)==(L0|0);do if(ye){if(G=Q+20|0,u9=t+G|0,E9=e[u9>>2]|0,ze=(E9|0)==0,ze)if(F=Q+16|0,Fe=t+F|0,ve=e[Fe>>2]|0,J6=(ve|0)==0,J6){Se=0;break}else O9=ve,S4=Fe;else O9=E9,S4=u9;for(;;){if($e=O9+20|0,v9=e[$e>>2]|0,R9=(v9|0)==0,!R9){O9=v9,S4=$e;continue}if(d9=O9+16|0,_e=e[d9>>2]|0,F9=(_e|0)==0,F9){I4=O9,b9=S4;break}else O9=_e,S4=d9}if(T9=b9>>>0>>0,T9)v2();else{e[b9>>2]=0,Se=I4;break}}else if(K=Q+8|0,Qe=t+K|0,fe=e[Qe>>2]|0,Ve=fe>>>0>>0,Ve&&v2(),w6=fe+12|0,q6=e[w6>>2]|0,Ae=(q6|0)==(L0|0),Ae||v2(),Ye=Be+8|0,we=e[Ye>>2]|0,w9=(we|0)==(L0|0),w9){e[w6>>2]=Be,e[Ye>>2]=fe,Se=Be;break}else v2();while(!1);if(H9=(he|0)==0,H9)j3=L0,xe=X0;else{if(O=Q+28|0,n4=t+O|0,k9=e[n4>>2]|0,V9=553352+(k9<<2)|0,Ke=e[V9>>2]|0,Y9=(L0|0)==(Ke|0),Y9){if(e[V9>>2]=Se,p9=(Se|0)==0,p9){h9=1<>>0>>0,k4&&v2(),V4=he+16|0,nt=e[V4>>2]|0,z9=(nt|0)==(L0|0),z9?e[V4>>2]=Se:(Y4=he+20|0,e[Y4>>2]=Se),K9=(Se|0)==0,K9){j3=L0,xe=X0;break}s4=e[138266]|0,R4=Se>>>0>>0,R4&&v2(),st=Se+24|0,e[st>>2]=he,q=Q+16|0,u4=t+q|0,B9=e[u4>>2]|0,T6=(B9|0)==0;do if(!T6)if(J9=B9>>>0>>0,J9)v2();else{Oe=Se+16|0,e[Oe>>2]=B9,f9=B9+24|0,e[f9>>2]=Se;break}while(!1);if(H=Q+20|0,N9=t+H|0,d4=e[N9>>2]|0,s9=(d4|0)==0,s9)j3=L0,xe=X0;else if(h4=e[138266]|0,i0=d4>>>0

>>0,i0)v2();else{e0=Se+20|0,e[e0>>2]=d4,d0=d4+24|0,e[d0>>2]=Se,j3=L0,xe=X0;break}}}else j3=Y,xe=Ze;while(!1);if(f0=j3>>>0>>0,f0||v2(),_=Ze+-4|0,p0=t+_|0,C0=e[p0>>2]|0,S0=C0&1,y0=(S0|0)==0,y0&&v2(),D0=C0&2,E0=(D0|0)==0,E0){if(Q0=e[138268]|0,w0=(n9|0)==(Q0|0),w0){if(B0=e[138265]|0,Z0=B0+xe|0,e[138265]=Z0,e[138268]=j3,R0=Z0|1,v0=j3+4|0,e[v0>>2]=R0,G0=e[138267]|0,U0=(j3|0)==(G0|0),!U0)return;e[138267]=0,e[138264]=0;return}if(O0=e[138267]|0,H0=(n9|0)==(O0|0),H0){k0=e[138264]|0,K0=k0+xe|0,e[138264]=K0,e[138267]=j3,N0=K0|1,P0=j3+4|0,e[P0>>2]=N0,W0=j3+K0|0,e[W0>>2]=K0;return}J0=C0&-8,V0=J0+xe|0,j0=C0>>>3,q0=C0>>>0<256;do if(q0){if(Y0=t+Ze|0,o1=e[Y0>>2]|0,v=Ze|4,z0=t+v|0,r1=e[z0>>2]|0,s1=j0<<1,h1=553088+(s1<<2)|0,u1=(o1|0)==(h1|0),u1||(E1=e[138266]|0,f1=o1>>>0>>0,f1&&v2(),d1=o1+12|0,A1=e[d1>>2]|0,g1=(A1|0)==(n9|0),g1||v2()),a1=(r1|0)==(o1|0),a1){$1=1<>>0>>0,v1&&v2(),k1=r1+8|0,S1=e[k1>>2]|0,L1=(S1|0)==(n9|0),L1?$=k1:v2()),M1=o1+12|0,e[M1>>2]=r1,e[$>>2]=o1}else{j=Ze+16|0,_1=t+j|0,R1=e[_1>>2]|0,r0=Ze|4,F1=t+r0|0,P1=e[F1>>2]|0,D1=(P1|0)==(n9|0);do if(D1){if(J=Ze+12|0,e2=t+J|0,q1=e[e2>>2]|0,d2=(q1|0)==0,d2)if(o0=Ze+8|0,Z1=t+o0|0,I2=e[Z1>>2]|0,C2=(I2|0)==0,C2){I9=0;break}else I6=I2,m9=Z1;else I6=q1,m9=e2;for(;;){if($2=I6+20|0,W1=e[$2>>2]|0,f2=(W1|0)==0,!f2){I6=W1,m9=$2;continue}if(g2=I6+16|0,n2=e[g2>>2]|0,u2=(n2|0)==0,u2){z4=I6,z6=m9;break}else I6=n2,m9=g2}if(s2=e[138266]|0,l2=z6>>>0>>0,l2)v2();else{e[z6>>2]=0,I9=z4;break}}else if(O1=t+Ze|0,X1=e[O1>>2]|0,G1=e[138266]|0,x1=X1>>>0>>0,x1&&v2(),J1=X1+12|0,V1=e[J1>>2]|0,Y1=(V1|0)==(n9|0),Y1||v2(),z1=P1+8|0,t2=e[z1>>2]|0,o2=(t2|0)==(n9|0),o2){e[J1>>2]=P1,e[z1>>2]=X1,I9=P1;break}else v2();while(!1);if(i2=(R1|0)==0,!i2){if(b=Ze+20|0,m2=t+b|0,r2=e[m2>>2]|0,k2=553352+(r2<<2)|0,D2=e[k2>>2]|0,S2=(n9|0)==(D2|0),S2){if(e[k2>>2]=I9,x9=(I9|0)==0,x9){y2=1<>>0>>0,K2&&v2(),U2=R1+16|0,V2=e[U2>>2]|0,Z2=(V2|0)==(n9|0),Z2?e[U2>>2]=I9:(A5=R1+20|0,e[A5>>2]=I9),Y2=(I9|0)==0,Y2)break;N1=e[138266]|0,t5=I9>>>0>>0,t5&&v2(),T5=I9+24|0,e[T5>>2]=R1,D=Ze+8|0,i5=t+D|0,j2=e[i5>>2]|0,p5=(j2|0)==0;do if(!p5)if(_5=j2>>>0>>0,_5)v2();else{V5=I9+16|0,e[V5>>2]=j2,u5=j2+24|0,e[u5>>2]=I9;break}while(!1);if(k=Ze+12|0,b2=t+k|0,y5=e[b2>>2]|0,o5=(y5|0)==0,!o5)if(F2=e[138266]|0,R2=y5>>>0>>0,R2)v2();else{Q5=I9+20|0,e[Q5>>2]=y5,N5=y5+24|0,e[N5>>2]=I9;break}}}while(!1);if(E5=V0|1,M5=j3+4|0,e[M5>>2]=E5,q5=j3+V0|0,e[q5>>2]=V0,R5=e[138267]|0,z2=(j3|0)==(R5|0),z2){e[138264]=V0;return}else be=V0}else C5=C0&-2,e[p0>>2]=C5,$5=xe|1,d5=j3+4|0,e[d5>>2]=$5,T1=j3+xe|0,e[T1>>2]=xe,be=xe;if(x5=be>>>3,h5=be>>>0<256,h5){l5=x5<<1,X2=553088+(l5<<2)|0,h2=e[138262]|0,v5=1<>2]|0,F5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(h=I5,f4=n5)),e[h>>2]=j3,c5=f4+12|0,e[c5>>2]=j3,T2=j3+8|0,e[T2>>2]=f4,k5=j3+12|0,e[k5>>2]=X2;return}z5=be>>>8,i3=(z5|0)==0,i3?S9=0:(B5=be>>>0>16777215,B5?S9=31:(h3=z5+1048320|0,W5=h3>>>16,r3=W5&8,a3=z5<>>16,Z5=G5&4,x3=Z5|r3,f3=a3<>>16,X5=V3&2,_3=x3|X5,t3=14-_3|0,a6=f3<>>15,Y3=t3+G3|0,c3=Y3<<1,g3=Y3+7|0,u3=be>>>g3,K5=u3&1,H5=K5|c3,S9=H5)),Y5=553352+(S9<<2)|0,D5=j3+28|0,e[D5>>2]=S9,z3=j3+16|0,U5=j3+20|0,e[U5>>2]=0,e[z3>>2]=0,l6=e[138263]|0,n3=1<>2]=j3,L3=j3+24|0,e[L3>>2]=Y5,D3=j3+12|0,e[D3>>2]=j3,A6=j3+8|0,e[A6>>2]=j3;else{r6=e[Y5>>2]|0,K3=r6+4|0,j5=e[K3>>2]|0,M3=j5&-8,d3=(M3|0)==(be|0);t:do if(d3)F4=r6;else{for(J3=(S9|0)==31,m3=S9>>>1,x6=25-m3|0,L6=J3?0:x6,M6=be<>>31,o6=(T4+16|0)+(s6<<2)|0,f6=e[o6>>2]|0,B6=(f6|0)==0,B6){s=o6,ot=T4;break}if(S6=o4<<1,n6=f6+4|0,b6=e[n6>>2]|0,N6=b6&-8,j6=(N6|0)==(be|0),j6){F4=f6;break t}else o4=S6,T4=f6}if(W3=e[138266]|0,F3=s>>>0>>0,F3)v2();else{e[s>>2]=j3,Z3=j3+24|0,e[Z3>>2]=ot,t6=j3+12|0,e[t6>>2]=j3,R6=j3+8|0,e[R6>>2]=j3;break e}}while(!1);if(c6=F4+8|0,s3=e[c6>>2]|0,A3=e[138266]|0,g6=s3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,y6=g6&mt,y6){T3=s3+12|0,e[T3>>2]=j3,e[c6>>2]=j3,H6=j3+8|0,e[H6>>2]=s3,$6=j3+12|0,e[$6>>2]=F4,D6=j3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,ee=G6+-1|0,e[138270]=ee,Q6=(ee|0)==0,Q6)a4=553504;else return;for(;q9=e[a4>>2]|0,P3=(q9|0)==0,re=q9+8|0,!P3;)a4=re;e[138270]=-1}}function c9(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,$=(t|0)==0,$?_=0:(g=s5(s,t)|0,m=s|t,E=m>>>0>65535,E?(y=(g>>>0)/(t>>>0)&-1,B=(y|0)==(s|0),A=B?g:-1,_=A):_=g),b=Re(_)|0,D=(b|0)==0,D||(k=b+-4|0,v=e[k>>2]|0,h=v&3,p=(h|0)==0,p)||g4(b|0,0,_|0)|0,b|0}function W7(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0;return Z=C,A=(t|0)==0,A?($=Re(s)|0,K=$,K|0):(v=s>>>0>4294967231,v?(R=Cy()|0,e[R>>2]=12,K=0,K|0):(M=s>>>0<11,F=s+11|0,G=F&-8,O=M?16:G,q=t+-8|0,H=wD(q,O)|0,g=(H|0)==0,g?(p=Re(s)|0,m=(p|0)==0,m?(K=0,K|0):(E=t+-4|0,y=e[E>>2]|0,B=y&-8,b=y&3,D=(b|0)==0,k=D?8:4,_=B-k|0,Q=_>>>0>>0,L=Q?_:s,g9(p|0,t|0,L|0)|0,E2(t),K=p,K|0)):(h=H+8|0,K=h,K|0)))}function wD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0;if(Z5=C,q=t+4|0,H=e[q>>2]|0,D1=H&-8,o2=t+D1|0,g2=e[138266]|0,S2=H&3,I3=t>>>0>=g2>>>0,h3=(S2|0)!=1,W5=h3&I3,Z2=t>>>0>>0,r3=W5&Z2,r3||v2(),L=D1|4,V5=t+L|0,M5=e[V5>>2]|0,l5=M5&1,K=(l5|0)==0,K&&v2(),i0=(S2|0)==0,i0)return f0=s>>>0<256,f0?(B5=0,B5|0):(Z0=s+4|0,P0=D1>>>0>>0,!P0&&(s1=D1-s|0,B1=e[138382]|0,_1=B1<<1,F1=s1>>>0>_1>>>0,!F1)?(B5=t,B5|0):(B5=0,B5|0));if(P1=D1>>>0>>0,!P1)return O1=D1-s|0,X1=O1>>>0>15,X1?(G1=t+s|0,x1=H&1,J1=x1|s,H1=J1|2,e[q>>2]=H1,Q=s+4|0,V1=t+Q|0,Y1=O1|3,e[V1>>2]=Y1,z1=e[V5>>2]|0,t2=z1|1,e[V5>>2]=t2,jy(G1,O1),B5=t,B5|0):(B5=t,B5|0);if(e2=e[138268]|0,q1=(o2|0)==(e2|0),q1)return d2=e[138265]|0,Z1=d2+D1|0,I2=Z1>>>0>s>>>0,I2?(A2=Z1-s|0,C2=t+s|0,$2=H&1,W1=$2|s,f2=W1|2,e[q>>2]=f2,_=s+4|0,n2=t+_|0,u2=A2|1,e[n2>>2]=u2,e[138268]=C2,e[138265]=A2,B5=t,B5|0):(B5=0,B5|0);if(s2=e[138267]|0,l2=(o2|0)==(s2|0),l2)return i2=e[138264]|0,a2=i2+D1|0,m2=a2>>>0>>0,m2?(B5=0,B5|0):(r2=a2-s|0,k2=r2>>>0>15,k2?(D2=t+s|0,y2=t+a2|0,G2=H&1,M2=G2|s,O2=M2|2,e[q>>2]=O2,D=s+4|0,p2=t+D|0,W2=r2|1,e[p2>>2]=W2,e[y2>>2]=r2,v=a2+4|0,q2=t+v|0,K2=e[q2>>2]|0,U2=K2&-2,e[q2>>2]=U2,a3=D2,y3=r2):(V2=H&1,A5=V2|a2,Y2=A5|2,e[q>>2]=Y2,b=a2+4|0,N1=t+b|0,t5=e[N1>>2]|0,T5=t5|1,e[N1>>2]=T5,a3=0,y3=0),e[138264]=y3,e[138267]=a3,B5=t,B5|0);if(i5=M5&2,L5=(i5|0)==0,!L5||(j2=M5&-8,p5=j2+D1|0,_5=p5>>>0>>0,_5))return B5=0,B5|0;u5=p5-s|0,b2=M5>>>3,y5=M5>>>0<256;do if(y5){if(y=D1+8|0,o5=t+y|0,F2=e[o5>>2]|0,B=D1+12|0,R2=t+B|0,Q2=e[R2>>2]|0,Q5=b2<<1,N5=553088+(Q5<<2)|0,E5=(F2|0)==(N5|0),E5||(q5=F2>>>0>>0,q5&&v2(),R5=F2+12|0,z2=e[R5>>2]|0,C5=(z2|0)==(o2|0),C5||v2()),$5=(Q2|0)==(F2|0),$5){d5=1<>>0>>0,X2&&v2(),h2=Q2+8|0,v5=e[h2>>2]|0,r5=(v5|0)==(o2|0),r5?$=h2:v2()),a5=F2+12|0,e[a5>>2]=Q2,e[$>>2]=F2}else{g=D1+24|0,f5=t+g|0,J2=e[f5>>2]|0,k=D1+12|0,I5=t+k|0,n5=e[I5>>2]|0,F5=(n5|0)==(o2|0);do if(F5){if(M=D1+20|0,h0=t+M|0,e0=e[h0>>2]|0,d0=(e0|0)==0,d0)if(R=D1+16|0,c0=t+R|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){T2=0;break}else e5=$0,k5=c0;else e5=e0,k5=h0;for(;;){if(X=e5+20|0,m0=e[X>>2]|0,g0=(m0|0)==0,!g0){e5=m0,k5=X;continue}if(I0=e5+16|0,n0=e[I0>>2]|0,p0=(n0|0)==0,p0){c5=e5,z5=k5;break}else e5=n0,k5=I0}if(C0=z5>>>0>>0,C0)v2();else{e[z5>>2]=0,T2=c5;break}}else if(E=D1+8|0,t0=t+E|0,Z=e[t0>>2]|0,A0=Z>>>0>>0,A0&&v2(),j=Z+12|0,r0=e[j>>2]|0,o0=(r0|0)==(o2|0),o0||v2(),J=n5+8|0,s0=e[J>>2]|0,Y=(s0|0)==(o2|0),Y){e[j>>2]=n5,e[J>>2]=Z,T2=n5;break}else v2();while(!1);if(S0=(J2|0)==0,!S0){if(h=D1+28|0,y0=t+h|0,D0=e[y0>>2]|0,E0=553352+(D0<<2)|0,Q0=e[E0>>2]|0,w0=(o2|0)==(Q0|0),w0){if(e[E0>>2]=T2,i3=(T2|0)==0,i3){B0=1<>>0>>0,U0&&v2(),O0=J2+16|0,H0=e[O0>>2]|0,k0=(H0|0)==(o2|0),k0?e[O0>>2]=T2:(K0=J2+20|0,e[K0>>2]=T2),N0=(T2|0)==0,N0)break;M0=e[138266]|0,W0=T2>>>0>>0,W0&&v2(),J0=T2+24|0,e[J0>>2]=J2,p=D1+16|0,V0=t+p|0,j0=e[V0>>2]|0,q0=(j0|0)==0;do if(!q0)if(Y0=j0>>>0>>0,Y0)v2();else{o1=T2+16|0,e[o1>>2]=j0,z0=j0+24|0,e[z0>>2]=T2;break}while(!1);if(m=D1+20|0,r1=t+m|0,L0=e[r1>>2]|0,h1=(L0|0)==0,!h1)if(u1=e[138266]|0,E1=L0>>>0>>0,E1)v2();else{f1=T2+20|0,e[f1>>2]=L0,d1=L0+24|0,e[d1>>2]=T2;break}}}while(!1);return A1=u5>>>0<16,A1?(g1=H&1,a1=p5|g1,$1=a1|2,e[q>>2]=$1,O=p5|4,X0=t+O|0,p1=e[X0>>2]|0,Q1=p1|1,e[X0>>2]=Q1,B5=t,B5|0):(C1=t+s|0,y1=H&1,v1=y1|s,k1=v1|2,e[q>>2]=k1,F=s+4|0,S1=t+F|0,L1=u5|3,e[S1>>2]=L1,G=p5|4,M1=t+G|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,jy(C1,u5),B5=t,B5|0)}function jy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0;b9=C,e0=t+s|0,d0=t+4|0,V2=e[d0>>2]|0,B6=V2&1,X6=(B6|0)==0;do if(X6){if(P6=e[t>>2]|0,Ve=V2&3,Fe=(Ve|0)==0,Fe)return;if(H9=0-P6|0,ke=t+H9|0,c0=P6+s|0,S0=e[138266]|0,G0=ke>>>0>>0,G0&&v2(),V0=e[138267]|0,E1=(ke|0)==(V0|0),E1){if(k=s+4|0,n9=t+k|0,$0=e[n9>>2]|0,l0=$0&3,X=(l0|0)==3,!X){A=ke,$=c0;break}e[138264]=c0,m0=$0&-2,e[n9>>2]=m0,g0=c0|1,M=4-P6|0,I0=t+M|0,e[I0>>2]=g0,e[e0>>2]=c0;return}if(C1=P6>>>3,P1=P6>>>0<256,P1){if(j=8-P6|0,t2=t+j|0,f2=e[t2>>2]|0,r0=12-P6|0,D2=t+r0|0,Z2=e[D2>>2]|0,V5=C1<<1,M5=553088+(V5<<2)|0,l5=(f2|0)==(M5|0),l5||(e5=f2>>>0>>0,e5&&v2(),a3=f2+12|0,t3=e[a3>>2]|0,D5=(t3|0)==(ke|0),D5||v2()),A6=(Z2|0)==(f2|0),A6){M6=1<>>0>>0,H6&&v2(),$6=Z2+8|0,D6=e[$6>>2]|0,G6=(D6|0)==(ke|0),G6?E=$6:v2()),ee=f2+12|0,e[ee>>2]=Z2,e[E>>2]=f2,A=ke,$=c0;break}F=24-P6|0,Q6=t+F|0,P3=e[Q6>>2]|0,G=12-P6|0,re=t+G|0,V6=e[re>>2]|0,oe=(V6|0)==(ke|0);do if(oe){if(O=16-P6|0,q=O+4|0,he=t+q|0,ne=e[he>>2]|0,Be=(ne|0)==0,Be)if(ye=t+O|0,Qe=e[ye>>2]|0,fe=(Qe|0)==0,fe){f9=0;break}else J9=Qe,h4=ye;else J9=ne,h4=he;for(;;){if(Ie=J9+20|0,w6=e[Ie>>2]|0,q6=(w6|0)==0,!q6){J9=w6,h4=Ie;continue}if(Ae=J9+16|0,Ye=e[Ae>>2]|0,we=(Ye|0)==0,we){Oe=J9,f4=h4;break}else J9=Ye,h4=Ae}if(w9=f4>>>0>>0,w9)v2();else{e[f4>>2]=0,f9=Oe;break}}else if(A0=8-P6|0,ue=t+A0|0,U6=e[ue>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,te=e[F6>>2]|0,_6=(te|0)==(ke|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,ae=(O6|0)==(ke|0),ae){e[F6>>2]=V6,e[O3>>2]=U6,f9=V6;break}else v2();while(!1);if(u9=(P3|0)==0,u9)A=ke,$=c0;else{if(K=28-P6|0,E9=t+K|0,ze=e[E9>>2]|0,r9=553352+(ze<<2)|0,ve=e[r9>>2]|0,J6=(ke|0)==(ve|0),J6){if(e[r9>>2]=f9,I6=(f9|0)==0,I6){$e=1<>>0<_e>>>0,F9&&v2(),T9=P3+16|0,U9=e[T9>>2]|0,n4=(U9|0)==(ke|0),n4?e[T9>>2]=f9:(k9=P3+20|0,e[k9>>2]=f9),V9=(f9|0)==0,V9){A=ke,$=c0;break}Ke=e[138266]|0,Y9=f9>>>0>>0,Y9&&v2(),h9=f9+24|0,e[h9>>2]=P3,t0=16-P6|0,P9=t+t0|0,C9=e[P9>>2]|0,v4=(C9|0)==0;do if(!v4)if(Ze=C9>>>0>>0,Ze)v2();else{k4=f9+16|0,e[k4>>2]=C9,V4=C9+24|0,e[V4>>2]=f9;break}while(!1);if(Z=t0+4|0,nt=t+Z|0,z9=e[nt>>2]|0,Y4=(z9|0)==0,Y4)A=ke,$=c0;else if(K9=e[138266]|0,s4=z9>>>0>>0,s4)v2();else{R4=f9+20|0,e[R4>>2]=z9,st=z9+24|0,e[st>>2]=f9,A=ke,$=c0;break}}}else A=t,$=s;while(!1);if(n0=e[138266]|0,f0=e0>>>0>>0,f0&&v2(),v=s+4|0,p0=t+v|0,C0=e[p0>>2]|0,y0=C0&2,D0=(y0|0)==0,D0){if(E0=e[138268]|0,Q0=(e0|0)==(E0|0),Q0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=A,x0=B0|1,Z0=A+4|0,e[Z0>>2]=x0,R0=e[138267]|0,v0=(A|0)==(R0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(U0=e[138267]|0,O0=(e0|0)==(U0|0),O0){H0=e[138264]|0,k0=H0+$|0,e[138264]=k0,e[138267]=A,K0=k0|1,N0=A+4|0,e[N0>>2]=K0,M0=A+k0|0,e[M0>>2]=k0;return}P0=C0&-8,W0=P0+$|0,J0=C0>>>3,j0=C0>>>0<256;do if(j0){if(L=s+8|0,q0=t+L|0,Y0=e[q0>>2]|0,R=s+12|0,o1=t+R|0,z0=e[o1>>2]|0,r1=J0<<1,L0=553088+(r1<<2)|0,s1=(Y0|0)==(L0|0),s1||(h1=Y0>>>0>>0,h1&&v2(),u1=Y0+12|0,f1=e[u1>>2]|0,d1=(f1|0)==(e0|0),d1||v2()),A1=(z0|0)==(Y0|0),A1){g1=1<>>0>>0,p1&&v2(),Q1=z0+8|0,y1=e[Q1>>2]|0,v1=(y1|0)==(e0|0),v1?m=Q1:v2()),k1=Y0+12|0,e[k1>>2]=z0,e[m>>2]=Y0}else{H=s+24|0,S1=t+H|0,L1=e[S1>>2]|0,o0=s+12|0,M1=t+o0|0,b1=e[M1>>2]|0,_1=(b1|0)==(e0|0);do if(_1){if(s0=s+20|0,V1=t+s0|0,Y1=e[V1>>2]|0,z1=(Y1|0)==0,z1)if(J=s+16|0,o2=t+J|0,e2=e[o2>>2]|0,q1=(e2|0)==0,q1){s9=0;break}else N9=e2,S9=o2;else N9=Y1,S9=V1;for(;;){if(d2=N9+20|0,Z1=e[d2>>2]|0,I2=(Z1|0)==0,!I2){N9=Z1,S9=d2;continue}if(A2=N9+16|0,C2=e[A2>>2]|0,$2=(C2|0)==0,$2){d4=N9,o4=S9;break}else N9=C2,S9=A2}if(W1=o4>>>0>>0,W1)v2();else{e[o4>>2]=0,s9=d4;break}}else if(Q=s+8|0,R1=t+Q|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),O1=F1+12|0,X1=e[O1>>2]|0,G1=(X1|0)==(e0|0),G1||v2(),x1=b1+8|0,J1=e[x1>>2]|0,H1=(J1|0)==(e0|0),H1){e[O1>>2]=b1,e[x1>>2]=F1,s9=b1;break}else v2();while(!1);if(g2=(L1|0)==0,!g2){if(h0=s+28|0,n2=t+h0|0,u2=e[n2>>2]|0,s2=553352+(u2<<2)|0,l2=e[s2>>2]|0,i2=(e0|0)==(l2|0),i2){if(e[s2>>2]=s9,z4=(s9|0)==0,z4){a2=1<>>0>>0,y2&&v2(),G2=L1+16|0,M2=e[G2>>2]|0,O2=(M2|0)==(e0|0),O2?e[G2>>2]=s9:(p2=L1+20|0,e[p2>>2]=s9),W2=(s9|0)==0,W2)break;q2=e[138266]|0,K2=s9>>>0>>0,K2&&v2(),U2=s9+24|0,e[U2>>2]=L1,i0=s+16|0,A5=t+i0|0,Y2=e[A5>>2]|0,N1=(Y2|0)==0;do if(!N1)if(t5=Y2>>>0>>0,t5)v2();else{T5=s9+16|0,e[T5>>2]=Y2,i5=Y2+24|0,e[i5>>2]=s9;break}while(!1);if(_=s+20|0,L5=t+_|0,j2=e[L5>>2]|0,p5=(j2|0)==0,!p5)if(_5=e[138266]|0,u5=j2>>>0<_5>>>0,u5)v2();else{b2=s9+20|0,e[b2>>2]=j2,y5=j2+24|0,e[y5>>2]=s9;break}}}while(!1);if(o5=W0|1,F2=A+4|0,e[F2>>2]=o5,R2=A+W0|0,e[R2>>2]=W0,Q2=e[138267]|0,Q5=(A|0)==(Q2|0),Q5){e[138264]=W0;return}else g=W0}else N5=C0&-2,e[p0>>2]=N5,E5=$|1,q5=A+4|0,e[q5>>2]=E5,R5=A+$|0,e[R5>>2]=$,g=$;if(z2=g>>>3,C5=g>>>0<256,C5){$5=z2<<1,d5=553088+($5<<2)|0,w5=e[138262]|0,T1=1<>2]|0,r5=e[138266]|0,a5=v5>>>0>>0,a5?v2():(y=h2,u4=v5)),e[y>>2]=A,f5=u4+12|0,e[f5>>2]=A,J2=A+8|0,e[J2>>2]=u4,I5=A+12|0,e[I5>>2]=d5;return}if(n5=g>>>8,F5=(n5|0)==0,F5?B9=0:(c5=g>>>0>16777215,c5?B9=31:(T2=n5+1048320|0,k5=T2>>>16,z5=k5&8,i3=n5<>>16,h3=I3&4,W5=h3|z5,r3=i3<>>16,Z5=G5&2,x3=W5|Z5,f3=14-x3|0,w3=r3<>>15,V3=f3+e6|0,X5=V3<<1,_3=V3+7|0,a6=g>>>_3,G3=a6&1,Y3=G3|X5,B9=Y3)),c3=553352+(B9<<2)|0,g3=A+28|0,e[g3>>2]=B9,u3=A+16|0,Q3=A+20|0,e[Q3>>2]=0,e[u3>>2]=0,K5=e[138263]|0,H5=1<>2]=A,l6=A+24|0,e[l6>>2]=c3,n3=A+12|0,e[n3>>2]=A,l3=A+8|0,e[l3>>2]=A;return}U3=e[c3>>2]|0,C6=U3+4|0,b3=e[C6>>2]|0,L3=b3&-8,D3=(L3|0)==(g|0);e:do if(D3)O9=U3;else{for(r6=(B9|0)==31,K3=B9>>>1,j5=25-K3|0,M3=r6?0:j5,d3=g<>>31,f6=(I4+16|0)+(n6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){h=f6,Se=I4;break}if(J3=T6<<1,h6=m3+4|0,x6=e[h6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){O9=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=h>>>0>>0,j6&&v2(),e[h>>2]=A,k6=A+24|0,e[k6>>2]=Se,R3=A+12|0,e[R3>>2]=A,s6=A+8|0,e[s6>>2]=A;return}while(!1);o6=O9+8|0,F3=e[o6>>2]|0,Z3=e[138266]|0,t6=F3>>>0>=Z3>>>0,I9=O9>>>0>=Z3>>>0,R6=t6&I9,R6||v2(),c6=F3+12|0,e[c6>>2]=A,e[o6>>2]=A,s3=A+8|0,e[s3>>2]=F3,K6=A+12|0,e[K6>>2]=O9,A3=A+24|0,e[A3>>2]=0}function vD(){e[6410]=We}function g4(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0;if($=t+A|0,(A|0)>=20){if(s=s&255,p=t&3,g=s|s<<8|s<<16|s<<24,h=$&-4,p)for(p=t+4-p|0;(t|0)<(p|0);)I[t>>0]=s,t=t+1|0;for(;(t|0)<(h|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)I[t>>0]=s,t=t+1|0;return t-A|0}function ll(t){t=t|0;var s=0;for(s=t;I[s>>0]|0;)s=s+1|0;return s-t|0}function Xy(t,s){t=t|0,s=s|0;var A=0,$=0;$=t+(ll(t)|0)|0;do I[$+A>>0]=I[s+A>>0],A=A+1|0;while(I[s+(A-1)>>0]|0);return t|0}function eQ(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>>32-A,t<>>0,h=s+$+(g>>>0>>0|0)>>>0,Z6=h,g|0|0}function no(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>>A,t>>>A|(s&$)<<32-A):(Z6=0,s>>>A-32|0)}function g9(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;if((A|0)>=4096)return FS(t|0,s|0,A|0)|0;if($=t|0,(t&3)==(s&3)){for(;t&3;){if(!(A|0))return $|0;I[t>>0]=I[s>>0]|0,t=t+1|0,s=s+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[s>>2]|0,t=t+4|0,s=s+4|0,A=A-4|0}for(;(A|0)>0;)I[t>>0]=I[s>>0]|0,t=t+1|0,s=s+1|0,A=A-1|0;return $|0}function lA(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;if((s|0)<(t|0)&(t|0)<(s+A|0)){for($=t,s=s+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,s=s-1|0,A=A-1|0,I[t>>0]=I[s>>0]|0;t=$}else g9(t,s,A)|0;return t|0}function PC(t,s){t=t|0,s=s|0;var A=0;do I[(t+A|0)>>0]=I[(s+A|0)>>0],A=A+1|0;while(I[s+(A-1)>>0]|0);return t|0}function so(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0;return g=t-A>>>0,h=s-$>>>0,h=s-$-(A>>>0>t>>>0|0)>>>0,Z6=h,g|0|0}function Ax(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>A,t>>>A|(s&$)<<32-A):(Z6=(s|0)<0?-1:0,s>>A-32|0)}function tQ(t){t=t|0;var s=0;return s=I[Ue+(t&255)>>0]|0,(s|0)<8?s|0:(s=I[Ue+(t>>8&255)>>0]|0,(s|0)<8?s+8|0:(s=I[Ue+(t>>16&255)>>0]|0,(s|0)<8?s+16|0:(I[Ue+(t>>>24)>>0]|0)+24|0))}function kD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0;return A=t&65535,$=s&65535,g=s5($,A)|0,h=t>>>16,p=(g>>>16)+(s5($,h)|0)|0,m=s>>>16,E=s5(m,A)|0,Z6=((p>>>16)+(s5(m,h)|0)|0)+(((p&65535)+E|0)>>>16)|0,0|(p+E<<16|g&65535)|0}function $x(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return g=s>>31|((s|0)<0?-1:0)<<1,h=((s|0)<0?-1:0)>>31|((s|0)<0?-1:0)<<1,p=$>>31|(($|0)<0?-1:0)<<1,m=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=so(g^t,h^s,g,h)|0,y=Z6,B=so(p^A,m^$,p,m)|0,b=p^g,D=m^h,k=hE(E,y,B,Z6,0)|0,v=so(k^b,Z6^D,b,D)|0,v|0}function lx(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return v=C,C=C+8|0,g=v|0,h=s>>31|((s|0)<0?-1:0)<<1,p=((s|0)<0?-1:0)>>31|((s|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,y=so(h^t,p^s,h,p)|0,B=Z6,b=so(m^A,E^$,m,E)|0,hE(y,B,b,Z6,g)|0,D=so(e[g>>2]^h,e[g+4>>2]^p,h,p)|0,k=Z6,C=v,Z6=k,D|0}function SD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0;return g=t,h=A,p=kD(g,h)|0,m=Z6,E=s5(s,h)|0,Z6=((s5($,g)|0)+E|0)+m|m&0,0|p&-1|0}function cx(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0;return g=hE(t,s,A,$,0)|0,g|0}function gx(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0;return h=C,C=C+8|0,g=h|0,hE(t,s,A,$,g)|0,C=h,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function hE(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0;if(h=t,p=s,m=p,E=A,y=$,B=y,!(m|0))return b=(g|0)!=0,B|0?b?(e[g>>2]=t&-1,e[g+4>>2]=s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0):(b&&(e[g>>2]=(h>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,N0=(h>>>0)/(E>>>0)>>>0,Z6=M0,N0|0);D=(B|0)==0;do if(E|0){if(!D){if(Z=io(B|0)|0,A0=Z-(io(m|0)|0)|0,A0>>>0<=31){j=A0+1|0,r0=31-A0|0,o0=A0-31>>31,i0=j,h0=h>>>(j>>>0)&o0|m<>>(j>>>0)&o0,s0=0,J=h<>2]=0|t&-1,e[g+4>>2]=p|s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0)}if(R=E-1|0,R&E|0){F=(io(E|0)|0)+33|0,G=F-(io(m|0)|0)|0,O=64-G|0,q=32-G|0,H=q>>31,K=G-32|0,t0=K>>31,i0=G,h0=q-1>>31&m>>>(K>>>0)|(m<>>(G>>>0))&t0,Y=t0&m>>>(G>>>0),s0=h<>>(K>>>0))&H|h<>31;break}return g|0&&(e[g>>2]=R&h,e[g+4>>2]=0),(E|0)==1?(M0=p|s&0,N0=0|t&-1,Z6=M0,N0|0):(M=tQ(E|0)|0,M0=0|m>>>(M>>>0),N0=m<<32-M|h>>>(M>>>0)|0,Z6=M0,N0|0)}else{if(D)return g|0&&(e[g>>2]=(m>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,N0=(m>>>0)/(E>>>0)>>>0,Z6=M0,N0|0;if(!(h|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(m>>>0)%(B>>>0)),M0=0,N0=(m>>>0)/(B>>>0)>>>0,Z6=M0,N0|0;if(k=B-1|0,!(k&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=k&m|s&0),M0=0,N0=m>>>((tQ(B|0)|0)>>>0),Z6=M0,N0|0;if(v=io(B|0)|0,_=v-(io(m|0)|0)|0,_>>>0<=30){Q=_+1|0,L=31-_|0,i0=Q,h0=m<>>(Q>>>0),Y=m>>>(Q>>>0),s0=0,J=h<>2]=0|t&-1,e[g+4>>2]=p|s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0)}while(!1);if(!(i0|0))O0=J,U0=s0,G0=Y,v0=h0,R0=0,Z0=0;else{for(e0=0|A&-1,d0=y|$&0,c0=ro(e0|0,d0|0,-1,-1)|0,$0=Z6,n0=J,I0=s0,g0=Y,m0=h0,X=i0,l0=0;f0=I0>>>31|n0<<1,p0=l0|I0<<1,C0=0|(m0<<1|n0>>>31),S0=m0>>>31|g0<<1|0,so(c0,$0,C0,S0)|0,y0=Z6,D0=y0>>31|((y0|0)<0?-1:0)<<1,E0=D0&1,Q0=so(C0,S0,D0&e0,(((y0|0)<0?-1:0)>>31|((y0|0)<0?-1:0)<<1)&d0)|0,w0=Q0,B0=Z6,x0=X-1|0,x0|0;)n0=f0,I0=p0,g0=B0,m0=w0,X=x0,l0=E0;O0=f0,U0=p0,G0=B0,v0=w0,R0=0,Z0=E0}return H0=U0,k0=0,K0=O0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=G0|0),M0=(0|H0)>>>31|K0<<1|(k0<<1|H0>>>31)&0|R0,N0=(H0<<1|0)&-2|Z0,Z6=M0,N0|0}function bD(t,s,A,$,g){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,HC[t&3](s|0,A|0,$|0,g|0)|0}function DD(t,s){t=t|0,s=s|0,oo[t&7](s|0)}function _D(t,s,A){t=t|0,s=s|0,A=A|0,VC[t&3](s|0,A|0)}function xD(t,s){return t=t|0,s=s|0,nQ[t&1](s|0)|0}function LD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0,sQ[t&1](s|0,A|0,$|0)}function MD(t,s,A,$,g,h,p,m,E){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,E=E|0,oQ[t&3](s|0,A|0,$|0,g|0,h|0,p|0,m|0,E|0)|0}function RD(t,s,A){return t=t|0,s=s|0,A=A|0,pi[t&15](s|0,A|0)|0}function FD(t,s,A,$,g,h){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,YC[t&7](s|0,A|0,$|0,g|0,h|0)|0}function TD(t,s,A,$){return t=t|0,s=s|0,A=A|0,$=$|0,nn(0),0}function OC(t){t=t|0,nn(1)}function iQ(t,s){t=t|0,s=s|0,nn(2)}function ND(t){return t=t|0,nn(3),0}function GD(t,s,A){t=t|0,s=s|0,A=A|0,nn(4)}function rQ(t,s,A,$,g,h,p,m){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,nn(5),0}function cl(t,s){return t=t|0,s=s|0,nn(6),0}function qC(t,s,A,$,g){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,nn(7),0}var HC=[TD,Qb,Ab,$b],oo=[OC,Cb,Bb,Mb,zb,Kb,OC,OC],VC=[iQ,mb,Jb,iQ],nQ=[ND,Rb],sQ=[GD,xb],oQ=[rQ,Xb,rD,rQ],pi=[cl,pb,Eb,yb,Lb,Fb,Wb,Zb,wb,Yb,$D,cl,cl,cl,cl,cl],YC=[qC,jb,eD,tD,iD,nD,qC,qC];return{_memmove:lA,_strlen:ll,_strcat:Xy,_free:E2,_i64Add:ro,_encoder_clear:ID,_encoder_transfer_data:CD,_encoder_data_len:ED,_memset:g4,_malloc:Re,_memcpy:g9,_encoder_init:fD,_encoder_process:pD,_bitshift64Lshr:no,_bitshift64Shl:eQ,_strcpy:PC,_encoder_analysis_buffer:mD,runPostSets:vD,stackAlloc:GS,stackSave:US,stackRestore:PS,establishStackSpace:OS,setThrew:qS,setTempRet0:HS,getTempRet0:VS,dynCall_iiiii:bD,dynCall_vi:DD,dynCall_vii:_D,dynCall_ii:xD,dynCall_viii:LD,dynCall_iiiiiiiii:MD,dynCall_iii:RD,dynCall_iiiiii:FD}}(n.asmGlobalArg,n.asmLibraryArg,q7),T_=n.runPostSets=t9.runPostSets,ES=n._strlen=t9._strlen,CS=n._strcat=t9._strcat,bC=n._free=t9._free,N_=n._encoder_init=t9._encoder_init,BS=n._i64Add=t9._i64Add,yS=n._memmove=t9._memmove,G_=n._encoder_transfer_data=t9._encoder_transfer_data,U_=n._encoder_process=t9._encoder_process,P_=n._encoder_data_len=t9._encoder_data_len,QS=n._memset=t9._memset,Nu=n._malloc=t9._malloc,wS=n._memcpy=t9._memcpy,O_=n._encoder_clear=t9._encoder_clear,vS=n._bitshift64Lshr=t9._bitshift64Lshr,q_=n._encoder_analysis_buffer=t9._encoder_analysis_buffer,kS=n._strcpy=t9._strcpy,SS=n._bitshift64Shl=t9._bitshift64Shl,H_=n.dynCall_iiiii=t9.dynCall_iiiii,V_=n.dynCall_vi=t9.dynCall_vi,Y_=n.dynCall_vii=t9.dynCall_vii,z_=n.dynCall_ii=t9.dynCall_ii,K_=n.dynCall_viii=t9.dynCall_viii,J_=n.dynCall_iiiiiiiii=t9.dynCall_iiiiiiiii,W_=n.dynCall_iii=t9.dynCall_iii,Z_=n.dynCall_iiiiii=t9.dynCall_iiiiii;w.stackAlloc=t9.stackAlloc,w.stackSave=t9.stackSave,w.stackRestore=t9.stackRestore,w.establishStackSpace=t9.establishStackSpace,w.setTempRet0=t9.setTempRet0,w.getTempRet0=t9.getTempRet0;var j_=function(){var r={math:{}};r.math.Long=function(W,_0){this.low_=W|0,this.high_=_0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(W){if(-128<=W&&W<128){var _0=r.math.Long.IntCache_[W];if(_0)return _0}var t1=new r.math.Long(W|0,W<0?-1:0);return-128<=W&&W<128&&(r.math.Long.IntCache_[W]=t1),t1},r.math.Long.fromNumber=function(W){return isNaN(W)||!isFinite(W)?r.math.Long.ZERO:W<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:W+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:W<0?r.math.Long.fromNumber(-W).negate():new r.math.Long(W%r.math.Long.TWO_PWR_32_DBL_|0,W/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(W,_0){return new r.math.Long(W,_0)},r.math.Long.fromString=function(W,_0){if(W.length==0)throw Error("number format error: empty string");var t1=_0||10;if(t1<2||36=0)throw Error('number format error: interior "-" character: '+W);for(var B2=r.math.Long.fromNumber(Math.pow(t1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var W=this.high_!=0?this.high_:this.low_,_0=31;_0>0&&!(W&1<<_0);_0--);return this.high_!=0?_0+33:_0+1},r.math.Long.prototype.isZero=function(){return this.high_==0&&this.low_==0},r.math.Long.prototype.isNegative=function(){return this.high_<0},r.math.Long.prototype.isOdd=function(){return(this.low_&1)==1},r.math.Long.prototype.equals=function(W){return this.high_==W.high_&&this.low_==W.low_},r.math.Long.prototype.notEquals=function(W){return this.high_!=W.high_||this.low_!=W.low_},r.math.Long.prototype.lessThan=function(W){return this.compare(W)<0},r.math.Long.prototype.lessThanOrEqual=function(W){return this.compare(W)<=0},r.math.Long.prototype.greaterThan=function(W){return this.compare(W)>0},r.math.Long.prototype.greaterThanOrEqual=function(W){return this.compare(W)>=0},r.math.Long.prototype.compare=function(W){if(this.equals(W))return 0;var _0=this.isNegative(),t1=W.isNegative();return _0&&!t1?-1:!_0&&t1?1:this.subtract(W).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(W){var _0=this.high_>>>16,t1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=W.high_>>>16,N3=W.high_&65535,ie=W.low_>>>16,He=W.low_&65535,Pe=0,i4=0,Ai=0,sr=0;return sr+=e3+He,Ai+=sr>>>16,sr&=65535,Ai+=B2+ie,i4+=Ai>>>16,Ai&=65535,i4+=t1+N3,Pe+=i4>>>16,i4&=65535,Pe+=_0+O5,Pe&=65535,r.math.Long.fromBits(Ai<<16|sr,Pe<<16|i4)},r.math.Long.prototype.subtract=function(W){return this.add(W.negate())},r.math.Long.prototype.multiply=function(W){if(this.isZero())return r.math.Long.ZERO;if(W.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return W.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(W.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return W.isNegative()?this.negate().multiply(W.negate()):this.negate().multiply(W).negate();if(W.isNegative())return this.multiply(W.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&W.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*W.toNumber());var _0=this.high_>>>16,t1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=W.high_>>>16,N3=W.high_&65535,ie=W.low_>>>16,He=W.low_&65535,Pe=0,i4=0,Ai=0,sr=0;return sr+=e3*He,Ai+=sr>>>16,sr&=65535,Ai+=B2*He,i4+=Ai>>>16,Ai&=65535,Ai+=e3*ie,i4+=Ai>>>16,Ai&=65535,i4+=t1*He,Pe+=i4>>>16,i4&=65535,i4+=B2*ie,Pe+=i4>>>16,i4&=65535,i4+=e3*N3,Pe+=i4>>>16,i4&=65535,Pe+=_0*He+t1*ie+B2*N3+e3*O5,Pe&=65535,r.math.Long.fromBits(Ai<<16|sr,Pe<<16|i4)},r.math.Long.prototype.div=function(W){if(W.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(W.equals(r.math.Long.ONE)||W.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(W.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var _0=this.shiftRight(1),t1=_0.div(W).shiftLeft(1);if(t1.equals(r.math.Long.ZERO))return W.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(W.multiply(t1)),B2=t1.add(O5.div(W));return B2}else if(W.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return W.isNegative()?this.negate().div(W.negate()):this.negate().div(W).negate();if(W.isNegative())return this.div(W.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(W);){for(var t1=Math.max(1,Math.floor(O5.toNumber()/W.toNumber())),N3=Math.ceil(Math.log(t1)/Math.LN2),ie=N3<=48?1:Math.pow(2,N3-48),He=r.math.Long.fromNumber(t1),Pe=He.multiply(W);Pe.isNegative()||Pe.greaterThan(O5);)t1-=ie,He=r.math.Long.fromNumber(t1),Pe=He.multiply(W);He.isZero()&&(He=r.math.Long.ONE),e3=e3.add(He),O5=O5.subtract(Pe)}return e3},r.math.Long.prototype.modulo=function(W){return this.subtract(this.div(W).multiply(W))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(W){return r.math.Long.fromBits(this.low_&W.low_,this.high_&W.high_)},r.math.Long.prototype.or=function(W){return r.math.Long.fromBits(this.low_|W.low_,this.high_|W.high_)},r.math.Long.prototype.xor=function(W){return r.math.Long.fromBits(this.low_^W.low_,this.high_^W.high_)},r.math.Long.prototype.shiftLeft=function(W){if(W&=63,W==0)return this;var _0=this.low_;if(W<32){var t1=this.high_;return r.math.Long.fromBits(_0<>>32-W)}else return r.math.Long.fromBits(0,_0<>>W|_0<<32-W,_0>>W)}else return r.math.Long.fromBits(_0>>W-32,_0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(W){if(W&=63,W==0)return this;var _0=this.high_;if(W<32){var t1=this.low_;return r.math.Long.fromBits(t1>>>W|_0<<32-W,_0>>>W)}else return W==32?r.math.Long.fromBits(_0,0):r.math.Long.fromBits(_0>>>W-32,0)};var c={appName:"Modern Browser"},d,I=0xdeadbeefcafe,z=(I&16777215)==15715070;function e(W,_0,t1){W!=null&&(typeof W=="number"?this.fromNumber(W,_0,t1):_0==null&&typeof W!="string"?this.fromString(W,256):this.fromString(W,_0))}function e1(){return new e(null)}function n1(W,_0,t1,B2,e3,O5){for(;--O5>=0;){var N3=_0*this[W++]+t1[B2]+e3;e3=Math.floor(N3/67108864),t1[B2++]=N3&67108863}return e3}function x2(W,_0,t1,B2,e3,O5){for(var N3=_0&32767,ie=_0>>15;--O5>=0;){var He=this[W]&32767,Pe=this[W++]>>15,i4=ie*He+Pe*N3;He=N3*He+((i4&32767)<<15)+t1[B2]+(e3&1073741823),e3=(He>>>30)+(i4>>>15)+ie*Pe+(e3>>>30),t1[B2++]=He&1073741823}return e3}function o(W,_0,t1,B2,e3,O5){for(var N3=_0&16383,ie=_0>>14;--O5>=0;){var He=this[W]&16383,Pe=this[W++]>>14,i4=ie*He+Pe*N3;He=N3*He+((i4&16383)<<14)+t1[B2]+e3,e3=(He>>28)+(i4>>14)+ie*Pe,t1[B2++]=He&268435455}return e3}z&&c.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,d=30):z&&c.appName!="Netscape"?(e.prototype.am=n1,d=26):(e.prototype.am=o,d=28),e.prototype.DB=d,e.prototype.DM=(1<=0;--_0)W[_0]=this[_0];W.t=this.t,W.s=this.s}function Dt(W){this.t=1,this.s=W<0?-1:0,W>0?this[0]=W:W<-1?this[0]=W+DV:this.t=0}function i9(W){var _0=e1();return _0.fromInt(W),_0}function It(W,_0){var t1;if(_0==16)t1=4;else if(_0==8)t1=3;else if(_0==256)t1=8;else if(_0==2)t1=1;else if(_0==32)t1=5;else if(_0==4)t1=2;else{this.fromRadix(W,_0);return}this.t=0,this.s=0;for(var B2=W.length,e3=!1,O5=0;--B2>=0;){var N3=t1==8?W[B2]&255:We(W,B2);if(N3<0){W.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=N3:O5+t1>this.DB?(this[this.t-1]|=(N3&(1<>this.DB-O5):this[this.t-1]|=N3<=this.DB&&(O5-=this.DB)}t1==8&&W[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==W;)--this.t}function z7(W){if(this.s<0)return"-"+this.negate().toString(W);var _0;if(W==16)_0=4;else if(W==8)_0=3;else if(W==2)_0=1;else if(W==32)_0=5;else if(W==4)_0=2;else return this.toRadix(W);var t1=(1<<_0)-1,B2,e3=!1,O5="",N3=this.t,ie=this.DB-N3*this.DB%_0;if(N3-- >0)for(ie>ie)>0&&(e3=!0,O5=Ue(B2));N3>=0;)ie<_0?(B2=(this[N3]&(1<>(ie+=this.DB-_0)):(B2=this[N3]>>(ie-=_0)&t1,ie<=0&&(ie+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=Ue(B2));return e3?O5:"0"}function K7(){var W=e1();return e.ZERO.subTo(this,W),W}function vr(){return this.s<0?this.negate():this}function al(W){var _0=this.s-W.s;if(_0!=0)return _0;var t1=this.t;if(_0=t1-W.t,_0!=0)return this.s<0?-_0:_0;for(;--t1>=0;)if((_0=this[t1]-W[t1])!=0)return _0;return 0}function aE(W){var _0=1,t1;return(t1=W>>>16)!=0&&(W=t1,_0+=16),(t1=W>>8)!=0&&(W=t1,_0+=8),(t1=W>>4)!=0&&(W=t1,_0+=4),(t1=W>>2)!=0&&(W=t1,_0+=2),(t1=W>>1)!=0&&(W=t1,_0+=1),_0}function ey(){return this.t<=0?0:this.DB*(this.t-1)+aE(this[this.t-1]^this.s&this.DM)}function ty(W,_0){var t1;for(t1=this.t-1;t1>=0;--t1)_0[t1+W]=this[t1];for(t1=W-1;t1>=0;--t1)_0[t1]=0;_0.t=this.t+W,_0.s=this.s}function iy(W,_0){for(var t1=W;t1=0;--ie)_0[ie+O5+1]=this[ie]>>B2|N3,N3=(this[ie]&e3)<=0;--ie)_0[ie]=0;_0[O5]=N3,_0.t=this.t+O5+1,_0.s=this.s,_0.clamp()}function ny(W,_0){_0.s=this.s;var t1=Math.floor(W/this.DB);if(t1>=this.t){_0.t=0;return}var B2=W%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var N3=t1+1;N3>B2;B2>0&&(_0[this.t-t1-1]|=(this.s&O5)<>=this.DB;if(W.t>=this.DB;B2+=this.s}else{for(B2+=this.s;t1>=this.DB;B2-=W.s}_0.s=B2<0?-1:0,B2<-1?_0[t1++]=this.DV+B2:B2>0&&(_0[t1++]=B2),_0.t=t1,_0.clamp()}function sy(W,_0){var t1=this.abs(),B2=W.abs(),e3=t1.t;for(_0.t=e3+B2.t;--e3>=0;)_0[e3]=0;for(e3=0;e3=0;)W[t1]=0;for(t1=0;t1<_0.t-1;++t1){var B2=_0.am(t1,_0[t1],W,2*t1,0,1);(W[t1+_0.t]+=_0.am(t1+1,2*_0[t1],W,2*t1+1,B2,_0.t-t1-1))>=_0.DV&&(W[t1+_0.t]-=_0.DV,W[t1+_0.t+1]=1)}W.t>0&&(W[W.t-1]+=_0.am(t1,_0[t1],W,2*t1,0,1)),W.s=0,W.clamp()}function ay(W,_0,t1){var B2=W.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(He,O5),e3.lShiftTo(He,t1)):(B2.copyTo(O5),e3.copyTo(t1));var Pe=O5.t,i4=O5[Pe-1];if(i4!=0){var Ai=i4*(1<1?O5[Pe-2]>>this.F2:0),sr=this.FV/Ai,py=(1<=0&&(t1[t1.t++]=1,t1.subTo(Oi,t1)),e.ONE.dlShiftTo(Pe,Oi),Oi.subTo(O5,O5);O5.t=0;){var AE=t1[--$A]==i4?this.DM:Math.floor(t1[$A]*sr+(t1[$A-1]+Ey)*py);if((t1[$A]+=O5.am(0,AE,t1,Uu,0,Pe))0&&t1.rShiftTo(He,t1),N3<0&&e.ZERO.subTo(t1,t1)}}}function Ay(W){var _0=e1();return this.abs().divRemTo(W,null,_0),this.s<0&&_0.compareTo(e.ZERO)>0&&W.subTo(_0,_0),_0}function oA(W){this.m=W}function $y(W){return W.s<0||W.compareTo(this.m)>=0?W.mod(this.m):W}function ly(W){return W}function cy(W){W.divRemTo(this.m,null,W)}function gy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}function aA(W,_0){W.squareTo(_0),this.reduce(_0)}oA.prototype.convert=$y,oA.prototype.revert=ly,oA.prototype.reduce=cy,oA.prototype.mulTo=gy,oA.prototype.sqrTo=aA;function nr(){if(this.t<1)return 0;var W=this[0];if(!(W&1))return 0;var _0=W&3;return _0=_0*(2-(W&15)*_0)&15,_0=_0*(2-(W&255)*_0)&255,_0=_0*(2-((W&65535)*_0&65535))&65535,_0=_0*(2-W*_0%this.DV)%this.DV,_0>0?this.DV-_0:-_0}function Hn(W){this.m=W,this.mp=W.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(_0,_0),_0}function AA(W){var _0=e1();return W.copyTo(_0),this.reduce(_0),_0}function Vn(W){for(;W.t<=this.mt2;)W[W.t++]=0;for(var _0=0;_0>15)*this.mpl&this.um)<<15)&W.DM;for(t1=_0+this.m.t,W[t1]+=this.m.am(0,B2,W,_0,0,this.m.t);W[t1]>=W.DV;)W[t1]-=W.DV,W[++t1]++}W.clamp(),W.drShiftTo(this.m.t,W),W.compareTo(this.m)>=0&&W.subTo(this.m,W)}function uy(W,_0){W.squareTo(_0),this.reduce(_0)}function dy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}Hn.prototype.convert=Gu,Hn.prototype.revert=AA,Hn.prototype.reduce=Vn,Hn.prototype.mulTo=dy,Hn.prototype.sqrTo=uy;function hy(){return(this.t>0?this[0]&1:this.s)==0}function to(W,_0){if(W>4294967295||W<1)return e.ONE;var t1=e1(),B2=e1(),e3=_0.convert(this),O5=aE(W)-1;for(e3.copyTo(t1);--O5>=0;)if(_0.sqrTo(t1,B2),(W&1<0)_0.mulTo(B2,e3,t1);else{var N3=t1;t1=B2,B2=N3}return _0.revert(t1)}function fy(W,_0){var t1;return W<256||_0.isEven()?t1=new oA(_0):t1=new Hn(_0),this.exp(W,t1)}e.prototype.copyTo=Q9,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=ty,e.prototype.drShiftTo=iy,e.prototype.lShiftTo=ry,e.prototype.rShiftTo=ny,e.prototype.subTo=Z6,e.prototype.multiplyTo=sy,e.prototype.squareTo=oy,e.prototype.divRemTo=ay,e.prototype.invDigit=nr,e.prototype.isEven=hy,e.prototype.exp=to,e.prototype.toString=z7,e.prototype.negate=K7,e.prototype.abs=vr,e.prototype.compareTo=al,e.prototype.bitLength=ey,e.prototype.mod=Ay,e.prototype.modPowInt=fy,e.ZERO=i9(0),e.ONE=i9(1);function Yn(W,_0){this.fromInt(0),_0==null&&(_0=10);for(var t1=this.chunkSize(_0),B2=Math.pow(_0,t1),e3=!1,O5=0,N3=0,ie=0;ie=t1&&(this.dMultiply(B2),this.dAddOffset(N3,0),O5=0,N3=0)}O5>0&&(this.dMultiply(Math.pow(_0,O5)),this.dAddOffset(N3,0)),e3&&e.ZERO.subTo(this,this)}function rn(W){return Math.floor(Math.LN2*this.DB/Math.log(W))}function _C(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function s5(W){this[this.t]=this.am(0,W-1,this,0,0,this.t),++this.t,this.clamp()}function Iy(W,_0){if(W!=0){for(;this.t<=_0;)this[this.t++]=0;for(this[_0]+=W;this[_0]>=this.DV;)this[_0]-=this.DV,++_0>=this.t&&(this[this.t++]=0),++this[_0]}}function io(W){if(W==null&&(W=10),this.signum()==0||W<2||W>36)return"0";var _0=this.chunkSize(W),t1=Math.pow(W,_0),B2=i9(t1),e3=e1(),O5=e1(),N3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)N3=(t1+O5.intValue()).toString(W).substr(1)+N3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(W)+N3}function nn(){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(W.t>=this.DB;B2+=this.s}else{for(B2+=this.s;t1>=this.DB;B2+=W.s}_0.s=B2<0?-1:0,B2>0?_0[t1++]=B2:B2<-1&&(_0[t1++]=this.DV+B2),_0.t=t1,_0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=rn,e.prototype.signum=_C,e.prototype.dMultiply=s5,e.prototype.dAddOffset=Iy,e.prototype.toRadix=io,e.prototype.intValue=nn,e.prototype.addTo=my;var c7={abs:function(W,_0){var t1=new r.math.Long(W,_0),B2;t1.isNegative()?B2=t1.negate():B2=t1,Ge[bt>>2]=B2.low_,Ge[bt+4>>2]=B2.high_},ensureTemps:function(){c7.ensuredTemps||(c7.ensuredTemps=!0,c7.two32=new e,c7.two32.fromString("4294967296",10),c7.two64=new e,c7.two64.fromString("18446744073709551616",10),c7.temp1=new e,c7.temp2=new e)},lh2bignum:function(W,_0){var t1=new e;t1.fromString(_0.toString(),10);var B2=new e;t1.multiplyTo(c7.two32,B2);var e3=new e;e3.fromString(W.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(W,_0,t1){var B2=new r.math.Long(W,_0).toString();if(t1&&B2[0]=="-"){c7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,c7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(W,_0,t1,B2,e3){c7.ensureTemps();var O5=new e;O5.fromString(W,_0);var N3=new e;N3.fromString(t1,10);var ie=new e;if(ie.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var He=new e;O5.addTo(c7.two64,He),O5=He}var Pe=!1;O5.compareTo(N3)<0?(O5=N3,Pe=!0):O5.compareTo(ie)>0&&(O5=ie,Pe=!0);var i4=r.math.Long.fromString(O5.toString());if(Ge[bt>>2]=i4.low_,Ge[bt+4>>2]=i4.high_,Pe)throw"range error"}};return c7}();function sA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}sA.prototype=new Error,sA.prototype.constructor=sA;var WB,oE=null,bS=!1;V7=function r(){n.calledRun||DC(),n.calledRun||(V7=r)},n.callMain=n.callMain=function(c){G9(S8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),G9(eE.length==0,"cannot call main when preRun functions remain to be called"),c=c||[],Ws();var d=c.length+1;function I(){for(var n1=0;n1<3;n1++)z.push(0)}var z=[B3(tn(n.thisProgram),"i8",iA)];I();for(var e=0;e0||(Fu(),S8>0)||n.calledRun)return;function c(){n.calledRun||(n.calledRun=!0,!P&&(Ws(),PB(),l&&oE!==null&&n.printErr("pre-main prep time: "+(Date.now()-oE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&XB&&n.callMain(r),el()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),c()},1)):c()}n.run=n.run=DC;function ZB(r,c){if(!(c&&n.noExitRuntime))throw n.noExitRuntime||(P=!0,F0=r,S7=WB,tE(),n.onExit&&n.onExit(r)),u?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):x&&typeof quit=="function"&&quit(r),new sA(r)}n.exit=n.exit=ZB;var jB=[];function eo(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",P=!0,F0=1;var c=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,d="abort("+r+") at "+Zp()+c;throw jB&&jB.forEach(function(I){d=I(d,r)}),d}if(n.abort=n.abort=eo,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var XB=!0;n.noInitialRun&&(XB=!1),DC();var DS=n._encoder_init,_S=n._encoder_clear,xS=n._encoder_analysis_buffer,LS=n._encoder_process,MS=n._encoder_data_len,RS=n._encoder_transfer_data,b7=n.HEAPU8,nl=n.HEAPU32,sl=n.HEAPF32,ol=function(r,c,d){this.numChannels=c,this.oggBuffers=[],this.encoder=DS(this.numChannels,r,d)};ol.prototype.encode=function(r){for(var c=r[0].length,d=xS(this.encoder,c)>>2,I=0;I>2);this.process(c)},ol.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},ol.prototype.cancel=ol.prototype.cleanup=function(){_S(this.encoder),delete this.encoder,delete this.oggBuffers},ol.prototype.process=function(r){LS(this.encoder,r);var c=MS(this.encoder);if(c>0){var d=RS(this.encoder);this.oggBuffers.push(new Uint8Array(b7.subarray(d,d+c)))}},IC.OggVorbisEncoder=ol}};typeof window<"u"&&window===self&&IC.init();function Gk(n,i,a,l){let u=new IC.OggVorbisEncoder(a,i,l);u.encode(n);let f=u.finish(),x=f.reduce((N,b0)=>N+b0.length,0),V=new Uint8Array(x),T=0;for(let N of f)V.set(N,T),T+=N.length;return V}var mC=class{constructor(i,a){let l=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),l.classList.remove("hidden")}),document.body.addEventListener("dragend",()=>{l.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{if(u.preventDefault(),l.classList.add("hidden"),!u.dataTransfer.files[0])return;let f=[];for(let x of u.dataTransfer.files){let V=x.name,T=await x.arrayBuffer(),N=T.slice(0,4),b0=new TextDecoder;if(b0.decode(N)==="RIFF"){let w=T.slice(8,12);if(b0.decode(w)==="RMID"){f.push({binary:T,altName:V});continue}a(T);continue}f.push({binary:T,altName:V})}i(f)})}};async function Uk(){let n="locale.exportAudio.formats.formats.dls.warning.";M9(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"font-weight: bold"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let a=i.div.querySelector("input[trim-toggle='1']").checked;l9(i.id),F7("%cExporting DLS...",I1.info);let l=await this.seq.getMIDI(),u=Hs(l.embeddedSoundFont||this.soundFont);Pa(l,await this.synth.getSynthesizerSnapshot()),a&&Su(u,l);try{let f=u.writeDLS(),x=new Blob([f.buffer],{type:"audio/dls"});this.saveBlob(x,`${u.soundFontInfo.INAM||"unnamed"}.dls`)}catch(f){se("Failed to export DLS: ",f),M9(this.localeManager.getLocaleString("locale.error"),[{type:"text",textContent:f,attributes:{style:"font-weight: bold; color: red"}}])}de()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var Q_=!1,Zr=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(i,a,l,u=Q_){this.localeManager=l,this.context=i,this.enableDebug=u,this.isExporting=!1,this.compressionFunc=Gk;let f;this.ready=new Promise(x=>f=x),this.initializeContext(i,a).then(()=>{f()})}saveBlob(i,a){let l=URL.createObjectURL(i),u=document.createElement("a");u.href=l,u.download=a,u.click(),m5(u)}async initializeContext(i,a){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let U of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(U,"innerText",U.getAttribute("translate-path"));for(let U of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(U,"innerText",U.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(U,"title",U.getAttribute("translate-path-title")+".description");this.soundFont=a;let u=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Nk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let f=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=f+u,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let x=new URL(f+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),T=await(await fetch(x)).arrayBuffer();this.impulseResponseRaw=T,this.impulseResponse=await i.decodeAudioData(T.slice(0,T.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new Bu(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",U=>{this.sfError&&this.sfError(U.message)}),await this.synth.isReady,this.midHandler=new jE,this.wml=new XE(this.synth),this.keyboard=new Lp(this.channelColors,this.synth);let N=document.getElementById("note_canvas");N.width=window.innerWidth*window.devicePixelRatio,N.height=window.innerHeight*window.devicePixelRatio,this.renderer=new G7(this.channelColors,this.synth,N,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let b0=!1,w=()=>{if(N.width=window.innerWidth*window.devicePixelRatio,N.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),N7){if(window.innerWidth/window.innerHeight>1){if(!b0){let U=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");b0=!0,U.parentElement.insertBefore(P,U)}}else if(b0){let U=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");b0=!1,U.parentElement.insertBefore(U,P)}}this.renderer.render(!1,!0)};w(),window.addEventListener("resize",w.bind(this)),window.addEventListener("orientationchange",w.bind(this)),N7&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Wr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new nC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ps(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI,this.renderer),this.settingsUI=new v7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager,this.audioDelay),this.dropFileHandler=new mC(async U=>{if(U.length===0)return;await this.context.resume(),this.play(U);let P=U[0].altName;P>20&&(P=P.substring(0,21)+"..."),document.getElementById("file_upload").textContent=P;let F0=document.getElementById("export_button");F0.style.display="flex",F0.onclick=this.exportSong.bind(this),window.isLocalEdition||(document.getElementById("demo_song").style.display="none")},U=>{this.reloadSf(U)}),document.addEventListener("keydown",U=>{if(!U.ctrlKey)switch(U.key.toLowerCase()){case q8.cinematicMode:this.seq&&this.seq.pause();let P=window.prompt(`Cinematic mode activated! +`));if(!c)return null;r.input=tn(c,!0)}return r.input.shift()},put_char:function(r,c){c===null||c===10?(n.print(Ys(r.output,0)),r.output=[]):c!=0&&r.output.push(c)},flush:function(r){r.output&&r.output.length>0&&(n.print(Ys(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,c){c===null||c===10?(n.printErr(Ys(r.output,0)),r.output=[]):c!=0&&r.output.push(c)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Ys(r.output,0)),r.output=[])}}},Me={ops_table:null,mount:function(r){return Me.createNode(null,"/",16895,0)},createNode:function(r,c,d,I){if(S.isBlkdev(d)||S.isFIFO(d))throw new S.ErrnoError(N2.EPERM);Me.ops_table||(Me.ops_table={dir:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,lookup:Me.node_ops.lookup,mknod:Me.node_ops.mknod,rename:Me.node_ops.rename,unlink:Me.node_ops.unlink,rmdir:Me.node_ops.rmdir,readdir:Me.node_ops.readdir,symlink:Me.node_ops.symlink},stream:{llseek:Me.stream_ops.llseek}},file:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:{llseek:Me.stream_ops.llseek,read:Me.stream_ops.read,write:Me.stream_ops.write,allocate:Me.stream_ops.allocate,mmap:Me.stream_ops.mmap,msync:Me.stream_ops.msync}},link:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,readlink:Me.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:S.chrdev_stream_ops}});var z=S.createNode(r,c,d,I);return S.isDir(z.mode)?(z.node_ops=Me.ops_table.dir.node,z.stream_ops=Me.ops_table.dir.stream,z.contents={}):S.isFile(z.mode)?(z.node_ops=Me.ops_table.file.node,z.stream_ops=Me.ops_table.file.stream,z.usedBytes=0,z.contents=null):S.isLink(z.mode)?(z.node_ops=Me.ops_table.link.node,z.stream_ops=Me.ops_table.link.stream):S.isChrdev(z.mode)&&(z.node_ops=Me.ops_table.chrdev.node,z.stream_ops=Me.ops_table.chrdev.stream),z.timestamp=Date.now(),r&&(r.contents[c]=z),z},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var c=[],d=0;dr.contents.length&&(r.contents=Me.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var d=r.contents?r.contents.buffer.byteLength:0;if(d>=c)return;var I=1024*1024;c=Math.max(c,d*(d0&&r.contents.set(z.subarray(0,r.usedBytes),0);return}for(!r.contents&&c>0&&(r.contents=[]);r.contents.lengthc)r.contents.length=c;else for(;r.contents.length=r.node.usedBytes)return 0;var e1=Math.min(r.node.usedBytes-z,I);if(G9(e1>=0),e1>8&&e.subarray)c.set(e.subarray(z,z+e1),d);else for(var n1=0;n10||z+IP5.timestamp)&&(z.push(b5),I++)});var e=[];if(Object.keys(c.entries).forEach(function(b5){var w2=c.entries[b5],P5=r.entries[b5];P5||(e.push(b5),I++)}),!I)return d(null);var e1=!1,n1=0,x2=r.type==="remote"?r.db:c.db,o=x2.transaction([b8.DB_STORE_NAME],"readwrite"),c1=o.objectStore(b8.DB_STORE_NAME);function C(b5){if(b5)return C.errored?void 0:(C.errored=!0,d(b5));if(++n1>=I)return d(null)}o.onerror=function(b5){C(this.error),b5.preventDefault()},z.sort().forEach(function(b5){c.type==="local"?b8.loadRemoteEntry(c1,b5,function(w2,P5){if(w2)return C(w2);b8.storeLocalEntry(b5,P5,C)}):b8.loadLocalEntry(b5,function(w2,P5){if(w2)return C(w2);b8.storeRemoteEntry(c1,b5,P5,C)})}),e.sort().reverse().forEach(function(b5){c.type==="local"?b8.removeLocalEntry(b5,C):b8.removeRemoteEntry(c1,b5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return G9(u),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,c,d,I){if(!S.isDir(d)&&!S.isFile(d)&&!S.isLink(d))throw new S.ErrnoError(N2.EINVAL);var z=S.createNode(r,c,d);return z.node_ops=ft.node_ops,z.stream_ops=ft.stream_ops,z},getMode:function(r){var c;try{c=D8.lstatSync(r),ft.isWindows&&(c.mode=c.mode|(c.mode&146)>>1)}catch(d){throw d.code?new S.ErrnoError(N2[d.code]):d}return c.mode},realPath:function(r){for(var c=[];r.parent!==r;)c.push(r.name),r=r.parent;return c.push(r.mount.opts.root),c.reverse(),me.join.apply(null,c)},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(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var c=ft.realPath(r),d;try{d=D8.lstatSync(c)}catch(I){throw I.code?new S.ErrnoError(N2[I.code]):I}return ft.isWindows&&!d.blksize&&(d.blksize=4096),ft.isWindows&&!d.blocks&&(d.blocks=(d.size+d.blksize-1)/d.blksize|0),{dev:d.dev,ino:d.ino,mode:d.mode,nlink:d.nlink,uid:d.uid,gid:d.gid,rdev:d.rdev,size:d.size,atime:d.atime,mtime:d.mtime,ctime:d.ctime,blksize:d.blksize,blocks:d.blocks}},setattr:function(r,c){var d=ft.realPath(r);try{if(c.mode!==void 0&&(D8.chmodSync(d,c.mode),r.mode=c.mode),c.timestamp!==void 0){var I=new Date(c.timestamp);D8.utimesSync(d,I,I)}c.size!==void 0&&D8.truncateSync(d,c.size)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},lookup:function(r,c){var d=me.join2(ft.realPath(r),c),I=ft.getMode(d);return ft.createNode(r,c,I)},mknod:function(r,c,d,I){var z=ft.createNode(r,c,d,I),e=ft.realPath(z);try{S.isDir(z.mode)?D8.mkdirSync(e,z.mode):D8.writeFileSync(e,"",{mode:z.mode})}catch(e1){throw e1.code?new S.ErrnoError(N2[e1.code]):e1}return z},rename:function(r,c,d){var I=ft.realPath(r),z=me.join2(ft.realPath(c),d);try{D8.renameSync(I,z)}catch(e){throw e.code?new S.ErrnoError(N2[e.code]):e}},unlink:function(r,c){var d=me.join2(ft.realPath(r),c);try{D8.unlinkSync(d)}catch(I){throw I.code?new S.ErrnoError(N2[I.code]):I}},rmdir:function(r,c){var d=me.join2(ft.realPath(r),c);try{D8.rmdirSync(d)}catch(I){throw I.code?new S.ErrnoError(N2[I.code]):I}},readdir:function(r){var c=ft.realPath(r);try{return D8.readdirSync(c)}catch(d){throw d.code?new S.ErrnoError(N2[d.code]):d}},symlink:function(r,c,d){var I=me.join2(ft.realPath(r),c);try{D8.symlinkSync(d,I)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},readlink:function(r){var c=ft.realPath(r);try{return c=D8.readlinkSync(c),c=JB.relative(JB.resolve(r.mount.opts.root),c),c}catch(d){throw d.code?new S.ErrnoError(N2[d.code]):d}}},stream_ops:{open:function(r){var c=ft.realPath(r.node);try{S.isFile(r.node.mode)&&(r.nfd=D8.openSync(c,ft.flagsToPermissionString(r.flags)))}catch(d){throw d.code?new S.ErrnoError(N2[d.code]):d}},close:function(r){try{S.isFile(r.node.mode)&&r.nfd&&D8.closeSync(r.nfd)}catch(c){throw c.code?new S.ErrnoError(N2[c.code]):c}},read:function(r,c,d,I,z){if(I===0)return 0;var e=new Buffer(I),e1;try{e1=D8.readSync(r.nfd,e,0,I,z)}catch(x2){throw new S.ErrnoError(N2[x2.code])}if(e1>0)for(var n1=0;n18)throw new S.ErrnoError(N2.ELOOP);for(var z=me.normalizeArray(r.split("/").filter(function(b5){return!!b5}),!1),e=S.root,e1="/",n1=0;n140)throw new S.ErrnoError(N2.ELOOP)}}return{path:e1,node:e}},getPath:function(r){for(var c;;){if(S.isRoot(r)){var d=r.mount.mountpoint;return c?d[d.length-1]!=="/"?d+"/"+c:d+c:d}c=c?r.name+"/"+c:r.name,r=r.parent}},hashName:function(r,c){for(var d=0,I=0;I>>0)%S.nameTable.length},hashAddNode:function(r){var c=S.hashName(r.parent.id,r.name);r.name_next=S.nameTable[c],S.nameTable[c]=r},hashRemoveNode:function(r){var c=S.hashName(r.parent.id,r.name);if(S.nameTable[c]===r)S.nameTable[c]=r.name_next;else for(var d=S.nameTable[c];d;){if(d.name_next===r){d.name_next=r.name_next;break}d=d.name_next}},lookupNode:function(r,c){var d=S.mayLookup(r);if(d)throw new S.ErrnoError(d,r);for(var I=S.hashName(r.id,c),z=S.nameTable[I];z;z=z.name_next){var e=z.name;if(z.parent.id===r.id&&e===c)return z}return S.lookup(r,c)},createNode:function(r,c,d,I){if(!S.FSNode){S.FSNode=function(n1,x2,o,c1){n1||(n1=this),this.parent=n1,this.mount=n1.mount,this.mounted=null,this.id=S.nextInode++,this.name=x2,this.mode=o,this.node_ops={},this.stream_ops={},this.rdev=c1},S.FSNode.prototype={};var z=365,e=146;Object.defineProperties(S.FSNode.prototype,{read:{get:function(){return(this.mode&z)===z},set:function(n1){n1?this.mode|=z:this.mode&=~z}},write:{get:function(){return(this.mode&e)===e},set:function(n1){n1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}})}var e1=new S.FSNode(r,c,d,I);return S.hashAddNode(e1),e1},destroyNode:function(r){S.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&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(r){var c=S.flagModes[r];if(typeof c>"u")throw new Error("Unknown file open mode: "+r);return c},flagsToPermissionString:function(r){var c=r&2097155,d=["r","w","rw"][c];return r&512&&(d+="w"),d},nodePermissions:function(r,c){return S.ignorePermissions?0:c.indexOf("r")!==-1&&!(r.mode&292)||c.indexOf("w")!==-1&&!(r.mode&146)||c.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var c=S.nodePermissions(r,"x");return c||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,c){try{var d=S.lookupNode(r,c);return N2.EEXIST}catch{}return S.nodePermissions(r,"wx")},mayDelete:function(r,c,d){var I;try{I=S.lookupNode(r,c)}catch(e){return e.errno}var z=S.nodePermissions(r,"wx");if(z)return z;if(d){if(!S.isDir(I.mode))return N2.ENOTDIR;if(S.isRoot(I)||S.getPath(I)===S.cwd())return N2.EBUSY}else if(S.isDir(I.mode))return N2.EISDIR;return 0},mayOpen:function(r,c){return r?S.isLink(r.mode)?N2.ELOOP:S.isDir(r.mode)&&(c&2097155||c&512)?N2.EISDIR:S.nodePermissions(r,S.flagsToPermissionString(c)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,c){r=r||0,c=c||S.MAX_OPEN_FDS;for(var d=r;d<=c;d++)if(!S.streams[d])return d;throw new S.ErrnoError(N2.EMFILE)},getStream:function(r){return S.streams[r]},createStream:function(r,c,d){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={},Object.defineProperties(S.FSStream.prototype,{object:{get:function(){return this.node},set:function(e1){this.node=e1}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var I=new S.FSStream;for(var z in r)I[z]=r[z];r=I;var e=S.nextfd(c,d);return r.fd=e,S.streams[e]=r,r},closeStream:function(r){S.streams[r]=null},getStreamFromPtr:function(r){return S.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var c=S.getDevice(r.node.rdev);r.stream_ops=c.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new S.ErrnoError(N2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,c){return r<<8|c},registerDevice:function(r,c){S.devices[r]={stream_ops:c}},getDevice:function(r){return S.devices[r]},getMounts:function(r){for(var c=[],d=[r];d.length;){var I=d.pop();c.push(I),d.push.apply(d,I.mounts)}return c},syncfs:function(r,c){typeof r=="function"&&(c=r,r=!1);var d=S.getMounts(S.root.mount),I=0;function z(e){if(e)return z.errored?void 0:(z.errored=!0,c(e));++I>=d.length&&c(null)}d.forEach(function(e){if(!e.type.syncfs)return z(null);e.type.syncfs(e,r,z)})},mount:function(r,c,d){var I=d==="/",z=!d,e;if(I&&S.root)throw new S.ErrnoError(N2.EBUSY);if(!I&&!z){var e1=S.lookupPath(d,{follow_mount:!1});if(d=e1.path,e=e1.node,S.isMountpoint(e))throw new S.ErrnoError(N2.EBUSY);if(!S.isDir(e.mode))throw new S.ErrnoError(N2.ENOTDIR)}var n1={type:r,opts:c,mountpoint:d,mounts:[]},x2=r.mount(n1);return x2.mount=n1,n1.root=x2,I?S.root=x2:e&&(e.mounted=n1,e.mount&&e.mount.mounts.push(n1)),x2},unmount:function(r){var c=S.lookupPath(r,{follow_mount:!1});if(!S.isMountpoint(c.node))throw new S.ErrnoError(N2.EINVAL);var d=c.node,I=d.mounted,z=S.getMounts(I);Object.keys(S.nameTable).forEach(function(e1){for(var n1=S.nameTable[e1];n1;){var x2=n1.name_next;z.indexOf(n1.mount)!==-1&&S.destroyNode(n1),n1=x2}}),d.mounted=null;var e=d.mount.mounts.indexOf(I);G9(e!==-1),d.mount.mounts.splice(e,1)},lookup:function(r,c){return r.node_ops.lookup(r,c)},mknod:function(r,c,d){var I=S.lookupPath(r,{parent:!0}),z=I.node,e=me.basename(r);if(!e||e==="."||e==="..")throw new S.ErrnoError(N2.EINVAL);var e1=S.mayCreate(z,e);if(e1)throw new S.ErrnoError(e1);if(!z.node_ops.mknod)throw new S.ErrnoError(N2.EPERM);return z.node_ops.mknod(z,e,c,d)},create:function(r,c){return c=c!==void 0?c:438,c&=4095,c|=32768,S.mknod(r,c,0)},mkdir:function(r,c){return c=c!==void 0?c:511,c&=1023,c|=16384,S.mknod(r,c,0)},mkdev:function(r,c,d){return typeof d>"u"&&(d=c,c=438),c|=8192,S.mknod(r,c,d)},symlink:function(r,c){if(!me.resolve(r))throw new S.ErrnoError(N2.ENOENT);var d=S.lookupPath(c,{parent:!0}),I=d.node;if(!I)throw new S.ErrnoError(N2.ENOENT);var z=me.basename(c),e=S.mayCreate(I,z);if(e)throw new S.ErrnoError(e);if(!I.node_ops.symlink)throw new S.ErrnoError(N2.EPERM);return I.node_ops.symlink(I,z,r)},rename:function(r,c){var d=me.dirname(r),I=me.dirname(c),z=me.basename(r),e=me.basename(c),e1,n1,x2;try{e1=S.lookupPath(r,{parent:!0}),n1=e1.node,e1=S.lookupPath(c,{parent:!0}),x2=e1.node}catch{throw new S.ErrnoError(N2.EBUSY)}if(!n1||!x2)throw new S.ErrnoError(N2.ENOENT);if(n1.mount!==x2.mount)throw new S.ErrnoError(N2.EXDEV);var o=S.lookupNode(n1,z),c1=me.relative(r,I);if(c1.charAt(0)!==".")throw new S.ErrnoError(N2.EINVAL);if(c1=me.relative(c,d),c1.charAt(0)!==".")throw new S.ErrnoError(N2.ENOTEMPTY);var C;try{C=S.lookupNode(x2,e)}catch{}if(o!==C){var b5=S.isDir(o.mode),w2=S.mayDelete(n1,z,b5);if(w2)throw new S.ErrnoError(w2);if(w2=C?S.mayDelete(x2,e,b5):S.mayCreate(x2,e),w2)throw new S.ErrnoError(w2);if(!n1.node_ops.rename)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(o)||C&&S.isMountpoint(C))throw new S.ErrnoError(N2.EBUSY);if(x2!==n1&&(w2=S.nodePermissions(n1,"w"),w2))throw new S.ErrnoError(w2);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(r,c)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+c+"') threw an exception: "+P5.message)}S.hashRemoveNode(o);try{n1.node_ops.rename(o,x2,e)}catch(P5){throw P5}finally{S.hashAddNode(o)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(r,c)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+c+"') threw an exception: "+P5.message)}}},rmdir:function(r){var c=S.lookupPath(r,{parent:!0}),d=c.node,I=me.basename(r),z=S.lookupNode(d,I),e=S.mayDelete(d,I,!0);if(e)throw new S.ErrnoError(e);if(!d.node_ops.rmdir)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(z))throw new S.ErrnoError(N2.EBUSY);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e1.message)}d.node_ops.rmdir(d,I),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e1.message)}},readdir:function(r){var c=S.lookupPath(r,{follow:!0}),d=c.node;if(!d.node_ops.readdir)throw new S.ErrnoError(N2.ENOTDIR);return d.node_ops.readdir(d)},unlink:function(r){var c=S.lookupPath(r,{parent:!0}),d=c.node,I=me.basename(r),z=S.lookupNode(d,I),e=S.mayDelete(d,I,!1);if(e)throw e===N2.EISDIR&&(e=N2.EPERM),new S.ErrnoError(e);if(!d.node_ops.unlink)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(z))throw new S.ErrnoError(N2.EBUSY);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e1.message)}d.node_ops.unlink(d,I),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e1.message)}},readlink:function(r){var c=S.lookupPath(r),d=c.node;if(!d)throw new S.ErrnoError(N2.ENOENT);if(!d.node_ops.readlink)throw new S.ErrnoError(N2.EINVAL);return me.resolve(S.getPath(c.node.parent),d.node_ops.readlink(d))},stat:function(r,c){var d=S.lookupPath(r,{follow:!c}),I=d.node;if(!I)throw new S.ErrnoError(N2.ENOENT);if(!I.node_ops.getattr)throw new S.ErrnoError(N2.EPERM);return I.node_ops.getattr(I)},lstat:function(r){return S.stat(r,!0)},chmod:function(r,c,d){var I;if(typeof r=="string"){var z=S.lookupPath(r,{follow:!d});I=z.node}else I=r;if(!I.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);I.node_ops.setattr(I,{mode:c&4095|I.mode&-4096,timestamp:Date.now()})},lchmod:function(r,c){S.chmod(r,c,!0)},fchmod:function(r,c){var d=S.getStream(r);if(!d)throw new S.ErrnoError(N2.EBADF);S.chmod(d.node,c)},chown:function(r,c,d,I){var z;if(typeof r=="string"){var e=S.lookupPath(r,{follow:!I});z=e.node}else z=r;if(!z.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);z.node_ops.setattr(z,{timestamp:Date.now()})},lchown:function(r,c,d){S.chown(r,c,d,!0)},fchown:function(r,c,d){var I=S.getStream(r);if(!I)throw new S.ErrnoError(N2.EBADF);S.chown(I.node,c,d)},truncate:function(r,c){if(c<0)throw new S.ErrnoError(N2.EINVAL);var d;if(typeof r=="string"){var I=S.lookupPath(r,{follow:!0});d=I.node}else d=r;if(!d.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);if(S.isDir(d.mode))throw new S.ErrnoError(N2.EISDIR);if(!S.isFile(d.mode))throw new S.ErrnoError(N2.EINVAL);var z=S.nodePermissions(d,"w");if(z)throw new S.ErrnoError(z);d.node_ops.setattr(d,{size:c,timestamp:Date.now()})},ftruncate:function(r,c){var d=S.getStream(r);if(!d)throw new S.ErrnoError(N2.EBADF);if(!(d.flags&2097155))throw new S.ErrnoError(N2.EINVAL);S.truncate(d.node,c)},utime:function(r,c,d){var I=S.lookupPath(r,{follow:!0}),z=I.node;z.node_ops.setattr(z,{timestamp:Math.max(c,d)})},open:function(r,c,d,I,z){if(r==="")throw new S.ErrnoError(N2.ENOENT);c=typeof c=="string"?S.modeStringToFlags(c):c,d=typeof d>"u"?438:d,c&64?d=d&4095|32768:d=0;var e;if(typeof r=="object")e=r;else{r=me.normalize(r);try{var e1=S.lookupPath(r,{follow:!(c&131072)});e=e1.node}catch{}}var n1=!1;if(c&64)if(e){if(c&128)throw new S.ErrnoError(N2.EEXIST)}else e=S.mknod(r,d,0),n1=!0;if(!e)throw new S.ErrnoError(N2.ENOENT);if(S.isChrdev(e.mode)&&(c&=-513),!n1){var x2=S.mayOpen(e,c);if(x2)throw new S.ErrnoError(x2)}c&512&&S.truncate(e,0),c&=-641;var o=S.createStream({node:e,path:S.getPath(e),flags:c,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},I,z);o.stream_ops.open&&o.stream_ops.open(o),n.logReadFiles&&!(c&1)&&(S.readFiles||(S.readFiles={}),r in S.readFiles||(S.readFiles[r]=1,n.printErr("read file: "+r)));try{if(S.trackingDelegate.onOpenFile){var c1=0;(c&2097155)!==1&&(c1|=S.tracking.openFlags.READ),c&2097155&&(c1|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(r,c1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return o},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(c){throw c}finally{S.closeStream(r.fd)}},llseek:function(r,c,d){if(!r.seekable||!r.stream_ops.llseek)throw new S.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,c,d),r.ungotten=[],r.position},read:function(r,c,d,I,z){if(I<0||z<0)throw new S.ErrnoError(N2.EINVAL);if((r.flags&2097155)===1)throw new S.ErrnoError(N2.EBADF);if(S.isDir(r.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!r.stream_ops.read)throw new S.ErrnoError(N2.EINVAL);var e=!0;if(typeof z>"u")z=r.position,e=!1;else if(!r.seekable)throw new S.ErrnoError(N2.ESPIPE);var e1=r.stream_ops.read(r,c,d,I,z);return e||(r.position+=e1),e1},write:function(r,c,d,I,z,e){if(I<0||z<0)throw new S.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(S.isDir(r.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!r.stream_ops.write)throw new S.ErrnoError(N2.EINVAL);r.flags&1024&&S.llseek(r,0,2);var e1=!0;if(typeof z>"u")z=r.position,e1=!1;else if(!r.seekable)throw new S.ErrnoError(N2.ESPIPE);var n1=r.stream_ops.write(r,c,d,I,z,e);e1||(r.position+=n1);try{r.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return n1},allocate:function(r,c,d){if(c<0||d<=0)throw new S.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(!S.isFile(r.node.mode)&&!S.isDir(node.mode))throw new S.ErrnoError(N2.ENODEV);if(!r.stream_ops.allocate)throw new S.ErrnoError(N2.EOPNOTSUPP);r.stream_ops.allocate(r,c,d)},mmap:function(r,c,d,I,z,e,e1){if((r.flags&2097155)===1)throw new S.ErrnoError(N2.EACCES);if(!r.stream_ops.mmap)throw new S.ErrnoError(N2.ENODEV);return r.stream_ops.mmap(r,c,d,I,z,e,e1)},msync:function(r,c,d,I,z){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,c,d,I,z)},munmap:function(r){return 0},ioctl:function(r,c,d){if(!r.stream_ops.ioctl)throw new S.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,c,d)},readFile:function(r,c){if(c=c||{},c.flags=c.flags||"r",c.encoding=c.encoding||"binary",c.encoding!=="utf8"&&c.encoding!=="binary")throw new Error('Invalid encoding type "'+c.encoding+'"');var d,I=S.open(r,c.flags),z=S.stat(r),e=z.size,e1=new Uint8Array(e);return S.read(I,e1,0,e,0),c.encoding==="utf8"?d=Ys(e1,0):c.encoding==="binary"&&(d=e1),S.close(I),d},writeFile:function(r,c,d){if(d=d||{},d.flags=d.flags||"w",d.encoding=d.encoding||"utf8",d.encoding!=="utf8"&&d.encoding!=="binary")throw new Error('Invalid encoding type "'+d.encoding+'"');var I=S.open(r,d.flags,d.mode);if(d.encoding==="utf8"){var z=new Uint8Array(zs(c)+1),e=Un(c,z,0,z.length);S.write(I,z,0,e,0,d.canOwn)}else d.encoding==="binary"&&S.write(I,c,0,c.length,0,d.canOwn);S.close(I)},cwd:function(){return S.currentPath},chdir:function(r){var c=S.lookupPath(r,{follow:!0});if(!S.isDir(c.node.mode))throw new S.ErrnoError(N2.ENOTDIR);var d=S.nodePermissions(c.node,"x");if(d)throw new S.ErrnoError(d);S.currentPath=c.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(d,I,z,e,e1){return e}}),S.mkdev("/dev/null",S.makedev(1,3)),qn.register(S.makedev(5,0),qn.default_tty_ops),qn.register(S.makedev(6,0),qn.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var r;if(typeof crypto<"u"){var c=new Uint8Array(1);r=function(){return crypto.getRandomValues(c),c[0]}}else u?r=void 0:r=function(){return Math.random()*256|0};S.createDevice("/dev","random",r),S.createDevice("/dev","urandom",r),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?S.createDevice("/dev","stdin",n.stdin):S.symlink("/dev/tty","/dev/stdin"),n.stdout?S.createDevice("/dev","stdout",null,n.stdout):S.symlink("/dev/tty","/dev/stdout"),n.stderr?S.createDevice("/dev","stderr",null,n.stderr):S.symlink("/dev/tty1","/dev/stderr");var r=S.open("/dev/stdin","r");Ge[zk>>2]=S.getPtrForStream(r),G9(r.fd===0,"invalid handle for stdin ("+r.fd+")");var c=S.open("/dev/stdout","w");Ge[Kk>>2]=S.getPtrForStream(c),G9(c.fd===1,"invalid handle for stdout ("+c.fd+")");var d=S.open("/dev/stderr","w");Ge[Jk>>2]=S.getPtrForStream(d),G9(d.fd===2,"invalid handle for stderr ("+d.fd+")")},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(c,d){this.node=d,this.setErrno=function(I){this.errno=I;for(var z in N2)if(N2[z]===I){this.code=z;break}},this.setErrno(c),this.message=Yk[c]},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[N2.ENOENT].forEach(function(r){S.genericErrors[r]=new S.ErrnoError(r),S.genericErrors[r].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(Me,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices()},init:function(r,c,d){G9(!S.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)"),S.init.initialized=!0,S.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=c||n.stdout,n.stderr=d||n.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;for(var r=0;rthis.length-1||b5<0)){var w2=b5%this.chunkSize,P5=b5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(b5){this.getter=b5},e.prototype.cacheLength=function(){var b5=new XMLHttpRequest;if(b5.open("HEAD",d,!1),b5.send(null),!(b5.status>=200&&b5.status<300||b5.status===304))throw new Error("Couldn't load "+d+". Status: "+b5.status);var w2=Number(b5.getResponseHeader("Content-length")),P5,Ue=(P5=b5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",We=1024*1024;Ue||(We=w2);var Q9=function(i9,It){if(i9>It)throw new Error("invalid range ("+i9+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var t4=new XMLHttpRequest;if(t4.open("GET",d,!1),w2!==We&&t4.setRequestHeader("Range","bytes="+i9+"-"+It),typeof Uint8Array<"u"&&(t4.responseType="arraybuffer"),t4.overrideMimeType&&t4.overrideMimeType("text/plain; charset=x-user-defined"),t4.send(null),!(t4.status>=200&&t4.status<300||t4.status===304))throw new Error("Couldn't load "+d+". Status: "+t4.status);return t4.response!==void 0?new Uint8Array(t4.response||[]):tn(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(i9){var It=i9*We,t4=(i9+1)*We-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[i9]>"u"&&(Dt.chunks[i9]=Q9(It,t4)),typeof Dt.chunks[i9]>"u")throw new Error("doXHR failed!");return Dt.chunks[i9]}),this._length=w2,this._chunkSize=We,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!f)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var e1=new e;Object.defineProperty(e1,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(e1,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var n1={isDevice:!1,contents:e1}}else var n1={isDevice:!1,url:d};var x2=S.createFile(r,c,n1,I,z);n1.contents?x2.contents=n1.contents:n1.url&&(x2.contents=null,x2.url=n1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var o={},c1=Object.keys(x2.stream_ops);return c1.forEach(function(C){var b5=x2.stream_ops[C];o[C]=function(){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);return b5.apply(null,arguments)}}),o.read=function(b5,w2,P5,Ue,We){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);var Q9=b5.node.contents;if(We>=Q9.length)return 0;var Dt=Math.min(Q9.length-We,Ue);if(G9(Dt>=0),Q9.slice)for(var i9=0;i9=0;I--){var z=r[I];z==="."?r.splice(I,1):z===".."?(r.splice(I,1),d++):d&&(r.splice(I,1),d--)}if(c)for(;d--;d)r.unshift("..");return r},normalize:function(r){var c=r.charAt(0)==="/",d=r.substr(-1)==="/";return r=me.normalizeArray(r.split("/").filter(function(I){return!!I}),!c).join("/"),!r&&!c&&(r="."),r&&d&&(r+="/"),(c?"/":"")+r},dirname:function(r){var c=me.splitPath(r),d=c[0],I=c[1];return!d&&!I?".":(I&&(I=I.substr(0,I.length-1)),d+I)},basename:function(r){if(r==="/")return"/";var c=r.lastIndexOf("/");return c===-1?r:r.substr(c+1)},extname:function(r){return me.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return me.normalize(r.join("/"))},join2:function(r,c){return me.normalize(r+"/"+c)},resolve:function(){for(var r="",c=!1,d=arguments.length-1;d>=-1&&!c;d--){var I=d>=0?arguments[d]:S.cwd();if(typeof I!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!I)return"";r=I+"/"+r,c=I.charAt(0)==="/"}return r=me.normalizeArray(r.split("/").filter(function(z){return!!z}),!c).join("/"),(c?"/":"")+r||"."},relative:function(r,c){r=me.resolve(r).substr(1),c=me.resolve(c).substr(1);function d(o){for(var c1=0;c1=0&&o[C]==="";C--);return c1>C?[]:o.slice(c1,C-c1+1)}for(var I=d(r.split("/")),z=d(c.split("/")),e=Math.min(I.length,z.length),e1=e,n1=0;n10){var n1=Date.now(),x2=K1.mainLoop.queue.shift();if(x2.func(x2.arg),K1.mainLoop.remainingBlockers){var o=K1.mainLoop.remainingBlockers,c1=o%1==0?o-1:Math.floor(o);x2.counted?K1.mainLoop.remainingBlockers=c1:(c1=c1+.5,K1.mainLoop.remainingBlockers=(8*o+c1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-n1)+" ms"),K1.mainLoop.updateStatus(),setTimeout(K1.mainLoop.runner,0);return}if(!(e1&&K1.mainLoop.currentFrameNumber%K1.mainLoop.timingValue!=0){K1.mainLoop.scheduler();return}K1.mainLoop.method==="timeout"&&n.ctx&&(n.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!"),K1.mainLoop.method=""),K1.mainLoop.runIter(function(){typeof I<"u"?w.dynCall("vi",r,[I]):w.dynCall("v",r)}),!(e0?nE(0,1e3/c):nE(1,1),K1.mainLoop.scheduler()),d)throw"SimulateInfiniteLoop"}var K1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){K1.mainLoop.scheduler=null,K1.mainLoop.currentlyRunningMainloop++},resume:function(){K1.mainLoop.currentlyRunningMainloop++;var r=K1.mainLoop.timingMode,c=K1.mainLoop.timingValue,d=K1.mainLoop.func;K1.mainLoop.func=null,zB(d,0,!1,K1.mainLoop.arg,!0),nE(r,c),K1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",c=K1.mainLoop.remainingBlockers,d=K1.mainLoop.expectedBlockers;c?c"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,e1,n1,x2){var o=null;if(K1.hasBlobConstructor)try{o=new Blob([e],{type:K1.getMimetype(e1)}),o.size!==e.length&&(o=new Blob([new Uint8Array(e).buffer],{type:K1.getMimetype(e1)}))}catch(w2){w.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!o){var c1=new K1.BlobBuilder;c1.append(new Uint8Array(e).buffer),o=c1.getBlob()}var C=K1.URLObject.createObjectURL(o),b5=new Image;b5.onload=function(){G9(b5.complete,"Image "+e1+" could not be decoded");var P5=document.createElement("canvas");P5.width=b5.width,P5.height=b5.height;var Ue=P5.getContext("2d");Ue.drawImage(b5,0,0),n.preloadedImages[e1]=P5,K1.URLObject.revokeObjectURL(C),n1&&n1(e)},b5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},b5.src=C},n.preloadPlugins.push(r);var c={};c.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},c.handle=function(e,e1,n1,x2){var o=!1;function c1(Ue){o||(o=!0,n.preloadedAudios[e1]=Ue,n1&&n1(e))}function C(){o||(o=!0,n.preloadedAudios[e1]=new Audio,x2&&x2())}if(K1.hasBlobConstructor){try{var b5=new Blob([e],{type:K1.getMimetype(e1)})}catch{return C()}var w2=K1.URLObject.createObjectURL(b5),P5=new Audio;P5.addEventListener("canplaythrough",function(){c1(P5)},!1),P5.onerror=function(We){if(o)return;console.log("warning: browser could not fully decode audio "+e1+", trying slower base64 approach");function Q9(Dt){for(var i9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",z7=0,K7=0,vr=0;vr=6;){var al=z7>>K7-6&63;K7-=6,t4+=i9[al]}return K7==2?(t4+=i9[(z7&3)<<4],t4+=It+It):K7==4&&(t4+=i9[(z7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+e1.substr(-3)+";base64,"+Q9(e),c1(P5)},P5.src=w2,K1.safeSetTimeout(function(){c1(P5)},1e4)}else return C()},n.preloadPlugins.push(c);var d=n.canvas;function I(){K1.pointerLock=document.pointerLockElement===d||document.mozPointerLockElement===d||document.webkitPointerLockElement===d||document.msPointerLockElement===d}d&&(d.requestPointerLock=d.requestPointerLock||d.mozRequestPointerLock||d.webkitRequestPointerLock||d.msRequestPointerLock||function(){},d.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},d.exitPointerLock=d.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",I,!1),document.addEventListener("mozpointerlockchange",I,!1),document.addEventListener("webkitpointerlockchange",I,!1),document.addEventListener("mspointerlockchange",I,!1),n.elementPointerLock&&d.addEventListener("click",function(z){!K1.pointerLock&&d.requestPointerLock&&(d.requestPointerLock(),z.preventDefault())},!1))},createContext:function(r,c,d,I){if(c&&n.ctx&&r==n.canvas)return n.ctx;var z,e;if(c){var e1={antialias:!1,alpha:!1};if(I)for(var n1 in I)e1[n1]=I[n1];e=GL.createContext(r,e1),e&&(z=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else z=r.getContext("2d");return z?(d&&(c||G9(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=z,c&&GL.makeContextCurrent(e),n.useWebGL=c,K1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),K1.init()),z):null},destroyContext:function(r,c,d){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,c,d){K1.lockPointer=r,K1.resizeCanvas=c,K1.vrDevice=d,typeof K1.lockPointer>"u"&&(K1.lockPointer=!0),typeof K1.resizeCanvas>"u"&&(K1.resizeCanvas=!1),typeof K1.vrDevice>"u"&&(K1.vrDevice=null);var I=n.canvas;function z(){K1.isFullScreen=!1;var e1=I.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e1?(I.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},I.cancelFullScreen=I.cancelFullScreen.bind(document),K1.lockPointer&&I.requestPointerLock(),K1.isFullScreen=!0,K1.resizeCanvas&&K1.setFullScreenCanvasSize()):(e1.parentNode.insertBefore(I,e1),e1.parentNode.removeChild(e1),K1.resizeCanvas&&K1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(K1.isFullScreen),K1.updateCanvasDimensions(I)}K1.fullScreenHandlersInstalled||(K1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",z,!1),document.addEventListener("mozfullscreenchange",z,!1),document.addEventListener("webkitfullscreenchange",z,!1),document.addEventListener("MSFullscreenChange",z,!1));var e=document.createElement("div");I.parentNode.insertBefore(e,I),e.appendChild(I),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),d?e.requestFullScreen({vrDisplay:d}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var c=Date.now();if(K1.nextRAF===0)K1.nextRAF=c+1e3/60;else for(;c+2>=K1.nextRAF;)K1.nextRAF+=1e3/60;var d=Math.max(K1.nextRAF-c,0);setTimeout(r,d)},requestAnimationFrame:function(c){typeof window>"u"?K1.fakeRequestAnimationFrame(c):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||K1.fakeRequestAnimationFrame),window.requestAnimationFrame(c))},safeCallback:function(r){return function(){if(!P)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){K1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(K1.allowAsyncCallbacks=!0,K1.queuedAsyncCallbacks.length>0){var r=K1.queuedAsyncCallbacks;K1.queuedAsyncCallbacks=[],r.forEach(function(c){c()})}},safeRequestAnimationFrame:function(r){return K1.requestAnimationFrame(function(){P||(K1.allowAsyncCallbacks?r():K1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,c){return n.noExitRuntime=!0,setTimeout(function(){P||(K1.allowAsyncCallbacks?r():K1.queuedAsyncCallbacks.push(r))},c)},safeSetInterval:function(r,c){return n.noExitRuntime=!0,setInterval(function(){P||K1.allowAsyncCallbacks&&r()},c)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var c=0;switch(r.type){case"DOMMouseScroll":c=r.detail;break;case"mousewheel":c=r.wheelDelta;break;case"wheel":c=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return c},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(K1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?K1.mouseMovementX=K1.mouseMovementY=0:(K1.mouseMovementX=K1.getMovementX(r),K1.mouseMovementY=K1.getMovementY(r)),typeof SDL<"u"?(K1.mouseX=SDL.mouseX+K1.mouseMovementX,K1.mouseY=SDL.mouseY+K1.mouseMovementY):(K1.mouseX+=K1.mouseMovementX,K1.mouseY+=K1.mouseMovementY);else{var c=n.canvas.getBoundingClientRect(),d=n.canvas.width,I=n.canvas.height,z=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var e1=r.touch;if(e1===void 0)return;var n1=e1.pageX-(z+c.left),x2=e1.pageY-(e+c.top);n1=n1*(d/c.width),x2=x2*(I/c.height);var o={x:n1,y:x2};if(r.type==="touchstart")K1.lastTouches[e1.identifier]=o,K1.touches[e1.identifier]=o;else if(r.type==="touchend"||r.type==="touchmove"){var c1=K1.touches[e1.identifier];c1||(c1=o),K1.lastTouches[e1.identifier]=c1,K1.touches[e1.identifier]=o}return}var C=r.pageX-(z+c.left),b5=r.pageY-(e+c.top);C=C*(d/c.width),b5=b5*(I/c.height),K1.mouseMovementX=C-K1.mouseX,K1.mouseMovementY=b5-K1.mouseY,K1.mouseX=C,K1.mouseY=b5}},xhrLoad:function(r,c,d){var I=new XMLHttpRequest;I.open("GET",r,!0),I.responseType="arraybuffer",I.onload=function(){I.status==200||I.status==0&&I.response?c(I.response):d()},I.onerror=d,I.send(null)},asyncLoad:function(r,c,d,I){K1.xhrLoad(r,function(z){G9(z,'Loading data file "'+r+'" failed (no arrayBuffer).'),c(new Uint8Array(z)),I||Qr("al "+r)},function(z){if(d)d();else throw'Loading data file "'+r+'" failed.'}),I||On("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;K1.resizeListeners.forEach(function(c){c(r.width,r.height)})},setCanvasSize:function(r,c,d){var I=n.canvas;K1.updateCanvasDimensions(I,r,c),d||K1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=nl[SDL.screen+w.QUANTUM_SIZE*0>>2];r=r|8388608,Ge[SDL.screen+w.QUANTUM_SIZE*0>>2]=r}K1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=nl[SDL.screen+w.QUANTUM_SIZE*0>>2];r=r&-8388609,Ge[SDL.screen+w.QUANTUM_SIZE*0>>2]=r}K1.updateResizeListeners()},updateCanvasDimensions:function(r,c,d){c&&d?(r.widthNative=c,r.heightNative=d):(c=r.widthNative,d=r.heightNative);var I=c,z=d;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(I/z>2]=c),c}function lS(){n.printErr("missing function: floor0_exportbundle"),eo(-1)}if(js=w.staticAlloc(4),Ge[js>>2]=0,n.requestFullScreen=function(c,d,I){K1.requestFullScreen(c,d,I)},n.requestAnimationFrame=function(c){K1.requestAnimationFrame(c)},n.setCanvasSize=function(c,d,I){K1.setCanvasSize(c,d,I)},n.pauseMainLoop=function(){K1.mainLoop.pause()},n.resumeMainLoop=function(){K1.mainLoop.resume()},n.getUserMedia=function(){K1.getUserMedia()},n.createContext=function(c,d,I,z){return K1.createContext(c,d,I,z)},S.staticInit(),j$.unshift(function(){!n.noFSInit&&!S.init.initialized&&S.init()}),Lu.push(function(){S.ignorePermissions=!1}),X$.push(function(){S.quit()}),n.FS_createFolder=S.createFolder,n.FS_createPath=S.createPath,n.FS_createDataFile=S.createDataFile,n.FS_createPreloadedFile=S.createPreloadedFile,n.FS_createLazyFile=S.createLazyFile,n.FS_createLink=S.createLink,n.FS_createDevice=S.createDevice,j$.unshift(function(){qn.init()}),X$.push(function(){qn.shutdown()}),u)var D8=void 0,JB=void 0;xu=S7=w.alignMemory(Xr),K$=!0,J$=xu+Xp,W$=O7=w.alignMemory(J$),G9(W$>0]=I[t>>0],I[w2+1>>0]=I[t+1>>0],I[w2+2>>0]=I[t+2>>0],I[w2+3>>0]=I[t+3>>0]}function ax(t){t=t|0,I[w2>>0]=I[t>>0],I[w2+1>>0]=I[t+1>>0],I[w2+2>>0]=I[t+2>>0],I[w2+3>>0]=I[t+3>>0],I[w2+4>>0]=I[t+4>>0],I[w2+5>>0]=I[t+5>>0],I[w2+6>>0]=I[t+6>>0],I[w2+7>>0]=I[t+7>>0]}function HS(t){t=t|0,Z6=t}function VS(){return Z6|0}function xC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0;p=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,s=Re(256)|0,A=t+8|0,e[A>>2]=s,$=t+12|0,e[$>>2]=s,I[s>>0]=0,g=t+16|0,e[g>>2]=256}function YS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;M=C,A=s>>3,$=t+12|0,B=e[$>>2]|0,b=(B|0)==0,!b&&(D=A<<3,k=s-D|0,v=t+8|0,_=e[v>>2]|0,Q=_+A|0,e[$>>2]=Q,L=t+4|0,e[L>>2]=k,e[t>>2]=A,g=8+(k<<2)|0,h=e[g>>2]|0,p=I[Q>>0]|0,m=p&255,E=m&h,y=E&255,I[Q>>0]=y)}function H2(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;Y0=C,h=A>>>0>32;do if(!h){if(p=e[t>>2]|0,L=t+16|0,A0=e[L>>2]|0,c0=A0+-4|0,b0=(p|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,b0)q=g;else{if(G0=(g|0)==0,G0)return;if(J0=(A0|0)>2147483391,J0||(V0=t+8|0,j0=e[V0>>2]|0,m=A0+256|0,E=W7(j0,m)|0,y=(E|0)==0,y))break;e[V0>>2]=E,B=e[L>>2]|0,b=B+256|0,e[L>>2]=b,D=e[t>>2]|0,k=E+D|0,e[$>>2]=k,q=k}v=8+(A<<2)|0,_=e[v>>2]|0,Q=_&s,R=t+4|0,M=e[R>>2]|0,T=M+A|0,G=Q<>0]|0,V=O&255,K=V|G,t0=K&255,I[q>>0]=t0,Z=(T|0)>7;do if(Z&&(j=e[R>>2]|0,r0=8-j|0,o0=Q>>>r0,J=o0&255,s0=e[$>>2]|0,Y=s0+1|0,I[Y>>0]=J,h0=(T|0)>15,h0&&(i0=e[R>>2]|0,e0=16-i0|0,d0=Q>>>e0,$0=d0&255,l0=e[$>>2]|0,X=l0+2|0,I[X>>0]=$0,m0=(T|0)>23,m0&&(g0=e[R>>2]|0,I0=24-g0|0,n0=Q>>>I0,f0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,I[C0>>0]=f0,y0=(T|0)>31,y0))))if(D0=e[R>>2]|0,E0=(D0|0)==0,E0){R0=e[$>>2]|0,v0=R0+4|0,I[v0>>0]=0;break}else{Q0=32-D0|0,w0=Q>>>Q0,B0=w0&255,x0=e[$>>2]|0,Z0=x0+4|0,I[Z0>>0]=B0;break}while(!1);U0=(T|0)/8&-1,O0=e[t>>2]|0,H0=O0+U0|0,e[t>>2]=H0,k0=e[$>>2]|0,K0=k0+U0|0,e[$>>2]=K0,N0=T&7,e[R>>2]=N0;return}while(!1);M0=t+8|0,P0=e[M0>>2]|0,W0=(P0|0)==0,W0||E2(P0),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 LC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0;h=C,s=t+8|0,A=e[s>>2]|0,$=(A|0)==0,$||E2(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 mi(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0;y=C,s=t+12|0,A=e[s>>2]|0,$=(A|0)==0,!$&&(g=t+8|0,h=e[g>>2]|0,e[s>>2]=h,p=h,I[p>>0]=0,e[t>>2]=0,m=t+4|0,e[m>>2]=0)}function MC(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,$=s>>>0>32,$)return A=-1,A|0;if(g=8+(s<<2)|0,_=e[g>>2]|0,t0=t+4|0,e0=e[t0>>2]|0,p0=e0+s|0,b0=e[t>>2]|0,y0=t+16|0,D0=e[y0>>2]|0,E0=D0+-4|0,h=(b0|0)<(E0|0),!h){if(p=p0+7|0,m=p>>3,E=D0-m|0,y=(b0|0)>(E|0),y)return A=-1,A|0;if(B=(p0|0)==0,B)return A=0,A|0}return b=t+12|0,D=e[b>>2]|0,k=I[D>>0]|0,v=k&255,Q=v>>>e0,L=(p0|0)>8,L?(R=D+1|0,M=I[R>>0]|0,T=M&255,G=8-e0|0,O=T<16,V?(K=D+2|0,Z=I[K>>0]|0,A0=Z&255,j=16-e0|0,r0=A0<24,J?(s0=D+3|0,Y=I[s0>>0]|0,h0=Y&255,i0=24-e0|0,d0=h0<>0]|0,g0=m0&255,I0=32-e0|0,n0=g0<>2]|0,b=$+s|0,D=e[t>>2]|0,k=t+16|0,v=e[k>>2]|0,_=b+7|0,Q=_>>3,L=v-Q|0,R=(D|0)>(L|0),R){B=t+12|0,e[B>>2]=0,e[t>>2]=v,M=1,e[A>>2]=M;return}else{g=(b|0)/8&-1,h=t+12|0,p=e[h>>2]|0,m=p+g|0,e[h>>2]=m,E=D+g|0,e[t>>2]=E,y=b&7,M=y,e[A>>2]=M;return}}function r4(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0;M0=C,E=s>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,m=t+4|0,h=t,p=m,v0=g;else{if(y=8+(s<<2)|0,T=e[y>>2]|0,o0=t+4|0,X=e[o0>>2]|0,E0=X+s|0,G0=e[t>>2]|0,U0=t+16|0,O0=e[U0>>2]|0,H0=O0+-4|0,B=(G0|0)<(H0|0),!B){if(b=E0+7|0,D=b>>3,k=O0-D|0,v=(G0|0)>(k|0),v){h=t,p=o0,v0=O0;break}if(_=(E0|0)==0,_)return A=0,A|0}return Q=t+12|0,L=e[Q>>2]|0,R=I[L>>0]|0,M=R&255,G=M>>>X,O=(E0|0)>8,O?(q=L+1|0,V=I[q>>0]|0,K=V&255,t0=8-X|0,Z=K<16,j?(r0=L+2|0,J=I[r0>>0]|0,s0=J&255,Y=16-X|0,h0=s0<24,e0?(d0=L+3|0,c0=I[d0>>0]|0,$0=c0&255,l0=24-X|0,m0=$0<>0]|0,C0=p0&255,b0=32-X|0,y0=C0<>2]=B0,x0=G0+w0|0,e[t>>2]=x0,Z0=E0&7,e[o0>>2]=Z0,A=Q0,A|0}while(!1);return R0=t+12|0,e[R0>>2]=0,e[h>>2]=v0,e[p>>2]=1,A=-1,A|0}function _8(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0;return E=C,s=e[t>>2]|0,A=t+4|0,$=e[A>>2]|0,g=$+7|0,h=(g|0)/8&-1,p=h+s|0,p|0}function yy(t){t=t|0;var s=0,A=0,$=0,g=0;return g=C,s=t+8|0,A=e[s>>2]|0,A|0}function zS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0;if(O=C,g=(t|0)==0,g)return A=-1,A|0;g4(t|0,0,360)|0,h=t+4|0,e[h>>2]=16384,D=t+24|0,e[D>>2]=1024,k=Re(16384)|0,e[t>>2]=k,v=Re(4096)|0,_=t+16|0,e[_>>2]=v,Q=Re(8192)|0,L=t+20|0,e[L>>2]=Q,R=(k|0)==0;do if(R)m=v;else{if(M=(v|0)==0,p=(Q|0)==0,T=p|M,T){E2(k),$=e[_>>2]|0,m=$;break}return b=t+336|0,e[b>>2]=s,A=0,A|0}while(!1);return E=(m|0)==0,E||E2(m),y=e[L>>2]|0,B=(y|0)==0,B||E2(y),g4(t|0,0,360)|0,A=-1,A|0}function KS(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0;return b=C,s=(t|0)==0,s||(A=e[t>>2]|0,$=(A|0)==0,$||E2(A),g=t+16|0,h=e[g>>2]|0,p=(h|0)==0,p||E2(h),m=t+20|0,E=e[m>>2]|0,y=(E|0)==0,y||E2(E),g4(t|0,0,360)|0),0}function JS(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0;if(O0=C,s=(t|0)==0,!s){if(A=e[t>>2]|0,k=A+22|0,I[k>>0]=0,V=e[t>>2]|0,h0=V+23|0,I[h0>>0]=0,n0=e[t>>2]|0,D0=n0+24|0,I[D0>>0]=0,E0=e[t>>2]|0,Q0=E0+25|0,I[Q0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(h=e[t>>2]|0,x0=0,v0=0;;)if(b=x0<<8,D=x0>>>24,v=h+v0|0,_=I[v>>0]|0,Q=_&255,L=Q^D,R=144+(L<<2)|0,M=e[R>>2]|0,T=M^b,G=v0+1|0,O=(G|0)<($|0),O)x0=T,v0=G;else{B0=T;break}else B0=0;if(p=t+12|0,m=e[p>>2]|0,E=(m|0)>0,E)for(y=t+8|0,B=e[y>>2]|0,R0=B0,G0=0;;)if(q=R0<<8,K=R0>>>24,t0=B+G0|0,Z=I[t0>>0]|0,A0=Z&255,j=A0^K,r0=144+(j<<2)|0,o0=e[r0>>2]|0,J=o0^q,s0=G0+1|0,Y=(s0|0)<(m|0),Y)R0=J,G0=s0;else{Z0=J;break}else Z0=B0;i0=Z0&255,e0=e[t>>2]|0,d0=e0+22|0,I[d0>>0]=i0,c0=Z0>>>8,$0=c0&255,l0=e[t>>2]|0,X=l0+23|0,I[X>>0]=$0,m0=Z0>>>16,g0=m0&255,I0=e[t>>2]|0,f0=I0+24|0,I[f0>>0]=g0,p0=Z0>>>24,C0=p0&255,b0=e[t>>2]|0,y0=b0+25|0,I[y0>>0]=C0}}function WS(t,s,A,$,g,h){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(x0=e[t>>2]|0,M0=(x0|0)==0,M0))return m=-1,m|0;if(L0=(s|0)==0,L0)return m=0,m|0;X0=(A|0)>0;e:do if(X0){for(m2=0,k2=0;;){if(b1=(s+(k2<<3)|0)+4|0,H1=e[b1>>2]|0,A2=(H1|0)<0,v=2147483647-H1|0,K=(m2|0)>(v|0),G2=A2|K,G2){m=-1;break}if(i0=H1+m2|0,c0=k2+1|0,$0=(c0|0)<(A|0),$0)m2=i0,k2=c0;else{a2=i0;break e}}return m|0}else a2=0;while(!1);l0=(a2|0)/255&-1,X=l0+1|0,m0=t+12|0,g0=e[m0>>2]|0,I0=(g0|0)==0,k=t+8|0,I0||(f0=e[k>>2]|0,p0=f0-g0|0,e[k>>2]=p0,C0=(f0|0)==(g0|0),C0||(b0=x0+g0|0,lA(x0|0,b0|0,p0|0)|0),e[m0>>2]=0),y0=t+4|0,D0=e[y0>>2]|0,E0=D0-a2|0,Q0=e[k>>2]|0,w0=(E0|0)>(Q0|0);do if(!w0){if(B0=2147483647-a2|0,Z0=(D0|0)>(B0|0),Z0)return R0=e[t>>2]|0,v0=(R0|0)==0,v0||E2(R0),G0=t+16|0,U0=e[G0>>2]|0,O0=(U0|0)==0,O0||E2(U0),H0=t+20|0,k0=e[H0>>2]|0,K0=(k0|0)==0,K0||E2(k0),g4(t|0,0,360)|0,m=-1,m|0;if(N0=D0+a2|0,P0=(N0|0)<2147482623,W0=N0+1024|0,p=P0?W0:N0,J0=e[t>>2]|0,V0=W7(J0,p)|0,j0=(V0|0)==0,!j0){e[y0>>2]=p,e[t>>2]=V0;break}return q0=e[t>>2]|0,Y0=(q0|0)==0,Y0||E2(q0),o1=t+16|0,z0=e[o1>>2]|0,r1=(z0|0)==0,r1||E2(z0),s1=t+20|0,h1=e[s1>>2]|0,u1=(h1|0)==0,u1||E2(h1),g4(t|0,0,360)|0,m=-1,m|0}while(!1);if(E1=ZS(t,X)|0,f1=(E1|0)==0,!f1)return m=-1,m|0;if(X0)for(y=e[k>>2]|0,k1=y,D2=0;y1=e[t>>2]|0,v1=y1+k1|0,S1=s+(D2<<3)|0,L1=e[S1>>2]|0,M1=(s+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,g9(v1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[k>>2]|0,P1=F1+R1|0,e[k>>2]=P1,D1=D2+1|0,r2=(D1|0)==(A|0),!r2;)k1=P1,D2=D1;if(d1=(a2|0)>254,A1=t+28|0,g1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,d1){for(B1=t+352|0,p1=t+20|0,Q1=e[p1>>2]|0,C1=(l0|0)>1,y2=0;O1=g1+y2|0,X1=$1+(O1<<2)|0,e[X1>>2]=255,G1=B1,x1=G1,J1=e[x1>>2]|0,V1=G1+4|0,Y1=V1,z1=e[Y1>>2]|0,t2=Q1+(O1<<3)|0,o2=t2,e2=o2,e[e2>>2]=J1,q1=o2+4|0,d2=q1,e[d2>>2]=z1,Z1=y2+1|0,I2=(Z1|0)<(l0|0),I2;)y2=Z1;M2=C1?l0:1,B=B1,g2=Q1,S2=M2}else E=t+20|0,b=e[E>>2]|0,D=t+352|0,B=D,g2=b,S2=0;return C2=(a2|0)%255&-1,$2=g1+S2|0,W1=$1+($2<<2)|0,e[W1>>2]=C2,f2=g2+($2<<3)|0,n2=f2,u2=n2,e[u2>>2]=g,s2=n2+4|0,l2=s2,e[l2>>2]=h,i2=B,_=i2,e[_>>2]=g,Q=i2+4|0,L=Q,e[L>>2]=h,R=$1+(g1<<2)|0,M=e[R>>2]|0,T=M|256,e[R>>2]=T,G=g1+X|0,e[A1>>2]=G,O=t+344|0,q=O,V=q,t0=e[V>>2]|0,Z=q+4|0,A0=Z,j=e[A0>>2]|0,r0=ro(t0|0,j|0,1,0)|0,o0=Z6,J=O,s0=J,e[s0>>2]=r0,Y=J+4|0,h0=Y,e[h0>>2]=o0,e0=($|0)==0,e0?(m=0,m|0):(d0=t+328|0,e[d0>>2]=1,m=0,m|0)}function $E(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0;return R=C,C=C+16|0,Q=R,A=e[s>>2]|0,e[Q>>2]=A,$=s+4|0,E=e[$>>2]|0,y=Q+4|0,e[y>>2]=E,B=s+12|0,b=e[B>>2]|0,D=s+16|0,k=D,v=k,_=e[v>>2]|0,g=k+4|0,h=g,p=e[h>>2]|0,m=WS(t,Q,1,b,_,p)|0,C=R,m|0}function Qy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0;return g=C,A=vy(t,s,1,4096)|0,A|0}function wy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0;return R=C,h=(t|0)==0,h||(p=e[t>>2]|0,m=(p|0)==0,m)?(A=0,A|0):(E=t+328|0,y=e[E>>2]|0,B=(y|0)==0,$=t+28|0,g=e[$>>2]|0,Q=(g|0)==0,B?Q?_=0:(b=t+332|0,D=e[b>>2]|0,k=(D|0)==0,k?L=7:_=0):Q?_=0:L=7,(L|0)==7&&(_=1),v=vy(t,s,_,4096)|0,A=v,A|0)}function ZS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0;return f0=C,g=t+24|0,h=e[g>>2]|0,Q=h-s|0,Z=t+28|0,d0=e[Z>>2]|0,l0=(Q|0)>(d0|0),l0?($=0,$|0):(X=2147483647-s|0,m0=(h|0)>(X|0),m0?(g0=e[t>>2]|0,I0=(g0|0)==0,I0||E2(g0),p=t+16|0,m=e[p>>2]|0,E=(m|0)==0,E||E2(m),y=t+20|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),g4(t|0,0,360)|0,$=-1,$|0):(D=h+s|0,k=(D|0)<2147483615,v=D+32|0,A=k?v:D,_=t+16|0,L=e[_>>2]|0,R=A<<2,M=W7(L,R)|0,T=(M|0)==0,T?(G=e[t>>2]|0,O=(G|0)==0,O||E2(G),q=e[_>>2]|0,V=(q|0)==0,V||E2(q),K=t+20|0,t0=e[K>>2]|0,A0=(t0|0)==0,A0||E2(t0),g4(t|0,0,360)|0,$=-1,$|0):(e[_>>2]=M,j=t+20|0,r0=e[j>>2]|0,o0=A<<3,J=W7(r0,o0)|0,s0=(J|0)==0,s0?(Y=e[t>>2]|0,h0=(Y|0)==0,h0||E2(Y),i0=e[_>>2]|0,e0=(i0|0)==0,e0||E2(i0),c0=e[j>>2]|0,$0=(c0|0)==0,$0||E2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[j>>2]=J,e[g>>2]=A,$=0,$|0))))}function vy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0;if(D5=C,Q=t+28|0,L=e[Q>>2]|0,h1=(L|0)>255,g=h1?255:L,p1=(t|0)==0,p1||(R1=e[t>>2]|0,Y1=(R1|0)==0,$2=(g|0)==0,_3=$2|Y1,_3))return h=0,h|0;r2=t+332|0,K2=e[r2>>2]|0,j2=(K2|0)==0;e:do if(j2)for(y0=t+16|0,g3=0;;){if(U0=(g3|0)<(g|0),!U0){m=A,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,K5=g3,Y5=14;break e}if(j0=e[y0>>2]|0,z0=j0+(g3<<2)|0,r1=e[z0>>2]|0,L0=r1&255,s1=(L0|0)==255,u1=g3+1|0,s1)g3=u1;else{m=A,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,K5=u1,Y5=14;break}}else if(R=(g|0)>0,R){for(j=t+16|0,$0=t+20|0,Q5=0,x5=-1,h5=-1,l5=-1,X2=-1,h2=-1,v5=-1,r5=-1,a5=-1,t3=0,G3=0,Q3=0;;){if(E1=(Q5|0)>($|0),f1=(t3|0)>3,V3=E1&f1,V3){p=1,q5=x5,R5=h5,z2=l5,C5=X2,$5=h2,d5=v5,w5=r5,T1=a5,u3=Q3;break}if(d1=e[j>>2]|0,A1=d1+(Q3<<2)|0,g1=e[A1>>2]|0,a1=g1&255,$1=a1+Q5|0,X0=(a1|0)==255,X0?(f5=x5,J2=h5,I5=l5,n5=X2,F5=h2,e5=v5,c5=r5,T2=a5,a6=0,Y3=G3):(B1=e[$0>>2]|0,Q1=B1+(Q3<<3)|0,C1=Q1,y1=C1,v1=e[y1>>2]|0,k1=C1+4|0,S1=k1,L1=e[S1>>2]|0,M1=G3+1|0,b1=v1&255,_1=no(v1|0,L1|0,8)|0,F1=Z6,P1=_1&255,D1=no(v1|0,L1|0,16)|0,O1=Z6,X1=D1&255,G1=no(v1|0,L1|0,24)|0,x1=Z6,J1=G1&255,H1=L1&255,V1=no(v1|0,L1|0,40)|0,z1=Z6,t2=V1&255,o2=no(v1|0,L1|0,48)|0,e2=Z6,q1=o2&255,d2=no(v1|0,L1|0,56)|0,Z1=Z6,I2=d2&255,f5=b1,J2=X1,I5=J1,n5=H1,F5=t2,e5=q1,c5=I2,T2=P1,a6=M1,Y3=M1),A2=Q3+1|0,C2=(A2|0)<(g|0),C2)Q5=$1,x5=f5,h5=J2,l5=I5,X2=n5,h2=F5,v5=e5,r5=c5,a5=T2,t3=a6,G3=Y3,Q3=A2;else{p=A,q5=f5,R5=J2,z2=I5,C5=n5,$5=F5,d5=e5,w5=c5,T1=T2,u3=A2;break}}W1=(u3|0)==255,W1?(a3=q5,y3=R5,G5=z2,Z5=C5,x3=$5,f3=d5,w3=w5,e6=T1,H5=255):(m=p,k5=q5,z5=R5,i3=z2,B5=C5,I3=$5,h3=d5,W5=w5,r3=T1,K5=u3,Y5=14)}else m=A,k5=-1,z5=-1,i3=-1,B5=-1,I3=-1,h3=-1,W5=-1,r3=-1,K5=0,Y5=14;while(!1);if((Y5|0)==14){if(f2=(m|0)==0,f2)return h=0,h|0;a3=k5,y3=z5,G5=i3,Z5=B5,x3=I3,f3=h3,w3=W5,e6=r3,H5=K5}if(g2=t+40|0,I[g2>>0]=79,I[g2+1>>0]=103,I[g2+2>>0]=103,I[g2+3>>0]=83,n2=t+44|0,I[n2>>0]=0,u2=t+45|0,I[u2>>0]=0,s2=t+16|0,l2=e[s2>>2]|0,i2=e[l2>>2]|0,a2=i2>>>8,b=a2&1,m2=b^1,k2=m2|2,E=j2?k2:m2,c3=E&255,I[u2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,y2=(S2|0)!=0,G2=(L|0)==(H5|0),X5=y2&G2,X5&&(y=j2?k2:m2,M2=y|4,O2=M2&255,I[u2>>0]=O2),e[r2>>2]=1,p2=t+46|0,I[p2>>0]=a3,W2=t+47|0,I[W2>>0]=e6,q2=t+48|0,I[q2>>0]=y3,U2=t+49|0,I[U2>>0]=G5,V2=t+50|0,I[V2>>0]=Z5,Z2=t+51|0,I[Z2>>0]=x3,A5=t+52|0,I[A5>>0]=f3,Y2=t+53|0,I[Y2>>0]=w3,N1=t+336|0,t5=e[N1>>2]|0,T5=t5&255,i5=t+54|0,I[i5>>0]=T5,L5=t5>>>8,p5=L5&255,_5=t+55|0,I[_5>>0]=p5,V5=t5>>>16,u5=V5&255,b2=t+56|0,I[b2>>0]=u5,y5=t5>>>24,o5=y5&255,F2=t+57|0,I[F2>>0]=o5,R2=t+340|0,Q2=e[R2>>2]|0,M=(Q2|0)==-1,M?(e[R2>>2]=0,G=0):G=Q2,T=G+1|0,e[R2>>2]=T,O=G&255,q=t+58|0,I[q>>0]=O,V=G>>>8,K=V&255,t0=t+59|0,I[t0>>0]=K,Z=G>>>16,A0=Z&255,r0=t+60|0,I[r0>>0]=A0,o0=G>>>24,J=o0&255,s0=t+61|0,I[s0>>0]=J,Y=t+62|0,h0=H5&255,i0=t+66|0,I[Y>>0]=0,I[Y+1>>0]=0,I[Y+2>>0]=0,I[Y+3>>0]=0,I[i0>>0]=h0,e0=(H5|0)>0,e0){if(d0=e[l2>>2]|0,c0=d0&255,l0=t+67|0,I[l0>>0]=c0,X=d0&255,M5=(H5|0)==1,M5)B=X;else for(g0=1,D0=X;;)if(D=e[s2>>2]|0,m0=D+(g0<<2)|0,I0=e[m0>>2]|0,n0=I0&255,f0=g0+27|0,p0=(t+40|0)+f0|0,I[p0>>0]=n0,C0=I0&255,b0=C0+D0|0,E0=g0+1|0,E5=(E0|0)==(H5|0),E5){B=b0;break}else g0=E0,D0=b0;k=e[t>>2]|0,v=e[Q>>2]|0,_=e[s2>>2]|0,v0=k,k0=v,N0=_,N5=B}else v0=R1,k0=L,N0=l2,N5=0;return e[s>>2]=g2,Q0=H5+27|0,w0=t+324|0,e[w0>>2]=Q0,B0=s+4|0,e[B0>>2]=Q0,x0=t+12|0,Z0=e[x0>>2]|0,R0=v0+Z0|0,G0=s+8|0,e[G0>>2]=R0,O0=s+12|0,e[O0>>2]=N5,H0=k0-H5|0,e[Q>>2]=H0,K0=N0+(H5<<2)|0,M0=H0<<2,lA(N0|0,K0|0,M0|0)|0,P0=t+20|0,W0=e[P0>>2]|0,J0=W0+(H5<<3)|0,V0=e[Q>>2]|0,q0=V0<<3,lA(W0|0,J0|0,q0|0)|0,Y0=e[x0>>2]|0,o1=Y0+N5|0,e[x0>>2]=o1,JS(s),h=1,h|0}function jS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0;return z0=C,$=t+104|0,g=e[$>>2]|0,_=t+88|0,t0=g+12|0,e[_>>2]=0,e[_+4>>2]=0,e[_+8>>2]=0,e[_+12>>2]=0,e0=e[t0>>2]|0,mi(e0),p0=g+16|0,R0=e[p0>>2]|0,mi(R0),W0=g+20|0,q0=e[W0>>2]|0,mi(q0),Y0=g+24|0,h=e[Y0>>2]|0,mi(h),p=g+28|0,m=e[p>>2]|0,mi(m),E=g+32|0,y=e[E>>2]|0,mi(y),B=g+36|0,b=e[B>>2]|0,mi(b),D=g+40|0,k=e[D>>2]|0,mi(k),v=g+44|0,Q=e[v>>2]|0,mi(Q),L=g+48|0,R=e[L>>2]|0,mi(R),M=g+52|0,T=e[M>>2]|0,mi(T),G=g+56|0,O=e[G>>2]|0,mi(O),q=g+60|0,V=e[q>>2]|0,mi(V),K=g+64|0,Z=e[K>>2]|0,mi(Z),A0=g+68|0,j=e[A0>>2]|0,mi(j),r0=e[6416]|0,o0=r0+12|0,J=e[o0>>2]|0,s0=nQ[J&1](t)|0,Y=(s0|0)==0,Y?(h0=(s|0)==0,h0?(A=0,A|0):(i0=Pu(t)|0,d0=(i0|0)==0,d0?(c0=t+4|0,$0=yy(c0)|0,e[s>>2]=$0,l0=_8(c0)|0,X=s+4|0,e[X>>2]=l0,m0=s+8|0,e[m0>>2]=0,g0=t+44|0,I0=e[g0>>2]|0,n0=s+12|0,e[n0>>2]=I0,f0=t+48|0,C0=f0,b0=C0,y0=e[b0>>2]|0,D0=C0+4|0,E0=D0,Q0=e[E0>>2]|0,w0=s+16|0,B0=w0,x0=B0,e[x0>>2]=y0,Z0=B0+4|0,v0=Z0,e[v0>>2]=Q0,G0=t+56|0,U0=G0,O0=U0,H0=e[O0>>2]|0,k0=U0+4|0,K0=k0,N0=e[K0>>2]|0,M0=s+24|0,P0=M0,J0=P0,e[J0>>2]=H0,V0=P0+4|0,j0=V0,e[j0>>2]=N0,A=0,A|0):(A=-131,A|0))):(A=s0,A|0)}function XS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0;y0=C,A=t+28|0,$=e[A>>2]|0,C0=s,D0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(D0|0));v=$+3372|0,K=e[v>>2]|0,i0=(K|0)>0,i0&&(g0=t+8|0,I0=e[g0>>2]|0,n0=e[$>>2]|0,f0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,h=(g|0)/(n0|0)&-1,p=s+24|0,e[p>>2]=h,e[s>>2]=1,m=$+3360|0,E=e[m>>2]|0,y=+(E|0),B=+(f0|0),b=y*B,D=+(I0|0),k=b/D,_=+J7(k),Q=~~_,L=s+12|0,e[L>>2]=Q,R=$+3364|0,M=e[R>>2]|0,T=+(M|0),G=T*B,O=G/D,q=+J7(O),V=~~q,t0=s+16|0,e[t0>>2]=V,Z=$+3368|0,A0=e[Z>>2]|0,j=+(A0|0),r0=j*B,o0=r0/D,J=+J7(o0),s0=~~J,Y=s+20|0,e[Y>>2]=s0,h0=s+32|0,c1[h0>>3]=7,e0=+(K|0),d0=$+3376|0,c0=+c1[d0>>3],$0=e0*c0,l0=~~$0,X=s+8|0,e[X>>2]=l0,m0=s+4|0,e[m0>>2]=l0)}function eb(t){t=t|0;var s=0,A=0,$=0,g=0;$=C,s=t,g=s+48|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(g|0))}function Pu(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0;return B=C,A=t+64|0,$=e[A>>2]|0,g=$+104|0,h=e[g>>2]|0,p=h+80|0,m=e[p>>2]|0,E=(m|0)!=0,s=E&1,s|0}function tb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0;if(R6=C,y=t+104|0,B=e[y>>2]|0,Z1=t+64|0,b2=e[Z1>>2]|0,R5=b2+104|0,h2=e[R5>>2]|0,T2=b2+4|0,G5=e[T2>>2]|0,G3=G5+28|0,U5=e[G3>>2]|0,b=h2+112|0,O=+c1[b>>3],s0=+J7(O),g0=~~s0,w0=(B+12|0)+(g0<<2)|0,K0=e[w0>>2]|0,z0=_8(K0)|0,a1=z0<<3,L1=t+28|0,x1=e[L1>>2]|0,I2=(x1|0)==0,i2=h2+96|0,p2=e[i2>>2]|0,I2?(T5=h2+100|0,L5=e[T5>>2]|0,Y=p2,D0=T5,B0=L5):(j2=h2+104|0,p5=e[j2>>2]|0,_5=h2+100|0,V5=e[_5>>2]|0,u5=s5(p5,p2)|0,y5=s5(p5,V5)|0,Y=u5,D0=_5,B0=y5),o5=U5+(x1<<2)|0,F2=e[o5>>2]|0,R2=F2>>1,Q2=U5+3372|0,Q5=e[Q2>>2]|0,N5=+(Q5|0),E5=U5+3376|0,M5=+c1[E5>>3],q5=N5*M5,z2=~~q5,C5=h2+80|0,$5=e[C5>>2]|0,d5=($5|0)==0,w5=h2+120|0,d5)return T1=e[w5>>2]|0,x5=(T1|0)==0,x5?(e[w5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[w5>>2]=t,h5=h2+92|0,l5=e[h5>>2]|0,X2=(l5|0)>0,X2){I2?c5=l5:(v5=h2+104|0,r5=e[v5>>2]|0,a5=s5(r5,l5)|0,c5=a5),f5=U5+3384|0,J2=+c1[f5>>3],I5=15/J2,n5=h2+84|0,F5=e[n5>>2]|0,e5=a1-c5|0,k5=F5+e5|0,z5=(k5|0)>(z2|0);e:do if(z5)if(i3=(g0|0)>0,B5=(a1|0)>(c5|0),M6=B5&i3,M6)if(I3=a1-c5|0,h3=I3+F5|0,W5=(h3|0)>(z2|0),W5)for(K3=g0;;){if(r3=K3+-1|0,a3=(B+12|0)+(r3<<2)|0,y3=e[a3>>2]|0,Z5=_8(y3)|0,x3=Z5<<3,f3=(K3|0)>1,w3=(x3|0)>(c5|0),L6=w3&f3,!L6){j5=r3;break e}if(m=e[n5>>2]|0,e6=x3-c5|0,V3=e6+m|0,X5=(V3|0)>(z2|0),X5)K3=r3;else{j5=r3;break}}else j5=g0;else j5=g0;else if(_3=(k5|0)<(z2|0),_3)if(t3=g0+1|0,a6=(t3|0)<15,Y3=(a1|0)<(c5|0),n6=Y3&a6,n6)if(c3=a1-c5|0,g3=c3+F5|0,u3=(g3|0)<(z2|0),u3)for(K5=t3;;){if(Q3=(B+12|0)+(K5<<2)|0,H5=e[Q3>>2]|0,Y5=_8(H5)|0,D5=Y5<<3,z3=K5+1|0,l6=(z3|0)<15,n3=(D5|0)<(c5|0),S6=n3&l6,!S6){j5=K5;break e}if(p=e[n5>>2]|0,l3=D5-c5|0,U3=l3+p|0,C6=(U3|0)<(z2|0),C6)K5=z3;else{j5=K5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+c1[b>>3],D3=b3-L3,A6=+J7(D3),r6=+(R2|0),D=A6/r6,k=G5+8|0,v=e[k>>2]|0,_=+(v|0),Q=_*D,L=-I5,R=QI5,R3=M?I5:k6,T=R3/_,G=T*r6,q=G+L3,c1[b>>3]=q,V=+J7(q),K=~~V,t0=(B+12|0)+(K<<2)|0,Z=e[t0>>2]|0,A0=_8(Z)|0,j=A0<<3,E=e[i2>>2]|0,r0=E,M3=K,s6=j}else r0=p2,M3=g0,s6=a1;o0=(r0|0)>0,J=(s6|0)<(Y|0),f6=J&o0;e:do if(f6)if(h0=h2+88|0,i0=e[h0>>2]|0,e0=s6-Y|0,d0=e0+i0|0,c0=(d0|0)<0,c0)for(d3=M3,o6=s6;;){if($0=d3+1|0,l0=(d3|0)>13,l0){J3=$0,B6=o6;break e}if(X=(B+12|0)+($0<<2)|0,m0=e[X>>2]|0,I0=_8(m0)|0,n0=I0<<3,f0=e[h0>>2]|0,p0=n0-Y|0,C0=p0+f0|0,b0=(C0|0)<0,b0)d3=$0,o6=n0;else{J3=$0,B6=n0;break}}else J3=M3,B6=s6;else J3=M3,B6=s6;while(!1);y0=e[D0>>2]|0,E0=(y0|0)>0,Q0=(B6|0)>(B0|0),b6=Q0&E0;e:do if(b6)if(x0=h2+88|0,Z0=e[x0>>2]|0,R0=B6-B0|0,v0=R0+Z0|0,G0=e[Q2>>2]|0,U0=(v0|0)>(G0|0),U0)for(h6=J3,W3=B6;;){if(O0=h6+-1|0,H0=(h6|0)<1,H0){m3=O0,F3=W3;break e}if(k0=(B+12|0)+(O0<<2)|0,N0=e[k0>>2]|0,M0=_8(N0)|0,P0=M0<<3,W0=e[x0>>2]|0,J0=P0-B0|0,V0=J0+W0|0,j0=e[Q2>>2]|0,q0=(V0|0)>(j0|0),q0)h6=O0,W3=P0;else{m3=O0,F3=P0;break}}else m3=J3,F3=B6;else m3=J3,F3=B6;while(!1);if(Y0=(m3|0)<0,Y0)o1=e[Q2>>2]|0,r1=h2+88|0,L0=e[r1>>2]|0,s1=o1+B0|0,h1=s1-L0|0,u1=(h1|0)/8&-1,E1=h2+124|0,e[E1>>2]=0,f1=B+12|0,d1=e[f1>>2]|0,A1=_8(d1)|0,g1=(A1|0)>(u1|0),g1?($1=e[f1>>2]|0,X0=u1<<3,YS($1,X0),B1=e[f1>>2]|0,p1=_8(B1)|0,Q1=p1<<3,Z3=Q1):Z3=F3;else{if(C1=h2+88|0,y1=e[C1>>2]|0,v1=Y+7|0,k1=v1-y1|0,S1=(k1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=h2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=_8(R1)|0,P1=S1-F1|0,D1=(P1|0)>0,O1=e[_1>>2]|0,D1)for(G1=O1,x6=P1;;)if(X1=x6+-1|0,H2(G1,0,8),J1=(x6|0)>1,H1=e[_1>>2]|0,J1)G1=H1,x6=X1;else{h=H1;break}else h=O1;V1=_8(h)|0,Y1=V1<<3,Z3=Y1}z1=e[i2>>2]|0,t2=(z1|0)>0,t2?t6=37:(o2=e[D0>>2]|0,e2=(o2|0)>0,e2&&(t6=37));do if((t6|0)==37){if(q1=(B0|0)>0,d2=(Z3|0)>(B0|0),N6=q1&d2,N6){A2=Z3-B0|0,C2=h2+88|0,$2=e[C2>>2]|0,W1=A2+$2|0,e[C2>>2]=W1;break}if(f2=(Y|0)>0,g2=(Z3|0)<(Y|0),j6=f2&g2,j6){n2=Z3-Y|0,u2=h2+88|0,s2=e[u2>>2]|0,l2=n2+s2|0,e[u2>>2]=l2;break}if(a2=h2+88|0,m2=e[a2>>2]|0,r2=(m2|0)>(z2|0),r2)if(q1){k2=Z3-B0|0,D2=m2+k2|0,S2=(D2|0)<(z2|0),s=S2?z2:D2,e[a2>>2]=s;break}else{e[a2>>2]=z2;break}else if(f2){y2=Z3-Y|0,G2=m2+y2|0,M2=(G2|0)>(z2|0),$=M2?z2:G2,e[a2>>2]=$;break}else{e[a2>>2]=z2;break}}while(!1);return O2=e[h5>>2]|0,W2=(O2|0)>0,W2?(q2=e[L1>>2]|0,K2=(q2|0)==0,K2?Y2=O2:(U2=h2+104|0,V2=e[U2>>2]|0,Z2=s5(V2,O2)|0,Y2=Z2),A5=Z3-Y2|0,N1=h2+84|0,t5=e[N1>>2]|0,i5=A5+t5|0,e[N1>>2]=i5,A=0,A|0):(A=0,A|0)}function ky(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,_=g+120|0,t0=e[_>>2]|0,e0=(t0|0)==0,e0?(A=0,A|0):(p0=(s|0)==0,p0||(C0=t0+104|0,b0=e[C0>>2]|0,y0=t0+64|0,D0=e[y0>>2]|0,h=D0+104|0,p=e[h>>2]|0,m=p+80|0,E=e[m>>2]|0,Q0=(E|0)==0,Q0?E0=7:(y=g+124|0,B=e[y>>2]|0,E0=B),b=(b0+12|0)+(E0<<2)|0,D=e[b>>2]|0,k=yy(D)|0,e[s>>2]=k,v=e[b>>2]|0,Q=_8(v)|0,L=s+4|0,e[L>>2]=Q,R=s+8|0,e[R>>2]=0,M=t0+44|0,T=e[M>>2]|0,G=s+12|0,e[G>>2]=T,O=t0+48|0,q=O,V=q,K=e[V>>2]|0,Z=q+4|0,A0=Z,j=e[A0>>2]|0,r0=s+16|0,o0=r0,J=o0,e[J>>2]=K,s0=o0+4|0,Y=s0,e[Y>>2]=j,h0=t0+56|0,i0=h0,d0=i0,c0=e[d0>>2]|0,$0=i0+4|0,l0=$0,X=e[l0>>2]|0,m0=s+24|0,g0=m0,I0=g0,e[I0>>2]=c0,n0=g0+4|0,f0=n0,e[f0>>2]=X),e[_>>2]=0,A=1,A|0)}function ib(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0;G=C,M=s,O=M+112|0;do e[M>>2]=0,M=M+4|0;while((M|0)<(O|0));if(A=s+64|0,e[A>>2]=t,$=s+76|0,e[$>>2]=0,y=s+68|0,e[y>>2]=0,B=e[t>>2]|0,b=(B|0)==0,b)return 0;for(D=c9(1,72)|0,k=s+104|0,e[k>>2]=D,v=D+4|0,o[v>>2]=-9999,_=s+4|0,Q=D+12|0,g=D+40|0,R=0;;)if(h=(R|0)==7,h){e[g>>2]=_,xC(_),R=8;continue}else{if(p=c9(1,20)|0,m=Q+(R<<2)|0,e[m>>2]=p,xC(p),E=R+1|0,L=(E|0)==15,L)break;R=E;continue}return 0}function W8(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0;return Z=C,A=s+7|0,$=A&-8,v=t+72|0,M=e[v>>2]|0,T=M+$|0,G=t+76|0,O=e[G>>2]|0,q=(T|0)>(O|0),V=t+68|0,K=e[V>>2]|0,q?(g=(K|0)==0,g||(h=K,p=Re(8)|0,m=t+80|0,E=e[m>>2]|0,y=E+M|0,e[m>>2]=y,B=t+84|0,b=e[B>>2]|0,D=p+4|0,e[D>>2]=b,e[p>>2]=h,e[B>>2]=p),e[G>>2]=$,k=Re($)|0,e[V>>2]=k,e[v>>2]=0,Q=k,L=0,_=Q+L|0,R=L+$|0,e[v>>2]=R,_|0):(Q=K,L=M,_=Q+L|0,R=L+$|0,e[v>>2]=R,_|0)}function rb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0;if(i0=C,$=t+104|0,g=e[$>>2]|0,_=t+84|0,V=e[_>>2]|0,K=(V|0)==0,!K)for(s0=V;t0=s0+4|0,Z=e[t0>>2]|0,A0=e[s0>>2]|0,E2(A0),E2(s0),j=(Z|0)==0,!j;)s0=Z;if(r0=t+80|0,h=e[r0>>2]|0,p=(h|0)==0,s=t+68|0,A=e[s>>2]|0,p?Q=A:(m=t+76|0,E=e[m>>2]|0,y=E+h|0,B=W7(A,y)|0,e[s>>2]=B,b=e[r0>>2]|0,D=e[m>>2]|0,k=D+b|0,e[m>>2]=k,e[r0>>2]=0,Q=B),v=t+72|0,e[v>>2]=0,e[_>>2]=0,L=(Q|0)==0,L||E2(Q),R=(g|0)==0,R){Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}else J=0;for(;;){if(M=(g+12|0)+(J<<2)|0,T=e[M>>2]|0,LC(T),G=(J|0)==7,G){J=8;continue}if(O=e[M>>2]|0,E2(O),q=J+1|0,o0=(q|0)==15,o0)break;J=q}E2(g),Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}function nb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,$=ob(t,s,1)|0,g=($|0)==0,g?(E=t+104|0,y=e[E>>2]|0,B=Nb(s)|0,b=y+60|0,e[b>>2]=B,D=c9(1,180)|0,e[y>>2]=D,cb(D,s),k=y+80|0,XS(s,k),v=t+64|0,_=v,h=_,e[h>>2]=3,p=_+4|0,m=p,e[m>>2]=0,A=0,A|0):(A=1,A|0)}function Sy(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0;if(q2=C,B=(t|0)==0,!B){if(b=t+4|0,w0=e[b>>2]|0,K0=(w0|0)!=0,K0?(z0=w0+28|0,a1=e[z0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,Z1=(x1|0)!=0,Z1){if(l2=e[x1>>2]|0,D=(l2|0)==0,D||(gb(l2),q=e[x1>>2]|0,E2(q)),Y=x1+12|0,I0=e[Y>>2]|0,C0=(I0|0)==0,C0||(b0=e[I0>>2]|0,GC(b0),y0=e[Y>>2]|0,D0=e[y0>>2]|0,E2(D0),E0=e[Y>>2]|0,E2(E0)),Q0=x1+16|0,B0=e[Q0>>2]|0,x0=(B0|0)==0,x0||(Z0=e[B0>>2]|0,GC(Z0),R0=e[Q0>>2]|0,v0=e[R0>>2]|0,E2(v0),G0=e[Q0>>2]|0,E2(G0)),U0=x1+48|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0){if(N0=(k0|0)==0,N0)C1=O0;else if(M0=k0+16|0,P0=e[M0>>2]|0,W0=(P0|0)>0,W0){if(J0=k0+800|0,V0=e[J0>>2]|0,j0=25640+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+16|0,o1=e[Y0>>2]|0,r1=e[O0>>2]|0,oo[o1&7](r1),L0=e[M0>>2]|0,s1=(L0|0)>1,s1)for(u1=1;s=e[U0>>2]|0,h1=J0+(u1<<2)|0,E1=e[h1>>2]|0,f1=25640+(E1<<2)|0,d1=e[f1>>2]|0,A1=d1+16|0,g1=e[A1>>2]|0,$1=s+(u1<<2)|0,X0=e[$1>>2]|0,oo[g1&7](X0),B1=u1+1|0,p1=e[M0>>2]|0,Q1=(B1|0)<(p1|0),Q1;)u1=B1;A=e[U0>>2]|0,C1=A}else C1=O0;E2(C1)}if(y1=x1+52|0,v1=e[y1>>2]|0,k1=(v1|0)==0,!k1){if(S1=(k0|0)==0,S1)W1=v1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,P1=25648+(F1<<2)|0,D1=e[P1>>2]|0,O1=D1+16|0,X1=e[O1>>2]|0,G1=e[v1>>2]|0,oo[X1&7](G1),J1=e[M1>>2]|0,H1=(J1|0)>1,H1)for(Y1=1;$=e[y1>>2]|0,V1=R1+(Y1<<2)|0,z1=e[V1>>2]|0,t2=25648+(z1<<2)|0,o2=e[t2>>2]|0,e2=o2+16|0,q1=e[e2>>2]|0,d2=$+(Y1<<2)|0,I2=e[d2>>2]|0,oo[q1&7](I2),A2=Y1+1|0,C2=e[M1>>2]|0,$2=(A2|0)<(C2|0),$2;)Y1=A2;g=e[y1>>2]|0,W1=g}else W1=v1;E2(W1)}if(f2=x1+56|0,g2=e[f2>>2]|0,n2=(g2|0)==0,!n2){if(u2=(k0|0)==0,u2)M2=g2;else if(s2=k0+28|0,i2=e[s2>>2]|0,a2=(i2|0)>0,a2){if(Ty(g2),m2=e[s2>>2]|0,r2=(m2|0)>1,r2)for(D2=1;h=e[f2>>2]|0,k2=h+(D2*52|0)|0,Ty(k2),S2=D2+1|0,y2=e[s2>>2]|0,G2=(S2|0)<(y2|0),G2;)D2=S2;p=e[f2>>2]|0,M2=p}else M2=g2;E2(M2)}k=x1+60|0,v=e[k>>2]|0,_=(v|0)==0,_||Gb(v),Q=x1+80|0,eb(Q),L=x1+20|0,zy(L),R=x1+32|0,zy(R)}if(M=t+8|0,T=e[M>>2]|0,G=(T|0)==0,!G){if(K0)if(O=w0+4|0,V=e[O>>2]|0,K=(V|0)>0,K){for(Z=T,p0=V,O2=0;t0=Z+(O2<<2)|0,A0=e[t0>>2]|0,j=(A0|0)==0,j?J=p0:(E2(A0),E=e[O>>2]|0,J=E),r0=O2+1|0,o0=(r0|0)<(J|0),!!o0;)m=e[M>>2]|0,Z=m,p0=J,O2=r0;y=e[M>>2]|0,s0=y}else s0=T;else s0=T;E2(s0),h0=t+12|0,i0=e[h0>>2]|0,e0=(i0|0)==0,e0||E2(i0)}Z1&&(d0=x1+64|0,c0=e[d0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,X=e[l0>>2]|0,m0=(X|0)==0,m0||E2(X),g0=x1+72|0,n0=e[g0>>2]|0,f0=(n0|0)==0,f0||E2(n0),E2(x1)),p2=t,K2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(K2|0))}}function by(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0;if(K0=C,m=t+4|0,E=e[m>>2]|0,M=t+104|0,r0=e[M>>2]|0,l0=r0+64|0,D0=e[l0>>2]|0,v0=(D0|0)==0,v0||E2(D0),e[l0>>2]=0,G0=r0+68|0,U0=e[G0>>2]|0,O0=(U0|0)==0,O0||E2(U0),e[G0>>2]=0,y=r0+72|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),e[y>>2]=0,D=t+20|0,k=e[D>>2]|0,v=k+s|0,_=t+16|0,Q=e[_>>2]|0,L=(v|0)<(Q|0),L)A=E+4|0,h=e[A>>2]|0,s0=h,k0=11;else if(R=s<<1,T=k+R|0,e[_>>2]=T,G=E+4|0,O=e[G>>2]|0,q=(O|0)>0,q)if(V=t+8|0,K=e[V>>2]|0,t0=e[K>>2]|0,Z=T<<2,A0=W7(t0,Z)|0,j=e[V>>2]|0,e[j>>2]=A0,o0=e[G>>2]|0,J=(o0|0)>1,J)for($0=1;;)if($=e[_>>2]|0,d0=e[V>>2]|0,c0=d0+($0<<2)|0,X=e[c0>>2]|0,m0=$<<2,g0=W7(X,m0)|0,I0=e[V>>2]|0,n0=I0+($0<<2)|0,e[n0>>2]=g0,f0=$0+1|0,p0=e[G>>2]|0,C0=(f0|0)<(p0|0),C0)$0=f0;else{s0=p0,k0=11;break}else s0=o0,k0=11;if((k0|0)==11&&(Y=(s0|0)>0,Y)){for(h0=t+8|0,i0=e[D>>2]|0,e0=t+12|0,H0=0;;)if(b0=e[h0>>2]|0,y0=b0+(H0<<2)|0,E0=e[y0>>2]|0,Q0=E0+(i0<<2)|0,w0=e[e0>>2]|0,B0=w0+(H0<<2)|0,e[B0>>2]=Q0,x0=H0+1|0,Z0=(x0|0)<(s0|0),Z0)H0=x0;else{g=e0;break}return R0=e[g>>2]|0,R0|0}return p=t+12|0,g=p,R0=e[g>>2]|0,R0|0}function sb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0;if(V0=C,m=t+4|0,E=e[m>>2]|0,M=E+28|0,r0=e[M>>2]|0,l0=(s|0)<1,!l0)return b0=t+20|0,y0=e[b0>>2]|0,E0=y0+s|0,Q0=t+16|0,w0=e[Q0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=V0,$|0):(e[b0>>2]=E0,x0=t+28|0,Z0=e[x0>>2]|0,R0=(Z0|0)==0,!R0||(v0=t+48|0,G0=e[v0>>2]|0,U0=E0-G0|0,H0=r0+4|0,k0=e[H0>>2]|0,K0=(U0|0)>(k0|0),!K0)?($=0,C=V0,$|0):(_y(t),$=0,C=V0,$|0));if(D0=C,C=C+128|0,O0=t+28|0,N0=e[O0>>2]|0,M0=(N0|0)==0,M0&&_y(t),P0=r0+4|0,y=e[P0>>2]|0,B=y*3|0,by(t,B)|0,b=t+20|0,D=e[b>>2]|0,k=t+32|0,e[k>>2]=D,v=e[P0>>2]|0,_=v*3|0,Q=D+_|0,e[b>>2]=Q,L=E+4|0,R=e[L>>2]|0,T=(R|0)>0,!T)return $=0,C=V0,$|0;for(G=t+8|0,O=D,W0=0;;){if(q=(O|0)>64,q?(V=e[P0>>2]|0,K=(O|0)>(V|0),A=K?V:O,t0=e[G>>2]|0,Z=t0+(W0<<2)|0,A0=e[Z>>2]|0,h=O-A|0,j=A0+(h<<2)|0,+xy(j,D0,A,32),o0=e[G>>2]|0,J=o0+(W0<<2)|0,s0=e[J>>2]|0,Y=e[k>>2]|0,h0=s0+(Y<<2)|0,p=Y+-32|0,i0=s0+(p<<2)|0,e0=e[b>>2]|0,d0=e0-Y|0,Ly(D0,i0,32,h0,d0)):(c0=e[G>>2]|0,$0=c0+(W0<<2)|0,X=e[$0>>2]|0,m0=X+(O<<2)|0,g0=e[b>>2]|0,I0=g0-O|0,n0=I0<<2,g4(m0|0,0,n0|0)|0),f0=W0+1|0,p0=e[L>>2]|0,C0=(f0|0)<(p0|0),!C0){$=0;break}g=e[k>>2]|0,O=g,W0=f0}return C=V0,$|0}function Dy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0;if(u9=C,b=t+4|0,D=e[b>>2]|0,A2=D+28|0,D5=e[A2>>2]|0,A6=t+104|0,M6=e[A6>>2]|0,B6=M6+60|0,y6=e[B6>>2]|0,V6=t+48|0,ae=e[V6>>2]|0,k=t+40|0,V=e[k>>2]|0,h0=D5+(V<<2)|0,n0=e[h0>>2]|0,x0=(n0|0)/2&-1,M0=ae-x0|0,L0=s+104|0,X0=e[L0>>2]|0,b1=t+28|0,H1=e[b1>>2]|0,C2=(H1|0)==0,C2||(m2=t+32|0,q2=e[m2>>2]|0,L5=(q2|0)==-1,L5))return $=0,$|0;Q2=ub(t)|0,w5=(Q2|0)==-1;do if(w5){if(J2=e[m2>>2]|0,I3=(J2|0)==0,I3)return $=0,$|0;e6=t+44|0,e[e6>>2]=0,h=e6,K3=0;break}else if(Q3=e[D5>>2]|0,z3=D5+4|0,U5=e[z3>>2]|0,l6=(Q3|0)==(U5|0),n3=t+44|0,l6){e[n3>>2]=0,h=n3,K3=0;break}else{e[n3>>2]=Q2,h=n3,K3=Q2;break}while(!1);if(l3=e[V6>>2]|0,U3=e[k>>2]|0,C6=D5+(U3<<2)|0,b3=e[C6>>2]|0,L3=(b3|0)/4&-1,D3=L3+l3|0,r6=D5+(K3<<2)|0,j5=e[r6>>2]|0,M3=(j5|0)/4&-1,d3=D3+M3|0,J3=(j5|0)/2&-1,h6=d3+J3|0,m3=t+20|0,x6=e[m3>>2]|0,L6=(x6|0)<(h6|0),L6)return $=0,$|0;if(S6=s+84|0,n6=e[S6>>2]|0,f6=(n6|0)==0,!f6)for(we=n6;b6=we+4|0,N6=e[b6>>2]|0,j6=e[we>>2]|0,E2(j6),E2(we),k6=(N6|0)==0,!k6;)we=N6;R3=s+80|0,s6=e[R3>>2]|0,o6=(s6|0)==0,o6||(W3=s+68|0,F3=e[W3>>2]|0,Z3=s+76|0,t6=e[Z3>>2]|0,R6=t6+s6|0,c6=W7(F3,R6)|0,e[W3>>2]=c6,s3=e[R3>>2]|0,K6=e[Z3>>2]|0,A3=K6+s3|0,e[Z3>>2]=A3,e[R3>>2]=0),g6=s+72|0,e[g6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,$6=s+24|0,e[$6>>2]=H6,D6=e[k>>2]|0,G6=s+28|0,e[G6>>2]=D6,ee=e[h>>2]|0,Q6=s+32|0,e[Q6>>2]=ee,X6=(D6|0)==0;do if(X6)if(ue=db(t)|0,U6=(ue|0)==0,Y6=X0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,re=(ee|0)==0,Ye=P3|re,oe=X0+8|0,Ye){e[oe>>2]=0;break}else{e[oe>>2]=1;break}while(!1);F6=s+64|0,e[F6>>2]=t,te=t+64|0,_6=te,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,he=O6,ne=e[he>>2]|0,Be=ro(O3|0,ne|0,1,0)|0,ye=Z6,Qe=te,fe=Qe,e[fe>>2]=Be,Ie=Qe+4|0,Ve=Ie,e[Ve>>2]=ye,w6=s+56|0,q6=w6,v=q6,e[v>>2]=O3,_=q6+4|0,Q=_,e[Q>>2]=ne,L=t+56|0,R=L,M=R,T=e[M>>2]|0,G=R+4|0,O=G,q=e[O>>2]|0,K=s+48|0,t0=K,Z=t0,e[Z>>2]=T,A0=t0+4|0,j=A0,e[j>>2]=q,r0=e[k>>2]|0,o0=D5+(r0<<2)|0,J=e[o0>>2]|0,s0=s+36|0,e[s0>>2]=J,Y=X0+4|0,i0=+o[Y>>2],e0=+o[y6>>2],d0=i0>e0,d0?(o[y6>>2]=i0,c0=i0):c0=e0,$0=+Ob(c0,t),o[y6>>2]=$0,o[Y>>2]=$0,l0=D+4|0,X=e[l0>>2]|0,m0=X<<2,g0=m0+7|0,I0=g0&-8,f0=e[g6>>2]|0,p0=I0+f0|0,C0=s+76|0,b0=e[C0>>2]|0,y0=(p0|0)>(b0|0),D0=s+68|0,E0=e[D0>>2]|0,y0?(Q0=(E0|0)==0,Q0||(w0=E0,B0=Re(8)|0,Z0=e[R3>>2]|0,R0=Z0+f0|0,e[R3>>2]=R0,v0=e[S6>>2]|0,G0=B0+4|0,e[G0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=I0,U0=Re(I0)|0,e[D0>>2]=U0,e[g6>>2]=0,g=e[l0>>2]|0,H0=U0,k0=0,P0=g,q0=I0):(H0=E0,k0=f0,P0=X,q0=b0),O0=H0+k0|0,K0=k0+I0|0,e[g6>>2]=K0,e[s>>2]=O0,N0=P0<<2,W0=N0+7|0,J0=W0&-8,V0=J0+K0|0,j0=(V0|0)>(q0|0),j0?(Y0=(H0|0)==0,Y0||(o1=H0,z0=Re(8)|0,r1=e[R3>>2]|0,s1=r1+K0|0,e[R3>>2]=s1,h1=e[S6>>2]|0,u1=z0+4|0,e[u1>>2]=h1,e[z0>>2]=o1,e[S6>>2]=z0),e[C0>>2]=J0,E1=Re(J0)|0,e[D0>>2]=E1,e[g6>>2]=0,p=e[l0>>2]|0,d1=E1,A1=0,a1=p,Y5=J0):(d1=H0,A1=K0,a1=P0,Y5=q0),f1=d1+A1|0,g1=A1+J0|0,e[g6>>2]=g1,e[X0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(B1=t+8|0,S1=g1,M1=Y5,_1=d1,Ae=0;;){if(p1=e[s0>>2]|0,Q1=p1+M0|0,C1=Q1<<2,y1=C1+7|0,v1=y1&-8,k1=v1+S1|0,L1=(k1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,P1=Re(8)|0,D1=e[R3>>2]|0,O1=D1+S1|0,e[R3>>2]=O1,X1=e[S6>>2]|0,G1=P1+4|0,e[G1>>2]=X1,e[P1>>2]=F1,e[S6>>2]=P1),e[C0>>2]=v1,x1=Re(v1)|0,e[D0>>2]=x1,e[g6>>2]=0,V1=x1,Y1=0):(V1=_1,Y1=S1),J1=V1+Y1|0,z1=Y1+v1|0,e[g6>>2]=z1,t2=e[X0>>2]|0,o2=t2+(Ae<<2)|0,e[o2>>2]=J1,e2=e[X0>>2]|0,q1=e2+(Ae<<2)|0,d2=e[q1>>2]|0,Z1=e[B1>>2]|0,I2=Z1+(Ae<<2)|0,$2=e[I2>>2]|0,g9(d2|0,$2|0,C1|0)|0,W1=e[X0>>2]|0,f2=W1+(Ae<<2)|0,g2=e[f2>>2]|0,n2=g2+(M0<<2)|0,u2=e[s>>2]|0,s2=u2+(Ae<<2)|0,e[s2>>2]=n2,l2=Ae+1|0,i2=e[l0>>2]|0,a2=(l2|0)<(i2|0),!a2)break e;m=e[g6>>2]|0,E=e[C0>>2]|0,y=e[D0>>2]|0,S1=m,M1=E,_1=y,Ae=l2}while(!1);if(r2=e[m2>>2]|0,k2=(r2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(r2|0),!S2))return e[m2>>2]=-1,y2=s+44|0,e[y2>>2]=1,$=1,$|0;if(G2=D5+4|0,M2=e[G2>>2]|0,O2=(M2|0)/2&-1,p2=d3-O2|0,W2=(p2|0)>0,!W2)return $=1,$|0;if(K2=e[M6>>2]|0,hb(K2,p2),U2=e[m3>>2]|0,V2=U2-p2|0,e[m3>>2]=V2,Z2=e[l0>>2]|0,A5=(Z2|0)>0,A5&&(Y2=t+8|0,N1=e[Y2>>2]|0,t5=e[N1>>2]|0,T5=t5+(p2<<2)|0,i5=V2<<2,lA(t5|0,T5|0,i5|0)|0,j2=e[l0>>2]|0,p5=(j2|0)>1,p5))for(u5=1;B=e[m3>>2]|0,_5=e[Y2>>2]|0,V5=_5+(u5<<2)|0,b2=e[V5>>2]|0,y5=b2+(p2<<2)|0,o5=B<<2,lA(b2|0,y5|0,o5|0)|0,F2=u5+1|0,R2=e[l0>>2]|0,Q5=(F2|0)<(R2|0),Q5;)u5=F2;return N5=e[k>>2]|0,e[T3>>2]=N5,E5=e[h>>2]|0,e[k>>2]=E5,e[V6>>2]=O2,M5=e[m2>>2]|0,q5=(M5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,V3=L,X5=V3,_3=e[X5>>2]|0,t3=V3+4|0,a6=t3,G3=e[a6>>2]|0,Y3=ro(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=L,u3=g3,e[u3>>2]=Y3,K5=g3+4|0,H5=K5,e[H5>>2]=c3,$=1,$|0):(R5=M5-p2|0,z2=(R5|0)<1,A=z2?-1:R5,e[m2>>2]=A,C5=(A|0)>(O2|0),C5?(c5=(p2|0)<0,T2=c5<<31>>31,k5=L,z5=k5,i3=e[z5>>2]|0,B5=k5+4|0,h3=B5,W5=e[h3>>2]|0,r3=ro(i3|0,W5|0,p2|0,T2|0)|0,a3=Z6,y3=L,G5=y3,e[G5>>2]=r3,Z5=y3+4|0,x3=Z5,e[x3>>2]=a3,$=1,$|0):($5=A+p2|0,d5=$5-O2|0,T1=(d5|0)<0,x5=T1<<31>>31,h5=L,l5=h5,X2=e[l5>>2]|0,h2=h5+4|0,v5=h2,r5=e[v5>>2]|0,a5=ro(X2|0,r5|0,d5|0,x5|0)|0,f5=Z6,I5=L,n5=I5,e[n5>>2]=a5,F5=I5+4|0,e5=F5,e[e5>>2]=f5,$=1,$|0))}function ob(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0;if(n5=C,y=s+28|0,B=e[y>>2]|0,k1=(B|0)==0,k1||(X1=B+8|0,q1=e[X1>>2]|0,u2=(q1|0)<1,u2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,R5=e[b2>>2]|0,b=(R5|0)<(G2|0),b))return $=1,$|0;O=B+3656|0,s0=e[O>>2]|0,J2=t,F5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(F5|0));g0=c9(1,136)|0,w0=t+104|0,e[w0>>2]=g0,K0=t+4|0,e[K0>>2]=s,z0=e[X1>>2]|0,a1=z0+-1|0,y1=V8(a1)|0,v1=g0+44|0,e[v1>>2]=y1,S1=c9(1,4)|0,L1=g0+12|0,e[L1>>2]=S1,M1=c9(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=c9(1,20)|0,e[S1>>2]=_1,R1=c9(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,P1=F1>>s0,NC(_1,P1),D1=e[b1>>2]|0,O1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>s0,NC(O1,x1),J1=e[B>>2]|0,H1=V8(J1)|0,V1=H1+-7|0,Y1=g0+4|0,e[Y1>>2]=V1,z1=e[b2>>2]|0,t2=V8(z1)|0,o2=t2+-7|0,e2=g0+8|0,e[e2>>2]=o2,d2=(A|0)==0;e:do if(d2){if(Q2=B+2848|0,Q5=e[Q2>>2]|0,N5=(Q5|0)==0,N5&&(E5=B+24|0,M5=e[E5>>2]|0,q5=c9(M5,56)|0,e[Q2>>2]=q5,z2=e[E5>>2]|0,C5=(z2|0)>0,C5)){for(Q1=z2,v5=0;;){if($5=(B+1824|0)+(v5<<2)|0,d5=e[$5>>2]|0,w5=(d5|0)==0,w5){T1=Q1;break}if(h5=e[Q2>>2]|0,l5=h5+(v5*56|0)|0,X2=AD(l5,d5)|0,D=(X2|0)==0,!D){I5=20;break}if(k=e[$5>>2]|0,UC(k),e[$5>>2]=0,v=v5+1|0,_=e[E5>>2]|0,Q=(v|0)<(_|0),Q)Q1=_,v5=v;else break e}if((I5|0)==20&&(m=e[E5>>2]|0,T1=m),x5=(T1|0)>0,x5)for(C1=T1,f5=0;A1=(B+1824|0)+(f5<<2)|0,g1=e[A1>>2]|0,$1=(g1|0)==0,$1?p1=C1:(UC(g1),e[A1>>2]=0,E=e[E5>>2]|0,p1=E),X0=f5+1|0,B1=(X0|0)<(p1|0),B1;)C1=p1,f5=X0;return Sy(t),$=-1,$|0}}else{if(Z1=g0+20|0,I2=e[B>>2]|0,Yy(Z1,I2),A2=g0+32|0,C2=e[b2>>2]|0,Yy(A2,C2),$2=B+2848|0,W1=e[$2>>2]|0,f2=(W1|0)==0,f2&&(g2=B+24|0,n2=e[g2>>2]|0,s2=c9(n2,56)|0,e[$2>>2]=s2,l2=e[g2>>2]|0,i2=(l2|0)>0,i2&&(a2=B+1824|0,m2=e[a2>>2]|0,Vy(s2,m2)|0,r2=e[g2>>2]|0,k2=(r2|0)>1,k2)))for(S2=1;g=e[$2>>2]|0,D2=g+(S2*56|0)|0,y2=(B+1824|0)+(S2<<2)|0,M2=e[y2>>2]|0,Vy(D2,M2)|0,O2=S2+1|0,p2=e[g2>>2]|0,W2=(O2|0)<(p2|0),W2;)S2=O2;q2=B+28|0,K2=e[q2>>2]|0,U2=c9(K2,52)|0,V2=g0+56|0,e[V2>>2]=U2,Z2=e[q2>>2]|0,A5=(Z2|0)>0;t:do if(A5)for(N1=B+2868|0,t5=s+8|0,i5=U2,h2=0;;){if(T5=i5+(h2*52|0)|0,L5=(B+2852|0)+(h2<<2)|0,j2=e[L5>>2]|0,p5=e[j2>>2]|0,_5=B+(p5<<2)|0,V5=e[_5>>2]|0,u5=(V5|0)/2&-1,y5=e[t5>>2]|0,Pb(T5,j2,N1,u5,y5),o5=h2+1|0,F2=e[q2>>2]|0,R2=(o5|0)<(F2|0),!R2)break t;h=e[V2>>2]|0,i5=h,h2=o5}while(!1);e[t>>2]=1}while(!1);if(L=e[b2>>2]|0,R=t+16|0,e[R>>2]=L,M=s+4|0,T=e[M>>2]|0,G=T<<2,q=Re(G)|0,V=t+8|0,e[V>>2]=q,K=Re(G)|0,t0=t+12|0,e[t0>>2]=K,Z=(T|0)>0,Z&&(A0=c9(L,4)|0,e[q>>2]=A0,j=(T|0)>1,j))for(J=1;p=e[V>>2]|0,r0=c9(L,4)|0,o0=p+(J<<2)|0,e[o0>>2]=r0,Y=J+1|0,h0=(Y|0)<(T|0),h0;)J=Y;if(i0=t+36|0,e[i0>>2]=0,e0=t+40|0,e[e0>>2]=0,d0=e[b2>>2]|0,c0=(d0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,X=B+16|0,m0=e[X>>2]|0,I0=c9(m0,4)|0,n0=g0+48|0,e[n0>>2]=I0,f0=B+20|0,p0=e[f0>>2]|0,C0=c9(p0,4)|0,b0=g0+52|0,e[b0>>2]=C0,y0=e[X>>2]|0,D0=(y0|0)>0,D0)for(r5=0;B0=(B+800|0)+(r5<<2)|0,x0=e[B0>>2]|0,Z0=25640+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0+8|0,G0=e[v0>>2]|0,U0=(B+1056|0)+(r5<<2)|0,O0=e[U0>>2]|0,H0=pi[G0&15](t,O0)|0,k0=e[n0>>2]|0,N0=k0+(r5<<2)|0,e[N0>>2]=H0,M0=r5+1|0,P0=e[X>>2]|0,W0=(M0|0)<(P0|0),W0;)r5=M0;if(E0=e[f0>>2]|0,Q0=(E0|0)>0,Q0)a5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(a5<<2)|0,V0=e[J0>>2]|0,j0=25648+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+8|0,o1=e[Y0>>2]|0,r1=(B+1568|0)+(a5<<2)|0,L0=e[r1>>2]|0,s1=pi[o1&15](t,L0)|0,h1=e[b0>>2]|0,u1=h1+(a5<<2)|0,e[u1>>2]=s1,E1=a5+1|0,f1=e[f0>>2]|0,d1=(E1|0)<(f1|0),d1)a5=E1;else{$=0;break}return $|0}function _y(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0;if(R0=C,C=C+64|0,g=R0,h=t+20|0,Q=e[h>>2]|0,Z=Q<<2,s=Z,d0=C,C=C+((1*s|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,y0=t+48|0,D0=e[y0>>2]|0,E0=Q-D0|0,Q0=(E0|0)>32,!Q0){C=R0;return}if(p=t+4|0,m=e[p>>2]|0,E=m+4|0,y=e[E>>2]|0,B=(y|0)>0,!B){C=R0;return}for(b=t+8|0,D=Q,w0=0;;){if(k=(D|0)>0,k)for(v=e[b>>2]|0,_=v+(w0<<2)|0,L=e[_>>2]|0,B0=0;R=B0^-1,M=D+R|0,T=L+(M<<2)|0,G=e[T>>2]|0,O=d0+(B0<<2)|0,e[O>>2]=G,q=B0+1|0,V=(D|0)>(q|0),V;)B0=q;if(K=e[y0>>2]|0,t0=D-K|0,+xy(d0,g,t0,16),A0=e[h>>2]|0,j=e[y0>>2]|0,A=A0-j|0,r0=d0+(A<<2)|0,$=A+-16|0,o0=d0+($<<2)|0,Ly(g,o0,16,r0,j),J=e[h>>2]|0,s0=(J|0)>0,s0)for(Y=e[b>>2]|0,h0=Y+(w0<<2)|0,i0=e[h0>>2]|0,x0=0;e0=d0+(x0<<2)|0,c0=e[e0>>2]|0,$0=x0^-1,l0=J+$0|0,X=i0+(l0<<2)|0,e[X>>2]=c0,m0=x0+1|0,g0=(J|0)>(m0|0),g0;)x0=m0;if(I0=w0+1|0,n0=e[p>>2]|0,f0=n0+4|0,p0=e[f0>>2]|0,b0=(I0|0)<(p0|0),b0)D=J,w0=I0;else break}C=R0}function ab(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0;l2=C,H2(s,5653314,24),p=e[t>>2]|0,H2(s,p,16),m=t+4|0,V=e[m>>2]|0,H2(s,V,24),h0=e[m>>2]|0,n0=(h0|0)>1;e:do if(n0)for(x0=t+8|0,M0=e[x0>>2]|0,g=I[M0>>0]|0,L0=g,q1=1;;){if(X0=L0<<24>>24==0,X0){e2=q1;break e}if(b1=M0+q1|0,E=I[b1>>0]|0,_=E<<24>>24>24,_){e2=q1;break e}if(Q=q1+1|0,L=(Q|0)<(h0|0),L)L0=E,q1=Q;else{e2=Q;break}}else e2=1;while(!1);R=(e2|0)==(h0|0);e:do if(R){if(H2(s,1,1),M=t+8|0,T=e[M>>2]|0,G=I[T>>0]|0,O=G<<24>>24,q=O+-1|0,H2(s,q,5),K=e[m>>2]|0,t0=(K|0)>1,t0)for(v=K,V1=0,Z1=1;;){if(Z=e[M>>2]|0,A0=Z+Z1|0,j=I[A0>>0]|0,r0=Z1+-1|0,o0=Z+r0|0,J=I[o0>>0]|0,s0=j<<24>>24>J<<24>>24,s0)for(Y=J<<24>>24,i0=j<<24>>24,c0=v,Y1=V1,g2=Y;;)if(e0=Z1-Y1|0,d0=c0-Y1|0,$0=V8(d0)|0,H2(s,e0,$0),l0=g2+1|0,o2=(l0|0)==(i0|0),h=e[m>>2]|0,o2){g0=h,z1=Z1;break}else c0=h,Y1=Z1,g2=l0;else g0=v,z1=V1;if(X=Z1+1|0,m0=(X|0)<(g0|0),m0)v=g0,V1=z1,Z1=X;else{$=g0,H1=z1,d2=X;break}}else $=K,H1=0,d2=1;I0=d2-H1|0,f0=$-H1|0,p0=V8(f0)|0,H2(s,I0,p0)}else{H2(s,0,1),C0=e[m>>2]|0,b0=(C0|0)>0;t:do if(b0)for(y0=t+8|0,D0=e[y0>>2]|0,A2=0;;){if(E0=D0+A2|0,Q0=I[E0>>0]|0,w0=Q0<<24>>24==0,w0){I2=A2;break t}if(B0=A2+1|0,Z0=(B0|0)<(C0|0),Z0)A2=B0;else{I2=B0;break}}else I2=0;while(!1);if(R0=(I2|0)==(C0|0),R0){if(H2(s,0,1),v0=e[m>>2]|0,G0=(v0|0)>0,!G0)break;for(U0=t+8|0,C2=0;;)if(O0=e[U0>>2]|0,H0=O0+C2|0,k0=I[H0>>0]|0,K0=k0<<24>>24,N0=K0+-1|0,H2(s,N0,5),P0=C2+1|0,W0=e[m>>2]|0,J0=(P0|0)<(W0|0),J0)C2=P0;else break e}if(H2(s,1,1),V0=e[m>>2]|0,j0=(V0|0)>0,j0)for(q0=t+8|0,$2=0;Y0=e[q0>>2]|0,o1=Y0+$2|0,z0=I[o1>>0]|0,r1=z0<<24>>24==0,r1?H2(s,0,1):(H2(s,1,1),s1=e[q0>>2]|0,h1=s1+$2|0,u1=I[h1>>0]|0,E1=u1<<24>>24,f1=E1+-1|0,H2(s,f1,5)),d1=$2+1|0,A1=e[m>>2]|0,g1=(d1|0)<(A1|0),g1;)$2=d1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,H2(s,$1,4),B1=e[a1>>2]|0,(B1|0)==2|(B1|0)==1)s2=28;else if(B1|0)return A=-1,A|0;do if((s2|0)==28){if(p1=t+32|0,Q1=e[p1>>2]|0,C1=(Q1|0)==0,C1)return A=-1,A|0;if(y1=t+16|0,v1=e[y1>>2]|0,H2(s,v1,32),k1=t+20|0,S1=e[k1>>2]|0,H2(s,S1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,H2(s,_1,4),R1=t+28|0,F1=e[R1>>2]|0,H2(s,F1,1),P1=e[a1>>2]|0,(P1|0)==1)D1=sD(t)|0,u2=D1;else if((P1|0)==2)O1=e[m>>2]|0,X1=e[t>>2]|0,G1=s5(X1,O1)|0,u2=G1;else break;if(x1=(u2|0)>0,x1)for(W1=0;J1=e[p1>>2]|0,y=J1+(W1<<2)|0,B=e[y>>2]|0,f2=(B|0)>-1,n2=0-B|0,b=f2?B:n2,D=e[L1>>2]|0,H2(s,b,D),k=W1+1|0,t2=(k|0)==(u2|0),!t2;)W1=k}while(!1);return A=0,A|0}function Ou(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0;return t0=C,g=(s|0)<0,g||(h=t+12|0,Q=e[h>>2]|0,R=Q+4|0,M=e[R>>2]|0,T=(M|0)>(s|0),!T)?($=0,$|0):(G=t+20|0,O=e[G>>2]|0,q=O+(s<<2)|0,V=e[q>>2]|0,p=Q+8|0,m=e[p>>2]|0,E=m+s|0,y=I[E>>0]|0,B=y<<24>>24,H2(A,V,B),b=e[h>>2]|0,D=b+8|0,k=e[D>>2]|0,v=k+s|0,_=I[v>>0]|0,L=_<<24>>24,$=L,$|0)}function lE(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0;return k=C,$=t+8|0,g=e[$>>2]|0,h=(g|0)>0,!h||(p=qu(t,s)|0,m=(p|0)>-1,!m)?(A=-1,A|0):(E=t+24|0,y=e[E>>2]|0,B=y+(p<<2)|0,b=e[B>>2]|0,A=b,A|0)}function Ab(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0;if(n0=C,E=t+8|0,y=e[E>>2]|0,T=(y|0)>0,!T)return g=0,C=n0,g|0;o0=e[t>>2]|0,s0=($|0)/(o0|0)&-1,Y=s0<<2,h=Y,h0=C,C=C+((1*h|0)+15&-16)|0,i0=(s0|0)>0;e:do if(i0){for(e0=t+16|0,l0=0;;){if(q=qu(t,A)|0,V=(q|0)==-1,V){g=-1;break}if(K=e[e0>>2]|0,t0=e[t>>2]|0,Z=s5(t0,q)|0,A0=K+(Z<<2)|0,j=h0+(l0<<2)|0,e[j>>2]=A0,r0=l0+1|0,J=(r0|0)<(s0|0),J)l0=r0;else{d0=t0;break e}}return C=n0,g|0}else d0=o0;while(!1);if(p=(d0|0)<1,m=i0^1,c0=p|m,c0)return g=0,C=n0,g|0;for(X=0,g0=0;;){for(m0=0;k=h0+(m0<<2)|0,v=e[k>>2]|0,_=v+(X<<2)|0,Q=+o[_>>2],L=m0+g0|0,R=s+(L<<2)|0,M=+o[R>>2],G=M+Q,o[R>>2]=G,O=m0+1|0,$0=(O|0)==(s0|0),!$0;)m0=O;if(B=X+1|0,b=g0+s0|0,D=(B|0)<(d0|0),D)X=B,g0=b;else{g=0;break}}return C=n0,g|0}function $b(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0;if(t5=C,Z=t+8|0,A0=e[Z>>2]|0,I0=(A0|0)>0,!I0)return g=0,g|0;if(B0=e[t>>2]|0,N0=(B0|0)>8,N0){if(M1=($|0)>0,!M1)return g=0,g|0;for(J1=t+16|0,i2=0;;){if(i0=qu(t,A)|0,e0=(i0|0)==-1,e0){g=-1,N1=29;break}if(d0=e[J1>>2]|0,c0=e[t>>2]|0,$0=s5(c0,i0)|0,l0=(c0|0)>0,l0){for(X=(c0|0)>1,Y2=X?c0:1,m2=i2,p2=0;m0=p2+1|0,t0=p2+$0|0,g0=d0+(t0<<2)|0,n0=+o[g0>>2],f0=m2+1|0,p0=s+(m2<<2)|0,C0=+o[p0>>2],b0=C0+n0,o[p0>>2]=b0,y0=(m0|0)<(c0|0),y0;)m2=f0,p2=m0;I2=i2+Y2|0,a2=I2}else a2=i2;if(j=(a2|0)<($|0),j)i2=a2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(r1=t+16|0,$1=($|0)>0,$1)r2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(J=qu(t,A)|0,s0=(J|0)==-1,s0){g=-1,N1=29;break e}switch(Y=e[r1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=J,Q=Y,N1=19;break t}case 3:{b=J,L=Y,N1=21;break t}case 7:{m=J,k=Y,N1=13;break t}case 6:{E=J,v=Y,N1=15;break t}case 8:{h=Y,p=J,N1=12;break t}case 5:{y=J,_=Y,N1=17;break t}case 1:{W1=J,g2=Y,O2=r2,A5=0;break t}case 2:{D=J,R=Y,N1=23;break t}default:}}if((N1|0)==12?(N1=0,D0=p<<3,E0=h+(D0<<2)|0,Q0=+o[E0>>2],w0=r2+1|0,x0=s+(r2<<2)|0,Z0=+o[x0>>2],R0=Z0+Q0,o[x0>>2]=R0,U0=D0,H0=h,k2=w0,W2=1,N1=14):(N1|0)==13?(N1=0,v0=m*7|0,U0=v0,H0=k,k2=r2,W2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,j0=J0,Y0=v,D2=r2,q2=0,N1=16):(N1|0)==17?(N1=0,u1=y*5|0,f1=u1,A1=_,S2=r2,K2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,y1=Q1,k1=Q,y2=r2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=b*3|0,D1=F1,X1=L,G2=r2,V2=0,N1=22):(N1|0)==23&&(N1=0,z1=D<<1,o2=z1,q1=R,M2=r2,Z2=0,N1=24),(N1|0)==14&&(N1=0,G0=W2+1|0,K=W2+U0|0,O0=H0+(K<<2)|0,k0=+o[O0>>2],K0=k2+1|0,M0=s+(k2<<2)|0,P0=+o[M0>>2],W0=P0+k0,o[M0>>2]=W0,j0=U0,Y0=H0,D2=K0,q2=G0,N1=16),(N1|0)==16&&(N1=0,V0=q2+1|0,V=q2+j0|0,q0=Y0+(V<<2)|0,o1=+o[q0>>2],z0=D2+1|0,L0=s+(D2<<2)|0,s1=+o[L0>>2],h1=s1+o1,o[L0>>2]=h1,f1=j0,A1=Y0,S2=z0,K2=V0,N1=18),(N1|0)==18&&(N1=0,E1=K2+1|0,q=K2+f1|0,d1=A1+(q<<2)|0,g1=+o[d1>>2],a1=S2+1|0,X0=s+(S2<<2)|0,B1=+o[X0>>2],p1=B1+g1,o[X0>>2]=p1,y1=f1,k1=A1,y2=a1,U2=E1,N1=20),(N1|0)==20&&(N1=0,C1=U2+1|0,O=U2+y1|0,v1=k1+(O<<2)|0,S1=+o[v1>>2],L1=y2+1|0,b1=s+(y2<<2)|0,_1=+o[b1>>2],R1=_1+S1,o[b1>>2]=R1,D1=y1,X1=k1,G2=L1,V2=C1,N1=22),(N1|0)==22&&(N1=0,P1=V2+1|0,G=V2+D1|0,O1=X1+(G<<2)|0,G1=+o[O1>>2],x1=G2+1|0,H1=s+(G2<<2)|0,V1=+o[H1>>2],Y1=V1+G1,o[H1>>2]=Y1,o2=D1,q1=X1,M2=x1,Z2=P1,N1=24),(N1|0)==24&&(N1=0,t2=Z2+1|0,T=Z2+o2|0,e2=q1+(T<<2)|0,d2=+o[e2>>2],Z1=M2+1|0,A2=s+(M2<<2)|0,C2=+o[A2>>2],$2=C2+d2,o[A2>>2]=$2,W1=o2,g2=q1,O2=Z1,A5=t2),M=A5+W1|0,f2=g2+(M<<2)|0,n2=+o[f2>>2],u2=O2+1|0,s2=s+(O2<<2)|0,l2=+o[s2>>2],r0=l2+n2,o[s2>>2]=r0,o0=(u2|0)<($|0),o0)r2=u2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function lb(t,s,A,$,g,h){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0;if(I0=C,B=t+8|0,b=e[B>>2]|0,O=(b|0)>0,!O||(r0=(A|0)/($|0)&-1,o0=h+A|0,J=(o0|0)/($|0)&-1,s0=(r0|0)<(J|0),!s0))return m=0,m|0;for(Y=t+16|0,e0=0,$0=r0;;){if(i0=qu(t,g)|0,D=(i0|0)==-1,D){m=-1,g0=8;break}if(k=e[Y>>2]|0,v=e[t>>2]|0,_=s5(v,i0)|0,Q=(v|0)>0,Q)for(c0=e0,X=$0,m0=0;;)if(y=m0+_|0,L=k+(y<<2)|0,R=+o[L>>2],M=c0+1|0,T=s+(c0<<2)|0,G=e[T>>2]|0,q=G+(X<<2)|0,V=+o[q>>2],K=V+R,o[q>>2]=K,t0=(M|0)==($|0),Z=t0&1,E=Z+X|0,p=t0?0:M,A0=m0+1|0,j=(A0|0)<(v|0),j)c0=p,X=E,m0=A0;else{d0=p,l0=E;break}else d0=e0,l0=$0;if(h0=(l0|0)<(J|0),h0)e0=d0,$0=l0;else{m=0,g0=8;break}}return(g0|0)==8?m|0:0}function qu(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0;p1=C,g=t+40|0,h=e[g>>2]|0,Q=t+36|0,Z=e[Q>>2]|0,d0=MC(s,Z)|0,C0=(d0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,h1=J0+(d0<<2)|0,u1=e[h1>>2]|0,p=(u1|0)<0,p){m=u1>>>15,E=m&32767,y=t+8|0,B=e[y>>2]|0,b=u1&32767,D=B-b|0,E1=D,d1=E;break}return k=u1+-1|0,v=t+28|0,_=e[v>>2]|0,L=_+k|0,R=I[L>>0]|0,M=R<<24>>24,RC(s,M),A=k,A|0}else T=t+8|0,G=e[T>>2]|0,E1=G,d1=0;while(!1);if(O=MC(s,h)|0,q=(O|0)<0,V=(h|0)>1,K=q&V,K)for(X0=h;;)if(t0=X0+-1|0,A0=MC(s,t0)|0,j=(A0|0)<0,r0=(t0|0)>1,o0=j&r0,o0)X0=t0;else{$=j,a1=A0,$1=t0;break}else $=q,a1=O,$1=h;if($)return A=-1,A|0;if(J=a1>>>16,s0=a1<<16,Y=J|s0,h0=Y>>>8,i0=h0&16711935,e0=Y<<8,c0=e0&-16711936,$0=i0|c0,l0=$0>>>4,X=l0&252645135,m0=$0<<4,g0=m0&-252645136,I0=X|g0,n0=I0>>>2,f0=n0&858993459,p0=I0<<2,b0=p0&-858993460,y0=f0|b0,D0=y0>>>1,E0=D0&1431655765,Q0=y0<<1,w0=Q0&-1431655766,B0=E0|w0,x0=E1-d1|0,Z0=(x0|0)>1,Z0)for(R0=t+20|0,G0=e[R0>>2]|0,O0=x0,f1=E1,g1=d1;;)if(U0=O0>>1,H0=U0+g1|0,k0=G0+(H0<<2)|0,K0=e[k0>>2]|0,N0=K0>>>0>B0>>>0,M0=N0?0:U0,P0=M0+g1|0,W0=N0?U0:0,V0=f1-W0|0,j0=V0-P0|0,q0=(j0|0)>1,q0)O0=j0,f1=V0,g1=P0;else{A1=P0;break}else A1=d1;return Y0=t+28|0,o1=e[Y0>>2]|0,z0=o1+A1|0,r1=I[z0>>0]|0,L0=r1<<24>>24,s1=(L0|0)>($1|0),s1?(RC(s,$1),A=-1,A|0):(RC(s,L0),A=A1,A|0)}function cb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0;for(h1=C,y=s+28|0,B=e[y>>2]|0,G=s+4|0,J=e[G>>2]|0,m0=t+4|0,e[m0>>2]=128,Q0=t+8|0,e[Q0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,V0=t+12|0,e[V0>>2]=J0,e[t>>2]=J,j0=t+164|0,e[j0>>2]=128,b=B+4|0,D=e[b>>2]|0,k=(D|0)/2&-1,v=t+176|0,e[v>>2]=k,_=c9(128,4)|0,Q=t+36|0,e[Q>>2]=_,L=t+16|0,NC(L,128),R=e[Q>>2]|0,z0=0;M=+(z0|0),T=M*.024736950028266088,O=+Vn(+T),q=O,V=R+(z0<<2)|0,K=q*q,o[V>>2]=K,t0=z0+1|0,o1=(t0|0)==128,!o1;)z0=t0;for(Z=t+40|0,e[Z>>2]=2,A0=t+44|0,e[A0>>2]=4,j=t+56|0,e[j>>2]=4,r0=t+60|0,e[r0>>2]=5,o0=t+72|0,e[o0>>2]=6,s0=t+76|0,e[s0>>2]=6,Y=t+88|0,e[Y>>2]=9,h0=t+92|0,e[h0>>2]=8,i0=t+104|0,e[i0>>2]=13,e0=t+108|0,e[e0>>2]=8,d0=t+120|0,e[d0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,L0=0;;){if(X=g0<<2,I0=Re(X)|0,n0=((t+40|0)+(L0<<4)|0)+8|0,e[n0>>2]=I0,f0=(g0|0)>0,f0){for(p0=+(g0|0),C0=((t+40|0)+(L0<<4)|0)+12|0,E=+o[C0>>2],R0=E,r1=0;;)if(b0=+(r1|0),y0=b0+.5,D0=y0/p0,E0=D0*3.141592653589793,w0=+Vn(+E0),B0=w0,x0=I0+(r1<<2)|0,o[x0>>2]=B0,Z0=R0+B0,v0=r1+1|0,q0=(v0|0)==(g0|0),q0){A=Z0;break}else R0=Z0,r1=v0;o[C0>>2]=A,p=C0,U0=A}else g=((t+40|0)+(L0<<4)|0)+12|0,m=+o[g>>2],p=g,U0=m;if(G0=1/U0,o[p>>2]=G0,O0=L0+1|0,Y0=(O0|0)==7,Y0)break;$=((t+40|0)+(O0<<4)|0)+4|0,h=e[$>>2]|0,g0=h,L0=O0}H0=J*7|0,K0=c9(H0,144)|0,N0=t+152|0,e[N0>>2]=K0,M0=e[j0>>2]|0,P0=c9(M0,4)|0,W0=t+160|0,e[W0>>2]=P0}function gb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0;q=C,s=t+16|0,GC(s),A=t+48|0,k=e[A>>2]|0,E2(k),_=t+64|0,Q=e[_>>2]|0,E2(Q),L=t+80|0,R=e[L>>2]|0,E2(R),M=t+96|0,T=e[M>>2]|0,E2(T),G=t+112|0,$=e[G>>2]|0,E2($),g=t+128|0,h=e[g>>2]|0,E2(h),p=t+144|0,m=e[p>>2]|0,E2(m),E=t+36|0,y=e[E>>2]|0,E2(y),B=t+152|0,b=e[B>>2]|0,E2(b),D=t+160|0,v=e[D>>2]|0,E2(v),g4(t|0,0,180)|0}function ub(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0;if(t2=C,h=t+4|0,p=e[h>>2]|0,T=p+28|0,o0=e[T>>2]|0,X=o0+2868|0,E0=t+104|0,H0=e[E0>>2]|0,Y0=e[H0>>2]|0,A1=Y0+168|0,k1=e[A1>>2]|0,m=Y0+8|0,b=e[m>>2]|0,D=(k1|0)/(b|0)&-1,k=t+20|0,v=e[k>>2]|0,_=(v|0)/(b|0)&-1,Q=_+-4|0,L=(D|0)<0,s=L?0:D,R=_+2|0,M=Y0+164|0,G=e[M>>2]|0,O=(R|0)>(G|0),O&&(e[M>>2]=R,q=Y0+160|0,V=e[q>>2]|0,K=R<<2,t0=W7(V,K)|0,e[q>>2]=t0),Z=(s|0)<(Q|0),Z)for(A0=Y0+156|0,j=Y0+160|0,r0=t+8|0,J=Y0+40|0,s0=Y0+152|0,x1=s;;){if(Y=e[A0>>2]|0,h0=Y+1|0,i0=(Y|0)>23,$=i0?24:h0,e[A0>>2]=$,e0=e[Y0>>2]|0,d0=(e0|0)>0,d0){for(G1=0,Y1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,I0=e[g0>>2]|0,n0=e[m>>2]|0,f0=s5(n0,x1)|0,p0=I0+(f0<<2)|0,C0=e[s0>>2]|0,b0=G1*7|0,y0=C0+(b0*144|0)|0,D0=fb(Y0,X,p0,J,y0)|0,Q0=D0|Y1,w0=G1+1|0,B0=e[Y0>>2]|0,x0=(w0|0)<(B0|0),x0)G1=w0,Y1=Q0;else{g=Q0;break}Z0=x1+2|0,R0=e[j>>2]|0,v0=R0+(Z0<<2)|0,e[v0>>2]=0,G0=g&1,U0=(G0|0)==0,U0||(O0=R0+(x1<<2)|0,e[O0>>2]=1,k0=x1+1|0,K0=R0+(k0<<2)|0,e[K0>>2]=1),N0=g&2,M0=(N0|0)==0,M0||(P0=R0+(x1<<2)|0,e[P0>>2]=1,W0=(x1|0)>0,W0&&(J0=x1+-1|0,V0=R0+(J0<<2)|0,e[V0>>2]=1)),j0=g&4,q0=(j0|0)==0,q0||(e[A0>>2]=-1)}else c0=x1+2|0,$0=e[j>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(o1=x1+1|0,X1=(o1|0)==(Q|0),X1)break;x1=o1}if(z0=e[m>>2]|0,r1=s5(z0,Q)|0,e[A1>>2]=r1,L0=t+48|0,s1=e[L0>>2]|0,h1=t+40|0,u1=e[h1>>2]|0,E1=o0+(u1<<2)|0,f1=e[E1>>2]|0,d1=(f1|0)/4&-1,g1=d1+s1|0,a1=o0+4|0,$1=e[a1>>2]|0,X0=($1|0)/2&-1,B1=g1+X0|0,p1=e[o0>>2]|0,Q1=(p1|0)/4&-1,C1=B1+Q1|0,y1=Y0+176|0,v1=e[y1>>2]|0,S1=r1-z0|0,L1=(v1|0)<(S1|0),!L1)return A=-1,A|0;for(M1=Y0+160|0,J1=v1;;){if(R1=(J1|0)<(C1|0),!R1){A=1,z1=22;break}if(e[y1>>2]=J1,F1=(J1|0)/(z0|0)&-1,P1=e[M1>>2]|0,D1=P1+(F1<<2)|0,O1=e[D1>>2]|0,E=(O1|0)!=0,y=(J1|0)>(s1|0),V1=y&E,b1=z0+J1|0,V1){H1=J1,z1=21;break}if(_1=(b1|0)<(S1|0),_1)J1=b1;else{A=-1,z1=22;break}}return(z1|0)==21?(B=Y0+172|0,e[B>>2]=H1,A=0,A|0):(z1|0)==22?A|0:0}function db(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0;if(Q0=C,g=t+104|0,h=e[g>>2]|0,Q=e[h>>2]|0,Z=t+4|0,d0=e[Z>>2]|0,g0=d0+28|0,I0=e[g0>>2]|0,n0=t+48|0,f0=e[n0>>2]|0,p0=t+40|0,p=e[p0>>2]|0,m=I0+(p<<2)|0,E=e[m>>2]|0,y=(E|0)/4&-1,B=f0-y|0,b=y+f0|0,D=(p|0)==0,D?(V=e[I0>>2]|0,K=(V|0)/4&-1,A=K,$=K):(k=t+36|0,v=e[k>>2]|0,_=I0+(v<<2)|0,L=e[_>>2]|0,R=(L|0)/4&-1,M=t+44|0,T=e[M>>2]|0,G=I0+(T<<2)|0,O=e[G>>2]|0,q=(O|0)/4&-1,A=q,$=R),C0=B-$|0,b0=b+A|0,t0=Q+172|0,A0=e[t0>>2]|0,j=(A0|0)>=(C0|0),r0=(A0|0)<(b0|0),D0=j&r0,D0)return s=1,s|0;if(o0=Q+8|0,J=e[o0>>2]|0,s0=(C0|0)/(J|0)&-1,Y=(b0|0)/(J|0)&-1,h0=(s0|0)<(Y|0),!h0)return s=0,s|0;for(i0=Q+160|0,e0=e[i0>>2]|0,y0=s0;;){if(l0=e0+(y0<<2)|0,X=e[l0>>2]|0,m0=(X|0)==0,c0=y0+1|0,!m0){s=1,E0=9;break}if($0=(c0|0)<(Y|0),$0)y0=c0;else{s=0,E0=9;break}}return(E0|0)==9?s|0:0}function hb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0;if(V=C,A=t+168|0,$=e[A>>2]|0,v=t+8|0,Q=e[v>>2]|0,L=($|0)/(Q|0)&-1,R=L+2|0,M=(s|0)/(Q|0)&-1,T=t+160|0,G=e[T>>2]|0,O=G+(M<<2)|0,g=R-M|0,h=g<<2,lA(G|0,O|0,h|0)|0,p=e[A>>2]|0,m=p-s|0,e[A>>2]=m,E=t+172|0,y=e[E>>2]|0,B=(y|0)>-1,!B){D=t+176|0,k=e[D>>2]|0,_=k-s|0,e[D>>2]=_;return}b=y-s|0,e[E>>2]=b,D=t+176|0,k=e[D>>2]|0,_=k-s|0,e[D>>2]=_}function fb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0;if(m3=C,Z=t+4|0,A0=e[Z>>2]|0,u2=t+12|0,G2=+o[u2>>2],Y2=A0<<2,L=Y2,b2=C,C=C+((1*L|0)+15&-16)|0,R5=t+156|0,h2=e[R5>>2]|0,T2=(h2|0)>5,G5=(h2|0)/2&-1,h=T2?G5:2,j=s+60|0,$0=+o[j>>2],y0=G5+-2|0,U0=+(y0|0),j0=$0-U0,f1=j0<0,C6=f1?0:j0,y1=C6>$0,b3=y1?$0:C6,D1=(A0|0)>0,D1)for(o2=t+36|0,g2=e[o2>>2]|0,Y5=0;s2=A+(Y5<<2)|0,l2=+o[s2>>2],i2=g2+(Y5<<2)|0,a2=+o[i2>>2],m2=a2*l2,r2=b2+(Y5<<2)|0,o[r2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(A0|0),!Q3;)Y5=k2;D2=t+16|0,My(D2,b2,b2),S2=+o[b2>>2],y2=S2*S2,M2=y2,O2=b2+4|0,p2=+o[O2>>2],W2=p2,q2=W2*W2,K2=q2*.7,U2=K2+M2,V2=b2+8|0,Z2=+o[V2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=U2+t5,i5=T5,L5=g+140|0,j2=e[L5>>2]|0,p5=(j2|0)==0,p5?(_5=g+136|0,V5=+o[_5>>2],u5=V5+i5,y5=g+132|0,o[y5>>2]=u5,o[_5>>2]=i5,O=y5,z2=u5):(o5=g+132|0,F2=+o[o5>>2],R2=F2+i5,o[o5>>2]=R2,Q2=g+136|0,Q5=+o[Q2>>2],N5=Q5+i5,o[Q2>>2]=N5,O=o5,z2=R2),E5=(g+72|0)+(j2<<2)|0,M5=+o[E5>>2],q5=z2-M5,o[O>>2]=q5,o[E5>>2]=i5,C5=e[L5>>2]|0,$5=C5+1|0,d5=(C5|0)>13,p=d5?0:$5,e[L5>>2]=p,w5=(A0|0)/2&-1,T1=(A0|0)>1;e:do if(T1)for(x5=z2*.0625,h5=(o[w2>>2]=x5,e[w2>>2]|0),l5=h5&2147483647,X2=+(l5>>>0),v5=X2*7177114298428933e-22,r5=v5+-764.6162109375,a5=r5,f5=a5*.5,J2=f5+-15,I5=J2,R=I5,G0=S2,D5=0;;){if(v0=G0*G0,O0=D5|1,H0=b2+(O0<<2)|0,k0=+o[H0>>2],K0=k0*k0,N0=K0+v0,M0=(o[w2>>2]=N0,e[w2>>2]|0),P0=M0&2147483647,W0=+(P0>>>0),J0=W0*35885571492144663e-23,V0=J0+-382.30810546875,q0=V0>1,z0=b2+(o1<<2)|0,o[z0>>2]=t0,r1=D5+2|0,L0=(r1|0)<(w5|0),!L0)break e;s1=R+-8,T=b2+(r1<<2)|0,G=+o[T>>2],R=s1,G0=G,D5=r1}while(!1);if(n5=(h|0)>0,n5)l3=0,K3=0;else{for(n3=0,r6=0;;){if(h1=($+(n3<<4)|0)+4|0,u1=e[h1>>2]|0,E1=(u1|0)>0,E1)for(d1=$+(n3<<4)|0,A1=e[d1>>2]|0,g1=($+(n3<<4)|0)+8|0,a1=e[g1>>2]|0,c3=0,z3=0;;)if($1=A1+z3|0,X0=b2+($1<<2)|0,B1=+o[X0>>2],p1=a1+(z3<<2)|0,Q1=+o[p1>>2],C1=Q1*B1,v1=C1+c3,k1=z3+1|0,S1=(k1|0)<(u1|0),S1)c3=v1,z3=k1;else{G3=v1;break}else G3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+o[L1>>2],b1=M1*G3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,y=F1?16:-1,m=y+R1|0,P1=(g+(n3*144|0)|0)+(m<<2)|0,O1=+o[P1>>2],X1=b1O1,b=x1?O1:b1,J1=b+-99999,H1=G1+99999,V1=(g+(n3*144|0)|0)+(R1<<2)|0,o[V1>>2]=b1,Y1=e[_1>>2]|0,z1=Y1+1|0,t2=(Y1|0)>15,_=t2?0:z1,e[_1>>2]=_,e2=(s+4|0)+(n3<<2)|0,q1=+o[e2>>2],d2=q1+b3,Z1=H1>d2,I2=r6|5,j5=Z1?I2:r6,A2=(s+32|0)+(n3<<2)|0,C2=+o[A2>>2],$2=C2-b3,W1=J1<$2,f2=j5|2,d3=W1?f2:j5,n2=n3+1|0,u3=(n2|0)==7,u3){A6=d3;break}else n3=n2,r6=d3}return C=m3,A6|0}for(;;){if(F5=($+(l3<<4)|0)+4|0,e5=e[F5>>2]|0,c5=(e5|0)>0,c5)for(b0=$+(l3<<4)|0,c0=e[b0>>2]|0,D0=($+(l3<<4)|0)+8|0,g0=e[D0>>2]|0,g3=0,U5=0;;)if(d0=c0+U5|0,l0=b2+(d0<<2)|0,X=+o[l0>>2],m0=g0+(U5<<2)|0,I0=+o[m0>>2],n0=I0*X,f0=n0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=f0,U5=p0;else{Y3=f0;break}else Y3=0;for(E0=($+(l3<<4)|0)+12|0,Q0=+o[E0>>2],h3=Q0*Y3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,x0=+o[B0>>2],Z0=h3x0,D=R0?x0:h3,l6=0,U3=E,L3=-99999,D3=99999;;)if(o0=(U3|0)<1,v=o0?16:-1,k=v+U3|0,J=(g+(l3*144|0)|0)+(k<<2)|0,s0=+o[J>>2],Y=L3s0,q=i0?s0:D3,e0=l6+1|0,K5=(e0|0)==(h|0),K5){M=h0,V=q;break}else l6=e0,U3=k,L3=h0,D3=q;if(k5=D-V,z5=i3-M,B5=(g+(l3*144|0)|0)+(I3<<2)|0,o[B5>>2]=h3,W5=e[r3>>2]|0,a3=W5+1|0,y3=(W5|0)>15,Q=y3?0:a3,e[r3>>2]=Q,Z5=(s+4|0)+(l3<<2)|0,x3=+o[Z5>>2],f3=x3+b3,w3=z5>f3,e6=K3|5,M3=w3?e6:K3,V3=(s+32|0)+(l3<<2)|0,X5=+o[V3>>2],_3=X5-b3,t3=k5<_3,a6=M3|2,J3=t3?a6:M3,r0=l3+1|0,H5=(r0|0)==7,H5){A6=J3;break}else l3=r0,K3=J3}return C=m3,A6|0}function Al(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0;if(A9=C,C=C+4912|0,z6=A9+1328|0,b9=A9+1064|0,m9=A9+804|0,Pt=A9+544|0,F4=A9+284|0,t8=A9+24|0,$8=A9+20|0,Zt=A9+16|0,Ot=A9+12|0,qt=A9+8|0,T4=A9+4|0,ot=A9,A0=s+1296|0,j=e[A0>>2]|0,y2=s+1288|0,n6=e[y2>>2]|0,O3=s+1284|0,w6=e[O3>>2]|0,ve=(w6|0)>0,ve){for(mt=0;n4=b9+(mt<<2)|0,e[n4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(w6|0),!S4;)mt=k4;if(ve){for(j3=0;B9=m9+(j3<<2)|0,e[B9>>2]=-200,r0=j3+1|0,I9=(r0|0)==(w6|0),!I9;)j3=r0;if(ve){for(l0=w6<<2,g4(Pt|0,0,l0|0)|0,xe=0;D0=F4+(xe<<2)|0,e[D0>>2]=1,O0=xe+1|0,z4=(O0|0)==(w6|0),!z4;)xe=O0;if(ve){if(d1=w6<<2,g4(t8|0,-1,d1|0)|0,v1=(w6|0)>1,!v1)return A4=0,C=A9,A4|0;for(O1=n6+-1|0,e2=j+1112|0,n2=w6+-1|0,G=e[s>>2]|0,k9=G,be=0,b4=0;;){F9=be+1|0,T9=s+(F9<<2)|0,U9=e[T9>>2]|0,H9=z6+(be*56|0)|0,O4=H9,G8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(G8|0));if(e[H9>>2]=k9,V9=(z6+(be*56|0)|0)+4|0,e[V9>>2]=U9,Ke=(U9|0)<(n6|0),o8=Ke?U9:O1,Y9=(o8|0)<(k9|0),Y9)_t=0,n8=0,Mt=0,Rt=0,yt=0,P4=0,a8=0,je=0,jt=0,Tt=0,Z8=0,j8=0;else for(x9=k9,pt=0,K4=0,W9=0,o9=0,D4=0,gt=0,C3=0,Te=0,dt=0,De=0,u8=0,Nt=0;;){h9=$+(x9<<2)|0,K=+o[h9>>2],P9=K*7.314285755157471,C9=P9+1023.5,v4=~~C9,Ze=(v4|0)>1023,ke=(v4|0)<0,p=ke?0:v4,b=Ze?1023:p,V4=(b|0)==0;do if(V4)Kt=pt,at=K4,$t=W9,Bt=o9,W4=D4,D9=gt,wt=C3,Wt=Te,j9=dt,et=De,c4=u8,Xt=Nt;else if(nt=A+(x9<<2)|0,z9=+o[nt>>2],Y4=+o[e2>>2],K9=Y4+z9,s4=!(K9>=K),s4){d4=x9+gt|0,s9=b+Nt|0,h4=s5(x9,x9)|0,f4=h4+o9|0,S9=s5(b,b)|0,o0=S9+De|0,J=s5(b,x9)|0,s0=J+Te|0,Y=K4+1|0,Kt=pt,at=Y,$t=W9,Bt=f4,W4=D4,D9=d4,wt=C3,Wt=s0,j9=dt,et=o0,c4=u8,Xt=s9;break}else{R4=x9+D4|0,st=b+u8|0,n9=s5(x9,x9)|0,u4=n9+W9|0,T6=s5(b,b)|0,J9=T6+dt|0,Oe=s5(b,x9)|0,f9=Oe+C3|0,N9=pt+1|0,Kt=N9,at=K4,$t=u4,Bt=o9,W4=R4,D9=gt,wt=f9,Wt=Te,j9=J9,et=De,c4=st,Xt=Nt;break}while(!1);if(h0=x9+1|0,i0=(x9|0)<(o8|0),i0)x9=h0,pt=Kt,K4=at,W9=$t,o9=Bt,D4=W4,gt=D9,C3=wt,Te=Wt,dt=j9,De=et,u8=c4,Nt=Xt;else{_t=Kt,n8=at,Mt=$t,Rt=Bt,yt=W4,P4=D9,a8=wt,je=Wt,jt=j9,Tt=et,Z8=c4,j8=Xt;break}}if(e0=(z6+(be*56|0)|0)+8|0,e[e0>>2]=yt,d0=(z6+(be*56|0)|0)+12|0,e[d0>>2]=Z8,c0=(z6+(be*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(be*56|0)|0)+20|0,e[$0>>2]=jt,X=(z6+(be*56|0)|0)+24|0,e[X>>2]=a8,m0=(z6+(be*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(be*56|0)|0)+32|0,e[g0>>2]=P4,I0=(z6+(be*56|0)|0)+36|0,e[I0>>2]=j8,n0=(z6+(be*56|0)|0)+40|0,e[n0>>2]=Rt,f0=(z6+(be*56|0)|0)+44|0,e[f0>>2]=Tt,p0=(z6+(be*56|0)|0)+48|0,e[p0>>2]=je,C0=(z6+(be*56|0)|0)+52|0,e[C0>>2]=n8,b0=_t+b4|0,I6=(F9|0)==(n2|0),I6){E8=b0;break}else k9=U9,be=F9,b4=b0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(q0=(w6|0)==0,!q0)return A4=0,C=A9,A4|0;G2=z6+4|0,O4=z6,G8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(G8|0));if(e[G2>>2]=n6,Y2=(n6|0)<1,Y2)Yt=0,r8=0,Jt=0,Ct=0,ct=0,a9=0,Qt=0,$4=0,l8=0,c8=0,Y8=0,z8=0;else for(b2=j+1112|0,p9=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,Z9=0,l4=0,ut=0,X4=0,F8=0,ht=0;;){R5=$+(p9<<2)|0,V=+o[R5>>2],h2=V*7.314285755157471,T2=h2+1023.5,G5=~~T2,G3=(G5|0)>1023,U5=(G5|0)<0,h=U5?0:G5,B=G3?1023:h,K3=(B|0)==0;do if(K3)zt=xt,G4=Et,U4=At,lt=m4,J4=p4,_4=E4,Z4=Z9,j4=l4,Ft=ut,g8=X4,T8=F8,N8=ht;else if(f6=A+(p9<<2)|0,Z3=+o[f6>>2],$6=+o[b2>>2],ue=$6+Z3,U6=!(ue>=V),U6){Be=p9+E4|0,ye=B+ht|0,Qe=s5(p9,p9)|0,fe=Qe+m4|0,Ie=s5(B,B)|0,Ve=Ie+X4|0,q6=s5(B,p9)|0,Ae=q6+l4|0,Ye=Et+1|0,zt=xt,G4=Ye,U4=At,lt=fe,J4=p4,_4=Be,Z4=Z9,j4=Ae,Ft=ut,g8=Ve,T8=F8,N8=ye;break}else{Y6=p9+p4|0,F6=B+F8|0,te=s5(p9,p9)|0,_6=te+At|0,P6=s5(B,B)|0,O6=P6+ut|0,ae=s5(B,p9)|0,he=ae+Z9|0,ne=xt+1|0,zt=ne,G4=Et,U4=_6,lt=m4,J4=Y6,_4=E4,Z4=he,j4=l4,Ft=O6,g8=X4,T8=F6,N8=ht;break}while(!1);if(we=p9+1|0,Se=(we|0)==(n6|0),Se){Yt=zt,r8=G4,Jt=U4,Ct=lt,ct=J4,a9=_4,Qt=Z4,$4=j4,l8=Ft,c8=g8,Y8=T8,z8=N8;break}else p9=we,xt=zt,Et=G4,At=U4,m4=lt,p4=J4,E4=_4,Z9=Z4,l4=j4,ut=Ft,X4=g8,F8=T8,ht=N8}w9=z6+8|0,e[w9>>2]=ct,u9=z6+12|0,e[u9>>2]=Y8,E9=z6+16|0,e[E9>>2]=Jt,ze=z6+20|0,e[ze>>2]=l8,r9=z6+24|0,e[r9>>2]=Qt,Fe=z6+28|0,e[Fe>>2]=Yt,J6=z6+32|0,e[J6>>2]=a9,$e=z6+36|0,e[$e>>2]=z8,v9=z6+40|0,e[v9>>2]=Ct,R9=z6+44|0,e[R9>>2]=c8,d9=z6+48|0,e[d9>>2]=$4,_e=z6+52|0,e[_e>>2]=r8,E8=Yt}if(y0=(E8|0)==0,y0)return A4=0,C=A9,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=w6+-1|0,FC(z6,E0,$8,Zt,j)|0,Q0=e[$8>>2]|0,e[b9>>2]=Q0,e[m9>>2]=Q0,w0=e[Zt>>2]|0,B0=m9+4|0,e[B0>>2]=w0,x0=b9+4|0,e[x0>>2]=w0,Z0=(w6|0)>2;do if(Z0){R0=j+1112|0,v0=j+1096|0,G0=j+1100|0,U0=j+1104|0,q9=2;e:for(;;){H0=(s+520|0)+(q9<<2)|0,k0=e[H0>>2]|0,K0=Pt+(k0<<2)|0,N0=e[K0>>2]|0,M0=F4+(k0<<2)|0,P0=e[M0>>2]|0,W0=t8+(N0<<2)|0,J0=e[W0>>2]|0,V0=(J0|0)==(P0|0);t:do if(!V0){if(j0=(s+520|0)+(N0<<2)|0,Y0=e[j0>>2]|0,o1=(s+520|0)+(P0<<2)|0,z0=e[o1>>2]|0,e[W0>>2]=P0,r1=(j+836|0)+(N0<<2)|0,L0=e[r1>>2]|0,s1=(j+836|0)+(P0<<2)|0,h1=e[s1>>2]|0,u1=b9+(N0<<2)|0,E1=e[u1>>2]|0,f1=(E1|0)<0,A1=m9+(N0<<2)|0,g1=e[A1>>2]|0,f1?v=g1:(a1=(g1|0)<0,a1?v=E1:($1=g1+E1|0,X0=$1>>1,v=X0)),B1=b9+(P0<<2)|0,p1=e[B1>>2]|0,Q1=(p1|0)<0,C1=m9+(P0<<2)|0,y1=e[C1>>2]|0,Q1?Q=y1:(k1=(y1|0)<0,k1?Q=p1:(S1=y1+p1|0,L1=S1>>1,Q=L1)),M1=(v|0)==-1,b1=(Q|0)==-1,M8=M1|b1,M8){C4=38;break e}_1=Q-v|0,R1=h1-L0|0,N4=(_1|0)>-1,Le=0-_1|0,F1=N4?_1:Le,P1=(_1|0)/(R1|0)&-1,D1=_1>>31,X1=D1|1,G1=$+(L0<<2)|0,Z=+o[G1>>2],x1=Z*7.314285755157471,J1=x1+1023.5,H1=~~J1,V1=(H1|0)>1023,Y1=(H1|0)<0,m=Y1?0:H1,D=V1?1023:m,z1=s5(P1,R1)|0,f8=(z1|0)>-1,p8=0-z1|0,t2=f8?z1:p8,o2=F1-t2|0,q1=v-D|0,d2=s5(q1,q1)|0,Z1=A+(L0<<2)|0,I2=+o[Z1>>2],A2=+o[R0>>2],C2=A2+I2,$2=!(C2>=Z),$2?C4=42:(W1=+(v|0),f2=+o[v0>>2],g2=f2+W1,u2=+(D|0),s2=g2>2],i2=W1-l2,a2=i2>u2,a2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=L0+1|0,r2=(m2|0)<(h1|0),r2)for(p2=m2,o4=0,L8=d2,Vt=1,C8=v;;){if(k2=o4+o2|0,D2=(k2|0)<(R1|0),S2=D2?0:X1,M2=D2?0:R1,O9=k2-M2|0,T=C8+P1|0,A8=T+S2|0,O2=$+(p2<<2)|0,t0=+o[O2>>2],W2=t0*7.314285755157471,q2=W2+1023.5,K2=~~q2,U2=(K2|0)>1023,V2=(K2|0)<0,E=V2?0:K2,_=U2?1023:E,Z2=A8-_|0,A5=s5(Z2,Z2)|0,N1=A5+L8|0,t5=Vt+1|0,T5=A+(p2<<2)|0,i5=+o[T5>>2],L5=i5+A2,j2=L5>=t0,p5=(_|0)!=0,s8=j2&p5,s8&&(_5=+(A8|0),V5=+o[v0>>2],u5=V5+_5,y5=+(_|0),o5=u5>2],R2=_5-F2,Q2=R2>y5,Q2)))break i;if(Q5=p2+1|0,N5=(Q5|0)<(h1|0),N5)p2=Q5,o4=O9,L8=N1,Vt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=d2,Ht=1;if(E5=+o[v0>>2],M5=E5*E5,q5=+(Ht|0),z2=M5/q5,C5=+o[U0>>2],$5=z2>C5,!$5&&(d5=+o[G0>>2],w5=d5*d5,T1=w5/q5,x5=T1>C5,!x5&&(h5=(i8|0)/(Ht|0)&-1,l5=+(h5|0),X2=l5>C5,X2)))break;g3=b9+(q9<<2)|0,e[g3>>2]=-200,u3=m9+(q9<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[ot>>2]=-200,v5=z6+(Y0*56|0)|0,r5=k0-Y0|0,a5=FC(v5,r5,Ot,qt,j)|0,f5=z6+(k0*56|0)|0,J2=z0-k0|0,I5=FC(f5,J2,T4,ot,j)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=v,F5=e[T4>>2]|0,e[qt>>2]=F5),e5=(I5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[ot>>2]=Q,n5)){k5=b9+(q9<<2)|0,e[k5>>2]=-200,z5=m9+(q9<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,B5=(N0|0)==0,B5&&(e[b9>>2]=i3),I3=e[qt>>2]|0,h3=b9+(q9<<2)|0,e[h3>>2]=I3,W5=e[T4>>2]|0,r3=m9+(q9<<2)|0,e[r3>>2]=W5,a3=e[ot>>2]|0,e[B1>>2]=a3,y3=(P0|0)==1,y3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(x8=e8+-1|0,e6=F4+(x8<<2)|0,V3=e[e6>>2]|0,X5=(V3|0)==(P0|0),!X5)break i;if(e[e6>>2]=q9,_3=(e8|0)>1,_3)e8=x8;else break}while(!1);if(m8=k0+1|0,w3=(m8|0)<(w6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,a6=e[t3>>2]|0,Y3=(a6|0)==(N0|0),!Y3)break t;if(e[t3>>2]=q9,I8=Ut+1|0,c3=(I8|0)<(w6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=q9+1|0,K5=(Q3|0)<(w6|0),K5)q9=Q3;else{C4=68;break}}if((C4|0)==38)NS(1);else if((C4|0)==68){O=e[b9>>2]|0,q=e[m9>>2]|0,D5=O,l6=q;break}}else D5=Q0,l6=Q0;while(!1);if(H5=w6<<2,Y5=W8(t,H5)|0,z3=(D5|0)<0,z3?k=l6:(n3=(l6|0)<0,n3?k=D5:(l3=l6+D5|0,U3=l3>>1,k=U3)),e[Y5>>2]=k,C6=e[x0>>2]|0,b3=(C6|0)<0,L3=e[B0>>2]|0,b3?R=L3:(D3=(L3|0)<0,D3?R=C6:(A6=L3+C6|0,r6=A6>>1,R=r6)),j5=Y5+4|0,e[j5>>2]=R,Z0)a4=2;else return A4=Y5,C=A9,A4|0;for(;;)if(M3=a4+-2|0,d3=(s+1032|0)+(M3<<2)|0,J3=e[d3>>2]|0,h6=(s+780|0)+(M3<<2)|0,m3=e[h6>>2]|0,x6=(j+836|0)+(J3<<2)|0,L6=e[x6>>2]|0,M6=(j+836|0)+(m3<<2)|0,S6=e[M6>>2]|0,b6=Y5+(J3<<2)|0,N6=e[b6>>2]|0,j6=Y5+(m3<<2)|0,k6=e[j6>>2]|0,R3=(j+836|0)+(a4<<2)|0,s6=e[R3>>2]|0,o6=N6&32767,B6=k6&32767,W3=B6-o6|0,F3=S6-L6|0,h8=(W3|0)>-1,Lt=0-W3|0,t6=h8?W3:Lt,R6=s6-L6|0,c6=s5(t6,R6)|0,s3=(c6|0)/(F3|0)&-1,K6=(W3|0)<0,A3=0-s3|0,M=K6?A3:s3,L=M+o6|0,g6=b9+(a4<<2)|0,y6=e[g6>>2]|0,T3=(y6|0)<0,H6=m9+(a4<<2)|0,D6=e[H6>>2]|0,T3?y=D6:(G6=(D6|0)<0,G6?y=y6:(ee=D6+y6|0,Q6=ee>>1,y=Q6)),X6=(y|0)<0,P3=(L|0)==(y|0),R8=X6|P3,re=L|32768,g=R8?re:y,V6=Y5+(a4<<2)|0,e[V6>>2]=g,oe=a4+1|0,I4=(oe|0)==(w6|0),I4){A4=Y5;break}else a4=oe;return C=A9,A4|0}function Gt(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0;if(d0=C,h=s+1284|0,p=e[h>>2]|0,L=(A|0)!=0,t0=($|0)!=0,h0=L&t0,!h0)return i0=0,i0|0;if(Z=p<<2,A0=W8(t,Z)|0,j=(p|0)>0,!j)return i0=A0,i0|0;for(r0=65536-g|0,Y=0;;)if(o0=A+(Y<<2)|0,J=e[o0>>2]|0,m=J&32767,E=s5(m,r0)|0,y=$+(Y<<2)|0,B=e[y>>2]|0,b=B&32767,D=s5(b,g)|0,k=E+32768|0,v=k+D|0,_=v>>16,Q=A0+(Y<<2)|0,e[Q>>2]=_,R=e[o0>>2]|0,M=R&32768,T=(M|0)==0,T||(G=e[y>>2]|0,O=G&32768,q=(O|0)==0,q||(V=_|32768,e[Q>>2]=V)),K=Y+1|0,s0=(K|0)==(p|0),s0){i0=A0;break}else Y=K;return i0|0}function Ib(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0;if(O6=C,C=C+336|0,U6=O6+64|0,d3=O6+32|0,P3=O6,_=A+1296|0,Q=e[_>>2]|0,f2=A+1284|0,F2=e[f2>>2]|0,$5=s+64|0,a5=e[$5>>2]|0,i3=a5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,L=l3+2848|0,A0=e[L>>2]|0,c0=($|0)==0,c0)return H2(t,0,1),T5=s+36|0,i5=e[T5>>2]|0,L5=(i5|0)/2&-1,j2=L5<<2,g4(g|0,0,j2|0)|0,p=0,C=O6,p|0;if(b0=(F2|0)>0,b0)for(G0=Q+832|0,B6=0;V0=$+(B6<<2)|0,E1=e[V0>>2]|0,C1=E1&32767,P1=e[G0>>2]|0,(P1|0)==4?(Z2=C1>>>4,Y6=Z2):(P1|0)==1?(t2=C1>>>2,Y6=t2):(P1|0)==2?(g2=C1>>>3,Y6=g2):(P1|0)==3?(S2=(C1>>>0)/12&-1,Y6=S2):Y6=C1,p5=E1&32768,_5=p5|Y6,e[V0>>2]=_5,V5=B6+1|0,k6=(V5|0)==(F2|0),!k6;)B6=V5;if(u5=e[$>>2]|0,e[U6>>2]=u5,b2=$+4|0,y5=e[b2>>2]|0,o5=U6+4|0,e[o5>>2]=y5,R2=(F2|0)>2,Q2=A+1292|0,R2){for(W3=2;;){if(Q5=W3+-2|0,N5=(A+1032|0)+(Q5<<2)|0,E5=e[N5>>2]|0,M5=(A+780|0)+(Q5<<2)|0,q5=e[M5>>2]|0,R5=(Q+836|0)+(E5<<2)|0,z2=e[R5>>2]|0,C5=(Q+836|0)+(q5<<2)|0,d5=e[C5>>2]|0,w5=$+(E5<<2)|0,T1=e[w5>>2]|0,x5=$+(q5<<2)|0,h5=e[x5>>2]|0,l5=(Q+836|0)+(W3<<2)|0,X2=e[l5>>2]|0,h2=T1&32767,v5=h5&32767,r5=v5-h2|0,f5=d5-z2|0,Z3=(r5|0)>-1,re=0-r5|0,J2=Z3?r5:re,I5=X2-z2|0,n5=s5(J2,I5)|0,F5=(n5|0)/(f5|0)&-1,e5=(r5|0)<0,c5=0-F5|0,E=e5?c5:F5,m=E+h2|0,T2=$+(W3<<2)|0,k5=e[T2>>2]|0,z5=k5&32768,B5=(z5|0)!=0,I3=(k5|0)==(m|0),ue=B5|I3,ue)h3=m|32768,e[T2>>2]=h3,W5=U6+(W3<<2)|0,e[W5>>2]=0;else{r3=e[Q2>>2]|0,a3=r3-m|0,y3=(a3|0)<(m|0),h=y3?a3:m,G5=k5-m|0,Z5=(G5|0)<0;do if(Z5)if(x3=0-h|0,w3=(G5|0)<(x3|0),w3){e6=G5^-1,V3=h+e6|0,F6=V3;break}else{X5=G5<<1,_3=X5^-1,F6=_3;break}else if(t3=(h|0)>(G5|0),t3){G3=G5<<1,F6=G3;break}else{a6=h+G5|0,F6=a6;break}while(!1);Y3=U6+(W3<<2)|0,e[Y3>>2]=F6,e[w5>>2]=h2,c3=e[x5>>2]|0,u3=c3&32767,e[x5>>2]=u3}if(Q3=W3+1|0,j6=(Q3|0)==(F2|0),j6)break;W3=Q3}b=e[U6>>2]|0,D=e[o5>>2]|0,A6=b,M3=D}else A6=u5,M3=y5;if(H2(t,1,1),K5=A+1308|0,H5=e[K5>>2]|0,Y5=H5+1|0,e[K5>>2]=Y5,D5=e[Q2>>2]|0,z3=D5+-1|0,U5=V8(z3)|0,l6=U5<<1,n3=A+1304|0,U3=e[n3>>2]|0,C6=U3+l6|0,e[n3>>2]=C6,b3=e[Q2>>2]|0,L3=b3+-1|0,D3=V8(L3)|0,H2(t,A6,D3),r6=e[Q2>>2]|0,K3=r6+-1|0,j5=V8(K3)|0,H2(t,M3,j5),R=e[Q>>2]|0,M=(R|0)>0,M)for(T=A+1300|0,F3=0,c6=2;;){if(G=(Q+4|0)+(F3<<2)|0,O=e[G>>2]|0,q=(Q+128|0)+(O<<2)|0,V=e[q>>2]|0,K=(Q+192|0)+(O<<2)|0,t0=e[K>>2]|0,Z=1<>2]=0,e[d3+4>>2]=0,e[d3+8>>2]=0,e[d3+12>>2]=0,e[d3+16>>2]=0,e[d3+20>>2]=0,e[d3+24>>2]=0,e[d3+28>>2]=0,j=(t0|0)==0,!j){if(e[P3>>2]=0,e[P3+4>>2]=0,e[P3+8>>2]=0,e[P3+12>>2]=0,e[P3+16>>2]=0,e[P3+20>>2]=0,e[P3+24>>2]=0,e[P3+28>>2]=0,r0=(t0|0)==31,!r0)for(A3=0;f0=((Q+320|0)+(O<<5)|0)+(A3<<2)|0,p0=e[f0>>2]|0,C0=(p0|0)<0,C0?v=1:(y0=(l3+1824|0)+(p0<<2)|0,D0=e[y0>>2]|0,E0=D0+4|0,Q0=e[E0>>2]|0,v=Q0),w0=P3+(A3<<2)|0,e[w0>>2]=v,B0=A3+1|0,x0=(B0|0)<(Z|0),x0;)A3=B0;o0=(V|0)>0;e:do if(o0){if(r0)for(J3=0,x6=0,g6=0;;)if(Z0=d3+(g6<<2)|0,R0=e[Z0>>2]|0,v0=R0<>2]|0,H6=0;;){if(J=P3+(H6<<2)|0,s0=e[J>>2]|0,h0=(Y|0)<(s0|0),h0){$6=H6,O3=31;break}if(i0=H6+1|0,e0=(i0|0)<(Z|0),e0)H6=i0;else{O3=33;break}}if((O3|0)==31?(O3=0,d0=d3+(y6<<2)|0,e[d0>>2]=$6,l0=$6):(O3|0)==33&&(O3=0,y=d3+(y6<<2)|0,k=e[y>>2]|0,l0=k),$0=l0<>2]|0,N0=A0+(K0*56|0)|0,M0=Ou(N0,m3,t)|0,P0=e[T>>2]|0,W0=P0+M0|0,e[T>>2]=W0}if(J0=(V|0)>0,J0)for(T3=0;j0=d3+(T3<<2)|0,q0=e[j0>>2]|0,Y0=((Q+320|0)+(O<<5)|0)+(q0<<2)|0,o1=e[Y0>>2]|0,z0=(o1|0)>-1,z0&&(r1=T3+c6|0,L0=U6+(r1<<2)|0,s1=e[L0>>2]|0,h1=(A0+(o1*56|0)|0)+4|0,u1=e[h1>>2]|0,f1=(s1|0)<(u1|0),f1&&(d1=A0+(o1*56|0)|0,A1=Ou(d1,s1,t)|0,g1=e[n3>>2]|0,a1=g1+A1|0,e[n3>>2]=a1)),$1=T3+1|0,b6=($1|0)==(V|0),!b6;)T3=$1;if(X0=V+c6|0,B1=F3+1|0,p1=e[Q>>2]|0,Q1=(B1|0)<(p1|0),Q1)F3=B1,c6=X0;else break}if(y1=e[$>>2]|0,v1=Q+832|0,k1=e[v1>>2]|0,S1=s5(k1,y1)|0,L1=s+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[f2>>2]|0,D1=(F1|0)>1,D1)for(s6=0,s3=1,D6=0,Q6=S1;;){if(J1=(A+260|0)+(s3<<2)|0,H1=e[J1>>2]|0,V1=$+(H1<<2)|0,Y1=e[V1>>2]|0,z1=Y1&32767,o2=(z1|0)==(Y1|0),o2)if(e2=e[v1>>2]|0,q1=s5(e2,Y1)|0,d2=(Q+836|0)+(H1<<2)|0,Z1=e[d2>>2]|0,I2=q1-Q6|0,A2=Z1-D6|0,t6=(I2|0)>-1,V6=0-I2|0,C2=t6?I2:V6,$2=(I2|0)/(A2|0)&-1,W1=I2>>31,n2=W1|1,u2=s5($2,A2)|0,R6=(u2|0)>-1,oe=0-u2|0,s2=R6?u2:oe,l2=C2-s2|0,i2=(R1|0)>(Z1|0),te=i2?Z1:R1,a2=(te|0)>(D6|0),a2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),r2=D6+1|0,k2=(r2|0)<(te|0),k2)for(p2=r2,M6=0,_6=Q6;;)if(D2=M6+l2|0,y2=(D2|0)<(A2|0),G2=y2?0:n2,M2=y2?0:A2,S6=D2-M2|0,B=_6+$2|0,P6=B+G2|0,O2=g+(p2<<2)|0,e[O2>>2]=P6,W2=p2+1|0,f6=(W2|0)==(te|0),f6){o6=Z1,G6=Z1,X6=q1;break}else p2=W2,M6=S6,_6=P6;else o6=Z1,G6=Z1,X6=q1;else o6=s6,G6=D6,X6=Q6;if(q2=s3+1|0,K2=e[f2>>2]|0,U2=(q2|0)<(K2|0),U2)s6=o6,s3=q2,D6=G6,Q6=X6;else{R3=o6,ee=X6;break}}else R3=0,ee=S1;if(O1=s+36|0,X1=e[O1>>2]|0,G1=(X1|0)/2&-1,x1=(R3|0)<(G1|0),x1)K6=R3;else return p=1,C=O6,p|0;for(;;)if(V2=g+(K6<<2)|0,e[V2>>2]=ee,A5=K6+1|0,Y2=e[O1>>2]|0,N1=(Y2|0)/2&-1,t5=(A5|0)<(N1|0),t5)K6=A5;else{p=1;break}return C=O6,p|0}function FC(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0;if(A5=C,y=e[t>>2]|0,B=s+-1|0,$0=(t+(B*56|0)|0)+4|0,y0=e[$0>>2]|0,U0=(s|0)>0,U0)for(j0=g+1108|0,f1=+o[j0>>2],n2=0,i2=0,m2=0,S2=0,O2=0,K2=0;;)if(y1=(t+(i2*56|0)|0)+52|0,D1=e[y1>>2]|0,o2=(t+(i2*56|0)|0)+28|0,b=e[o2>>2]|0,O=b+D1|0,J=+(O|0),s0=J*f1,Y=b+1|0,h0=+(Y|0),i0=s0/h0,e0=i0,d0=e0+1,c0=(t+(i2*56|0)|0)+32|0,l0=e[c0>>2]|0,X=+(l0|0),m0=(t+(i2*56|0)|0)+8|0,g0=e[m0>>2]|0,I0=+(g0|0),n0=I0*d0,f0=X+S2,p0=f0+n0,C0=(t+(i2*56|0)|0)+36|0,b0=e[C0>>2]|0,D0=+(b0|0),E0=(t+(i2*56|0)|0)+12|0,Q0=e[E0>>2]|0,w0=+(Q0|0),B0=w0*d0,x0=D0+K2,Z0=x0+B0,R0=(t+(i2*56|0)|0)+40|0,v0=e[R0>>2]|0,G0=+(v0|0),O0=(t+(i2*56|0)|0)+16|0,H0=e[O0>>2]|0,k0=+(H0|0),K0=k0*d0,N0=G0+m2,M0=N0+K0,P0=(t+(i2*56|0)|0)+48|0,W0=e[P0>>2]|0,J0=+(W0|0),V0=(t+(i2*56|0)|0)+24|0,q0=e[V0>>2]|0,Y0=+(q0|0),o1=Y0*d0,z0=J0+O2,r1=z0+o1,L0=+(D1|0),s1=+(b|0),h1=d0*s1,u1=L0+n2,E1=u1+h1,d1=i2+1|0,l2=(d1|0)==(s|0),l2){g2=E1,a2=M0,D2=p0,M2=r1,q2=Z0;break}else n2=E1,i2=d1,m2=M0,S2=p0,O2=r1,K2=Z0;else g2=0,a2=0,D2=0,M2=0,q2=0;return A1=e[A>>2]|0,g1=(A1|0)>-1,g1?(a1=+(y|0),$1=D2+a1,X0=+(A1|0),B1=X0+q2,p1=s5(y,y)|0,Q1=+(p1|0),C1=a2+Q1,v1=s5(A1,y)|0,k1=+(v1|0),S1=k1+M2,L1=g2+1,u2=L1,r2=C1,y2=$1,p2=S1,U2=B1):(u2=g2,r2=a2,y2=D2,p2=M2,U2=q2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(y0|0),R1=y2+_1,F1=+(M1|0),P1=F1+U2,O1=s5(y0,y0)|0,X1=+(O1|0),G1=r2+X1,x1=s5(M1,y0)|0,J1=+(x1|0),H1=J1+p2,V1=u2+1,s2=V1,k2=G1,G2=R1,W2=H1,V2=P1):(s2=u2,k2=r2,G2=y2,W2=p2,V2=U2),Y1=k2*s2,z1=G2*G2,t2=Y1-z1,e2=t2>0,e2?(q1=V2*k2,d2=G2*W2,Z1=q1-d2,I2=Z1/t2,A2=W2*s2,C2=G2*V2,$2=A2-C2,W1=$2/t2,f2=+(y|0),D=W1*f2,k=D+I2,v=+J7(k),_=~~v,e[A>>2]=_,Q=+(y0|0),L=W1*Q,R=L+I2,M=+J7(R),T=~~M,e[$>>2]=T,G=e[A>>2]|0,q=(G|0)>1023,q?(e[A>>2]=1023,p=e[$>>2]|0,V=p,r0=1023):(V=T,r0=G),K=(V|0)>1023,K?(e[$>>2]=1023,m=e[A>>2]|0,t0=m,o0=1023):(t0=r0,o0=V),Z=(t0|0)<0,Z?(e[A>>2]=0,E=e[$>>2]|0,A0=E):A0=o0,j=(A0|0)<0,j?(e[$>>2]=0,h=0,h|0):(h=0,h|0)):(e[A>>2]=0,e[$>>2]=0,h=1,h|0)}function mb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0;if(L0=C,p=t+836|0,m=t+840|0,R=e[m>>2]|0,j=e[t>>2]|0,H2(s,j,5),$0=e[t>>2]|0,y0=($0|0)>0,y0){for(U0=t+4|0,W0=0,z0=-1;;)if(B=U0+(W0<<2)|0,b=e[B>>2]|0,H2(s,b,4),D=e[B>>2]|0,k=(z0|0)<(D|0),A=k?D:z0,v=W0+1|0,_=e[t>>2]|0,Q=(v|0)<(_|0),Q)W0=v,z0=A;else{$=A;break}if(H0=($|0)>-1,H0)for(k0=t+128|0,K0=t+192|0,E=t+256|0,y=t+320|0,J0=0;;){if(L=k0+(J0<<2)|0,M=e[L>>2]|0,T=M+-1|0,H2(s,T,3),G=K0+(J0<<2)|0,O=e[G>>2]|0,H2(s,O,2),q=e[G>>2]|0,V=(q|0)==0,V?(j0=0,r1=8):(K=E+(J0<<2)|0,t0=e[K>>2]|0,H2(s,t0,8),g=e[G>>2]|0,Z=(g|0)==31,Z||(j0=0,r1=8)),(r1|0)==8)for(;r1=0,A0=(y+(J0<<5)|0)+(j0<<2)|0,r0=e[A0>>2]|0,o0=r0+1|0,H2(s,o0,8),J=j0+1|0,s0=e[G>>2]|0,Y=1<>2]|0,c0=d0+-1|0,H2(s,c0,2),l0=R+-1|0,X=V8(l0)|0,H2(s,X,4),m0=V8(l0)|0,g0=e[t>>2]|0,I0=(g0|0)>0,!!I0)for(n0=t+4|0,f0=t+128|0,O0=g0,N0=0,V0=0,q0=0;;){if(p0=n0+(V0<<2)|0,C0=e[p0>>2]|0,b0=f0+(C0<<2)|0,D0=e[b0>>2]|0,E0=D0+N0|0,Q0=(q0|0)<(E0|0),Q0){for(o1=q0;w0=o1+2|0,B0=p+(w0<<2)|0,x0=e[B0>>2]|0,H2(s,x0,m0),Z0=o1+1|0,M0=(Z0|0)==(E0|0),!M0;)o1=Z0;h=e[t>>2]|0,G0=h,Y0=E0}else G0=O0,Y0=q0;if(R0=V0+1|0,v0=(R0|0)<(G0|0),v0)O0=G0,N0=E0,V0=R0,q0=Y0;else break}}function pb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0;Z1=C,C=C+272|0,q1=Z1,_=t+28|0,Q=e[_>>2]|0,Z=c9(1,1120)|0,d0=r4(s,5)|0,e[Z>>2]=d0,C0=(d0|0)>0;e:do if(C0){for(v0=Z+4|0,X1=0,o2=-1;;){if(M=r4(s,4)|0,T=v0+(X1<<2)|0,e[T>>2]=M,G=(M|0)<0,G)break e;if(O=(o2|0)<(M|0),g=O?M:o2,q=X1+1|0,V=e[Z>>2]|0,K=(q|0)<(V|0),K)X1=q,o2=g;else{h=g;break}}if(J0=(h|0)>-1,J0)for(u1=Z+128|0,Q1=Z+192|0,F1=Z+256|0,L=Q+24|0,R=Z+320|0,G1=0;;){if(t0=r4(s,3)|0,A0=t0+1|0,j=u1+(G1<<2)|0,e[j>>2]=A0,r0=r4(s,2)|0,o0=Q1+(G1<<2)|0,e[o0>>2]=r0,J=(r0|0)<0,J||(s0=(r0|0)==0,s0?(p=F1+(G1<<2)|0,m=e[p>>2]|0,i0=m):(Y=r4(s,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=Y,i0=Y),e0=(i0|0)<0,e0)||(c0=e[L>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[o0>>2]|0,X=(l0|0)==31,!X)for(V1=0;;){if(f0=r4(s,8)|0,p0=f0+-1|0,b0=(R+(G1<<5)|0)+(V1<<2)|0,e[b0>>2]=p0,y0=(f0|0)<0,y0||(D0=e[L>>2]|0,E0=(f0|0)>(D0|0),I0=V1+1|0,E0))break e;if(m0=e[o0>>2]|0,g0=1<>2]=x0,R0=r4(s,4)|0,G0=(R0|0)<0,!G0)){if(U0=e[Z>>2]|0,O0=(U0|0)>0,O0)for(H0=Z+4|0,k0=Z+128|0,K0=Z+836|0,N0=1<>2]|0,W0=k0+(P0<<2)|0,V0=e[W0>>2]|0,j0=V0+O1|0,q0=(j0|0)>63,q0)break e;if(Y0=(Y1|0)<(j0|0),Y0){for(t2=Y1;;){if(o1=r4(s,R0)|0,z0=t2+2|0,r1=K0+(z0<<2)|0,e[r1>>2]=o1,L0=(o1|0)>-1,s1=(o1|0)<(N0|0),e2=L0&s1,!e2)break e;if(h1=t2+1|0,E1=(h1|0)<(j0|0),E1)t2=h1;else{$=h1;break}}B=e[Z>>2]|0,A1=B,z1=$}else A1=P1,z1=Y1;if(f1=x1+1|0,d1=(f1|0)<(A1|0),d1)P1=A1,O1=j0,x1=f1,Y1=z1;else{E=K0,y=N0,D1=j0;break}}else k=Z+836|0,v=1<>2]=0,g1=Z+840|0,e[g1>>2]=y,a1=D1+2|0,$1=(D1|0)>-2,$1)for(J1=0;X0=E+(J1<<2)|0,B1=q1+(J1<<2)|0,e[B1>>2]=X0,p1=J1+1|0,C1=(p1|0)<(a1|0),C1;)J1=p1;Hu(q1,a1,4,8),y1=(a1|0)>1;t:do if(y1){for(b=e[q1>>2]|0,D=e[b>>2]|0,b1=D,H1=1;S1=q1+(H1<<2)|0,L1=e[S1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),v1=H1+1|0,!_1;)if(k1=(v1|0)<(a1|0),k1)b1=M1,H1=v1;else break t;if(R1=(Z|0)==0,R1)A=0;else break e;return C=Z1,A|0}while(!1);return A=Z,C=Z1,A|0}while(!1);return E2(Z),A=0,C=Z1,A|0}function Eb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=c9(1,1312)|0,g=$+1296|0,e[g>>2]=s,_=s+836|0,t0=s+840|0,e0=e[t0>>2]|0,p0=$+1288|0,e[p0>>2]=e0,R0=e[s>>2]|0,W0=(R0|0)>0,W0){for(z0=s+4|0,h=s+128|0,f1=0,S1=0;;)if(p=z0+(f1<<2)|0,m=e[p>>2]|0,E=h+(m<<2)|0,y=e[E>>2]|0,B=y+S1|0,b=f1+1|0,D=(b|0)<(R0|0),D)f1=b,S1=B;else{A=B;break}k=A+2|0,v=$+1284|0,e[v>>2]=k,Q=(A|0)>-2,Q?(G=k,k1=A,_1=7):(Hu(b1,k,4,8),v1=A)}else o1=$+1284|0,e[o1>>2]=2,G=2,k1=0,_1=7;if((_1|0)==7){for(d1=0;L=_+(d1<<2)|0,R=b1+(d1<<2)|0,e[R>>2]=L,M=d1+1|0,T=(M|0)<(G|0),T;)d1=M;for(Hu(b1,G,4,8),O=_,q=$+260|0,A1=0;Z=b1+(A1<<2)|0,A0=e[Z>>2]|0,j=A0,r0=j-O|0,o0=r0>>2,J=q+(A1<<2)|0,e[J>>2]=o0,s0=A1+1|0,Y=(s0|0)<(G|0),Y;)A1=s0;for(V=$+260|0,K=$+520|0,g1=0;i0=V+(g1<<2)|0,d0=e[i0>>2]|0,c0=K+(d0<<2)|0,e[c0>>2]=g1,$0=g1+1|0,l0=($0|0)<(G|0),l0;)g1=$0;for(h0=$+260|0,a1=0;;)if(X=h0+(a1<<2)|0,m0=e[X>>2]|0,g0=_+(m0<<2)|0,I0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=I0,f0=a1+1|0,C0=(f0|0)<(G|0),C0)a1=f0;else{v1=k1;break}}if(b0=s+832|0,y0=e[b0>>2]|0,(y0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(y0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(y0|0)==1?(D0=$+1292|0,e[D0>>2]=256):(y0|0)==3&&(Q0=$+1292|0,e[Q0>>2]=86),B0=(v1|0)>0,!B0)return C=R1,$|0;for(x0=$+1032|0,Z0=$+780|0,$1=0;;){for(v0=$1+2|0,G0=_+(v0<<2)|0,U0=e[G0>>2]|0,O0=e[p0>>2]|0,L0=1,u1=O0,X0=0,B1=0,C1=0;;)if(H0=_+(X0<<2)|0,k0=e[H0>>2]|0,K0=(k0|0)>(C1|0),N0=(k0|0)<(U0|0),L1=K0&N0,p1=L1?X0:B1,y1=L1?k0:C1,M0=(k0|0)<(u1|0),P0=(k0|0)>(U0|0),M1=M0&P0,s1=M1?X0:L0,E1=M1?k0:u1,J0=X0+1|0,V0=(J0|0)<(v0|0),V0)L0=s1,u1=E1,X0=J0,B1=p1,C1=y1;else{h1=s1,Q1=p1;break}if(j0=x0+($1<<2)|0,e[j0>>2]=Q1,q0=Z0+($1<<2)|0,e[q0>>2]=h1,Y0=$1+1|0,r1=(Y0|0)==(v1|0),r1)break;$1=Y0}return C=R1,$|0}function Cb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Bb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function yb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;if(S2=C,h=s+1296|0,p=e[h>>2]|0,l0=t+64|0,D0=e[l0>>2]|0,O0=D0+4|0,q0=e[O0>>2]|0,d1=q0+28|0,v1=e[d1>>2]|0,O1=v1+2848|0,e2=e[O1>>2]|0,m=t+4|0,R=r4(m,1)|0,j=(R|0)==1,!j)return A=0,A|0;Y=s+1284|0,h0=e[Y>>2]|0,i0=h0<<2,e0=W8(t,i0)|0,d0=s+1292|0,c0=e[d0>>2]|0,$0=c0+-1|0,X=V8($0)|0,m0=r4(m,X)|0,e[e0>>2]=m0,g0=e[d0>>2]|0,I0=g0+-1|0,n0=V8(I0)|0,f0=r4(m,n0)|0,p0=e0+4|0,e[p0>>2]=f0,C0=e[p>>2]|0,b0=(C0|0)>0;e:do if(b0){s2=0,a2=2;t:for(;;){if(B0=(p+4|0)+(s2<<2)|0,x0=e[B0>>2]|0,Z0=(p+128|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=(p+192|0)+(x0<<2)|0,G0=e[v0>>2]|0,U0=1<>2]|0,N0=e2+(K0*56|0)|0,M0=lE(N0,m)|0,P0=(M0|0)==-1,P0){A=0,D2=25;break}else n2=M0;if(W0=(R0|0)>0,W0)for(J0=U0+-1|0,u2=n2,m2=0;;){if(V0=u2&J0,j0=((p+320|0)+(x0<<5)|0)+(V0<<2)|0,Y0=e[j0>>2]|0,o1=u2>>G0,z0=(Y0|0)>-1,z0){if(r1=e2+(Y0*56|0)|0,L0=lE(r1,m)|0,s1=m2+a2|0,h1=e0+(s1<<2)|0,e[h1>>2]=L0,u1=(L0|0)==-1,u1){A=0,D2=25;break t}}else E1=m2+a2|0,f1=e0+(E1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,g1=(A1|0)<(R0|0),g1)u2=o1,m2=A1;else break}if(a1=R0+a2|0,$1=s2+1|0,X0=e[p>>2]|0,B1=($1|0)<(X0|0),B1)s2=$1,a2=a1;else break e}if((D2|0)==25)return A|0}while(!1);if(y0=e[Y>>2]|0,E0=(y0|0)>2,!E0)return A=e0,A|0;for(Q0=s+1032|0,w0=s+780|0,l2=2;;){if(p1=l2+-2|0,Q1=Q0+(p1<<2)|0,C1=e[Q1>>2]|0,y1=(p+836|0)+(C1<<2)|0,k1=e[y1>>2]|0,S1=w0+(p1<<2)|0,L1=e[S1>>2]|0,M1=(p+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=e0+(C1<<2)|0,R1=e[_1>>2]|0,F1=e0+(L1<<2)|0,P1=e[F1>>2]|0,D1=(p+836|0)+(l2<<2)|0,X1=e[D1>>2]|0,G1=R1&32767,x1=P1&32767,J1=x1-G1|0,H1=b1-k1|0,i2=(J1|0)>-1,r2=0-J1|0,V1=i2?J1:r2,Y1=X1-k1|0,z1=s5(V1,Y1)|0,t2=(z1|0)/(H1|0)&-1,o2=(J1|0)<0,q1=0-t2|0,g=o2?q1:t2,$=g+G1|0,d2=e[d0>>2]|0,Z1=d2-$|0,I2=e0+(l2<<2)|0,A2=e[I2>>2]|0,C2=(A2|0)==0,C2)r0=$|32768,e[I2>>2]=r0;else{$2=(Z1|0)<($|0),W1=$2?Z1:$,f2=W1<<1,g2=(A2|0)<(f2|0);do if(g2)if(D=A2&1,k=(D|0)==0,k){L=A2>>1,k2=L;break}else{v=A2+1|0,_=v>>1,Q=0-_|0,k2=Q;break}else if(E=(Z1|0)>($|0),E){y=A2-$|0,k2=y;break}else{B=A2-Z1|0,b=B^-1,k2=b;break}while(!1);M=k2+$|0,T=M&32767,e[I2>>2]=T,G=e[Q1>>2]|0,O=e0+(G<<2)|0,q=e[O>>2]|0,V=q&32767,e[O>>2]=V,K=e[S1>>2]|0,t0=e0+(K<<2)|0,Z=e[t0>>2]|0,A0=Z&32767,e[t0>>2]=A0}if(o0=l2+1|0,J=e[Y>>2]|0,s0=(o0|0)<(J|0),s0)l2=o0;else{A=e0;break}}return A|0}function Qb(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0;if(D1=C,p=s+1296|0,m=e[p>>2]|0,R=t+64|0,j=e[R>>2]|0,$0=j+4|0,y0=e[$0>>2]|0,U0=y0+28|0,j0=e[U0>>2]|0,u1=t+28|0,E1=e[u1>>2]|0,E=j0+(E1<<2)|0,y=e[E>>2]|0,B=(y|0)/2&-1,b=(A|0)==0,b)return h1=B<<2,g4($|0,0,h1|0)|0,g=0,g|0;if(D=e[A>>2]|0,k=m+832|0,v=e[k>>2]|0,_=s5(v,D)|0,Q=(_|0)<0,L=(_|0)>255,M=L?255:_,T=Q?0:M,G=s+1284|0,O=e[G>>2]|0,q=(O|0)>1,q)for(V=s+260|0,$1=0,Q1=1,y1=0,S1=T;;){if(A0=V+(Q1<<2)|0,r0=e[A0>>2]|0,o0=A+(r0<<2)|0,J=e[o0>>2]|0,s0=J&32767,Y=(s0|0)==(J|0),Y)if(h0=(m+836|0)+(r0<<2)|0,i0=e[h0>>2]|0,e0=s5(v,J)|0,d0=(e0|0)<0,c0=(e0|0)>255,l0=c0?255:e0,X=d0?0:l0,m0=X-S1|0,g0=i0-y1|0,B1=(m0|0)>-1,M1=0-m0|0,I0=B1?m0:M1,n0=(m0|0)/(g0|0)&-1,f0=m0>>31,p0=f0|1,C0=s5(n0,g0)|0,p1=(C0|0)>-1,b1=0-C0|0,b0=p1?C0:b1,D0=I0-b0|0,E0=(B|0)>(i0|0),_1=E0?i0:B,Q0=(_1|0)>(y1|0),Q0&&(w0=1768+(S1<<2)|0,B0=+o[w0>>2],x0=$+(y1<<2)|0,Z0=+o[x0>>2],R0=Z0*B0,o[x0>>2]=R0),v0=y1+1|0,G0=(v0|0)<(_1|0),G0)for(W0=v0,f1=0,R1=S1;;)if(O0=f1+D0|0,H0=(O0|0)<(g0|0),k0=H0?0:p0,K0=H0?0:g0,d1=O0-K0|0,h=R1+n0|0,F1=h+k0|0,N0=1768+(F1<<2)|0,M0=+o[N0>>2],P0=$+(W0<<2)|0,J0=+o[P0>>2],V0=J0*M0,o[P0>>2]=V0,q0=W0+1|0,g1=(q0|0)==(_1|0),g1){X0=i0,v1=i0,L1=X;break}else W0=q0,f1=d1,R1=F1;else X0=i0,v1=i0,L1=X;else X0=$1,v1=y1,L1=S1;if(Y0=Q1+1|0,o1=(Y0|0)<(O|0),o1)$1=X0,Q1=Y0,y1=v1,S1=L1;else{a1=X0,k1=L1;break}}else a1=0,k1=T;if(K=(a1|0)<(B|0),!K)return g=1,g|0;for(t0=1768+(k1<<2)|0,Z=+o[t0>>2],C1=a1;;)if(z0=$+(C1<<2)|0,r1=+o[z0>>2],L0=r1*Z,o[z0>>2]=L0,s1=C1+1|0,A1=(s1|0)==(B|0),A1){g=1;break}else C1=s1;return g|0}function wb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0;return E=C,A=e[t>>2]|0,$=e[A>>2]|0,g=e[s>>2]|0,h=e[g>>2]|0,p=$-h|0,p|0}function vb(t){t=t|0;var s=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 kb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0;d0=C,g=ll(s|0)|0,h=ll(A|0)|0,Q=g+2|0,Z=Q+h|0,$=Z,j=C,C=C+((1*$|0)+15&-16)|0,PC(j|0,s|0)|0,i0=ll(j|0)|0,h0=j+i0|0,I[h0>>0]=61,I[h0+1>>0]=0,Xy(j|0,A|0)|0,r0=e[t>>2]|0,o0=t+8|0,J=e[o0>>2]|0,s0=J<<2,Y=s0+8|0,p=W7(r0,Y)|0,e[t>>2]=p,m=t+4|0,E=e[m>>2]|0,y=e[o0>>2]|0,B=y<<2,b=B+8|0,D=W7(E,b)|0,e[m>>2]=D,k=ll(j|0)|0,v=e[o0>>2]|0,_=D+(v<<2)|0,e[_>>2]=k,L=k+1|0,R=Re(L)|0,M=e[t>>2]|0,T=M+(v<<2)|0,e[T>>2]=R,G=e[t>>2]|0,O=G+(v<<2)|0,q=e[O>>2]|0,PC(q|0,j|0)|0,V=e[o0>>2]|0,K=V+1|0,e[o0>>2]=K,t0=e[t>>2]|0,A0=t0+(K<<2)|0,e[A0>>2]=0,C=d0}function Sb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0;if(Z=C,g=(t|0)==0,!g){if(h=e[t>>2]|0,Q=(h|0)==0,!Q){if(R=t+8|0,M=e[R>>2]|0,T=(M|0)>0,T){for(L=M,O=h,K=0;G=O+(K<<2)|0,q=e[G>>2]|0,V=(q|0)==0,V?E=L:(E2(q),A=e[R>>2]|0,E=A),p=K+1|0,m=(p|0)<(E|0),!!m;)s=e[t>>2]|0,L=E,O=s,K=p;$=e[t>>2]|0,y=$}else y=h;E2(y)}B=t+4|0,b=e[B>>2]|0,D=(b|0)==0,D||E2(b),k=t+12|0,v=e[k>>2]|0,_=(v|0)==0,_||E2(v),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function bb(t){t=t|0;var s=0,A=0,$=0,g=0;g=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,s=c9(1,3664)|0,A=t+28|0,e[A>>2]=s}function TC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,h=t+28|0,p=e[h>>2]|0,L=(p|0)==0,L){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(A0=p+8|0,c0=e[A0>>2]|0,b0=(c0|0)>0,b0)for(f1=c0,$1=0;a1=(p+32|0)+($1<<2)|0,m=e[a1>>2]|0,E=(m|0)==0,E?b=f1:(E2(m),s=e[A0>>2]|0,b=s),y=$1+1|0,B=(y|0)<(b|0),B;)f1=b,$1=y;if(G0=p+12|0,V0=e[G0>>2]|0,E1=(V0|0)>0,E1)for(d1=V0,X0=0;_=(p+544|0)+(X0<<2)|0,Q=e[_>>2]|0,R=(Q|0)==0,R?Z=d1:(M=(p+288|0)+(X0<<2)|0,T=e[M>>2]|0,G=25664+(T<<2)|0,O=e[G>>2]|0,q=O+8|0,V=e[q>>2]|0,oo[V&7](Q),A=e[G0>>2]|0,Z=A),K=X0+1|0,t0=(K|0)<(Z|0),t0;)d1=Z,X0=K;if(D=p+16|0,k=e[D>>2]|0,v=(k|0)>0,v)for(A1=k,B1=0;J=(p+1056|0)+(B1<<2)|0,s0=e[J>>2]|0,Y=(s0|0)==0,Y?g0=A1:(h0=(p+800|0)+(B1<<2)|0,i0=e[h0>>2]|0,e0=25640+(i0<<2)|0,d0=e[e0>>2]|0,$0=d0+12|0,l0=e[$0>>2]|0,oo[l0&7](s0),$=e[D>>2]|0,g0=$),X=B1+1|0,m0=(X|0)<(g0|0),m0;)A1=g0,B1=X;if(j=p+20|0,r0=e[j>>2]|0,o0=(r0|0)>0,o0)for(g1=r0,p1=0;C0=(p+1568|0)+(p1<<2)|0,y0=e[C0>>2]|0,D0=(y0|0)==0,D0?U0=g1:(E0=(p+1312|0)+(p1<<2)|0,Q0=e[E0>>2]|0,w0=25648+(Q0<<2)|0,B0=e[w0>>2]|0,x0=B0+12|0,Z0=e[x0>>2]|0,oo[Z0&7](y0),g=e[j>>2]|0,U0=g),R0=p1+1|0,v0=(R0|0)<(U0|0),v0;)g1=U0,p1=R0;if(I0=p+24|0,n0=e[I0>>2]|0,f0=(n0|0)>0,p0=p+2848|0,f0)for(Q1=0;O0=(p+1824|0)+(Q1<<2)|0,H0=e[O0>>2]|0,k0=(H0|0)==0,k0||UC(H0),K0=e[p0>>2]|0,N0=(K0|0)==0,N0||(M0=K0+(Q1*56|0)|0,aD(M0)),P0=Q1+1|0,W0=e[I0>>2]|0,J0=(P0|0)<(W0|0),J0;)Q1=P0;if(j0=e[p0>>2]|0,q0=(j0|0)==0,q0||E2(j0),Y0=p+28|0,o1=e[Y0>>2]|0,z0=(o1|0)>0,z0)for(C1=0;r1=(p+2852|0)+(C1<<2)|0,L0=e[r1>>2]|0,Ub(L0),s1=C1+1|0,h1=e[Y0>>2]|0,u1=(s1|0)<(h1|0),u1;)C1=s1;E2(p),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 Db(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0;if(X2=C,C=C+32|0,T1=X2,E=t+4|0,y=e[E>>2]|0,g1=t+104|0,S1=e[g1>>2]|0,G1=(S1|0)==0,G1)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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,h=-129,C=X2,h|0;if(d2=y+4|0,s2=e[d2>>2]|0,M2=(s2|0)<1,M2)x5=-129,l5=27;else if(xC(T1),N1=y+28|0,y5=e[N1>>2]|0,B=(y5|0)==0,B)x5=-130,l5=27;else if(G=e[y5>>2]|0,J=(G|0)<64,J)x5=-130,l5=27;else if(m0=y5+4|0,Q0=e[m0>>2]|0,k0=(Q0|0)<(G|0),k0)x5=-130,l5=27;else{H2(T1,1,8),H2(T1,118,8),H2(T1,111,8),H2(T1,114,8),H2(T1,98,8),H2(T1,105,8),H2(T1,115,8),H2(T1,0,32),o1=e[d2>>2]|0,H2(T1,o1,8),f1=y+8|0,d1=e[f1>>2]|0,H2(T1,d1,32),A1=y+12|0,a1=e[A1>>2]|0,H2(T1,a1,32),$1=y+16|0,X0=e[$1>>2]|0,H2(T1,X0,32),B1=y+20|0,p1=e[B1>>2]|0,H2(T1,p1,32),Q1=e[y5>>2]|0,C1=Q1+-1|0,y1=V8(C1)|0,H2(T1,y1,4),v1=e[m0>>2]|0,k1=v1+-1|0,L1=V8(k1)|0,H2(T1,L1,4),H2(T1,1,1),M1=S1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=_8(T1)|0,F1=Re(R1)|0,e[M1>>2]=F1,P1=T1+8|0,D1=e[P1>>2]|0,O1=_8(T1)|0,g9(F1|0,D1|0,O1|0)|0,X1=e[M1>>2]|0,e[A>>2]=X1,x1=_8(T1)|0,J1=A+4|0,e[J1>>2]=x1,H1=A+8|0,e[H1>>2]=1,V1=A+12|0,e[V1>>2]=0,e[V1+4>>2]=0,e[V1+8>>2]=0,e[V1+12>>2]=0,e[V1+16>>2]=0,mi(T1),_b(T1,s),Y1=S1+68|0,z1=e[Y1>>2]|0,t2=(z1|0)==0,t2||E2(z1),o2=_8(T1)|0,e2=Re(o2)|0,e[Y1>>2]=e2,q1=e[P1>>2]|0,Z1=_8(T1)|0,g9(e2|0,q1|0,Z1|0)|0,I2=e[Y1>>2]|0,e[$>>2]=I2,A2=_8(T1)|0,C2=$+4|0,e[C2>>2]=A2,$2=$+8|0,W1=$+24|0,e[$2>>2]=0,e[$2+4>>2]=0,e[$2+8>>2]=0,e[$2+12>>2]=0,f2=W1,g2=f2,e[g2>>2]=1,n2=f2+4|0,u2=n2,e[u2>>2]=0,mi(T1),l2=e[N1>>2]|0,i2=(l2|0)==0;e:do if(!i2){if(H2(T1,5,8),H2(T1,118,8),H2(T1,111,8),H2(T1,114,8),H2(T1,98,8),H2(T1,105,8),H2(T1,115,8),a2=l2+24|0,m2=e[a2>>2]|0,r2=m2+-1|0,H2(T1,r2,8),k2=e[a2>>2]|0,D2=(k2|0)>0,D2)for(z2=0;;){if(O2=(l2+1824|0)+(z2<<2)|0,p2=e[O2>>2]|0,W2=ab(p2,T1)|0,q2=(W2|0)==0,y2=z2+1|0,!q2)break e;if(S2=e[a2>>2]|0,G2=(y2|0)<(S2|0),G2)z2=y2;else break}if(H2(T1,0,6),H2(T1,0,16),K2=l2+16|0,U2=e[K2>>2]|0,V2=U2+-1|0,H2(T1,V2,6),Z2=e[K2>>2]|0,A5=(Z2|0)>0,A5)for(C5=0;;){if(Y2=(l2+800|0)+(C5<<2)|0,t5=e[Y2>>2]|0,H2(T1,t5,16),T5=e[Y2>>2]|0,i5=25640+(T5<<2)|0,L5=e[i5>>2]|0,j2=e[L5>>2]|0,p5=(j2|0)==0,p5)break e;if(_5=(l2+1056|0)+(C5<<2)|0,V5=e[_5>>2]|0,VC[j2&3](V5,T1),u5=C5+1|0,b2=e[K2>>2]|0,o5=(u5|0)<(b2|0),o5)C5=u5;else break}if(F2=l2+20|0,R2=e[F2>>2]|0,Q2=R2+-1|0,H2(T1,Q2,6),Q5=e[F2>>2]|0,N5=(Q5|0)>0,N5)for($5=0;E5=(l2+1312|0)+($5<<2)|0,M5=e[E5>>2]|0,H2(T1,M5,16),q5=e[E5>>2]|0,R5=25648+(q5<<2)|0,b=e[R5>>2]|0,D=e[b>>2]|0,k=(l2+1568|0)+($5<<2)|0,v=e[k>>2]|0,VC[D&3](v,T1),_=$5+1|0,Q=e[F2>>2]|0,L=(_|0)<(Q|0),L;)$5=_;if(R=l2+12|0,M=e[R>>2]|0,T=M+-1|0,H2(T1,T,6),O=e[R>>2]|0,q=(O|0)>0,q)for(d5=0;V=(l2+288|0)+(d5<<2)|0,K=e[V>>2]|0,H2(T1,K,16),t0=e[V>>2]|0,Z=25664+(t0<<2)|0,A0=e[Z>>2]|0,j=e[A0>>2]|0,r0=(l2+544|0)+(d5<<2)|0,o0=e[r0>>2]|0,sQ[j&1](y,o0,T1),s0=d5+1|0,Y=e[R>>2]|0,h0=(s0|0)<(Y|0),h0;)d5=s0;if(i0=l2+8|0,e0=e[i0>>2]|0,d0=e0+-1|0,H2(T1,d0,6),c0=e[i0>>2]|0,$0=(c0|0)>0,$0)for(w5=0;l0=(l2+32|0)+(w5<<2)|0,X=e[l0>>2]|0,g0=e[X>>2]|0,H2(T1,g0,1),I0=e[l0>>2]|0,n0=I0+4|0,f0=e[n0>>2]|0,H2(T1,f0,16),p0=e[l0>>2]|0,C0=p0+8|0,b0=e[C0>>2]|0,H2(T1,b0,16),y0=e[l0>>2]|0,D0=y0+12|0,E0=e[D0>>2]|0,H2(T1,E0,8),w0=w5+1|0,B0=e[i0>>2]|0,x0=(w0|0)<(B0|0),x0;)w5=w0;return H2(T1,1,1),Z0=S1+72|0,R0=e[Z0>>2]|0,v0=(R0|0)==0,v0||E2(R0),G0=_8(T1)|0,U0=Re(G0)|0,e[Z0>>2]=U0,O0=e[P1>>2]|0,H0=_8(T1)|0,g9(U0|0,O0|0,H0|0)|0,K0=e[Z0>>2]|0,e[g>>2]=K0,N0=_8(T1)|0,M0=g+4|0,e[M0>>2]=N0,P0=g+8|0,W0=g+24|0,e[P0>>2]=0,e[P0+4>>2]=0,e[P0+8>>2]=0,e[P0+12>>2]=0,J0=W0,V0=J0,e[V0>>2]=2,j0=J0+4|0,q0=j0,e[q0>>2]=0,LC(T1),h=0,C=X2,h|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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=M1,h5=-130}return(l5|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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,p=S1+64|0,m=p,h5=x5),LC(T1),Y0=e[m>>2]|0,z0=(Y0|0)==0,z0||E2(Y0),r1=S1+68|0,L0=e[r1>>2]|0,s1=(L0|0)==0,s1||E2(L0),h1=S1+72|0,u1=e[h1>>2]|0,E1=(u1|0)==0,E1||E2(u1),e[m>>2]=0,e[r1>>2]=0,e[h1>>2]=0,h=h5,C=X2,h|0}function _b(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0;for($0=C,H2(t,3,8),H2(t,118,8),H2(t,111,8),H2(t,114,8),H2(t,98,8),H2(t,105,8),H2(t,115,8),H2(t,44,32),A=1200,g=44;p=g+-1|0,m=A+1|0,R=I[A>>0]|0,j=R<<24>>24,H2(t,j,8),J=(p|0)==0,!J;)A=m,g=p;if(s0=s+8|0,Y=e[s0>>2]|0,H2(t,Y,32),h0=e[s0>>2]|0,i0=(h0|0)>0,!i0){H2(t,1,1);return}for(e0=s+4|0,d0=0;;){if(E=e[s>>2]|0,y=E+(d0<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b)H2(t,0,32);else if(D=e[e0>>2]|0,k=D+(d0<<2)|0,v=e[k>>2]|0,H2(t,v,32),_=e[e0>>2]|0,Q=_+(d0<<2)|0,L=e[Q>>2]|0,M=(L|0)==0,!M)for(T=e[s>>2]|0,G=T+(d0<<2)|0,O=e[G>>2]|0,$=O,h=L;q=h+-1|0,V=$+1|0,K=I[$>>0]|0,t0=K<<24>>24,H2(t,t0,8),Z=(q|0)==0,!Z;)$=V,h=q;if(A0=d0+1|0,r0=e[s0>>2]|0,o0=(A0|0)<(r0|0),o0)d0=A0;else break}H2(t,1,1)}function xy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0;if(z1=C,E=$+1|0,y=E<<3,g=y,T=C,C=C+((1*g|0)+15&-16)|0,o0=$<<3,h=o0,X=C,C=C+((1*h|0)+15&-16)|0,E0=(E|0)==0,E0)q=0;else{for(H0=$;;){if(Y0=(H0|0)<(A|0),Y0)for(Q1=0,R1=H0;;)if(A1=t+(R1<<2)|0,B1=+o[A1>>2],B=B1,b=R1-H0|0,D=t+(b<<2)|0,k=+o[D>>2],v=k,_=v*B,Q=_+Q1,L=R1+1|0,_1=(L|0)==(A|0),_1){p1=Q;break}else Q1=Q,R1=L;else p1=0;if(R=T+(H0<<3)|0,c1[R>>3]=p1,M=H0+-1|0,G=(H0|0)==0,G)break;H0=M}m=+c1[T>>3],q=m}if(O=q*1.0000000001,V=q*1e-9,K=V+1e-10,t0=($|0)>0,t0)y1=O,F1=0;else return S1=O,X0=S1,C=z1,+X0;for(;;){if(D1=F1+1|0,Z=y1>3],Y=-s0,h0=(F1|0)>0,h0){for(O1=0,H1=Y;;)if(d0=X+(O1<<3)|0,c0=+c1[d0>>3],$0=F1-O1|0,l0=T+($0<<3)|0,m0=+c1[l0>>3],g0=m0*c0,I0=H1-g0,n0=O1+1|0,b1=(n0|0)==(F1|0),b1){p=I0;break}else O1=n0,H1=I0;if(f0=p/y1,p0=X+(F1<<3)|0,c1[p0>>3]=f0,C0=(F1|0)/2&-1,b0=(F1|0)>1,b0){for(y0=F1+-1|0,D0=(C0|0)>1,G1=0;Q0=X+(G1<<3)|0,w0=+c1[Q0>>3],B0=y0-G1|0,x0=X+(B0<<3)|0,Z0=+c1[x0>>3],R0=Z0*f0,v0=R0+w0,c1[Q0>>3]=v0,G0=w0*f0,U0=+c1[x0>>3],O0=U0+G0,c1[x0>>3]=O0,k0=G1+1|0,K0=(k0|0)<(C0|0),K0;)G1=k0;V1=D0?C0:1,V0=f0,X1=V1}else V0=f0,X1=0}else i0=Y/y1,e0=X+(F1<<3)|0,c1[e0>>3]=i0,V0=i0,X1=0;if(N0=F1&1,M0=(N0|0)==0,M0||(P0=X+(X1<<3)|0,W0=+c1[P0>>3],J0=W0*V0,j0=J0+W0,c1[P0>>3]=j0),q0=V0*V0,o1=1-q0,z0=o1*y1,r1=(D1|0)<($|0),r1)y1=z0,F1=D1;else{k1=z0;break}}if((Y1|0)==8&&(A0=X+(P1<<3)|0,j=$-P1|0,r0=j<<3,g4(A0|0,0,r0|0)|0,k1=v1),t0)C1=.99,x1=0;else return S1=k1,X0=S1,C=z1,+X0;for(;L0=X+(x1<<3)|0,s1=+c1[L0>>3],h1=s1*C1,c1[L0>>3]=h1,u1=C1*.99,E1=x1+1|0,M1=(E1|0)==($|0),!M1;)C1=u1,x1=E1;if(t0)J1=0;else return S1=k1,X0=S1,C=z1,+X0;for(;;)if(f1=X+(J1<<3)|0,d1=+c1[f1>>3],g1=d1,a1=s+(J1<<2)|0,o[a1>>2]=g1,$1=J1+1|0,L1=($1|0)==($|0),L1){S1=k1;break}else J1=$1;return X0=S1,C=z1,+X0}function Ly(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0;if(e0=C,m=g+A|0,E=m<<2,h=E,M=C,C=C+((1*h|0)+15&-16)|0,G=(s|0)==0,O=(A|0)>0,G?O&&(V=A<<2,g4(M|0,0,V|0)|0):O&&(q=A<<2,g9(M|0,s|0,q|0)|0),K=(g|0)>0,!K){C=e0;return}if(t0=(A|0)>0,t0)r0=0,o0=A;else{Z=g<<2,g4(M|0,0,Z|0)|0,g4($|0,0,Z|0)|0,C=e0;return}for(;;){for(s0=r0,Y=A,h0=0;;)if(D=s0+1|0,k=M+(s0<<2)|0,v=+o[k>>2],_=Y+-1|0,Q=t+(_<<2)|0,L=+o[Q>>2],R=L*v,T=h0-R,A0=(D|0)==(o0|0),A0){p=T;break}else s0=D,Y=_,h0=T;if(y=M+(o0<<2)|0,o[y>>2]=p,B=$+(r0<<2)|0,o[B>>2]=p,b=r0+1|0,J=o0+1|0,j=(b|0)==(g|0),j)break;r0=b,o0=J}C=e0}function xb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,g=e[s>>2]|0,h=(g|0)>1,h?(H2(A,1,1),Q=e[s>>2]|0,Z=Q+-1|0,H2(A,Z,4)):H2(A,0,1),d0=s+1156|0,p0=e[d0>>2]|0,C0=(p0|0)>0,C0){if(H2(A,1,1),b0=e[d0>>2]|0,y0=b0+-1|0,H2(A,y0,8),D0=e[d0>>2]|0,p=(D0|0)>0,p)for(m=s+1160|0,E=t+4|0,y=s+2184|0,E0=0;B=m+(E0<<2)|0,b=e[B>>2]|0,D=e[E>>2]|0,k=D+-1|0,v=V8(k)|0,H2(A,b,v),_=y+(E0<<2)|0,L=e[_>>2]|0,R=e[E>>2]|0,M=R+-1|0,T=V8(M)|0,H2(A,L,T),G=E0+1|0,O=e[d0>>2]|0,q=(G|0)<(O|0),q;)E0=G}else H2(A,0,1);if(H2(A,0,2),V=e[s>>2]|0,K=(V|0)>1,K){if(t0=t+4|0,A0=e[t0>>2]|0,j=(A0|0)>0,j){for(r0=s+4|0,Q0=0;h0=r0+(Q0<<2)|0,i0=e[h0>>2]|0,H2(A,i0,4),e0=Q0+1|0,c0=e[t0>>2]|0,$0=(e0|0)<(c0|0),$0;)Q0=e0;$=e[s>>2]|0,o0=$,B0=13}}else o0=V,B0=13;if(!((B0|0)==13&&(J=(o0|0)>0,!J)))for(s0=s+1028|0,Y=s+1092|0,w0=0;H2(A,0,8),l0=s0+(w0<<2)|0,X=e[l0>>2]|0,H2(A,X,8),m0=Y+(w0<<2)|0,g0=e[m0>>2]|0,H2(A,g0,8),I0=w0+1|0,n0=e[s>>2]|0,f0=(I0|0)<(n0|0),f0;)w0=I0}function Lb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0;a1=C,g=c9(1,3208)|0,h=t+28|0,Q=e[h>>2]|0,g4(g|0,0,3208)|0,Z=t+4|0,d0=e[Z>>2]|0,C0=(d0|0)<1;e:do if(C0)g1=24;else if(v0=r4(s,1)|0,J0=(v0|0)<0,J0)g1=24;else{if(z0=(v0|0)==0,z0)e[g>>2]=1;else if(r1=r4(s,4)|0,p=r1+1|0,e[g>>2]=p,m=(r1|0)<0,m)break;if(E=r4(s,1)|0,y=(E|0)<0,!y){if(B=(E|0)==0,!B){if(b=r4(s,8)|0,D=b+1|0,k=g+1156|0,e[k>>2]=D,v=(b|0)<0,v)break;for(_=g+1160|0,L=g+2184|0,$=e[Z>>2]|0,O=$,L0=0;;){if(G=O+-1|0,q=V8(G)|0,V=r4(s,q)|0,K=_+(L0<<2)|0,e[K>>2]=V,t0=e[Z>>2]|0,A0=t0+-1|0,j=V8(A0)|0,r0=r4(s,j)|0,o0=L+(L0<<2)|0,e[o0>>2]=r0,J=r0|V,s0=(J|0)<0,Y=(V|0)==(r0|0),u1=Y|s0,u1||(h0=e[Z>>2]|0,i0=(V|0)<(h0|0),e0=(r0|0)<(h0|0),E1=i0&e0,M=L0+1|0,!E1))break e;if(R=e[k>>2]|0,T=(M|0)<(R|0),T)O=h0,L0=M;else break}}if(c0=r4(s,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,X=(l0|0)>1,X){if(m0=e[Z>>2]|0,g0=(m0|0)>0,g0)for(I0=g+4|0,s1=0;;){if(B0=r4(s,4)|0,x0=I0+(s1<<2)|0,e[x0>>2]=B0,Z0=e[g>>2]|0,R0=(B0|0)>=(Z0|0),G0=(B0|0)<0,f1=G0|R0,Q0=s1+1|0,f1)break e;if(E0=e[Z>>2]|0,w0=(Q0|0)<(E0|0),w0)s1=Q0;else{n0=Z0,g1=17;break}}}else n0=l0,g1=17;if((g1|0)==17&&(f0=(n0|0)>0,!f0))return A=g,A|0;for(p0=g+1028|0,b0=Q+16|0,y0=g+1092|0,D0=Q+20|0,h1=0;;){if(r4(s,8)|0,k0=r4(s,8)|0,K0=p0+(h1<<2)|0,e[K0>>2]=k0,N0=e[b0>>2]|0,M0=(k0|0)>=(N0|0),P0=(k0|0)<0,d1=P0|M0,d1||(W0=r4(s,8)|0,V0=y0+(h1<<2)|0,e[V0>>2]=W0,j0=e[D0>>2]|0,q0=(W0|0)>=(j0|0),Y0=(W0|0)<0,A1=Y0|q0,O0=h1+1|0,A1))break e;if(U0=e[g>>2]|0,H0=(O0|0)<(U0|0),H0)h1=O0;else{A=g;break}}return A|0}}}while(!1);return(g1|0)==24&&(o1=(g|0)==0,o1)?(A=0,A|0):(E2(g),A=0,A|0)}function Mb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Rb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0,y8=0,P8=0,sn=0,kr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,Sr=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,br=0,dn=0,To=0,or=0,No=0,ls=0,hn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,ds=0,hs=0,Po=0,Dr=0,fs=0,p7=0,In=0,_r=0,ar=0,xr=0,Z7=0,Lr=0,Is=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,Ar=0,$r=0,Rr=0,E7=0,Oo=0,fi=0,gl=0,mn=0,pn=0;if(mn=C,L=t+64|0,R=e[L>>2]|0,n2=R+4|0,K3=e[n2>>2]|0,N9=K3+28|0,j9=e[N9>>2]|0,Bo=R+104|0,m7=e[Bo>>2]|0,Mo=t+104|0,hn=e[Mo>>2]|0,M=t+36|0,r0=e[M>>2]|0,l0=K3+4|0,D0=e[l0>>2]|0,O0=D0<<2,$=O0,q0=C,C=C+((1*$|0)+15&-16)|0,d1=W8(t,O0)|0,v1=e[l0>>2]|0,O1=v1<<2,e2=W8(t,O1)|0,u2=e[l0>>2]|0,G2=u2<<2,Y2=W8(t,G2)|0,b2=hn+4|0,R5=+o[b2>>2],h2=e[l0>>2]|0,T2=h2<<2,g=T2,G5=C,C=C+((1*g|0)+15&-16)|0,G3=hn+8|0,U5=e[G3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,Z3=(j9+544|0)+(f6<<2)|0,$6=e[Z3>>2]|0,U6=m7+56|0,Be=e[U6>>2]|0,w9=(f6|0)!=0,d9=w9?2:0,_=d9+U5|0,h9=Be+(_*52|0)|0,K9=t+40|0,e[K9>>2]=f6,d4=(h2|0)>0,d4)for(I9=+(r0|0),j3=4/I9,m8=(o[w2>>2]=j3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),D9=ct*7177114298428933e-22,j4=D9+-764.6162109375,c8=j4,c4=c8+.345,$i=c4,li=m7+4|0,Ji=t+24|0,f7=t+32|0,J8=$i+-764.6162109375,sn=r0+-1|0,go=(sn|0)>1,es=$i+-382.30810546875,Lr=R5,j7=0;;){if(yo=e[t>>2]|0,cn=yo+(j7<<2)|0,I7=e[cn>>2]|0,rs=W8(t,Lt)|0,Qo=e2+(j7<<2)|0,e[Qo>>2]=rs,wo=W8(t,Lt)|0,ns=d1+(j7<<2)|0,e[ns>>2]=wo,ss=e[Ji>>2]|0,os=e[j5>>2]|0,vo=e[f7>>2]|0,hD(I7,li,j9,ss,os,vo),gn=e[j5>>2]|0,ko=(m7+12|0)+(gn<<2)|0,as=e[ko>>2]|0,So=e[as>>2]|0,bo=e[ns>>2]|0,My(So,I7,bo),Do=e[j5>>2]|0,As=(m7+20|0)+(Do*12|0)|0,lD(As,I7),_o=e[I7>>2]|0,xo=_o&2147483647,Lo=+(xo>>>0),$s=Lo*7177114298428933e-22,Ro=J8+$s,Fo=Ro,un=Fo+.345,br=un,o[I7>>2]=br,dn=G5+(j7<<2)|0,o[dn>>2]=br,go)for(K=br,Mr=1;;)if(To=I7+(Mr<<2)|0,or=+o[To>>2],No=or*or,ls=Mr+1|0,cs=I7+(ls<<2)|0,fn=+o[cs>>2],Go=fn*fn,gs=Go+No,us=(o[w2>>2]=gs,e[w2>>2]|0),Uo=us&2147483647,ds=+(Uo>>>0),hs=ds*35885571492144663e-23,Po=es+hs,Dr=Po,T=Dr+.345,G=T,O=ls>>1,q=I7+(O<<2)|0,o[q>>2]=G,V=G>K,V?(o[dn>>2]=G,Sr=G):Sr=K,t0=Mr+2|0,Z=(t0|0)<(sn|0),Z)K=Sr,Mr=t0;else{j=Sr;break}else j=br;if(A0=j>0,A0?(o[dn>>2]=0,J=0):J=j,o0=J>Lr,Is=o0?J:Lr,s0=j7+1|0,Y=e[l0>>2]|0,h0=(s0|0)<(Y|0),h0)Lr=Is,j7=s0;else{y=Lt,b=_t,Z7=Is;break}}else D=(r0|0)/2&-1,k=D<<2,y=k,b=D,Z7=R5;i0=W8(t,y)|0,e0=W8(t,y)|0,d0=e[l0>>2]|0,c0=(d0|0)>0;e:do if(c0){if($0=(r0|0)>1,X=m7+48|0,$0)_7=0;else{for(D7=0;;){o6=($6+4|0)+(D7<<2)|0,B6=e[o6>>2]|0,W3=d1+(D7<<2)|0,F3=e[W3>>2]|0,t6=e[t>>2]|0,R6=t6+(D7<<2)|0,c6=e[R6>>2]|0,s3=c6+(b<<2)|0,e[K9>>2]=f6,K6=W8(t,60)|0,A3=Y2+(D7<<2)|0,e[A3>>2]=K6,fi=K6,pn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(pn|0));if(Ny(h9,s3,i0),g6=G5+(D7<<2)|0,y6=+o[g6>>2],Gy(h9,c6,e0,Z7,y6),$l(h9,i0,e0,1,c6,F3,s3),T3=($6+1028|0)+(B6<<2)|0,H6=e[T3>>2]|0,D6=(j9+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,ee=(G6|0)==1,!ee){A=-1;break}if(Q6=e[X>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,re=Al(t,P3,s3,c6)|0,V6=e[A3>>2]|0,oe=V6+28|0,e[oe>>2]=re,ue=Pu(t)|0,Y6=(ue|0)==0,Y6||(F6=e[A3>>2]|0,te=F6+28|0,_6=e[te>>2]|0,P6=(_6|0)==0,P6||($l(h9,i0,e0,2,c6,F3,s3),O3=e[T3>>2]|0,O6=e[X>>2]|0,ae=O6+(O3<<2)|0,he=e[ae>>2]|0,ne=Al(t,he,s3,c6)|0,ye=e[A3>>2]|0,Qe=ye+56|0,e[Qe>>2]=ne,$l(h9,i0,e0,0,c6,F3,s3),fe=e[T3>>2]|0,Ie=e[X>>2]|0,Ve=Ie+(fe<<2)|0,w6=e[Ve>>2]|0,q6=Al(t,w6,s3,c6)|0,Ae=e[A3>>2]|0,e[Ae>>2]=q6,Ye=e[T3>>2]|0,we=e[X>>2]|0,u9=we+(Ye<<2)|0,E9=e[u9>>2]|0,ze=e[A3>>2]|0,r9=e[ze>>2]|0,Fe=ze+28|0,ve=e[Fe>>2]|0,J6=Gt(t,E9,r9,ve,9362)|0,$e=e[A3>>2]|0,v9=$e+4|0,e[v9>>2]=J6,R9=e[T3>>2]|0,_e=e[X>>2]|0,F9=_e+(R9<<2)|0,T9=e[F9>>2]|0,U9=e[A3>>2]|0,H9=e[U9>>2]|0,n4=U9+28|0,k9=e[n4>>2]|0,V9=Gt(t,T9,H9,k9,18724)|0,Ke=e[A3>>2]|0,Y9=Ke+8|0,e[Y9>>2]=V9,P9=e[T3>>2]|0,C9=e[X>>2]|0,v4=C9+(P9<<2)|0,Ze=e[v4>>2]|0,ke=e[A3>>2]|0,k4=e[ke>>2]|0,V4=ke+28|0,nt=e[V4>>2]|0,z9=Gt(t,Ze,k4,nt,28086)|0,Y4=e[A3>>2]|0,s4=Y4+12|0,e[s4>>2]=z9,R4=e[T3>>2]|0,st=e[X>>2]|0,n9=st+(R4<<2)|0,u4=e[n9>>2]|0,B9=e[A3>>2]|0,T6=e[B9>>2]|0,J9=B9+28|0,Oe=e[J9>>2]|0,f9=Gt(t,u4,T6,Oe,37449)|0,s9=e[A3>>2]|0,h4=s9+16|0,e[h4>>2]=f9,f4=e[T3>>2]|0,S9=e[X>>2]|0,o4=S9+(f4<<2)|0,O9=e[o4>>2]|0,I4=e[A3>>2]|0,Se=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,S4=Gt(t,O9,Se,z4,46811)|0,b9=e[A3>>2]|0,m9=b9+20|0,e[m9>>2]=S4,z6=e[T3>>2]|0,F4=e[X>>2]|0,T4=F4+(z6<<2)|0,ot=e[T4>>2]|0,p9=e[A3>>2]|0,x9=e[p9>>2]|0,mt=p9+28|0,xe=e[mt>>2]|0,be=Gt(t,ot,x9,xe,56173)|0,q9=e[A3>>2]|0,a4=q9+24|0,e[a4>>2]=be,h8=e[T3>>2]|0,N4=e[X>>2]|0,f8=N4+(h8<<2)|0,x8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,x8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,L8=e[T3>>2]|0,Ht=e[X>>2]|0,Vt=Ht+(L8<<2)|0,Yt=e[Vt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,zt=e[pt>>2]|0,Kt=xt+56|0,r8=e[Kt>>2]|0,n8=Gt(t,Yt,zt,r8,18724)|0,Et=e[A3>>2]|0,K4=Et+36|0,e[K4>>2]=n8,G4=e[T3>>2]|0,at=e[X>>2]|0,Le=at+(G4<<2)|0,p8=e[Le>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,M8=e[E8>>2]|0,s8=b4+56|0,R8=e[s8>>2]|0,A4=Gt(t,p8,M8,R8,28086)|0,o8=e[A3>>2]|0,Jt=o8+40|0,e[Jt>>2]=A4,At=e[T3>>2]|0,W9=e[X>>2]|0,U4=W9+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,o9=Ct+56|0,lt=e[o9>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,yt=e[A3>>2]|0,p4=yt+44|0,e[p4>>2]=Bt,D4=e[T3>>2]|0,J4=e[X>>2]|0,W4=J4+(D4<<2)|0,a9=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,_4=P4+56|0,Qt=e[_4>>2]|0,a8=Gt(t,a9,gt,Qt,46811)|0,Z9=e[A3>>2]|0,C3=Z9+48|0,e[C3>>2]=a8,Z4=e[T3>>2]|0,wt=e[X>>2]|0,$4=wt+(Z4<<2)|0,je=e[$4>>2]|0,l4=e[A3>>2]|0,Te=l4+28|0,Wt=e[Te>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,je,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=D7+1|0,ut=e[l0>>2]|0,dt=(jt|0)<(ut|0),dt)D7=jt;else{B=X,Tt=ut;break e}}return C=mn,A|0}for(;;){N6=($6+4|0)+(_7<<2)|0,C0=e[N6>>2]|0,j6=d1+(_7<<2)|0,f0=e[j6>>2]|0,k6=e[t>>2]|0,R3=k6+(_7<<2)|0,n0=e[R3>>2]|0,m0=n0+(b<<2)|0,e[K9>>2]=f6,s6=W8(t,60)|0,v0=Y2+(_7<<2)|0,e[v0>>2]=s6,fi=s6,pn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(pn|0));for(Ar=0;r6=f0+(Ar<<2)|0,M3=e[r6>>2]|0,d3=M3&2147483647,J3=+(d3>>>0),h6=J3*7177114298428933e-22,m3=h6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,Q=Ar+b|0,S6=n0+(Q<<2)|0,o[S6>>2]=M6,n6=Ar+1|0,b6=(n6|0)<(b|0),b6;)Ar=n6;if(Ny(h9,m0,i0),g0=G5+(_7<<2)|0,I0=+o[g0>>2],Gy(h9,n0,e0,Z7,I0),$l(h9,i0,e0,1,n0,f0,m0),p0=($6+1028|0)+(C0<<2)|0,b0=e[p0>>2]|0,y0=(j9+800|0)+(b0<<2)|0,E0=e[y0>>2]|0,Q0=(E0|0)==1,!Q0){A=-1;break}if(w0=e[X>>2]|0,B0=w0+(b0<<2)|0,x0=e[B0>>2]|0,Z0=Al(t,x0,m0,n0)|0,R0=e[v0>>2]|0,G0=R0+28|0,e[G0>>2]=Z0,U0=Pu(t)|0,H0=(U0|0)==0,H0||(k0=e[v0>>2]|0,K0=k0+28|0,N0=e[K0>>2]|0,M0=(N0|0)==0,M0||($l(h9,i0,e0,2,n0,f0,m0),P0=e[p0>>2]|0,W0=e[X>>2]|0,J0=W0+(P0<<2)|0,V0=e[J0>>2]|0,j0=Al(t,V0,m0,n0)|0,Y0=e[v0>>2]|0,o1=Y0+56|0,e[o1>>2]=j0,$l(h9,i0,e0,0,n0,f0,m0),z0=e[p0>>2]|0,r1=e[X>>2]|0,L0=r1+(z0<<2)|0,s1=e[L0>>2]|0,h1=Al(t,s1,m0,n0)|0,u1=e[v0>>2]|0,e[u1>>2]=h1,E1=e[p0>>2]|0,f1=e[X>>2]|0,A1=f1+(E1<<2)|0,g1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,X0=a1+28|0,B1=e[X0>>2]|0,p1=Gt(t,g1,$1,B1,9362)|0,Q1=e[v0>>2]|0,C1=Q1+4|0,e[C1>>2]=p1,y1=e[p0>>2]|0,k1=e[X>>2]|0,S1=k1+(y1<<2)|0,L1=e[S1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,P1=e[v0>>2]|0,D1=P1+8|0,e[D1>>2]=F1,X1=e[p0>>2]|0,G1=e[X>>2]|0,x1=G1+(X1<<2)|0,J1=e[x1>>2]|0,H1=e[v0>>2]|0,V1=e[H1>>2]|0,Y1=H1+28|0,z1=e[Y1>>2]|0,t2=Gt(t,J1,V1,z1,28086)|0,o2=e[v0>>2]|0,q1=o2+12|0,e[q1>>2]=t2,d2=e[p0>>2]|0,Z1=e[X>>2]|0,I2=Z1+(d2<<2)|0,A2=e[I2>>2]|0,C2=e[v0>>2]|0,$2=e[C2>>2]|0,W1=C2+28|0,f2=e[W1>>2]|0,g2=Gt(t,A2,$2,f2,37449)|0,s2=e[v0>>2]|0,l2=s2+16|0,e[l2>>2]=g2,i2=e[p0>>2]|0,a2=e[X>>2]|0,m2=a2+(i2<<2)|0,r2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,y2=e[S2>>2]|0,M2=Gt(t,r2,D2,y2,46811)|0,O2=e[v0>>2]|0,p2=O2+20|0,e[p2>>2]=M2,W2=e[p0>>2]|0,q2=e[X>>2]|0,K2=q2+(W2<<2)|0,U2=e[K2>>2]|0,V2=e[v0>>2]|0,Z2=e[V2>>2]|0,A5=V2+28|0,N1=e[A5>>2]|0,t5=Gt(t,U2,Z2,N1,56173)|0,T5=e[v0>>2]|0,i5=T5+24|0,e[i5>>2]=t5,L5=e[p0>>2]|0,j2=e[X>>2]|0,p5=j2+(L5<<2)|0,_5=e[p5>>2]|0,V5=e[v0>>2]|0,u5=V5+28|0,y5=e[u5>>2]|0,o5=V5+56|0,F2=e[o5>>2]|0,R2=Gt(t,_5,y5,F2,9362)|0,Q2=e[v0>>2]|0,Q5=Q2+32|0,e[Q5>>2]=R2,N5=e[p0>>2]|0,E5=e[X>>2]|0,M5=E5+(N5<<2)|0,q5=e[M5>>2]|0,z2=e[v0>>2]|0,C5=z2+28|0,$5=e[C5>>2]|0,d5=z2+56|0,w5=e[d5>>2]|0,T1=Gt(t,q5,$5,w5,18724)|0,x5=e[v0>>2]|0,h5=x5+36|0,e[h5>>2]=T1,l5=e[p0>>2]|0,X2=e[X>>2]|0,v5=X2+(l5<<2)|0,r5=e[v5>>2]|0,a5=e[v0>>2]|0,f5=a5+28|0,J2=e[f5>>2]|0,I5=a5+56|0,n5=e[I5>>2]|0,F5=Gt(t,r5,J2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=F5,k5=e[p0>>2]|0,z5=e[X>>2]|0,i3=z5+(k5<<2)|0,B5=e[i3>>2]|0,I3=e[v0>>2]|0,h3=I3+28|0,W5=e[h3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,y3=Gt(t,B5,W5,a3,37449)|0,Z5=e[v0>>2]|0,x3=Z5+44|0,e[x3>>2]=y3,f3=e[p0>>2]|0,w3=e[X>>2]|0,e6=w3+(f3<<2)|0,V3=e[e6>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,a6=X5+56|0,Y3=e[a6>>2]|0,c3=Gt(t,V3,t3,Y3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,K5=e[X>>2]|0,H5=K5+(Q3<<2)|0,Y5=e[H5>>2]|0,D5=e[v0>>2]|0,z3=D5+28|0,l6=e[z3>>2]|0,n3=D5+56|0,l3=e[n3>>2]|0,U3=Gt(t,Y5,l6,l3,56173)|0,C6=e[v0>>2]|0,b3=C6+52|0,e[b3>>2]=U3)),L3=_7+1|0,D3=e[l0>>2]|0,A6=(L3|0)<(D3|0),A6)_7=L3;else{B=X,Tt=D3;break e}}return C=mn,A|0}else v=m7+48|0,B=v,Tt=d0;while(!1);for(o[b2>>2]=Z7,Ft=Tt<<2,h=Ft,X4=C,C=C+((1*h|0)+15&-16)|0,p=Ft,De=C,C=C+((1*p|0)+15&-16)|0,g8=Pu(t)|0,et=(g8|0)!=0,Y8=et?0:7,Z8=m7+44|0,F8=t+24|0,u8=t+32|0,T8=j9+2868|0,z8=m7+52|0,E7=Y8;;){if(j8=(hn+12|0)+(E7<<2)|0,ht=e[j8>>2]|0,H2(ht,0,1),Nt=e[Z8>>2]|0,H2(ht,f6,Nt),N8=e[j5>>2]|0,Xt=(N8|0)==0,Xt||(O4=e[F8>>2]|0,H2(ht,O4,1),C4=e[u8>>2]|0,H2(ht,C4,1)),A9=e[l0>>2]|0,G8=(A9|0)>0,G8)for(i7=0;;)if(qi=($6+4|0)+(i7<<2)|0,Hi=e[qi>>2]|0,Vi=e2+(i7<<2)|0,Ei=e[Vi>>2]|0,X8=($6+1028|0)+(Hi<<2)|0,Ci=e[X8>>2]|0,ei=e[B>>2]|0,Bi=ei+(Ci<<2)|0,ti=e[Bi>>2]|0,yi=Y2+(i7<<2)|0,g7=e[yi>>2]|0,Yi=g7+(E7<<2)|0,Qi=e[Yi>>2]|0,wi=Ib(ht,t,ti,Qi,Ei)|0,u7=q0+(i7<<2)|0,e[u7>>2]=wi,vi=i7+1|0,ci=e[l0>>2]|0,d7=(vi|0)<(ci|0),d7)i7=vi;else{m=ci;break}else m=A9;if(zi=e[j5>>2]|0,Ki=((j9+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ki>>2]|0,qb(E7,T8,h9,$6,d1,e2,q0,Wi,m),gi=e[$6>>2]|0,ki=(gi|0)>0,ki)for(x7=0;;){if(Zi=($6+1092|0)+(x7<<2)|0,ii=e[Zi>>2]|0,ui=e[l0>>2]|0,K8=(ui|0)>0,K8)for(ln=ui,p7=0,$r=0;;)if(ri=($6+4|0)+($r<<2)|0,h7=e[ri>>2]|0,ji=(h7|0)==(x7|0),ji?(Si=De+(p7<<2)|0,Xi=q0+($r<<2)|0,bi=e[Xi>>2]|0,Oo=(bi|0)!=0,s=Oo&1,e[Si>>2]=s,Di=e2+($r<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ni=X4+(p7<<2)|0,e[ni>>2]=e7,E=e[l0>>2]|0,di=E,In=_i):(di=ln,In=p7),xi=$r+1|0,t7=(xi|0)<(di|0),t7)ln=di,p7=In,$r=xi;else{fs=In;break}else fs=0;if(Li=(j9+1312|0)+(ii<<2)|0,x4=e[Li>>2]|0,Mi=25648+(x4<<2)|0,U8=e[Mi>>2]|0,hi=U8+20|0,le=e[hi>>2]|0,B8=e[z8>>2]|0,vt=B8+(ii<<2)|0,y8=e[vt>>2]|0,P8=YC[le&7](t,y8,X4,De,fs)|0,kr=e[l0>>2]|0,ao=(kr|0)>0,ao)for(ar=0,Rr=0;;)if(zn=($6+4|0)+(Rr<<2)|0,Ao=e[zn>>2]|0,Kn=(Ao|0)==(x7|0),Kn?($o=e2+(Rr<<2)|0,lo=e[$o>>2]|0,Jn=ar+1|0,co=X4+(ar<<2)|0,e[co>>2]=lo,xr=Jn):xr=ar,on=Rr+1|0,uo=(on|0)<(kr|0),uo)ar=xr,Rr=on;else{_r=xr;break}else _r=0;if(ho=e[Li>>2]|0,Wn=25648+(ho<<2)|0,fo=e[Wn>>2]|0,Zn=fo+24|0,jn=e[Zn>>2]|0,Io=e[z8>>2]|0,an=Io+(ii<<2)|0,Xn=e[an>>2]|0,oQ[jn&3](ht,t,Xn,X4,De,_r,P8,x7)|0,An=x7+1|0,ts=e[$6>>2]|0,mo=(An|0)<(ts|0),mo)x7=An;else break}if(po=E7+1|0,Eo=Pu(t)|0,$n=(Eo|0)!=0,is=$n?14:7,Co=(E7|0)<(is|0),Co)E7=po;else{A=0;break}}return C=mn,A|0}function Fb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0;if(T2=C,D=t+64|0,k=e[D>>2]|0,Q1=k+4|0,F1=e[Q1>>2]|0,z1=F1+28|0,W1=e[z1>>2]|0,k2=k+104|0,U2=e[k2>>2]|0,p5=t+28|0,N5=e[p5>>2]|0,v=W1+(N5<<2)|0,K=e[v>>2]|0,i0=t+36|0,e[i0>>2]=K,f0=F1+4|0,Z0=e[f0>>2]|0,P0=Z0<<2,g=P0,s1=C,C=C+((1*g|0)+15&-16)|0,h=P0,X0=C,C=C+((1*h|0)+15&-16)|0,p=P0,B1=C,C=C+((1*p|0)+15&-16)|0,m=P0,p1=C,C=C+((1*m|0)+15&-16)|0,C1=e[f0>>2]|0,y1=(C1|0)>0,y1)for(v1=s+4|0,k1=s+1028|0,S1=U2+48|0,L1=K<<1,M1=L1&2147483646,X2=0;;)if(O1=v1+(X2<<2)|0,X1=e[O1>>2]|0,G1=k1+(X1<<2)|0,x1=e[G1>>2]|0,J1=(W1+800|0)+(x1<<2)|0,H1=e[J1>>2]|0,V1=25640+(H1<<2)|0,Y1=e[V1>>2]|0,t2=Y1+20|0,o2=e[t2>>2]|0,e2=e[S1>>2]|0,q1=e2+(x1<<2)|0,d2=e[q1>>2]|0,Z1=pi[o2&15](t,d2)|0,I2=p1+(X2<<2)|0,e[I2>>2]=Z1,A2=B1+(X2<<2)|0,e5=(Z1|0)!=0,A=e5&1,e[A2>>2]=A,C2=e[t>>2]|0,$2=C2+(X2<<2)|0,f2=e[$2>>2]|0,g4(f2|0,0,M1|0)|0,g2=X2+1|0,n2=e[f0>>2]|0,u2=(g2|0)<(n2|0),u2)X2=g2;else{a1=n2;break}else a1=C1;if(b1=s+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(P1=s+1160|0,D1=s+2184|0,h2=0;r2=P1+(h2<<2)|0,D2=e[r2>>2]|0,S2=B1+(D2<<2)|0,y2=e[S2>>2]|0,G2=(y2|0)==0,M2=D1+(h2<<2)|0,O2=e[M2>>2]|0,G2?(p2=B1+(O2<<2)|0,W2=e[p2>>2]|0,q2=(W2|0)==0,q2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,K2=B1+(O2<<2)|0,e[K2>>2]=1),V2=h2+1|0,Z2=(V2|0)<(_1|0),Z2;)h2=V2;if(s2=e[s>>2]|0,l2=(s2|0)>0,l2){for(i2=s+1092|0,a2=U2+52|0,m2=s+4|0,A5=a1,v5=0;;){if(Y2=(A5|0)>0,Y2)for($1=A5,h5=0,I5=0;;)if(N1=m2+(I5<<2)|0,t5=e[N1>>2]|0,T5=(t5|0)==(v5|0),T5?(i5=B1+(I5<<2)|0,L5=e[i5>>2]|0,j2=X0+(h5<<2)|0,F5=(L5|0)!=0,$=F5&1,e[j2>>2]=$,_5=e[t>>2]|0,V5=_5+(I5<<2)|0,u5=e[V5>>2]|0,b2=h5+1|0,y5=s1+(h5<<2)|0,e[y5>>2]=u5,B=e[f0>>2]|0,R2=B,l5=b2):(R2=$1,l5=h5),o5=I5+1|0,F2=(o5|0)<(R2|0),F2)$1=R2,h5=l5,I5=o5;else{x5=l5;break}else x5=0;if(Q2=i2+(v5<<2)|0,Q5=e[Q2>>2]|0,E5=(W1+1312|0)+(Q5<<2)|0,M5=e[E5>>2]|0,q5=25648+(M5<<2)|0,R5=e[q5>>2]|0,z2=R5+28|0,C5=e[z2>>2]|0,$5=e[a2>>2]|0,d5=$5+(Q5<<2)|0,w5=e[d5>>2]|0,YC[C5&7](t,w5,s1,X0,x5)|0,T1=v5+1|0,_=e[s>>2]|0,Q=(T1|0)<(_|0),!Q)break;y=e[f0>>2]|0,A5=y,v5=T1}b=e[b1>>2]|0,L=b}else L=_1;if(R=(L|0)>0,R)for(M=s+1160|0,T=e[t>>2]|0,G=s+2184|0,O=(K|0)/2&-1,q=(K|0)>1,a5=L;;){if(r5=a5+-1|0,o0=M+(r5<<2)|0,J=e[o0>>2]|0,s0=T+(J<<2)|0,Y=e[s0>>2]|0,h0=G+(r5<<2)|0,e0=e[h0>>2]|0,d0=T+(e0<<2)|0,c0=e[d0>>2]|0,q)for(n5=0;;){$0=Y+(n5<<2)|0,l0=+o[$0>>2],X=c0+(n5<<2)|0,m0=+o[X>>2],g0=l0>0,I0=m0>0;do if(g0)if(I0){o[$0>>2]=l0,n0=l0-m0,o[X>>2]=n0;break}else{o[X>>2]=l0,p0=m0+l0,o[$0>>2]=p0;break}else if(I0){o[$0>>2]=l0,C0=m0+l0,o[X>>2]=C0;break}else{o[X>>2]=l0,b0=l0-m0,o[$0>>2]=b0;break}while(!1);if(y0=n5+1|0,D0=(y0|0)<(O|0),D0)n5=y0;else break}if(V=(a5|0)>1,V)a5=r5;else break}if(t0=e[f0>>2]|0,Z=(t0|0)>0,!Z)return C=T2,0;for(A0=s+4|0,j=s+1028|0,r0=U2+48|0,f5=0;;)if(Q0=e[t>>2]|0,w0=Q0+(f5<<2)|0,B0=e[w0>>2]|0,x0=A0+(f5<<2)|0,R0=e[x0>>2]|0,v0=j+(R0<<2)|0,G0=e[v0>>2]|0,U0=(W1+800|0)+(G0<<2)|0,O0=e[U0>>2]|0,H0=25640+(O0<<2)|0,k0=e[H0>>2]|0,K0=k0+24|0,N0=e[K0>>2]|0,M0=e[r0>>2]|0,W0=M0+(G0<<2)|0,J0=e[W0>>2]|0,V0=p1+(f5<<2)|0,j0=e[V0>>2]|0,HC[N0&3](t,J0,j0,B0)|0,q0=f5+1|0,Y0=e[f0>>2]|0,o1=(q0|0)<(Y0|0),o1)f5=q0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=T2,0;for(J2=0;z0=e[t>>2]|0,r1=z0+(J2<<2)|0,L0=e[r1>>2]|0,h1=e[p5>>2]|0,u1=(U2+12|0)+(h1<<2)|0,E1=e[u1>>2]|0,f1=e[E1>>2]|0,Tb(f1,L0,L0),d1=J2+1|0,A1=e[f0>>2]|0,g1=(d1|0)<(A1|0),g1;)J2=d1;return C=T2,0}function NC(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0;if(b1=C,A=(s|0)/4&-1,$=A<<2,v=Re($)|0,K=A+s|0,i0=K<<2,f0=Re(i0)|0,Z0=s>>1,P0=+(s|0),s1=P0,B1=+rn(+s1),g=B1*1.4426950408889634,h=+J7(g),p=~~h,m=t+4|0,e[m>>2]=p,e[t>>2]=s,E=t+8|0,e[E>>2]=f0,y=t+12|0,e[y>>2]=v,B=(s|0)>3,!B){X0=4/P0,p1=t+16|0,o[p1>>2]=X0;return}for(b=+(s|0),D=3.141592653589793/b,k=s<<1,_=+(k|0),Q=3.141592653589793/_,v1=0;G=v1<<2,O=+(G|0),q=D*O,V=+AA(+q),t0=V,Z=v1<<1,A0=f0+(Z<<2)|0,o[A0>>2]=t0,j=+Vn(+q),r0=j,o0=-r0,J=Z|1,s0=f0+(J<<2)|0,o[s0>>2]=o0,Y=+(J|0),h0=Q*Y,e0=+AA(+h0),d0=e0,c0=Z+Z0|0,$0=f0+(c0<<2)|0,o[$0>>2]=d0,l0=+Vn(+h0),X=l0,m0=c0+1|0,g0=f0+(m0<<2)|0,o[g0>>2]=X,I0=v1+1|0,n0=(I0|0)<(A|0),n0;)v1=I0;if(L=(s|0)/8&-1,R=(s|0)>7,!R){X0=4/P0,p1=t+16|0,o[p1>>2]=X0;return}for(M=+(s|0),T=3.141592653589793/M,k1=0;p0=k1<<2,C0=p0|2,b0=+(C0|0),y0=T*b0,D0=+AA(+y0),E0=D0*.5,Q0=E0,w0=k1<<1,B0=w0+s|0,x0=f0+(B0<<2)|0,o[x0>>2]=Q0,R0=+Vn(+y0),v0=R0*-.5,G0=v0,U0=B0+1|0,O0=f0+(U0<<2)|0,o[O0>>2]=G0,H0=k1+1|0,k0=(H0|0)<(L|0),k0;)k1=H0;if(K0=p+-1|0,N0=1<>2]=X0;return}for(;;){for(j0=J0,Q1=0,L1=0;;)if(V0=j0&S1,q0=(V0|0)==0,Y0=1<>z0,L0=(r1|0)==0,L0){y1=C1;break}else j0=r1,Q1=C1,L1=z0;if(h1=y1^-1,u1=M0&h1,E1=u1+-1|0,f1=S1<<1,d1=v+(f1<<2)|0,e[d1>>2]=E1,A1=f1|1,g1=v+(A1<<2)|0,e[g1>>2]=y1,a1=S1+1|0,$1=(a1|0)<(L|0),$1)S1=a1;else break}X0=4/P0,p1=t+16|0,o[p1>>2]=X0}function GC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0;y=C,s=(t|0)==0,!s&&(A=t+8|0,$=e[A>>2]|0,g=($|0)==0,g||E2($),h=t+12|0,p=e[h>>2]|0,m=(p|0)==0,m||E2(p),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 Tb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0;for(J3=C,p=e[t>>2]|0,m=p>>1,e2=p>>2,$=m+-7|0,W2=s+($<<2)|0,g=m+e2|0,i5=A+(g<<2)|0,R2=t+8|0,d5=e[R2>>2]|0,f5=d5+(e2<<2)|0,u3=f5,H5=W2,L3=i5;B5=L3+-16|0,w3=H5+8|0,E=+o[w3>>2],M=u3+12|0,r0=+o[M>>2],l0=E*r0,D0=-l0,O0=+o[H5>>2],q0=u3+8|0,d1=+o[q0>>2],v1=d1*O0,O1=D0-v1,o[B5>>2]=O1,q1=+o[H5>>2],u2=+o[M>>2],k2=u2*q1,D2=+o[w3>>2],S2=+o[q0>>2],y2=S2*D2,G2=k2-y2,M2=L3+-12|0,o[M2>>2]=G2,O2=H5+24|0,p2=+o[O2>>2],q2=u3+4|0,K2=+o[q2>>2],U2=p2*K2,V2=-U2,Z2=H5+16|0,A5=+o[Z2>>2],Y2=+o[u3>>2],N1=Y2*A5,t5=V2-N1,T5=L3+-8|0,o[T5>>2]=t5,L5=+o[Z2>>2],j2=+o[q2>>2],p5=j2*L5,_5=+o[O2>>2],V5=+o[u3>>2],u5=V5*_5,b2=p5-u5,y5=L3+-4|0,o[y5>>2]=b2,o5=H5+-32|0,F2=u3+16|0,Q2=o5>>>0>>0,!Q2;)u3=F2,H5=o5,L3=B5;for(Q5=A+(m<<2)|0,h=m+-8|0,N5=s+(h<<2)|0,Q3=f5,Y5=N5,D3=i5;E5=Q3+-16|0,M5=Y5+16|0,q5=+o[M5>>2],R5=Q3+-4|0,z2=+o[R5>>2],C5=z2*q5,$5=Y5+24|0,w5=+o[$5>>2],T1=Q3+-8|0,x5=+o[T1>>2],h5=x5*w5,l5=h5+C5,o[D3>>2]=l5,X2=+o[M5>>2],h2=+o[T1>>2],v5=h2*X2,r5=+o[$5>>2],a5=+o[R5>>2],J2=a5*r5,I5=v5-J2,n5=D3+4|0,o[n5>>2]=I5,F5=+o[Y5>>2],e5=Q3+-12|0,c5=+o[e5>>2],T2=c5*F5,k5=Y5+8|0,z5=+o[k5>>2],i3=+o[E5>>2],I3=i3*z5,h3=I3+T2,W5=D3+8|0,o[W5>>2]=h3,r3=+o[Y5>>2],a3=+o[E5>>2],y3=a3*r3,G5=+o[k5>>2],Z5=+o[e5>>2],x3=Z5*G5,f3=y3-x3,e6=D3+12|0,o[e6>>2]=f3,V3=Y5+-32|0,X5=D3+16|0,_3=V3>>>0>>0,!_3;)Q3=E5,Y5=V3,D3=X5;for(l6=t+4|0,n3=e[l6>>2]|0,Ry(n3,d5,Q5,m),l3=e[t>>2]|0,U3=e[R2>>2]|0,C6=t+12|0,b3=e[C6>>2]|0,Fy(l3,U3,b3,A),t3=e[R2>>2]|0,a6=t3+(m<<2)|0,K5=a6,D5=A,A6=i5,j5=i5;G3=A6+-16|0,Y3=+o[D5>>2],c3=K5+4|0,g3=+o[c3>>2],y=g3*Y3,B=D5+4|0,b=+o[B>>2],D=+o[K5>>2],k=D*b,v=y-k,_=A6+-4|0,o[_>>2]=v,Q=+o[D5>>2],L=+o[K5>>2],R=L*Q,T=+o[B>>2],G=+o[c3>>2],O=G*T,q=R+O,V=-q,o[j5>>2]=V,K=D5+8|0,t0=+o[K>>2],Z=K5+12|0,A0=+o[Z>>2],j=A0*t0,o0=D5+12|0,J=+o[o0>>2],s0=K5+8|0,Y=+o[s0>>2],h0=Y*J,i0=j-h0,e0=A6+-8|0,o[e0>>2]=i0,d0=+o[K>>2],c0=+o[s0>>2],$0=c0*d0,X=+o[o0>>2],m0=+o[Z>>2],g0=m0*X,I0=$0+g0,n0=-I0,f0=j5+4|0,o[f0>>2]=n0,p0=D5+16|0,C0=+o[p0>>2],b0=K5+20|0,y0=+o[b0>>2],E0=y0*C0,Q0=D5+20|0,w0=+o[Q0>>2],B0=K5+16|0,x0=+o[B0>>2],Z0=x0*w0,R0=E0-Z0,v0=A6+-12|0,o[v0>>2]=R0,G0=+o[p0>>2],U0=+o[B0>>2],H0=U0*G0,k0=+o[Q0>>2],K0=+o[b0>>2],N0=K0*k0,M0=H0+N0,P0=-M0,W0=j5+8|0,o[W0>>2]=P0,J0=D5+24|0,V0=+o[J0>>2],j0=K5+28|0,Y0=+o[j0>>2],o1=Y0*V0,z0=D5+28|0,r1=+o[z0>>2],L0=K5+24|0,s1=+o[L0>>2],h1=s1*r1,u1=o1-h1,o[G3>>2]=u1,E1=+o[J0>>2],f1=+o[L0>>2],A1=f1*E1,g1=+o[z0>>2],a1=+o[j0>>2],$1=a1*g1,X0=A1+$1,B1=-X0,p1=j5+12|0,o[p1>>2]=B1,Q1=j5+16|0,C1=D5+32|0,y1=K5+32|0,k1=C1>>>0>>0,k1;)K5=y1,D5=C1,A6=G3,j5=Q1;for(S1=A+(e2<<2)|0,z3=i5,r6=S1,M3=S1;;)if(L1=r6+-16|0,M1=z3+-16|0,b1=z3+-4|0,_1=+o[b1>>2],R1=r6+-4|0,o[R1>>2]=_1,F1=-_1,o[M3>>2]=F1,P1=z3+-8|0,D1=+o[P1>>2],X1=r6+-8|0,o[X1>>2]=D1,G1=-D1,x1=M3+4|0,o[x1>>2]=G1,J1=z3+-12|0,H1=+o[J1>>2],V1=r6+-12|0,o[V1>>2]=H1,Y1=-H1,z1=M3+8|0,o[z1>>2]=Y1,t2=+o[M1>>2],o[L1>>2]=t2,o2=-t2,d2=M3+12|0,o[d2>>2]=o2,Z1=M3+16|0,I2=Z1>>>0>>0,I2)z3=M1,r6=L1,M3=Z1;else{U5=i5,K3=i5;break}for(;A2=K3+-16|0,C2=U5+12|0,$2=e[C2>>2]|0,e[A2>>2]=$2,W1=U5+8|0,f2=e[W1>>2]|0,g2=K3+-12|0,e[g2>>2]=f2,n2=U5+4|0,s2=e[n2>>2]|0,l2=K3+-8|0,e[l2>>2]=s2,i2=e[U5>>2]|0,a2=K3+-4|0,e[a2>>2]=i2,m2=U5+16|0,r2=A2>>>0>Q5>>>0,r2;)U5=m2,K3=A2}function My(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0;if(z5=C,k=e[t>>2]|0,v=k>>1,o1=k>>2,g1=k>>3,S1=k<<2,$=S1,G1=C,C=C+((1*$|0)+15&-16)|0,d2=G1+(v<<2)|0,g=v+o1|0,s2=s+(g<<2)|0,M2=t+8|0,N1=e[M2>>2]|0,_=N1+(v<<2)|0,t0=(g1|0)>0,t0){for(h=g+1|0,e0=s+(h<<2)|0,p0=g1+-1|0,R0=p0>>>1,W0=R0<<1,V0=v+-2|0,j0=V0-W0|0,q0=g+-4|0,Y0=R0<<2,z0=q0-Y0|0,o5=_,M5=0,f5=s2,F5=e0;r1=f5+-16|0,L0=o5+-8|0,s1=f5+-8|0,h1=+o[s1>>2],u1=+o[F5>>2],E1=u1+h1,f1=+o[r1>>2],d1=F5+8|0,A1=+o[d1>>2],a1=A1+f1,$1=o5+-4|0,X0=+o[$1>>2],B1=a1*X0,p1=+o[L0>>2],Q1=p1*E1,C1=Q1+B1,b=M5+v|0,y1=G1+(b<<2)|0,o[y1>>2]=C1,v1=+o[L0>>2],k1=v1*a1,L1=+o[$1>>2],M1=L1*E1,b1=k1-M1,_1=M5|1,D=_1+v|0,R1=G1+(D<<2)|0,o[R1>>2]=b1,F1=F5+16|0,P1=M5+2|0,D1=(P1|0)<(g1|0),D1;)o5=L0,M5=P1,f5=r1,F5=F1;O1=W0+2|0,h2=N1+(j0<<2)|0,v5=s+(z0<<2)|0,Y2=j0,y5=h2,E5=O1,a5=v5}else Y2=v,y5=_,E5=0,a5=s2;if(X1=s+4|0,x1=v-g1|0,J1=(E5|0)<(x1|0),J1){for(H1=v+-1|0,V1=H1-E5|0,Y1=V1-g1|0,z1=Y1>>>1,t2=z1<<1,o2=E5+t2|0,e2=z1<<2,q1=e2+5|0,Z1=-2-t2|0,R2=y5,R5=E5,J2=a5,c5=X1;I2=R2+-8|0,A2=J2+-16|0,C2=J2+-8|0,$2=+o[C2>>2],W1=+o[c5>>2],f2=$2-W1,g2=+o[A2>>2],n2=c5+8|0,u2=+o[n2>>2],l2=g2-u2,i2=R2+-4|0,a2=+o[i2>>2],m2=l2*a2,r2=+o[I2>>2],k2=r2*f2,D2=k2+m2,E=R5+v|0,S2=G1+(E<<2)|0,o[S2>>2]=D2,y2=+o[I2>>2],G2=y2*l2,O2=+o[i2>>2],p2=O2*f2,W2=G2-p2,q2=R5|1,y=q2+v|0,K2=G1+(y<<2)|0,o[K2>>2]=W2,U2=c5+16|0,V2=R5+2|0,Z2=(V2|0)<(x1|0),Z2;)R2=I2,R5=V2,J2=A2,c5=U2;A5=o2+2|0,l5=s+(q1<<2)|0,B=Y2+Z1|0,X2=N1+(B<<2)|0,F2=X2,q5=A5,e5=l5}else F2=y5,q5=E5,e5=X1;if(t5=(q5|0)<(v|0),t5)for(T5=s+(k<<2)|0,Q2=F2,z2=q5,I5=T5,T2=e5;i5=Q2+-8|0,L5=I5+-16|0,j2=I5+-8|0,p5=+o[j2>>2],_5=-p5,V5=+o[T2>>2],u5=_5-V5,b2=+o[L5>>2],Q=-b2,L=T2+8|0,R=+o[L>>2],M=Q-R,T=Q2+-4|0,G=+o[T>>2],O=M*G,q=+o[i5>>2],V=q*u5,K=V+O,p=z2+v|0,Z=G1+(p<<2)|0,o[Z>>2]=K,A0=+o[i5>>2],j=A0*M,r0=+o[T>>2],o0=r0*u5,J=j-o0,s0=z2|1,m=s0+v|0,Y=G1+(m<<2)|0,o[Y>>2]=J,h0=T2+16|0,i0=z2+2|0,d0=(i0|0)<(v|0),d0;)Q2=i5,z2=i0,I5=L5,T2=h0;if($5=t+4|0,d5=e[$5>>2]|0,Ry(d5,N1,d2,v),h5=e[t>>2]|0,w5=e[M2>>2]|0,T1=t+12|0,x5=e[T1>>2]|0,Fy(h5,w5,x5,G1),c0=(o1|0)>0,!c0){C=z5;return}for($0=A+(v<<2)|0,l0=e[M2>>2]|0,X=l0+(v<<2)|0,m0=t+16|0,Q5=X,C5=0,r5=G1,n5=$0;g0=n5+-4|0,I0=+o[r5>>2],n0=+o[Q5>>2],f0=n0*I0,C0=r5+4|0,b0=+o[C0>>2],y0=Q5+4|0,D0=+o[y0>>2],E0=D0*b0,Q0=E0+f0,w0=+o[m0>>2],B0=Q0*w0,x0=A+(C5<<2)|0,o[x0>>2]=B0,Z0=+o[r5>>2],v0=+o[y0>>2],G0=v0*Z0,U0=+o[C0>>2],O0=+o[Q5>>2],H0=O0*U0,k0=G0-H0,K0=+o[m0>>2],N0=k0*K0,o[g0>>2]=N0,M0=r5+8|0,P0=Q5+8|0,J0=C5+1|0,N5=(J0|0)==(o1|0),!N5;)Q5=P0,C5=J0,r5=M0,n5=g0;C=z5}function Ry(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0,y8=0,P8=0,sn=0,kr=0;if(kr=C,C0=t+-6|0,b0=(t|0)>6,b0)for(m=$+-8|0,V5=A+(m<<2)|0,T3=$>>1,B=T3+-8|0,e8=A+(B<<2)|0,g=s,B8=V5,y8=e8;ht=B8+24|0,Vi=+o[ht>>2],Qi=y8+24|0,ki=+o[Qi>>2],bi=Vi-ki,y0=B8+28|0,U0=+o[y0>>2],j0=y8+28|0,f1=+o[j0>>2],y1=U0-f1,D1=ki+Vi,o[ht>>2]=D1,o2=+o[j0>>2],g2=o2+U0,o[y0>>2]=g2,S2=g+4|0,Z2=+o[S2>>2],u5=Z2*y1,q5=+o[g>>2],X2=q5*bi,c5=X2+u5,o[Qi>>2]=c5,y3=+o[g>>2],a6=y3*y1,z3=+o[S2>>2],r6=z3*bi,S6=a6-r6,o[j0>>2]=S6,W3=B8+16|0,H6=+o[W3>>2],ue=y8+16|0,ne=+o[ue>>2],we=H6-ne,R9=B8+20|0,Y9=+o[R9>>2],Y4=y8+20|0,f9=+o[Y4>>2],I6=Y9-f9,x9=ne+H6,o[W3>>2]=x9,I8=+o[Y4>>2],Yt=I8+Y9,o[R9>>2]=Yt,at=g+20|0,Jt=+o[at>>2],Bt=Jt*I6,_4=g+16|0,Te=+o[_4>>2],Ft=Te*we,u8=Ft+Bt,o[ue>>2]=u8,j8=+o[_4>>2],Nt=j8*I6,N8=+o[at>>2],Xt=N8*we,O4=Nt-Xt,o[Y4>>2]=O4,C4=B8+8|0,A9=+o[C4>>2],G8=y8+8|0,$i=+o[G8>>2],qi=A9-$i,Hi=B8+12|0,Ei=+o[Hi>>2],X8=y8+12|0,Ci=+o[X8>>2],ei=Ei-Ci,Bi=$i+A9,o[C4>>2]=Bi,ti=+o[X8>>2],yi=ti+Ei,o[Hi>>2]=yi,li=g+36|0,g7=+o[li>>2],Yi=g7*ei,wi=g+32|0,u7=+o[wi>>2],vi=u7*qi,ci=vi+Yi,o[G8>>2]=ci,d7=+o[wi>>2],zi=d7*ei,Ki=+o[li>>2],Ji=Ki*qi,Wi=zi-Ji,o[X8>>2]=Wi,gi=+o[B8>>2],Zi=+o[y8>>2],ii=gi-Zi,ui=B8+4|0,K8=+o[ui>>2],ri=y8+4|0,h7=+o[ri>>2],ji=K8-h7,f7=Zi+gi,o[B8>>2]=f7,Si=+o[ri>>2],Xi=Si+K8,o[ui>>2]=Xi,Di=g+52|0,e7=+o[Di>>2],_i=e7*ji,ni=g+48|0,xi=+o[ni>>2],t7=xi*ii,di=t7+_i,o[y8>>2]=di,J8=+o[ni>>2],Li=J8*ji,x4=+o[Di>>2],D0=x4*ii,E0=Li-D0,o[ri>>2]=E0,Q0=B8+-32|0,w0=y8+-32|0,B0=g+64|0,x0=w0>>>0>>0,!x0;)g=B0,B8=Q0,y8=w0;if(Z0=(C0|0)>1,Z0)for(U8=1;;){if(R0=1<>U8,O0=4<>1,b=H0+-8|0,q=O0+1|0,h0=O0<<1,$0=h0|1,m0=O0*3|0,I0=m0+1|0,f0=O0<<2,hi=0;;){for(K0=s5(hi,G0)|0,N0=A+(K0<<2)|0,p=E+K0|0,M0=A+(p<<2)|0,d0=b+K0|0,P0=A+(d0<<2)|0,h=s,vt=M0,P8=P0;W0=vt+24|0,J0=+o[W0>>2],V0=P8+24|0,q0=+o[V0>>2],Y0=J0-q0,o1=vt+28|0,z0=+o[o1>>2],r1=P8+28|0,L0=+o[r1>>2],s1=z0-L0,h1=q0+J0,o[W0>>2]=h1,u1=+o[r1>>2],E1=u1+z0,o[o1>>2]=E1,d1=h+4|0,A1=+o[d1>>2],g1=A1*s1,a1=+o[h>>2],$1=a1*Y0,X0=$1+g1,o[V0>>2]=X0,B1=+o[h>>2],p1=B1*s1,Q1=+o[d1>>2],C1=Q1*Y0,v1=p1-C1,o[r1>>2]=v1,k1=h+(O0<<2)|0,S1=vt+16|0,L1=+o[S1>>2],M1=P8+16|0,b1=+o[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+o[R1>>2],P1=P8+20|0,O1=+o[P1>>2],X1=F1-O1,G1=b1+L1,o[S1>>2]=G1,x1=+o[P1>>2],J1=x1+F1,o[R1>>2]=J1,H1=h+(q<<2)|0,V1=+o[H1>>2],Y1=V1*X1,z1=+o[k1>>2],t2=z1*_1,e2=t2+Y1,o[M1>>2]=e2,q1=+o[k1>>2],d2=q1*X1,Z1=+o[H1>>2],I2=Z1*_1,A2=d2-I2,o[P1>>2]=A2,C2=h+(h0<<2)|0,$2=vt+8|0,W1=+o[$2>>2],f2=P8+8|0,n2=+o[f2>>2],u2=W1-n2,s2=vt+12|0,l2=+o[s2>>2],i2=P8+12|0,a2=+o[i2>>2],m2=l2-a2,r2=n2+W1,o[$2>>2]=r2,k2=+o[i2>>2],D2=k2+l2,o[s2>>2]=D2,y2=h+($0<<2)|0,G2=+o[y2>>2],M2=G2*m2,O2=+o[C2>>2],p2=O2*u2,W2=p2+M2,o[f2>>2]=W2,q2=+o[C2>>2],K2=q2*m2,U2=+o[y2>>2],V2=U2*u2,A5=K2-V2,o[i2>>2]=A5,Y2=h+(m0<<2)|0,N1=+o[vt>>2],t5=+o[P8>>2],T5=N1-t5,i5=vt+4|0,L5=+o[i5>>2],j2=P8+4|0,p5=+o[j2>>2],_5=L5-p5,b2=t5+N1,o[vt>>2]=b2,y5=+o[j2>>2],o5=y5+L5,o[i5>>2]=o5,F2=h+(I0<<2)|0,R2=+o[F2>>2],Q2=R2*_5,Q5=+o[Y2>>2],N5=Q5*T5,E5=N5+Q2,o[P8>>2]=E5,M5=+o[Y2>>2],R5=M5*_5,z2=+o[F2>>2],C5=z2*T5,$5=R5-C5,o[j2>>2]=$5,d5=h+(f0<<2)|0,w5=vt+-32|0,T1=P8+-32|0,x5=T1>>>0>>0,!x5;)h=d5,vt=w5,P8=T1;if(h5=hi+1|0,l5=(h5|0)<(R0|0),l5)hi=h5;else break}if(h2=U8+1|0,Mi=(h2|0)==(C0|0),Mi)break;U8=h2}if(k0=($|0)>0,k0)le=0;else return;for(;v5=A+(le<<2)|0,y=le|30,r5=A+(y<<2)|0,a5=+o[r5>>2],O=le|14,f5=A+(O<<2)|0,J2=+o[f5>>2],I5=a5-J2,Y=le|31,n5=A+(Y<<2)|0,F5=+o[n5>>2],c0=le|15,e5=A+(c0<<2)|0,T2=+o[e5>>2],k5=F5-T2,z5=J2+a5,o[r5>>2]=z5,i3=T2+F5,o[n5>>2]=i3,o[f5>>2]=I5,o[e5>>2]=k5,l0=le|28,B5=A+(l0<<2)|0,I3=+o[B5>>2],X=le|12,h3=A+(X<<2)|0,W5=+o[h3>>2],r3=I3-W5,g0=le|29,a3=A+(g0<<2)|0,G5=+o[a3>>2],n0=le|13,Z5=A+(n0<<2)|0,x3=+o[Z5>>2],f3=G5-x3,w3=W5+I3,o[B5>>2]=w3,e6=x3+G5,o[a3>>2]=e6,V3=r3*.9238795042037964,X5=f3*.3826834261417389,_3=V3-X5,o[h3>>2]=_3,t3=r3*.3826834261417389,G3=f3*.9238795042037964,Y3=G3+t3,o[Z5>>2]=Y3,p0=le|26,c3=A+(p0<<2)|0,g3=+o[c3>>2],D=le|10,u3=A+(D<<2)|0,Q3=+o[u3>>2],K5=g3-Q3,k=le|27,H5=A+(k<<2)|0,Y5=+o[H5>>2],v=le|11,D5=A+(v<<2)|0,U5=+o[D5>>2],l6=Y5-U5,n3=Q3+g3,o[c3>>2]=n3,l3=U5+Y5,o[H5>>2]=l3,U3=K5-l6,C6=U3*.7071067690849304,o[u3>>2]=C6,b3=l6+K5,L3=b3*.7071067690849304,o[D5>>2]=L3,_=le|24,D3=A+(_<<2)|0,A6=+o[D3>>2],Q=le|8,K3=A+(Q<<2)|0,j5=+o[K3>>2],M3=A6-j5,L=le|25,d3=A+(L<<2)|0,J3=+o[d3>>2],R=le|9,h6=A+(R<<2)|0,m3=+o[h6>>2],x6=J3-m3,L6=j5+A6,o[D3>>2]=L6,M6=m3+J3,o[d3>>2]=M6,n6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=n6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,k6=N6+j6,M=le|22,R3=A+(M<<2)|0,s6=+o[R3>>2],T=le|6,o6=A+(T<<2)|0,B6=+o[o6>>2],F3=s6-B6,G=le|7,Z3=A+(G<<2)|0,t6=+o[Z3>>2],V=le|23,R6=A+(V<<2)|0,c6=+o[R6>>2],s3=t6-c6,K6=B6+s6,o[R3>>2]=K6,A3=c6+t6,o[R6>>2]=A3,o[o6>>2]=s3,o[Z3>>2]=F3,K=le|4,g6=A+(K<<2)|0,y6=+o[g6>>2],t0=le|20,$6=A+(t0<<2)|0,D6=+o[$6>>2],G6=y6-D6,Z=le|5,ee=A+(Z<<2)|0,Q6=+o[ee>>2],A0=le|21,X6=A+(A0<<2)|0,P3=+o[X6>>2],re=Q6-P3,V6=D6+y6,o[$6>>2]=V6,oe=P3+Q6,o[X6>>2]=oe,U6=re*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,te=re*.3826834261417389,_6=G6*.9238795042037964,P6=te-_6,j=le|2,O3=A+(j<<2)|0,O6=+o[O3>>2],r0=le|18,ae=A+(r0<<2)|0,he=+o[ae>>2],Be=O6-he,o0=le|3,ye=A+(o0<<2)|0,Qe=+o[ye>>2],J=le|19,fe=A+(J<<2)|0,Ie=+o[fe>>2],Ve=Qe-Ie,w6=he+O6,o[ae>>2]=w6,q6=Ie+Qe,o[fe>>2]=q6,Ae=Ve+Be,Ye=Ae*.7071067690849304,w9=Ve-Be,u9=w9*.7071067690849304,E9=+o[v5>>2],s0=le|16,ze=A+(s0<<2)|0,r9=+o[ze>>2],Fe=E9-r9,i0=le|1,ve=A+(i0<<2)|0,J6=+o[ve>>2],e0=le|17,$e=A+(e0<<2)|0,v9=+o[$e>>2],d9=J6-v9,_e=r9+E9,o[ze>>2]=_e,F9=v9+J6,o[$e>>2]=F9,T9=d9*.3826834261417389,U9=Fe*.9238795042037964,H9=T9+U9,n4=d9*.9238795042037964,k9=Fe*.3826834261417389,V9=n4-k9,Ke=V9-k6,h9=H9-b6,P9=H9+b6,C9=V9+k6,v4=h9+Ke,Ze=Ke-h9,ke=+o[D5>>2],k4=u9-ke,V4=+o[u3>>2],nt=V4-Ye,z9=V4+Ye,K9=ke+u9,s4=+o[h3>>2],R4=s4-F6,st=+o[Z5>>2],n9=st-P6,u4=s4+F6,B9=st+P6,T6=R4-n9,J9=n9+R4,Oe=+o[f5>>2],N9=Oe-s3,d4=+o[e5>>2],s9=d4-F3,h4=s3+Oe,f4=F3+d4,S9=N9+k4,o4=N9-k4,O9=T6+v4,I4=O9*.7071067690849304,Se=T6-v4,z4=Se*.7071067690849304,I9=I4+S9,o[o6>>2]=I9,S4=S9-I4,o[g6>>2]=S4,b9=J9-Ze,m9=b9*.7071067690849304,z6=s9-nt,F4=m9+o4,o[v5>>2]=F4,T4=o4-m9,o[O3>>2]=T4,ot=J9+Ze,p9=ot*.7071067690849304,mt=s9+nt,j3=z6+z4,o[ye>>2]=j3,xe=z6-z4,o[ve>>2]=xe,be=mt+p9,o[Z3>>2]=be,q9=mt-p9,o[ee>>2]=q9,a4=h4+z9,h8=h4-z9,N4=P9+u4,f8=u4-P9,x8=a4+N4,o[f5>>2]=x8,m8=a4-N4,o[h3>>2]=m8,Ut=B9-C9,Pt=f4-K9,Ot=h8+Ut,o[K3>>2]=Ot,qt=h8-Ut,o[u3>>2]=qt,t8=B9+C9,i8=f4+K9,L8=Pt+f8,o[D5>>2]=L8,Ht=Pt-f8,o[h6>>2]=Ht,Vt=i8+t8,o[e5>>2]=Vt,_t=i8-t8,o[Z5>>2]=_t,xt=+o[d3>>2],pt=F9-xt,zt=+o[D3>>2],Kt=_e-zt,r8=zt+_e,n8=xt+F9,Et=Kt+pt,K4=pt-Kt,G4=+o[fe>>2],Lt=+o[H5>>2],Le=G4-Lt,p8=+o[c3>>2],b4=+o[ae>>2],E8=p8-b4,M8=b4+p8,s8=Lt+G4,R8=+o[B5>>2],A4=+o[$6>>2],o8=R8-A4,Mt=+o[a3>>2],At=+o[X6>>2],W9=Mt-At,U4=A4+R8,$t=At+Mt,Ct=o8-W9,Rt=W9+o8,m4=+o[r5>>2],o9=+o[R3>>2],lt=m4-o9,ct=+o[n5>>2],yt=+o[R6>>2],p4=ct-yt,D4=o9+m4,J4=yt+ct,W4=lt+Le,a9=lt-Le,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,D9=gt*.7071067690849304,Qt=E4+W4,o[R3>>2]=Qt,a8=W4-E4,o[$6>>2]=a8,Z9=Rt-K4,C3=Z9*.7071067690849304,Z4=p4-E8,wt=C3+a9,o[ze>>2]=wt,$4=a9-C3,o[ae>>2]=$4,je=Rt+K4,l4=je*.7071067690849304,j4=p4+E8,Wt=Z4+D9,o[fe>>2]=Wt,C8=Z4-D9,o[$e>>2]=C8,A8=j4+l4,o[R6>>2]=A8,$8=j4-l4,o[X6>>2]=$8,Zt=D4+M8,l8=D4-M8,jt=U4+r8,ut=U4-r8,dt=Zt+jt,o[r5>>2]=dt,j9=Zt-jt,o[B5>>2]=j9,c8=$t-n8,Tt=J4-s8,X4=l8+c8,o[D3>>2]=X4,De=l8-c8,o[c3>>2]=De,g8=$t+n8,et=J4+s8,Y8=Tt+ut,o[H5>>2]=Y8,Z8=Tt-ut,o[d3>>2]=Z8,F8=et+g8,o[n5>>2]=F8,T8=et-g8,o[a3>>2]=T8,c4=le+32|0,z8=(c4|0)<($|0),z8;)le=c4}function Fy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0;for(Q1=C,D=t>>1,k=$+(D<<2)|0,V=s+(t<<2)|0,a1=V,$1=A,X0=$,B1=k;h0=e[$1>>2]|0,g=h0+D|0,n0=$+(g<<2)|0,x0=$1+4|0,M0=e[x0>>2]|0,h=M0+D|0,L0=$+(h<<2)|0,p=g+1|0,A1=$+(p<<2)|0,g1=+o[A1>>2],m=h+1|0,v=$+(m<<2)|0,_=+o[v>>2],Q=g1-_,L=+o[n0>>2],R=+o[L0>>2],M=R+L,T=+o[a1>>2],G=M*T,O=a1+4|0,q=+o[O>>2],K=q*Q,t0=K+G,Z=q*M,A0=T*Q,j=Z-A0,r0=B1+-16|0,o0=_+g1,J=o0*.5,s0=L-R,Y=s0*.5,i0=t0+J,o[X0>>2]=i0,e0=J-t0,d0=B1+-8|0,o[d0>>2]=e0,c0=j+Y,$0=X0+4|0,o[$0>>2]=c0,l0=j-Y,X=B1+-4|0,o[X>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+D|0,I0=$+(E<<2)|0,f0=$1+12|0,p0=e[f0>>2]|0,y=p0+D|0,C0=$+(y<<2)|0,B=E+1|0,b0=$+(B<<2)|0,y0=+o[b0>>2],b=y+1|0,D0=$+(b<<2)|0,E0=+o[D0>>2],Q0=y0-E0,w0=+o[I0>>2],B0=+o[C0>>2],Z0=B0+w0,R0=a1+8|0,v0=+o[R0>>2],G0=Z0*v0,U0=a1+12|0,O0=+o[U0>>2],H0=O0*Q0,k0=H0+G0,K0=O0*Z0,N0=v0*Q0,P0=K0-N0,W0=E0+y0,J0=W0*.5,V0=w0-B0,j0=V0*.5,q0=k0+J0,Y0=X0+8|0,o[Y0>>2]=q0,o1=J0-k0,o[r0>>2]=o1,z0=P0+j0,r1=X0+12|0,o[r1>>2]=z0,s1=P0-j0,h1=B1+-12|0,o[h1>>2]=s1,u1=a1+16|0,E1=$1+16|0,f1=X0+16|0,d1=f1>>>0>>0,d1;)a1=u1,$1=E1,X0=f1,B1=r0}function Nb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0;return B=C,s=t+28|0,A=e[s>>2]|0,$=A+2868|0,g=c9(1,36)|0,h=t+4|0,p=e[h>>2]|0,m=g+4|0,e[m>>2]=p,o[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Gb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,!s&&E2(t)}function Ub(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Pb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0;Ae=C,w6=t,Ye=w6+48|0;do e[w6>>2]=0,w6=w6+4|0;while((w6|0)<(Ye|0));L=e[A>>2]|0,R=t+36|0,e[R>>2]=L,n2=+(L|0),i3=n2*8,f3=i3,g3=+rn(+f3),l3=g3*1.4426950408889634,d3=+J7(l3),N6=d3+-1,R6=~~N6,M=t+32|0,e[M>>2]=R6,r0=+(g|0),l0=r0*.25,D0=l0,O0=D0*.5,q0=+($|0),d1=O0/q0,v1=+rn(+d1),O1=v1*1.4426950216293335,e2=O1+-5.965784072875977,u2=R6+1|0,G2=1<>2]=c5,k5=+($|0),z5=k5+.25,B5=z5*r0,I3=B5,h3=I3*.5,W5=h3/q0,r3=+rn(+W5),a3=r3*1.4426950216293335,y3=a3+-5.965784072875977,G5=Y2*y3,Z5=G5+.5,x3=~~Z5,w3=1-c5|0,e6=w3+x3|0,V3=t+40|0,e[V3>>2]=e6,X5=$<<2,_3=Re(X5)|0,t3=t+16|0,e[t3>>2]=_3,a6=Re(X5)|0,G3=t+20|0,e[G3>>2]=a6,Y3=Re(X5)|0,c3=t+24|0,e[c3>>2]=Y3,u3=t+4|0,e[u3>>2]=s,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,K5=t+48|0,o[K5>>2]=1,H5=(g|0)<26e3;do if(H5)o[K5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){o[K5>>2]=.9399999976158142;break}D5=(g|0)>46e3,D5&&(o[K5>>2]=1.274999976158142)}while(!1);z3=q0*2,U5=+(g|0),l6=($|0)>0,b3=l6,te=0,ne=0;e:for(;;){for(y=b3^1,_6=te;;){if(D3=_6+1|0,A6=+(D3|0),r6=A6*.08664337545633316,K3=r6+2.7488713472395148,j5=+Yn(+K3),M3=z3*j5,J3=M3/U5,h6=+J7(J3),m3=~~h6,E=(m3|0)<=(ne|0),ee=E|y,!ee){p=D3,m=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{he=ne;break e}}for(L6=1272+(P6<<2)|0,M6=+o[L6>>2],S6=1272+(p<<2)|0,n6=+o[S6>>2],f6=n6-M6,b6=m-ne|0,j6=+(b6|0),k6=f6/j6,R3=ne-m|0,s6=ne-$|0,o6=R3>>>0>s6>>>0,Ve=o6?R3:s6,n3=ne-Ve|0,G6=M6,Be=ne;B6=G6+100,W3=_3+(Be<<2)|0,o[W3>>2]=B6,F3=G6+k6,Z3=Be+1|0,V6=(Z3|0)==(n3|0),!V6;)G6=F3,Be=Z3;if(U3=(n3|0)<($|0),C6=(p|0)<87,C6)b3=U3,te=p,ne=n3;else{he=n3;break}}if(L3=(he|0)<($|0),L3)for(ye=he;H6=ye+-1|0,$6=_3+(H6<<2)|0,D6=e[$6>>2]|0,T=_3+(ye<<2)|0,e[T>>2]=D6,G=ye+1|0,re=(G|0)==($|0),!re;)ye=G;if(t6=($|0)>0,t6){for(c6=$<<1,s3=(g|0)/(c6|0)&-1,K6=s+120|0,A3=e[K6>>2]|0,g6=s+124|0,y6=s+116|0,T3=s+112|0,U6=1,O3=0,Qe=-99;;){Z=s5(s3,O3)|0,A0=+(Z|0),j=A0*.0007399999885819852,o0=j,J=+to(+o0),s0=J*13.100000381469727,Y=s5(Z,Z)|0,h0=+(Y|0),i0=h0*18499999754340024e-24,e0=i0,d0=+to(+e0),c0=d0*2.240000009536743,$0=c0+s0,X=A0*9999999747378752e-20,m0=X,g0=$0+m0,I0=g0,n0=A3+Qe|0,f0=(n0|0)<(O3|0);e:do if(f0)for(p0=+o[T3>>2],C0=I0-p0,b0=C0,Ie=Qe;;){if(y0=s5(Ie,s3)|0,E0=+(y0|0),Q0=E0*.0007399999885819852,w0=Q0,B0=+to(+w0),x0=B0*13.100000381469727,Z0=s5(y0,y0)|0,R0=+(Z0|0),v0=R0*18499999754340024e-24,G0=v0,U0=+to(+G0),H0=U0*2.240000009536743,k0=E0*9999999747378752e-20,K0=k0,N0=x0+K0,M0=N0+H0,P0=M0($|0);e:do if(W0)Y6=U6;else for(J0=e[g6>>2]|0,V0=J0+O3|0,F6=U6;;){if(z0=(F6|0)<(V0|0),!z0&&(r1=s5(F6,s3)|0,L0=+(r1|0),s1=L0*.0007399999885819852,h1=s1,u1=+to(+h1),E1=u1*13.100000381469727,f1=s5(r1,r1)|0,A1=+(f1|0),g1=A1*18499999754340024e-24,a1=g1,$1=+to(+a1),X0=$1*2.240000009536743,B1=L0*9999999747378752e-20,p1=B1,Q1=E1+p1,C1=Q1+X0,y1=+o[y6>>2],k1=y1+I0,S1=k1,L1=C1>2]=F1,D1=O3+1|0,P3=(D1|0)==($|0),P3)break;U6=Y6,O3=D1,Qe=fe}if(t6)for(O=U5*.5,q=e[M>>2]|0,V=q+1|0,K=1<>2]=q1,Z1=O6+1|0,X6=(Z1|0)==($|0),X6){k=O;break}else O6=Z1;else q6=19}else q6=19;if((q6|0)==19&&(Q=U5*.5,k=Q),I2=s+36|0,A2=k/q0,C2=A2,$2=s+24|0,W1=+o[$2>>2],f2=s+28|0,g2=+o[f2>>2],s2=Hb(I2,C2,$,W1,g2)|0,l2=t+8|0,e[l2>>2]=s2,i2=Re(12)|0,a2=t+12|0,e[a2>>2]=i2,m2=Re(X5)|0,e[i2>>2]=m2,r2=Re(X5)|0,k2=i2+4|0,e[k2>>2]=r2,D2=Re(X5)|0,S2=i2+8|0,e[S2>>2]=D2,!!t6)for(y2=e[u3>>2]|0,D=e[i2>>2]|0,B=i2+4|0,v=e[B>>2]|0,b=i2+8|0,_=e[b>>2]|0,ae=0;M2=+(ae|0),O2=M2+.5,p2=O2*U5,W2=p2/z3,q2=+rn(+W2),K2=q2*2.885390043258667,U2=K2+-11.931568145751953,V2=U2,Z2=V2<0,oe=Z2?0:V2,h=oe>=16,ue=h?16:oe,A5=~~ue,N1=+(A5|0),t5=ue-N1,T5=t5,i5=1-T5,L5=A5+1|0,j2=(y2+132|0)+(A5<<2)|0,p5=+o[j2>>2],_5=p5,V5=_5*i5,u5=(y2+132|0)+(L5<<2)|0,y5=+o[u5>>2],o5=y5*t5,F2=o5,R2=F2+V5,Q2=R2,Q5=D+(ae<<2)|0,o[Q5>>2]=Q2,N5=(y2+200|0)+(A5<<2)|0,E5=+o[N5>>2],M5=E5,q5=M5*i5,z2=(y2+200|0)+(L5<<2)|0,C5=+o[z2>>2],$5=C5*t5,d5=$5,w5=d5+q5,T1=w5,x5=v+(ae<<2)|0,o[x5>>2]=T1,h5=(y2+268|0)+(A5<<2)|0,l5=+o[h5>>2],X2=l5,v5=X2*i5,r5=(y2+268|0)+(L5<<2)|0,a5=+o[r5>>2],f5=a5*t5,J2=f5,I5=J2+v5,n5=I5,F5=_+(ae<<2)|0,o[F5>>2]=n5,e5=ae+1|0,Q6=(e5|0)==($|0),!Q6;)ae=e5}function Ty(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;if(q0=C,A=(t|0)==0,!A){if($=t+16|0,v=e[$>>2]|0,K=(v|0)==0,K||E2(v),i0=t+20|0,f0=e[i0>>2]|0,Z0=(f0|0)==0,Z0||E2(f0),N0=t+24|0,M0=e[N0>>2]|0,P0=(M0|0)==0,P0||E2(M0),g=t+8|0,h=e[g>>2]|0,p=(h|0)==0,!p){for(E=h,J0=0;m=E+(J0<<2)|0,y=e[m>>2]|0,B=e[y>>2]|0,E2(B),b=e[g>>2]|0,D=b+(J0<<2)|0,k=e[D>>2]|0,_=k+4|0,Q=e[_>>2]|0,E2(Q),L=e[g>>2]|0,R=L+(J0<<2)|0,M=e[R>>2]|0,T=M+8|0,G=e[T>>2]|0,E2(G),O=e[g>>2]|0,q=O+(J0<<2)|0,V=e[q>>2]|0,t0=V+12|0,Z=e[t0>>2]|0,E2(Z),A0=e[g>>2]|0,j=A0+(J0<<2)|0,r0=e[j>>2]|0,o0=r0+16|0,J=e[o0>>2]|0,E2(J),s0=e[g>>2]|0,Y=s0+(J0<<2)|0,h0=e[Y>>2]|0,e0=h0+20|0,d0=e[e0>>2]|0,E2(d0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,X=l0+24|0,m0=e[X>>2]|0,E2(m0),g0=e[g>>2]|0,I0=g0+(J0<<2)|0,n0=e[I0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),b0=e[g>>2]|0,y0=b0+(J0<<2)|0,D0=e[y0>>2]|0,E2(D0),E0=J0+1|0,W0=(E0|0)==17,!W0;)s=e[g>>2]|0,E=s,J0=E0;Q0=e[g>>2]|0,E2(Q0)}w0=t+12|0,B0=e[w0>>2]|0,x0=(B0|0)==0,x0||(R0=e[B0>>2]|0,E2(R0),v0=e[w0>>2]|0,G0=v0+4|0,U0=e[G0>>2]|0,E2(U0),O0=e[w0>>2]|0,H0=O0+8|0,k0=e[H0>>2]|0,E2(k0),K0=e[w0>>2]|0,E2(K0)),V0=t,Y0=V0+52|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0))}}function Ny(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0;if(y0=C,p=e[t>>2]|0,m=p<<2,h=m,R=C,C=C+((1*h|0)+15&-16)|0,j=t+24|0,d0=e[j>>2]|0,Uy(p,d0,s,A,140,-1),c0=(p|0)>0,c0)for(f0=0;$0=s+(f0<<2)|0,l0=+o[$0>>2],X=A+(f0<<2)|0,m0=+o[X>>2],E=l0-m0,y=R+(f0<<2)|0,o[y>>2]=E,B=f0+1|0,I0=(B|0)==(p|0),!I0;)f0=B;if(b=e[j>>2]|0,D=t+4|0,k=e[D>>2]|0,v=k+128|0,_=e[v>>2]|0,Uy(p,b,R,A,0,_),c0)p0=0;else{C=y0;return}for(;L=s+(p0<<2)|0,M=+o[L>>2],T=R+(p0<<2)|0,G=+o[T>>2],O=M-G,o[T>>2]=O,q=p0+1|0,n0=(q|0)==(p|0),!n0;)p0=q;if(!c0){C=y0;return}for(Q=e[D>>2]|0,C0=0;V=A+(C0<<2)|0,K=+o[V>>2],t0=K,Z=t0+.5,A0=~~Z,r0=(A0|0)>39,$=r0?39:A0,o0=($|0)<0,g=o0?0:$,J=R+(C0<<2)|0,s0=+o[J>>2],Y=(Q+336|0)+(g<<2)|0,h0=+o[Y>>2],i0=h0+s0,o[V>>2]=i0,e0=C0+1|0,g0=(e0|0)==(p|0),!g0;)C0=e0;C=y0}function Gy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=+$,g=+g;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0;if(B5=C,G=e[t>>2]|0,O=t+40|0,d1=e[O>>2]|0,v1=d1<<2,m=v1,O1=C,C=C+((1*m|0)+15&-16)|0,e2=t+4|0,n2=e[e2>>2]|0,y2=n2+4|0,A5=+o[y2>>2],u5=A5+g,q=(d1|0)>0,q)for($5=0;Y=O1+($5<<2)|0,o[Y>>2]=-9999,I0=$5+1|0,B0=(I0|0)<(d1|0),B0;)$5=I0;if(N0=n2+8|0,r1=+o[N0>>2],h1=u50,u1){for(E1=t+16|0,f1=e[E1>>2]|0,h5=0;A1=f1+(h5<<2)|0,g1=+o[A1>>2],a1=g1+q5,$1=A+(h5<<2)|0,o[$1>>2]=a1,X0=h5+1|0,z2=(X0|0)==(G|0),!z2;)h5=X0;if(B1=t+8|0,p1=e[B1>>2]|0,Q1=n2+496|0,C1=+o[Q1>>2],y1=C1-$,u1)for(k1=t+20|0,S1=e[k1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,d5=0;;){_1=s+(d5<<2)|0,R1=+o[_1>>2],F1=S1+(d5<<2)|0,P1=e[F1>>2]|0,x5=d5,a5=R1;e:for(;;)for(w5=x5;;){if(D1=w5+1|0,X1=(D1|0)<(G|0),!X1){b=0,k=D1,T1=w5,f5=a5;break e}if(G1=S1+(D1<<2)|0,x1=e[G1>>2]|0,J1=(x1|0)==(P1|0),!J1){b=1,k=D1,T1=w5,f5=a5;break e}if(H1=s+(D1<<2)|0,V1=+o[H1>>2],Y1=V1>a5,Y1){x5=D1,a5=V1;continue e}else w5=D1}if(z1=f5+6,t2=A+(T1<<2)|0,o2=+o[t2>>2],q1=z1>o2,q1&&(d2=e[L1>>2]|0,Z1=P1>>d2,I2=(Z1|0)>16,p=I2?16:Z1,A2=(p|0)<0,h=A2?0:p,C2=p1+(h<<2)|0,$2=e[C2>>2]|0,W1=e[M1>>2]|0,f2=y1+f5,g2=f2,u2=g2+-30,s2=u2*.10000000149011612,l2=~~s2,i2=(l2|0)<0,a2=i2?0:l2,m2=(a2|0)>7,r2=m2?7:a2,k2=$2+(r2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+o[S2>>2],M2=~~G2,O2=+o[D2>>2],p2=~~O2,W2=(p2|0)<(M2|0),W2))for(q2=S1+(T1<<2)|0,K2=e[q2>>2]|0,U2=e[b1>>2]|0,V2=K2-U2|0,Z2=+(V2|0),Y2=W1>>1,N1=+(Y2|0),t5=O2+-16,T5=+(W1|0),i5=t5*T5,L5=i5-N1,j2=L5+Z2,p5=~~j2,C5=p2,z5=p5;_5=(z5|0)>0,_5&&(T=C5+2|0,V5=D2+(T<<2)|0,b2=+o[V5>>2],y5=b2+f5,o5=O1+(z5<<2)|0,F2=+o[o5>>2],R2=F2>2]=y5)),Q2=z5+W1|0,Q5=(Q2|0)<(d1|0),N5=C5+1|0,E5=(N5|0)<(M2|0),c5=E5&Q5,c5;)C5=N5,z5=Q2;if(b)d5=k;else{R=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(Q=t+36|0,R=Q),M5=e[R>>2]|0,Vb(O1,M5,d1),V=e[t>>2]|0,K=(V|0)>1;e:do if(K)for(t0=t+20|0,Z=t+28|0,A0=e[t0>>2]|0,j=e[A0>>2]|0,r0=M5>>1,o0=j-r0|0,J=e[Z>>2]|0,s0=o0-J|0,h0=e[e2>>2]|0,i0=h0+32|0,X=1,n0=j,X2=0,T2=s0;;){c0=O1+(T2<<2)|0,$0=+o[c0>>2],l0=A0+(X<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,f0=g0>>1,p0=f0-J|0,C0=+o[i0>>2],b0=$0>C0,J2=b0?C0:$0,y0=(T2|0)<(p0|0);t:do if(y0)for(E=T2,n5=J2;;){for(D0=n5==-9999,y=E;;){if(E0=y+1|0,Q0=O1+(E0<<2)|0,w0=+o[Q0>>2],x0=w0>-9999,x0){if(Z0=w0=(V|0),O0=(n0|0)>(G0|0),F5=U0|O0;t:do if(F5)h2=X2;else for(v5=X2;;){if(H0=A+(v5<<2)|0,k0=+o[H0>>2],K0=k0>2]=I5),M0=v5+1|0,P0=(M0|0)<(V|0),!P0){h2=M0;break t}if(_=A0+(M0<<2)|0,M=e[_>>2]|0,W0=(M|0)>(G0|0),W0){h2=M0;break}else v5=M0}while(!1);if(e0=h2+1|0,d0=(e0|0)<(V|0),!d0){l5=h2;break e}v=A0+(h2<<2)|0,L=e[v>>2]|0,X=e0,n0=L,X2=h2,T2=k5}else l5=0;while(!1);if(J0=e[O>>2]|0,V0=J0+-1|0,j0=O1+(V0<<2)|0,q0=+o[j0>>2],Y0=(l5|0)<(V|0),Y0)r5=l5;else{C=B5;return}for(;o1=A+(r5<<2)|0,z0=+o[o1>>2],L0=z0>2]=q0),s1=r5+1|0,R5=(s1|0)==(V|0),!R5;)r5=s1;C=B5}function $l(t,s,A,$,g,h,p){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0;var m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0;if(R0=C,E=e[t>>2]|0,y=t+4|0,T=e[y>>2]|0,o0=(T+12|0)+($<<2)|0,X=+o[o0>>2],C0=(E|0)>0,!!C0)for(b0=t+48|0,y0=+o[b0>>2],D0=t+12|0,E0=e[D0>>2]|0,B=E0+($<<2)|0,b=e[B>>2]|0,D=T+108|0,k=($|0)==1,v=y0,_=v*.005,Q=v*3e-4,B0=0;L=s+(B0<<2)|0,R=+o[L>>2],M=b+(B0<<2)|0,G=+o[M>>2],O=G+R,q=+o[D>>2],V=O>q,x0=V?q:O,K=A+(B0<<2)|0,t0=+o[K>>2],Z=t0+X,A0=x0>2]=m,k&&(r0=p+(B0<<2)|0,J=+o[r0>>2],s0=x0-J,Y=s0>-17.200000762939453,h0=s0+17.200000762939453,i0=h0,Y?(e0=_*i0,d0=1-e0,c0=d0,$0=c0<0,$0?Q0=9999999747378752e-20:Q0=c0):(l0=Q*i0,m0=1-l0,g0=m0,Q0=g0),I0=h+(B0<<2)|0,n0=+o[I0>>2],f0=n0*Q0,o[I0>>2]=f0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Ob(t,s){t=+t,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0;return q=C,$=s+4|0,g=e[$>>2]|0,v=g+28|0,_=e[v>>2]|0,Q=s+40|0,L=e[Q>>2]|0,R=_+(L<<2)|0,M=e[R>>2]|0,T=(M|0)/2&-1,G=+(T|0),h=g+8|0,p=e[h>>2]|0,m=+(p|0),E=G/m,y=_+2936|0,B=+o[y>>2],b=B*E,D=b+t,k=D<-9999,A=k?-9999:D,+A}function qb(t,s,A,$,g,h,p,m,E){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0;if(Y9=C,c0=e[A>>2]|0,$0=A+4|0,A5=e[$0>>2]|0,e6=A5+500|0,Q3=e[e6>>2]|0,C6=(Q3|0)==0,C6?Z5=16:(h6=A5+508|0,k6=e[h6>>2]|0,Z5=k6),s3=e[A5>>2]|0,Q6=((s+132|0)+(s3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,D0=(s+252|0)+(t<<2)|0,O0=e[D0>>2]|0,q0=1624+(O0<<3)|0,d1=+c1[q0>>3],v1=(s+312|0)+(t<<2)|0,O1=e[v1>>2]|0,e2=E<<2,b=e2,n2=C,C=C+((1*b|0)+15&-16)|0,D=e2,y2=C,C=C+((1*D|0)+15&-16)|0,Q=e2,Y2=C,C=C+((1*Q|0)+15&-16)|0,L=e2,b2=C,C=C+((1*L|0)+15&-16)|0,R=e2,R5=C,C=C+((1*R|0)+15&-16)|0,h2=$+1156|0,T2=(c0|0)>1e3,V9=T2?1696:1624,H9=V9+(O1<<3)|0,U9=+c1[H9>>3],G5=s5(e2,Z5)|0,M=G5,x3=C,C=C+((1*M|0)+15&-16)|0,e[n2>>2]=x3,k=G5,f3=C,C=C+((1*k|0)+15&-16)|0,e[y2>>2]=f3,v=G5,w3=C,C=C+((1*v|0)+15&-16)|0,e[Y2>>2]=w3,_=G5,V3=C,C=C+((1*_|0)+15&-16)|0,e[b2>>2]=V3,X5=(E|0)>1,X5&&(_3=x3+(Z5<<2)|0,t3=n2+4|0,e[t3>>2]=_3,a6=f3+(Z5<<2)|0,G3=y2+4|0,e[G3>>2]=a6,Y3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=Y3,g3=V3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,Be=(E|0)==2,!Be))for(D5=2;G=e[n2>>2]|0,V=e[y2>>2]|0,K=e[Y2>>2]|0,t0=e[b2>>2]|0,Y5=s5(D5,Z5)|0,z3=G+(Y5<<2)|0,U5=n2+(D5<<2)|0,e[U5>>2]=z3,l6=V+(Y5<<2)|0,n3=y2+(D5<<2)|0,e[n3>>2]=l6,l3=K+(Y5<<2)|0,U3=Y2+(D5<<2)|0,e[U3>>2]=l3,b3=t0+(Y5<<2)|0,L3=b2+(D5<<2)|0,e[L3>>2]=b3,D3=D5+1|0,ne=(D3|0)==(E|0),!ne;)D5=D3;if(K5=e[h2>>2]|0,H5=(c0|0)>0,H5)for(A6=e[b2>>2]|0,r6=(E|0)>0,K3=c0^-1,j5=Z5^-1,q6=0,we=K3;;){if(J3=(we|0)>(j5|0),n4=J3?we:j5,m3=n4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),y=L6?x6:Z5,g9(R5|0,p|0,e2|0)|0,g4(A6|0,0,G5|0)|0,r6)for(M6=(y|0)>0,S6=l0-q6|0,$e=0;;){if(R3=h+($e<<2)|0,s6=e[R3>>2]|0,o6=s6+(q6<<2)|0,B6=R5+($e<<2)|0,W3=e[B6>>2]|0,F3=(W3|0)==0,F3){if(M6)for(R6=Y2+($e<<2)|0,c6=e[R6>>2]|0,K6=n2+($e<<2)|0,A3=e[K6>>2]|0,g6=y2+($e<<2)|0,y6=e[g6>>2]|0,T3=b2+($e<<2)|0,H6=e[T3>>2]|0,ve=0;P0=c6+(ve<<2)|0,o[P0>>2]=1000000013351432e-25,W0=A3+(ve<<2)|0,o[W0>>2]=0,J0=y6+(ve<<2)|0,o[J0>>2]=0,V0=H6+(ve<<2)|0,e[V0>>2]=0,Y=ve+q6|0,j0=s6+(Y<<2)|0,e[j0>>2]=0,Y0=ve+1|0,O6=(Y0|0)==(m3|0),!O6;)ve=Y0}else{if(Z3=Y2+($e<<2)|0,t6=e[Z3>>2]|0,M6){for(r9=0;h0=r9+q6|0,$6=s6+(h0<<2)|0,D6=e[$6>>2]|0,G6=1768+(D6<<2)|0,ee=e[G6>>2]|0,X6=t6+(r9<<2)|0,e[X6>>2]=ee,P3=r9+1|0,_6=(P3|0)==(m3|0),!_6;)r9=P3;if(re=g+($e<<2)|0,V6=e[re>>2]|0,oe=b2+($e<<2)|0,ue=e[oe>>2]|0,M6){for(ze=0;U6=(ze|0)>=(S6|0),d0=U6?U9:d1,Y6=d0,i0=ze+q6|0,F6=V6+(i0<<2)|0,te=+o[F6>>2],Qe=+nr(+te),X=t6+(ze<<2)|0,m0=+o[X>>2],g0=Qe/m0,I0=ue+(ze<<2)|0,_e=!(g0>2]=B,n0=ze+1|0,P6=(n0|0)==(y|0),!P6;)ze=n0;if(M6)for(f0=n2+($e<<2)|0,p0=e[f0>>2]|0,C0=y2+($e<<2)|0,b0=e[C0>>2]|0,Fe=0;;)if(y0=Fe+q6|0,E0=V6+(y0<<2)|0,Q0=+o[E0>>2],w0=Q0*Q0,B0=p0+(Fe<<2)|0,o[B0>>2]=w0,x0=b0+(Fe<<2)|0,o[x0>>2]=w0,Z0=+o[E0>>2],R0=Z0<0,R0&&(v0=+o[B0>>2],G0=-v0,o[B0>>2]=G0),U0=t6+(Fe<<2)|0,H0=+o[U0>>2],k0=H0*H0,o[U0>>2]=k0,K0=Fe+1|0,O3=(K0|0)==(m3|0),O3){O=C0,M0=p0;break}else Fe=K0;else Ke=21}else Ke=21}else Ke=21;(Ke|0)==21&&(Ke=0,T=n2+($e<<2)|0,Z=e[T>>2]|0,J=y2+($e<<2)|0,O=J,M0=Z),N0=e[O>>2]|0,F9=e[$0>>2]|0,+Py(F9,l0,M0,N0,t6,0,q6,y,o6)}if(o1=$e+1|0,ae=(o1|0)==(E|0),ae)break;$e=o1}if(n6=e[h2>>2]|0,f6=(n6|0)>0,f6)for(b6=(y|0)>0,N6=m-q6|0,j6=l0-q6|0,y3=n6,k9=0;;){if(z0=($+1160|0)+(k9<<2)|0,r1=e[z0>>2]|0,L0=($+2184|0)+(k9<<2)|0,s1=e[L0>>2]|0,h1=h+(r1<<2)|0,u1=e[h1>>2]|0,E1=u1+(q6<<2)|0,f1=h+(s1<<2)|0,A1=e[f1>>2]|0,g1=n2+(r1<<2)|0,a1=e[g1>>2]|0,$1=n2+(s1<<2)|0,X0=e[$1>>2]|0,B1=y2+(r1<<2)|0,p1=e[B1>>2]|0,Q1=y2+(s1<<2)|0,C1=e[Q1>>2]|0,y1=Y2+(r1<<2)|0,k1=e[y1>>2]|0,S1=Y2+(s1<<2)|0,L1=e[S1>>2]|0,M1=b2+(r1<<2)|0,b1=e[M1>>2]|0,_1=b2+(s1<<2)|0,R1=e[_1>>2]|0,F1=R5+(r1<<2)|0,P1=e[F1>>2]|0,D1=(P1|0)==0,X1=R5+(s1<<2)|0,D1?(G1=e[X1>>2]|0,x1=(G1|0)==0,x1?X2=y3:Ke=31):Ke=31,(Ke|0)==31){if(Ke=0,e[X1>>2]=1,e[F1>>2]=1,b6)for(J6=0;;){J1=(J6|0)<(N6|0);do if(J1){if(H1=b1+(J6<<2)|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,z1=R1+(J6<<2)|0,Y1&&(t2=e[z1>>2]|0,o2=(t2|0)==0,o2)){i5=(J6|0)<(j6|0);do if(i5)L5=X0+(J6<<2)|0,j2=+o[L5>>2],p5=a1+(J6<<2)|0,_5=+o[p5>>2],V5=_5+j2,o[p5>>2]=V5,Ie=+nr(+V5),u5=p1+(J6<<2)|0,o[u5>>2]=Ie,q=L5;else if(y5=a1+(J6<<2)|0,o5=+o[y5>>2],F2=X0+(J6<<2)|0,R2=+o[F2>>2],Q2=R2+o5,Q5=Q2<0,ye=+nr(+o5),fe=+nr(+R2),N5=fe+ye,E5=p1+(J6<<2)|0,o[E5>>2]=N5,Q5){M5=-N5,o[y5>>2]=M5,q=F2;break}else{o[y5>>2]=N5,q=F2;break}while(!1);q5=C1+(J6<<2)|0,o[q5>>2]=0,o[q>>2]=0,e[z1>>2]=1,s0=J6+q6|0,z2=A1+(s0<<2)|0,e[z2>>2]=0;break}q1=a1+(J6<<2)|0,d2=+o[q1>>2],Ve=+nr(+d2),Z1=X0+(J6<<2)|0,I2=+o[Z1>>2],w6=+nr(+I2),A2=w6+Ve,o[q1>>2]=A2,C2=p1+(J6<<2)|0,$2=+o[C2>>2],W1=C1+(J6<<2)|0,f2=+o[W1>>2],g2=f2+$2,o[C2>>2]=g2,e[z1>>2]=1,e[H1>>2]=1,e0=J6+q6|0,u2=u1+(e0<<2)|0,s2=e[u2>>2]|0,l2=A1+(e0<<2)|0,i2=e[l2>>2]|0,w9=(s2|0)>-1,v9=0-s2|0,a2=w9?s2:v9,u9=(i2|0)>-1,d9=0-i2|0,m2=u9?i2:d9,r2=(a2|0)>(m2|0),r2?(k2=(s2|0)>0,D2=s2-i2|0,S2=i2-s2|0,G2=k2?D2:S2,e[l2>>2]=G2,j=e[u2>>2]|0,q2=j,V2=G2):(M2=(i2|0)>0,O2=s2-i2|0,p2=i2-s2|0,W2=M2?O2:p2,e[l2>>2]=W2,e[u2>>2]=i2,A0=e[l2>>2]|0,q2=i2,V2=A0),E9=(q2|0)>-1,R9=0-q2|0,K2=E9?q2:R9,U2=K2<<1,Z2=(V2|0)<(U2|0),Z2||(N1=0-V2|0,e[l2>>2]=N1,t5=e[u2>>2]|0,T5=0-t5|0,e[u2>>2]=T5)}while(!1);if(C5=k1+(J6<<2)|0,$5=+o[C5>>2],d5=L1+(J6<<2)|0,w5=+o[d5>>2],T1=w5+$5,o[d5>>2]=T1,o[C5>>2]=T1,x5=J6+1|0,he=(x5|0)==(m3|0),he)break;J6=x5}T9=e[$0>>2]|0,+Py(T9,l0,a1,p1,k1,b1,q6,y,E1),r0=e[h2>>2]|0,X2=r0}if(h5=k9+1|0,l5=(h5|0)<(X2|0),l5)y3=X2,k9=h5;else{a3=X2;break}}else a3=n6;if(v5=q6+Z5|0,r5=(c0|0)>(v5|0),Ye=we+Z5|0,r5)q6=v5,we=Ye;else{M3=a3;break}}else M3=K5;if(d3=(M3|0)>0,d3)r3=M3,Ae=0;else{C=Y9;return}for(;a5=($+1160|0)+(Ae<<2)|0,f5=e[a5>>2]|0,J2=p+(f5<<2)|0,I5=e[J2>>2]|0,n5=(I5|0)==0,F5=($+2184|0)+(Ae<<2)|0,n5?(e5=e[F5>>2]|0,c5=p+(e5<<2)|0,k5=e[c5>>2]|0,z5=(k5|0)==0,z5?W5=r3:Ke=52):Ke=52,(Ke|0)==52&&(Ke=0,e[J2>>2]=1,i3=e[F5>>2]|0,B5=p+(i3<<2)|0,e[B5>>2]=1,o0=e[h2>>2]|0,W5=o0),I3=Ae+1|0,h3=(I3|0)<(W5|0),h3;)r3=W5,Ae=I3;C=Y9}function Hb(t,s,A,$,g){t=t|0,s=+s,A=A|0,$=+$,g=+g;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0;for(et=C,C=C+32480|0,j3=et+32256|0,De=et+1792|0,xe=et,M=A<<2,D=M,T=C,C=C+((1*D|0)+15&-16)|0,s2=Re(68)|0,g4(De|0,0,30464)|0,M3=$>0,u9=$<0,Le=0;;){for(d4=Le<<2,A4=0;o5=A4+d4|0,C5=(o5|0)<88,C5?(r5=1272+(o5<<2)|0,z5=+o[r5>>2],je=z5):je=-30,x3=o5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+o[U6>>2],te=je>Y6,te?l4=Y6:l4=je):(ue=je>-30,ue?l4=-30:l4=je),_6=o5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,ae=+o[O6>>2],he=l4>ae,he?Te=ae:Te=l4):(O3=l4>-30,O3?Te=-30:Te=l4),ne=o5+3|0,Be=(ne|0)<88,Be?(fe=1272+(ne<<2)|0,Ie=+o[fe>>2],Ve=Te>Ie,Ve?j4=Ie:j4=Te):(ye=Te>-30,ye?j4=-30:j4=Te),w6=j3+(A4<<2)|0,o[w6>>2]=j4,q6=A4+1|0,Ot=(q6|0)==56,!Ot;)A4=q6;if(I9=(De+(Le*1792|0)|0)+448|0,G=2792+(Le*1344|0)|0,g9(I9|0,G|0,224)|0,J=(De+(Le*1792|0)|0)+672|0,m0=(2792+(Le*1344|0)|0)+224|0,g9(J|0,m0|0,224)|0,Q0=(De+(Le*1792|0)|0)+896|0,k0=(2792+(Le*1344|0)|0)+448|0,g9(Q0|0,k0|0,224)|0,o1=(De+(Le*1792|0)|0)+1120|0,g1=(2792+(Le*1344|0)|0)+672|0,g9(o1|0,g1|0,224)|0,S1=(De+(Le*1792|0)|0)+1344|0,G1=(2792+(Le*1344|0)|0)+896|0,g9(S1|0,G1|0,224)|0,d2=(De+(Le*1792|0)|0)+1568|0,l2=(2792+(Le*1344|0)|0)+1120|0,g9(d2|0,l2|0,224)|0,O2=De+(Le*1792|0)|0,g9(O2|0,G|0,224)|0,t5=(De+(Le*1792|0)|0)+224|0,g9(t5|0,G|0,224)|0,M3)for(At=0;;){if(u9)for(Bt=0;E9=16-Bt|0,M8=(E9|0)>-1,$8=0-E9|0,ze=M8?E9:$8,r9=+(ze|0),Fe=r9*g,ve=Fe+$,J6=ve<0,m=J6?0:ve,$e=m>0,h=$e?0:m,v9=((De+(Le*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,R9=+o[v9>>2],d9=R9+h,o[v9>>2]=d9,F9=Bt+1|0,Yt=(F9|0)==56,!Yt;)Bt=F9;else for(ct=0;d3=16-ct|0,s8=(d3|0)>-1,Zt=0-d3|0,N6=s8?d3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,Qe=F6<0,E=Qe?0:F6,Ae=((De+(Le*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Ye=+o[Ae>>2],we=Ye+E,o[Ae>>2]=we,w9=ct+1|0,Vt=(w9|0)==56,!Vt;)ct=w9;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(u9)for(yt=0;n4=16-yt|0,R8=(n4|0)>-1,l8=0-n4|0,k9=R8?n4:l8,V9=+(k9|0),Ke=V9*g,Y9=Ke+$,h9=Y9>0,p=h9?0:Y9,C9=((De+(Le*1792|0)|0)+(Mt*224|0)|0)+(yt<<2)|0,v4=+o[C9>>2],Ze=v4+p,o[C9>>2]=Ze,ke=yt+1|0,t8=(ke|0)==56,!t8;)yt=ke;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,V4=E8?k4:A8,nt=+(V4|0),z9=nt*g,Y4=z9+$,K9=((De+(Le*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+o[K9>>2],st=R4+Y4,o[K9>>2]=st,n9=lt+1|0,qt=(n9|0)==56,!qt;)lt=n9;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(T9=t+(Le<<2)|0,U9=+o[T9>>2],H9=U9,W9=0;;){for(B9=(W9|0)<2,T6=+(W9|0),k=T6*10,v=70-k,J9=B9?50:v,Oe=J9+H9,f9=Oe,Et=0;N9=((De+(Le*1792|0)|0)+(W9*224|0)|0)+(Et<<2)|0,s9=+o[N9>>2],h4=s9+f9,o[N9>>2]=h4,f4=Et+1|0,q9=(f4|0)==56,!q9;)Et=f4;for(S9=xe+(W9*224|0)|0,g9(S9|0,j3|0,224)|0,o4=+(W9|0),O9=o4*10,I4=70-O9,Lt=0;;)if(Se=(xe+(W9*224|0)|0)+(Lt<<2)|0,I6=+o[Se>>2],z4=I4+I6,o[Se>>2]=z4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;b9=((De+(Le*1792|0)|0)+(W9*224|0)|0)+(at<<2)|0,m9=+o[b9>>2],z6=(xe+(W9*224|0)|0)+(at<<2)|0,F4=+o[z6>>2],T4=m9>F4,T4&&(o[z6>>2]=m9),ot=at+1|0,N4=(ot|0)==56,!N4;)at=ot;if(p9=W9+1|0,L8=(p9|0)==8,L8){U4=1;break}else W9=p9}for(;;){for(x9=U4+-1|0,G4=0;;)if(mt=(xe+(x9*224|0)|0)+(G4<<2)|0,O=+o[mt>>2],q=(xe+(U4*224|0)|0)+(G4<<2)|0,V=+o[q>>2],K=O>2]=O),t0=G4+1|0,h8=(t0|0)==56,h8){K4=0;break}else G4=t0;for(;Z=(xe+(U4*224|0)|0)+(K4<<2)|0,A0=+o[Z>>2],j=((De+(Le*1792|0)|0)+(U4*224|0)|0)+(K4<<2)|0,r0=+o[j>>2],o0=A0>2]=A0),s0=K4+1|0,a4=(s0|0)==56,!a4;)K4=s0;if(Y=U4+1|0,Ht=(Y|0)==8,Ht)break;U4=Y}if(h0=Le+1|0,xt=(h0|0)==17,xt)break;Le=h0}for(_e=s,P9=(A|0)>0,s4=A^-1,b4=0;;){for(i0=Re(32)|0,e0=s2+(b4<<2)|0,e[e0>>2]=i0,d0=+(b4|0),c0=d0*.5,$0=d0*.34657350182533264,l0=$0+4.135165354540845,X=+Yn(+l0),g0=X/_e,I0=+aA(+g0),n0=~~I0,f0=+(n0|0),p0=f0*s,C0=p0+1,b0=C0,y0=+rn(+b0),D0=y0*2.885390043258667,E0=D0+-11.931568145751953,w0=+_C(+E0),B0=~~w0,x0=n0+1|0,Z0=+(x0|0),R0=Z0*s,v0=R0,G0=+rn(+v0),U0=G0*2.885390043258667,O0=U0+-11.931568145751953,H0=+aA(+O0),K0=~~H0,N0=(B0|0)>(b4|0),p8=N0?b4:B0,M0=(p8|0)<0,wt=M0?0:p8,P0=(K0|0)>16,y=P0?16:K0,W0=(wt|0)>(y|0),J0=b4+1|0,V0=(J0|0)<17,j0=c0+3.9657840728759766,$4=0;;){if(q0=Re(232)|0,Y0=i0+($4<<2)|0,e[Y0>>2]=q0,P9)for($t=0;z0=T+($t<<2)|0,o[z0>>2]=999,r1=$t+1|0,be=(r1|0)==(A|0),!be;)$t=r1;if(!W0)for(p4=wt;;){for(L0=+(p4|0),s1=L0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),d1=f1*.125,A1=d1+s1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,X0=+Yn(+$1),B1=X0/_e,p1=~~B1,Q1=A1+4.028284072875977,C1=Q1*.6931470036506653,y1=+Yn(+C1),v1=y1/_e,k1=v1+1,L1=~~k1,M1=(p1|0)<0,B=M1?0:p1,b1=(B|0)>(A|0),a8=b1?A:B,_1=(a8|0)<(D4|0),Z9=_1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(A|0),Wt=F1?A:r8,P1=(Z9|0)<(Wt|0),D1=(Z9|0)<(A|0),jt=P1&D1,jt)for(O1=((De+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,X1=+o[O1>>2],x1=(D4|0)<(A|0),J1=x1?D4:A,H1=J1^-1,V1=(p1|0)>0,L=p1^-1,Y1=V1?L:-1,z1=(Y1|0)<(H1|0),j9=z1?H1:Y1,t2=j9^-1,o2=(L1|0)>0,R=L1^-1,e2=o2?R:-1,q1=(e2|0)<(s4|0),c8=q1?s4:e2,Z1=c8-j9|0,I2=j9+A|0,A2=I2^-1,C2=Z1>>>0>A2>>>0,Tt=C2?Z1:A2,$2=t2-Tt|0,a9=Z9;;)if(W1=T+(a9<<2)|0,f2=+o[W1>>2],g2=f2>X1,g2&&(o[W1>>2]=X1),n2=a9+1|0,pt=(n2|0)==($2|0),pt){J4=$2;break}else a9=n2;else J4=Z9;if(u2=Ct+1|0,zt=(u2|0)==56,zt){W4=J4;break}else Ct=u2,D4=J4}if(h1=(W4|0)<(A|0),h1)for(u1=((De+(p4*1792|0)|0)+($4*224|0)|0)+220|0,E1=+o[u1>>2],P4=W4;i2=T+(P4<<2)|0,a2=+o[i2>>2],m2=a2>E1,m2&&(o[i2>>2]=E1),r2=P4+1|0,Kt=(r2|0)==(A|0),!Kt;)P4=r2;if(k2=p4+1|0,D2=(p4|0)<(y|0),D2)p4=k2;else break}if(V0){for(Rt=0,E4=0;;){if(q2=+(Rt|0),K2=q2*.125,U2=K2+c0,V2=U2+3.9032840728759766,Z2=V2*.6931470036506653,A5=+Yn(+Z2),Y2=A5/_e,N1=~~Y2,T5=U2+4.028284072875977,i5=T5*.6931470036506653,L5=+Yn(+i5),j2=L5/_e,p5=j2+1,_5=~~p5,V5=(N1|0)<0,b=V5?0:N1,u5=(b|0)>(A|0),C3=u5?A:b,b2=(C3|0)<(E4|0),Z4=b2?C3:E4,y5=(_5|0)<0,n8=y5?0:_5,F2=(n8|0)>(A|0),C8=F2?A:n8,R2=(Z4|0)<(C8|0),Q2=(Z4|0)<(A|0),ut=R2&Q2,ut)for(Q5=((De+(J0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,N5=+o[Q5>>2],E5=(E4|0)<(A|0),M5=E5?E4:A,q5=M5^-1,R5=(N1|0)>0,_=N1^-1,z2=R5?_:-1,$5=(z2|0)<(q5|0),dt=$5?q5:z2,d5=dt^-1,w5=(_5|0)>0,Q=_5^-1,T1=w5?Q:-1,x5=(T1|0)<(s4|0),Ft=x5?s4:T1,h5=Ft-dt|0,l5=dt+A|0,X2=l5^-1,h2=h5>>>0>X2>>>0,X4=h2?h5:X2,v5=d5-X4|0,D9=Z4;;)if(a5=T+(D9<<2)|0,f5=+o[a5>>2],J2=f5>N5,J2&&(o[a5>>2]=N5),I5=D9+1|0,x8=(I5|0)==(v5|0),x8){gt=v5;break}else D9=I5;else gt=Z4;if(n5=Rt+1|0,e8=(n5|0)==56,e8){_4=gt;break}else Rt=n5,E4=gt}if(M2=(_4|0)<(A|0),M2)for(p2=((De+(J0*1792|0)|0)+($4*224|0)|0)+220|0,W2=+o[p2>>2],Qt=_4;F5=T+(Qt<<2)|0,e5=+o[F5>>2],c5=e5>W2,c5&&(o[F5>>2]=W2),T2=Qt+1|0,I8=(T2|0)==(A|0),!I8;)Qt=T2}for(S2=i0+($4<<2)|0,y2=i0+($4<<2)|0,G2=i0+($4<<2)|0,m4=0;;){I3=+(m4|0),h3=I3*.125,W5=j0+h3,r3=W5*.6931470036506653,a3=+Yn(+r3),y3=a3/_e,G5=~~y3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,e6=w3+(f3<<2)|0,o[e6>>2]=-999;else if(V3=(G5|0)<(A|0),V3){a6=T+(G5<<2)|0,G3=e[a6>>2]|0,Y3=m4+2|0,g3=e[y2>>2]|0,u3=g3+(Y3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,o[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}k5=q0+8|0,i3=+o[k5>>2],B5=i3>-200;do if(B5)o9=0;else if(K5=q0+12|0,H5=+o[K5>>2],Y5=H5>-200,Y5)o9=1;else if(D3=q0+16|0,A6=+o[D3>>2],r6=A6>-200,r6)o9=2;else if(K3=q0+20|0,j5=+o[K3>>2],J3=j5>-200,J3)o9=3;else if(h6=q0+24|0,m3=+o[h6>>2],x6=m3>-200,x6)o9=4;else if(L6=q0+28|0,M6=+o[L6>>2],S6=M6>-200,S6)o9=5;else if(n6=q0+32|0,f6=+o[n6>>2],b6=f6>-200,b6)o9=6;else if(j6=q0+36|0,k6=+o[j6>>2],R3=k6>-200,R3)o9=7;else if(s6=q0+40|0,o6=+o[s6>>2],B6=o6>-200,B6)o9=8;else if(W3=q0+44|0,F3=+o[W3>>2],Z3=F3>-200,Z3)o9=9;else if(t6=q0+48|0,c6=+o[t6>>2],s3=c6>-200,s3)o9=10;else if(K6=q0+52|0,A3=+o[K6>>2],g6=A3>-200,g6)o9=11;else if(y6=q0+56|0,T3=+o[y6>>2],H6=T3>-200,H6)o9=12;else if($6=q0+60|0,D6=+o[$6>>2],ee=D6>-200,ee)o9=13;else{if(Q6=q0+64|0,X6=+o[Q6>>2],P3=X6>-200,P3){o9=14;break}if(re=q0+68|0,V6=+o[re>>2],oe=V6>-200,oe){o9=15;break}o9=16}while(!1);for(o[q0>>2]=o9,Jt=55;;){if(D5=Jt+2|0,z3=q0+(D5<<2)|0,U5=+o[z3>>2],l6=U5>-200,l6){o8=Jt;break}if(l3=Jt+-1|0,U3=(l3|0)>17,U3)Jt=l3;else{o8=l3;break}}if(C6=+(o8|0),b3=q0+4|0,o[b3>>2]=C6,L3=$4+1|0,Ut=(L3|0)==8,Ut)break;$4=L3}if(Pt=(J0|0)==17,Pt)break;b4=J0}return C=et,s2|0}function Uy(t,s,A,$,g,h){t=t|0,s=s|0,A=A|0,$=$|0,g=+g,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0;if(T9=C,k=t<<2,p=k,v=C,C=C+((1*p|0)+15&-16)|0,m=k,$2=C,C=C+((1*m|0)+15&-16)|0,E=k,e5=C,C=C+((1*E|0)+15&-16)|0,y=k,a3=C,C=C+((1*y|0)+15&-16)|0,B=k,t3=C,C=C+((1*B|0)+15&-16)|0,D5=+o[A>>2],A6=D5+g,M6=A6<1,d9=M6?1:A6,B6=d9*d9,_=B6*.5,t0=_*d9,o[v>>2]=_,o[$2>>2]=_,o[e5>>2]=0,o[a3>>2]=t0,o[t3>>2]=0,e0=(t|0)>1,e0)for(O3=1,w6=_,q6=_,Ae=0,Ye=0,we=t0,w9=1;h1=A+(O3<<2)|0,p1=+o[h1>>2],R1=p1+g,Y1=R1<1,_e=Y1?1:R1,W1=_e*_e,k2=W1+w6,U2=W1*w9,p5=U2+q6,N5=U2*w9,x5=N5+Ae,J2=W1*_e,I5=J2+we,n5=U2*_e,F5=n5+Ye,c5=v+(O3<<2)|0,o[c5>>2]=k2,T2=$2+(O3<<2)|0,o[T2>>2]=p5,k5=e5+(O3<<2)|0,o[k5>>2]=x5,z5=a3+(O3<<2)|0,o[z5>>2]=I5,i3=t3+(O3<<2)|0,o[i3>>2]=F5,B5=O3+1|0,I3=w9+1,P6=(B5|0)==(t|0),!P6;)O3=B5,w6=k2,q6=p5,Ae=x5,Ye=F5,we=I5,w9=I3;if(p0=e[s>>2]|0,R0=p0>>16,W0=(R0|0)>-1,W0)W5=p0,y6=0,D6=0,X6=1,O6=0,u9=0;else for(G5=p0,w3=R0,ae=0,E9=0;;)if(y3=G5&65535,Z5=v+(y3<<2)|0,x3=+o[Z5>>2],f3=0-w3|0,e6=v+(f3<<2)|0,V3=+o[e6>>2],X5=V3+x3,_3=$2+(y3<<2)|0,a6=+o[_3>>2],G3=$2+(f3<<2)|0,Y3=+o[G3>>2],c3=a6-Y3,g3=e5+(y3<<2)|0,u3=+o[g3>>2],Q3=e5+(f3<<2)|0,K5=+o[Q3>>2],H5=K5+u3,Y5=a3+(y3<<2)|0,z3=+o[Y5>>2],U5=a3+(f3<<2)|0,l6=+o[U5>>2],n3=l6+z3,l3=t3+(y3<<2)|0,U3=+o[l3>>2],C6=t3+(f3<<2)|0,b3=+o[C6>>2],L3=U3-b3,D3=n3*H5,r6=L3*c3,K3=D3-r6,j5=L3*X5,M3=n3*c3,d3=j5-M3,J3=H5*X5,h6=c3*c3,m3=J3-h6,x6=d3*E9,L6=x6+K3,S6=L6/m3,n6=S6<0,oe=n6?0:S6,f6=oe-g,b6=$+(ae<<2)|0,o[b6>>2]=f6,N6=ae+1|0,j6=E9+1,k6=s+(N6<<2)|0,R3=e[k6>>2]|0,s6=R3>>16,o6=(s6|0)>-1,o6){W5=R3,y6=K3,D6=d3,X6=m3,O6=N6,u9=j6;break}else G5=R3,w3=s6,ae=N6,E9=j6;if(h3=W5&65535,r3=(h3|0)<(t|0),r3)for(b=W5,t6=h3,ne=O6,r9=u9;;)if(F3=b>>16,Z3=v+(t6<<2)|0,R6=+o[Z3>>2],c6=v+(F3<<2)|0,s3=+o[c6>>2],K6=R6-s3,A3=$2+(t6<<2)|0,g6=+o[A3>>2],Q=$2+(F3<<2)|0,L=+o[Q>>2],R=g6-L,M=e5+(t6<<2)|0,T=+o[M>>2],G=e5+(F3<<2)|0,O=+o[G>>2],q=T-O,V=a3+(t6<<2)|0,K=+o[V>>2],Z=a3+(F3<<2)|0,A0=+o[Z>>2],j=K-A0,r0=t3+(t6<<2)|0,o0=+o[r0>>2],J=t3+(F3<<2)|0,s0=+o[J>>2],Y=o0-s0,h0=j*q,i0=Y*R,d0=h0-i0,c0=Y*K6,$0=j*R,l0=c0-$0,X=q*K6,m0=R*R,g0=X-m0,I0=l0*r9,n0=I0+d0,f0=n0/g0,C0=f0<0,ue=C0?0:f0,b0=ue-g,y0=$+(ne<<2)|0,o[y0>>2]=b0,D0=ne+1|0,E0=r9+1,Q0=s+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0&65535,x0=(B0|0)<(t|0),x0)b=w0,t6=B0,ne=D0,r9=E0;else{T3=d0,G6=l0,P3=g0,he=D0,ze=E0;break}else T3=y6,G6=D6,P3=X6,he=O6,ze=u9;if(W3=(he|0)<(t|0),W3)for(Be=he,Fe=ze;Z0=Fe*G6,v0=Z0+T3,G0=v0/P3,U0=G0<0,U6=U0?0:G0,O0=U6-g,H0=$+(Be<<2)|0,o[H0>>2]=O0,k0=Be+1|0,K0=Fe+1,_6=(k0|0)==(t|0),!_6;)Be=k0,Fe=K0;if(N0=(h|0)<1,N0){C=T9;return}if(M0=(h|0)/2&-1,P0=M0-h|0,J0=(P0|0)>-1,J0)H6=T3,ee=G6,re=P3,ye=0,ve=0;else for(V0=h-M0|0,z0=M0,s1=P0,Qe=0,J6=0;;)if(o1=v+(z0<<2)|0,r1=+o[o1>>2],L0=0-s1|0,u1=v+(L0<<2)|0,E1=+o[u1>>2],f1=E1+r1,d1=$2+(z0<<2)|0,A1=+o[d1>>2],g1=$2+(L0<<2)|0,a1=+o[g1>>2],$1=A1-a1,X0=e5+(z0<<2)|0,B1=+o[X0>>2],Q1=e5+(L0<<2)|0,C1=+o[Q1>>2],y1=C1+B1,v1=a3+(z0<<2)|0,k1=+o[v1>>2],S1=a3+(L0<<2)|0,L1=+o[S1>>2],M1=L1+k1,b1=t3+(z0<<2)|0,_1=+o[b1>>2],F1=t3+(L0<<2)|0,P1=+o[F1>>2],D1=_1-P1,O1=M1*y1,X1=D1*$1,G1=O1-X1,x1=D1*f1,J1=M1*$1,H1=x1-J1,V1=y1*f1,z1=$1*$1,t2=V1-z1,o2=H1*J6,e2=o2+G1,q1=e2/t2,d2=q1-g,Z1=$+(Qe<<2)|0,I2=+o[Z1>>2],A2=d2>2]=d2),C2=Qe+1|0,f2=J6+1,g2=M0+C2|0,n2=g2-h|0,te=(C2|0)==(V0|0),te){H6=G1,ee=H1,re=t2,ye=V0,ve=f2;break}else z0=g2,s1=n2,Qe=C2,J6=f2;if(j0=ye+M0|0,q0=(j0|0)<(t|0),q0)for(Y0=t-M0|0,D=j0,Ie=ye,v9=ve;;)if(s2=D-h|0,l2=v+(D<<2)|0,i2=+o[l2>>2],a2=v+(s2<<2)|0,m2=+o[a2>>2],r2=i2-m2,D2=$2+(D<<2)|0,S2=+o[D2>>2],y2=$2+(s2<<2)|0,G2=+o[y2>>2],M2=S2-G2,O2=e5+(D<<2)|0,p2=+o[O2>>2],W2=e5+(s2<<2)|0,q2=+o[W2>>2],K2=p2-q2,V2=a3+(D<<2)|0,Z2=+o[V2>>2],A5=a3+(s2<<2)|0,Y2=+o[A5>>2],N1=Z2-Y2,t5=t3+(D<<2)|0,T5=+o[t5>>2],i5=t3+(s2<<2)|0,L5=+o[i5>>2],j2=T5-L5,_5=N1*K2,V5=j2*M2,u5=_5-V5,b2=j2*r2,y5=N1*M2,o5=b2-y5,F2=K2*r2,R2=M2*M2,Q2=F2-R2,Q5=o5*v9,E5=Q5+u5,M5=E5/Q2,q5=M5-g,R5=$+(Ie<<2)|0,z2=+o[R5>>2],C5=q5>2]=q5),$5=Ie+1|0,d5=v9+1,w5=$5+M0|0,F6=($5|0)==(Y0|0),F6){$6=u5,Q6=o5,V6=Q2,fe=Y0,$e=d5;break}else D=w5,Ie=$5,v9=d5;else $6=H6,Q6=ee,V6=re,fe=ye,$e=ve;if(u2=(fe|0)<(t|0),u2)Ve=fe,R9=$e;else{C=T9;return}for(;T1=R9*Q6,h5=T1+$6,l5=h5/V6,X2=l5-g,h2=$+(Ve<<2)|0,v5=+o[h2>>2],r5=X2>2]=X2),a5=Ve+1|0,f5=R9+1,Y6=(a5|0)==(t|0),!Y6;)Ve=a5,R9=f5;C=T9}function Vb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0;if(h1=C,h=A<<2,$=h,p=C,C=C+((1*$|0)+15&-16)|0,g=h,L=C,C=C+((1*g|0)+15&-16)|0,A0=(A|0)>0,A0)k0=0,V0=0;else{C=h1;return}for(;;){x0=(V0|0)<2;do if(x0)v0=p+(V0<<2)|0,e[v0>>2]=k0,m=t+(k0<<2)|0,E=e[m>>2]|0,y=L+(V0<<2)|0,e[y>>2]=E,z0=V0;else{for(Z0=t+(k0<<2)|0,R0=+o[Z0>>2],j0=V0;;){if(B=j0+-1|0,b=L+(B<<2)|0,D=+o[b>>2],k=R0>2]|0,M=R+s|0,T=(k0|0)<(M|0),G=(j0|0)>1,M0=G&T,!M0){Y0=j0,s1=12;break}if(O=j0+-2|0,q=L+(O<<2)|0,V=+o[q>>2],K=!(D<=V),K){Y0=j0,s1=12;break}if(t0=p+(O<<2)|0,Z=e[t0>>2]|0,j=Z+s|0,r0=(k0|0)<(j|0),r0)j0=B;else{Y0=j0,s1=12;break}}if((s1|0)==8){s1=0,v=p+(q0<<2)|0,e[v>>2]=k0,_=L+(q0<<2)|0,o[_>>2]=R0,z0=q0;break}else if((s1|0)==12){s1=0,o0=p+(Y0<<2)|0,e[o0>>2]=k0,J=L+(Y0<<2)|0,o[J>>2]=R0,z0=Y0;break}}while(!1);if(o1=z0+1|0,s0=k0+1|0,H0=(s0|0)==(A|0),H0){r1=z0,L0=o1;break}else k0=s0,V0=o1}if(c0=(r1|0)>-1,!c0){C=h1;return}for(b0=s+1|0,K0=0,P0=0;;){if(Y=(K0|0)<(r1|0),Y?(h0=K0+1|0,i0=L+(h0<<2)|0,e0=+o[i0>>2],d0=L+(K0<<2)|0,$0=+o[d0>>2],l0=e0>$0,l0?(X=p+(h0<<2)|0,m0=e[X>>2]|0,G0=m0):s1=17):s1=17,(s1|0)==17&&(s1=0,g0=p+(K0<<2)|0,I0=e[g0>>2]|0,n0=b0+I0|0,G0=n0),f0=(G0|0)>(A|0),N0=f0?A:G0,p0=(P0|0)<(N0|0),p0)for(C0=L+(K0<<2)|0,y0=e[C0>>2]|0,D0=(G0|0)<(A|0),E0=D0?G0:A,J0=P0;;)if(Q0=t+(J0<<2)|0,e[Q0>>2]=y0,w0=J0+1|0,U0=(w0|0)==(E0|0),U0){W0=E0;break}else J0=w0;else W0=P0;if(B0=K0+1|0,O0=(B0|0)==(L0|0),O0)break;K0=B0,P0=W0}C=h1}function Py(t,s,A,$,g,h,p,m,E){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0;if(d2=C,M=m<<2,_=M,T=C,C=C+((1*_|0)+15&-16)|0,o0=t+500|0,X=e[o0>>2]|0,E0=(X|0)==0,E0?k1=m:(H0=t+504|0,Y0=e[H0>>2]|0,A1=Y0-p|0,k1=A1),F1=(k1|0)>(m|0),z1=F1?m:k1,G=(z1|0)>0,G)for(O=(h|0)==0,q=(k1|0)<(m|0),V=q?k1:m,H1=0;;){O?q1=9:(A0=h+(H1<<2)|0,j=e[A0>>2]|0,r0=(j|0)==0,r0&&(q1=9));do if((q1|0)==9)if(q1=0,J=$+(H1<<2)|0,s0=+o[J>>2],Y=g+(H1<<2)|0,h0=+o[Y>>2],i0=s0/h0,e0=A+(H1<<2)|0,d0=+o[e0>>2],c0=d0<0,$0=i0,l0=+Hn(+$0),m0=+J7(l0),c0){g0=-m0,I0=~~g0,n0=E+(H1<<2)|0,e[n0>>2]=I0;break}else{f0=~~m0,p0=E+(H1<<2)|0,e[p0>>2]=f0;break}while(!1);if(C0=H1+1|0,x1=(C0|0)==(V|0),x1){J1=V;break}else H1=C0}else J1=0;if(K=(J1|0)<(m|0),!K)return v=0,C=d2,+v;for(t0=(h|0)!=0,Z=s-p|0,y=0,P1=0,V1=J1;;){t0?(b0=h+(V1<<2)|0,y0=e[b0>>2]|0,D0=(y0|0)==0,D0?q1=15:(B=y,D1=P1)):q1=15;do if((q1|0)==15)if(q1=0,Q0=$+(V1<<2)|0,w0=+o[Q0>>2],B0=g+(V1<<2)|0,x0=+o[B0>>2],Z0=w0/x0,R0=!(Z0<.25),v0=(V1|0)<(Z|0),t2=t0&v0,o2=R0|t2,o2){k0=A+(V1<<2)|0,K0=+o[k0>>2],N0=K0<0,M0=Z0,P0=+Hn(+M0),W0=+J7(P0),J0=-W0,L=N0?J0:W0,Q=~~L,V0=E+(V1<<2)|0,e[V0>>2]=Q,j0=s5(Q,Q)|0,q0=+(j0|0),o1=+o[B0>>2],z0=q0*o1,o[Q0>>2]=z0,B=y,D1=P1;break}else{G0=Z0+y,U0=P1+1|0,O0=T+(P1<<2)|0,e[O0>>2]=Q0,B=G0,D1=U0;break}while(!1);if(r1=V1+1|0,G1=(r1|0)==(m|0),G1){b=B,O1=D1;break}else y=B,P1=D1,V1=r1}if(L0=(O1|0)==0,L0||(Hu(T,O1,4,9),s1=(O1|0)>0,!s1))return v=b,C=d2,+v;for(h1=$,u1=t+512|0,E1=+c1[u1>>3],D=b,Y1=0;;)if(f1=T+(Y1<<2)|0,d1=e[f1>>2]|0,g1=d1,a1=g1-h1|0,$1=a1>>2,X0=D,B1=!(X0>=E1),B1?(k=D,R=0,e2=0):(p1=A+($1<<2)|0,Q1=e[p1>>2]|0,C1=Q1&-2147483648,y1=C1|1065353216,v1=(e[w2>>2]=y1,+o[w2>>2]),S1=~~v1,L1=D+-1,M1=g+($1<<2)|0,b1=+o[M1>>2],k=L1,R=S1,e2=b1),_1=E+($1<<2)|0,e[_1>>2]=R,o[d1>>2]=e2,R1=Y1+1|0,X1=(R1|0)==(O1|0),X1){v=k;break}else D=k,Y1=R1;return C=d2,+v}function Yb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0;return D=C,A=e[t>>2]|0,$=+o[A>>2],g=e[s>>2]|0,h=+o[g>>2],p=$h,y=E&1,B=m-y|0,B|0}function zb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Kb(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0;if(r0=C,A=(t|0)==0,!A){if($=t+4|0,v=e[$>>2]|0,T=(v|0)>0,G=t+20|0,T)for(M=v,Z=0;O=e[G>>2]|0,q=O+(Z<<2)|0,V=e[q>>2]|0,K=(V|0)==0,K?h=M:(E2(V),s=e[$>>2]|0,h=s),t0=Z+1|0,g=(t0|0)<(h|0),g;)M=h,Z=t0;if(p=e[G>>2]|0,E2(p),m=t+24|0,E=e[m>>2]|0,y=(E|0)>0,B=t+28|0,y)for(A0=0;b=e[B>>2]|0,D=b+(A0<<2)|0,k=e[D>>2]|0,E2(k),_=A0+1|0,Q=e[m>>2]|0,L=(_|0)<(Q|0),L;)A0=_;R=e[B>>2]|0,E2(R),E2(t)}}function Jb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0;if(f0=C,g=e[t>>2]|0,H2(s,g,24),h=t+4|0,Q=e[h>>2]|0,H2(s,Q,24),Z=t+8|0,Y=e[Z>>2]|0,h0=Y+-1|0,H2(s,h0,24),i0=t+12|0,e0=e[i0>>2]|0,d0=e0+-1|0,H2(s,d0,6),c0=t+20|0,p=e[c0>>2]|0,H2(s,p,8),m=e[i0>>2]|0,E=(m|0)>0,!!E){for(y=t+24|0,$0=0,X=0;;){if(D=y+(X<<2)|0,k=e[D>>2]|0,v=V8(k)|0,_=(v|0)>3,L=e[D>>2]|0,_?(H2(s,L,3),H2(s,1,1),R=e[D>>2]|0,M=R>>3,H2(s,M,5)):H2(s,L,4),T=e[D>>2]|0,G=(T|0)==0,G)g0=0;else for(A=T,I0=0;;)if(O=A&1,q=O+I0|0,V=A>>>1,K=(V|0)==0,K){g0=q;break}else A=V,I0=q;if(t0=g0+$0|0,A0=X+1|0,j=e[i0>>2]|0,r0=(A0|0)<(j|0),r0)$0=t0,X=A0;else{$=t0;break}}if(B=($|0)>0,!!B)for(b=t+280|0,m0=0;o0=b+(m0<<2)|0,J=e[o0>>2]|0,H2(s,J,8),s0=m0+1|0,l0=(s0|0)==($|0),!l0;)m0=s0}}function Wb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0;a1=C,p=c9(1,2840)|0,m=t+28|0,R=e[m>>2]|0,j=r4(s,24)|0,e[p>>2]=j,$0=r4(s,24)|0,y0=p+4|0,e[y0>>2]=$0,U0=r4(s,24)|0,j0=U0+1|0,Y0=p+8|0,e[Y0>>2]=j0,o1=r4(s,6)|0,E=o1+1|0,y=p+12|0,e[y>>2]=E,B=r4(s,8)|0,b=p+20|0,e[b>>2]=B,D=(B|0)<0;e:do if(D)g1=26;else{if(k=(o1|0)>-1,k){for(v=p+24|0,r1=0,h1=0;;){if(L=r4(s,3)|0,M=r4(s,1)|0,T=(M|0)<0,T){g1=26;break e}if(G=(M|0)==0,G)L0=L;else{if(O=r4(s,5)|0,q=(O|0)<0,q){g1=26;break e}V=O<<3,K=V|L,L0=K}if(t0=v+(h1<<2)|0,e[t0>>2]=L0,Z=(L0|0)==0,Z)d1=0;else for($=L0,A1=0;;)if(A0=$&1,r0=A0+A1|0,o0=$>>>1,J=(o0|0)==0,J){d1=r0;break}else $=o0,A1=r0;if(s0=d1+r1|0,Y=h1+1|0,h0=e[y>>2]|0,i0=(Y|0)<(h0|0),i0)r1=s0,h1=Y;else{h=s0;break}}if(_=(h|0)>0,_)for(Q=p+280|0,u1=0;;){if(e0=r4(s,8)|0,d0=(e0|0)<0,d0)break e;if(c0=Q+(u1<<2)|0,e[c0>>2]=e0,l0=u1+1|0,X=(l0|0)<(h|0),X)u1=l0;else{q0=_,z0=h;break}}else q0=0,z0=h}else q0=0,z0=0;if(m0=e[b>>2]|0,g0=R+24|0,I0=e[g0>>2]|0,n0=(m0|0)<(I0|0),n0){if(q0)for(f0=p+280|0,E1=0;;){if(b0=f0+(E1<<2)|0,D0=e[b0>>2]|0,E0=(D0|0)<(I0|0),!E0||(Q0=(R+1824|0)+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0+12|0,x0=e[B0>>2]|0,Z0=(x0|0)==0,p0=E1+1|0,Z0))break e;if(C0=(p0|0)<(z0|0),C0)E1=p0;else break}if(R0=(R+1824|0)+(m0<<2)|0,v0=e[R0>>2]|0,G0=v0+4|0,O0=e[G0>>2]|0,H0=e[v0>>2]|0,k0=(H0|0)<1,!k0){for(K0=e[y>>2]|0,s1=H0,f1=1;;){if(P0=s5(K0,f1)|0,W0=(P0|0)>(O0|0),W0)break e;if(N0=s1+-1|0,M0=(s1|0)>1,M0)s1=N0,f1=P0;else{g=P0;break}}return J0=p+16|0,e[J0>>2]=g,A=p,A|0}}}while(!1);return(g1|0)==26&&(V0=(p|0)==0,V0)?(A=0,A|0):(E2(p),A=0,A|0)}function Zb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0;if(k1=C,h=c9(1,44)|0,p=t+4|0,L=e[p>>2]|0,A0=L+28|0,c0=e[A0>>2]|0,e[h>>2]=s,b0=s+12|0,G0=e[b0>>2]|0,V0=h+4|0,e[V0>>2]=G0,o1=c0+2848|0,z0=e[o1>>2]|0,m=h+12|0,e[m>>2]=z0,E=z0,y=s+20|0,B=e[y>>2]|0,b=E+(B*56|0)|0,D=h+16|0,e[D>>2]=b,k=e[b>>2]|0,v=c9(G0,4)|0,_=h+20|0,e[_>>2]=v,Q=(G0|0)>0,Q)for(R=s+24|0,M=s+280|0,r1=0,d1=0,p1=0;;){if(T=R+(d1<<2)|0,G=e[T>>2]|0,O=V8(G)|0,q=(O|0)==0,q)h1=r1,Q1=p1;else if(V=(O|0)>(p1|0),$=V?O:p1,K=c9(O,4)|0,t0=v+(d1<<2)|0,e[t0>>2]=K,Z=(O|0)>0,Z)for(j=e[T>>2]|0,r0=v+(d1<<2)|0,L0=r1,$1=0;;)if(o0=1<<$1,J=j&o0,s0=(J|0)==0,s0?s1=L0:(Y=e[o1>>2]|0,h0=L0+1|0,i0=M+(L0<<2)|0,e0=e[i0>>2]|0,d0=Y+(e0*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=d0,s1=h0),X=$1+1|0,E1=(X|0)==(O|0),E1){h1=s1,Q1=$;break}else L0=s1,$1=X;else h1=r1,Q1=$;if(m0=d1+1|0,g0=(m0|0)<(G0|0),g0)r1=h1,d1=m0,p1=Q1;else{B1=Q1;break}}else B1=0;if(I0=h+24|0,e[I0>>2]=1,n0=(k|0)>0,n0){for(p0=1,A1=0;;)if(f0=s5(p0,G0)|0,C0=A1+1|0,u1=(C0|0)==(k|0),u1){A=f0;break}else p0=f0,A1=C0;e[I0>>2]=A,E0=A}else E0=1;if(y0=h+8|0,e[y0>>2]=B1,D0=E0<<2,Q0=Re(D0)|0,w0=h+28|0,e[w0>>2]=Q0,B0=(E0|0)>0,!B0)return h|0;if(x0=k<<2,!n0){for(g1=0;J0=Re(x0)|0,j0=Q0+(g1<<2)|0,e[j0>>2]=J0,q0=g1+1|0,Y0=(q0|0)<(E0|0),Y0;)g1=q0;return h|0}for(Z0=e[w0>>2]|0,a1=0;;){for(M0=Re(x0)|0,P0=Q0+(a1<<2)|0,e[P0>>2]=M0,W0=Z0+(a1<<2)|0,K0=e[W0>>2]|0,g=E0,X0=0,y1=a1;C1=(g|0)/(G0|0)&-1,U0=(y1|0)/(C1|0)&-1,O0=s5(U0,C1)|0,H0=y1-O0|0,k0=K0+(X0<<2)|0,e[k0>>2]=U0,N0=X0+1|0,f1=(N0|0)==(k|0),!f1;)g=C1,X0=N0,y1=H0;if(R0=a1+1|0,v0=(R0|0)<(E0|0),v0)a1=R0;else break}return h|0}function jb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0;if(G=C,h=(g|0)>0,h)Q=0,L=0;else return 0;for(;;)if(p=$+(Q<<2)|0,m=e[p>>2]|0,E=(m|0)==0,E?R=L:(y=A+(Q<<2)|0,B=e[y>>2]|0,b=L+1|0,D=A+(L<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){M=R;break}else Q=k,L=R;return v=(M|0)==0,v||Oy(t,s,A,M,2),0}function Xb(t,s,A,$,g,h,p,m){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0;if(V=C,E=(h|0)>0,E)M=0,T=0;else return 0;for(;;)if(y=g+(M<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b?G=T:(D=$+(M<<2)|0,k=e[D>>2]|0,v=T+1|0,_=$+(T<<2)|0,e[_>>2]=k,G=v),Q=M+1|0,R=(Q|0)==(h|0),R){O=G;break}else M=Q,T=G;return L=(O|0)==0,L||qy(t,A,$,O,p),0}function eD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,m=(g|0)>0,m)s1=0,p1=0;else return h=0,h|0;for(;;)if(E=$+(s1<<2)|0,M=e[E>>2]|0,r0=(M|0)==0,r0?Q1=p1:(l0=A+(s1<<2)|0,D0=e[l0>>2]|0,O0=p1+1|0,W0=A+(p1<<2)|0,e[W0>>2]=D0,Q1=O0),J0=s1+1|0,Y0=(J0|0)==(g|0),Y0){C1=Q1;break}else s1=J0,p1=Q1;if(V0=(C1|0)==0,V0)return h=0,h|0;if(y=e[s>>2]|0,B=y+8|0,b=e[B>>2]|0,D=y+12|0,k=e[D>>2]|0,v=y+4|0,_=e[v>>2]|0,Q=e[y>>2]|0,L=_-Q|0,R=(L|0)/(b|0)&-1,T=C1<<2,G=W8(t,T)|0,O=+(b|0),q=100/O,V=q,K=(C1|0)>0,K)for(t0=R<<2,h1=0;J=W8(t,t0)|0,s0=G+(h1<<2)|0,e[s0>>2]=J,g4(J|0,0,t0|0)|0,Y=h1+1|0,L0=(Y|0)==(C1|0),!L0;)h1=Y;if(Z=(R|0)>0,Z)for(A0=(b|0)>0,j=k+-1|0,o0=(k|0)>1,u1=0;;){if(h0=s5(u1,b)|0,i0=e[y>>2]|0,e0=i0+h0|0,K)for(f1=0;;){if(A0)for(d0=A+(f1<<2)|0,c0=e[d0>>2]|0,q0=0,d1=0,$1=0;;)if($0=e0+d1|0,X=c0+($0<<2)|0,m0=e[X>>2]|0,E1=(m0|0)>-1,X0=0-m0|0,g0=E1?m0:X0,I0=(g0|0)>($1|0),p=I0?g0:$1,n0=g0+q0|0,f0=d1+1|0,o1=(f0|0)==(b|0),o1){j0=n0,a1=p;break}else q0=n0,d1=f0,$1=p;else j0=0,a1=0;p0=+(j0|0),C0=p0*V,b0=~~C0;e:do if(o0)for(g1=0;;){if(y0=(y+2328|0)+(g1<<2)|0,E0=e[y0>>2]|0,Q0=(a1|0)>(E0|0),!Q0&&(w0=(y+2584|0)+(g1<<2)|0,B0=e[w0>>2]|0,x0=(B0|0)<0,Z0=(b0|0)<(B0|0),B1=x0|Z0,B1)){A1=g1;break e}if(R0=g1+1|0,v0=(R0|0)<(j|0),v0)g1=R0;else{A1=R0;break}}else A1=0;while(!1);if(G0=G+(f1<<2)|0,U0=e[G0>>2]|0,H0=U0+(u1<<2)|0,e[H0>>2]=A1,k0=f1+1|0,z0=(k0|0)==(C1|0),z0)break;f1=k0}if(K0=u1+1|0,r1=(K0|0)==(R|0),r1)break;u1=K0}return N0=s+40|0,M0=e[N0>>2]|0,P0=M0+1|0,e[N0>>2]=P0,h=G,h|0}function tD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0;if(G=C,h=(g|0)>0,h)Q=0,L=0;else return 0;for(;;)if(p=$+(Q<<2)|0,m=e[p>>2]|0,E=(m|0)==0,E?R=L:(y=A+(Q<<2)|0,B=e[y>>2]|0,b=L+1|0,D=A+(L<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){M=R;break}else Q=k,L=R;return v=(M|0)==0,v||Oy(t,s,A,M,3),0}function iD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0;if(X0=C,E=(g|0)>0,E)P0=0,a1=0;else return h=0,h|0;for(;;)if(y=$+(P0<<2)|0,T=e[y>>2]|0,f1=(T|0)!=0,o0=f1&1,A1=o0+a1|0,X=P0+1|0,K0=(X|0)==(g|0),K0){g1=A1;break}else P0=X,a1=A1;if(d1=(g1|0)==0,d1)return h=0,h|0;if(E0=e[s>>2]|0,Z0=E0+8|0,R0=e[Z0>>2]|0,v0=E0+12|0,G0=e[v0>>2]|0,B=E0+4|0,b=e[B>>2]|0,D=e[E0>>2]|0,k=b-D|0,v=(k|0)/(R0|0)&-1,_=W8(t,4)|0,Q=v<<2,L=W8(t,Q)|0,e[_>>2]=L,g4(L|0,0,Q|0)|0,R=(v|0)>0,R)for(M=e[E0>>2]|0,G=(M|0)/(g|0)&-1,O=(R0|0)>0,q=G0+-1|0,V=(G0|0)>1,K=e[_>>2]|0,t0=(g|0)>1,W0=0,z0=G;;){if(O)for(Z=e[A>>2]|0,O0=0,j0=0,L0=z0,h1=0;;){if(A0=Z+(L0<<2)|0,j=e[A0>>2]|0,J0=(j|0)>-1,u1=0-j|0,r0=J0?j:u1,J=(r0|0)>(h1|0),m=J?r0:h1,t0)for(k0=O0,o1=1;;)if(s0=A+(o1<<2)|0,Y=e[s0>>2]|0,h0=Y+(L0<<2)|0,i0=e[h0>>2]|0,V0=(i0|0)>-1,E1=0-i0|0,e0=V0?i0:E1,d0=(e0|0)>(k0|0),p=d0?e0:k0,c0=o1+1|0,N0=(c0|0)==(g|0),N0){H0=p;break}else k0=p,o1=c0;else H0=O0;if($0=L0+1|0,l0=j0+g|0,m0=(l0|0)<(R0|0),m0)O0=H0,j0=l0,L0=$0,h1=m;else{U0=H0,r1=$0,s1=m;break}}else U0=0,r1=z0,s1=0;e:do if(V)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,I0=e[g0>>2]|0,n0=(s1|0)>(I0|0),!n0&&(f0=(E0+2584|0)+(Y0<<2)|0,p0=e[f0>>2]|0,C0=(U0|0)>(p0|0),!C0)){q0=Y0;break e}if(b0=Y0+1|0,y0=(b0|0)<(q|0),y0)Y0=b0;else{q0=b0;break}}else q0=0;while(!1);if(D0=K+(W0<<2)|0,e[D0>>2]=q0,Q0=W0+1|0,M0=(Q0|0)==(v|0),M0)break;W0=Q0,z0=r1}return w0=s+40|0,B0=e[w0>>2]|0,x0=B0+1|0,e[w0>>2]=x0,h=_,h|0}function rD(t,s,A,$,g,h,p,m){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0;if(c0=C,C=C+16|0,e0=c0,E=s+36|0,y=e[E>>2]|0,T=(y|0)/2&-1,G=h<<2,O=s5(G,T)|0,q=W8(s,O)|0,e[e0>>2]=q,V=(h|0)>0,!V)return C=c0,0;for(K=(y|0)>1,j=0,i0=0;;){if(t0=$+(j<<2)|0,Z=e[t0>>2]|0,B=g+(j<<2)|0,b=e[B>>2]|0,J=(b|0)!=0,D=J&1,Y=D+i0|0,K)for(r0=0,o0=j;k=Z+(r0<<2)|0,v=e[k>>2]|0,_=q+(o0<<2)|0,e[_>>2]=v,Q=r0+1|0,L=o0+h|0,R=(Q|0)<(T|0),R;)r0=Q,o0=L;if(M=j+1|0,A0=(M|0)==(h|0),A0){h0=Y;break}else j=M,i0=Y}return s0=(h0|0)==0,s0?(C=c0,0):(qy(t,A,e0,1,p),C=c0,0)}function nD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;if(S1=C,m=e[s>>2]|0,E=m+8|0,M=e[E>>2]|0,r0=s+16|0,l0=e[r0>>2]|0,D0=e[l0>>2]|0,O0=t+36|0,q0=e[O0>>2]|0,d1=s5(q0,g)|0,A1=d1>>1,y=m+4|0,B=e[y>>2]|0,b=(B|0)<(A1|0),h=b?B:A1,D=e[m>>2]|0,k=h-D|0,v=(k|0)>0,!v)return 0;_=(k|0)/(M|0)&-1,Q=D0+-1|0,L=Q+_|0,R=(L|0)/(D0|0)&-1,T=R<<2,G=W8(t,T)|0,O=(g|0)>0;e:do if(O)for(a1=0;;){if(q=$+(a1<<2)|0,V=e[q>>2]|0,K=(V|0)==0,!K){g1=a1;break e}if(t0=a1+1|0,Z=(t0|0)<(g|0),Z)a1=t0;else{g1=t0;break}}else g1=0;while(!1);if(A0=(g1|0)==(g|0),A0||(j=s+8|0,o0=e[j>>2]|0,J=(o0|0)>0,!J))return 0;s0=(_|0)>0,Y=t+4|0,h0=m+16|0,i0=s+28|0,e0=(D0|0)>0,d0=s+20|0,f1=o0,v1=0;e:for(;;){if(s0){for(c0=(v1|0)==0,$0=1<>2]|0,m0=lE(X,Y)|0,g0=(m0|0)==-1,g0){k1=23;break e}if(I0=e[h0>>2]|0,n0=(m0|0)<(I0|0),!n0){k1=23;break e}if(f0=e[i0>>2]|0,p0=f0+(m0<<2)|0,C0=e[p0>>2]|0,b0=G+(Q1<<2)|0,e[b0>>2]=C0,y0=(C0|0)==0,y0){k1=23;break e}}if(E0=($1|0)<(_|0),y1=e0&E0,y1)for(Q0=G+(Q1<<2)|0,B1=$1,p1=0;;){if(w0=e[Q0>>2]|0,B0=w0+(p1<<2)|0,x0=e[B0>>2]|0,Z0=(m+24|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0&$0,G0=(v0|0)==0,!G0&&(U0=e[d0>>2]|0,H0=U0+(x0<<2)|0,k0=e[H0>>2]|0,K0=k0+(v1<<2)|0,N0=e[K0>>2]|0,M0=(N0|0)==0,!M0&&(P0=s5(B1,M)|0,W0=e[m>>2]|0,J0=W0+P0|0,V0=lb(N0,A,J0,g,Y,M)|0,j0=(V0|0)==-1,j0))){k1=23;break e}if(Y0=p1+1|0,o1=B1+1|0,z0=(Y0|0)<(D0|0),r1=(o1|0)<(_|0),C1=z0&r1,C1)B1=o1,p1=Y0;else{X0=o1;break}}else X0=$1;if(L0=Q1+1|0,s1=(X0|0)<(_|0),s1)$1=X0,Q1=L0;else break}p=e[j>>2]|0,E1=p}else E1=f1;if(h1=v1+1|0,u1=(h1|0)<(E1|0),u1)f1=E1,v1=h1;else{k1=23;break}}return(k1|0)==23,0}function Oy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0;if(t2=C,y=e[s>>2]|0,B=y+8|0,G=e[B>>2]|0,J=s+16|0,m0=e[J>>2]|0,Q0=e[m0>>2]|0,k0=t+36|0,o1=e[k0>>2]|0,g1=o1>>1,S1=y+4|0,b=e[S1>>2]|0,D=(b|0)<(g1|0),h=D?b:g1,k=e[y>>2]|0,v=h-k|0,_=(v|0)>0,!_){C=t2;return}if(Q=(v|0)/(G|0)&-1,L=$<<2,p=L,R=C,C=C+((1*p|0)+15&-16)|0,M=($|0)>0,M)for(T=Q0+-1|0,O=T+Q|0,q=(O|0)/(Q0|0)&-1,V=q<<2,P1=0;h0=W8(t,V)|0,i0=R+(P1<<2)|0,e[i0>>2]=h0,e0=P1+1|0,M1=(e0|0)==($|0),!M1;)P1=e0;if(K=s+8|0,t0=e[K>>2]|0,Z=(t0|0)>0,!Z){C=t2;return}A0=(Q|0)>0,j=t+4|0,r0=y+16|0,o0=s+28|0,s0=(Q0|0)>0,Y=s+20|0,E=M^1,Y1=0;e:for(;;){if(A0)for(d0=1<>2]|0,z0=lE(Y0,j)|0,r1=(z0|0)==-1,r1){z1=25;break e}if(L0=e[r0>>2]|0,s1=(z0|0)<(L0|0),!s1){z1=25;break e}if(h1=e[o0>>2]|0,u1=h1+(z0<<2)|0,E1=e[u1>>2]|0,f1=R+(D1<<2)|0,d1=e[f1>>2]|0,A1=d1+(x1<<2)|0,e[A1>>2]=E1,a1=(E1|0)==0,j0=D1+1|0,a1){z1=25;break e}if(q0=(j0|0)<($|0),q0)D1=j0;else break}c0=(b1|0)<(Q|0),V1=s0&c0;t:do if(V1){if(M)F1=b1,G1=0;else for(R1=b1,X1=0;;)if($1=X1+1|0,X0=R1+1|0,B1=($1|0)<(Q0|0),p1=(X0|0)<(Q|0),J1=B1&p1,J1)R1=X0,X1=$1;else{_1=X0;break t}for(;;){for(f0=s5(F1,G)|0,O1=0;;){if(I0=e[y>>2]|0,n0=I0+f0|0,p0=R+(O1<<2)|0,C0=e[p0>>2]|0,b0=C0+(x1<<2)|0,y0=e[b0>>2]|0,D0=y0+(G1<<2)|0,E0=e[D0>>2]|0,w0=(y+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,x0=B0&d0,Z0=(x0|0)==0,!Z0&&(R0=e[Y>>2]|0,v0=R0+(E0<<2)|0,G0=e[v0>>2]|0,U0=G0+(Y1<<2)|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0&&(K0=A+(O1<<2)|0,N0=e[K0>>2]|0,M0=N0+(n0<<2)|0,P0=HC[g&3](O0,M0,j,G)|0,W0=(P0|0)==-1,W0))){z1=25;break e}if(J0=O1+1|0,V0=(J0|0)<($|0),V0)O1=J0;else break}if($0=G1+1|0,l0=F1+1|0,X=($0|0)<(Q0|0),g0=(l0|0)<(Q|0),H1=X&g0,H1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,C1=(_1|0)<(Q|0),C1)b1=_1,x1=Q1;else break}if(y1=Y1+1|0,v1=e[K>>2]|0,k1=(y1|0)<(v1|0),k1)Y1=y1;else{z1=25;break}}if((z1|0)==25){C=t2;return}}function qy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0;if(Q6=C,C=C+1088|0,s3=Q6+1056|0,U5=Q6+1024|0,K6=Q6+512|0,A3=Q6,Q=e[s>>2]|0,L=Q+8|0,g2=e[L>>2]|0,K2=Q+12|0,j2=e[K2>>2]|0,Q5=s+16|0,T1=e[Q5>>2]|0,I5=e[T1>>2]|0,h3=Q+4|0,V3=e[h3>>2]|0,R=e[Q>>2]|0,j=V3-R|0,$0=(j|0)/(g2|0)&-1,g4(K6|0,0,512)|0,g4(A3|0,0,512)|0,y0=s+8|0,U0=e[y0>>2]|0,j0=(U0|0)>0,!j0){C=Q6;return}for(f1=($0|0)>0,y1=($|0)>0,D1=(I5|0)>1,o2=s+36|0,n2=(I5|0)>0,D2=s+20|0,S2=s+32|0,y2=0-I5|0,k2=U0,g6=0;;){if(f1){for(G2=(g6|0)==0,M2=1<>2]|0,q5=M5+(j5<<2)|0,R5=e[q5>>2]|0,z2=e[Q5>>2]|0,C5=z2+4|0,$5=e[C5>>2]|0,d5=(R5|0)<($5|0),d5&&(w5=Ou(z2,R5,t)|0,x5=e[o2>>2]|0,h5=x5+w5|0,e[o2>>2]=h5),l5=k6+1|0,l6=(l5|0)==($|0),l6)break e;k6=l5}for(;;){for(b2=g+(R3<<2)|0,p5=e[b2>>2]|0,y5=p5+(j5<<2)|0,o5=e[y5>>2]|0,B6=1,$6=o5;;)if(t5=s5($6,j2)|0,T5=B6+j5|0,i5=(T5|0)<($0|0),i5?(L5=p5+(T5<<2)|0,_5=e[L5>>2]|0,V5=_5+t5|0,D6=V5):D6=t5,u5=B6+1|0,L3=(u5|0)==(I5|0),L3){G6=D6;break}else B6=u5,$6=D6;if(W2=e[Q5>>2]|0,q2=W2+4|0,U2=e[q2>>2]|0,V2=(G6|0)<(U2|0),V2&&(Z2=Ou(W2,G6,t)|0,A5=e[o2>>2]|0,Y2=A5+Z2|0,e[o2>>2]=Y2),N1=R3+1|0,D3=(N1|0)==($|0),D3)break;R3=N1}}while(!1);if(F2=(j5|0)<($0|0),R6=n2&F2,R6){for(R2=j5-$0|0,Q2=R2>>>0>>0,H6=Q2?y2:R2,N5=0-H6|0,h6=j5,W3=0;;){if(X2=s5(h6,g2)|0,h2=e[Q>>2]|0,v5=h2+X2|0,y1)for(o6=0;;){if(r5=g+(o6<<2)|0,a5=e[r5>>2]|0,f5=a5+(h6<<2)|0,J2=e[f5>>2]|0,G2&&(n5=A3+(J2<<2)|0,F5=e[n5>>2]|0,e5=F5+g2|0,e[n5>>2]=e5),c5=(Q+24|0)+(J2<<2)|0,T2=e[c5>>2]|0,k5=T2&M2,z5=(k5|0)==0,!z5&&(i3=e[D2>>2]|0,B5=i3+(J2<<2)|0,I3=e[B5>>2]|0,W5=I3+(g6<<2)|0,r3=e[W5>>2]|0,a3=(r3|0)==0,!a3)){if(y3=A+(o6<<2)|0,G5=e[y3>>2]|0,Z5=e[r3>>2]|0,x3=(g2|0)/(Z5|0)&-1,f3=(x3|0)>0,f3){for(w3=r3+48|0,e6=r3+52|0,X5=r3+44|0,_3=r3+12|0,t3=r3+4|0,M=Z5,D5=0,d3=0;;){a6=s5(d3,Z5)|0,D=a6+v5|0,G3=G5+(D<<2)|0,Y3=e[w3>>2]|0,c3=e[e6>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[s3>>2]=0,e[s3+4>>2]=0,e[s3+8>>2]=0,e[s3+12>>2]=0,e[s3+16>>2]=0,e[s3+20>>2]=0,e[s3+24>>2]=0,e[s3+28>>2]=0,Q3=(c3|0)==1,T=(M|0)>0;do if(Q3){if(!T){n6=0;break}for(V=g3+-1|0,m3=0,S6=0,Z3=M;;)if(C0=Z3+-1|0,_=D+C0|0,b0=G5+(_<<2)|0,D0=e[b0>>2]|0,E0=D0-Y3|0,Q0=(E0|0)<(u3|0),Q0?(w0=u3-E0|0,B0=w0<<1,x0=B0+-1|0,G0=x0):(Z0=E0-u3|0,R0=Z0<<1,G0=R0),v0=s5(S6,g3)|0,O0=(G0|0)<0,H0=(G0|0)>=(g3|0),k0=H0?V:G0,K0=O0?0:k0,N0=K0+v0|0,M0=s3+(C0<<2)|0,e[M0>>2]=D0,P0=m3+1|0,r6=(P0|0)==(M|0),r6){n6=N0;break}else m3=P0,S6=N0,Z3=C0}else{if(!T){n6=0;break}for(G=c3>>1,O=G-Y3|0,q=g3+-1|0,M3=0,M6=0,F3=M;;)if(K=F3+-1|0,v=D+K|0,t0=G5+(v<<2)|0,Z=e[t0>>2]|0,A0=O+Z|0,r0=(A0|0)/(c3|0)&-1,o0=(r0|0)<(u3|0),o0?(J=u3-r0|0,s0=J<<1,Y=s0+-1|0,d0=Y):(h0=r0-u3|0,i0=h0<<1,d0=i0),e0=s5(M6,g3)|0,c0=(d0|0)<0,l0=(d0|0)>=(g3|0),X=l0?q:d0,m0=c0?0:X,g0=m0+e0|0,I0=s5(r0,c3)|0,n0=I0+Y3|0,f0=s3+(K<<2)|0,e[f0>>2]=n0,p0=M3+1|0,K3=(p0|0)==(M|0),K3){n6=g0;break}else M3=p0,M6=g0,F3=K}while(!1);W0=e[_3>>2]|0,J0=W0+8|0,V0=e[J0>>2]|0,q0=V0+n6|0,Y0=I[q0>>0]|0,o1=Y0<<24>>24<1;do if(o1){if(e[U5>>2]=0,e[U5+4>>2]=0,e[U5+8>>2]=0,e[U5+12>>2]=0,e[U5+16>>2]=0,e[U5+20>>2]=0,e[U5+24>>2]=0,e[U5+28>>2]=0,z0=g3+-1|0,r1=s5(z0,c3)|0,L0=r1+Y3|0,s1=e[t3>>2]|0,h1=(s1|0)>0,h1)K5=-1,x6=0,f6=n6;else{N6=n6;break}for(;;){u1=V0+x6|0,E1=I[u1>>0]|0,d1=E1<<24>>24>0;do if(d1){if(T)for(j6=0,T3=0;;)if(A1=U5+(j6<<2)|0,g1=e[A1>>2]|0,k=D+j6|0,a1=G5+(k<<2)|0,$1=e[a1>>2]|0,X0=g1-$1|0,B1=s5(X0,X0)|0,p1=B1+T3|0,Q1=j6+1|0,A6=(Q1|0)==(M|0),A6){y6=p1;break}else j6=Q1,T3=p1;else y6=0;if(C1=(K5|0)==-1,v1=(y6|0)<(K5|0),t6=C1|v1,!t6){H5=K5,b6=f6;break}e[s3>>2]=e[U5>>2]|0,e[s3+4>>2]=e[U5+4>>2]|0,e[s3+8>>2]=e[U5+8>>2]|0,e[s3+12>>2]=e[U5+12>>2]|0,e[s3+16>>2]=e[U5+16>>2]|0,e[s3+20>>2]=e[U5+20>>2]|0,e[s3+24>>2]=e[U5+24>>2]|0,e[s3+28>>2]=e[U5+28>>2]|0,H5=y6,b6=x6}else H5=K5,b6=f6;while(!1);if(k1=e[U5>>2]|0,S1=(k1|0)<(L0|0),S1)p=U5,m=k1;else for(M1=U5,s6=0;;)if(L1=s6+1|0,e[M1>>2]=0,b1=U5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(L0|0),R1){p=b1,m=_1;break}else M1=b1,s6=L1;if(F1=(m|0)>-1,F1?(P1=m+c3|0,e[p>>2]=P1,X1=P1):X1=m,O1=0-X1|0,e[p>>2]=O1,G1=x6+1|0,n3=(G1|0)==(s1|0),n3){N6=b6;break}else K5=H5,x6=G1,f6=b6}}else N6=n6;while(!1);if(x1=(N6|0)>-1,c6=T&x1,c6)for(h=G3,L6=0;J1=s3+(L6<<2)|0,H1=e[J1>>2]|0,V1=h+4|0,Y1=e[h>>2]|0,z1=Y1-H1|0,e[h>>2]=z1,t2=L6+1|0,l3=(t2|0)==(M|0),!l3;)h=V1,L6=t2;if(e2=Ou(r3,N6,t)|0,q1=e2+D5|0,d2=d3+1|0,U3=(d2|0)==(x3|0),U3){E=q1;break}y=e[r3>>2]|0,M=y,D5=q1,d3=d2}B=e[r5>>2]|0,C2=B,Y5=E}else C2=a5,Y5=0;Z1=e[S2>>2]|0,I2=Z1+Y5|0,e[S2>>2]=I2,A2=C2+(h6<<2)|0,$2=e[A2>>2]|0,W1=K6+($2<<2)|0,f2=e[W1>>2]|0,u2=f2+Y5|0,e[W1>>2]=u2}if(s2=o6+1|0,C6=(s2|0)==($|0),C6)break;o6=s2}if(l2=W3+1|0,i2=h6+1|0,b3=(l2|0)==(N5|0),b3)break;h6=i2,W3=l2}O2=j5-H6|0,J3=O2}else J3=j5;if(p2=(J3|0)<($0|0),p2)j5=J3;else break}b=e[y0>>2]|0,r2=b}else r2=k2;if(a2=g6+1|0,m2=(a2|0)<(r2|0),m2)k2=r2,g6=a2;else break}C=Q6}function V8(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0;if(y=C,A=(t|0)==0,A)p=0;else for(s=t,m=0;;)if($=s>>>1,g=m+1|0,h=($|0)==0,h){p=g;break}else s=$,m=g;return p|0}function Hy(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0;f2=C,C=C+144|0,q1=f2,E=(A|0)!=0,y=E?A:s,T=y<<2,o0=Re(T)|0,g4(q1|0,0,132)|0,X=(s|0)>0;do if(X){E0=q1+4|0,H0=(A|0)==0,Y0=H0&1,k1=0,D1=0;e:for(;;){A1=t+D1|0,v1=I[A1>>0]|0,B=v1<<24>>24,b=v1<<24>>24>0;t:do if(b){if(D=q1+(B<<2)|0,k=e[D>>2]|0,v=v1<<24>>24>31,_=k>>>B,Q=(_|0)==0,d2=v|Q,!d2){W1=5;break e}L=o0+(k1<<2)|0,e[L>>2]=k,R=q1+(B<<2)|0,M=k&1,G=(M|0)==0;i:do if(G)for(J=k,s0=R,J1=B;;){if(r0=J+1|0,e[s0>>2]=r0,Y=J1+-1|0,h0=(J1|0)>1,!h0)break i;if(h=q1+(Y<<2)|0,m=e[h>>2]|0,i0=q1+(Y<<2)|0,e0=m&1,d0=(e0|0)==0,d0)J=m,s0=i0,J1=Y;else{g=i0,x1=Y,W1=8;break}}else g=R,x1=B,W1=8;while(!1);do if((W1|0)==8)if(W1=0,q=(x1|0)==1,q){V=e[E0>>2]|0,K=V+1|0,e[E0>>2]=K;break}else{t0=x1+-1|0,Z=q1+(t0<<2)|0,A0=e[Z>>2]|0,j=A0<<1,e[g>>2]=j;break}while(!1);if(z1=B+1|0,O=(z1|0)<33,O)for(R1=k,V1=B,t2=z1;;){if(c0=q1+(t2<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){p=1;break t}if(g0=q1+(V1<<2)|0,I0=e[g0>>2]|0,n0=I0<<1,e[c0>>2]=n0,H1=t2+1|0,f0=(H1|0)<33,f0)Y1=t2,R1=$0,t2=H1,V1=Y1;else{p=1;break}}else p=1}else p=Y0;while(!1);if(S1=k1+p|0,p0=D1+1|0,C0=(p0|0)<(s|0),C0)k1=S1,D1=p0;else{L1=S1,W1=16;break}}if((W1|0)==5)return E2(o0),$=0,C=f2,$|0;if((W1|0)==16){if(Z1=(L1|0)==1,!Z1){O1=1,W1=27;break}if(b0=q1+8|0,y0=e[b0>>2]|0,D0=(y0|0)==2,D0)break;O1=1,W1=27;break}}else O1=1,W1=27;while(!1);e:do if((W1|0)==27){for(;W1=0,j0=q1+(O1<<2)|0,q0=e[j0>>2]|0,o1=32-O1|0,z0=-1>>>o1,r1=q0&z0,L0=(r1|0)==0,J0=O1+1|0,!!L0;)if(V0=(J0|0)<33,V0)O1=J0,W1=27;else break e;return E2(o0),$=0,C=f2,$|0}while(!1);if(!X)return $=o0,C=f2,$|0;if(E)b1=0,G1=0;else{for(M1=0,X1=0;;){if(s1=t+X1|0,h1=I[s1>>0]|0,u1=h1<<24>>24>0,u1)for(E1=o0+(M1<<2)|0,f1=e[E1>>2]|0,d1=h1<<24>>24,o2=0,C2=0;;)if(g1=C2<<1,a1=f1>>>o2,$1=a1&1,X0=$1|g1,B1=o2+1|0,p1=(B1|0)<(d1|0),p1)o2=B1,C2=X0;else{I2=X0;break}else I2=0;if(Q1=M1+1|0,C1=o0+(M1<<2)|0,e[C1>>2]=I2,y1=X1+1|0,F1=(y1|0)==(s|0),F1){$=o0;break}else M1=Q1,X1=y1}return C=f2,$|0}for(;;){if(Q0=t+G1|0,w0=I[Q0>>0]|0,B0=w0<<24>>24>0,B0)for(W0=o0+(b1<<2)|0,O0=e[W0>>2]|0,P0=w0<<24>>24,e2=0,$2=0;;)if(G0=$2<<1,U0=O0>>>e2,k0=U0&1,K0=k0|G0,N0=e2+1|0,M0=(N0|0)<(P0|0),M0)e2=N0,$2=K0;else{A2=K0;break}else A2=0;if(x0=w0<<24>>24==0,x0?_1=b1:(Z0=b1+1|0,R0=o0+(b1<<2)|0,e[R0>>2]=A2,_1=Z0),v0=G1+1|0,P1=(v0|0)==(s|0),P1){$=o0;break}else b1=_1,G1=v0}return C=f2,$|0}function sD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0;if(J=C,$=t+4|0,g=e[$>>2]|0,_=e[t>>2]|0,Q=(_|0)>0,!Q)for(;;);for(L=+(g|0),R=L,M=+(_|0),T=1/M,G=T,O=+Gu(+R,+G),h=+aA(+O),p=~~h,Z=p;;){for(D=Z+1|0,q=1,V=1,K=0;;)if(B=s5(q,Z)|0,b=s5(V,D)|0,k=K+1|0,v=(k|0)<(_|0),v)q=B,V=b,K=k;else{s=B,A=b;break}if(m=(s|0)<=(g|0),E=(A|0)>(g|0),t0=m&E,t0){r0=Z;break}y=(s|0)>(g|0),j=y?-1:1,A0=Z+j|0,Z=A0}return r0|0}function oD(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0;if(z5=C,y=t+12|0,B=e[y>>2]|0,E=B+-1|0,n5=E>>>0<2,!n5)return h=0,h|0;if(z0=t+16|0,a1=e[z0>>2]|0,L1=a1&2097151,x1=+(L1|0),Z1=a1>>>21,l2=Z1&1023,O2=(a1|0)<0,t5=-x1,$=O2?t5:x1,b=l2+-788|0,O=+uE($,b),s0=O,g0=t+20|0,w0=e[g0>>2]|0,K0=w0&2097151,j0=+(K0|0),q0=w0>>>21,Y0=q0&1023,o1=(w0|0)<0,r1=-j0,g=o1?r1:j0,L0=Y0+-788|0,s1=+uE(g,L0),h1=s1,u1=e[t>>2]|0,E1=s5(u1,s)|0,f1=c9(E1,4)|0,(B|0)==1){if(v1=t+4|0,k1=e[v1>>2]|0,S1=(u1|0)>0,!S1)for(;;);for(M1=+(k1|0),b1=M1,_1=+(u1|0),R1=1/_1,F1=R1,P1=+Gu(+b1,+F1),D1=+aA(+P1),O1=~~D1,c5=O1;;){for(I2=c5+1|0,o5=1,F2=1,C5=0;;)if(q1=s5(o5,c5)|0,d2=s5(F2,I2)|0,A2=C5+1|0,E5=(A2|0)==(u1|0),E5){p=q1,m=d2;break}else o5=q1,F2=d2,C5=A2;if(X1=(p|0)<=(k1|0),G1=(m|0)>(k1|0),I5=G1&X1,I5){T2=c5;break}e2=(p|0)>(k1|0),e5=e2?-1:1,F5=e5+c5|0,c5=F5}if(J1=(k1|0)>0,!J1)return h=f1,h|0;for(H1=(A|0)==0,V1=t+8|0,Y1=t+32|0,z1=h1,t2=s0,o2=t+28|0,R2=0,T1=0;;){if(H1)if(g2=e[Y1>>2]|0,n2=e[o2>>2]|0,u2=(n2|0)==0,s2=s5(u1,R2)|0,u2)for(w5=1,X2=0;;)if(L5=(T1|0)/(w5|0)&-1,j2=(L5|0)%(T2|0)&-1,p5=g2+(j2<<2)|0,_5=e[p5>>2]|0,V5=+(_5|0),z2=+nr(+V5),u5=z2,b2=u5*z1,y5=t2+b2,D=y5,k=s2+X2|0,v=f1+(k<<2)|0,o[v>>2]=D,_=s5(w5,T2)|0,Q=X2+1|0,L=(Q|0)<(u1|0),L)w5=_,X2=Q;else{k5=21;break}else for($5=1,h5=0,r5=0;;)if(R=(T1|0)/($5|0)&-1,M=(R|0)%(T2|0)&-1,T=g2+(M<<2)|0,G=e[T>>2]|0,q=+(G|0),q5=+nr(+q),V=q5,K=V*z1,t0=r5,Z=t0+t2,A0=Z+K,j=A0,r0=s2+h5|0,o0=f1+(r0<<2)|0,o[o0>>2]=j,J=s5($5,T2)|0,Y=h5+1|0,h0=(Y|0)<(u1|0),h0)$5=J,h5=Y,r5=j;else{k5=21;break}else if(C2=e[V1>>2]|0,$2=C2+T1|0,W1=I[$2>>0]|0,f2=W1<<24>>24==0,f2)Q2=R2;else for(i2=e[Y1>>2]|0,a2=e[o2>>2]|0,m2=(a2|0)==0,r2=A+(R2<<2)|0,k2=e[r2>>2]|0,D2=s5(k2,u1)|0,d5=1,l5=0,a5=0;;)if(S2=(T1|0)/(d5|0)&-1,y2=(S2|0)%(T2|0)&-1,G2=i2+(y2<<2)|0,M2=e[G2>>2]|0,p2=+(M2|0),R5=+nr(+p2),W2=R5,q2=W2*z1,K2=a5,U2=K2+t2,V2=U2+q2,Z2=V2,v5=m2?a5:Z2,A5=D2+l5|0,Y2=f1+(A5<<2)|0,o[Y2>>2]=Z2,N1=s5(d5,T2)|0,T5=l5+1|0,i5=(T5|0)<(u1|0),i5)d5=N1,l5=T5,a5=v5;else{k5=21;break}if((k5|0)==21&&(k5=0,i0=R2+1|0,Q2=i0),e0=T1+1|0,d0=(e0|0)<(k1|0),d0)R2=Q2,T1=e0;else{h=f1;break}}return h|0}else if((B|0)==2){if(d1=t+4|0,A1=e[d1>>2]|0,g1=(A1|0)>0,!g1)return h=f1,h|0;for($1=(A|0)!=0,X0=t+8|0,B1=t+32|0,p1=h1,Q1=s0,C1=t+28|0,y1=(u1|0)>0,Q5=0,x5=0;;){if($1?(c0=e[X0>>2]|0,$0=c0+x5|0,l0=I[$0>>0]|0,X=l0<<24>>24==0,X?N5=Q5:k5=25):k5=25,(k5|0)==25){if(k5=0,y1)for(m0=e[B1>>2]|0,I0=e[C1>>2]|0,n0=(I0|0)==0,f0=A+(Q5<<2)|0,p0=s5(u1,x5)|0,C0=s5(u1,Q5)|0,h2=0,J2=0;b0=p0+h2|0,y0=m0+(b0<<2)|0,D0=e[y0>>2]|0,E0=+(D0|0),M5=+nr(+E0),Q0=M5,B0=Q0*p1,x0=J2,Z0=x0+Q1,R0=Z0+B0,v0=R0,f5=n0?J2:v0,$1?(G0=e[f0>>2]|0,U0=s5(G0,u1)|0,O0=U0+h2|0,H0=f1+(O0<<2)|0,o[H0>>2]=v0):(k0=C0+h2|0,N0=f1+(k0<<2)|0,o[N0>>2]=v0),M0=h2+1|0,P0=(M0|0)<(u1|0),P0;)h2=M0,J2=f5;W0=Q5+1|0,N5=W0}if(J0=x5+1|0,V0=(J0|0)<(A1|0),V0)Q5=N5,x5=J0;else{h=f1;break}}return h|0}else return h=f1,h|0;return 0}function UC(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0;b=C,s=t+36|0,A=e[s>>2]|0,$=(A|0)==0,!$&&(g=t+32|0,h=e[g>>2]|0,p=(h|0)==0,p||E2(h),m=t+8|0,E=e[m>>2]|0,y=(E|0)==0,y||E2(E),E2(t))}function aD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;R=C,s=t+16|0,A=e[s>>2]|0,E=(A|0)==0,E||E2(A),y=t+20|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),D=t+24|0,k=e[D>>2]|0,v=(k|0)==0,v||E2(k),_=t+28|0,$=e[_>>2]|0,g=($|0)==0,g||E2($),h=t+32|0,p=e[h>>2]|0,m=(p|0)==0,m||E2(p),Q=t,M=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(M|0))}function Vy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;q0=C,V0=t,Y0=V0+56|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0));if(p=t+12|0,e[p>>2]=s,m=s+4|0,R=e[m>>2]|0,j=t+4|0,e[j>>2]=R,$0=t+8|0,e[$0>>2]=R,y0=e[s>>2]|0,e[t>>2]=y0,x0=s+8|0,Z0=e[x0>>2]|0,R0=Hy(Z0,R,0)|0,v0=t+20|0,e[v0>>2]=R0,E=e[m>>2]|0,y=e[s>>2]|0,B=(y|0)>0,!B)for(;;);for(b=+(E|0),D=b,k=+(y|0),v=1/k,_=v,Q=+Gu(+D,+_),L=+aA(+Q),M=~~L,W0=M;;){for(K=W0+1|0,G0=1,U0=1,H0=0;;)if(q=s5(G0,W0)|0,V=s5(U0,K)|0,t0=H0+1|0,O0=(t0|0)==(y|0),O0){g=q,h=V;break}else G0=q,U0=V,H0=t0;if(T=(g|0)<=(E|0),G=(h|0)>(E|0),k0=G&T,k0){J0=W0;break}O=(g|0)>(E|0),P0=O?-1:1,M0=P0+W0|0,W0=M0}return Z=t+44|0,e[Z>>2]=J0,A0=s+16|0,r0=e[A0>>2]|0,o0=r0&2097151,J=+(o0|0),s0=r0>>>21,Y=s0&1023,h0=(r0|0)<0,i0=-J,A=h0?i0:J,e0=Y+-788|0,d0=+uE(A,e0),c0=d0,K0=+Zy(c0),l0=~~K0,X=t+48|0,e[X>>2]=l0,m0=s+20|0,g0=e[m0>>2]|0,I0=g0&2097151,n0=+(I0|0),f0=g0>>>21,p0=f0&1023,C0=(g0|0)<0,b0=-n0,$=C0?b0:n0,D0=p0+-788|0,E0=+uE($,D0),Q0=E0,N0=+Zy(Q0),w0=~~N0,B0=t+52|0,e[B0>>2]=w0,0}function AD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0;O3=C,_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));if(D=s+4|0,k=e[D>>2]|0,C2=(k|0)>0,C2)for(z2=s+8|0,v5=e[z2>>2]|0,W3=0,G6=0;;)if(k5=v5+W3|0,Z5=I[k5>>0]|0,Y3=Z5<<24>>24>0,l6=Y3&1,E=l6+G6|0,j5=W3+1|0,v=(j5|0)<(k|0),v)W3=j5,G6=E;else{f0=E;break}else f0=0;if(K=t+4|0,e[K>>2]=k,i0=t+8|0,e[i0>>2]=f0,Z0=e[s>>2]|0,e[t>>2]=Z0,P0=(f0|0)>0,!P0)return $=0,C=O3,$|0;if(s1=s+8|0,B1=e[s1>>2]|0,_1=Hy(B1,k,f0)|0,V1=f0<<2,h=V1,$2=C,C=C+((1*h|0)+15&-16)|0,r2=(_1|0)==0,r2){V2=t+16|0,Z2=e[V2>>2]|0,A5=(Z2|0)==0,A5||E2(Z2),Y2=t+20|0,N1=e[Y2>>2]|0,t5=(N1|0)==0,t5||E2(N1),T5=t+24|0,i5=e[T5>>2]|0,L5=(i5|0)==0,L5||E2(i5),p5=t+28|0,_5=e[p5>>2]|0,V5=(_5|0)==0,V5||E2(_5),u5=t+32|0,b2=e[u5>>2]|0,y5=(b2|0)==0,y5||E2(b2),_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));return $=-1,C=O3,$|0}else F3=0;for(;K2=_1+(F3<<2)|0,j2=e[K2>>2]|0,Q5=j2>>>16,N5=j2<<16,E5=Q5|N5,M5=E5>>>8,q5=M5&16711935,R5=E5<<8,C5=R5&-16711936,$5=q5|C5,d5=$5>>>4,w5=d5&252645135,T1=$5<<4,x5=T1&-252645136,h5=w5|x5,l5=h5>>>2,X2=l5&858993459,h2=h5<<2,r5=h2&-858993460,a5=X2|r5,f5=a5>>>1,J2=f5&1431655765,I5=a5<<1,n5=I5&-1431655766,F5=J2|n5,e[K2>>2]=F5,e5=$2+(F3<<2)|0,e[e5>>2]=K2,c5=F3+1|0,j6=(c5|0)==(f0|0),!j6;)F3=c5;for(Hu($2,f0,4,10),p=V1,T2=C,C=C+((1*p|0)+15&-16)|0,z5=Re(V1)|0,i3=t+20|0,e[i3>>2]=z5,B5=_1,Z3=0;;)if(I3=$2+(Z3<<2)|0,h3=e[I3>>2]|0,W5=h3,r3=W5-B5|0,a3=r3>>2,y3=T2+(a3<<2)|0,e[y3>>2]=Z3,G5=Z3+1|0,N6=(G5|0)==(f0|0),N6){t6=0;break}else Z3=G5;for(;x3=_1+(t6<<2)|0,f3=e[x3>>2]|0,w3=T2+(t6<<2)|0,e6=e[w3>>2]|0,V3=z5+(e6<<2)|0,e[V3>>2]=f3,X5=t6+1|0,b6=(X5|0)==(f0|0),!b6;)t6=X5;if(E2(_1),_3=oD(s,f0,T2)|0,t3=t+16|0,e[t3>>2]=_3,a6=Re(V1)|0,G3=t+24|0,e[G3>>2]=a6,c3=e[D>>2]|0,g3=(c3|0)>0,g3)for(y=e[s1>>2]|0,R6=0,Q6=0;;)if(u3=y+R6|0,Q3=I[u3>>0]|0,K5=Q3<<24>>24>0,K5?(H5=Q6+1|0,Y5=T2+(Q6<<2)|0,D5=e[Y5>>2]|0,z3=a6+(D5<<2)|0,e[z3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,n3=(U5|0)<(c3|0),n3)R6=U5,Q6=X6;else{ee=X6;break}else ee=0;if(l3=Re(ee)|0,U3=t+28|0,e[U3>>2]=l3,C6=t+40|0,e[C6>>2]=0,g3){for(B=e[s1>>2]|0,o5=0,L3=B,c6=0,re=0;;)if(b3=L3+c6|0,D3=I[b3>>0]|0,A6=D3<<24>>24>0,A6?(r6=re+1|0,K3=T2+(re<<2)|0,M3=e[K3>>2]|0,d3=e[U3>>2]|0,J3=d3+M3|0,I[J3>>0]=D3,h6=e[s1>>2]|0,m3=h6+c6|0,x6=I[m3>>0]|0,L6=x6<<24>>24,M6=e[C6>>2]|0,S6=(L6|0)>(M6|0),S6?(e[C6>>2]=L6,F2=L6,R2=h6,V6=r6):(F2=M6,R2=h6,V6=r6)):(F2=o5,R2=L3,V6=re),n6=c6+1|0,_=e[D>>2]|0,Q=(n6|0)<(_|0),Q)o5=F2,L3=R2,c6=n6,re=V6;else{m=F2,oe=V6;break}if(L=(oe|0)==1,L){if(R=(m|0)==1,R)return M=t+36|0,e[M>>2]=1,T=c9(2,4)|0,G=t+32|0,e[G>>2]=T,O=T+4|0,e[O>>2]=1,e[T>>2]=1,$=0,C=O3,$|0;P3=1}else P3=oe}else P3=0;if(q=e[i0>>2]|0,V=(q|0)==0,V)U6=-4;else{for(g=q,Y6=0;;)if(t0=g>>>1,Z=Y6+1|0,A0=(t0|0)==0,A0){F6=Y6;break}else g=t0,Y6=Z;ue=F6+-3|0,U6=ue}if(j=t+36|0,r0=(U6|0)<5,A=r0?5:U6,o0=(A|0)>8,te=o0?8:A,e[j>>2]=te,J=1<>2]=s0,h0=(P3|0)>0,h0)for(l0=te,s3=0;;){if(e0=e[U3>>2]|0,d0=e0+s3|0,c0=I[d0>>0]|0,$0=c0<<24>>24,X=(l0|0)<($0|0),X)Q2=l0;else if(m0=e[i3>>2]|0,g0=m0+(s3<<2)|0,I0=e[g0>>2]|0,n0=I0>>>16,p0=I0<<16,C0=n0|p0,b0=C0>>>8,y0=b0&16711935,D0=C0<<8,E0=D0&-16711936,Q0=y0|E0,w0=Q0>>>4,B0=w0&252645135,x0=Q0<<4,R0=x0&-252645136,v0=B0|R0,G0=v0>>>2,U0=G0&858993459,O0=v0<<2,H0=O0&-858993460,k0=U0|H0,K0=k0>>>1,N0=K0&1431655765,M0=k0<<1,W0=M0&-1431655766,J0=N0|W0,V0=l0-$0|0,j0=(V0|0)==31,j0)Q2=l0;else for(q0=s3+1|0,o1=$0,A3=0;;)if(Y0=A3<>2]=q0,L0=A3+1|0,h1=e[j>>2]|0,u1=I[d0>>0]|0,E1=u1<<24>>24,f1=h1-E1|0,d1=1<>>16,k1=y1<<16,S1=v1|k1,L1=S1>>>8,M1=L1&16711935,b1=S1<<8,R1=b1&-16711936,F1=M1|R1,P1=F1>>>4,D1=P1&252645135,O1=F1<<4,X1=O1&-252645136,G1=D1|X1,x1=G1>>>2,J1=x1&858993459,H1=G1<<2,Y1=H1&-858993460,z1=J1|Y1,t2=z1>>>1,o2=t2&1431655765,e2=z1<<1,q1=e2&-1431655766,d2=o2|q1,Z1=s0+(d2<<2)|0,I2=e[Z1>>2]|0,A2=(I2|0)==0,A2){for(y6=g6;;){if(W1=y6+1|0,f2=(W1|0)<(P3|0),!f2){T3=y6;break}if(g2=e[i3>>2]|0,n2=g2+(W1<<2)|0,u2=e[n2>>2]|0,s2=u2>>>0>y1>>>0,s2){T3=y6;break}else y6=W1}l2=(P3|0)>(k6|0);e:do if(l2)for(i2=e[i3>>2]|0,s6=k6;;){if(a2=i2+(s6<<2)|0,m2=e[a2>>2]|0,k2=m2&X0,D2=y1>>>0>>0,D2){R3=s6;break e}if(S2=s6+1|0,y2=(P3|0)>(S2|0),y2)s6=S2;else{R3=S2;break}}else R3=k6;while(!1);G2=P3-R3|0,M2=T3>>>0>32767,O2=G2>>>0>32767,B6=O2?32767:G2,H6=T3<<15,$6=H6|-2147483648,p2=M2?-1073774592:$6,W2=p2|B6,e[Z1>>2]=W2,o6=R3,D6=T3}else o6=k6,D6=g6;if(q2=K6+1|0,U2=(q2|0)<(J|0),!U2){$=0;break}b=e[j>>2]|0,C1=b,k6=o6,K6=q2,g6=D6}return C=O3,$|0}function $D(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0;return D=C,A=e[t>>2]|0,$=e[A>>2]|0,g=e[s>>2]|0,h=e[g>>2]|0,p=$>>>0>h>>>0,m=p&1,E=$>>>0>>0,y=E&1,B=m-y|0,B|0}function lD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0;if(Z0=C,y=e[t>>2]|0,B=(y|0)==1,!B&&(G=t+4|0,J=e[G>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,X=l0+4|0,m0=e[X>>2]|0,g0=(m0|0)>0,!!g0)){for(I0=m0+1|0,E=y+-1|0,C0=y,b0=0,y0=y,E0=1;;){b=I0-b0|0,D=l0+(b<<2)|0,k=e[D>>2]|0,v=(y0|0)/(k|0)&-1,_=(y|0)/(y0|0)&-1,Q=s5(_,v)|0,L=k+-1|0,R=s5(_,L)|0,M=C0-R|0,T=1-E0|0;do if((k|0)==2)if(Z=(T|0)==0,A=E+M|0,A0=J+(A<<2)|0,Z){Jy(_,v,s,J,A0),Q0=0;break}else{Jy(_,v,J,s,A0),Q0=T;break}else if((k|0)==4)if(O=M+_|0,q=(T|0)==0,$=E+M|0,V=J+($<<2)|0,g=E+O|0,K=J+(g<<2)|0,h=E+_|0,p=h+O|0,t0=J+(p<<2)|0,q){Ky(_,v,s,J,V,K,t0),Q0=0;break}else{Ky(_,v,J,s,V,K,t0),Q0=T;break}else if(j=(_|0)==1,D0=j?E0:T,r0=(D0|0)==0,m=E+M|0,o0=J+(m<<2)|0,r0){Wy(_,k,v,Q,s,s,s,J,J,o0),Q0=1;break}else{Wy(_,k,v,Q,J,J,J,s,s,o0),Q0=0;break}while(!1);if(s0=b0+1|0,f0=(s0|0)==(m0|0),f0){w0=Q0;break}else C0=M,b0=s0,y0=v,E0=Q0}if(Y=(w0|0)!=1,h0=(y|0)>0,B0=h0&Y,B0)p0=0;else return;for(;i0=J+(p0<<2)|0,e0=e[i0>>2]|0,d0=s+(p0<<2)|0,e[d0>>2]=e0,c0=p0+1|0,n0=(c0|0)==(y|0),!n0;)p0=c0}}function Yy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0;if(B1=C,e[t>>2]=s,p=s*3|0,m=c9(p,4)|0,R=t+4|0,e[R>>2]=m,j=c9(32,4)|0,$0=t+8|0,e[$0>>2]=j,y0=(s|0)==1,!y0){Z0=j+8|0,z0=-1,u1=0,E1=s,d1=0;e:for(;;)for(R0=z0+1|0,v0=(R0|0)<4,v0?(G0=25768+(R0<<2)|0,E=e[G0>>2]|0,A1=E):(y=d1+2|0,A1=y),B=(A1|0)!=2,V0=u1,f1=E1;;){if(W0=V0+1|0,b=(f1|0)/(A1|0)&-1,D=s5(b,A1)|0,k=(f1|0)==(D|0),!k){z0=R0,u1=V0,E1=f1,d1=A1;continue e}if(v=V0+2|0,_=j+(v<<2)|0,e[_>>2]=A1,Q=(V0|0)==0,g1=B|Q,!g1){if(L=(V0|0)<1,!L)for(N0=1;M=W0-N0|0,T=M+1|0,G=j+(T<<2)|0,O=e[G>>2]|0,q=M+2|0,V=j+(q<<2)|0,e[V>>2]=O,K=N0+1|0,k0=(K|0)==(W0|0),!k0;)N0=K;e[Z0>>2]=2}if(t0=(b|0)==1,t0){A=Q,J0=W0,j0=V0;break e}else V0=W0,f1=b}if(e[j>>2]=s,Z=j+4|0,e[Z>>2]=J0,A0=+(s|0),r0=6.2831854820251465/A0,$=A^1,o0=(j0|0)>0,a1=o0&$,!!a1)for(J=s+1|0,q0=0,L0=0,s1=1;;){if(s0=L0+2|0,Y=j+(s0<<2)|0,h0=e[Y>>2]|0,i0=s5(h0,s1)|0,e0=(s|0)/(i0|0)&-1,d0=(h0|0)>1,d0){for(c0=(e0|0)>2,l0=h0+-1|0,o1=q0,r1=0,h1=0;;){if(X=h1+s1|0,m0=+(X|0),g0=m0*r0,c0)for(K0=0,M0=o1,P0=2;I0=K0+1,n0=g0*I0,U0=+AA(+n0),g=M0+s|0,f0=m+(g<<2)|0,o[f0>>2]=U0,$1=+Vn(+n0),p0=M0+2|0,h=J+M0|0,C0=m+(h<<2)|0,o[C0>>2]=$1,b0=P0+2|0,D0=(b0|0)<(e0|0),D0;)K0=I0,M0=p0,P0=b0;if(E0=o1+e0|0,Q0=r1+1|0,O0=(Q0|0)==(l0|0),O0)break;o1=E0,r1=Q0,h1=X}w0=s5(e0,l0)|0,B0=w0+q0|0,Y0=B0}else Y0=q0;if(x0=L0+1|0,H0=(x0|0)==(j0|0),H0)break;q0=Y0,L0=x0,s1=i0}}}function zy(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0;y=C,s=(t|0)==0,!s&&(A=t+4|0,$=e[A>>2]|0,g=($|0)==0,g||E2($),h=t+8|0,p=e[h>>2]|0,m=(p|0)==0,m||E2(p),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function Ky(t,s,A,$,g,h,p){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0;var m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0;if(I3=C,m=s5(s,t)|0,E=m<<1,Q1=(s|0)>0,Q1)for(F1=m*3|0,z1=t<<2,W1=z1+-1|0,k2=t<<1,h2=0,a5=m,I5=F1,e5=0,c5=E;U2=A+(a5<<2)|0,p5=+o[U2>>2],N5=A+(I5<<2)|0,y=+o[N5>>2],T=y+p5,o0=A+(e5<<2)|0,X=+o[o0>>2],E0=A+(c5<<2)|0,H0=+o[E0>>2],Y0=H0+X,A1=Y0+T,B1=e5<<2,p1=$+(B1<<2)|0,o[p1>>2]=A1,C1=Y0-T,y1=W1+B1|0,v1=$+(y1<<2)|0,o[v1>>2]=C1,k1=+o[o0>>2],S1=+o[E0>>2],L1=k1-S1,M1=B1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,o[_1>>2]=L1,R1=+o[N5>>2],P1=+o[U2>>2],D1=R1-P1,O1=$+(M1<<2)|0,o[O1>>2]=D1,X1=a5+t|0,G1=I5+t|0,x1=e5+t|0,J1=c5+t|0,H1=h2+1|0,h5=(H1|0)==(s|0),!h5;)h2=H1,a5=X1,I5=G1,e5=x1,c5=J1;if(V1=(t|0)<2,!V1){if(Y1=(t|0)==2,!Y1){if(Q1)for(t2=t<<1,v5=0,f5=0;;){for(n0=f5<<2,f0=n0+t2|0,X2=2,n5=f5,T2=n0,z5=f0;q1=n5+2|0,d2=T2+2|0,Z1=z5+-2|0,I2=q1+m|0,A2=X2+-2|0,C2=g+(A2<<2)|0,$2=+o[C2>>2],f2=I2+-1|0,g2=A+(f2<<2)|0,n2=+o[g2>>2],u2=n2*$2,s2=X2+-1|0,l2=g+(s2<<2)|0,i2=+o[l2>>2],a2=A+(I2<<2)|0,m2=+o[a2>>2],r2=m2*i2,D2=r2+u2,S2=m2*$2,y2=i2*n2,G2=S2-y2,M2=I2+m|0,O2=h+(A2<<2)|0,p2=+o[O2>>2],W2=M2+-1|0,q2=A+(W2<<2)|0,K2=+o[q2>>2],V2=K2*p2,Z2=h+(s2<<2)|0,A5=+o[Z2>>2],Y2=A+(M2<<2)|0,N1=+o[Y2>>2],t5=N1*A5,T5=t5+V2,i5=N1*p2,L5=A5*K2,j2=i5-L5,_5=M2+m|0,V5=p+(A2<<2)|0,u5=+o[V5>>2],b2=_5+-1|0,y5=A+(b2<<2)|0,o5=+o[y5>>2],F2=o5*u5,R2=p+(s2<<2)|0,Q2=+o[R2>>2],Q5=A+(_5<<2)|0,E5=+o[Q5>>2],M5=E5*Q2,q5=M5+F2,R5=E5*u5,z2=Q2*o5,C5=R5-z2,$5=q5+D2,d5=q5-D2,w5=C5+G2,T1=G2-C5,B=A+(q1<<2)|0,b=+o[B>>2],D=b+j2,k=b-j2,v=n5+1|0,_=A+(v<<2)|0,Q=+o[_>>2],L=Q+T5,R=Q-T5,M=$5+L,G=T2|1,O=$+(G<<2)|0,o[O>>2]=M,q=w5+D,V=$+(d2<<2)|0,o[V>>2]=q,K=R-T1,t0=z5+-3|0,Z=$+(t0<<2)|0,o[Z>>2]=K,A0=d5-k,j=$+(Z1<<2)|0,o[j>>2]=A0,r0=T1+R,J=d2+t2|0,s0=J+-1|0,Y=$+(s0<<2)|0,o[Y>>2]=r0,h0=d5+k,i0=$+(J<<2)|0,o[i0>>2]=h0,e0=L-$5,d0=Z1+t2|0,c0=d0+-1|0,$0=$+(c0<<2)|0,o[$0>>2]=e0,l0=w5-D,m0=$+(d0<<2)|0,o[m0>>2]=l0,g0=X2+2|0,I0=(g0|0)<(t|0),I0;)X2=g0,n5=q1,T2=d2,z5=Z1;if(o2=f5+t|0,e2=v5+1|0,l5=(e2|0)==(s|0),l5)break;v5=e2,f5=o2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(b0=t+-1|0,y0=b0+m|0,D0=t<<2,Q0=t<<1,!!Q1)for(w0=y0+E|0,r5=0,J2=y0,F5=w0,k5=t,i3=t;B0=A+(J2<<2)|0,x0=+o[B0>>2],Z0=A+(F5<<2)|0,R0=+o[Z0>>2],v0=R0+x0,G0=v0*-.7071067690849304,U0=x0-R0,O0=U0*.7071067690849304,k0=i3+-1|0,K0=A+(k0<<2)|0,N0=+o[K0>>2],M0=O0+N0,P0=k5+-1|0,W0=$+(P0<<2)|0,o[W0>>2]=M0,J0=+o[K0>>2],V0=J0-O0,j0=k5+Q0|0,q0=j0+-1|0,o1=$+(q0<<2)|0,o[o1>>2]=V0,z0=J2+m|0,r1=A+(z0<<2)|0,L0=+o[r1>>2],s1=G0-L0,h1=$+(k5<<2)|0,o[h1>>2]=s1,u1=+o[r1>>2],E1=u1+G0,f1=$+(j0<<2)|0,o[f1>>2]=E1,d1=J2+t|0,g1=F5+t|0,a1=k5+D0|0,$1=i3+t|0,X0=r5+1|0,x5=(X0|0)==(s|0),!x5;)r5=X0,J2=d1,F5=g1,k5=a1,i3=$1}}function Jy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0;if(D1=C,h=s5(s,t)|0,p=t<<1,L=(s|0)>0,L)for(A0=p+-1|0,B1=0,C1=0,k1=h;c0=A+(C1<<2)|0,b0=+o[c0>>2],G0=A+(k1<<2)|0,V0=+o[G0>>2],E1=V0+b0,A1=C1<<1,m=$+(A1<<2)|0,o[m>>2]=E1,E=+o[c0>>2],y=+o[G0>>2],B=E-y,b=A0+A1|0,D=$+(b<<2)|0,o[D>>2]=B,k=C1+t|0,v=k1+t|0,_=B1+1|0,a1=(_|0)==(s|0),!a1;)B1=_,C1=k,k1=v;if(Q=(t|0)<2,!Q){if(R=(t|0)==2,!R){if(L)for(p1=0,y1=0,S1=h;;){for(K0=y1<<1,N0=K0+p|0,X0=2,M1=S1,_1=N0,R1=y1,F1=K0;O=M1+2|0,q=_1+-2|0,V=R1+2|0,K=F1+2|0,t0=X0+-2|0,Z=g+(t0<<2)|0,j=+o[Z>>2],r0=M1+1|0,o0=A+(r0<<2)|0,J=+o[o0>>2],s0=J*j,Y=X0+-1|0,h0=g+(Y<<2)|0,i0=+o[h0>>2],e0=A+(O<<2)|0,d0=+o[e0>>2],$0=d0*i0,l0=$0+s0,X=d0*j,m0=i0*J,g0=X-m0,I0=A+(V<<2)|0,n0=+o[I0>>2],f0=g0+n0,p0=$+(K<<2)|0,o[p0>>2]=f0,C0=+o[I0>>2],y0=g0-C0,D0=$+(q<<2)|0,o[D0>>2]=y0,E0=R1+1|0,Q0=A+(E0<<2)|0,w0=+o[Q0>>2],B0=w0+l0,x0=F1|1,Z0=$+(x0<<2)|0,o[Z0>>2]=B0,R0=+o[Q0>>2],v0=R0-l0,U0=_1+-3|0,O0=$+(U0<<2)|0,o[O0>>2]=v0,H0=X0+2|0,k0=(H0|0)<(t|0),k0;)X0=H0,M1=O,_1=q,R1=V,F1=K;if(M=y1+t|0,T=S1+t|0,G=p1+1|0,$1=(G|0)==(s|0),$1)break;p1=G,y1=M,S1=T}if(M0=(t|0)%2&-1,P0=(M0|0)==1,P0)return}if(W0=t+-1|0,!!L)for(J0=h+W0|0,Q1=0,v1=t,L1=J0,b1=W0;j0=A+(L1<<2)|0,q0=+o[j0>>2],Y0=-q0,o1=$+(v1<<2)|0,o[o1>>2]=Y0,z0=A+(b1<<2)|0,r1=e[z0>>2]|0,L0=v1+-1|0,s1=$+(L0<<2)|0,e[s1>>2]=r1,h1=v1+p|0,u1=L1+t|0,f1=b1+t|0,d1=Q1+1|0,g1=(d1|0)==(s|0),!g1;)Q1=d1,v1=h1,L1=u1,b1=f1}}function Wy(t,s,A,$,g,h,p,m,E,y){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,E=E|0,y=y|0;var B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0;vt=C,D=+(s|0),k=6.2831854820251465/D,pt=+AA(+k),Y8=+Vn(+k),C2=s+1|0,b3=C2>>1,Ke=t+-1|0,z9=Ke>>1,Oe=s5(A,t)|0,Se=s5(s,t)|0,p9=(t|0)==1;e:do if(!p9){if(x8=($|0)>0,x8)for(_4=0;f0=p+(_4<<2)|0,Z0=e[f0>>2]|0,P0=E+(_4<<2)|0,e[P0>>2]=Z0,s1=_4+1|0,Bt=(s1|0)==($|0),!Bt;)_4=s1;if(K=(s|0)>1,K)for(i0=(A|0)>0,wt=1,Z8=0;;){if(B1=Z8+Oe|0,i0)for(l8=0,A9=B1;_1=h+(A9<<2)|0,V1=e[_1>>2]|0,$2=m+(A9<<2)|0,e[$2>>2]=V1,r2=A9+t|0,K2=l8+1|0,o9=(K2|0)==(A|0),!o9;)l8=K2,A9=r2;if(j2=wt+1|0,lt=(j2|0)==(s|0),lt)break;wt=j2,Z8=B1}if(Q5=0-t|0,T1=(z9|0)>(A|0),T1){if(K)for(V3=(A|0)>0,K5=(t|0)>2,C3=Q5,je=1,T8=0;;){if(L3=T8+Oe|0,x6=C3+t|0,V3)for(s6=L3-t|0,A3=x6+-1|0,ut=0,G8=s6;;){if(P3=G8+t|0,K5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,w6=Bi+2|0,ve=E4+1|0,n4=y+(ve<<2)|0,V9=+o[n4>>2],Y9=Bi+1|0,h9=h+(Y9<<2)|0,P9=+o[h9>>2],C9=P9*V9,v4=y+(O3<<2)|0,Ze=+o[v4>>2],ke=h+(w6<<2)|0,k4=+o[ke>>2],V4=k4*Ze,nt=V4+C9,Y4=m+(Y9<<2)|0,o[Y4>>2]=nt,K9=+o[n4>>2],s4=+o[ke>>2],R4=s4*K9,st=+o[v4>>2],n9=+o[h9>>2],u4=n9*st,B9=R4-u4,T6=m+(w6<<2)|0,o[T6>>2]=B9,J9=ct+2|0,f9=(J9|0)<(t|0),f9;)ct=J9,E4=O3,Bi=w6;if(N9=ut+1|0,$t=(N9|0)==(A|0),$t)break;ut=N9,G8=P3}if(d4=je+1|0,Ct=(d4|0)==(s|0),Ct)break;C3=x6,je=d4,T8=L3}}else if(K)for(I5=(t|0)>2,h3=(A|0)>0,Z4=Q5,l4=1,z8=0;;){if(s9=Z4+t|0,h4=z8+Oe|0,I5)for(f4=s9+-1|0,yt=2,gt=f4,$i=h4;;){if(S9=gt+2|0,o4=$i+2|0,h3)for(O9=gt+1|0,I4=y+(O9<<2)|0,I6=y+(S9<<2)|0,dt=0,ti=o4;z4=+o[I4>>2],I9=ti+-1|0,S4=h+(I9<<2)|0,b9=+o[S4>>2],m9=b9*z4,z6=+o[I6>>2],F4=h+(ti<<2)|0,T4=+o[F4>>2],ot=T4*z6,x9=ot+m9,mt=m+(I9<<2)|0,o[mt>>2]=x9,j3=+o[I4>>2],xe=+o[F4>>2],be=xe*j3,q9=+o[I6>>2],a4=+o[S4>>2],h8=a4*q9,N4=be-h8,f8=m+(ti<<2)|0,o[f8>>2]=N4,e8=ti+t|0,I8=dt+1|0,Rt=(I8|0)==(A|0),!Rt;)dt=I8,ti=e8;if(m8=yt+2|0,Ut=(m8|0)<(t|0),Ut)yt=m8,gt=S9,$i=o4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(s|0),m4)break;Z4=s9,l4=Pt,z8=h4}if(Ot=s5(Oe,s)|0,qt=(z9|0)<(A|0),t8=(b3|0)>1,!qt){if(!t8)break;for(i8=(A|0)>0,L8=(t|0)>2,j4=1,ht=0,Hi=Ot;;){if(Q0=ht+Oe|0,w0=Hi-Oe|0,i8)for(j9=0,li=Q0,ci=w0;;){if(L8)for(D4=2,ii=li,Si=ci;B0=ii+2|0,x0=Si+2|0,R0=ii+1|0,v0=m+(R0<<2)|0,G0=+o[v0>>2],U0=Si+1|0,O0=m+(U0<<2)|0,H0=+o[O0>>2],k0=H0+G0,K0=h+(R0<<2)|0,o[K0>>2]=k0,N0=m+(B0<<2)|0,M0=+o[N0>>2],W0=m+(x0<<2)|0,J0=+o[W0>>2],V0=M0-J0,j0=h+(U0<<2)|0,o[j0>>2]=V0,q0=+o[N0>>2],Y0=+o[W0>>2],o1=Y0+q0,z0=h+(B0<<2)|0,o[z0>>2]=o1,r1=+o[O0>>2],L0=+o[v0>>2],h1=r1-L0,u1=h+(x0<<2)|0,o[u1>>2]=h1,E1=D4+2|0,f1=(E1|0)<(t|0),f1;)D4=E1,ii=B0,Si=x0;if(d1=li+t|0,A1=ci+t|0,g1=j9+1|0,W9=(g1|0)==(A|0),W9)break;j9=g1,li=d1,ci=A1}if(a1=j4+1|0,U4=(a1|0)==(b3|0),U4)break e;j4=a1,ht=Q0,Hi=w0}}if(t8)for(_=(t|0)>2,Q=(A|0)>0,Te=1,j8=0,qi=Ot;;){if(L=j8+Oe|0,R=qi-Oe|0,_)for(p4=2,yi=L,vi=R;;){if(M=yi+2|0,T=vi+2|0,Q)for(G=T-t|0,O=M-t|0,Ft=0,Zi=O,f7=G;q=Zi+t|0,V=f7+t|0,t0=q+-1|0,Z=m+(t0<<2)|0,A0=+o[Z>>2],j=V+-1|0,r0=m+(j<<2)|0,o0=+o[r0>>2],J=o0+A0,s0=h+(t0<<2)|0,o[s0>>2]=J,Y=m+(q<<2)|0,h0=+o[Y>>2],e0=m+(V<<2)|0,d0=+o[e0>>2],c0=h0-d0,$0=h+(j<<2)|0,o[$0>>2]=c0,l0=+o[Y>>2],X=+o[e0>>2],m0=X+l0,g0=h+(q<<2)|0,o[g0>>2]=m0,I0=+o[r0>>2],n0=+o[Z>>2],p0=I0-n0,C0=h+(V<<2)|0,o[C0>>2]=p0,b0=Ft+1|0,Mt=(b0|0)==(A|0),!Mt;)Ft=b0,Zi=q,f7=V;if(y0=p4+2|0,D0=(y0|0)<(t|0),D0)p4=y0,yi=M,vi=T;else break}if(E0=Te+1|0,At=(E0|0)==(b3|0),At)break;Te=E0,j8=L,qi=R}}while(!1);if(v=($|0)>0,v)for(D9=0;$1=E+(D9<<2)|0,X0=e[$1>>2]|0,p1=p+(D9<<2)|0,e[p1>>2]=X0,Q1=D9+1|0,Jt=(Q1|0)==($|0),!Jt;)D9=Q1;if(C1=s5($,s)|0,y1=(b3|0)>1,y1){for(v1=(A|0)>0,Wt=1,Nt=0,Vi=C1;;){if(k1=Nt+Oe|0,S1=Vi-Oe|0,v1)for(L1=S1-t|0,M1=k1-t|0,c8=0,g7=M1,d7=L1;b1=g7+t|0,R1=d7+t|0,F1=m+(b1<<2)|0,P1=+o[F1>>2],D1=m+(R1<<2)|0,O1=+o[D1>>2],X1=O1+P1,G1=h+(b1<<2)|0,o[G1>>2]=X1,x1=+o[D1>>2],J1=+o[F1>>2],H1=x1-J1,Y1=h+(R1<<2)|0,o[Y1>>2]=H1,z1=c8+1|0,A4=(z1|0)==(A|0),!A4;)c8=z1,g7=b1,d7=R1;if(t2=Wt+1|0,o8=(t2|0)==(b3|0),o8)break;Wt=t2,Nt=k1,Vi=S1}if(o2=s+-1|0,e2=s5(o2,$)|0,y1){for(q1=(b3|0)>2,Ht=0,Yt=1,et=1,N8=0,Ei=C1;;){if(d2=N8+$|0,Z1=Ei-$|0,I2=Yt*pt,A2=Ht*Y8,W1=I2-A2,f2=Ht*pt,g2=Yt*Y8,n2=g2+f2,v)for(Qt=0,zi=d2,ui=Z1,Xi=e2,ni=$;u2=p+(Qt<<2)|0,s2=+o[u2>>2],l2=ni+1|0,i2=p+(ni<<2)|0,a2=+o[i2>>2],m2=a2*W1,k2=m2+s2,D2=zi+1|0,S2=E+(zi<<2)|0,o[S2>>2]=k2,y2=Xi+1|0,G2=p+(Xi<<2)|0,M2=+o[G2>>2],O2=M2*n2,p2=ui+1|0,W2=E+(ui<<2)|0,o[W2>>2]=O2,q2=Qt+1|0,E8=(q2|0)==($|0),!E8;)Qt=q2,zi=D2,ui=p2,Xi=y2,ni=l2;if(q1)for(Vt=n2,_t=W1,C8=2,Ki=$,K8=e2;;){if(U2=Ki+$|0,V2=K8-$|0,Z2=_t*W1,A5=Vt*n2,Y2=Z2-A5,N1=Vt*W1,t5=_t*n2,T5=t5+N1,v)for(a8=0,bi=d2,xi=Z1,Li=U2,U8=V2;i5=Li+1|0,L5=p+(Li<<2)|0,p5=+o[L5>>2],_5=p5*Y2,V5=bi+1|0,u5=E+(bi<<2)|0,b2=+o[u5>>2],y5=b2+_5,o[u5>>2]=y5,o5=U8+1|0,F2=p+(U8<<2)|0,R2=+o[F2>>2],Q2=R2*T5,N5=xi+1|0,E5=E+(xi<<2)|0,M5=+o[E5>>2],q5=M5+Q2,o[E5>>2]=q5,R5=a8+1|0,M8=(R5|0)==($|0),!M8;)a8=R5,bi=V5,xi=N5,Li=i5,U8=o5;if(z2=C8+1|0,s8=(z2|0)==(b3|0),s8)break;Vt=T5,_t=Y2,C8=z2,Ki=U2,K8=V2}if(C5=et+1|0,R8=(C5|0)==(b3|0),R8)break;Ht=n2,Yt=W1,et=C5,N8=d2,Ei=Z1}if(y1)for(A8=1,Xt=0;;){if($5=Xt+$|0,v)for(Z9=0,X8=$5;d5=X8+1|0,w5=p+(X8<<2)|0,x5=+o[w5>>2],h5=E+(Z9<<2)|0,l5=+o[h5>>2],X2=l5+x5,o[h5>>2]=X2,h2=Z9+1|0,p8=(h2|0)==($|0),!p8;)Z9=h2,X8=d5;if(v5=A8+1|0,b4=(v5|0)==(b3|0),b4)break;A8=v5,Xt=$5}}}if(r5=(t|0)<(A|0),r5){if(J2=(t|0)>0,J2)for(n5=(A|0)>0,W4=0;;){if(n5)for(X4=0,C4=W4,ei=W4;W5=m+(C4<<2)|0,r3=e[W5>>2]|0,a3=g+(ei<<2)|0,e[a3>>2]=r3,y3=C4+t|0,G5=ei+Se|0,Z5=X4+1|0,G4=(Z5|0)==(A|0),!G4;)X4=Z5,C4=y3,ei=G5;if(x3=W4+1|0,at=(x3|0)==(t|0),at)break;W4=x3}}else if(a5=(A|0)>0,a5)for(f5=(t|0)>0,Tt=0,O4=0,Ci=0;;){if(f5)for(J4=0,Yi=O4,Ji=Ci;F5=Yi+1|0,e5=m+(Yi<<2)|0,c5=e[e5>>2]|0,T2=Ji+1|0,k5=g+(Ji<<2)|0,e[k5>>2]=c5,z5=J4+1|0,Lt=(z5|0)==(t|0),!Lt;)J4=z5,Yi=F5,Ji=T2;if(i3=O4+t|0,B5=Ci+Se|0,I3=Tt+1|0,Le=(I3|0)==(A|0),Le)break;Tt=I3,O4=i3,Ci=B5}if(f3=t<<1,w3=s5(Oe,s)|0,y1)for(e6=(A|0)>0,$8=1,F8=0,Qi=0,Wi=w3;;){if(X5=F8+f3|0,_3=Qi+Oe|0,t3=Wi-Oe|0,e6)for(De=0,ri=X5,Di=_3,t7=t3;a6=m+(Di<<2)|0,G3=e[a6>>2]|0,Y3=ri+-1|0,c3=g+(Y3<<2)|0,e[c3>>2]=G3,g3=m+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ri<<2)|0,e[Q3>>2]=u3,H5=ri+Se|0,Y5=Di+t|0,D5=t7+t|0,z3=De+1|0,Et=(z3|0)==(A|0),!Et;)De=z3,ri=H5,Di=Y5,t7=D5;if(U5=$8+1|0,K4=(U5|0)==(b3|0),K4)break;$8=U5,F8=X5,Qi=_3,Wi=t3}if(!p9){if(l6=(z9|0)<(A|0),n3=0-t|0,!l6){if(!y1)return;for(B=(A|0)<1,b=(t|0)<3,xt=B|b,Zt=1,u8=n3,wi=0,gi=0,h7=w3;;){if(C6=u8+f3|0,D3=wi+f3|0,A6=gi+Oe|0,r6=h7-Oe|0,!xt)for(g8=0,e7=C6,di=D3,x4=A6,hi=r6;;){for(a9=2;h6=t-a9|0,m3=a9+x4|0,L6=m3+-1|0,M6=m+(L6<<2)|0,S6=+o[M6>>2],n6=a9+hi|0,f6=n6+-1|0,b6=m+(f6<<2)|0,N6=+o[b6>>2],j6=N6+S6,k6=a9+di|0,R3=k6+-1|0,o6=g+(R3<<2)|0,o[o6>>2]=j6,B6=+o[M6>>2],W3=+o[b6>>2],F3=B6-W3,Z3=h6+e7|0,t6=Z3+-1|0,R6=g+(t6<<2)|0,o[R6>>2]=F3,c6=m+(m3<<2)|0,s3=+o[c6>>2],K6=m+(n6<<2)|0,g6=+o[K6>>2],y6=g6+s3,T3=g+(k6<<2)|0,o[T3>>2]=y6,H6=+o[K6>>2],$6=+o[c6>>2],D6=H6-$6,G6=g+(Z3<<2)|0,o[G6>>2]=D6,ee=a9+2|0,Q6=(ee|0)<(t|0),Q6;)a9=ee;if(K3=e7+Se|0,j5=di+Se|0,M3=x4+t|0,d3=hi+t|0,J3=g8+1|0,r8=(J3|0)==(A|0),r8)break;g8=J3,e7=K3,di=j5,x4=M3,hi=d3}if(X6=Zt+1|0,n8=(X6|0)==(b3|0),n8)break;Zt=X6,u8=C6,wi=D3,gi=A6,h7=r6}return}if(y1)for(l3=(t|0)>2,U3=(A|0)>0,$4=1,c4=n3,u7=0,ki=0,ji=w3;;){if(re=c4+f3|0,V6=u7+f3|0,oe=ki+Oe|0,ue=ji-Oe|0,l3&&(U6=re+t|0,U3))for(P4=2;;){for(F9=P4+ue|0,T9=P4+oe|0,U9=P4+V6|0,H9=U6-P4|0,jt=0,_i=H9,J8=U9,Mi=T9,le=F9;te=Mi+-1|0,_6=m+(te<<2)|0,P6=+o[_6>>2],O6=le+-1|0,ae=m+(O6<<2)|0,he=+o[ae>>2],ne=he+P6,Be=J8+-1|0,ye=g+(Be<<2)|0,o[ye>>2]=ne,Qe=+o[_6>>2],fe=+o[ae>>2],Ie=Qe-fe,Ve=_i+-1|0,q6=g+(Ve<<2)|0,o[q6>>2]=Ie,Ae=m+(Mi<<2)|0,Ye=+o[Ae>>2],we=m+(le<<2)|0,w9=+o[we>>2],u9=w9+Ye,E9=g+(J8<<2)|0,o[E9>>2]=u9,ze=+o[we>>2],r9=+o[Ae>>2],Fe=ze-r9,J6=g+(_i<<2)|0,o[J6>>2]=Fe,$e=_i+Se|0,v9=J8+Se|0,R9=Mi+t|0,d9=le+t|0,_e=jt+1|0,zt=(_e|0)==(A|0),!zt;)jt=_e,_i=$e,J8=v9,Mi=R9,le=d9;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(k9=$4+1|0,Kt=(k9|0)==(b3|0),Kt)break;$4=k9,c4=re,u7=V6,ki=oe,ji=ue}}}function cD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0,y8=0,P8=0,sn=0,kr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,Sr=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,br=0,dn=0,To=0,or=0,No=0,ls=0,hn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,ds=0,hs=0,Po=0,Dr=0,fs=0,p7=0,In=0,_r=0,ar=0,xr=0,Z7=0,Lr=0,Is=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,Ar=0,$r=0,Rr=0,E7=0,Oo=0,fi=0,gl=0,mn=0,pn=0,Vu=0,ul=0,qo=0,Yu=0,cA=0,dl=0,zu=0,Ku=0,Ju=0,gA=0,hl=0,fl=0,uA=0,En=0,Il=0,Wu=0,Ho=0,lr=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,nd=0,sd=0,od=0,ml=0,Fr=0,ad=0,Ad=0,pl=0,$d=0,dA=0,Vo=0,hA=0,ld=0,cd=0,fA=0,El=0,Cl=0,Bl=0,IA=0,yl=0,Yo=0,gd=0,ud=0,Ql=0,dd=0,hd=0,wl=0,fd=0,Id=0,vl=0,kl=0,Sl=0,bl=0,Dl=0,Cn=0,md=0,_l=0,pd=0,xl=0,Ll=0,Ed=0,Cd=0,Bd=0,mA=0,Ml=0,Rl=0,ms=0,Fl=0,pA=0,yd=0,Tl=0,Qd=0,Nl=0,wd=0,vd=0,Gl=0,Ul=0,kd=0,zo=0,Sd=0,EA=0,Pl=0,Ol=0,bd=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,Ko=0,ql=0,Hl=0,Vl=0,Jo=0,Rd=0,Yl=0,Fd=0,zl=0,Td=0,Nd=0,Kl=0,CA=0,Gd=0,Ud=0,Wo=0,Pd=0,Zo=0,Od=0,BA=0,qd=0,Hd=0,Vd=0,Jl=0,Yd=0,zd=0,Kd=0,Jd=0,Wl=0,Zl=0,cr=0,jl=0,jo=0,yA=0,QA=0,Bn=0,Xl=0,yn=0,Wd=0,ec=0,Zd=0,jd=0,Xd=0,eh=0,Xo=0,wA=0,Tr=0,th=0,ih=0,tc=0,vA=0,ic=0,rc=0,rh=0,nc=0,nh=0,kA=0,sh=0,oh=0,Je=0,ah=0,sc=0,Ah=0,$h=0,SA=0,lh=0,bA=0,oc=0,ch=0,gh=0,ac=0,Ac=0,uh=0,DA=0,_A=0,$c=0,lc=0,dh=0,cc=0,xA=0,hh=0,gc=0,fh=0,Ih=0,mh=0,ph=0,uc=0,dc=0,LA=0,ea=0,hc=0,Eh=0,fc=0,Ic=0,Ch=0,Bh=0,yh=0,mc=0,Qh=0,wh=0,vh=0,kh=0,Sh=0,bh=0,pc=0,Dh=0,Ec=0,_h=0,Qn=0,xh=0,Cc=0,Lh=0,ps=0,Bc=0,MA=0,Mh=0,ta=0,RA=0,Rh=0,FA=0,yc=0,Fh=0,Th=0,Nh=0,Gh=0,Uh=0,Qc=0,Ph=0,Oh=0,qh=0,ia=0,Es=0,TA=0,Hh=0,NA=0,Vh=0,Yh=0,zh=0,wc=0,Kh=0,Jh=0,Wh=0,Zh=0,jh=0,ra=0,Xh=0,ef=0,vc=0,tf=0,rf=0,nf=0,sf=0,C7=0,kc=0,B7=0,Sc=0,GA=0,of=0,r7=0,Cs=0,af=0,Af=0,$f=0,lf=0,cf=0,bc=0,gf=0,uf=0,Dc=0,df=0,hf=0,Bs=0,UA=0,ff=0,_c=0,If=0,mf=0,na=0,pf=0,Ef=0,xc=0,Lc=0,Cf=0,Bf=0,wn=0,yf=0,Qf=0,vn=0,wf=0,Mc=0,vf=0,kf=0,ys=0,Rc=0,Sf=0,Fc=0,bf=0,gr=0,PA=0,Df=0,Tc=0,Nc=0,_f=0,xf=0,Gc=0,Lf=0,Mf=0,Rf=0,Uc=0,Ff=0,Qs=0,Tf=0,kn=0,Nf=0,Gf=0,OA=0,Uf=0,qA=0,HA=0,Pf=0,Pc=0,Oc=0,Of=0,qc=0,Hc=0,Vc=0,qf=0,Yc=0,zc=0,Hf=0,Vf=0,Kc=0,Jc=0,Yf=0,Wc=0,Zc=0,zf=0,Kf=0,jc=0,VA=0,Xc=0,eg=0,tg=0,ig=0,Jf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,rg=0,YA=0,rI=0,nI=0,sI=0,ng=0,sg=0,oI=0,og=0,zA=0,sa=0,ag=0,aI=0,AI=0,$I=0,lI=0,Ag=0,oa=0,cI=0,gI=0,uI=0,dI=0,hI=0,fI=0,II=0,mI=0,$g=0,pI=0,EI=0,CI=0,BI=0,aa=0,lg=0,yI=0,QI=0,Sn=0,cg=0,gg=0,KA=0,wI=0,ug=0,vI=0,dg=0,hg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,JA=0,xI=0,LI=0,MI=0,RI=0,fg=0,FI=0,Ig=0,TI=0,NI=0,mg=0,Nr=0,pg=0,Eg=0,GI=0,Cg=0,$a=0,UI=0,PI=0,OI=0,la=0,Bg=0,qI=0,HI=0,yg=0,VI=0,YI=0,WA=0,ca=0,zI=0,KI=0,JI=0,Qg=0,wg=0,vg=0,WI=0,ZI=0,ws=0,jI=0,kg=0,XI=0,ZA=0,Sg=0,em=0,tm=0,im=0,rm=0,bg=0,nm=0,sm=0,Dg=0,ga=0,om=0,am=0,Am=0,vs=0,_g=0,xg=0,$m=0,Lg=0,Mg=0,L7=0,Rg=0,ur=0,lm=0,cm=0,gm=0,um=0,jA=0,ua=0,Fg=0,Tg=0,dm=0,da=0,ks=0,hm=0,ha=0,XA=0,fm=0,e$=0,Im=0,mm=0,Ng=0,fa=0,Gg=0,pm=0,Em=0,Cm=0,Bm=0,Ug=0,ym=0,si=0,_9=0,n7=0,Qm=0,Pg=0,Og=0,t$=0,wm=0,Gr=0,Ss=0,vm=0,km=0,qg=0,i$=0,Sm=0,Hg=0,Vg=0,Yg=0,r$=0,n$=0,zg=0,bs=0,s$=0,Kg=0,bm=0,bn=0,Dm=0,Jg=0,Ia=0,_m=0,Wg=0,M7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,R7=0,Nm=0,Gm=0,Um=0,Zg=0,y7=0,ma=0,o$=0,jg=0,Xg=0,Pm=0,eu=0,tu=0,Om=0,qm=0,iu=0,ru=0,Hm=0,Vm=0,nu=0,Ym=0,Ds=0,pa=0,Ea=0,zm=0,a$=0,Km=0,Jm=0,su=0,_s=0,Wm=0,Zm=0,A$=0,$$=0,Ca=0,l$=0,c$=0,dr=0,Ur=0,Pr=0,g$=0,u$=0,xs=0,hr=0,Dn=0,jm=0,fr=0,_n=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ou=0,au=0,Qa=0,d$=0,Ni=0,wa=0,Or=0,h$=0,ep=0,f$=0,tp=0,I$=0,Au=0,va=0,ip=0,rp=0,ka=0,np=0,Sa=0,xn=0,tt=0,L9=0,$u=0,sp=0,m$=0,lu=0,op=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,cu=0,gp=0,up=0,dp=0,s7=0,Da=0,Ln=0,p$=0,Ls=0,Ms=0,oi=0,Rs=0,gu=0,uu=0,_a=0,Fs=0,Ts=0,Ns=0,hp=0,Gs=0,Ir=0,du=0,qr=0,o7=0,E$=0,C$=0,X7=0,B$=0,y$=0,Q$=0,Hr=0,d6=0,xa=0,Vr=0,hu=0,L4=0,w$=0,kt=0,Us=0,Mn=0,Rn=0,qe=0,Fn=0,Yr=0,X9=0,v$=0,zC=0,fp=0,fE=0,IE=0,KC=0,Ip=0,aQ=0,AQ=0,$Q=0,lQ=0,cQ=0,gQ=0,uQ=0,dQ=0,hQ=0,fQ=0,IQ=0,mQ=0,JC=0,WC=0,pQ=0,EQ=0,CQ=0,fu=0,mE=0,Q7=0,Iu=0,mu=0,pu=0,Eu=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,yp=0,Qp=0,wp=0,vp=0,kp=0,pE=0,La=0,mr=0,k$=0,Cu=0,S$=0,ZC=0,Ma=0,Sp=0,b$=0,EE=0,CE=0,bp=0,BE=0,yE=0,QE=0,wE=0,vE=0,kE=0,SE=0,jC=0,XC=0,eB=0,tB=0,iB=0,Ra=0,Fa=0,Ta=0,Na=0,BQ=0,pr=0,$9=0,UD=0,Ga=0,bE=0;if(UD=C,I0=t+28|0,n0=e[I0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,Is=e[ui>>2]|0,ql=(Is|0)==0,s=ql&1,ps=n0+3496|0,qc=+c1[ps>>3],Qg=qc>-80,Qg?c1[ps>>3]=-80:(qm=qc<-200,qm&&(c1[ps>>3]=-200)),f0=n0+3512|0,j2=+c1[f0>>3],A3=j2>0,A3?c1[f0>>3]=0:(k9=j2<-99999,k9&&(c1[f0>>3]=-99999)),V4=n0+3396|0,T6=e[V4>>2]|0,O9=(T6|0)==0,O9))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+c1[N4>>3],Et=T6+24|0,R8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,$4=~~i8,jt=R8+($4<<2)|0,Y8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ci=e[Xt>>2]|0,e[n0>>2]=Y8,vi=n0+4|0,e[vi>>2]=Ci,K8=(Y8|0)==(Ci|0),ni=T6+144|0,B8=e[ni>>2]|0,lo=(B8|0)>0,lo){for(Io=T6+136|0,Co=T6+140|0,ss=T6+148|0,or=i8,Tr=n0,pE=0;;){if(_o=~~or,hs=e[Io>>2]|0,j7=e[Co>>2]|0,fi=e[ss>>2]|0,Ku=fi+(pE<<2)|0,Zu=e[Ku>>2]|0,Fr=c9(1,1120)|0,El=Zu+(_o<<2)|0,wl=e[El>>2]|0,pd=j7+(wl*1120|0)|0,g9(Fr|0,pd|0,1120)|0,pA=e[Fr>>2]|0,Sd=(pA|0)>0,Sd){for(Hl=Fr+4|0,mE=0,SE=-1;;)if(xA=Hl+(mE<<2)|0,hc=e[xA>>2]|0,kh=(hc|0)>(SE|0),A0=kh?hc:SE,Bc=mE+1|0,IQ=(Bc|0)==(pA|0),IQ){j=A0;break}else mE=Bc,SE=A0;if(Gd=(j|0)<0,!Gd){for(Yd=Fr+256|0,Bn=Tr+24|0,sh=Fr+192|0,ch=Fr+320|0,S$=0,QE=-1;;){if(Nc=Yd+(S$<<2)|0,kn=e[Nc>>2]|0,Hc=(kn|0)>(QE|0),t0=Hc?kn:QE,Zc=e[Bn>>2]|0,Zf=Zc+kn|0,e[Nc>>2]=Zf,ng=sh+(S$<<2)|0,Ag=e[ng>>2]|0,pI=(Ag|0)==31,pI)wE=t0;else for(_e=Ag,BE=0,kE=t0;;)if(KA=(ch+(S$<<5)|0)+(BE<<2)|0,Aa=e[KA>>2]|0,mg=(Aa|0)>(kE|0),Z=mg?Aa:kE,Bg=(Aa|0)>-1,Bg?(wg=e[Bn>>2]|0,tm=wg+Aa|0,e[KA>>2]=tm,o0=e[ng>>2]|0,XA=o0):XA=_e,vs=BE+1|0,gm=1<>2]|0,of=e[ef>>2]|0,Dc=e[Bn>>2]|0,Ef=Dc+1|0,e[Bn>>2]=Ef,vf=(Tr+1824|0)+(Dc<<2)|0,e[vf>>2]=of,uQ=(vE|0)==0,!uQ))for(ZC=0;n$=ZC+1|0,i0=e[El>>2]|0,Wg=hs+(i0<<2)|0,Um=e[Wg>>2]|0,iu=Um+(n$<<2)|0,Km=e[iu>>2]|0,dr=e[Bn>>2]|0,Xm=dr+1|0,e[Bn>>2]=Xm,wa=(Tr+1824|0)+(dr<<2)|0,e[wa>>2]=Km,gQ=(n$|0)==(vE|0),!gQ;)ZC=n$}}if(ka=Tr+16|0,ap=e[ka>>2]|0,Da=(Tr+800|0)+(ap<<2)|0,e[Da>>2]=1,Ts=e[ka>>2]|0,B$=(Tr+1056|0)+(Ts<<2)|0,e[B$>>2]=Fr,p0=e[ka>>2]|0,R0=p0+1|0,e[ka>>2]=R0,W0=pE+1|0,h1=e[ni>>2]|0,p1=(W0|0)<(h1|0),!p1)break;r0=+c1[N4>>3],l0=e[I0>>2]|0,or=r0,Tr=l0,pE=W0}m0=e[I0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,Y1=+c1[R1>>3],$2=T6+124|0,r2=e[$2>>2]|0,K2=T6+128|0,p5=e[K2>>2]|0,N5=~~Y1,x5=+(N5|0),n5=Y1-x5,W5=X5+2868|0,H5=p5+(N5<<3)|0,L3=+c1[H5>>3],x6=~~L3,s6=r2+(x6*492|0)|0,g9(W5|0,s6|0,492)|0,g6=+c1[H5>>3],re=1-n5,O6=g6*re,q6=N5+1|0,J6=p5+(q6<<3)|0,F9=+c1[J6>>3],T9=F9*n5,U9=T9+O6,H9=~~U9,n4=+(H9|0),V9=U9-n4,Ke=V9==0,Y9=(H9|0)>0,jC=Y9&Ke,m=jC?1:V9,h9=jC<<31>>31,T=h9+H9|0,P9=1-m,C9=T+1|0,v4=(r2+(T*492|0)|0)+4|0,Ze=+o[v4>>2],ke=Ze,k4=P9*ke,nt=(r2+(C9*492|0)|0)+4|0,z9=+o[nt>>2],Y4=z9,K9=m*Y4,s4=k4+K9,R4=s4,st=X5+2872|0,o[st>>2]=R4,n9=(r2+(T*492|0)|0)+32|0,u4=+o[n9>>2],B9=u4,J9=P9*B9,Oe=(r2+(C9*492|0)|0)+32|0,f9=+o[Oe>>2],N9=f9,d4=m*N9,s9=J9+d4,h4=s9,f4=X5+2900|0,o[f4>>2]=h4,S9=(r2+(T*492|0)|0)+8|0,o4=+o[S9>>2],I4=o4,Se=P9*I4,I6=(r2+(C9*492|0)|0)+8|0,z4=+o[I6>>2],I9=z4,S4=m*I9,b9=Se+S4,m9=b9,z6=X5+2876|0,o[z6>>2]=m9,F4=(r2+(T*492|0)|0)+36|0,ot=+o[F4>>2],p9=ot,x9=P9*p9,mt=(r2+(C9*492|0)|0)+36|0,j3=+o[mt>>2],xe=j3,be=xe*m,q9=be+x9,a4=q9,h8=X5+2904|0,o[h8>>2]=a4,f8=(r2+(T*492|0)|0)+12|0,x8=+o[f8>>2],e8=x8,I8=e8*P9,m8=(r2+(C9*492|0)|0)+12|0,Ut=+o[m8>>2],Pt=Ut,Ot=Pt*m,qt=Ot+I8,t8=qt,L8=X5+2880|0,o[L8>>2]=t8,Ht=(r2+(T*492|0)|0)+40|0,Vt=+o[Ht>>2],Yt=Vt,_t=Yt*P9,xt=(r2+(C9*492|0)|0)+40|0,pt=+o[xt>>2],zt=pt,Kt=zt*m,r8=Kt+_t,K4=r8,G4=X5+2908|0,o[G4>>2]=K4,at=(r2+(T*492|0)|0)+16|0,Lt=+o[at>>2],Le=Lt,p8=Le*P9,b4=(r2+(C9*492|0)|0)+16|0,E8=+o[b4>>2],M8=E8,s8=M8*m,A4=s8+p8,o8=A4,Jt=X5+2884|0,o[Jt>>2]=o8,Mt=(r2+(T*492|0)|0)+44|0,At=+o[Mt>>2],W9=At,U4=W9*P9,$t=(r2+(C9*492|0)|0)+44|0,Ct=+o[$t>>2],Rt=Ct,o9=Rt*m,lt=o9+U4,Bt=lt,ct=X5+2912|0,o[ct>>2]=Bt,yt=X5+3512|0,p4=+c1[yt>>3],D4=p4,J4=X5+2936|0,o[J4>>2]=D4,W4=T6+132|0,a9=e[W4>>2]|0,E4=n0+3472|0,gt=+c1[E4>>3],_4=gt,D9=~~_4,Qt=+(D9|0),a8=_4-Qt,Z9=a8,C3=e[I0>>2]|0,Z4=(a9|0)==0;e:do if(Z4)wt=C3+4|0,je=e[C3>>2]|0,l4=C3+3240|0,e[l4>>2]=je,Te=e[wt>>2]|0,j4=C3+3300|0,e[j4>>2]=Te,Wt=C3+3244|0,e[Wt>>2]=je,C8=C3+3304|0,e[C8>>2]=Te,A8=C3+3248|0,e[A8>>2]=je,$8=C3+3308|0,e[$8>>2]=Te,Zt=C3+3252|0,e[Zt>>2]=je,l8=C3+3312|0,e[l8>>2]=Te,ut=C3+3256|0,e[ut>>2]=je,dt=C3+3316|0,e[dt>>2]=Te,Ft=C3+3260|0,e[Ft>>2]=je,j9=C3+3320|0,e[j9>>2]=Te,c8=C3+3264|0,e[c8>>2]=je,Tt=C3+3324|0,e[Tt>>2]=Te,X4=C3+3268|0,e[X4>>2]=je,De=C3+3328|0,e[De>>2]=Te,g8=C3+3272|0,e[g8>>2]=je,et=C3+3332|0,e[et>>2]=Te,Z8=C3+3276|0,e[Z8>>2]=je,F8=C3+3336|0,e[F8>>2]=Te,u8=C3+3280|0,e[u8>>2]=je,T8=C3+3340|0,e[T8>>2]=Te,c4=C3+3284|0,e[c4>>2]=je,z8=C3+3344|0,e[z8>>2]=Te,j8=C3+3288|0,e[j8>>2]=je,ht=C3+3348|0,e[ht>>2]=Te,Nt=C3+3292|0,e[Nt>>2]=je,N8=C3+3352|0,e[N8>>2]=Te,O4=C3+3296|0,e[O4>>2]=je,C4=C3+3356|0,e[C4>>2]=Te;else{A9=C3+3120|0,G8=a9+(D9*240|0)|0,pr=A9,Ga=G8,bE=pr+60|0;do e[pr>>2]=e[Ga>>2]|0,pr=pr+4|0,Ga=Ga+4|0;while((pr|0)<(bE|0));$i=C3+3180|0,qi=(a9+(D9*240|0)|0)+60|0,pr=$i,Ga=qi,bE=pr+60|0;do e[pr>>2]=e[Ga>>2]|0,pr=pr+4|0,Ga=Ga+4|0;while((pr|0)<(bE|0));if(Hi=n0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(X8=1-Z9,ei=D9+1|0,Bi=t+8|0,ti=C3+4|0,s0=e[Bi>>2]|0,yi=+(s0|0),mr=0;;){if(li=((a9+(D9*240|0)|0)+120|0)+(mr<<2)|0,g7=+o[li>>2],Yi=g7,Qi=Yi*X8,wi=((a9+(ei*240|0)|0)+120|0)+(mr<<2)|0,u7=+o[wi>>2],ci=u7,d7=ci*Z9,zi=d7+Qi,Ki=zi,Ji=Ki,Wi=Ji*1e3,gi=Wi/yi,ki=e[C3>>2]|0,Zi=+(ki|0),ii=Zi*gi,ri=~~ii,h7=(C3+3e3|0)+(mr<<2)|0,e[h7>>2]=ri,ji=e[ti>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(C3+3060|0)+(mr<<2)|0,e[bi>>2]=Xi,Di=~~Ki,e7=(C3+2940|0)+(mr<<2)|0,e[e7>>2]=Di,_i=((a9+(D9*240|0)|0)+180|0)+(mr<<2)|0,xi=+o[_i>>2],t7=xi,di=t7*X8,J8=((a9+(ei*240|0)|0)+180|0)+(mr<<2)|0,Li=+o[J8>>2],x4=Li,Mi=x4*Z9,U8=Mi+di,hi=U8,le=hi,vt=le*1e3,y8=vt/yi,P8=e[C3>>2]|0,sn=+(P8|0),kr=sn*y8,ao=~~kr,zn=(C3+3240|0)+(mr<<2)|0,e[zn>>2]=ao,Ao=e[ti>>2]|0,Kn=+(Ao|0),$o=Kn*y8,Jn=~~$o,co=(C3+3300|0)+(mr<<2)|0,e[co>>2]=Jn,on=mr+1|0,hQ=(on|0)==15,hQ)break e;mr=on}for(go=(a9+(D9*240|0)|0)+148|0,uo=+o[go>>2],ho=uo,Wn=1-Z9,fo=ho*Wn,Zn=D9+1|0,jn=(a9+(Zn*240|0)|0)+148|0,an=+o[jn>>2],Xn=an,An=Xn*Z9,es=An+fo,ts=es,mo=ts,po=mo*1e3,Eo=t+8|0,$n=C3+4|0,is=~~ts,h0=e[Eo>>2]|0,Sr=+(h0|0),ln=po/Sr,Cu=0;Bo=e[C3>>2]|0,yo=+(Bo|0),cn=yo*ln,I7=~~cn,rs=(C3+3e3|0)+(Cu<<2)|0,e[rs>>2]=I7,Qo=e[$n>>2]|0,wo=+(Qo|0),ns=wo*ln,os=~~ns,vo=(C3+3060|0)+(Cu<<2)|0,e[vo>>2]=os,m7=(C3+2940|0)+(Cu<<2)|0,e[m7>>2]=is,gn=Cu+1|0,mQ=(gn|0)==15,!mQ;)Cu=gn;for(ko=(a9+(D9*240|0)|0)+208|0,as=+o[ko>>2],So=as,bo=So*Wn,Do=(a9+(Zn*240|0)|0)+208|0,As=+o[Do>>2],xo=As,Lo=xo*Z9,Mo=Lo+bo,$s=Mo,Ro=$s,Fo=Ro*1e3,un=Fo/Sr,Sp=0;br=e[C3>>2]|0,dn=+(br|0),To=dn*un,No=~~To,ls=(C3+3240|0)+(Sp<<2)|0,e[ls>>2]=No,hn=e[$n>>2]|0,cs=+(hn|0),fn=cs*un,Go=~~fn,gs=(C3+3300|0)+(Sp<<2)|0,e[gs>>2]=Go,us=Sp+1|0,dQ=(us|0)==15,!dQ;)Sp=us}while(!1);for(Uo=+c1[N4>>3],ds=T6+92|0,Po=e[ds>>2]|0,Dr=T6+100|0,fs=e[Dr>>2]|0,p7=T6+108|0,In=e[p7>>2]|0,_r=e[I0>>2]|0,ar=_r+2852|0,xr=e[ar>>2]|0,Z7=~~Uo,Lr=_r+28|0,D7=e[Lr>>2]|0,_7=(D7|0)>0,_7||(e[Lr>>2]=1),i7=(xr|0)==0,i7?(x7=c9(1,520)|0,e[ar>>2]=x7,Ra=x7):Ra=xr,g9(Ra|0,25784,520)|0,e[Ra>>2]=0,Mr=_r+3460|0,Ar=e[Mr>>2]|0,$r=(Ar|0)==0,$r||(Rr=Ra+500|0,e[Rr>>2]=1,E7=Po+(Z7<<2)|0,Oo=e[E7>>2]|0,gl=Ra+504|0,e[gl>>2]=Oo,mn=fs+(Z7<<2)|0,pn=e[mn>>2]|0,Vu=Ra+508|0,e[Vu>>2]=pn,ul=In+(Z7<<3)|0,qo=+c1[ul>>3],Yu=Ra+512|0,c1[Yu>>3]=qo),cA=+c1[N4>>3],dl=e[ds>>2]|0,zu=e[Dr>>2]|0,Ju=e[p7>>2]|0,gA=e[I0>>2]|0,hl=gA+2856|0,fl=e[hl>>2]|0,uA=~~cA,En=gA+28|0,Il=e[En>>2]|0,Wu=(Il|0)>1,Wu||(e[En>>2]=2),Ho=(fl|0)==0,Ho?(lr=c9(1,520)|0,e[hl>>2]=lr,Fa=lr):Fa=fl,g9(Fa|0,25784,520)|0,e[Fa>>2]=0,ju=gA+3460|0,Xu=e[ju>>2]|0,ed=(Xu|0)==0,ed||(td=Fa+500|0,e[td>>2]=1,id=dl+(uA<<2)|0,rd=e[id>>2]|0,nd=Fa+504|0,e[nd>>2]=rd,sd=zu+(uA<<2)|0,od=e[sd>>2]|0,ml=Fa+508|0,e[ml>>2]=od,ad=Ju+(uA<<3)|0,Ad=+c1[ad>>3],pl=Fa+512|0,c1[pl>>3]=Ad),K8||($d=+c1[N4>>3],dA=T6+96|0,Vo=e[dA>>2]|0,hA=T6+104|0,ld=e[hA>>2]|0,cd=e[p7>>2]|0,fA=e[I0>>2]|0,Cl=fA+2860|0,Bl=e[Cl>>2]|0,IA=~~$d,yl=fA+28|0,Yo=e[yl>>2]|0,gd=(Yo|0)>2,gd||(e[yl>>2]=3),ud=(Bl|0)==0,ud?(Ql=c9(1,520)|0,e[Cl>>2]=Ql,Ta=Ql):Ta=Bl,g9(Ta|0,25784,520)|0,e[Ta>>2]=1,dd=fA+3460|0,hd=e[dd>>2]|0,fd=(hd|0)==0,fd||(Id=Ta+500|0,e[Id>>2]=1,vl=Vo+(IA<<2)|0,kl=e[vl>>2]|0,Sl=Ta+504|0,e[Sl>>2]=kl,bl=ld+(IA<<2)|0,Dl=e[bl>>2]|0,Cn=Ta+508|0,e[Cn>>2]=Dl,md=cd+(IA<<3)|0,_l=+c1[md>>3],xl=Ta+512|0,c1[xl>>3]=_l),Ll=+c1[N4>>3],Ed=e[dA>>2]|0,Cd=e[hA>>2]|0,Bd=e[p7>>2]|0,mA=e[I0>>2]|0,Ml=mA+2864|0,Rl=e[Ml>>2]|0,ms=~~Ll,Fl=mA+28|0,yd=e[Fl>>2]|0,Tl=(yd|0)>3,Tl||(e[Fl>>2]=4),Qd=(Rl|0)==0,Qd?(Nl=c9(1,520)|0,e[Ml>>2]=Nl,Na=Nl):Na=Rl,g9(Na|0,25784,520)|0,e[Na>>2]=1,wd=mA+3460|0,vd=e[wd>>2]|0,Gl=(vd|0)==0,Gl||(Ul=Na+500|0,e[Ul>>2]=1,kd=Ed+(ms<<2)|0,zo=e[kd>>2]|0,EA=Na+504|0,e[EA>>2]=zo,Pl=Cd+(ms<<2)|0,Ol=e[Pl>>2]|0,bd=Na+508|0,e[bd>>2]=Ol,Dd=Bd+(ms<<3)|0,_d=+c1[Dd>>3],xd=Na+512|0,c1[xd>>3]=_d)),Ld=(n0+3528|0)+(s<<5)|0,Md=+c1[Ld>>3],Ko=T6+32|0,Vl=e[Ko>>2]|0,Jo=T6+36|0,Rd=e[Jo>>2]|0,Yl=T6+44|0,Fd=e[Yl>>2]|0,cE(t,Md,0,Vl,Rd,Fd),zl=n0+3560|0,Td=+c1[zl>>3],Nd=e[Ko>>2]|0,Kl=e[Jo>>2]|0,CA=T6+52|0,Ud=e[CA>>2]|0,cE(t,Td,1,Nd,Kl,Ud),K8||(Wo=n0+3592|0,Pd=+c1[Wo>>3],Zo=e[Ko>>2]|0,Od=e[Jo>>2]|0,BA=e[CA>>2]|0,cE(t,Pd,2,Zo,Od,BA),qd=n0+3624|0,Hd=+c1[qd>>3],Vd=e[Ko>>2]|0,Jl=e[Jo>>2]|0,zd=T6+48|0,Kd=e[zd>>2]|0,cE(t,Hd,3,Vd,Jl,Kd)),Jd=((n0+3528|0)+(s<<5)|0)+24|0,Wl=+c1[Jd>>3],Zl=T6+80|0,cr=e[Zl>>2]|0,jl=T6+84|0,jo=e[jl>>2]|0,yA=~~Wl,QA=+(yA|0),Xl=Wl-QA,yn=e[I0>>2]|0,Wd=yn+2852|0,ec=e[Wd>>2]|0,Zd=jo+(yA<<3)|0,jd=+c1[Zd>>3],Xd=1-Xl,eh=jd*Xd,Xo=yA+1|0,wA=jo+(Xo<<3)|0,th=+c1[wA>>3],ih=th*Xl,tc=ih+eh,vA=~~tc,ic=+(vA|0),rc=tc-ic,rh=rc==0,nc=(vA|0)>0,XC=nc&rh,$=XC?1:rc,nh=XC<<31>>31,G=nh+vA|0,kA=1-$,oh=G+1|0,Iu=0;Je=(cr+(G*160|0)|0)+(Iu<<2)|0,ah=e[Je>>2]|0,sc=+(ah|0),Ah=sc*kA,$h=(cr+(oh*160|0)|0)+(Iu<<2)|0,SA=e[$h>>2]|0,lh=+(SA|0),bA=lh*$,oc=bA+Ah,gh=oc,ac=(ec+336|0)+(Iu<<2)|0,o[ac>>2]=gh,Ac=Iu+1|0,AQ=(Ac|0)==40,!AQ;)Iu=Ac;for(uh=n0+3584|0,DA=+c1[uh>>3],_A=~~DA,$c=+(_A|0),lc=DA-$c,dh=yn+2856|0,cc=e[dh>>2]|0,hh=jo+(_A<<3)|0,gc=+c1[hh>>3],fh=1-lc,Ih=gc*fh,mh=_A+1|0,ph=jo+(mh<<3)|0,uc=+c1[ph>>3],dc=uc*lc,LA=dc+Ih,ea=~~LA,Eh=+(ea|0),fc=LA-Eh,Ic=fc==0,Ch=(ea|0)>0,eB=Ch&Ic,g=eB?1:fc,Bh=eB<<31>>31,O=Bh+ea|0,yh=1-g,mc=O+1|0,mu=0;Qh=(cr+(O*160|0)|0)+(mu<<2)|0,wh=e[Qh>>2]|0,vh=+(wh|0),Sh=vh*yh,bh=(cr+(mc*160|0)|0)+(mu<<2)|0,pc=e[bh>>2]|0,Dh=+(pc|0),Ec=Dh*g,_h=Ec+Sh,Qn=_h,xh=(cc+336|0)+(mu<<2)|0,o[xh>>2]=Qn,Cc=mu+1|0,$Q=(Cc|0)==40,!$Q;)mu=Cc;if(!K8){for(Lh=n0+3616|0,MA=+c1[Lh>>3],Mh=T6+88|0,ta=e[Mh>>2]|0,RA=~~MA,Rh=+(RA|0),FA=MA-Rh,yc=yn+2860|0,Fh=e[yc>>2]|0,Th=ta+(RA<<3)|0,Nh=+c1[Th>>3],Uh=1-FA,Qc=Nh*Uh,Ph=RA+1|0,Oh=ta+(Ph<<3)|0,qh=+c1[Oh>>3],ia=qh*FA,Es=ia+Qc,TA=~~Es,Hh=+(TA|0),NA=Es-Hh,Yh=NA==0,zh=(TA|0)>0,tB=zh&Yh,h=tB?1:NA,wc=tB<<31>>31,q=wc+TA|0,Kh=1-h,Jh=q+1|0,pu=0;Wh=(cr+(q*160|0)|0)+(pu<<2)|0,Zh=e[Wh>>2]|0,jh=+(Zh|0),ra=jh*Kh,Xh=(cr+(Jh*160|0)|0)+(pu<<2)|0,vc=e[Xh>>2]|0,tf=+(vc|0),rf=tf*h,nf=rf+ra,sf=nf,C7=(Fh+336|0)+(pu<<2)|0,o[C7>>2]=sf,kc=pu+1|0,lQ=(kc|0)==40,!lQ;)pu=kc;for(B7=n0+3648|0,Sc=+c1[B7>>3],GA=~~Sc,r7=+(GA|0),Cs=Sc-r7,af=yn+2864|0,Af=e[af>>2]|0,$f=ta+(GA<<3)|0,lf=+c1[$f>>3],cf=1-Cs,bc=lf*cf,gf=GA+1|0,uf=ta+(gf<<3)|0,df=+c1[uf>>3],hf=df*Cs,Bs=hf+bc,UA=~~Bs,ff=+(UA|0),_c=Bs-ff,If=_c==0,mf=(UA|0)>0,iB=mf&If,p=iB?1:_c,na=iB<<31>>31,V=na+UA|0,pf=1-p,xc=V+1|0,Eu=0;Lc=(cr+(V*160|0)|0)+(Eu<<2)|0,Cf=e[Lc>>2]|0,Bf=+(Cf|0),wn=Bf*pf,yf=(cr+(xc*160|0)|0)+(Eu<<2)|0,Qf=e[yf>>2]|0,vn=+(Qf|0),wf=vn*p,Mc=wf+wn,kf=Mc,ys=(Af+336|0)+(Eu<<2)|0,o[ys>>2]=kf,Rc=Eu+1|0,cQ=(Rc|0)==40,!cQ;)Eu=Rc}for(Sf=((n0+3528|0)+(s<<5)|0)+8|0,Fc=+c1[Sf>>3],bf=T6+40|0,gr=e[bf>>2]|0,PA=~~Fc,Df=+(PA|0),Tc=Fc-Df,_f=gr+(PA<<2)|0,xf=e[_f>>2]|0,Gc=+(xf|0),Lf=1-Tc,Mf=Gc*Lf,Rf=PA+1|0,Uc=gr+(Rf<<2)|0,Ff=e[Uc>>2]|0,Qs=+(Ff|0),Tf=Qs*Tc,Nf=Tf+Mf,Gf=Nf,OA=ec+32|0,o[OA>>2]=Gf,Uf=n0+3568|0,qA=+c1[Uf>>3],HA=~~qA,Pf=+(HA|0),Pc=qA-Pf,Oc=gr+(HA<<2)|0,Of=e[Oc>>2]|0,Vc=+(Of|0),qf=1-Pc,Yc=Vc*qf,zc=HA+1|0,Hf=gr+(zc<<2)|0,Vf=e[Hf>>2]|0,Kc=+(Vf|0),Jc=Kc*Pc,Yf=Jc+Yc,Wc=Yf,zf=cc+32|0,o[zf>>2]=Wc,K8||(Kf=n0+3600|0,jc=+c1[Kf>>3],VA=~~jc,Xc=+(VA|0),eg=jc-Xc,tg=yn+2860|0,ig=e[tg>>2]|0,Jf=gr+(VA<<2)|0,Wf=e[Jf>>2]|0,jf=+(Wf|0),Xf=1-eg,eI=jf*Xf,tI=VA+1|0,iI=gr+(tI<<2)|0,rg=e[iI>>2]|0,YA=+(rg|0),rI=YA*eg,nI=rI+eI,sI=nI,sg=ig+32|0,o[sg>>2]=sI,oI=n0+3632|0,og=+c1[oI>>3],zA=~~og,sa=+(zA|0),ag=og-sa,aI=yn+2864|0,AI=e[aI>>2]|0,$I=gr+(zA<<2)|0,lI=e[$I>>2]|0,oa=+(lI|0),cI=1-ag,gI=oa*cI,uI=zA+1|0,dI=gr+(uI<<2)|0,hI=e[dI>>2]|0,fI=+(hI|0),II=fI*ag,mI=II+gI,$g=mI,EI=AI+32|0,o[EI>>2]=$g),CI=((n0+3528|0)+(s<<5)|0)+16|0,BI=+c1[CI>>3],aa=T6+76|0,lg=e[aa>>2]|0,yI=T6+60|0,QI=e[yI>>2]|0,Sn=T6+56|0,cg=e[Sn>>2]|0,ql?ug=0:(gg=n0+3408|0,wI=+c1[gg>>3],ug=wI),gE(t,BI,0,lg,QI,cg,ug),vI=n0+3576|0,dg=+c1[vI>>3],hg=e[aa>>2]|0,kI=T6+64|0,SI=e[kI>>2]|0,bI=e[Sn>>2]|0,gE(t,dg,1,hg,SI,bI,0),K8?(ws=e[I0>>2]|0,jI=ws+2852|0,kg=e[jI>>2]|0,XI=ws+3496|0,ZA=+c1[XI>>3],Sg=ZA,em=kg+4|0,o[em>>2]=Sg,im=ws+3504|0,rm=+c1[im>>3],bg=rm,nm=kg+8|0,o[nm>>2]=bg,sm=ws+2856|0,Dg=e[sm>>2]|0,ga=Dg+4|0,o[ga>>2]=Sg,om=Dg+8|0,o[om>>2]=bg,ur=ws):(DI=n0+3608|0,_I=+c1[DI>>3],JA=e[aa>>2]|0,xI=T6+68|0,LI=e[xI>>2]|0,MI=e[Sn>>2]|0,gE(t,_I,2,JA,LI,MI,0),RI=n0+3640|0,fg=+c1[RI>>3],FI=e[aa>>2]|0,Ig=T6+72|0,TI=e[Ig>>2]|0,NI=e[Sn>>2]|0,gE(t,fg,3,FI,TI,NI,0),Nr=e[I0>>2]|0,pg=Nr+2852|0,Eg=e[pg>>2]|0,GI=Nr+3496|0,Cg=+c1[GI>>3],$a=Cg,UI=Eg+4|0,o[UI>>2]=$a,PI=Nr+3504|0,OI=+c1[PI>>3],la=OI,qI=Eg+8|0,o[qI>>2]=la,HI=Nr+2856|0,yg=e[HI>>2]|0,VI=yg+4|0,o[VI>>2]=$a,YI=yg+8|0,o[YI>>2]=la,WA=Nr+2860|0,ca=e[WA>>2]|0,zI=ca+4|0,o[zI>>2]=$a,KI=ca+8|0,o[KI>>2]=la,JI=Nr+2864|0,vg=e[JI>>2]|0,WI=vg+4|0,o[WI>>2]=$a,ZI=vg+8|0,o[ZI>>2]=la,ur=Nr),am=+c1[N4>>3],Am=T6+152|0,_g=e[Am>>2]|0,xg=~~am,$m=_g+(xg<<3)|0,Lg=e[$m>>2]|0,Mg=(_g+(xg<<3)|0)+4|0,L7=e[Mg>>2]|0,Rg=e[ur>>2]|0,lm=ur+4|0,cm=e[lm>>2]|0,um=(Rg|0)==(cm|0),A=um?1:2,jA=ur+8|0,ua=ur+12|0,Fg=t+8|0,Tg=t+4|0,Q7=0;;){if(dm=c9(1,3208)|0,da=(ur+544|0)+(Q7<<2)|0,e[da>>2]=dm,ks=c9(1,16)|0,hm=(ur+32|0)+(Q7<<2)|0,e[hm>>2]=ks,ha=26304+(Q7<<4)|0,e[ks>>2]=e[ha>>2]|0,e[ks+4>>2]=e[ha+4>>2]|0,e[ks+8>>2]=e[ha+8>>2]|0,e[ks+12>>2]=e[ha+12>>2]|0,fm=e[jA>>2]|0,e$=(Q7|0)<(fm|0),e$||(Im=Q7+1|0,e[jA>>2]=Im),mm=(ur+288|0)+(Q7<<2)|0,e[mm>>2]=0,Ng=e[da>>2]|0,fa=Lg+(Q7*3208|0)|0,g9(Ng|0,fa|0,3208)|0,Gg=e[ua>>2]|0,pm=(Q7|0)<(Gg|0),pm||(Em=Q7+1|0,e[ua>>2]=Em),Cm=e[fa>>2]|0,Ug=(Cm|0)>0,Ug)for(CE=0;;){ym=((Lg+(Q7*3208|0)|0)+1092|0)+(CE<<2)|0,si=e[ym>>2]|0,_9=e[I0>>2]|0,n7=Re(2840)|0,Qm=(_9+1568|0)+(si<<2)|0,e[Qm>>2]=n7,Pg=(L7+(si<<5)|0)+12|0,Og=e[Pg>>2]|0,g9(n7|0,Og|0,2840)|0,t$=_9+20|0,wm=e[t$>>2]|0,Ss=(wm|0)>(si|0),Ss||(vm=si+1|0,e[t$>>2]=vm),km=(L7+(si<<5)|0)+8|0,qg=e[km>>2]|0,i$=n7+8|0,e[i$>>2]=qg,Sm=L7+(si<<5)|0,Hg=e[Sm>>2]|0,Vg=(_9+1312|0)+(si<<2)|0,e[Vg>>2]=Hg,Yg=_9+3420|0,r$=e[Yg>>2]|0,zg=(r$|0)==0,bs=n7+12|0,s$=e[bs>>2]|0,Kg=(s$|0)>0;do if(zg){if(Kg)for(Jg=(L7+(si<<5)|0)+24|0,Ia=e[Jg>>2]|0,_m=n7+24|0,Ma=0;;)if(fr=_m+(Ma<<2)|0,_n=Ia+(Ma<<4)|0,Ri=e[_n>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[fr>>2]|0,Ba=Ti|1,e[fr>>2]=Ba),ya=(Ia+(Ma<<4)|0)+4|0,ou=e[ya>>2]|0,au=(ou|0)==0,au||(b2=e[fr>>2]|0,y5=b2|2,e[fr>>2]=y5),o5=(Ia+(Ma<<4)|0)+8|0,F2=e[o5>>2]|0,R2=(F2|0)==0,R2||(Q2=e[fr>>2]|0,Q5=Q2|4,e[fr>>2]=Q5),E5=(Ia+(Ma<<4)|0)+12|0,M5=e[E5>>2]|0,q5=(M5|0)==0,q5||(R5=e[fr>>2]|0,z2=R5|8,e[fr>>2]=z2),C5=Ma+1|0,$5=e[bs>>2]|0,d5=(C5|0)<($5|0),d5)Ma=C5;else{Sa=$5;break}else Sa=s$;Qa=(L7+(si<<5)|0)+16|0,d$=e[Qa>>2]|0,Ni=_9+24|0,Or=e[Ni>>2]|0,h$=(Or|0)>0,ep=d$;e:do if(h$)for(kp=0;;){if(f$=(_9+1824|0)+(kp<<2)|0,tp=e[f$>>2]|0,I$=(tp|0)==(d$|0),I$){M=kp;break e}if(Au=kp+1|0,va=(Au|0)<(Or|0),va)kp=Au;else{$9=116;break}}else $9=116;while(!1);if(($9|0)==116&&($9=0,ip=Or+1|0,e[Ni>>2]=ip,M=Or),rp=n7+20|0,e[rp>>2]=M,np=(_9+1824|0)+(M<<2)|0,e[np>>2]=ep,xn=(Sa|0)>0,!xn)break;for(tt=(L7+(si<<5)|0)+24|0,L9=n7+280|0,Yr=0,b$=0;;){if($u=e[tt>>2]|0,sp=$u+(b$<<4)|0,m$=e[sp>>2]|0,lu=(m$|0)==0,op=m$,lu)Ls=$u,fp=Yr;else{ba=e[Ni>>2]|0,Ap=(ba|0)>0;e:do if(Ap)for(Bp=0;;){if($p=(_9+1824|0)+(Bp<<2)|0,lp=e[$p>>2]|0,cp=(lp|0)==(m$|0),cp){R=Bp;break e}if(cu=Bp+1|0,gp=(cu|0)<(ba|0),gp)Bp=cu;else{$9=123;break}}else $9=123;while(!1);($9|0)==123&&($9=0,up=ba+1|0,e[Ni>>2]=up,R=ba),dp=Yr+1|0,s7=L9+(Yr<<2)|0,e[s7>>2]=R,Ln=(_9+1824|0)+(R<<2)|0,e[Ln>>2]=op,c0=e[tt>>2]|0,Ls=c0,fp=dp}if(p$=(Ls+(b$<<4)|0)+4|0,Ms=e[p$>>2]|0,oi=(Ms|0)==0,Rs=Ms,oi)C2=Ls,X9=fp;else{J1=e[Ni>>2]|0,H1=(J1|0)>0;e:do if(H1)for(pp=0;;){if(V1=(_9+1824|0)+(pp<<2)|0,z1=e[V1>>2]|0,t2=(z1|0)==(Ms|0),t2){_=pp;break e}if(o2=pp+1|0,e2=(o2|0)<(J1|0),e2)pp=o2;else{$9=147;break}}else $9=147;while(!1);($9|0)==147&&($9=0,q1=J1+1|0,e[Ni>>2]=q1,_=J1),d2=fp+1|0,Z1=L9+(fp<<2)|0,e[Z1>>2]=_,I2=(_9+1824|0)+(_<<2)|0,e[I2>>2]=Rs,$0=e[tt>>2]|0,C2=$0,X9=d2}if(A2=(C2+(b$<<4)|0)+8|0,W1=e[A2>>2]|0,f2=(W1|0)==0,g2=W1,f2)M2=C2,v$=X9;else{n2=e[Ni>>2]|0,u2=(n2|0)>0;e:do if(u2)for(Ep=0;;){if(s2=(_9+1824|0)+(Ep<<2)|0,l2=e[s2>>2]|0,i2=(l2|0)==(W1|0),i2){Q=Ep;break e}if(a2=Ep+1|0,m2=(a2|0)<(n2|0),m2)Ep=a2;else{$9=153;break}}else $9=153;while(!1);($9|0)==153&&($9=0,k2=n2+1|0,e[Ni>>2]=k2,Q=n2),D2=X9+1|0,S2=L9+(X9<<2)|0,e[S2>>2]=Q,y2=(_9+1824|0)+(Q<<2)|0,e[y2>>2]=g2,X=e[tt>>2]|0,M2=X,v$=D2}if(G2=(M2+(b$<<4)|0)+12|0,O2=e[G2>>2]|0,p2=(O2|0)==0,W2=O2,p2)zC=v$;else{q2=e[Ni>>2]|0,U2=(q2|0)>0;e:do if(U2)for(Cp=0;;){if(V2=(_9+1824|0)+(Cp<<2)|0,Z2=e[V2>>2]|0,A5=(Z2|0)==(O2|0),A5){L=Cp;break e}if(Y2=Cp+1|0,N1=(Y2|0)<(q2|0),N1)Cp=Y2;else{$9=159;break}}else $9=159;while(!1);($9|0)==159&&($9=0,t5=q2+1|0,e[Ni>>2]=t5,L=q2),T5=v$+1|0,i5=L9+(v$<<2)|0,e[i5>>2]=L,L5=(_9+1824|0)+(L<<2)|0,e[L5>>2]=W2,zC=T5}if(_5=b$+1|0,V5=e[bs>>2]|0,u5=(_5|0)<(V5|0),u5)Yr=zC,b$=_5;else break}}else{if(Kg)for(bm=(L7+(si<<5)|0)+28|0,bn=e[bm>>2]|0,Dm=n7+24|0,La=0;;)if(M7=Dm+(La<<2)|0,xm=bn+(La<<4)|0,Lm=e[xm>>2]|0,Mm=(Lm|0)==0,Mm||(Rm=e[M7>>2]|0,Fm=Rm|1,e[M7>>2]=Fm),Tm=(bn+(La<<4)|0)+4|0,R7=e[Tm>>2]|0,Nm=(R7|0)==0,Nm||(l6=e[M7>>2]|0,n3=l6|2,e[M7>>2]=n3),l3=(bn+(La<<4)|0)+8|0,U3=e[l3>>2]|0,C6=(U3|0)==0,C6||(b3=e[M7>>2]|0,D3=b3|4,e[M7>>2]=D3),A6=(bn+(La<<4)|0)+12|0,r6=e[A6>>2]|0,K3=(r6|0)==0,K3||(j5=e[M7>>2]|0,M3=j5|8,e[M7>>2]=M3),d3=La+1|0,J3=e[bs>>2]|0,h6=(d3|0)<(J3|0),h6)La=d3;else{nu=J3;break}else nu=s$;Gm=(L7+(si<<5)|0)+20|0,Zg=e[Gm>>2]|0,y7=_9+24|0,ma=e[y7>>2]|0,o$=(ma|0)>0,jg=Zg;e:do if(o$)for(mp=0;;){if(Xg=(_9+1824|0)+(mp<<2)|0,Pm=e[Xg>>2]|0,eu=(Pm|0)==(Zg|0),eu){B=mp;break e}if(tu=mp+1|0,Om=(tu|0)<(ma|0),Om)mp=tu;else{$9=100;break}}else $9=100;while(!1);if(($9|0)==100&&($9=0,ru=ma+1|0,e[y7>>2]=ru,B=ma),Hm=n7+20|0,e[Hm>>2]=B,Vm=(_9+1824|0)+(B<<2)|0,e[Vm>>2]=jg,Ym=(nu|0)>0,!Ym)break;for(Ds=(L7+(si<<5)|0)+28|0,pa=n7+280|0,Us=0,k$=0;;){if(Ea=e[Ds>>2]|0,zm=Ea+(k$<<4)|0,a$=e[zm>>2]|0,Jm=(a$|0)==0,su=a$,Jm)xs=Ea,Fn=Us;else{_s=e[y7>>2]|0,Wm=(_s|0)>0;e:do if(Wm)for(vp=0;;){if(Zm=(_9+1824|0)+(vp<<2)|0,A$=e[Zm>>2]|0,$$=(A$|0)==(a$|0),$$){v=vp;break e}if(Ca=vp+1|0,l$=(Ca|0)<(_s|0),l$)vp=Ca;else{$9=107;break}}else $9=107;while(!1);($9|0)==107&&($9=0,c$=_s+1|0,e[y7>>2]=c$,v=_s),Ur=Us+1|0,Pr=pa+(Us<<2)|0,e[Pr>>2]=v,g$=(_9+1824|0)+(v<<2)|0,e[g$>>2]=su,J=e[Ds>>2]|0,xs=J,Fn=Ur}if(u$=(xs+(k$<<4)|0)+4|0,hr=e[u$>>2]|0,Dn=(hr|0)==0,jm=hr,Dn)F5=xs,Mn=Fn;else{w5=e[y7>>2]|0,T1=(w5|0)>0;e:do if(T1)for(yp=0;;){if(h5=(_9+1824|0)+(yp<<2)|0,l5=e[h5>>2]|0,X2=(l5|0)==(hr|0),X2){b=yp;break e}if(h2=yp+1|0,v5=(h2|0)<(w5|0),v5)yp=h2;else{$9=171;break}}else $9=171;while(!1);($9|0)==171&&($9=0,r5=w5+1|0,e[y7>>2]=r5,b=w5),a5=Fn+1|0,f5=pa+(Fn<<2)|0,e[f5>>2]=b,J2=(_9+1824|0)+(b<<2)|0,e[J2>>2]=jm,e0=e[Ds>>2]|0,F5=e0,Mn=a5}if(I5=(F5+(k$<<4)|0)+8|0,e5=e[I5>>2]|0,c5=(e5|0)==0,T2=e5,c5)f3=F5,Rn=Mn;else{k5=e[y7>>2]|0,z5=(k5|0)>0;e:do if(z5)for(Qp=0;;){if(i3=(_9+1824|0)+(Qp<<2)|0,B5=e[i3>>2]|0,I3=(B5|0)==(e5|0),I3){D=Qp;break e}if(h3=Qp+1|0,r3=(h3|0)<(k5|0),r3)Qp=h3;else{$9=177;break}}else $9=177;while(!1);($9|0)==177&&($9=0,a3=k5+1|0,e[y7>>2]=a3,D=k5),y3=Mn+1|0,G5=pa+(Mn<<2)|0,e[G5>>2]=D,Z5=(_9+1824|0)+(D<<2)|0,e[Z5>>2]=T2,d0=e[Ds>>2]|0,f3=d0,Rn=y3}if(x3=(f3+(k$<<4)|0)+12|0,w3=e[x3>>2]|0,e6=(w3|0)==0,V3=w3,e6)qe=Rn;else{_3=e[y7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(wp=0;;){if(a6=(_9+1824|0)+(wp<<2)|0,G3=e[a6>>2]|0,Y3=(G3|0)==(w3|0),Y3){k=wp;break e}if(c3=wp+1|0,g3=(c3|0)<(_3|0),g3)wp=c3;else{$9=183;break}}else $9=183;while(!1);($9|0)==183&&($9=0,u3=_3+1|0,e[y7>>2]=u3,k=_3),Q3=Rn+1|0,K5=pa+(Rn<<2)|0,e[K5>>2]=k,Y5=(_9+1824|0)+(k<<2)|0,e[Y5>>2]=V3,qe=Q3}if(D5=k$+1|0,z3=e[bs>>2]|0,U5=(D5|0)<(z3|0),U5)Us=qe,k$=D5;else break}}while(!1);gu=_9+3480|0,uu=+c1[gu>>3],_a=uu*1e3,Fs=(_9+1056|0)+(Q7<<2)|0,Ns=e[Fs>>2]|0,hp=e[Fg>>2]|0,Gs=+(hp|0),Ir=Gs*.5,du=_9+(Q7<<2)|0,qr=e[du>>2]|0,o7=qr>>1,E$=_a>Ir,JC=E$?Ir:_a,C$=JC/Ir,X7=+(o7|0),y$=X7*C$,Q$=~~y$,Hr=Ns+1116|0,e[Hr>>2]=Q$,d6=(L7+(si<<5)|0)+4|0,xa=e[d6>>2]|0;do if((xa|0)==2)fu=250;else if((xa|0)==1){if(Vr=e[Yg>>2]|0,hu=(Vr|0)==0,L4=_9+2996|0,w$=_9+2968|0,CQ=hu?w$:L4,EQ=e[CQ>>2]|0,pQ=+(EQ|0),WC=pQ*1e3,kt=WC>Ir,!kt){fu=WC;break}fu=Ir}else fu=JC;while(!1);C0=e[Vg>>2]|0,b0=(C0|0)==2;do if(b0){if(y0=_9+12|0,D0=e[y0>>2]|0,E0=(D0|0)>0,E0)for(EE=0;;){if(Q0=(_9+544|0)+(EE<<2)|0,w0=e[Q0>>2]|0,B0=e[w0>>2]|0,x0=(B0|0)>0,x0)for(bp=0;;){Z0=(w0+1092|0)+(bp<<2)|0,v0=e[Z0>>2]|0,G0=(v0|0)==(si|0);do if(G0){if(U0=e[Tg>>2]|0,O0=(U0|0)>0,O0)KC=0,yE=0;else{Ip=0;break}for(;;)if(H0=(w0+4|0)+(yE<<2)|0,k0=e[H0>>2]|0,K0=(k0|0)==(bp|0),N0=K0&1,K=N0+KC|0,M0=yE+1|0,aQ=(M0|0)==(U0|0),aQ){Ip=K;break}else KC=K,yE=M0}else Ip=0;while(!1);if(P0=bp+1|0,J0=(P0|0)<(B0|0),V0=(Ip|0)==0,j0=J0&V0,j0)bp=P0;else{IE=Ip;break}}else IE=0;if(q0=EE+1|0,Y0=(q0|0)<(D0|0),o1=(IE|0)==0,z0=Y0&o1,z0)EE=q0;else{fE=IE;break}}else fE=0;if(r1=fu/Ir,L0=+(fE|0),s1=L0*X7,u1=s1*r1,E1=e[i$>>2]|0,f1=+(E1|0),d1=u1/f1,A1=d1+.9,g1=~~A1,a1=s5(g1,E1)|0,$1=n7+4|0,e[$1>>2]=a1,X0=s5(fE,o7)|0,B1=(a1|0)>(X0|0),!B1){Y=$1,X1=a1,x1=E1;break}Q1=(X0|0)%(E1|0)&-1,C1=X0-Q1|0,e[$1>>2]=C1,Y=$1,X1=C1,x1=E1}else{if(y1=fu/Ir,v1=y1*X7,k1=e[i$>>2]|0,S1=+(k1|0),L1=v1/S1,M1=L1+.9,b1=~~M1,_1=s5(b1,k1)|0,F1=n7+4|0,e[F1>>2]=_1,P1=(_1|0)>(o7|0),!P1){Y=F1,X1=_1,x1=k1;break}D1=(o7|0)%(k1|0)&-1,O1=o7-D1|0,e[F1>>2]=O1,Y=F1,X1=O1,x1=k1}while(!1);if(G1=(X1|0)==0,G1&&(e[Y>>2]=x1),m3=CE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)CE=m3;else break}if(S6=Q7+1|0,n6=(S6|0)<(A|0),n6)Q7=S6;else break}return f6=n0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(k6=e[I0>>2]|0,R3=k6+3396|0,o6=e[R3>>2]|0,B6=k6+3400|0,W3=+c1[B6>>3],F3=~~W3,Z3=+(F3|0),t6=W3-Z3,R6=o6+4|0,c6=e[R6>>2]|0,s3=(c6|0)==0,s3?y=-1:(K6=e[Tg>>2]|0,y6=c6+(F3<<3)|0,T3=+c1[y6>>3],H6=1-t6,$6=T3*H6,D6=F3+1|0,G6=c6+(D6<<3)|0,ee=+c1[G6>>3],Q6=ee*t6,X6=Q6+$6,P3=+(K6|0),V6=X6*P3,BQ=~~V6,y=BQ),oe=t+16|0,e[oe>>2]=y),ue=n0+3424|0,U6=e[ue>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=n0+3440|0,te=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=te,P6=(b6|0)==0,P6?g0=0:(O3=n0+3444|0,ae=e[O3>>2]|0,he=+(ae|0),ne=+(b6|0),Be=he/ne,ye=~~Be,g0=ye),Qe=t+24|0,e[Qe>>2]=g0,fe=n0+3420|0,Ie=e[fe>>2]|0,Ve=(Ie|0)==0,Ve?(E=0,E|0):(w6=e[f6>>2]|0,Ae=n0+3360|0,e[Ae>>2]=w6,Ye=e[ue>>2]|0,we=n0+3364|0,e[we>>2]=Ye,w9=e[F6>>2]|0,u9=n0+3368|0,e[u9>>2]=w9,E9=n0+3444|0,ze=e[E9>>2]|0,r9=n0+3372|0,e[r9>>2]=ze,Fe=n0+3448|0,ve=+c1[Fe>>3],$e=n0+3376|0,c1[$e>>3]=ve,v9=n0+3432|0,R9=+c1[v9>>3],d9=n0+3384|0,c1[d9>>3]=R9,E=0,E|0)}function gD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=+$;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0;if(K=C,m=(A|0)<1,m)h=-131;else if(E=t+28|0,Q=e[E>>2]|0,L=$,R=L+1e-7,M=R,T=!(M>=1),p=T?M:.9998999834060669,G=Q+3416|0,o[G>>2]=p,O=p,q=Q+3400|0,y=uD(s,A,O,0,q)|0,B=Q+3396|0,e[B>>2]=y,b=(y|0)==0,b)h=-130;else return dD(t,s,A),D=Q+3420|0,e[D>>2]=0,k=Q+3464|0,e[k>>2]=1,v=cD(t)|0,_=(v|0)==0,_?(g=0,g|0):(TC(t),g=v,g|0);return TC(t),g=h,g|0}function cE(t,s,A,$,g,h){t=t|0,s=+s,A=A|0,$=$|0,g=g|0,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;for(v1=C,p=~~s,m=+(p|0),R=s-m,j=t+28|0,$0=e[j>>2]|0,y0=($0+2852|0)+(A<<2)|0,U0=e[y0>>2]|0,j0=$+(p*20|0)|0,f1=e[j0>>2]|0,p1=+(f1|0),E=1-R,y=p1*E,B=p+1|0,b=$+(B*20|0)|0,D=e[b>>2]|0,k=+(D|0),v=k*R,_=v+y,Q=_,L=U0+12|0,o[L>>2]=Q,M=($+(p*20|0)|0)+4|0,T=e[M>>2]|0,G=+(T|0),O=G*E,q=($+(B*20|0)|0)+4|0,V=e[q>>2]|0,K=+(V|0),t0=K*R,Z=t0+O,A0=Z,r0=U0+16|0,o[r0>>2]=A0,o0=($+(p*20|0)|0)+8|0,J=e[o0>>2]|0,s0=+(J|0),Y=s0*E,h0=($+(B*20|0)|0)+8|0,i0=e[h0>>2]|0,e0=+(i0|0),d0=e0*R,c0=d0+Y,l0=c0,X=U0+20|0,o[X>>2]=l0,m0=($+(p*20|0)|0)+12|0,g0=+o[m0>>2],I0=g0,n0=I0*E,f0=($+(B*20|0)|0)+12|0,p0=+o[f0>>2],C0=p0,b0=C0*R,D0=b0+n0,E0=D0,Q0=U0+24|0,o[Q0>>2]=E0,w0=($+(p*20|0)|0)+16|0,B0=+o[w0>>2],x0=B0,Z0=x0*E,R0=($+(B*20|0)|0)+16|0,v0=+o[R0>>2],G0=v0,O0=G0*R,H0=O0+Z0,k0=H0,K0=U0+28|0,o[K0>>2]=k0,N0=g+(p<<2)|0,M0=e[N0>>2]|0,P0=+(M0|0),W0=P0*E,J0=g+(B<<2)|0,V0=e[J0>>2]|0,q0=+(V0|0),Y0=q0*R,o1=Y0+W0,z0=o1,r1=U0+496|0,o[r1>>2]=z0,C1=0;L0=(h+(p*68|0)|0)+(C1<<2)|0,s1=e[L0>>2]|0,h1=+(s1|0),u1=h1*E,E1=(h+(B*68|0)|0)+(C1<<2)|0,d1=e[E1>>2]|0,A1=+(d1|0),g1=A1*R,a1=g1+u1,$1=a1,X0=(U0+36|0)+(C1<<2)|0,o[X0>>2]=$1,B1=C1+1|0,Q1=(B1|0)==17,!Q1;)C1=B1}function gE(t,s,A,$,g,h,p){t=t|0,s=+s,A=A|0,$=$|0,g=g|0,h=h|0,p=+p;var m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;for(S2=C,k=~~s,v=+(k|0),h0=s-v,n0=t+28|0,x0=e[n0>>2]|0,M0=(x0+2852|0)+(A<<2)|0,L0=e[M0>>2]|0,X0=$+(k<<2)|0,b1=e[X0>>2]|0,H1=+(b1|0),_=1-h0,t0=H1*_,Z=k+1|0,A0=$+(Z<<2)|0,j=e[A0>>2]|0,r0=+(j|0),o0=r0*h0,J=o0+t0,s0=J,Y=L0+108|0,o[Y>>2]=s0,i0=h+(A*12|0)|0,e0=e[i0>>2]|0,d0=L0+120|0,e[d0>>2]=e0,c0=(h+(A*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=L0+124|0,e[l0>>2]=$0,X=(h+(A*12|0)|0)+8|0,m0=e[X>>2]|0,g0=L0+128|0,e[g0>>2]=m0,n2=0;;)if(I0=(g+(k*204|0)|0)+(n2<<2)|0,f0=e[I0>>2]|0,p0=+(f0|0),C0=p0*_,b0=(g+(Z*204|0)|0)+(n2<<2)|0,y0=e[b0>>2]|0,D0=+(y0|0),E0=D0*h0,Q0=E0+C0,w0=Q0,B0=(L0+132|0)+(n2<<2)|0,o[B0>>2]=w0,Z0=n2+1|0,W1=(Z0|0)==17,W1){u2=0;break}else n2=Z0;for(;;)if(M1=((g+(k*204|0)|0)+68|0)+(u2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*_,P1=((g+(Z*204|0)|0)+68|0)+(u2<<2)|0,D1=e[P1>>2]|0,O1=+(D1|0),X1=O1*h0,G1=X1+F1,x1=G1,J1=(L0+200|0)+(u2<<2)|0,o[J1>>2]=x1,V1=u2+1|0,f2=(V1|0)==17,f2){s2=0;break}else u2=V1;for(;Y1=((g+(k*204|0)|0)+136|0)+(s2<<2)|0,z1=e[Y1>>2]|0,t2=+(z1|0),o2=t2*_,e2=((g+(Z*204|0)|0)+136|0)+(s2<<2)|0,q1=e[e2>>2]|0,d2=+(q1|0),Z1=d2*h0,I2=Z1+o2,Q=I2,L=(L0+268|0)+(s2<<2)|0,o[L>>2]=Q,R=s2+1|0,g2=(R|0)==17,!g2;)s2=R;for(M=L0+132|0,T=+o[M>>2],k0=T+6,G=L0+132|0,O=T,q=O+p,V=q,K=V>2]=k2,R0=1;m=(L0+132|0)+(R0<<2)|0,B=+o[m>>2],v0=(L0+132|0)+(R0<<2)|0,G0=B,U0=G0+p,O0=U0,H0=O0>2]=l2,K0=R0+1|0,A2=(K0|0)==17,!A2;)R0=K0;for(N0=L0+200|0,P0=+o[N0>>2],W0=P0+6,J0=L0+200|0,V0=P0,j0=V0+p,q0=j0,Y0=q0>2]=a2,o1=1;E=(L0+200|0)+(o1<<2)|0,b=+o[E>>2],z0=(L0+200|0)+(o1<<2)|0,r1=b,s1=r1+p,h1=s1,u1=h1>2]=i2,E1=o1+1|0,C2=(E1|0)==17,!C2;)o1=E1;for(f1=L0+268|0,d1=+o[f1>>2],A1=d1+6,g1=L0+268|0,a1=d1,$1=a1+p,B1=$1,p1=B1>2]=r2,Q1=1;y=(L0+268|0)+(Q1<<2)|0,D=+o[y>>2],C1=(L0+268|0)+(Q1<<2)|0,y1=D,v1=y1+p,k1=v1,S1=k1>2]=m2,L1=Q1+1|0,$2=(L1|0)==17,!$2;)Q1=L1}function uD(t,s,A,$,g){t=t|0,s=s|0,A=+A,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;S1=C,k=($|0)==0;e:do if(k){for(J=26336,X0=0;;){if(o0=e[J>>2]|0,s0=o0+12|0,Y=e[s0>>2]|0,h0=(Y|0)==-1,e0=(Y|0)==(t|0),C1=h0|e0,C1&&(d0=o0+16|0,c0=e[d0>>2]|0,$0=(c0|0)>(s|0),!$0&&(l0=o0+20|0,X=e[l0>>2]|0,m0=(X|0)<(s|0),!m0&&(g0=e[o0>>2]|0,I0=o0+8|0,n0=e[I0>>2]|0,p0=+c1[n0>>3],C0=p0>A,!C0&&(D0=n0+(g0<<3)|0,E0=+c1[D0>>3],Q0=E0>2]|0,Z0=i0+12|0,P0=e[Z0>>2]|0,s1=(P0|0)==-1,A1=(P0|0)==(t|0),y1=s1|A1,y1&&(g1=i0+16|0,_=e[g1>>2]|0,Q=(_|0)>(s|0),!Q&&(L=i0+20|0,R=e[L>>2]|0,M=(R|0)<(s|0),!M&&(T=e[i0>>2]|0,G=i0+4|0,O=e[G>>2]|0,q=+c1[O>>3],V=K>3],A0=K>Z,!A0))))){p=K,m=T,E=f0,y=O,d1=q;break e}if($1=B1+1|0,j=26336+($1<<2)|0,r0=($1|0)==17,r0){h=0;break}else f0=j,B1=$1}return h|0}while(!1);w0=(m|0)>0;e:do if(w0)for(x0=d1,Q1=0;;){if(B0=!(p>=x0),D=Q1+1|0,!B0&&(R0=y+(D<<3)|0,v0=+c1[R0>>3],G0=p>3],x0=b,Q1=D}else p1=0;while(!1);return O0=(p1|0)==(m|0),O0?(H0=+(m|0),k0=H0+-.001,v1=k0):(K0=y+(p1<<3)|0,N0=+c1[K0>>3],M0=N0,W0=p1+1|0,J0=y+(W0<<3)|0,V0=+c1[J0>>3],j0=V0,q0=M0,Y0=p-q0,o1=j0-M0,z0=o1,r1=Y0/z0,L0=r1,h1=+(p1|0),u1=L0+h1,E1=u1,v1=E1),c1[g>>3]=v1,f1=e[E>>2]|0,h=f1,h|0}function dD(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0;L0=C,m=t+28|0,E=e[m>>2]|0,M=E+3396|0,r0=e[M>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=s,D0=t+8|0,e[D0>>2]=A,O0=E+3456|0,e[O0>>2]=1,q0=E+3460|0,e[q0>>2]=1,o1=E+3400|0,z0=+c1[o1>>3],y=~~z0,B=+(y|0),b=z0-B,D=E+3472|0,c1[D>>3]=z0,k=E+3488|0,v=e[k>>2]|0,_=(v|0)==0,_?(Q=r0+120|0,L=e[Q>>2]|0,R=L+(y<<3)|0,T=+c1[R>>3],G=1-b,O=T*G,q=y+1|0,V=L+(q<<3)|0,K=+c1[V>>3],t0=K*b,Z=t0+O,A0=E+3480|0,c1[A0>>3]=Z,g=q,h=G):($=1-b,p=y+1|0,g=p,h=$),j=r0+112|0,o0=e[j>>2]|0,J=o0+(y<<2)|0,s0=e[J>>2]|0,Y=+(s0|0),h0=Y*h,i0=o0+(g<<2)|0,e0=e[i0>>2]|0,d0=+(e0|0),c0=d0*b,$0=c0+h0,X=E+3496|0,c1[X>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,I0=g0+(y<<2)|0,n0=e[I0>>2]|0,f0=+(n0|0),p0=f0*h,C0=g0+(g<<2)|0,b0=e[C0>>2]|0,y0=+(b0|0),E0=y0*b,Q0=E0+p0,w0=E+3504|0,c1[w0>>3]=Q0,B0=E+3512|0,c1[B0>>3]=-6,x0=E+3520|0,c1[x0>>3]=z0,Z0=E+3528|0,c1[Z0>>3]=z0,R0=E+3536|0,c1[R0>>3]=z0,v0=E+3544|0,c1[v0>>3]=z0,G0=E+3552|0,c1[G0>>3]=z0,U0=E+3560|0,c1[U0>>3]=z0,H0=E+3568|0,c1[H0>>3]=z0,k0=E+3576|0,c1[k0>>3]=z0,K0=E+3584|0,c1[K0>>3]=z0,N0=E+3592|0,c1[N0>>3]=z0,M0=E+3600|0,c1[M0>>3]=z0,P0=E+3608|0,c1[P0>>3]=z0,W0=E+3616|0,c1[W0>>3]=z0,J0=E+3624|0,c1[J0>>3]=z0,V0=E+3632|0,c1[V0>>3]=z0,j0=E+3640|0,c1[j0>>3]=z0,Y0=E+3648|0,c1[Y0>>3]=z0}function hD(t,s,A,$,g,h){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0;if(V0=C,m=(g|0)!=0,E=m?$:0,M=m?h:0,r0=s+(E<<2)|0,l0=e[r0>>2]|0,D0=520336+(l0<<2)|0,x0=e[D0>>2]|0,Z0=s+(M<<2)|0,R0=e[Z0>>2]|0,v0=520336+(R0<<2)|0,y=e[v0>>2]|0,B=A+(g<<2)|0,b=e[B>>2]|0,D=A+(E<<2)|0,k=e[D>>2]|0,v=A+(M<<2)|0,_=e[v>>2]|0,Q=(b|0)/4&-1,L=(k|0)/4&-1,R=Q-L|0,T=(k|0)/2&-1,G=R+T|0,O=(b|0)/2&-1,q=O+Q|0,p=(_|0)/-4&-1,V=q+p|0,K=(_|0)/2&-1,t0=V+K|0,Z=(R|0)>0,Z?(A0=Q-L|0,j=A0<<2,g4(t|0,0,j|0)|0,U0=R):U0=0,o0=(U0|0)<(G|0),o0)for(J=Q+T|0,s0=J-U0|0,Y=s0-L|0,O0=U0,K0=0;d0=x0+(K0<<2)|0,c0=+o[d0>>2],$0=t+(O0<<2)|0,X=+o[$0>>2],m0=X*c0,o[$0>>2]=m0,g0=O0+1|0,I0=K0+1|0,G0=(I0|0)==(Y|0),!G0;)O0=g0,K0=I0;if(h0=(_|0)>1,h0){for(i0=V+1|0,e0=(t0|0)>(i0|0),k0=V,M0=K;N0=M0+-1|0,C0=y+(N0<<2)|0,b0=+o[C0>>2],y0=t+(k0<<2)|0,E0=+o[y0>>2],Q0=E0*b0,o[y0>>2]=Q0,w0=k0+1|0,B0=(w0|0)<(t0|0),B0;)k0=w0,M0=N0;W0=e0?t0:i0,H0=W0}else H0=V;n0=(b|0)>(H0|0),n0&&(P0=t+(H0<<2)|0,f0=b-H0|0,p0=f0<<2,g4(P0|0,0,p0|0)|0)}function fD(t,s,A){t=t|0,s=+s,A=+A;var $=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0;if(X=C,C=C+64|0,$0=X+32|0,c0=X,$=Re(688)|0,g=$+408|0,bb(g),_=~~s,gD(g,t,_,A)|0,t0=$+440|0,vb(t0),kb(t0,553008,553016),s0=$+456|0,nb(s0,g)|0,Y=$+568|0,ib(s0,Y)|0,h0=By(0)|0,yD(h0),i0=QD()|0,zS($,i0)|0,e0=$+680|0,e[e0>>2]=0,d0=$+684|0,e[d0>>2]=0,h=$+360|0,Db(s0,t0,h,$0,c0)|0,$E($,h)|0,$E($,$0)|0,$E($,c0)|0,p=$+392|0,m=Qy($,p)|0,E=(m|0)==0,E)return C=X,$|0;for(y=$+396|0,B=$+404|0,b=$+400|0;D=e[d0>>2]|0,k=e[y>>2]|0,v=k+D|0,Q=e[B>>2]|0,L=v+Q|0,R=(L|0)==0,R||(G=e[e0>>2]|0,O=W7(G,L)|0,e[e0>>2]=O,q=e[d0>>2]|0,V=O+q|0,K=e[p>>2]|0,Z=e[y>>2]|0,g9(V|0,K|0,Z|0)|0,A0=Z+q|0,e[d0>>2]=A0,j=O+A0|0,r0=e[b>>2]|0,o0=e[B>>2]|0,g9(j|0,r0|0,o0|0)|0,J=o0+A0|0,e[d0>>2]=J),M=Qy($,p)|0,T=(M|0)==0,!T;);return C=X,$|0}function ID(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0;E=C,KS(t)|0,s=t+568|0,rb(s)|0,A=t+456|0,Sy(A),$=t+440|0,Sb($),g=t+408|0,TC(g),h=t+680|0,p=e[h>>2]|0,E2(p),E2(t)}function mD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0;return h=C,A=t+456|0,$=by(A,s)|0,$|0}function pD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0;if(X=C,A=t+456|0,sb(A,s)|0,$=t+568|0,v=Dy(A,$)|0,K=(v|0)==1,!!K)for(h0=t+360|0,i0=t+392|0,e0=t+684|0,d0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,h=t+400|0;;){if(jS($,0)|0,tb($)|0,E=ky(A,h0)|0,y=(E|0)==0,!y)for(;;){if($E(t,h0)|0,D=wy(t,i0)|0,k=(D|0)==0,!k)for(;_=e[e0>>2]|0,Q=e[d0>>2]|0,L=Q+_|0,R=e[c0>>2]|0,M=L+R|0,T=(M|0)==0,T||(q=e[$0>>2]|0,V=W7(q,M)|0,e[$0>>2]=V,t0=e[e0>>2]|0,Z=V+t0|0,A0=e[g>>2]|0,j=e[d0>>2]|0,g9(Z|0,A0|0,j|0)|0,r0=j+t0|0,e[e0>>2]=r0,o0=V+r0|0,J=e[h>>2]|0,s0=e[c0>>2]|0,g9(o0|0,J|0,s0|0)|0,Y=s0+r0|0,e[e0>>2]=Y),G=wy(t,i0)|0,O=(G|0)==0,!O;);if(B=ky(A,h0)|0,b=(B|0)==0,b)break}if(p=Dy(A,$)|0,m=(p|0)==1,!m)break}}function ED(t){t=t|0;var s=0,A=0,$=0,g=0;return g=C,s=t+684|0,A=e[s>>2]|0,A|0}function CD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0;return h=C,s=t+684|0,e[s>>2]=0,A=t+680|0,$=e[A>>2]|0,$|0}function uE(t,s){t=+t,s=s|0;var A=0,$=0,g=0;return g=C,A=+BD(t,s),+A}function Hu(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0;if(U3=C,C=C+688|0,n3=U3+424|0,W5=U3+192|0,t3=U3,s0=s5(A,s)|0,Y=(s0|0)==0,Y){C=U3;return}for(j=s0-A|0,Y1=t3+4|0,e[Y1>>2]=A,e[t3>>2]=A,r2=A,p5=A,x3=2;$2=r2+A|0,U2=$2+p5|0,N5=t3+(x3<<2)|0,e[N5>>2]=U2,x5=U2>>>0>>0,n5=x3+1|0,x5;)k2=p5,p5=U2,x3=n5,r2=k2;if(h0=0-A|0,n0=t+j|0,x0=(j|0)>0,x0)for(M0=(A|0)==0,L0=n0,b1=1,Z2=0,G5=t,H5=1;;){X0=b1&3,J1=(X0|0)==3;do if(J1){e[W5>>2]=G5,H1=(H5|0)>1;e:do if(H1){for(B=H5,Q=G5,q1=G5,X5=1;;){if(V1=Q+h0|0,z1=B+-2|0,t2=t3+(z1<<2)|0,o2=e[t2>>2]|0,U5=o2+A|0,r0=0-U5|0,e2=Q+r0|0,d2=pi[$&15](q1,e2)|0,Z1=(d2|0)>-1,Z1&&(I2=pi[$&15](q1,V1)|0,A2=(I2|0)>-1,A2)){f3=X5;break}if(C2=pi[$&15](e2,V1)|0,W1=(C2|0)>-1,f2=X5+1|0,g2=W5+(X5<<2)|0,W1?(e[g2>>2]=e2,n2=B+-1|0,h=e2,E=n2):(e[g2>>2]=V1,h=V1,E=z1),u2=(E|0)>1,!u2){f3=f2;break}K=e[W5>>2]|0,B=E,Q=h,q1=K,X5=f2}if(s2=(f3|0)<2,!s2&&(l2=W5+(f3<<2)|0,e[l2>>2]=n3,!M0))for(v=A,q2=n3;;){for(p2=v>>>0>256,a2=p2?256:v,W2=e[W5>>2]|0,g9(q2|0,W2|0,a2|0)|0,M2=W2,e6=0;D2=W5+(e6<<2)|0,S2=e6+1|0,y2=W5+(S2<<2)|0,G2=e[y2>>2]|0,g9(M2|0,G2|0,a2|0)|0,O2=M2+a2|0,e[D2>>2]=O2,r3=(S2|0)==(f3|0),!r3;)M2=G2,e6=S2;if(i2=(v|0)==(a2|0),i2)break e;m2=v-a2|0,Z=e[l2>>2]|0,v=m2,q2=Z}}while(!1);K2=b1>>>2,V2=Z2<<30,A5=K2|V2,Y2=Z2>>>2,N1=H5+2|0,l0=A5,x1=Y2,Y5=N1}else{if(t5=H5+-1|0,T5=t3+(t5<<2)|0,i5=e[T5>>2]|0,L5=G5,j2=L0-L5|0,_5=i5>>>0>>0,_5){e[W5>>2]=G5,V5=(H5|0)>1;e:do if(V5){for(b=H5,L=G5,R2=G5,_3=1;;){if(u5=L+h0|0,b2=b+-2|0,y5=t3+(b2<<2)|0,o5=e[y5>>2]|0,l6=o5+A|0,o0=0-l6|0,F2=L+o0|0,Q2=pi[$&15](R2,F2)|0,Q5=(Q2|0)>-1,Q5&&(E5=pi[$&15](R2,u5)|0,M5=(E5|0)>-1,M5)){w3=_3;break}if(q5=pi[$&15](F2,u5)|0,R5=(q5|0)>-1,z2=_3+1|0,C5=W5+(_3<<2)|0,R5?(e[C5>>2]=F2,$5=b+-1|0,p=F2,y=$5):(e[C5>>2]=u5,p=u5,y=b2),d5=(y|0)>1,!d5){w3=z2;break}t0=e[W5>>2]|0,b=y,L=p,R2=t0,_3=z2}if(w5=(w3|0)<2,!w5&&(T1=W5+(w3<<2)|0,e[T1>>2]=n3,!M0))for(_=A,e5=n3;;){for(I5=_>>>0>256,l5=I5?256:_,F5=e[W5>>2]|0,g9(e5|0,F5|0,l5|0)|0,f5=F5,V3=0;h2=W5+(V3<<2)|0,v5=V3+1|0,r5=W5+(v5<<2)|0,a5=e[r5>>2]|0,g9(f5|0,a5|0,l5|0)|0,J2=f5+l5|0,e[h2>>2]=J2,a3=(v5|0)==(w3|0),!a3;)f5=a5,V3=v5;if(h5=(_|0)==(l5|0),h5)break e;X2=_-l5|0,A0=e[T1>>2]|0,_=X2,e5=A0}}while(!1)}else dE(G5,A,$,b1,Z2,H5,0,t3);if(c5=(H5|0)==1,c5){T2=Z2<<1,k5=b1>>>31,z5=k5|T2,i3=b1<<1,l0=i3,x1=z5,Y5=0;break}else{B5=t5>>>0>31,I3=H5+-33|0,g=B5?0:b1,R=B5?b1:Z2,M=B5?I3:t5,h3=R<>>i0,d0=e0|h3,c0=g<>>0>>0,m0)b1=$0,Z2=x1,G5=X,H5=Y5;else{O=x1,q=$0,y3=X,K5=Y5;break}}else O=0,q=1,y3=t,K5=1;if(dE(y3,A,$,q,O,K5,0,t3),g0=(K5|0)==1,I0=(q|0)==1,Q3=I0&g0,f0=(O|0)==0,u3=f0&Q3,u3){C=U3;return}else b0=q,v0=O,Z5=y3,D5=K5;for(;;){if(p0=(D5|0)<2,!p0){Y0=v0<<2,o1=b0>>>30,z0=o1|Y0,r1=D5+-2|0,s1=b0<<1,h1=s1&2147483646,u1=o1<<31,E1=h1|u1,f1=E1^3,d1=z0>>>1,A1=t3+(r1<<2)|0,g1=e[A1>>2]|0,z3=g1+A|0,J=0-z3|0,a1=Z5+J|0,$1=D5+-1|0,dE(a1,A,$,f1,d1,$1,1,t3),B1=d1<<1,p1=o1&1,Q1=B1|p1,C1=f1<<1,y1=C1|1,v1=Z5+h0|0,dE(v1,A,$,y1,Q1,r1,1,t3),b0=y1,v0=Q1,Z5=v1,D5=r1;continue}C0=b0+-1|0,y0=(C0|0)==0;do if(y0)q0=32,l3=56;else{if(D0=C0&1,E0=(D0|0)==0,E0){for(D=C0,a6=0;;)if(Q0=a6+1|0,w0=D>>>1,B0=w0&1,Z0=(B0|0)==0,Z0)D=w0,a6=Q0;else{T=Q0;break}R0=(T|0)==0,R0?l3=51:J0=T}else l3=51;if((l3|0)==51){if(l3=0,G0=(v0|0)==0,G0){q0=64,l3=56;break}if(U0=v0&1,O0=(U0|0)==0,O0)k=v0,G3=0;else{m=0,S1=b0,_1=v0,D1=0;break}for(;;)if(H0=G3+1|0,k0=k>>>1,K0=k0&1,N0=(K0|0)==0,N0)k=k0,G3=H0;else{G=H0,Y3=G3;break}if(P0=Y3+33|0,W0=(G|0)==0,W0){m=0,S1=b0,_1=v0,D1=0;break}else J0=P0}V0=J0>>>0>31,V0?(q0=J0,l3=56):(m=J0,S1=b0,_1=v0,D1=J0)}while(!1);if((l3|0)==56&&(l3=0,j0=q0+-32|0,m=j0,S1=v0,_1=0,D1=q0),k1=S1>>>m,L1=32-m|0,M1=_1<>>m,P1=D1+D5|0,V=Z5+h0|0,O1=(P1|0)==1,X1=(R1|0)==1,c3=X1&O1,G1=(F1|0)==0,g3=G1&c3,g3)break;b0=R1,v0=F1,Z5=V,D5=P1}C=U3}function dE(t,s,A,$,g,h,p,m){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0;Q2=C,C=C+720|0,F2=Q2+456|0,V2=Q2+228|0,U2=Q2,e[U2>>2]=t,Y=0-s|0,h0=($|0)!=1,v0=(g|0)!=0,J0=v0|h0;e:do if(J0)if(u1=m+(h<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,z1=t+F1|0,W1=pi[A&15](z1,t)|0,k2=(W1|0)<1,k2)B=t,R=h,V=p,Y2=1,R2=18;else for(k=t,O=h,K=p,B0=z1,Y0=g,L5=1,b2=$;;){if(i0=(K|0)==0,f0=(O|0)>1,u5=i0&f0,u5){if(D0=k+Y|0,E0=O+-2|0,Q0=m+(E0<<2)|0,w0=e[Q0>>2]|0,x0=pi[A&15](D0,B0)|0,Z0=(x0|0)>-1,Z0){b=k,M=O,t5=L5;break e}if(y5=w0+s|0,J=0-y5|0,R0=k+J|0,G0=pi[A&15](R0,B0)|0,U0=(G0|0)>-1,U0){b=k,M=O,t5=L5;break e}}O0=L5+1|0,H0=U2+(L5<<2)|0,e[H0>>2]=B0,k0=b2+-1|0,K0=(k0|0)==0;do if(K0)$1=32,R2=15;else{if(N0=k0&1,M0=(N0|0)==0,M0){for(Q=k0,p5=0;;)if(P0=p5+1|0,W0=Q>>>1,V0=W0&1,j0=(V0|0)==0,j0)Q=W0,p5=P0;else{t0=P0;break}q0=(t0|0)==0,q0?R2=10:A1=t0}else R2=10;if((R2|0)==10){if(R2=0,o1=(Y0|0)==0,o1){$1=64,R2=15;break}if(z0=Y0&1,r1=(z0|0)==0,r1)L=Y0,_5=0;else{y=0,B1=b2,y1=Y0,L1=0;break}for(;;)if(L0=_5+1|0,s1=L>>>1,h1=s1&1,E1=(h1|0)==0,E1)L=s1,_5=L0;else{Z=L0,V5=_5;break}if(f1=V5+33|0,d1=(Z|0)==0,d1){y=0,B1=b2,y1=Y0,L1=0;break}else A1=f1}g1=A1>>>0>31,g1?($1=A1,R2=15):(y=A1,B1=b2,y1=Y0,L1=A1)}while(!1);if((R2|0)==15&&(R2=0,a1=$1+-32|0,y=a1,B1=Y0,y1=0,L1=$1),X0=B1>>>y,p1=32-y|0,C1=y1<>>y,S1=L1+O|0,M1=(v1|0)!=1,b1=(k1|0)!=0,_1=b1|M1,!_1){b=B0,M=S1,t5=O0;break e}if(A0=e[U2>>2]|0,R1=m+(S1<<2)|0,P1=e[R1>>2]|0,D1=0-P1|0,O1=B0+D1|0,X1=pi[A&15](O1,A0)|0,G1=(X1|0)<1,G1){B=B0,R=S1,V=0,Y2=O0,R2=18;break}else v=B0,O=S1,K=0,B0=O1,Y0=k1,L5=O0,b2=v1,k=v}else B=t,R=h,V=p,Y2=1,R2=18;while(!1);if((R2|0)==18)if(x1=(V|0)==0,x1)b=B,M=R,t5=Y2;else{C=Q2;return}J1=(t5|0)<2;e:do if(!J1&&(H1=U2+(t5<<2)|0,e[H1>>2]=F2,V1=(s|0)==0,!V1))for(G=s,f2=F2;;){for(C2=G>>>0>256,t2=C2?256:G,$2=e[U2>>2]|0,g9(f2|0,$2|0,t2|0)|0,I2=$2,i5=0;e2=U2+(i5<<2)|0,q1=i5+1|0,d2=U2+(q1<<2)|0,Z1=e[d2>>2]|0,g9(I2|0,Z1|0,t2|0)|0,A2=I2+t2|0,e[e2>>2]=A2,A5=(q1|0)==(t5|0),!A5;)I2=Z1,i5=q1;if(Y1=(G|0)==(t2|0),Y1)break e;o2=G-t2|0,o0=e[H1>>2]|0,G=o2,f2=o0}while(!1);e[V2>>2]=b,g2=(M|0)>1;e:do if(g2){for(_=M,q=b,a2=b,j2=1;;){if(n2=q+Y|0,u2=_+-2|0,s2=m+(u2<<2)|0,l2=e[s2>>2]|0,o5=l2+s|0,s0=0-o5|0,i2=q+s0|0,m2=pi[A&15](a2,i2)|0,r2=(m2|0)>-1,r2&&(D2=pi[A&15](a2,n2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(y2=pi[A&15](i2,n2)|0,G2=(y2|0)>-1,M2=j2+1|0,O2=V2+(j2<<2)|0,G2?(e[O2>>2]=i2,p2=_+-1|0,E=i2,D=p2):(e[O2>>2]=n2,E=n2,D=u2),W2=(D|0)>1,!W2){N1=M2;break}j=e[V2>>2]|0,_=D,q=E,a2=j,j2=M2}if(q2=(N1|0)<2,q2)y0=F2;else if(K2=V2+(N1<<2)|0,e[K2>>2]=F2,e0=(s|0)==0,e0)y0=F2;else for(T=s,b0=F2;;){for(p0=T>>>0>256,c0=p0?256:T,C0=e[V2>>2]|0,g9(b0|0,C0|0,c0|0)|0,I0=C0,T5=0;l0=V2+(T5<<2)|0,X=T5+1|0,m0=V2+(X<<2)|0,g0=e[m0>>2]|0,g9(I0|0,g0|0,c0|0)|0,n0=I0+c0|0,e[l0>>2]=n0,Z2=(X|0)==(N1|0),!Z2;)I0=g0,T5=X;if(d0=(T|0)==(c0|0),d0){y0=F2;break e}$0=T-c0|0,r0=e[K2>>2]|0,T=$0,b0=r0}}else y0=F2;while(!1);C=Q2}function J7(t){t=+t;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;return M=C,c1[w2>>3]=t,A=e[w2>>2]|0,$=e[w2+4>>2]|0,y=$&2146435072,B=y>>>0>1126170624,b=!1,D=(y|0)==1126170624,k=D&b,v=B|k,v?(s=t,+s):(_=($|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,h=t+4503599627370496,p=h+-4503599627370496,L=_?g:p,m=L==0,m?(E=_?-0:0,s=E,+s):(s=L,+s))}function Zy(t){t=+t;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return v=C,A=(o[w2>>2]=t,e[w2>>2]|0),$=A&2130706432,g=$>>>0>1249902592,g?(s=t,+s):(h=(A|0)<0,p=t+-8388608,m=p+8388608,E=t+8388608,y=E+-8388608,D=h?m:y,B=D==0,B?(b=h?-0:0,s=b,+s):(s=D,+s))}function BD(t,s){t=+t,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0;return t0=C,h=(s|0)>1023,h?(p=t*898846567431158e293,Q=s+-1023|0,L=(Q|0)>1023,L?(R=p*898846567431158e293,M=s+-2046|0,T=(M|0)>1023,A=T?1023:M,$=A,V=R):($=Q,V=p)):(G=(s|0)<-1022,G?(O=t*22250738585072014e-324,q=s+1022|0,m=(q|0)<-1022,m?(E=O*22250738585072014e-324,y=s+2044|0,B=(y|0)<-1022,g=B?-1022:y,$=g,V=E):($=q,V=O)):($=s,V=t)),b=$+1023|0,D=eQ(b|0,0,52)|0,k=Z6,e[w2>>2]=D,e[w2+4>>2]=k,v=+c1[w2>>3],_=V*v,+_}function yD(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0;m=C,s=t+-1|0,A=553040,$=A,e[$>>2]=s,g=A+4|0,h=g,e[h>>2]=0}function QD(){var t=0,s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,t=553040,s=t,E=e[s>>2]|0,y=t+4|0,B=y,b=e[B>>2]|0,D=SD(E|0,b|0,1284865837,1481765933)|0,k=Z6,v=ro(D|0,k|0,1,0)|0,_=Z6,A=553040,$=A,e[$>>2]=v,g=A+4|0,h=g,e[h>>2]=_,p=no(v|0,_|0,33)|0,m=Z6,p|0}function Re(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0,f8=0,x8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,L8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,M8=0,s8=0,R8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,W9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,D9=0,Qt=0,a8=0,Z9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,j9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,Y8=0,Z8=0,F8=0,u8=0,T8=0,c4=0,z8=0,j8=0,ht=0,Nt=0,N8=0,Xt=0,O4=0,C4=0,A9=0,G8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,d7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,K8=0,ri=0,h7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,di=0,J8=0,Li=0,x4=0,Mi=0,U8=0,hi=0,le=0,B8=0,vt=0,y8=0,P8=0,sn=0,kr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,Sr=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,br=0,dn=0,To=0,or=0,No=0,ls=0,hn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,ds=0,hs=0,Po=0,Dr=0,fs=0,p7=0,In=0,_r=0,ar=0,xr=0,Z7=0,Lr=0,Is=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,Ar=0,$r=0,Rr=0,E7=0,Oo=0,fi=0,gl=0,mn=0,pn=0,Vu=0,ul=0,qo=0,Yu=0,cA=0,dl=0,zu=0,Ku=0,Ju=0,gA=0,hl=0,fl=0,uA=0,En=0,Il=0,Wu=0,Ho=0,lr=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,nd=0,sd=0,od=0,ml=0,Fr=0,ad=0,Ad=0,pl=0,$d=0,dA=0,Vo=0,hA=0,ld=0,cd=0,fA=0,El=0,Cl=0,Bl=0,IA=0,yl=0,Yo=0,gd=0,ud=0,Ql=0,dd=0,hd=0,wl=0,fd=0,Id=0,vl=0,kl=0,Sl=0,bl=0,Dl=0,Cn=0,md=0,_l=0,pd=0,xl=0,Ll=0,Ed=0,Cd=0,Bd=0,mA=0,Ml=0,Rl=0,ms=0,Fl=0,pA=0,yd=0,Tl=0,Qd=0,Nl=0,wd=0,vd=0,Gl=0,Ul=0,kd=0,zo=0,Sd=0,EA=0,Pl=0,Ol=0,bd=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,Ko=0,ql=0,Hl=0,Vl=0,Jo=0,Rd=0,Yl=0,Fd=0,zl=0,Td=0,Nd=0,Kl=0,CA=0,Gd=0,Ud=0,Wo=0,Pd=0,Zo=0,Od=0,BA=0,qd=0,Hd=0,Vd=0,Jl=0,Yd=0,zd=0,Kd=0,Jd=0,Wl=0,Zl=0,cr=0,jl=0,jo=0,yA=0,QA=0,Bn=0,Xl=0,yn=0,Wd=0,ec=0,Zd=0,jd=0,Xd=0,eh=0,Xo=0,wA=0,Tr=0,th=0,ih=0,tc=0,vA=0,ic=0,rc=0,rh=0,nc=0,nh=0,kA=0,sh=0,oh=0,Je=0,ah=0,sc=0,Ah=0,$h=0,SA=0,lh=0,bA=0,oc=0,ch=0,gh=0,ac=0,Ac=0,uh=0,DA=0,_A=0,$c=0,lc=0,dh=0,cc=0,xA=0,hh=0,gc=0,fh=0,Ih=0,mh=0,ph=0,uc=0,dc=0,LA=0,ea=0,hc=0,Eh=0,fc=0,Ic=0,Ch=0,Bh=0,yh=0,mc=0,Qh=0,wh=0,vh=0,kh=0,Sh=0,bh=0,pc=0,Dh=0,Ec=0,_h=0,Qn=0,xh=0,Cc=0,Lh=0,ps=0,Bc=0,MA=0,Mh=0,ta=0,RA=0,Rh=0,FA=0,yc=0,Fh=0,Th=0,Nh=0,Gh=0,Uh=0,Qc=0,Ph=0,Oh=0,qh=0,ia=0,Es=0,TA=0,Hh=0,NA=0,Vh=0,Yh=0,zh=0,wc=0,Kh=0,Jh=0,Wh=0,Zh=0,jh=0,ra=0,Xh=0,ef=0,vc=0,tf=0,rf=0,nf=0,sf=0,C7=0,kc=0,B7=0,Sc=0,GA=0,of=0,r7=0,Cs=0,af=0,Af=0,$f=0,lf=0,cf=0,bc=0,gf=0,uf=0,Dc=0,df=0,hf=0,Bs=0,UA=0,ff=0,_c=0,If=0,mf=0,na=0,pf=0,Ef=0,xc=0,Lc=0,Cf=0,Bf=0,wn=0,yf=0,Qf=0,vn=0,wf=0,Mc=0,vf=0,kf=0,ys=0,Rc=0,Sf=0,Fc=0,bf=0,gr=0,PA=0,Df=0,Tc=0,Nc=0,_f=0,xf=0,Gc=0,Lf=0,Mf=0,Rf=0,Uc=0,Ff=0,Qs=0,Tf=0,kn=0,Nf=0,Gf=0,OA=0,Uf=0,qA=0,HA=0,Pf=0,Pc=0,Oc=0,Of=0,qc=0,Hc=0,Vc=0,qf=0,Yc=0,zc=0,Hf=0,Vf=0,Kc=0,Jc=0,Yf=0,Wc=0,Zc=0,zf=0,Kf=0,jc=0,VA=0,Xc=0,eg=0,tg=0,ig=0,Jf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,rg=0,YA=0,rI=0,nI=0,sI=0,ng=0,sg=0,oI=0,og=0,zA=0,sa=0,ag=0,aI=0,AI=0,$I=0,lI=0,Ag=0,oa=0,cI=0,gI=0,uI=0,dI=0,hI=0,fI=0,II=0,mI=0,$g=0,pI=0,EI=0,CI=0,BI=0,aa=0,lg=0,yI=0,QI=0,Sn=0,cg=0,gg=0,KA=0,wI=0,ug=0,vI=0,dg=0,hg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,JA=0,xI=0,LI=0,MI=0,RI=0,fg=0,FI=0,Ig=0,TI=0,NI=0,mg=0,Nr=0,pg=0,Eg=0,GI=0,Cg=0,$a=0,UI=0,PI=0,OI=0,la=0,Bg=0,qI=0,HI=0,yg=0,VI=0,YI=0,WA=0,ca=0,zI=0,KI=0,JI=0,Qg=0,wg=0,vg=0,WI=0,ZI=0,ws=0,jI=0,kg=0,XI=0,ZA=0,Sg=0,em=0,tm=0,im=0,rm=0,bg=0,nm=0,sm=0,Dg=0,ga=0,om=0,am=0,Am=0,vs=0,_g=0,xg=0,$m=0,Lg=0,Mg=0,L7=0,Rg=0,ur=0,lm=0,cm=0,gm=0,um=0,jA=0,ua=0,Fg=0,Tg=0,dm=0,da=0,ks=0,hm=0,ha=0,XA=0,fm=0,e$=0,Im=0,mm=0,Ng=0,fa=0,Gg=0,pm=0,Em=0,Cm=0,Bm=0,Ug=0,ym=0,si=0,_9=0,n7=0,Qm=0,Pg=0,Og=0,t$=0,wm=0,Gr=0,Ss=0,vm=0,km=0,qg=0,i$=0,Sm=0,Hg=0,Vg=0,Yg=0,r$=0,n$=0,zg=0,bs=0,s$=0,Kg=0,bm=0,bn=0,Dm=0,Jg=0,Ia=0,_m=0,Wg=0,M7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,R7=0,Nm=0,Gm=0,Um=0,Zg=0,y7=0,ma=0,o$=0,jg=0,Xg=0,Pm=0,eu=0,tu=0,Om=0,qm=0,iu=0,ru=0,Hm=0,Vm=0,nu=0,Ym=0,Ds=0,pa=0,Ea=0,zm=0,a$=0,Km=0,Jm=0,su=0,_s=0,Wm=0,Zm=0,A$=0,$$=0,Ca=0,l$=0,c$=0,dr=0,Ur=0,Pr=0,g$=0,u$=0,xs=0,hr=0,Dn=0,jm=0,fr=0,_n=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ou=0,au=0,Qa=0,d$=0,Ni=0,wa=0,Or=0,h$=0,ep=0,f$=0,tp=0,I$=0,Au=0,va=0,ip=0,rp=0,ka=0,np=0,Sa=0,xn=0,tt=0,L9=0,$u=0,sp=0,m$=0,lu=0,op=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,cu=0,gp=0,up=0,dp=0,s7=0,Da=0,Ln=0,p$=0,Ls=0,Ms=0,oi=0,Rs=0,gu=0,uu=0,_a=0,Fs=0,Ts=0,Ns=0,hp=0,Gs=0,Ir=0,du=0,qr=0,o7=0,E$=0,C$=0,X7=0,B$=0,y$=0,Q$=0,Hr=0,d6=0,xa=0,Vr=0,hu=0,L4=0,w$=0,kt=0,Us=0,Mn=0,Rn=0,qe=0,Fn=0,Yr=0,X9=0,v$=0;v$=C,W1=t>>>0<245;do if(W1){if(f2=t>>>0<11,E9=t+11|0,W9=E9&-8,x4=f2?16:W9,qo=x4>>>3,BA=e[138262]|0,ia=BA>>>qo,eg=ia&3,Dg=(eg|0)==0,!Dg){g2=ia&1,f3=g2^1,g3=f3+qo|0,l3=g3<<1,d3=553088+(l3<<2)|0,b0=l3+2|0,N6=553088+(b0<<2)|0,R6=e[N6>>2]|0,G6=R6+8|0,F6=e[G6>>2]|0,Qe=(d3|0)==(F6|0);do if(Qe)ze=1<>>0>>0,h4&&v2(),b9=F6+12|0,be=e[b9>>2]|0,Pt=(be|0)==(R6|0),Pt){e[b9>>2]=d3,e[N6>>2]=F6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=R6+4|0,e[U4>>2]=p8,w0=pt|4,D4=R6+w0|0,Z9=e[D4>>2]|0,A8=Z9|1,e[D4>>2]=A8,tt=G6,tt|0}if(X4=e[138264]|0,j8=x4>>>0>X4>>>0,j8){if(Hi=(ia|0)==0,!Hi){Yi=ia<>>12,un=So&16,gs=rs>>>un,ar=gs>>>5,Ar=ar&8,Yu=Ar|un,Il=gs>>>Ar,nd=Il>>>2,hA=nd&4,ud=Yu|hA,Dl=Il>>>hA,Ml=Dl>>>1,Gl=Ml&2,xd=ud|Gl,zl=Dl>>>Gl,qd=zl>>>1,jl=qd&1,Xd=xd|jl,rh=zl>>>jl,SA=Xd+rh|0,$c=SA<<1,uc=553088+($c<<2)|0,O1=$c+2|0,mc=553088+(O1<<2)|0,Qn=e[mc>>2]|0,FA=Qn+8|0,Es=e[FA>>2]|0,Zh=(uc|0)==(Es|0);do if(Zh)kc=1<>>0>>0,gr&&v2(),Uc=Es+12|0,Pf=e[Uc>>2]|0,Vf=(Pf|0)==(Qn|0),Vf){e[Uc>>2]=uc,e[mc>>2]=Es,v=e[138264]|0,ca=v;break}else v2();while(!1);return tg=SA<<3,YA=tg-x4|0,aI=x4|3,fI=Qn+4|0,e[fI>>2]=aI,QI=Qn+x4|0,SI=YA|1,t2=x4|4,FI=Qn+t2|0,e[FI>>2]=SI,UI=Qn+tg|0,e[UI>>2]=YA,kg=(ca|0)==0,kg||(ga=e[138267]|0,Rg=ca>>>3,da=Rg<<1,Gg=553088+(da<<2)|0,Pg=e[138262]|0,Hg=1<>2]|0,y2=e[138266]|0,A5=n2>>>0>>0,A5?v2():(V=Ds,Ca=n2)),e[V>>2]=ga,u5=Ca+12|0,e[u5>>2]=ga,q5=ga+8|0,e[q5>>2]=Ca,X2=ga+12|0,e[X2>>2]=Gg),e[138264]=YA,e[138267]=QI,tt=FA,tt|0}if(c5=e[138263]|0,y3=(c5|0)==0,y3)L9=x4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,e6=w3>>>12,V3=e6&16,X5=w3>>>V3,_3=X5>>>5,t3=_3&8,a6=t3|V3,G3=X5>>>t3,Y3=G3>>>2,c3=Y3&4,u3=a6|c3,Q3=G3>>>c3,K5=Q3>>>1,H5=K5&2,Y5=u3|H5,D5=Q3>>>H5,z3=D5>>>1,U5=z3&1,l6=Y5|U5,n3=D5>>>U5,U3=l6+n3|0,C6=553352+(U3<<2)|0,b3=e[C6>>2]|0,L3=b3+4|0,D3=e[L3>>2]|0,A6=D3&-8,r6=A6-x4|0,Da=r6,C$=b3,w$=b3;;){if(K3=C$+16|0,j5=e[K3>>2]|0,M3=(j5|0)==0,M3)if(J3=C$+20|0,h6=e[J3>>2]|0,m3=(h6|0)==0,m3){Ln=Da,kt=w$;break}else L6=h6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,n6=S6-x4|0,f6=n6>>>0>>0,J=f6?n6:Da,$2=f6?L6:w$,Da=J,C$=L6,w$=$2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),k6=kt+x4|0,R3=kt>>>0>>0,R3||v2(),s6=kt+24|0,o6=e[s6>>2]|0,B6=kt+12|0,W3=e[B6>>2]|0,F3=(W3|0)==(kt|0);do if(F3){if(H6=kt+20|0,$6=e[H6>>2]|0,D6=($6|0)==0,D6)if(ee=kt+16|0,Q6=e[ee>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else hr=Q6,Ba=ee;else hr=$6,Ba=H6;for(;;){if(P3=hr+20|0,re=e[P3>>2]|0,V6=(re|0)==0,!V6){hr=re,Ba=P3;continue}if(oe=hr+16|0,ue=e[oe>>2]|0,U6=(ue|0)==0,U6){fr=hr,au=Ba;break}else hr=ue,Ba=oe}if(Y6=au>>>0>>0,Y6)v2();else{e[au>>2]=0,Ri=fr;break}}else if(Z3=kt+8|0,t6=e[Z3>>2]|0,c6=t6>>>0>>0,c6&&v2(),s3=t6+12|0,K6=e[s3>>2]|0,A3=(K6|0)==(kt|0),A3||v2(),g6=W3+8|0,y6=e[g6>>2]|0,T3=(y6|0)==(kt|0),T3){e[s3>>2]=W3,e[g6>>2]=t6,Ri=W3;break}else v2();while(!1);te=(o6|0)==0;do if(!te){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,ae=(kt|0)==(O6|0),ae){if(e[O3>>2]=Ri,ip=(Ri|0)==0,ip){he=1<>>0>>0,Ie&&v2(),Ve=o6+16|0,w6=e[Ve>>2]|0,q6=(w6|0)==(kt|0),q6?e[Ve>>2]=Ri:(Ae=o6+20|0,e[Ae>>2]=Ri),Ye=(Ri|0)==0,Ye)break;we=e[138266]|0,w9=Ri>>>0>>0,w9&&v2(),u9=Ri+24|0,e[u9>>2]=o6,r9=kt+16|0,Fe=e[r9>>2]|0,ve=(Fe|0)==0;do if(!ve)if(J6=Fe>>>0>>0,J6)v2();else{$e=Ri+16|0,e[$e>>2]=Fe,v9=Fe+24|0,e[v9>>2]=Ri;break}while(!1);if(R9=kt+20|0,d9=e[R9>>2]|0,_e=(d9|0)==0,!_e)if(F9=e[138266]|0,U9=d9>>>0>>0,U9)v2();else{H9=Ri+20|0,e[H9>>2]=d9,n4=d9+24|0,e[n4>>2]=Ri;break}}while(!1);return k9=Ln>>>0<16,k9?(V9=Ln+x4|0,Ke=V9|3,Y9=kt+4|0,e[Y9>>2]=Ke,X1=V9+4|0,h9=kt+X1|0,P9=e[h9>>2]|0,C9=P9|1,e[h9>>2]=C9):(Ze=x4|3,ke=kt+4|0,e[ke>>2]=Ze,k4=Ln|1,m0=x4|4,V4=kt+m0|0,e[V4>>2]=k4,I0=Ln+x4|0,nt=kt+I0|0,e[nt>>2]=Ln,z9=e[138264]|0,Y4=(z9|0)==0,Y4||(K9=e[138267]|0,s4=z9>>>3,R4=s4<<1,n9=553088+(R4<<2)|0,u4=e[138262]|0,B9=1<>2]|0,d4=e[138266]|0,s9=N9>>>0>>0,s9?v2():(O=f9,$$=N9)),e[O>>2]=K9,f4=$$+12|0,e[f4>>2]=K9,S9=K9+8|0,e[S9>>2]=$$,o4=K9+12|0,e[o4>>2]=n9),e[138264]=Ln,e[138267]=k6),O9=kt+8|0,tt=O9,tt|0}}else L9=x4}else if(I4=t>>>0>4294967231,I4)L9=-1;else if(Se=t+11|0,I6=Se&-8,z4=e[138263]|0,I9=(z4|0)==0,I9)L9=I6;else{S4=0-I6|0,m9=Se>>>8,z6=(m9|0)==0,z6?xn=0:(F4=I6>>>0>16777215,F4?xn=31:(T4=m9+1048320|0,ot=T4>>>16,p9=ot&8,x9=m9<>>16,xe=j3&4,q9=xe|p9,a4=x9<>>16,f8=N4&2,x8=q9|f8,e8=14-x8|0,I8=a4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,L8=i8|Ot,xn=L8)),Ht=553352+(xn<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ms=S4,B$=0,Rn=0,X9=86;else for(_t=(xn|0)==31,xt=xn>>>1,zt=25-xt|0,Kt=_t?0:zt,r8=I6<>2]|0,K4=Et&-8,G4=K4-I6|0,at=G4>>>0>>0,at)if(Lt=(K4|0)==(I6|0),Lt){Rs=G4,Hr=X7,Yr=X7,X9=90;break e}else Ls=G4,Mn=X7;else Ls=p$,Mn=Us;if(Le=X7+20|0,b4=e[Le>>2]|0,E8=_a>>>31,M8=(X7+16|0)+(E8<<2)|0,s8=e[M8>>2]|0,R8=(b4|0)==0,A4=(b4|0)==(s8|0),Ap=R8|A4,uu=Ap?gu:b4,o8=(s8|0)==0,Jt=_a<<1,o8){Ms=Ls,B$=uu,Rn=Mn,X9=86;break}else p$=Ls,gu=uu,_a=Jt,X7=s8,Us=Mn}while(!1);if((X9|0)==86){if(Mt=(B$|0)==0,At=(Rn|0)==0,op=Mt&At,op){if($t=2<>>12,p4=yt&16,J4=ct>>>p4,W4=J4>>>5,a9=W4&8,P4=a9|p4,E4=J4>>>a9,gt=E4>>>2,_4=gt&4,D9=P4|_4,Qt=E4>>>_4,a8=Qt>>>1,C3=a8&2,Z4=D9|C3,wt=Qt>>>C3,$4=wt>>>1,je=$4&1,l4=Z4|je,Te=wt>>>je,j4=l4+Te|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,y$=C8,Fn=0}else y$=B$,Fn=Rn;$8=(y$|0)==0,$8?(oi=Ms,qe=Fn):(Rs=Ms,Hr=y$,Yr=Fn,X9=90)}if((X9|0)==90)for(;;){if(X9=0,Zt=Hr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,dt=ut>>>0>>0,s0=dt?ut:Rs,Q$=dt?Hr:Yr,Ft=Hr+16|0,j9=e[Ft>>2]|0,c8=(j9|0)==0,!c8){Rs=s0,Hr=j9,Yr=Q$,X9=90;continue}if(Tt=Hr+20|0,De=e[Tt>>2]|0,g8=(De|0)==0,g8){oi=s0,qe=Q$;break}else Rs=s0,Hr=De,Yr=Q$,X9=90}if(et=(qe|0)==0,et)L9=I6;else if(Y8=e[138264]|0,Z8=Y8-I6|0,F8=oi>>>0>>0,F8){u8=e[138266]|0,T8=qe>>>0>>0,T8&&v2(),c4=qe+I6|0,z8=qe>>>0>>0,z8||v2(),ht=qe+24|0,Nt=e[ht>>2]|0,N8=qe+12|0,Xt=e[N8>>2]|0,O4=(Xt|0)==(qe|0);do if(O4){if(ei=qe+20|0,Bi=e[ei>>2]|0,ti=(Bi|0)==0,ti)if(yi=qe+16|0,li=e[yi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else _n=li,Qa=yi;else _n=Bi,Qa=ei;for(;;){if(Qi=_n+20|0,wi=e[Qi>>2]|0,u7=(wi|0)==0,!u7){_n=wi,Qa=Qi;continue}if(vi=_n+16|0,ci=e[vi>>2]|0,d7=(ci|0)==0,d7){Xm=_n,d$=Qa;break}else _n=ci,Qa=vi}if(zi=d$>>>0>>0,zi)v2();else{e[d$>>2]=0,Ti=Xm;break}}else if(C4=qe+8|0,A9=e[C4>>2]|0,G8=A9>>>0>>0,G8&&v2(),$i=A9+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(qe|0),Vi||v2(),Ei=Xt+8|0,X8=e[Ei>>2]|0,Ci=(X8|0)==(qe|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=A9,Ti=Xt;break}else v2();while(!1);Ki=(Nt|0)==0;do if(!Ki){if(Ji=qe+28|0,Wi=e[Ji>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ii=(qe|0)==(Zi|0),ii){if(e[ki>>2]=Ti,ka=(Ti|0)==0,ka){ui=1<>>0>>0,f7&&v2(),Si=Nt+16|0,bi=e[Si>>2]|0,Di=(bi|0)==(qe|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ni=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,di=qe+16|0,J8=e[di>>2]|0,Li=(J8|0)==0;do if(!Li)if(U8=J8>>>0>>0,U8)v2();else{hi=Ti+16|0,e[hi>>2]=J8,le=J8+24|0,e[le>>2]=Ti;break}while(!1);if(B8=qe+20|0,vt=e[B8>>2]|0,y8=(vt|0)==0,!y8)if(P8=e[138266]|0,sn=vt>>>0>>0,sn)v2();else{kr=Ti+20|0,e[kr>>2]=vt,ao=vt+24|0,e[ao>>2]=Ti;break}}while(!1);Ao=oi>>>0<16;e:do if(Ao)Kn=oi+I6|0,$o=Kn|3,lo=qe+4|0,e[lo>>2]=$o,h1=Kn+4|0,Jn=qe+h1|0,co=e[Jn>>2]|0,on=co|1,e[Jn>>2]=on;else{if(go=I6|3,uo=qe+4|0,e[uo>>2]=go,ho=oi|1,l0=I6|4,fo=qe+l0|0,e[fo>>2]=ho,C0=oi+I6|0,Zn=qe+C0|0,e[Zn>>2]=oi,jn=oi>>>3,Io=oi>>>0<256,Io){an=jn<<1,Xn=553088+(an<<2)|0,An=e[138262]|0,es=1<>2]|0,Co=e[138266]|0,Sr=is>>>0>>0,Sr?v2():(G=$n,c$=is)),e[G>>2]=c4,ln=c$+12|0,e[ln>>2]=c4,Y0=I6+8|0,Bo=qe+Y0|0,e[Bo>>2]=c$,z0=I6+12|0,yo=qe+z0|0,e[yo>>2]=Xn;break}if(cn=oi>>>8,I7=(cn|0)==0,I7?Ur=0:(Qo=oi>>>0>16777215,Qo?Ur=31:(wo=cn+1048320|0,ns=wo>>>16,ss=ns&8,os=cn<>>16,gn=m7&4,ko=gn|ss,as=os<>>16,As=Do&2,_o=ko|As,xo=14-_o|0,Lo=as<>>15,$s=xo+Mo|0,Ro=$s<<1,Fo=$s+7|0,br=oi>>>Fo,dn=br&1,To=dn|Ro,Ur=To)),or=553352+(Ur<<2)|0,f1=I6+28|0,No=qe+f1|0,e[No>>2]=Ur,M1=I6+16|0,ls=qe+M1|0,x1=I6+20|0,hn=qe+x1|0,e[hn>>2]=0,e[ls>>2]=0,cs=e[138263]|0,fn=1<>2]=c4,Y1=I6+24|0,ds=qe+Y1|0,e[ds>>2]=or,o2=I6+12|0,hs=qe+o2|0,e[hs>>2]=c4,q1=I6+8|0,Po=qe+q1|0,e[Po>>2]=c4;break}Dr=e[or>>2]|0,fs=Dr+4|0,p7=e[fs>>2]|0,In=p7&-8,_r=(In|0)==(oi|0);t:do if(_r)Ni=Dr;else{for(xr=(Ur|0)==31,Z7=Ur>>>1,Lr=25-Z7|0,Is=xr?0:Lr,j7=oi<>>31,E7=(h$+16|0)+(Rr<<2)|0,i7=e[E7>>2]|0,Oo=(i7|0)==0,Oo){k=E7,ep=h$;break}if(D7=g$<<1,_7=i7+4|0,x7=e[_7>>2]|0,Mr=x7&-8,$r=(Mr|0)==(oi|0),$r){Ni=i7;break t}else g$=D7,h$=i7}if(fi=e[138266]|0,gl=k>>>0>>0,gl)v2();else{e[k>>2]=c4,E0=I6+24|0,mn=qe+E0|0,e[mn>>2]=ep,H0=I6+12|0,pn=qe+H0|0,e[pn>>2]=c4,V0=I6+8|0,Vu=qe+V0|0,e[Vu>>2]=c4;break e}}while(!1);if(ul=Ni+8|0,cA=e[ul>>2]|0,dl=e[138266]|0,zu=cA>>>0>=dl>>>0,$u=Ni>>>0>=dl>>>0,Ku=zu&$u,Ku){Ju=cA+12|0,e[Ju>>2]=c4,e[ul>>2]=c4,d2=I6+8|0,gA=qe+d2|0,e[gA>>2]=cA,I2=I6+12|0,hl=qe+I2|0,e[hl>>2]=Ni,y0=I6+24|0,fl=qe+y0|0,e[fl>>2]=0;break}else v2()}while(!1);return uA=qe+8|0,tt=uA,tt|0}else L9=I6}while(!1);if(En=e[138264]|0,Wu=En>>>0>>0,!Wu)return Ho=En-L9|0,lr=e[138267]|0,Zu=Ho>>>0>15,Zu?(ju=lr+L9|0,e[138267]=ju,e[138264]=Ho,Xu=Ho|1,E1=L9+4|0,ed=lr+E1|0,e[ed>>2]=Xu,td=lr+En|0,e[td>>2]=Ho,id=L9|3,rd=lr+4|0,e[rd>>2]=id):(e[138264]=0,e[138267]=0,sd=En|3,od=lr+4|0,e[od>>2]=sd,g0=En+4|0,ml=lr+g0|0,Fr=e[ml>>2]|0,ad=Fr|1,e[ml>>2]=ad),Ad=lr+8|0,tt=Ad,tt|0;if(pl=e[138265]|0,$d=pl>>>0>L9>>>0,$d)return dA=pl-L9|0,e[138265]=dA,Vo=e[138268]|0,ld=Vo+L9|0,e[138268]=ld,cd=dA|1,Y=L9+4|0,fA=Vo+Y|0,e[fA>>2]=cd,El=L9|3,Cl=Vo+4|0,e[Cl>>2]=El,Bl=Vo+8|0,tt=Bl,tt|0;IA=e[138380]|0,yl=(IA|0)==0;do if(yl)if(Yo=TS(30)|0,gd=Yo+-1|0,Ql=gd&Yo,dd=(Ql|0)==0,dd){e[138382]=Yo,e[138381]=Yo,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,hd=By(0)|0,wl=hd&-16,fd=wl^1431655768,e[138380]=fd;break}else v2();while(!1);if(Id=L9+48|0,vl=e[138382]|0,kl=L9+47|0,Sl=vl+kl|0,bl=0-vl|0,Cn=Sl&bl,md=Cn>>>0>L9>>>0,!md||(_l=e[138372]|0,pd=(_l|0)==0,!pd&&(xl=e[138370]|0,Ll=xl+Cn|0,Ed=Ll>>>0<=xl>>>0,Cd=Ll>>>0>_l>>>0,ba=Ed|Cd,ba)))return tt=0,tt|0;Bd=e[138373]|0,mA=Bd&4,Rl=(mA|0)==0;e:do if(Rl){ms=e[138268]|0,Fl=(ms|0)==0;t:do if(Fl)X9=174;else{for(Fs=553496;;){if(pA=e[Fs>>2]|0,yd=pA>>>0>ms>>>0,!yd&&(Tl=Fs+4|0,Qd=e[Tl>>2]|0,Nl=pA+Qd|0,wd=Nl>>>0>ms>>>0,wd)){b=Fs,D=Tl;break}if(vd=Fs+8|0,Ul=e[vd>>2]|0,kd=(Ul|0)==0,kd){X9=174;break t}else Fs=Ul}if(Gd=e[138265]|0,Ud=Sl-Gd|0,Wo=Ud&bl,Pd=Wo>>>0<2147483647,Pd)if(Zo=Oi(Wo|0)|0,Od=e[b>>2]|0,Hd=e[D>>2]|0,Vd=Od+Hd|0,Jl=(Zo|0)==(Vd|0),s=Jl?Wo:0,Jl)if(Yd=(Zo|0)==-1,Yd)Vr=s;else{d6=Zo,L4=s,X9=194;break e}else va=Zo,o7=Wo,xa=s,X9=184;else Vr=0}while(!1);do if((X9|0)==174)if(zo=Oi(0)|0,Sd=(zo|0)==-1,Sd)Vr=0;else if(EA=zo,Pl=e[138381]|0,Ol=Pl+-1|0,bd=Ol&EA,Dd=(bd|0)==0,Dd?qr=Cn:(_d=Ol+EA|0,Ld=0-Pl|0,Md=_d&Ld,Ko=Cn-EA|0,ql=Ko+Md|0,qr=ql),Hl=e[138370]|0,Vl=Hl+qr|0,Jo=qr>>>0>L9>>>0,Rd=qr>>>0<2147483647,ap=Jo&Rd,ap){if(Yl=e[138372]|0,Fd=(Yl|0)==0,!Fd&&(Td=Vl>>>0<=Hl>>>0,Nd=Vl>>>0>Yl>>>0,$p=Td|Nd,$p)){Vr=0;break}if(Kl=Oi(qr|0)|0,CA=(Kl|0)==(zo|0),du=CA?qr:0,CA){d6=zo,L4=du,X9=194;break e}else va=Kl,o7=qr,xa=du,X9=184}else Vr=0;while(!1);t:do if((X9|0)==184){zd=0-o7|0,Kd=(va|0)!=-1,Jd=o7>>>0<2147483647,cp=Jd&Kd,Wl=Id>>>0>o7>>>0,gp=Wl&cp;do if(gp)if(Zl=e[138382]|0,cr=kl-o7|0,jo=cr+Zl|0,yA=0-Zl|0,QA=jo&yA,Bn=QA>>>0<2147483647,Bn)if(Xl=Oi(QA|0)|0,yn=(Xl|0)==-1,yn){Oi(zd|0)|0,Vr=xa;break t}else{Wd=QA+o7|0,E$=Wd;break}else E$=o7;else E$=o7;while(!1);if(ec=(va|0)==-1,ec)Vr=xa;else{d6=va,L4=E$,X9=194;break e}}while(!1);Zd=e[138373]|0,jd=Zd|4,e[138373]=jd,hu=Vr,X9=191}else hu=0,X9=191;while(!1);if((X9|0)==191&&(eh=Cn>>>0<2147483647,eh&&(Xo=Oi(Cn|0)|0,wA=Oi(0)|0,Tr=(Xo|0)!=-1,th=(wA|0)!=-1,lp=Tr&th,ih=Xo>>>0>>0,up=ih&lp,up&&(tc=wA,vA=Xo,ic=tc-vA|0,rc=L9+40|0,nc=ic>>>0>rc>>>0,C2=nc?ic:hu,nc&&(d6=Xo,L4=C2,X9=194)))),(X9|0)==194){nh=e[138370]|0,kA=nh+L4|0,e[138370]=kA,sh=e[138371]|0,oh=kA>>>0>sh>>>0,oh&&(e[138371]=kA),Je=e[138268]|0,ah=(Je|0)==0;e:do if(ah){for(sc=e[138266]|0,Ah=(sc|0)==0,$h=d6>>>0>>0,dp=Ah|$h,dp&&(e[138266]=d6),e[138374]=d6,e[138375]=L4,e[138377]=0,lh=e[138380]|0,e[138271]=lh,e[138270]=-1,Sa=0;bA=Sa<<1,oc=553088+(bA<<2)|0,h0=bA+3|0,ch=553088+(h0<<2)|0,e[ch>>2]=oc,n0=bA+2|0,gh=553088+(n0<<2)|0,e[gh>>2]=oc,ac=Sa+1|0,np=(ac|0)==32,!np;)Sa=ac;Ac=L4+-40|0,uh=d6+8|0,DA=uh,_A=DA&7,lc=(_A|0)==0,dh=0-DA|0,cc=dh&7,xA=lc?0:cc,hh=d6+xA|0,gc=Ac-xA|0,e[138268]=hh,e[138265]=gc,fh=gc|1,e0=xA+4|0,Ih=d6+e0|0,e[Ih>>2]=fh,d1=L4+-36|0,mh=d6+d1|0,e[mh>>2]=40,ph=e[138384]|0,e[138269]=ph}else{for(Ns=553496;;){if(dc=e[Ns>>2]|0,LA=Ns+4|0,ea=e[LA>>2]|0,hc=dc+ea|0,Eh=(d6|0)==(hc|0),Eh){E=dc,y=LA,B=ea,hp=Ns,X9=204;break}if(fc=Ns+8|0,Ic=e[fc>>2]|0,Ch=(Ic|0)==0,Ch)break;Ns=Ic}if((X9|0)==204&&(Bh=hp+12|0,yh=e[Bh>>2]|0,Qh=yh&8,wh=(Qh|0)==0,wh&&(vh=Je>>>0>=E>>>0,kh=Je>>>0>>0,cu=kh&vh,cu))){Sh=B+L4|0,e[y>>2]=Sh,bh=e[138265]|0,pc=bh+L4|0,Dh=Je+8|0,Ec=Dh,_h=Ec&7,xh=(_h|0)==0,Cc=0-Ec|0,Lh=Cc&7,ps=xh?0:Lh,Bc=Je+ps|0,MA=pc-ps|0,e[138268]=Bc,e[138265]=MA,Mh=MA|1,c0=ps+4|0,ta=Je+c0|0,e[ta>>2]=Mh,a1=pc+4|0,RA=Je+a1|0,e[RA>>2]=40,Rh=e[138384]|0,e[138269]=Rh;break}for(yc=e[138266]|0,Fh=d6>>>0>>0,Fh?(e[138266]=d6,ys=d6):ys=yc,Th=d6+L4|0,Gs=553496;;){if(Nh=e[Gs>>2]|0,Gh=(Nh|0)==(Th|0),Gh){m=Gs,Ir=Gs,X9=212;break}if(Uh=Gs+8|0,Qc=e[Uh>>2]|0,Ph=(Qc|0)==0,Ph){Ts=553496;break}else Gs=Qc}if((X9|0)==212)if(Oh=Ir+12|0,qh=e[Oh>>2]|0,TA=qh&8,Hh=(TA|0)==0,Hh){e[m>>2]=d6,NA=Ir+4|0,Vh=e[NA>>2]|0,Yh=Vh+L4|0,e[NA>>2]=Yh,zh=d6+8|0,wc=zh,Kh=wc&7,Jh=(Kh|0)==0,Wh=0-wc|0,jh=Wh&7,ra=Jh?0:jh,Xh=d6+ra|0,B0=L4+8|0,ef=d6+B0|0,vc=ef,tf=vc&7,rf=(tf|0)==0,nf=0-vc|0,sf=nf&7,C7=rf?0:sf,x0=C7+L4|0,B7=d6+x0|0,Sc=B7,GA=Xh,of=Sc-GA|0,$0=ra+L9|0,r7=d6+$0|0,Cs=of-L9|0,af=L9|3,p0=ra+4|0,Af=d6+p0|0,e[Af>>2]=af,$f=(B7|0)==(Je|0);t:do if($f)lf=e[138265]|0,bc=lf+Cs|0,e[138265]=bc,e[138268]=r7,gf=bc|1,V1=$0+4|0,uf=d6+V1|0,e[uf>>2]=gf;else{if(Dc=e[138267]|0,df=(B7|0)==(Dc|0),df){hf=e[138264]|0,Bs=hf+Cs|0,e[138264]=Bs,e[138267]=r7,UA=Bs|1,J1=$0+4|0,ff=d6+J1|0,e[ff>>2]=UA,H1=Bs+$0|0,_c=d6+H1|0,e[_c>>2]=Bs;break}if($1=L4+4|0,Z0=$1+C7|0,mf=d6+Z0|0,na=e[mf>>2]|0,pf=na&3,Ef=(pf|0)==1,Ef){xc=na&-8,Lc=na>>>3,Cf=na>>>0<256;i:do if(Cf){P1=C7|8,W0=P1+L4|0,Bf=d6+W0|0,wn=e[Bf>>2]|0,D1=L4+12|0,J0=D1+C7|0,yf=d6+J0|0,vn=e[yf>>2]|0,wf=Lc<<1,Mc=553088+(wf<<2)|0,vf=(wn|0)==(Mc|0);do if(!vf){if(kf=wn>>>0>>0,kf&&v2(),Rc=wn+12|0,Sf=e[Rc>>2]|0,Fc=(Sf|0)==(B7|0),Fc)break;v2()}while(!1);if(bf=(vn|0)==(wn|0),bf){PA=1<>>0>>0,xf&&v2(),Gc=vn+8|0,Lf=e[Gc>>2]|0,Mf=(Lf|0)==(B7|0),Mf){q=Gc;break}v2()}while(!1);Rf=wn+12|0,e[Rf>>2]=vn,e[q>>2]=wn}else{R1=C7|24,R0=R1+L4|0,Ff=d6+R0|0,Qs=e[Ff>>2]|0,z1=L4+12|0,v0=z1+C7|0,Tf=d6+v0|0,kn=e[Tf>>2]|0,Nf=(kn|0)==(B7|0);do if(Nf){if(e2=C7|16,M0=$1+e2|0,Hc=d6+M0|0,Vc=e[Hc>>2]|0,qf=(Vc|0)==0,qf)if(P0=e2+L4|0,Yc=d6+P0|0,zc=e[Yc>>2]|0,Hf=(zc|0)==0,Hf){Fi=0;break}else Dn=zc,ya=Yc;else Dn=Vc,ya=Hc;for(;;){if(Kc=Dn+20|0,Jc=e[Kc>>2]|0,Yf=(Jc|0)==0,!Yf){Dn=Jc,ya=Kc;continue}if(Wc=Dn+16|0,Zc=e[Wc>>2]|0,zf=(Zc|0)==0,zf){jm=Dn,ou=ya;break}else Dn=Zc,ya=Wc}if(Kf=ou>>>0>>0,Kf)v2();else{e[ou>>2]=0,Fi=jm;break}}else if(F1=C7|8,G0=F1+L4|0,Gf=d6+G0|0,OA=e[Gf>>2]|0,Uf=OA>>>0>>0,Uf&&v2(),qA=OA+12|0,HA=e[qA>>2]|0,Pc=(HA|0)==(B7|0),Pc||v2(),Oc=kn+8|0,Of=e[Oc>>2]|0,qc=(Of|0)==(B7|0),qc){e[qA>>2]=kn,e[Oc>>2]=OA,Fi=kn;break}else v2();while(!1);if(jc=(Qs|0)==0,jc)break;b1=L4+28|0,U0=b1+C7|0,VA=d6+U0|0,Xc=e[VA>>2]|0,ig=553352+(Xc<<2)|0,Jf=e[ig>>2]|0,Wf=(B7|0)==(Jf|0);do if(Wf){if(e[ig>>2]=Fi,rp=(Fi|0)==0,!rp)break;Zf=1<>>0>>0,iI&&v2(),rg=Qs+16|0,rI=e[rg>>2]|0,nI=(rI|0)==(B7|0),nI?e[rg>>2]=Fi:(sI=Qs+20|0,e[sI>>2]=Fi),ng=(Fi|0)==0,ng)break i;while(!1);sg=e[138266]|0,oI=Fi>>>0>>0,oI&&v2(),og=Fi+24|0,e[og>>2]=Qs,_1=C7|16,O0=_1+L4|0,zA=d6+O0|0,sa=e[zA>>2]|0,ag=(sa|0)==0;do if(!ag)if(AI=sa>>>0>>0,AI)v2();else{$I=Fi+16|0,e[$I>>2]=sa,lI=sa+24|0,e[lI>>2]=Fi;break}while(!1);if(K0=$1+_1|0,Ag=d6+K0|0,oa=e[Ag>>2]|0,cI=(oa|0)==0,cI)break;if(gI=e[138266]|0,uI=oa>>>0>>0,uI)v2();else{dI=Fi+20|0,e[dI>>2]=oa,hI=oa+24|0,e[hI>>2]=Fi;break}}while(!1);A2=xc|C7,N0=A2+L4|0,II=d6+N0|0,mI=xc+Cs|0,lu=II,s7=mI}else lu=B7,s7=Cs;if($g=lu+4|0,pI=e[$g>>2]|0,EI=pI&-2,e[$g>>2]=EI,CI=s7|1,D0=$0+4|0,BI=d6+D0|0,e[BI>>2]=CI,Q0=s7+$0|0,aa=d6+Q0|0,e[aa>>2]=s7,lg=s7>>>3,yI=s7>>>0<256,yI){Sn=lg<<1,cg=553088+(Sn<<2)|0,gg=e[138262]|0,KA=1<>2]|0,kI=e[138266]|0,bI=hg>>>0>>0,!bI){T=dg,l$=hg;break}v2()}while(!1);e[T>>2]=r7,DI=l$+12|0,e[DI>>2]=r7,v1=$0+8|0,_I=d6+v1|0,e[_I>>2]=l$,k1=$0+12|0,Aa=d6+k1|0,e[Aa>>2]=cg;break}JA=s7>>>8,xI=(JA|0)==0;do if(xI)Pr=0;else{if(LI=s7>>>0>16777215,LI){Pr=31;break}MI=JA+1048320|0,RI=MI>>>16,fg=RI&8,Ig=JA<>>16,mg=NI&4,Nr=mg|fg,pg=Ig<>>16,Cg=GI&2,$a=Nr|Cg,PI=14-$a|0,OI=pg<>>15,Bg=PI+la|0,qI=Bg<<1,HI=Bg+7|0,yg=s7>>>HI,VI=yg&1,YI=VI|qI,Pr=YI}while(!1);if(WA=553352+(Pr<<2)|0,k0=$0+28|0,zI=d6+k0|0,e[zI>>2]=Pr,j0=$0+16|0,KI=d6+j0|0,q0=$0+20|0,JI=d6+q0|0,e[JI>>2]=0,e[KI>>2]=0,Qg=e[138263]|0,wg=1<>2]=r7,o1=$0+24|0,ws=d6+o1|0,e[ws>>2]=WA,r1=$0+12|0,jI=d6+r1|0,e[jI>>2]=r7,s1=$0+8|0,XI=d6+s1|0,e[XI>>2]=r7;break}ZA=e[WA>>2]|0,Sg=ZA+4|0,em=e[Sg>>2]|0,tm=em&-8,im=(tm|0)==(s7|0);i:do if(im)Or=ZA;else{for(rm=(Pr|0)==31,bg=Pr>>>1,nm=25-bg|0,sm=rm?0:nm,om=s7<>>31,Mg=(f$+16|0)+(Lg<<2)|0,vs=e[Mg>>2]|0,L7=(vs|0)==0,L7){A=Mg,tp=f$;break}if(am=xs<<1,Am=vs+4|0,_g=e[Am>>2]|0,xg=_g&-8,$m=(xg|0)==(s7|0),$m){Or=vs;break i}else xs=am,f$=vs}if(ur=e[138266]|0,lm=A>>>0>>0,lm)v2();else{e[A>>2]=r7,Q1=$0+24|0,cm=d6+Q1|0,e[cm>>2]=tp,C1=$0+12|0,gm=d6+C1|0,e[gm>>2]=r7,y1=$0+8|0,um=d6+y1|0,e[um>>2]=r7;break t}}while(!1);if(jA=Or+8|0,ua=e[jA>>2]|0,Fg=e[138266]|0,Tg=ua>>>0>=Fg>>>0,m$=Or>>>0>=Fg>>>0,dm=Tg&m$,dm){ks=ua+12|0,e[ks>>2]=r7,e[jA>>2]=r7,X0=$0+8|0,hm=d6+X0|0,e[hm>>2]=ua,B1=$0+12|0,ha=d6+B1|0,e[ha>>2]=Or,p1=$0+24|0,XA=d6+p1|0,e[XA>>2]=0;break}else v2()}while(!1);return u1=ra|8,fm=d6+u1|0,tt=fm,tt|0}else Ts=553496;for(;;){if(e$=e[Ts>>2]|0,Im=e$>>>0>Je>>>0,!Im&&(mm=Ts+4|0,Ng=e[mm>>2]|0,fa=e$+Ng|0,pm=fa>>>0>Je>>>0,pm)){g=e$,h=Ng,p=fa;break}Em=Ts+8|0,Cm=e[Em>>2]|0,Ts=Cm}if(d0=h+-47|0,f0=h+-39|0,Bm=g+f0|0,Ug=Bm,ym=Ug&7,si=(ym|0)==0,_9=0-Ug|0,n7=_9&7,Qm=si?0:n7,g1=d0+Qm|0,Og=g+g1|0,t$=Je+16|0,wm=Og>>>0>>0,Gr=wm?Je:Og,Ss=Gr+8|0,vm=L4+-40|0,km=d6+8|0,qg=km,i$=qg&7,Sm=(i$|0)==0,Vg=0-qg|0,Yg=Vg&7,r$=Sm?0:Yg,n$=d6+r$|0,zg=vm-r$|0,e[138268]=n$,e[138265]=zg,bs=zg|1,i0=r$+4|0,s$=d6+i0|0,e[s$>>2]=bs,A1=L4+-36|0,Kg=d6+A1|0,e[Kg>>2]=40,bm=e[138384]|0,e[138269]=bm,bn=Gr+4|0,e[bn>>2]=27,e[Ss>>2]=e[138374]|0,e[Ss+4>>2]=e[138375]|0,e[Ss+8>>2]=e[138376]|0,e[Ss+12>>2]=e[138377]|0,e[138374]=d6,e[138375]=L4,e[138377]=0,e[138376]=Ss,Jg=Gr+28|0,e[Jg>>2]=7,Ia=Gr+32|0,_m=Ia>>>0

>>0,_m)for(M7=Jg;Wg=M7+4|0,e[Wg>>2]=7,xm=M7+8|0,Lm=xm>>>0

>>0,Lm;)M7=Wg;if(Mm=(Gr|0)==(Je|0),!Mm){if(Rm=Gr,Fm=Je,R7=Rm-Fm|0,Nm=e[bn>>2]|0,Gm=Nm&-2,e[bn>>2]=Gm,Um=R7|1,Zg=Je+4|0,e[Zg>>2]=Um,e[Gr>>2]=R7,y7=R7>>>3,ma=R7>>>0<256,ma){o$=y7<<1,jg=553088+(o$<<2)|0,Xg=e[138262]|0,eu=1<>2]|0,Hm=e[138266]|0,Vm=ru>>>0>>0,Vm?v2():(M=iu,A$=ru)),e[M>>2]=Je,nu=A$+12|0,e[nu>>2]=Je,Ym=Je+8|0,e[Ym>>2]=A$,pa=Je+12|0,e[pa>>2]=jg;break}if(Ea=R7>>>8,zm=(Ea|0)==0,zm?dr=0:(a$=R7>>>0>16777215,a$?dr=31:(Km=Ea+1048320|0,Jm=Km>>>16,su=Jm&8,_s=Ea<>>16,u2=Zm&4,s2=u2|su,l2=_s<>>16,m2=a2&2,r2=s2|m2,k2=14-r2|0,D2=l2<>>15,G2=k2+S2|0,M2=G2<<1,O2=G2+7|0,p2=R7>>>O2,W2=p2&1,q2=W2|M2,dr=q2)),K2=553352+(dr<<2)|0,U2=Je+28|0,e[U2>>2]=dr,V2=Je+20|0,e[V2>>2]=0,e[t$>>2]=0,Z2=e[138263]|0,Y2=1<>2]=Je,i5=Je+24|0,e[i5>>2]=K2,L5=Je+12|0,e[L5>>2]=Je,j2=Je+8|0,e[j2>>2]=Je;break}p5=e[K2>>2]|0,_5=p5+4|0,V5=e[_5>>2]|0,b2=V5&-8,y5=(b2|0)==(R7|0);t:do if(y5)wa=p5;else{for(o5=(dr|0)==31,F2=dr>>>1,R2=25-F2|0,Q2=o5?0:R2,Q5=R7<>>31,d5=(I$+16|0)+($5<<2)|0,M5=e[d5>>2]|0,w5=(M5|0)==0,w5){$=d5,Au=I$;break}if(N5=u$<<1,E5=M5+4|0,R5=e[E5>>2]|0,z2=R5&-8,C5=(z2|0)==(R7|0),C5){wa=M5;break t}else u$=N5,I$=M5}if(T1=e[138266]|0,x5=$>>>0>>0,x5)v2();else{e[$>>2]=Je,h5=Je+24|0,e[h5>>2]=Au,l5=Je+12|0,e[l5>>2]=Je,h2=Je+8|0,e[h2>>2]=Je;break e}}while(!1);if(v5=wa+8|0,r5=e[v5>>2]|0,a5=e[138266]|0,f5=r5>>>0>=a5>>>0,sp=wa>>>0>=a5>>>0,J2=f5&sp,J2){I5=r5+12|0,e[I5>>2]=Je,e[v5>>2]=Je,n5=Je+8|0,e[n5>>2]=r5,F5=Je+12|0,e[F5>>2]=wa,e5=Je+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(T2=e[138265]|0,k5=T2>>>0>L9>>>0,k5)return z5=T2-L9|0,e[138265]=z5,i3=e[138268]|0,B5=i3+L9|0,e[138268]=B5,I3=z5|1,X=L9+4|0,h3=i3+X|0,e[h3>>2]=I3,W5=L9|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=Cy()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var s=0,A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0,m9=0,z6=0,F4=0,T4=0,ot=0,p9=0,x9=0,mt=0,j3=0,xe=0,be=0,q9=0,a4=0,h8=0,N4=0;if(N4=C,s0=(t|0)==0,!s0){Y=t+-8|0,W2=e[138266]|0,k6=Y>>>0>>0,k6&&v2(),_6=t+-4|0,Ie=e[_6>>2]|0,r9=Ie&3,U9=(r9|0)==1,U9&&v2(),Ze=Ie&-8,y=Ze+-8|0,n9=t+y|0,h0=Ie&1,n0=(h0|0)==0;do if(n0){if(x0=e[Y>>2]|0,M0=(r9|0)==0,M0)return;if(Q=-8-x0|0,L0=t+Q|0,X0=x0+Ze|0,b1=L0>>>0>>0,b1&&v2(),H1=e[138267]|0,A2=(L0|0)==(H1|0),A2){if(t0=Ze+-4|0,c0=t+t0|0,$0=e[c0>>2]|0,l0=$0&3,X=(l0|0)==3,!X){j3=L0,xe=X0;break}e[138264]=X0,m0=$0&-2,e[c0>>2]=m0,g0=X0|1,L=Q+4|0,I0=t+L|0,e[I0>>2]=g0,e[n9>>2]=X0;return}if(a2=x0>>>3,q2=x0>>>0<256,q2){if(Z=Q+8|0,L5=t+Z|0,Q2=e[L5>>2]|0,A0=Q+12|0,w5=t+A0|0,J2=e[w5>>2]|0,I3=a2<<1,e6=553088+(I3<<2)|0,Q3=(Q2|0)==(e6|0),Q3||(C6=Q2>>>0>>0,C6&&v2(),h6=Q2+12|0,R3=e[h6>>2]|0,K6=(R3|0)==(L0|0),K6||v2()),X6=(J2|0)==(Q2|0),X6){V6=1<>>0>>0,F6&&v2(),te=J2+8|0,P6=e[te>>2]|0,O3=(P6|0)==(L0|0),O3?g=te:v2()),O6=Q2+12|0,e[O6>>2]=J2,e[g>>2]=Q2,j3=L0,xe=X0;break}R=Q+24|0,ae=t+R|0,he=e[ae>>2]|0,M=Q+12|0,ne=t+M|0,Be=e[ne>>2]|0,ye=(Be|0)==(L0|0);do if(ye){if(G=Q+20|0,u9=t+G|0,E9=e[u9>>2]|0,ze=(E9|0)==0,ze)if(T=Q+16|0,Fe=t+T|0,ve=e[Fe>>2]|0,J6=(ve|0)==0,J6){Se=0;break}else O9=ve,S4=Fe;else O9=E9,S4=u9;for(;;){if($e=O9+20|0,v9=e[$e>>2]|0,R9=(v9|0)==0,!R9){O9=v9,S4=$e;continue}if(d9=O9+16|0,_e=e[d9>>2]|0,F9=(_e|0)==0,F9){I4=O9,b9=S4;break}else O9=_e,S4=d9}if(T9=b9>>>0>>0,T9)v2();else{e[b9>>2]=0,Se=I4;break}}else if(K=Q+8|0,Qe=t+K|0,fe=e[Qe>>2]|0,Ve=fe>>>0>>0,Ve&&v2(),w6=fe+12|0,q6=e[w6>>2]|0,Ae=(q6|0)==(L0|0),Ae||v2(),Ye=Be+8|0,we=e[Ye>>2]|0,w9=(we|0)==(L0|0),w9){e[w6>>2]=Be,e[Ye>>2]=fe,Se=Be;break}else v2();while(!1);if(H9=(he|0)==0,H9)j3=L0,xe=X0;else{if(O=Q+28|0,n4=t+O|0,k9=e[n4>>2]|0,V9=553352+(k9<<2)|0,Ke=e[V9>>2]|0,Y9=(L0|0)==(Ke|0),Y9){if(e[V9>>2]=Se,p9=(Se|0)==0,p9){h9=1<>>0>>0,k4&&v2(),V4=he+16|0,nt=e[V4>>2]|0,z9=(nt|0)==(L0|0),z9?e[V4>>2]=Se:(Y4=he+20|0,e[Y4>>2]=Se),K9=(Se|0)==0,K9){j3=L0,xe=X0;break}s4=e[138266]|0,R4=Se>>>0>>0,R4&&v2(),st=Se+24|0,e[st>>2]=he,q=Q+16|0,u4=t+q|0,B9=e[u4>>2]|0,T6=(B9|0)==0;do if(!T6)if(J9=B9>>>0>>0,J9)v2();else{Oe=Se+16|0,e[Oe>>2]=B9,f9=B9+24|0,e[f9>>2]=Se;break}while(!1);if(V=Q+20|0,N9=t+V|0,d4=e[N9>>2]|0,s9=(d4|0)==0,s9)j3=L0,xe=X0;else if(h4=e[138266]|0,i0=d4>>>0

>>0,i0)v2();else{e0=Se+20|0,e[e0>>2]=d4,d0=d4+24|0,e[d0>>2]=Se,j3=L0,xe=X0;break}}}else j3=Y,xe=Ze;while(!1);if(f0=j3>>>0>>0,f0||v2(),_=Ze+-4|0,p0=t+_|0,C0=e[p0>>2]|0,b0=C0&1,y0=(b0|0)==0,y0&&v2(),D0=C0&2,E0=(D0|0)==0,E0){if(Q0=e[138268]|0,w0=(n9|0)==(Q0|0),w0){if(B0=e[138265]|0,Z0=B0+xe|0,e[138265]=Z0,e[138268]=j3,R0=Z0|1,v0=j3+4|0,e[v0>>2]=R0,G0=e[138267]|0,U0=(j3|0)==(G0|0),!U0)return;e[138267]=0,e[138264]=0;return}if(O0=e[138267]|0,H0=(n9|0)==(O0|0),H0){k0=e[138264]|0,K0=k0+xe|0,e[138264]=K0,e[138267]=j3,N0=K0|1,P0=j3+4|0,e[P0>>2]=N0,W0=j3+K0|0,e[W0>>2]=K0;return}J0=C0&-8,V0=J0+xe|0,j0=C0>>>3,q0=C0>>>0<256;do if(q0){if(Y0=t+Ze|0,o1=e[Y0>>2]|0,v=Ze|4,z0=t+v|0,r1=e[z0>>2]|0,s1=j0<<1,h1=553088+(s1<<2)|0,u1=(o1|0)==(h1|0),u1||(E1=e[138266]|0,f1=o1>>>0>>0,f1&&v2(),d1=o1+12|0,A1=e[d1>>2]|0,g1=(A1|0)==(n9|0),g1||v2()),a1=(r1|0)==(o1|0),a1){$1=1<>>0>>0,v1&&v2(),k1=r1+8|0,S1=e[k1>>2]|0,L1=(S1|0)==(n9|0),L1?$=k1:v2()),M1=o1+12|0,e[M1>>2]=r1,e[$>>2]=o1}else{j=Ze+16|0,_1=t+j|0,R1=e[_1>>2]|0,r0=Ze|4,F1=t+r0|0,P1=e[F1>>2]|0,D1=(P1|0)==(n9|0);do if(D1){if(J=Ze+12|0,e2=t+J|0,q1=e[e2>>2]|0,d2=(q1|0)==0,d2)if(o0=Ze+8|0,Z1=t+o0|0,I2=e[Z1>>2]|0,C2=(I2|0)==0,C2){I9=0;break}else I6=I2,m9=Z1;else I6=q1,m9=e2;for(;;){if($2=I6+20|0,W1=e[$2>>2]|0,f2=(W1|0)==0,!f2){I6=W1,m9=$2;continue}if(g2=I6+16|0,n2=e[g2>>2]|0,u2=(n2|0)==0,u2){z4=I6,z6=m9;break}else I6=n2,m9=g2}if(s2=e[138266]|0,l2=z6>>>0>>0,l2)v2();else{e[z6>>2]=0,I9=z4;break}}else if(O1=t+Ze|0,X1=e[O1>>2]|0,G1=e[138266]|0,x1=X1>>>0>>0,x1&&v2(),J1=X1+12|0,V1=e[J1>>2]|0,Y1=(V1|0)==(n9|0),Y1||v2(),z1=P1+8|0,t2=e[z1>>2]|0,o2=(t2|0)==(n9|0),o2){e[J1>>2]=P1,e[z1>>2]=X1,I9=P1;break}else v2();while(!1);if(i2=(R1|0)==0,!i2){if(b=Ze+20|0,m2=t+b|0,r2=e[m2>>2]|0,k2=553352+(r2<<2)|0,D2=e[k2>>2]|0,S2=(n9|0)==(D2|0),S2){if(e[k2>>2]=I9,x9=(I9|0)==0,x9){y2=1<>>0>>0,K2&&v2(),U2=R1+16|0,V2=e[U2>>2]|0,Z2=(V2|0)==(n9|0),Z2?e[U2>>2]=I9:(A5=R1+20|0,e[A5>>2]=I9),Y2=(I9|0)==0,Y2)break;N1=e[138266]|0,t5=I9>>>0>>0,t5&&v2(),T5=I9+24|0,e[T5>>2]=R1,D=Ze+8|0,i5=t+D|0,j2=e[i5>>2]|0,p5=(j2|0)==0;do if(!p5)if(_5=j2>>>0>>0,_5)v2();else{V5=I9+16|0,e[V5>>2]=j2,u5=j2+24|0,e[u5>>2]=I9;break}while(!1);if(k=Ze+12|0,b2=t+k|0,y5=e[b2>>2]|0,o5=(y5|0)==0,!o5)if(F2=e[138266]|0,R2=y5>>>0>>0,R2)v2();else{Q5=I9+20|0,e[Q5>>2]=y5,N5=y5+24|0,e[N5>>2]=I9;break}}}while(!1);if(E5=V0|1,M5=j3+4|0,e[M5>>2]=E5,q5=j3+V0|0,e[q5>>2]=V0,R5=e[138267]|0,z2=(j3|0)==(R5|0),z2){e[138264]=V0;return}else be=V0}else C5=C0&-2,e[p0>>2]=C5,$5=xe|1,d5=j3+4|0,e[d5>>2]=$5,T1=j3+xe|0,e[T1>>2]=xe,be=xe;if(x5=be>>>3,h5=be>>>0<256,h5){l5=x5<<1,X2=553088+(l5<<2)|0,h2=e[138262]|0,v5=1<>2]|0,F5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(h=I5,f4=n5)),e[h>>2]=j3,c5=f4+12|0,e[c5>>2]=j3,T2=j3+8|0,e[T2>>2]=f4,k5=j3+12|0,e[k5>>2]=X2;return}z5=be>>>8,i3=(z5|0)==0,i3?S9=0:(B5=be>>>0>16777215,B5?S9=31:(h3=z5+1048320|0,W5=h3>>>16,r3=W5&8,a3=z5<>>16,Z5=G5&4,x3=Z5|r3,f3=a3<>>16,X5=V3&2,_3=x3|X5,t3=14-_3|0,a6=f3<>>15,Y3=t3+G3|0,c3=Y3<<1,g3=Y3+7|0,u3=be>>>g3,K5=u3&1,H5=K5|c3,S9=H5)),Y5=553352+(S9<<2)|0,D5=j3+28|0,e[D5>>2]=S9,z3=j3+16|0,U5=j3+20|0,e[U5>>2]=0,e[z3>>2]=0,l6=e[138263]|0,n3=1<>2]=j3,L3=j3+24|0,e[L3>>2]=Y5,D3=j3+12|0,e[D3>>2]=j3,A6=j3+8|0,e[A6>>2]=j3;else{r6=e[Y5>>2]|0,K3=r6+4|0,j5=e[K3>>2]|0,M3=j5&-8,d3=(M3|0)==(be|0);t:do if(d3)F4=r6;else{for(J3=(S9|0)==31,m3=S9>>>1,x6=25-m3|0,L6=J3?0:x6,M6=be<>>31,o6=(T4+16|0)+(s6<<2)|0,f6=e[o6>>2]|0,B6=(f6|0)==0,B6){s=o6,ot=T4;break}if(S6=o4<<1,n6=f6+4|0,b6=e[n6>>2]|0,N6=b6&-8,j6=(N6|0)==(be|0),j6){F4=f6;break t}else o4=S6,T4=f6}if(W3=e[138266]|0,F3=s>>>0>>0,F3)v2();else{e[s>>2]=j3,Z3=j3+24|0,e[Z3>>2]=ot,t6=j3+12|0,e[t6>>2]=j3,R6=j3+8|0,e[R6>>2]=j3;break e}}while(!1);if(c6=F4+8|0,s3=e[c6>>2]|0,A3=e[138266]|0,g6=s3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,y6=g6&mt,y6){T3=s3+12|0,e[T3>>2]=j3,e[c6>>2]=j3,H6=j3+8|0,e[H6>>2]=s3,$6=j3+12|0,e[$6>>2]=F4,D6=j3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,ee=G6+-1|0,e[138270]=ee,Q6=(ee|0)==0,Q6)a4=553504;else return;for(;q9=e[a4>>2]|0,P3=(q9|0)==0,re=q9+8|0,!P3;)a4=re;e[138270]=-1}}function c9(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,$=(t|0)==0,$?_=0:(g=s5(s,t)|0,m=s|t,E=m>>>0>65535,E?(y=(g>>>0)/(t>>>0)&-1,B=(y|0)==(s|0),A=B?g:-1,_=A):_=g),b=Re(_)|0,D=(b|0)==0,D||(k=b+-4|0,v=e[k>>2]|0,h=v&3,p=(h|0)==0,p)||g4(b|0,0,_|0)|0,b|0}function W7(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0;return Z=C,A=(t|0)==0,A?($=Re(s)|0,K=$,K|0):(v=s>>>0>4294967231,v?(R=Cy()|0,e[R>>2]=12,K=0,K|0):(M=s>>>0<11,T=s+11|0,G=T&-8,O=M?16:G,q=t+-8|0,V=wD(q,O)|0,g=(V|0)==0,g?(p=Re(s)|0,m=(p|0)==0,m?(K=0,K|0):(E=t+-4|0,y=e[E>>2]|0,B=y&-8,b=y&3,D=(b|0)==0,k=D?8:4,_=B-k|0,Q=_>>>0>>0,L=Q?_:s,g9(p|0,t|0,L|0)|0,E2(t),K=p,K|0)):(h=V+8|0,K=h,K|0)))}function wD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0;if(Z5=C,q=t+4|0,V=e[q>>2]|0,D1=V&-8,o2=t+D1|0,g2=e[138266]|0,S2=V&3,I3=t>>>0>=g2>>>0,h3=(S2|0)!=1,W5=h3&I3,Z2=t>>>0>>0,r3=W5&Z2,r3||v2(),L=D1|4,V5=t+L|0,M5=e[V5>>2]|0,l5=M5&1,K=(l5|0)==0,K&&v2(),i0=(S2|0)==0,i0)return f0=s>>>0<256,f0?(B5=0,B5|0):(Z0=s+4|0,P0=D1>>>0>>0,!P0&&(s1=D1-s|0,B1=e[138382]|0,_1=B1<<1,F1=s1>>>0>_1>>>0,!F1)?(B5=t,B5|0):(B5=0,B5|0));if(P1=D1>>>0>>0,!P1)return O1=D1-s|0,X1=O1>>>0>15,X1?(G1=t+s|0,x1=V&1,J1=x1|s,H1=J1|2,e[q>>2]=H1,Q=s+4|0,V1=t+Q|0,Y1=O1|3,e[V1>>2]=Y1,z1=e[V5>>2]|0,t2=z1|1,e[V5>>2]=t2,jy(G1,O1),B5=t,B5|0):(B5=t,B5|0);if(e2=e[138268]|0,q1=(o2|0)==(e2|0),q1)return d2=e[138265]|0,Z1=d2+D1|0,I2=Z1>>>0>s>>>0,I2?(A2=Z1-s|0,C2=t+s|0,$2=V&1,W1=$2|s,f2=W1|2,e[q>>2]=f2,_=s+4|0,n2=t+_|0,u2=A2|1,e[n2>>2]=u2,e[138268]=C2,e[138265]=A2,B5=t,B5|0):(B5=0,B5|0);if(s2=e[138267]|0,l2=(o2|0)==(s2|0),l2)return i2=e[138264]|0,a2=i2+D1|0,m2=a2>>>0>>0,m2?(B5=0,B5|0):(r2=a2-s|0,k2=r2>>>0>15,k2?(D2=t+s|0,y2=t+a2|0,G2=V&1,M2=G2|s,O2=M2|2,e[q>>2]=O2,D=s+4|0,p2=t+D|0,W2=r2|1,e[p2>>2]=W2,e[y2>>2]=r2,v=a2+4|0,q2=t+v|0,K2=e[q2>>2]|0,U2=K2&-2,e[q2>>2]=U2,a3=D2,y3=r2):(V2=V&1,A5=V2|a2,Y2=A5|2,e[q>>2]=Y2,b=a2+4|0,N1=t+b|0,t5=e[N1>>2]|0,T5=t5|1,e[N1>>2]=T5,a3=0,y3=0),e[138264]=y3,e[138267]=a3,B5=t,B5|0);if(i5=M5&2,L5=(i5|0)==0,!L5||(j2=M5&-8,p5=j2+D1|0,_5=p5>>>0>>0,_5))return B5=0,B5|0;u5=p5-s|0,b2=M5>>>3,y5=M5>>>0<256;do if(y5){if(y=D1+8|0,o5=t+y|0,F2=e[o5>>2]|0,B=D1+12|0,R2=t+B|0,Q2=e[R2>>2]|0,Q5=b2<<1,N5=553088+(Q5<<2)|0,E5=(F2|0)==(N5|0),E5||(q5=F2>>>0>>0,q5&&v2(),R5=F2+12|0,z2=e[R5>>2]|0,C5=(z2|0)==(o2|0),C5||v2()),$5=(Q2|0)==(F2|0),$5){d5=1<>>0>>0,X2&&v2(),h2=Q2+8|0,v5=e[h2>>2]|0,r5=(v5|0)==(o2|0),r5?$=h2:v2()),a5=F2+12|0,e[a5>>2]=Q2,e[$>>2]=F2}else{g=D1+24|0,f5=t+g|0,J2=e[f5>>2]|0,k=D1+12|0,I5=t+k|0,n5=e[I5>>2]|0,F5=(n5|0)==(o2|0);do if(F5){if(M=D1+20|0,h0=t+M|0,e0=e[h0>>2]|0,d0=(e0|0)==0,d0)if(R=D1+16|0,c0=t+R|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){T2=0;break}else e5=$0,k5=c0;else e5=e0,k5=h0;for(;;){if(X=e5+20|0,m0=e[X>>2]|0,g0=(m0|0)==0,!g0){e5=m0,k5=X;continue}if(I0=e5+16|0,n0=e[I0>>2]|0,p0=(n0|0)==0,p0){c5=e5,z5=k5;break}else e5=n0,k5=I0}if(C0=z5>>>0>>0,C0)v2();else{e[z5>>2]=0,T2=c5;break}}else if(E=D1+8|0,t0=t+E|0,Z=e[t0>>2]|0,A0=Z>>>0>>0,A0&&v2(),j=Z+12|0,r0=e[j>>2]|0,o0=(r0|0)==(o2|0),o0||v2(),J=n5+8|0,s0=e[J>>2]|0,Y=(s0|0)==(o2|0),Y){e[j>>2]=n5,e[J>>2]=Z,T2=n5;break}else v2();while(!1);if(b0=(J2|0)==0,!b0){if(h=D1+28|0,y0=t+h|0,D0=e[y0>>2]|0,E0=553352+(D0<<2)|0,Q0=e[E0>>2]|0,w0=(o2|0)==(Q0|0),w0){if(e[E0>>2]=T2,i3=(T2|0)==0,i3){B0=1<>>0>>0,U0&&v2(),O0=J2+16|0,H0=e[O0>>2]|0,k0=(H0|0)==(o2|0),k0?e[O0>>2]=T2:(K0=J2+20|0,e[K0>>2]=T2),N0=(T2|0)==0,N0)break;M0=e[138266]|0,W0=T2>>>0>>0,W0&&v2(),J0=T2+24|0,e[J0>>2]=J2,p=D1+16|0,V0=t+p|0,j0=e[V0>>2]|0,q0=(j0|0)==0;do if(!q0)if(Y0=j0>>>0>>0,Y0)v2();else{o1=T2+16|0,e[o1>>2]=j0,z0=j0+24|0,e[z0>>2]=T2;break}while(!1);if(m=D1+20|0,r1=t+m|0,L0=e[r1>>2]|0,h1=(L0|0)==0,!h1)if(u1=e[138266]|0,E1=L0>>>0>>0,E1)v2();else{f1=T2+20|0,e[f1>>2]=L0,d1=L0+24|0,e[d1>>2]=T2;break}}}while(!1);return A1=u5>>>0<16,A1?(g1=V&1,a1=p5|g1,$1=a1|2,e[q>>2]=$1,O=p5|4,X0=t+O|0,p1=e[X0>>2]|0,Q1=p1|1,e[X0>>2]=Q1,B5=t,B5|0):(C1=t+s|0,y1=V&1,v1=y1|s,k1=v1|2,e[q>>2]=k1,T=s+4|0,S1=t+T|0,L1=u5|3,e[S1>>2]=L1,G=p5|4,M1=t+G|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,jy(C1,u5),B5=t,B5|0)}function jy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,h1=0,u1=0,E1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,d2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,p5=0,_5=0,V5=0,u5=0,b2=0,y5=0,o5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,M5=0,q5=0,R5=0,z2=0,C5=0,$5=0,d5=0,w5=0,T1=0,x5=0,h5=0,l5=0,X2=0,h2=0,v5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,h3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,D5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,d3=0,J3=0,h6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,oe=0,ue=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,ae=0,he=0,ne=0,Be=0,ye=0,Qe=0,fe=0,Ie=0,Ve=0,w6=0,q6=0,Ae=0,Ye=0,we=0,w9=0,u9=0,E9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,$e=0,v9=0,R9=0,d9=0,_e=0,F9=0,T9=0,U9=0,H9=0,n4=0,k9=0,V9=0,Ke=0,Y9=0,h9=0,P9=0,C9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,z9=0,Y4=0,K9=0,s4=0,R4=0,st=0,n9=0,u4=0,B9=0,T6=0,J9=0,Oe=0,f9=0,N9=0,d4=0,s9=0,h4=0,f4=0,S9=0,o4=0,O9=0,I4=0,Se=0,I6=0,z4=0,I9=0,S4=0,b9=0;b9=C,e0=t+s|0,d0=t+4|0,V2=e[d0>>2]|0,B6=V2&1,X6=(B6|0)==0;do if(X6){if(P6=e[t>>2]|0,Ve=V2&3,Fe=(Ve|0)==0,Fe)return;if(H9=0-P6|0,ke=t+H9|0,c0=P6+s|0,b0=e[138266]|0,G0=ke>>>0>>0,G0&&v2(),V0=e[138267]|0,E1=(ke|0)==(V0|0),E1){if(k=s+4|0,n9=t+k|0,$0=e[n9>>2]|0,l0=$0&3,X=(l0|0)==3,!X){A=ke,$=c0;break}e[138264]=c0,m0=$0&-2,e[n9>>2]=m0,g0=c0|1,M=4-P6|0,I0=t+M|0,e[I0>>2]=g0,e[e0>>2]=c0;return}if(C1=P6>>>3,P1=P6>>>0<256,P1){if(j=8-P6|0,t2=t+j|0,f2=e[t2>>2]|0,r0=12-P6|0,D2=t+r0|0,Z2=e[D2>>2]|0,V5=C1<<1,M5=553088+(V5<<2)|0,l5=(f2|0)==(M5|0),l5||(e5=f2>>>0>>0,e5&&v2(),a3=f2+12|0,t3=e[a3>>2]|0,D5=(t3|0)==(ke|0),D5||v2()),A6=(Z2|0)==(f2|0),A6){M6=1<>>0>>0,H6&&v2(),$6=Z2+8|0,D6=e[$6>>2]|0,G6=(D6|0)==(ke|0),G6?E=$6:v2()),ee=f2+12|0,e[ee>>2]=Z2,e[E>>2]=f2,A=ke,$=c0;break}T=24-P6|0,Q6=t+T|0,P3=e[Q6>>2]|0,G=12-P6|0,re=t+G|0,V6=e[re>>2]|0,oe=(V6|0)==(ke|0);do if(oe){if(O=16-P6|0,q=O+4|0,he=t+q|0,ne=e[he>>2]|0,Be=(ne|0)==0,Be)if(ye=t+O|0,Qe=e[ye>>2]|0,fe=(Qe|0)==0,fe){f9=0;break}else J9=Qe,h4=ye;else J9=ne,h4=he;for(;;){if(Ie=J9+20|0,w6=e[Ie>>2]|0,q6=(w6|0)==0,!q6){J9=w6,h4=Ie;continue}if(Ae=J9+16|0,Ye=e[Ae>>2]|0,we=(Ye|0)==0,we){Oe=J9,f4=h4;break}else J9=Ye,h4=Ae}if(w9=f4>>>0>>0,w9)v2();else{e[f4>>2]=0,f9=Oe;break}}else if(A0=8-P6|0,ue=t+A0|0,U6=e[ue>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,te=e[F6>>2]|0,_6=(te|0)==(ke|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,ae=(O6|0)==(ke|0),ae){e[F6>>2]=V6,e[O3>>2]=U6,f9=V6;break}else v2();while(!1);if(u9=(P3|0)==0,u9)A=ke,$=c0;else{if(K=28-P6|0,E9=t+K|0,ze=e[E9>>2]|0,r9=553352+(ze<<2)|0,ve=e[r9>>2]|0,J6=(ke|0)==(ve|0),J6){if(e[r9>>2]=f9,I6=(f9|0)==0,I6){$e=1<>>0<_e>>>0,F9&&v2(),T9=P3+16|0,U9=e[T9>>2]|0,n4=(U9|0)==(ke|0),n4?e[T9>>2]=f9:(k9=P3+20|0,e[k9>>2]=f9),V9=(f9|0)==0,V9){A=ke,$=c0;break}Ke=e[138266]|0,Y9=f9>>>0>>0,Y9&&v2(),h9=f9+24|0,e[h9>>2]=P3,t0=16-P6|0,P9=t+t0|0,C9=e[P9>>2]|0,v4=(C9|0)==0;do if(!v4)if(Ze=C9>>>0>>0,Ze)v2();else{k4=f9+16|0,e[k4>>2]=C9,V4=C9+24|0,e[V4>>2]=f9;break}while(!1);if(Z=t0+4|0,nt=t+Z|0,z9=e[nt>>2]|0,Y4=(z9|0)==0,Y4)A=ke,$=c0;else if(K9=e[138266]|0,s4=z9>>>0>>0,s4)v2();else{R4=f9+20|0,e[R4>>2]=z9,st=z9+24|0,e[st>>2]=f9,A=ke,$=c0;break}}}else A=t,$=s;while(!1);if(n0=e[138266]|0,f0=e0>>>0>>0,f0&&v2(),v=s+4|0,p0=t+v|0,C0=e[p0>>2]|0,y0=C0&2,D0=(y0|0)==0,D0){if(E0=e[138268]|0,Q0=(e0|0)==(E0|0),Q0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=A,x0=B0|1,Z0=A+4|0,e[Z0>>2]=x0,R0=e[138267]|0,v0=(A|0)==(R0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(U0=e[138267]|0,O0=(e0|0)==(U0|0),O0){H0=e[138264]|0,k0=H0+$|0,e[138264]=k0,e[138267]=A,K0=k0|1,N0=A+4|0,e[N0>>2]=K0,M0=A+k0|0,e[M0>>2]=k0;return}P0=C0&-8,W0=P0+$|0,J0=C0>>>3,j0=C0>>>0<256;do if(j0){if(L=s+8|0,q0=t+L|0,Y0=e[q0>>2]|0,R=s+12|0,o1=t+R|0,z0=e[o1>>2]|0,r1=J0<<1,L0=553088+(r1<<2)|0,s1=(Y0|0)==(L0|0),s1||(h1=Y0>>>0>>0,h1&&v2(),u1=Y0+12|0,f1=e[u1>>2]|0,d1=(f1|0)==(e0|0),d1||v2()),A1=(z0|0)==(Y0|0),A1){g1=1<>>0>>0,p1&&v2(),Q1=z0+8|0,y1=e[Q1>>2]|0,v1=(y1|0)==(e0|0),v1?m=Q1:v2()),k1=Y0+12|0,e[k1>>2]=z0,e[m>>2]=Y0}else{V=s+24|0,S1=t+V|0,L1=e[S1>>2]|0,o0=s+12|0,M1=t+o0|0,b1=e[M1>>2]|0,_1=(b1|0)==(e0|0);do if(_1){if(s0=s+20|0,V1=t+s0|0,Y1=e[V1>>2]|0,z1=(Y1|0)==0,z1)if(J=s+16|0,o2=t+J|0,e2=e[o2>>2]|0,q1=(e2|0)==0,q1){s9=0;break}else N9=e2,S9=o2;else N9=Y1,S9=V1;for(;;){if(d2=N9+20|0,Z1=e[d2>>2]|0,I2=(Z1|0)==0,!I2){N9=Z1,S9=d2;continue}if(A2=N9+16|0,C2=e[A2>>2]|0,$2=(C2|0)==0,$2){d4=N9,o4=S9;break}else N9=C2,S9=A2}if(W1=o4>>>0>>0,W1)v2();else{e[o4>>2]=0,s9=d4;break}}else if(Q=s+8|0,R1=t+Q|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),O1=F1+12|0,X1=e[O1>>2]|0,G1=(X1|0)==(e0|0),G1||v2(),x1=b1+8|0,J1=e[x1>>2]|0,H1=(J1|0)==(e0|0),H1){e[O1>>2]=b1,e[x1>>2]=F1,s9=b1;break}else v2();while(!1);if(g2=(L1|0)==0,!g2){if(h0=s+28|0,n2=t+h0|0,u2=e[n2>>2]|0,s2=553352+(u2<<2)|0,l2=e[s2>>2]|0,i2=(e0|0)==(l2|0),i2){if(e[s2>>2]=s9,z4=(s9|0)==0,z4){a2=1<>>0>>0,y2&&v2(),G2=L1+16|0,M2=e[G2>>2]|0,O2=(M2|0)==(e0|0),O2?e[G2>>2]=s9:(p2=L1+20|0,e[p2>>2]=s9),W2=(s9|0)==0,W2)break;q2=e[138266]|0,K2=s9>>>0>>0,K2&&v2(),U2=s9+24|0,e[U2>>2]=L1,i0=s+16|0,A5=t+i0|0,Y2=e[A5>>2]|0,N1=(Y2|0)==0;do if(!N1)if(t5=Y2>>>0>>0,t5)v2();else{T5=s9+16|0,e[T5>>2]=Y2,i5=Y2+24|0,e[i5>>2]=s9;break}while(!1);if(_=s+20|0,L5=t+_|0,j2=e[L5>>2]|0,p5=(j2|0)==0,!p5)if(_5=e[138266]|0,u5=j2>>>0<_5>>>0,u5)v2();else{b2=s9+20|0,e[b2>>2]=j2,y5=j2+24|0,e[y5>>2]=s9;break}}}while(!1);if(o5=W0|1,F2=A+4|0,e[F2>>2]=o5,R2=A+W0|0,e[R2>>2]=W0,Q2=e[138267]|0,Q5=(A|0)==(Q2|0),Q5){e[138264]=W0;return}else g=W0}else N5=C0&-2,e[p0>>2]=N5,E5=$|1,q5=A+4|0,e[q5>>2]=E5,R5=A+$|0,e[R5>>2]=$,g=$;if(z2=g>>>3,C5=g>>>0<256,C5){$5=z2<<1,d5=553088+($5<<2)|0,w5=e[138262]|0,T1=1<>2]|0,r5=e[138266]|0,a5=v5>>>0>>0,a5?v2():(y=h2,u4=v5)),e[y>>2]=A,f5=u4+12|0,e[f5>>2]=A,J2=A+8|0,e[J2>>2]=u4,I5=A+12|0,e[I5>>2]=d5;return}if(n5=g>>>8,F5=(n5|0)==0,F5?B9=0:(c5=g>>>0>16777215,c5?B9=31:(T2=n5+1048320|0,k5=T2>>>16,z5=k5&8,i3=n5<>>16,h3=I3&4,W5=h3|z5,r3=i3<>>16,Z5=G5&2,x3=W5|Z5,f3=14-x3|0,w3=r3<>>15,V3=f3+e6|0,X5=V3<<1,_3=V3+7|0,a6=g>>>_3,G3=a6&1,Y3=G3|X5,B9=Y3)),c3=553352+(B9<<2)|0,g3=A+28|0,e[g3>>2]=B9,u3=A+16|0,Q3=A+20|0,e[Q3>>2]=0,e[u3>>2]=0,K5=e[138263]|0,H5=1<>2]=A,l6=A+24|0,e[l6>>2]=c3,n3=A+12|0,e[n3>>2]=A,l3=A+8|0,e[l3>>2]=A;return}U3=e[c3>>2]|0,C6=U3+4|0,b3=e[C6>>2]|0,L3=b3&-8,D3=(L3|0)==(g|0);e:do if(D3)O9=U3;else{for(r6=(B9|0)==31,K3=B9>>>1,j5=25-K3|0,M3=r6?0:j5,d3=g<>>31,f6=(I4+16|0)+(n6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){h=f6,Se=I4;break}if(J3=T6<<1,h6=m3+4|0,x6=e[h6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){O9=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=h>>>0>>0,j6&&v2(),e[h>>2]=A,k6=A+24|0,e[k6>>2]=Se,R3=A+12|0,e[R3>>2]=A,s6=A+8|0,e[s6>>2]=A;return}while(!1);o6=O9+8|0,F3=e[o6>>2]|0,Z3=e[138266]|0,t6=F3>>>0>=Z3>>>0,I9=O9>>>0>=Z3>>>0,R6=t6&I9,R6||v2(),c6=F3+12|0,e[c6>>2]=A,e[o6>>2]=A,s3=A+8|0,e[s3>>2]=F3,K6=A+12|0,e[K6>>2]=O9,A3=A+24|0,e[A3>>2]=0}function vD(){e[6410]=We}function g4(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,h=0,p=0;if($=t+A|0,(A|0)>=20){if(s=s&255,p=t&3,g=s|s<<8|s<<16|s<<24,h=$&-4,p)for(p=t+4-p|0;(t|0)<(p|0);)I[t>>0]=s,t=t+1|0;for(;(t|0)<(h|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)I[t>>0]=s,t=t+1|0;return t-A|0}function ll(t){t=t|0;var s=0;for(s=t;I[s>>0]|0;)s=s+1|0;return s-t|0}function Xy(t,s){t=t|0,s=s|0;var A=0,$=0;$=t+(ll(t)|0)|0;do I[$+A>>0]=I[s+A>>0],A=A+1|0;while(I[s+(A-1)>>0]|0);return t|0}function eQ(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>>32-A,t<>>0,h=s+$+(g>>>0>>0|0)>>>0,Z6=h,g|0|0}function no(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>>A,t>>>A|(s&$)<<32-A):(Z6=0,s>>>A-32|0)}function g9(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;if((A|0)>=4096)return FS(t|0,s|0,A|0)|0;if($=t|0,(t&3)==(s&3)){for(;t&3;){if(!(A|0))return $|0;I[t>>0]=I[s>>0]|0,t=t+1|0,s=s+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[s>>2]|0,t=t+4|0,s=s+4|0,A=A-4|0}for(;(A|0)>0;)I[t>>0]=I[s>>0]|0,t=t+1|0,s=s+1|0,A=A-1|0;return $|0}function lA(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;if((s|0)<(t|0)&(t|0)<(s+A|0)){for($=t,s=s+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,s=s-1|0,A=A-1|0,I[t>>0]=I[s>>0]|0;t=$}else g9(t,s,A)|0;return t|0}function PC(t,s){t=t|0,s=s|0;var A=0;do I[(t+A|0)>>0]=I[(s+A|0)>>0],A=A+1|0;while(I[s+(A-1)>>0]|0);return t|0}function so(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0;return g=t-A>>>0,h=s-$>>>0,h=s-$-(A>>>0>t>>>0|0)>>>0,Z6=h,g|0|0}function Ax(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>A,t>>>A|(s&$)<<32-A):(Z6=(s|0)<0?-1:0,s>>A-32|0)}function tQ(t){t=t|0;var s=0;return s=I[Ue+(t&255)>>0]|0,(s|0)<8?s|0:(s=I[Ue+(t>>8&255)>>0]|0,(s|0)<8?s+8|0:(s=I[Ue+(t>>16&255)>>0]|0,(s|0)<8?s+16|0:(I[Ue+(t>>>24)>>0]|0)+24|0))}function kD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,h=0,p=0,m=0,E=0;return A=t&65535,$=s&65535,g=s5($,A)|0,h=t>>>16,p=(g>>>16)+(s5($,h)|0)|0,m=s>>>16,E=s5(m,A)|0,Z6=((p>>>16)+(s5(m,h)|0)|0)+(((p&65535)+E|0)>>>16)|0,0|(p+E<<16|g&65535)|0}function $x(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return g=s>>31|((s|0)<0?-1:0)<<1,h=((s|0)<0?-1:0)>>31|((s|0)<0?-1:0)<<1,p=$>>31|(($|0)<0?-1:0)<<1,m=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=so(g^t,h^s,g,h)|0,y=Z6,B=so(p^A,m^$,p,m)|0,b=p^g,D=m^h,k=hE(E,y,B,Z6,0)|0,v=so(k^b,Z6^D,b,D)|0,v|0}function lx(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return v=C,C=C+8|0,g=v|0,h=s>>31|((s|0)<0?-1:0)<<1,p=((s|0)<0?-1:0)>>31|((s|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,y=so(h^t,p^s,h,p)|0,B=Z6,b=so(m^A,E^$,m,E)|0,hE(y,B,b,Z6,g)|0,D=so(e[g>>2]^h,e[g+4>>2]^p,h,p)|0,k=Z6,C=v,Z6=k,D|0}function SD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0,p=0,m=0,E=0;return g=t,h=A,p=kD(g,h)|0,m=Z6,E=s5(s,h)|0,Z6=((s5($,g)|0)+E|0)+m|m&0,0|p&-1|0}function cx(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0;return g=hE(t,s,A,$,0)|0,g|0}function gx(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,h=0;return h=C,C=C+8|0,g=h|0,hE(t,s,A,$,g)|0,C=h,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function hE(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var h=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,T=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,h0=0,i0=0,e0=0,d0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0;if(h=t,p=s,m=p,E=A,y=$,B=y,!(m|0))return b=(g|0)!=0,B|0?b?(e[g>>2]=t&-1,e[g+4>>2]=s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0):(b&&(e[g>>2]=(h>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,N0=(h>>>0)/(E>>>0)>>>0,Z6=M0,N0|0);D=(B|0)==0;do if(E|0){if(!D){if(Z=io(B|0)|0,A0=Z-(io(m|0)|0)|0,A0>>>0<=31){j=A0+1|0,r0=31-A0|0,o0=A0-31>>31,i0=j,h0=h>>>(j>>>0)&o0|m<>>(j>>>0)&o0,s0=0,J=h<>2]=0|t&-1,e[g+4>>2]=p|s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0)}if(R=E-1|0,R&E|0){T=(io(E|0)|0)+33|0,G=T-(io(m|0)|0)|0,O=64-G|0,q=32-G|0,V=q>>31,K=G-32|0,t0=K>>31,i0=G,h0=q-1>>31&m>>>(K>>>0)|(m<>>(G>>>0))&t0,Y=t0&m>>>(G>>>0),s0=h<>>(K>>>0))&V|h<>31;break}return g|0&&(e[g>>2]=R&h,e[g+4>>2]=0),(E|0)==1?(M0=p|s&0,N0=0|t&-1,Z6=M0,N0|0):(M=tQ(E|0)|0,M0=0|m>>>(M>>>0),N0=m<<32-M|h>>>(M>>>0)|0,Z6=M0,N0|0)}else{if(D)return g|0&&(e[g>>2]=(m>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,N0=(m>>>0)/(E>>>0)>>>0,Z6=M0,N0|0;if(!(h|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(m>>>0)%(B>>>0)),M0=0,N0=(m>>>0)/(B>>>0)>>>0,Z6=M0,N0|0;if(k=B-1|0,!(k&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=k&m|s&0),M0=0,N0=m>>>((tQ(B|0)|0)>>>0),Z6=M0,N0|0;if(v=io(B|0)|0,_=v-(io(m|0)|0)|0,_>>>0<=30){Q=_+1|0,L=31-_|0,i0=Q,h0=m<>>(Q>>>0),Y=m>>>(Q>>>0),s0=0,J=h<>2]=0|t&-1,e[g+4>>2]=p|s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0)}while(!1);if(!(i0|0))O0=J,U0=s0,G0=Y,v0=h0,R0=0,Z0=0;else{for(e0=0|A&-1,d0=y|$&0,c0=ro(e0|0,d0|0,-1,-1)|0,$0=Z6,n0=J,I0=s0,g0=Y,m0=h0,X=i0,l0=0;f0=I0>>>31|n0<<1,p0=l0|I0<<1,C0=0|(m0<<1|n0>>>31),b0=m0>>>31|g0<<1|0,so(c0,$0,C0,b0)|0,y0=Z6,D0=y0>>31|((y0|0)<0?-1:0)<<1,E0=D0&1,Q0=so(C0,b0,D0&e0,(((y0|0)<0?-1:0)>>31|((y0|0)<0?-1:0)<<1)&d0)|0,w0=Q0,B0=Z6,x0=X-1|0,x0|0;)n0=f0,I0=p0,g0=B0,m0=w0,X=x0,l0=E0;O0=f0,U0=p0,G0=B0,v0=w0,R0=0,Z0=E0}return H0=U0,k0=0,K0=O0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=G0|0),M0=(0|H0)>>>31|K0<<1|(k0<<1|H0>>>31)&0|R0,N0=(H0<<1|0)&-2|Z0,Z6=M0,N0|0}function bD(t,s,A,$,g){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,HC[t&3](s|0,A|0,$|0,g|0)|0}function DD(t,s){t=t|0,s=s|0,oo[t&7](s|0)}function _D(t,s,A){t=t|0,s=s|0,A=A|0,VC[t&3](s|0,A|0)}function xD(t,s){return t=t|0,s=s|0,nQ[t&1](s|0)|0}function LD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0,sQ[t&1](s|0,A|0,$|0)}function MD(t,s,A,$,g,h,p,m,E){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,E=E|0,oQ[t&3](s|0,A|0,$|0,g|0,h|0,p|0,m|0,E|0)|0}function RD(t,s,A){return t=t|0,s=s|0,A=A|0,pi[t&15](s|0,A|0)|0}function FD(t,s,A,$,g,h){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,YC[t&7](s|0,A|0,$|0,g|0,h|0)|0}function TD(t,s,A,$){return t=t|0,s=s|0,A=A|0,$=$|0,nn(0),0}function OC(t){t=t|0,nn(1)}function iQ(t,s){t=t|0,s=s|0,nn(2)}function ND(t){return t=t|0,nn(3),0}function GD(t,s,A){t=t|0,s=s|0,A=A|0,nn(4)}function rQ(t,s,A,$,g,h,p,m){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,h=h|0,p=p|0,m=m|0,nn(5),0}function cl(t,s){return t=t|0,s=s|0,nn(6),0}function qC(t,s,A,$,g){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,nn(7),0}var HC=[TD,Qb,Ab,$b],oo=[OC,Cb,Bb,Mb,zb,Kb,OC,OC],VC=[iQ,mb,Jb,iQ],nQ=[ND,Rb],sQ=[GD,xb],oQ=[rQ,Xb,rD,rQ],pi=[cl,pb,Eb,yb,Lb,Fb,Wb,Zb,wb,Yb,$D,cl,cl,cl,cl,cl],YC=[qC,jb,eD,tD,iD,nD,qC,qC];return{_memmove:lA,_strlen:ll,_strcat:Xy,_free:E2,_i64Add:ro,_encoder_clear:ID,_encoder_transfer_data:CD,_encoder_data_len:ED,_memset:g4,_malloc:Re,_memcpy:g9,_encoder_init:fD,_encoder_process:pD,_bitshift64Lshr:no,_bitshift64Shl:eQ,_strcpy:PC,_encoder_analysis_buffer:mD,runPostSets:vD,stackAlloc:GS,stackSave:US,stackRestore:PS,establishStackSpace:OS,setThrew:qS,setTempRet0:HS,getTempRet0:VS,dynCall_iiiii:bD,dynCall_vi:DD,dynCall_vii:_D,dynCall_ii:xD,dynCall_viii:LD,dynCall_iiiiiiiii:MD,dynCall_iii:RD,dynCall_iiiiii:FD}}(n.asmGlobalArg,n.asmLibraryArg,q7),T_=n.runPostSets=t9.runPostSets,ES=n._strlen=t9._strlen,CS=n._strcat=t9._strcat,bC=n._free=t9._free,N_=n._encoder_init=t9._encoder_init,BS=n._i64Add=t9._i64Add,yS=n._memmove=t9._memmove,G_=n._encoder_transfer_data=t9._encoder_transfer_data,U_=n._encoder_process=t9._encoder_process,P_=n._encoder_data_len=t9._encoder_data_len,QS=n._memset=t9._memset,Nu=n._malloc=t9._malloc,wS=n._memcpy=t9._memcpy,O_=n._encoder_clear=t9._encoder_clear,vS=n._bitshift64Lshr=t9._bitshift64Lshr,q_=n._encoder_analysis_buffer=t9._encoder_analysis_buffer,kS=n._strcpy=t9._strcpy,SS=n._bitshift64Shl=t9._bitshift64Shl,H_=n.dynCall_iiiii=t9.dynCall_iiiii,V_=n.dynCall_vi=t9.dynCall_vi,Y_=n.dynCall_vii=t9.dynCall_vii,z_=n.dynCall_ii=t9.dynCall_ii,K_=n.dynCall_viii=t9.dynCall_viii,J_=n.dynCall_iiiiiiiii=t9.dynCall_iiiiiiiii,W_=n.dynCall_iii=t9.dynCall_iii,Z_=n.dynCall_iiiiii=t9.dynCall_iiiiii;w.stackAlloc=t9.stackAlloc,w.stackSave=t9.stackSave,w.stackRestore=t9.stackRestore,w.establishStackSpace=t9.establishStackSpace,w.setTempRet0=t9.setTempRet0,w.getTempRet0=t9.getTempRet0;var j_=function(){var r={math:{}};r.math.Long=function(W,_0){this.low_=W|0,this.high_=_0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(W){if(-128<=W&&W<128){var _0=r.math.Long.IntCache_[W];if(_0)return _0}var t1=new r.math.Long(W|0,W<0?-1:0);return-128<=W&&W<128&&(r.math.Long.IntCache_[W]=t1),t1},r.math.Long.fromNumber=function(W){return isNaN(W)||!isFinite(W)?r.math.Long.ZERO:W<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:W+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:W<0?r.math.Long.fromNumber(-W).negate():new r.math.Long(W%r.math.Long.TWO_PWR_32_DBL_|0,W/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(W,_0){return new r.math.Long(W,_0)},r.math.Long.fromString=function(W,_0){if(W.length==0)throw Error("number format error: empty string");var t1=_0||10;if(t1<2||36=0)throw Error('number format error: interior "-" character: '+W);for(var B2=r.math.Long.fromNumber(Math.pow(t1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var W=this.high_!=0?this.high_:this.low_,_0=31;_0>0&&!(W&1<<_0);_0--);return this.high_!=0?_0+33:_0+1},r.math.Long.prototype.isZero=function(){return this.high_==0&&this.low_==0},r.math.Long.prototype.isNegative=function(){return this.high_<0},r.math.Long.prototype.isOdd=function(){return(this.low_&1)==1},r.math.Long.prototype.equals=function(W){return this.high_==W.high_&&this.low_==W.low_},r.math.Long.prototype.notEquals=function(W){return this.high_!=W.high_||this.low_!=W.low_},r.math.Long.prototype.lessThan=function(W){return this.compare(W)<0},r.math.Long.prototype.lessThanOrEqual=function(W){return this.compare(W)<=0},r.math.Long.prototype.greaterThan=function(W){return this.compare(W)>0},r.math.Long.prototype.greaterThanOrEqual=function(W){return this.compare(W)>=0},r.math.Long.prototype.compare=function(W){if(this.equals(W))return 0;var _0=this.isNegative(),t1=W.isNegative();return _0&&!t1?-1:!_0&&t1?1:this.subtract(W).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(W){var _0=this.high_>>>16,t1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=W.high_>>>16,N3=W.high_&65535,ie=W.low_>>>16,He=W.low_&65535,Pe=0,i4=0,Ai=0,sr=0;return sr+=e3+He,Ai+=sr>>>16,sr&=65535,Ai+=B2+ie,i4+=Ai>>>16,Ai&=65535,i4+=t1+N3,Pe+=i4>>>16,i4&=65535,Pe+=_0+O5,Pe&=65535,r.math.Long.fromBits(Ai<<16|sr,Pe<<16|i4)},r.math.Long.prototype.subtract=function(W){return this.add(W.negate())},r.math.Long.prototype.multiply=function(W){if(this.isZero())return r.math.Long.ZERO;if(W.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return W.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(W.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return W.isNegative()?this.negate().multiply(W.negate()):this.negate().multiply(W).negate();if(W.isNegative())return this.multiply(W.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&W.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*W.toNumber());var _0=this.high_>>>16,t1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=W.high_>>>16,N3=W.high_&65535,ie=W.low_>>>16,He=W.low_&65535,Pe=0,i4=0,Ai=0,sr=0;return sr+=e3*He,Ai+=sr>>>16,sr&=65535,Ai+=B2*He,i4+=Ai>>>16,Ai&=65535,Ai+=e3*ie,i4+=Ai>>>16,Ai&=65535,i4+=t1*He,Pe+=i4>>>16,i4&=65535,i4+=B2*ie,Pe+=i4>>>16,i4&=65535,i4+=e3*N3,Pe+=i4>>>16,i4&=65535,Pe+=_0*He+t1*ie+B2*N3+e3*O5,Pe&=65535,r.math.Long.fromBits(Ai<<16|sr,Pe<<16|i4)},r.math.Long.prototype.div=function(W){if(W.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(W.equals(r.math.Long.ONE)||W.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(W.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var _0=this.shiftRight(1),t1=_0.div(W).shiftLeft(1);if(t1.equals(r.math.Long.ZERO))return W.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(W.multiply(t1)),B2=t1.add(O5.div(W));return B2}else if(W.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return W.isNegative()?this.negate().div(W.negate()):this.negate().div(W).negate();if(W.isNegative())return this.div(W.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(W);){for(var t1=Math.max(1,Math.floor(O5.toNumber()/W.toNumber())),N3=Math.ceil(Math.log(t1)/Math.LN2),ie=N3<=48?1:Math.pow(2,N3-48),He=r.math.Long.fromNumber(t1),Pe=He.multiply(W);Pe.isNegative()||Pe.greaterThan(O5);)t1-=ie,He=r.math.Long.fromNumber(t1),Pe=He.multiply(W);He.isZero()&&(He=r.math.Long.ONE),e3=e3.add(He),O5=O5.subtract(Pe)}return e3},r.math.Long.prototype.modulo=function(W){return this.subtract(this.div(W).multiply(W))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(W){return r.math.Long.fromBits(this.low_&W.low_,this.high_&W.high_)},r.math.Long.prototype.or=function(W){return r.math.Long.fromBits(this.low_|W.low_,this.high_|W.high_)},r.math.Long.prototype.xor=function(W){return r.math.Long.fromBits(this.low_^W.low_,this.high_^W.high_)},r.math.Long.prototype.shiftLeft=function(W){if(W&=63,W==0)return this;var _0=this.low_;if(W<32){var t1=this.high_;return r.math.Long.fromBits(_0<>>32-W)}else return r.math.Long.fromBits(0,_0<>>W|_0<<32-W,_0>>W)}else return r.math.Long.fromBits(_0>>W-32,_0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(W){if(W&=63,W==0)return this;var _0=this.high_;if(W<32){var t1=this.low_;return r.math.Long.fromBits(t1>>>W|_0<<32-W,_0>>>W)}else return W==32?r.math.Long.fromBits(_0,0):r.math.Long.fromBits(_0>>>W-32,0)};var c={appName:"Modern Browser"},d,I=0xdeadbeefcafe,z=(I&16777215)==15715070;function e(W,_0,t1){W!=null&&(typeof W=="number"?this.fromNumber(W,_0,t1):_0==null&&typeof W!="string"?this.fromString(W,256):this.fromString(W,_0))}function e1(){return new e(null)}function n1(W,_0,t1,B2,e3,O5){for(;--O5>=0;){var N3=_0*this[W++]+t1[B2]+e3;e3=Math.floor(N3/67108864),t1[B2++]=N3&67108863}return e3}function x2(W,_0,t1,B2,e3,O5){for(var N3=_0&32767,ie=_0>>15;--O5>=0;){var He=this[W]&32767,Pe=this[W++]>>15,i4=ie*He+Pe*N3;He=N3*He+((i4&32767)<<15)+t1[B2]+(e3&1073741823),e3=(He>>>30)+(i4>>>15)+ie*Pe+(e3>>>30),t1[B2++]=He&1073741823}return e3}function o(W,_0,t1,B2,e3,O5){for(var N3=_0&16383,ie=_0>>14;--O5>=0;){var He=this[W]&16383,Pe=this[W++]>>14,i4=ie*He+Pe*N3;He=N3*He+((i4&16383)<<14)+t1[B2]+e3,e3=(He>>28)+(i4>>14)+ie*Pe,t1[B2++]=He&268435455}return e3}z&&c.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,d=30):z&&c.appName!="Netscape"?(e.prototype.am=n1,d=26):(e.prototype.am=o,d=28),e.prototype.DB=d,e.prototype.DM=(1<=0;--_0)W[_0]=this[_0];W.t=this.t,W.s=this.s}function Dt(W){this.t=1,this.s=W<0?-1:0,W>0?this[0]=W:W<-1?this[0]=W+DV:this.t=0}function i9(W){var _0=e1();return _0.fromInt(W),_0}function It(W,_0){var t1;if(_0==16)t1=4;else if(_0==8)t1=3;else if(_0==256)t1=8;else if(_0==2)t1=1;else if(_0==32)t1=5;else if(_0==4)t1=2;else{this.fromRadix(W,_0);return}this.t=0,this.s=0;for(var B2=W.length,e3=!1,O5=0;--B2>=0;){var N3=t1==8?W[B2]&255:We(W,B2);if(N3<0){W.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=N3:O5+t1>this.DB?(this[this.t-1]|=(N3&(1<>this.DB-O5):this[this.t-1]|=N3<=this.DB&&(O5-=this.DB)}t1==8&&W[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==W;)--this.t}function z7(W){if(this.s<0)return"-"+this.negate().toString(W);var _0;if(W==16)_0=4;else if(W==8)_0=3;else if(W==2)_0=1;else if(W==32)_0=5;else if(W==4)_0=2;else return this.toRadix(W);var t1=(1<<_0)-1,B2,e3=!1,O5="",N3=this.t,ie=this.DB-N3*this.DB%_0;if(N3-- >0)for(ie>ie)>0&&(e3=!0,O5=Ue(B2));N3>=0;)ie<_0?(B2=(this[N3]&(1<>(ie+=this.DB-_0)):(B2=this[N3]>>(ie-=_0)&t1,ie<=0&&(ie+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=Ue(B2));return e3?O5:"0"}function K7(){var W=e1();return e.ZERO.subTo(this,W),W}function vr(){return this.s<0?this.negate():this}function al(W){var _0=this.s-W.s;if(_0!=0)return _0;var t1=this.t;if(_0=t1-W.t,_0!=0)return this.s<0?-_0:_0;for(;--t1>=0;)if((_0=this[t1]-W[t1])!=0)return _0;return 0}function aE(W){var _0=1,t1;return(t1=W>>>16)!=0&&(W=t1,_0+=16),(t1=W>>8)!=0&&(W=t1,_0+=8),(t1=W>>4)!=0&&(W=t1,_0+=4),(t1=W>>2)!=0&&(W=t1,_0+=2),(t1=W>>1)!=0&&(W=t1,_0+=1),_0}function ey(){return this.t<=0?0:this.DB*(this.t-1)+aE(this[this.t-1]^this.s&this.DM)}function ty(W,_0){var t1;for(t1=this.t-1;t1>=0;--t1)_0[t1+W]=this[t1];for(t1=W-1;t1>=0;--t1)_0[t1]=0;_0.t=this.t+W,_0.s=this.s}function iy(W,_0){for(var t1=W;t1=0;--ie)_0[ie+O5+1]=this[ie]>>B2|N3,N3=(this[ie]&e3)<=0;--ie)_0[ie]=0;_0[O5]=N3,_0.t=this.t+O5+1,_0.s=this.s,_0.clamp()}function ny(W,_0){_0.s=this.s;var t1=Math.floor(W/this.DB);if(t1>=this.t){_0.t=0;return}var B2=W%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var N3=t1+1;N3>B2;B2>0&&(_0[this.t-t1-1]|=(this.s&O5)<>=this.DB;if(W.t>=this.DB;B2+=this.s}else{for(B2+=this.s;t1>=this.DB;B2-=W.s}_0.s=B2<0?-1:0,B2<-1?_0[t1++]=this.DV+B2:B2>0&&(_0[t1++]=B2),_0.t=t1,_0.clamp()}function sy(W,_0){var t1=this.abs(),B2=W.abs(),e3=t1.t;for(_0.t=e3+B2.t;--e3>=0;)_0[e3]=0;for(e3=0;e3=0;)W[t1]=0;for(t1=0;t1<_0.t-1;++t1){var B2=_0.am(t1,_0[t1],W,2*t1,0,1);(W[t1+_0.t]+=_0.am(t1+1,2*_0[t1],W,2*t1+1,B2,_0.t-t1-1))>=_0.DV&&(W[t1+_0.t]-=_0.DV,W[t1+_0.t+1]=1)}W.t>0&&(W[W.t-1]+=_0.am(t1,_0[t1],W,2*t1,0,1)),W.s=0,W.clamp()}function ay(W,_0,t1){var B2=W.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(He,O5),e3.lShiftTo(He,t1)):(B2.copyTo(O5),e3.copyTo(t1));var Pe=O5.t,i4=O5[Pe-1];if(i4!=0){var Ai=i4*(1<1?O5[Pe-2]>>this.F2:0),sr=this.FV/Ai,py=(1<=0&&(t1[t1.t++]=1,t1.subTo(Oi,t1)),e.ONE.dlShiftTo(Pe,Oi),Oi.subTo(O5,O5);O5.t=0;){var AE=t1[--$A]==i4?this.DM:Math.floor(t1[$A]*sr+(t1[$A-1]+Ey)*py);if((t1[$A]+=O5.am(0,AE,t1,Uu,0,Pe))0&&t1.rShiftTo(He,t1),N3<0&&e.ZERO.subTo(t1,t1)}}}function Ay(W){var _0=e1();return this.abs().divRemTo(W,null,_0),this.s<0&&_0.compareTo(e.ZERO)>0&&W.subTo(_0,_0),_0}function oA(W){this.m=W}function $y(W){return W.s<0||W.compareTo(this.m)>=0?W.mod(this.m):W}function ly(W){return W}function cy(W){W.divRemTo(this.m,null,W)}function gy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}function aA(W,_0){W.squareTo(_0),this.reduce(_0)}oA.prototype.convert=$y,oA.prototype.revert=ly,oA.prototype.reduce=cy,oA.prototype.mulTo=gy,oA.prototype.sqrTo=aA;function nr(){if(this.t<1)return 0;var W=this[0];if(!(W&1))return 0;var _0=W&3;return _0=_0*(2-(W&15)*_0)&15,_0=_0*(2-(W&255)*_0)&255,_0=_0*(2-((W&65535)*_0&65535))&65535,_0=_0*(2-W*_0%this.DV)%this.DV,_0>0?this.DV-_0:-_0}function Hn(W){this.m=W,this.mp=W.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(_0,_0),_0}function AA(W){var _0=e1();return W.copyTo(_0),this.reduce(_0),_0}function Vn(W){for(;W.t<=this.mt2;)W[W.t++]=0;for(var _0=0;_0>15)*this.mpl&this.um)<<15)&W.DM;for(t1=_0+this.m.t,W[t1]+=this.m.am(0,B2,W,_0,0,this.m.t);W[t1]>=W.DV;)W[t1]-=W.DV,W[++t1]++}W.clamp(),W.drShiftTo(this.m.t,W),W.compareTo(this.m)>=0&&W.subTo(this.m,W)}function uy(W,_0){W.squareTo(_0),this.reduce(_0)}function dy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}Hn.prototype.convert=Gu,Hn.prototype.revert=AA,Hn.prototype.reduce=Vn,Hn.prototype.mulTo=dy,Hn.prototype.sqrTo=uy;function hy(){return(this.t>0?this[0]&1:this.s)==0}function to(W,_0){if(W>4294967295||W<1)return e.ONE;var t1=e1(),B2=e1(),e3=_0.convert(this),O5=aE(W)-1;for(e3.copyTo(t1);--O5>=0;)if(_0.sqrTo(t1,B2),(W&1<0)_0.mulTo(B2,e3,t1);else{var N3=t1;t1=B2,B2=N3}return _0.revert(t1)}function fy(W,_0){var t1;return W<256||_0.isEven()?t1=new oA(_0):t1=new Hn(_0),this.exp(W,t1)}e.prototype.copyTo=Q9,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=ty,e.prototype.drShiftTo=iy,e.prototype.lShiftTo=ry,e.prototype.rShiftTo=ny,e.prototype.subTo=Z6,e.prototype.multiplyTo=sy,e.prototype.squareTo=oy,e.prototype.divRemTo=ay,e.prototype.invDigit=nr,e.prototype.isEven=hy,e.prototype.exp=to,e.prototype.toString=z7,e.prototype.negate=K7,e.prototype.abs=vr,e.prototype.compareTo=al,e.prototype.bitLength=ey,e.prototype.mod=Ay,e.prototype.modPowInt=fy,e.ZERO=i9(0),e.ONE=i9(1);function Yn(W,_0){this.fromInt(0),_0==null&&(_0=10);for(var t1=this.chunkSize(_0),B2=Math.pow(_0,t1),e3=!1,O5=0,N3=0,ie=0;ie=t1&&(this.dMultiply(B2),this.dAddOffset(N3,0),O5=0,N3=0)}O5>0&&(this.dMultiply(Math.pow(_0,O5)),this.dAddOffset(N3,0)),e3&&e.ZERO.subTo(this,this)}function rn(W){return Math.floor(Math.LN2*this.DB/Math.log(W))}function _C(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function s5(W){this[this.t]=this.am(0,W-1,this,0,0,this.t),++this.t,this.clamp()}function Iy(W,_0){if(W!=0){for(;this.t<=_0;)this[this.t++]=0;for(this[_0]+=W;this[_0]>=this.DV;)this[_0]-=this.DV,++_0>=this.t&&(this[this.t++]=0),++this[_0]}}function io(W){if(W==null&&(W=10),this.signum()==0||W<2||W>36)return"0";var _0=this.chunkSize(W),t1=Math.pow(W,_0),B2=i9(t1),e3=e1(),O5=e1(),N3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)N3=(t1+O5.intValue()).toString(W).substr(1)+N3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(W)+N3}function nn(){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(W.t>=this.DB;B2+=this.s}else{for(B2+=this.s;t1>=this.DB;B2+=W.s}_0.s=B2<0?-1:0,B2>0?_0[t1++]=B2:B2<-1&&(_0[t1++]=this.DV+B2),_0.t=t1,_0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=rn,e.prototype.signum=_C,e.prototype.dMultiply=s5,e.prototype.dAddOffset=Iy,e.prototype.toRadix=io,e.prototype.intValue=nn,e.prototype.addTo=my;var c7={abs:function(W,_0){var t1=new r.math.Long(W,_0),B2;t1.isNegative()?B2=t1.negate():B2=t1,Ge[bt>>2]=B2.low_,Ge[bt+4>>2]=B2.high_},ensureTemps:function(){c7.ensuredTemps||(c7.ensuredTemps=!0,c7.two32=new e,c7.two32.fromString("4294967296",10),c7.two64=new e,c7.two64.fromString("18446744073709551616",10),c7.temp1=new e,c7.temp2=new e)},lh2bignum:function(W,_0){var t1=new e;t1.fromString(_0.toString(),10);var B2=new e;t1.multiplyTo(c7.two32,B2);var e3=new e;e3.fromString(W.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(W,_0,t1){var B2=new r.math.Long(W,_0).toString();if(t1&&B2[0]=="-"){c7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,c7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(W,_0,t1,B2,e3){c7.ensureTemps();var O5=new e;O5.fromString(W,_0);var N3=new e;N3.fromString(t1,10);var ie=new e;if(ie.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var He=new e;O5.addTo(c7.two64,He),O5=He}var Pe=!1;O5.compareTo(N3)<0?(O5=N3,Pe=!0):O5.compareTo(ie)>0&&(O5=ie,Pe=!0);var i4=r.math.Long.fromString(O5.toString());if(Ge[bt>>2]=i4.low_,Ge[bt+4>>2]=i4.high_,Pe)throw"range error"}};return c7}();function sA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}sA.prototype=new Error,sA.prototype.constructor=sA;var WB,oE=null,bS=!1;V7=function r(){n.calledRun||DC(),n.calledRun||(V7=r)},n.callMain=n.callMain=function(c){G9(S8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),G9(eE.length==0,"cannot call main when preRun functions remain to be called"),c=c||[],Ws();var d=c.length+1;function I(){for(var n1=0;n1<3;n1++)z.push(0)}var z=[B3(tn(n.thisProgram),"i8",iA)];I();for(var e=0;e0||(Fu(),S8>0)||n.calledRun)return;function c(){n.calledRun||(n.calledRun=!0,!P&&(Ws(),PB(),l&&oE!==null&&n.printErr("pre-main prep time: "+(Date.now()-oE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&XB&&n.callMain(r),el()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),c()},1)):c()}n.run=n.run=DC;function ZB(r,c){if(!(c&&n.noExitRuntime))throw n.noExitRuntime||(P=!0,F0=r,S7=WB,tE(),n.onExit&&n.onExit(r)),u?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):x&&typeof quit=="function"&&quit(r),new sA(r)}n.exit=n.exit=ZB;var jB=[];function eo(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",P=!0,F0=1;var c=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,d="abort("+r+") at "+Zp()+c;throw jB&&jB.forEach(function(I){d=I(d,r)}),d}if(n.abort=n.abort=eo,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var XB=!0;n.noInitialRun&&(XB=!1),DC();var DS=n._encoder_init,_S=n._encoder_clear,xS=n._encoder_analysis_buffer,LS=n._encoder_process,MS=n._encoder_data_len,RS=n._encoder_transfer_data,b7=n.HEAPU8,nl=n.HEAPU32,sl=n.HEAPF32,ol=function(r,c,d){this.numChannels=c,this.oggBuffers=[],this.encoder=DS(this.numChannels,r,d)};ol.prototype.encode=function(r){for(var c=r[0].length,d=xS(this.encoder,c)>>2,I=0;I>2);this.process(c)},ol.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},ol.prototype.cancel=ol.prototype.cleanup=function(){_S(this.encoder),delete this.encoder,delete this.oggBuffers},ol.prototype.process=function(r){LS(this.encoder,r);var c=MS(this.encoder);if(c>0){var d=RS(this.encoder);this.oggBuffers.push(new Uint8Array(b7.subarray(d,d+c)))}},IC.OggVorbisEncoder=ol}};typeof window<"u"&&window===self&&IC.init();function Gk(n,i,a,l){let u=new IC.OggVorbisEncoder(a,i,l);u.encode(n);let f=u.finish(),x=f.reduce((N,S0)=>N+S0.length,0),H=new Uint8Array(x),F=0;for(let N of f)H.set(N,F),F+=N.length;return H}var mC=class{constructor(i,a){let l=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),l.classList.remove("hidden")}),document.body.addEventListener("dragend",()=>{l.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{if(u.preventDefault(),l.classList.add("hidden"),!u.dataTransfer.files[0])return;let f=[];for(let x of u.dataTransfer.files){let H=x.name,F=await x.arrayBuffer(),N=F.slice(0,4),S0=new TextDecoder;if(S0.decode(N)==="RIFF"){let w=F.slice(8,12);if(S0.decode(w)==="RMID"){f.push({binary:F,altName:H});continue}a(F);continue}f.push({binary:F,altName:H})}i(f)})}};async function Uk(){let n="locale.exportAudio.formats.formats.dls.warning.";M9(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"font-weight: bold"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let a=i.div.querySelector("input[trim-toggle='1']").checked;l9(i.id),F7("%cExporting DLS...",I1.info);let l=await this.seq.getMIDI(),u=Hs(l.embeddedSoundFont||this.soundFont);Pa(l,await this.synth.getSynthesizerSnapshot()),a&&Su(u,l);try{let f=u.writeDLS(),x=new Blob([f.buffer],{type:"audio/dls"});this.saveBlob(x,`${u.soundFontInfo.INAM||"unnamed"}.dls`)}catch(f){se("Failed to export DLS: ",f),M9(this.localeManager.getLocaleString("locale.error"),[{type:"text",textContent:f,attributes:{style:"font-weight: bold; color: red"}}])}de()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var Q_=!1,Zr=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(i,a,l,u=Q_){this.localeManager=l,this.context=i,this.enableDebug=u,this.isExporting=!1,this.compressionFunc=Gk;let f;this.ready=new Promise(x=>f=x),this.initializeContext(i,a).then(()=>{f()})}saveBlob(i,a){let l=URL.createObjectURL(i),u=document.createElement("a");u.href=l,u.download=a,u.click(),m5(u)}async initializeContext(i,a){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let U of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(U,"innerText",U.getAttribute("translate-path"));for(let U of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(U,"innerText",U.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(U,"title",U.getAttribute("translate-path-title")+".description");this.soundFont=a;let u=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Nk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let f=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=f+u,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let x=new URL(f+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),F=await(await fetch(x)).arrayBuffer();this.impulseResponseRaw=F,this.impulseResponse=await i.decodeAudioData(F.slice(0,F.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new Bu(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",U=>{this.sfError&&this.sfError(U.message)}),await this.synth.isReady,this.midHandler=new jE,this.wml=new XE(this.synth),this.keyboard=new Lp(this.channelColors,this.synth);let N=document.getElementById("note_canvas");N.width=window.innerWidth*window.devicePixelRatio,N.height=window.innerHeight*window.devicePixelRatio,this.renderer=new G7(this.channelColors,this.synth,N,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let S0=!1,w=()=>{if(N.width=window.innerWidth*window.devicePixelRatio,N.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),N7){if(window.innerWidth/window.innerHeight>1){if(!S0){let U=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");S0=!0,U.parentElement.insertBefore(P,U)}}else if(S0){let U=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");S0=!1,U.parentElement.insertBefore(U,P)}}this.renderer.render(!1,!0)};w(),window.addEventListener("resize",w.bind(this)),window.addEventListener("orientationchange",w.bind(this)),N7&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Wr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new nC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ps(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI,this.renderer),this.settingsUI=new v7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager,this.audioDelay),this.dropFileHandler=new mC(async U=>{if(U.length===0)return;await this.context.resume(),this.play(U);let P=U[0].altName;P>20&&(P=P.substring(0,21)+"..."),document.getElementById("file_upload").textContent=P;let F0=document.getElementById("export_button");F0.style.display="flex",F0.onclick=this.exportSong.bind(this),window.isLocalEdition||(document.getElementById("demo_song").style.display="none")},U=>{this.reloadSf(U)}),document.addEventListener("keydown",U=>{if(!U.ctrlKey)switch(U.key.toLowerCase()){case q8.cinematicMode:this.seq&&this.seq.pause();let P=window.prompt(`Cinematic mode activated! Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),P===null)return;N.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${P}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case q8.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(F0===null)return;let m1=document.createElement("video");m1.src=F0,m1.classList.add("secret_video"),N.parentElement.appendChild(m1),m1.play(),window.video=m1,this.seq&&(m1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),m1.play(),this.seq.currentTime=0),document.addEventListener("keydown",l1=>{l1.key===" "&&(m1.paused?m1.play():m1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new J5(i),4).toLowerCase()==="dls "&&M9(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:l=>{l9(l.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:l=>{l9(l.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new VE(i,this.synth),this.seq.onError=a=>{document.getElementById("title").textContent=a},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}async downloadDLSRMI(){let i=await this.seq.getMIDI(),a=Hs(this.soundFont),l=HE(a.writeDLS(),i,a),u=new Blob([l.buffer],{type:"audio/rmid"});this.saveBlob(u,`${i.midiName}.rmi`)}downloadDesfont(){let i=Hs(this.soundFont),a=i.write(),l=new Blob([a.buffer],{type:"audio/soundfont"});this.saveBlob(l,`${i.soundFontInfo.INAM}.sf2`)}};Zr.prototype.exportSong=Fk;Zr.prototype._exportAudioData=zv;Zr.prototype._doExportAudioData=Yv;Zr.prototype.exportMidi=Kv;Zr.prototype._exportSoundfont=Rk;Zr.prototype._exportDLS=Uk;Zr.prototype._exportRMIDI=Tk;var w_=44100,v_="GeneralUserGS.sf3",pC=document.getElementById("title"),ja=document.getElementById("midi_file_input"),k_=document.getElementById("sf_file_input"),Pk=document.getElementById("demo_song"),kB=document.getElementById("export_button"),G$=document.getElementsByClassName("loading")[0],P7=document.getElementById("loading_message"),S_=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=S_.version;var b_="spessasynth-db",P$="soundFontStore";function DB(n){let i=indexedDB.open(b_,1);i.onsuccess=()=>{let a=i.result;n(a)},i.onupgradeneeded=a=>{a.target.result.createObjectStore(P$,{keyPath:"id"})}}async function D_(){return await new Promise(n=>{DB(i=>{let u=i.transaction([P$],"readonly").objectStore(P$).get("buffer");u.onerror=f=>{console.error("Database error"),console.error(f),n(void 0)},u.onsuccess=async()=>{let f=u.result;if(!f){n(void 0);return}n(f.data)}})})}function U$(n,i=!0){let a=G$.getElementsByClassName("loading_icon")[0];a.innerHTML=n,a.style.animation=i?"none":""}async function Ok(n){DB(i=>{let l=i.transaction([P$],"readwrite").objectStore(P$);try{let u=l.put({id:"buffer",data:n});u.onsuccess=()=>{m5("SoundFont stored successfully")},u.onerror=f=>{console.error("Error saving soundfont",f)}}catch(u){se("Failed saving soundfont:",u)}})}async function __(n){let i=new sC(n);try{let u=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new u({sampleRate:w_})}catch(u){throw U$(Pp(256)),P7.textContent=i.getLocaleString("locale.synthInit.noWebAudio"),u}P7.textContent=i.getLocaleString("locale.synthInit.loadingSoundfont");let a=await D_(),l=!0;if(a===void 0){se("Failed to load from db, fetching online instead"),l=!1;let u=document.getElementById("progress_bar"),f=i.getLocaleString("locale.synthInit.loadingBundledSoundfont");P7.textContent=f,a=await x_(`soundfonts/${v_}`,x=>{P7.textContent=`${f} ${x}%`}),u.style.width="0"}else m5("Loaded the soundfont from the database succesfully");window.soundFontParser=a,l||(P7.textContent=i.getLocaleString("locale.synthInit.savingSoundfont"),await Ok(a)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),P7.textContent=i.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Zr(audioContextMain,soundFontParser,i),window.manager.sfError=u=>{U$(Pp(256)),l?(se("Invalid soundfont in the database. Resetting."),DB(f=>{let T=f.transaction([P$],"readwrite").objectStore(P$).delete("buffer");T.onsuccess=()=>{location.reload()}})):pC.innerHTML=`Error parsing soundfont:
${u}
`,P7.innerHTML=`Error parsing soundfont:
${u}
`},await manager.ready,ja.files[0]?await SB(ja.files):(ja.onclick=void 0,ja.onchange=()=>{ja.files[0]&&SB(ja.files).then()}),U$(cB(256)),P7.textContent=i.getLocaleString("locale.synthInit.done")}async function x_(n,i){let a=await fetch(n);if(!a.ok)throw pC.innerText="Error downloading soundfont!",a;let l=a.headers.get("content-length"),u=await(await a.body).getReader(),f=!1,x=new Uint8Array(parseInt(l)),V=0;do{let T=await u.read();T.value&&(x.set(T.value,V),V+=T.value.length),f=T.done;let N=Math.round(V/l*100);i(N)}while(!f);return x.buffer}async function SB(n){Pk.style.display="none";let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let a=[];for(let l of n)a.push({binary:await l.arrayBuffer(),altName:l.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(a):manager.play(a),kB.style.display="flex",kB.onclick=window.manager.exportSong.bind(window.manager)}function L_(n){localStorage.setItem("spessasynth-settings",JSON.stringify(n)),m5("saved as",n)}window.saveSettings=L_;var Yp=JSON.parse(localStorage.getItem("spessasynth-settings"));Yp!==null&&(window.savedSettings=new Promise(n=>{n(Yp)}));var bB;Yp&&Yp.interface&&Yp.interface.language?bB=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():bB=navigator.language.split("-")[0].toLowerCase();ja.value="";ja.focus();kB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function M_(n){pC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+n);i.name=n,await SB([i])}__(bB).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",G$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{G$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),N7&&window.chrome&&M9(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),k_.onchange=n=>{if(!n.target.files[0])return;let i=n.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=i.name,G$.style.display="",setTimeout(async()=>{G$.classList.remove("done"),U$(nw(256),!1),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let a=performance.now()/1e3,l;try{l=await i.arrayBuffer(),window.soundFontParser=l}catch(f){throw P7.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),U$(Pp(256)),M9(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),f}window.manager.sfError=f=>{P7.innerHTML=`Error parsing soundfont:
${f}
`,U$(Pp(256)),console.error(f)},P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(l),window.manager.seq&&(window.manager.seq.currentTime-=.1),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await Ok(l);let u=performance.now()/1e3-a;await new Promise(f=>setTimeout(f,1e3-u)),U$(cB(256)),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),G$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{G$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},Pk.onclick=async()=>{let n=[{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];pC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),a=JSON.parse(i);for(let l of a)n.push({type:"button",textContent:l.name,onClick:u=>{l9(u.id),M9(window.manager.localeManager.getLocaleString("locale.credits"),[{type:"text",textContent:l.credits.replace(` +Note: the video will be available in console as 'video'`,"");if(F0===null)return;let m1=document.createElement("video");m1.src=F0,m1.classList.add("secret_video"),N.parentElement.appendChild(m1),m1.play(),window.video=m1,this.seq&&(m1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),m1.play(),this.seq.currentTime=0),document.addEventListener("keydown",l1=>{l1.key===" "&&(m1.paused?m1.play():m1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new J5(i),4).toLowerCase()==="dls "&&M9(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:l=>{l9(l.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:l=>{l9(l.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new VE(i,this.synth),this.seq.onError=a=>{document.getElementById("title").textContent=a},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}async downloadDLSRMI(){let i=await this.seq.getMIDI(),a=Hs(this.soundFont),l=HE(a.writeDLS(),i,a),u=new Blob([l.buffer],{type:"audio/rmid"});this.saveBlob(u,`${i.midiName}.rmi`)}downloadDesfont(){let i=Hs(this.soundFont),a=i.write(),l=new Blob([a.buffer],{type:"audio/soundfont"});this.saveBlob(l,`${i.soundFontInfo.INAM}.sf2`)}};Zr.prototype.exportSong=Fk;Zr.prototype._exportAudioData=zv;Zr.prototype._doExportAudioData=Yv;Zr.prototype.exportMidi=Kv;Zr.prototype._exportSoundfont=Rk;Zr.prototype._exportDLS=Uk;Zr.prototype._exportRMIDI=Tk;var w_=44100,v_="GeneralUserGS.sf3",pC=document.getElementById("title"),ja=document.getElementById("midi_file_input"),k_=document.getElementById("sf_file_input"),Pk=document.getElementById("demo_song"),kB=document.getElementById("export_button"),G$=document.getElementsByClassName("loading")[0],P7=document.getElementById("loading_message"),S_=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=S_.version;var b_="spessasynth-db",P$="soundFontStore";function DB(n){let i=indexedDB.open(b_,1);i.onsuccess=()=>{let a=i.result;n(a)},i.onupgradeneeded=a=>{a.target.result.createObjectStore(P$,{keyPath:"id"})}}async function D_(){return await new Promise(n=>{DB(i=>{let u=i.transaction([P$],"readonly").objectStore(P$).get("buffer");u.onerror=f=>{console.error("Database error"),console.error(f),n(void 0)},u.onsuccess=async()=>{let f=u.result;if(!f){n(void 0);return}n(f.data)}})})}function U$(n,i=!0){let a=G$.getElementsByClassName("loading_icon")[0];a.innerHTML=n,a.style.animation=i?"none":""}async function Ok(n){DB(i=>{let l=i.transaction([P$],"readwrite").objectStore(P$);try{let u=l.put({id:"buffer",data:n});u.onsuccess=()=>{m5("SoundFont stored successfully")},u.onerror=f=>{console.error("Error saving soundfont",f)}}catch(u){se("Failed saving soundfont:",u)}})}async function __(n){let i=new sC(n);try{let u=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new u({sampleRate:w_})}catch(u){throw U$(Pp(256)),P7.textContent=i.getLocaleString("locale.synthInit.noWebAudio"),u}P7.textContent=i.getLocaleString("locale.synthInit.loadingSoundfont");let a=await D_(),l=!0;if(a===void 0){se("Failed to load from db, fetching online instead"),l=!1;let u=document.getElementById("progress_bar"),f=i.getLocaleString("locale.synthInit.loadingBundledSoundfont");P7.textContent=f,a=await x_(`soundfonts/${v_}`,x=>{P7.textContent=`${f} ${x}%`}),u.style.width="0"}else m5("Loaded the soundfont from the database succesfully");window.soundFontParser=a,l||(P7.textContent=i.getLocaleString("locale.synthInit.savingSoundfont"),await Ok(a)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),P7.textContent=i.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Zr(audioContextMain,soundFontParser,i),window.manager.sfError=u=>{U$(Pp(256)),l?(se("Invalid soundfont in the database. Resetting."),DB(f=>{let F=f.transaction([P$],"readwrite").objectStore(P$).delete("buffer");F.onsuccess=()=>{location.reload()}})):pC.innerHTML=`Error parsing soundfont:
${u}
`,P7.innerHTML=`Error parsing soundfont:
${u}
`},await manager.ready,ja.files[0]?await SB(ja.files):(ja.onclick=void 0,ja.onchange=()=>{ja.files[0]&&SB(ja.files).then()}),U$(cB(256)),P7.textContent=i.getLocaleString("locale.synthInit.done")}async function x_(n,i){let a=await fetch(n);if(!a.ok)throw pC.innerText="Error downloading soundfont!",a;let l=a.headers.get("content-length"),u=await(await a.body).getReader(),f=!1,x=new Uint8Array(parseInt(l)),H=0;do{let F=await u.read();F.value&&(x.set(F.value,H),H+=F.value.length),f=F.done;let N=Math.round(H/l*100);i(N)}while(!f);return x.buffer}async function SB(n){Pk.style.display="none";let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let a=[];for(let l of n)a.push({binary:await l.arrayBuffer(),altName:l.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(a):manager.play(a),kB.style.display="flex",kB.onclick=window.manager.exportSong.bind(window.manager)}function L_(n){localStorage.setItem("spessasynth-settings",JSON.stringify(n)),m5("saved as",n)}window.saveSettings=L_;var Yp=JSON.parse(localStorage.getItem("spessasynth-settings"));Yp!==null&&(window.savedSettings=new Promise(n=>{n(Yp)}));var bB;Yp&&Yp.interface&&Yp.interface.language?bB=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():bB=navigator.language.split("-")[0].toLowerCase();ja.value="";ja.focus();kB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function M_(n){pC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+n);i.name=n,await SB([i])}__(bB).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",G$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{G$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),N7&&window.chrome&&M9(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),k_.onchange=n=>{if(!n.target.files[0])return;let i=n.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=i.name,G$.style.display="",setTimeout(async()=>{G$.classList.remove("done"),U$(nw(256),!1),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let a=performance.now()/1e3,l;try{l=await i.arrayBuffer(),window.soundFontParser=l}catch(f){throw P7.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),U$(Pp(256)),M9(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),f}window.manager.sfError=f=>{P7.innerHTML=`Error parsing soundfont:
${f}
`,U$(Pp(256)),console.error(f)},P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(l),window.manager.seq&&(window.manager.seq.currentTime-=.1),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await Ok(l);let u=performance.now()/1e3-a;await new Promise(f=>setTimeout(f,1e3-u)),U$(cB(256)),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),G$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{G$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},Pk.onclick=async()=>{let n=[{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];pC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),a=JSON.parse(i);for(let l of a)n.push({type:"button",textContent:l.name,onClick:u=>{l9(u.id),M9(window.manager.localeManager.getLocaleString("locale.credits"),[{type:"text",textContent:l.credits.replace(` `,`\r \r `),attributes:{style:"white-space: pre-line;"}},{type:"button",textContent:"Ok",onClick:f=>{l9(f.id)}}],999999,!0,void 0,void 0,async()=>{await M_(l.fileName)})}});M9(window.manager.localeManager.getLocaleString("locale.demoSongButton"),n,999999,!0,void 0)}}); diff --git a/src/website/minified/local_main.min.js b/src/website/minified/local_main.min.js index e7e654bc..4e7d7b17 100644 --- a/src/website/minified/local_main.min.js +++ b/src/website/minified/local_main.min.js @@ -1,4 +1,4 @@ -var wE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>(typeof require<"u"?require:i)[a]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var J5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((u,I)=>u+I.length,0),a=new J5(i),l=0;for(let u of n)a.set(u,l),l+=u.length;return a}function b$(n){n=Math.floor(n);let i=Math.floor(n/60),a=Math.round(n-i*60);return{minutes:i,seconds:a,time:`${i.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}}function vE(n){return n.trim().replaceAll(".mid","").replaceAll(".kar","").replaceAll(".rmi","").replaceAll("_"," ").trim()}var I1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,a,l){this.ticks=i,this.messageStatusByte=a,this.messageData=l}};var v3={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 fQ(n){let i=n&240,a=n&15,l=-1,u=n;return i>=128&&i<=224&&(l=a,u=i),{status:u,channel:l}}var $3={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 kE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{},synthdisplay:{}},this.timeDelay=0}addEvent(i,a,l){this.events[i][a]=l}removeEvent(i,a){delete this.events[i][a]}callEvent(i,a){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(l=>{try{l(a)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}})},this.timeDelay*1e3):Object.values(this.events[i]).forEach(l=>{try{l(a)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}}))}};var Kr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},kp=class{constructor(i,a=Kr){let l=i.context;this.input=new ChannelSplitterNode(l,{numberOfOutputs:2});let u=new ChannelMergerNode(l,{numberOfInputs:2}),I=[],x=[],V=a.oscillatorFrequency,T=a.defaultDelay;for(let N=0;N{let I=await u.arrayBuffer();a.buffer=await n.decodeAudioData(I)})}return a}var B4={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,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},Sp={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},a7=-1,D$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var mQ=!1,pQ=!0,SE=!1,TD=!0;function EQ(n,i,a,l){mQ=n,pQ=i,SE=a,TD=l}function x5(...n){mQ&&console.info(...n)}function me(...n){pQ&&console.warn(...n)}function F7(...n){SE&&console.group(...n)}function Q8(...n){SE&&console.groupCollapsed(...n)}function ue(){SE&&console.groupEnd()}var CQ={chorusEnabled:!0,chorusConfig:Kr,reverbEnabled:!0,reverbImpulseResponse:void 0};var bp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var bE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,a){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,a]})}async addNewSoundFont(i,a,l=0){if(this.soundfontList.find(u=>u.id===a)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(bp.addNewSoundFont,[i,a,l]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:a,bankOffset:l})}deleteSoundFont(i){if(this.soundfontList.length===0){me("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(a=>a.id===i)===-1){me(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(bp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(bp.rearrangeSoundFonts,i),this.soundfontList.sort((a,l)=>i.indexOf(a.id)-i.indexOf(l.id))}async reloadManager(i){this._sendToWorklet(bp.reloadSoundFont,i),await new Promise(a=>this.synth.resolveWhenReady=a)}};var u0={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},W6=[];W6[u0.startAddrsOffset]={min:0,max:32768,def:0};W6[u0.endAddrOffset]={min:-32768,max:32768,def:0};W6[u0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[u0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[u0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[u0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[u0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[u0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[u0.initialFilterFc]={min:1500,max:13500,def:13500};W6[u0.initialFilterQ]={min:0,max:960,def:0};W6[u0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[u0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[u0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.modLfoToVolume]={min:-960,max:960,def:0};W6[u0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[u0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[u0.pan]={min:-500,max:500,def:0};W6[u0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[u0.freqModLFO]={min:-16e3,max:4500,def:0};W6[u0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[u0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[u0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[u0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[u0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.sustainModEnv]={min:0,max:1e3,def:0};W6[u0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[u0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[u0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[u0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.sustainVolEnv]={min:0,max:1440,def:0};W6[u0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[u0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[u0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[u0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.keyNum]={min:-1,max:127,def:-1};W6[u0.velocity]={min:-1,max:127,def:-1};W6[u0.initialAttenuation]={min:-250,max:1440,def:0};W6[u0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.coarseTune]={min:-120,max:120,def:0};W6[u0.fineTune]={min:-12700,max:12700,def:0};W6[u0.scaleTuning]={min:0,max:1200,def:100};W6[u0.exclusiveClass]={min:0,max:99999,def:0};W6[u0.overridingRootKey]={min:-1,max:127,def:-1};W6[u0.sampleModes]={min:0,max:3,def:0};var q3=class{generatorType=u0.INVALID;generatorValue=0;constructor(i=u0.INVALID,a=0,l=!0){if(this.generatorType=i,a===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(a),l){let u=W6[i];u!==void 0&&(this.generatorValue=Math.max(u.min,Math.min(u.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},j7={linear:0,concave:1,convex:2,switch:3},le=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=u0.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,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===u0.reverbEffectsSend||this.modulatorDestination===u0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,a,l=!1){return i.sourceEnum===a.sourceEnum&&i.modulatorDestination===a.modulatorDestination&&i.secondarySourceEnum===a.secondarySourceEnum&&i.transformType===a.transformType&&(!l||i.transformAmount===a.transformAmount)}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(u,I){return Object.keys(u).find(x=>u[x]===I)}let a=i(j7,this.sourceCurveType);a+=this.sourcePolarity===0?" unipolar ":" bipolar ",a+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?a+=i($3,this.sourceIndex):a+=i(q4,this.sourceIndex);let l=i(j7,this.secSrcCurveType);return l+=this.secSrcPolarity===0?" unipolar ":" bipolar ",l+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?l+=i($3,this.secSrcIndex):l+=i(q4,this.secSrcIndex),`Modulator: +var wE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>(typeof require<"u"?require:i)[a]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var J5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((u,m)=>u+m.length,0),a=new J5(i),l=0;for(let u of n)a.set(u,l),l+=u.length;return a}function b$(n){n=Math.floor(n);let i=Math.floor(n/60),a=Math.round(n-i*60);return{minutes:i,seconds:a,time:`${i.toString().padStart(2,"0")}:${a.toString().padStart(2,"0")}`}}function vE(n){return n.trim().replaceAll(".mid","").replaceAll(".kar","").replaceAll(".rmi","").replaceAll("_"," ").trim()}var I1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,a,l){this.ticks=i,this.messageStatusByte=a,this.messageData=l}};var v3={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 fQ(n){let i=n&240,a=n&15,l=-1,u=n;return i>=128&&i<=224&&(l=a,u=i),{status:u,channel:l}}var $3={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 kE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{},synthdisplay:{}},this.timeDelay=0}addEvent(i,a,l){this.events[i][a]=l}removeEvent(i,a){delete this.events[i][a]}callEvent(i,a){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(l=>{try{l(a)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}})},this.timeDelay*1e3):Object.values(this.events[i]).forEach(l=>{try{l(a)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}}))}};var Kr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},kp=class{constructor(i,a=Kr){let l=i.context;this.input=new ChannelSplitterNode(l,{numberOfOutputs:2});let u=new ChannelMergerNode(l,{numberOfInputs:2}),m=[],x=[],H=a.oscillatorFrequency,F=a.defaultDelay;for(let T=0;T{let m=await u.arrayBuffer();a.buffer=await n.decodeAudioData(m)})}return a}var B4={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,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},Sp={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},a7=-1,D$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var mQ=!1,pQ=!0,SE=!1,TD=!0;function EQ(n,i,a,l){mQ=n,pQ=i,SE=a,TD=l}function x5(...n){mQ&&console.info(...n)}function me(...n){pQ&&console.warn(...n)}function F7(...n){SE&&console.group(...n)}function Q8(...n){SE&&console.groupCollapsed(...n)}function ue(){SE&&console.groupEnd()}var CQ={chorusEnabled:!0,chorusConfig:Kr,reverbEnabled:!0,reverbImpulseResponse:void 0};var bp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var bE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,a){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,a]})}async addNewSoundFont(i,a,l=0){if(this.soundfontList.find(u=>u.id===a)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(bp.addNewSoundFont,[i,a,l]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:a,bankOffset:l})}deleteSoundFont(i){if(this.soundfontList.length===0){me("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(a=>a.id===i)===-1){me(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(bp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(bp.rearrangeSoundFonts,i),this.soundfontList.sort((a,l)=>i.indexOf(a.id)-i.indexOf(l.id))}async reloadManager(i){this._sendToWorklet(bp.reloadSoundFont,i),await new Promise(a=>this.synth.resolveWhenReady=a)}};var u0={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},W6=[];W6[u0.startAddrsOffset]={min:0,max:32768,def:0};W6[u0.endAddrOffset]={min:-32768,max:32768,def:0};W6[u0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[u0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[u0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[u0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[u0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[u0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[u0.initialFilterFc]={min:1500,max:13500,def:13500};W6[u0.initialFilterQ]={min:0,max:960,def:0};W6[u0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[u0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[u0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.modLfoToVolume]={min:-960,max:960,def:0};W6[u0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[u0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[u0.pan]={min:-500,max:500,def:0};W6[u0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[u0.freqModLFO]={min:-16e3,max:4500,def:0};W6[u0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[u0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[u0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[u0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[u0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.sustainModEnv]={min:0,max:1e3,def:0};W6[u0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[u0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[u0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[u0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[u0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[u0.sustainVolEnv]={min:0,max:1440,def:0};W6[u0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[u0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[u0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[u0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.keyNum]={min:-1,max:127,def:-1};W6[u0.velocity]={min:-1,max:127,def:-1};W6[u0.initialAttenuation]={min:-250,max:1440,def:0};W6[u0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[u0.coarseTune]={min:-120,max:120,def:0};W6[u0.fineTune]={min:-12700,max:12700,def:0};W6[u0.scaleTuning]={min:0,max:1200,def:100};W6[u0.exclusiveClass]={min:0,max:99999,def:0};W6[u0.overridingRootKey]={min:-1,max:127,def:-1};W6[u0.sampleModes]={min:0,max:3,def:0};var q3=class{generatorType=u0.INVALID;generatorValue=0;constructor(i=u0.INVALID,a=0,l=!0){if(this.generatorType=i,a===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(a),l){let u=W6[i];u!==void 0&&(this.generatorValue=Math.max(u.min,Math.min(u.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},j7={linear:0,concave:1,convex:2,switch:3},le=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=u0.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,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===u0.reverbEffectsSend||this.modulatorDestination===u0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,a,l=!1){return i.sourceEnum===a.sourceEnum&&i.modulatorDestination===a.modulatorDestination&&i.secondarySourceEnum===a.secondarySourceEnum&&i.transformType===a.transformType&&(!l||i.transformAmount===a.transformAmount)}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(u,m){return Object.keys(u).find(x=>u[x]===m)}let a=i(j7,this.sourceCurveType);a+=this.sourcePolarity===0?" unipolar ":" bipolar ",a+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?a+=i($3,this.sourceIndex):a+=i(q4,this.sourceIndex);let l=i(j7,this.secSrcCurveType);return l+=this.secSrcPolarity===0?" unipolar ":" bipolar ",l+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?l+=i($3,this.secSrcIndex):l+=i(q4,this.secSrcIndex),`Modulator: Source: ${a} Secondary source: ${l} Destination: ${i(u0,this.modulatorDestination)} @@ -6,8 +6,8 @@ var wE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>( Transform type: ${this.transformType} -`}},jC=960,XC=j7.concave;function Jr(n,i,a,l,u){return n<<10|i<<9|a<<8|l<<7|u}var ND=[new le({srcEnum:Jr(XC,0,1,0,q4.noteOnVelocity),dest:u0.initialAttenuation,amt:jC,secSrcEnum:0,transform:0}),new le({srcEnum:129,dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(XC,0,1,1,$3.mainVolume),dest:u0.initialAttenuation,amt:jC,secSrcEnum:0,transform:0}),new le({srcEnum:13,dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new le({srcEnum:526,dest:u0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new le({srcEnum:650,dest:u0.pan,amt:500,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(XC,0,1,1,$3.expressionController),dest:u0.initialAttenuation,amt:jC,secSrcEnum:0,transform:0}),new le({srcEnum:219,dest:u0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new le({srcEnum:221,dest:u0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0})],GD=[new le({srcEnum:Jr(j7.linear,0,0,0,q4.polyPressure),dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(j7.linear,0,0,1,$3.tremoloDepth),dest:u0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(j7.linear,1,0,1,$3.releaseTime),dest:u0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(j7.linear,1,0,1,$3.brightness),dest:u0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(j7.linear,1,0,1,$3.timbreHarmonicContent),dest:u0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})],DE=ND.concat(GD);var _$=128,BQ=147,UD=new Int16Array(BQ).fill(0),A7=(n,i)=>UD[n]=i<<7;A7($3.mainVolume,100);A7($3.balance,64);A7($3.expressionController,127);A7($3.pan,64);A7($3.timbreHarmonicContent,64);A7($3.releaseTime,64);A7($3.attackTime,64);A7($3.brightness,64);A7($3.soundController6,64);A7($3.soundController7,64);A7($3.soundController8,64);A7($3.soundController9,64);A7($3.generalPurposeController6,64);A7($3.generalPurposeController8,64);A7(_$+q4.pitchWheel,64);A7(_$+q4.pitchWheelRange,2);var _E={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},yQ=Object.keys(_E).length,PD=new Float32Array(yQ);PD[_E.modulationMultiplier]=1;var QQ={velocityOverride:128};var xE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,a=-1,l=-1){this.velocity=i,this.patch={bank:a,program:l}}},LE={addMapping:0,deleteMapping:1,clearMappings:2};var ME=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,a){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,a]})}addModifier(i,a,l){let u=l?.velocity??-1,I=l?.patch?.program??-1,x=l?.patch?.bank??-1,V=new xE(u,x,I);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][a]=V,this._sendToWorklet(LE.addMapping,[i,a,V])}getModifier(i,a){return this._keyModifiers?.[i]?.[a]}deleteModifier(i,a){this._sendToWorklet(LE.deleteMapping,[i,a]),this._keyModifiers[i]?.[a]!==void 0&&(this._keyModifiers[i][a]=void 0)}clearModifiers(){this._sendToWorklet(LE.clearMappings,void 0),this._keyModifiers=[]}};var OD="spessasynth-worklet-system",eB=350,T7=9,qD=16;var pu=class{constructor(i,a,l=!0,u=void 0,I=CQ){x5("%cInitializing SpessaSynth synthesizer...",I1.info),this.context=i.context,this.targetNode=i;let x=u?.oneOutput===!0;this.eventHandler=new kE,this._voiceCap=eB,this._destroyed=!1,this._outputsAmount=qD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(N=>this.resolveWhenReady=N),this.channelProperties=[];for(let N=0;Nthis.handleMessage(N.data),this.soundfontManager=new bE(this),this.keyModifierManager=new ME(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!x&&(this.reverbProcessor=IQ(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!x&&(this.chorusProcessor=new kp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),x)this.worklet.connect(i,0);else for(let N=2;N{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(Sp.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,a,l,u){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,a,l,u]})}_setMasterParam(i,a){this.post({channelNumber:a7,messageType:B4.setMasterParameter,messageData:[i,a]})}setInterpolationType(i){this._setMasterParam(Sp.interpolationType,i)}handleMessage(i){let a=i.messageData;switch(i.messageType){case D$.channelProperties:this.channelProperties=a,this._voicesAmount=this.channelProperties.reduce((l,u)=>l+u.voicesAmount,0);break;case D$.eventCall:this.eventHandler.callEvent(a.eventName,a.eventData);break;case D$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(a.messageType,a.messageData);break;case D$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(a);break;case D$.ready:this.resolveWhenReady();break;case D$.soundfontError:me(new Error(a)),this.eventHandler.callEvent("soundfonterror",a);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=a=>{this._snapshotCallback=void 0,a.effectsConfig=this.effectsConfig,i(a)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:a7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,a){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:a})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${i.length}`);for(let a=0;a127||a<0)throw new Error(`Invalid controller number: ${a}`);l=Math.floor(l),a=Math.floor(a),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[a,l,u]})}resetControllers(){this.post({channelNumber:a7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,a){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:a})}polyPressure(i,a,l){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[a,l]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,a,l){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[a,l]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,a,l=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[a,l]})}setMainVolume(i){this._setMasterParam(Sp.mainVolume,i)}setMasterPan(i){this._setMasterParam(Sp.masterPan,i)}setPitchBendRange(i,a){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,a),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,a,l=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[a,l]})}velocityOverride(i,a){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[QQ.velocityOverride,a,!0]})}lockController(i,a,l){this.post({channelNumber:i,messageType:B4.lockController,messageData:[a,l]})}muteChannel(i,a){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:a})}async reloadSoundFont(i){me("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:a7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,a){this.post({channelNumber:i,messageType:B4.setDrums,messageData:a})}sendMessage(i,a=0){let l=fQ(i[0]);switch(l.channel+=a,l.status){case v3.noteOn:let u=i[2];u>0?this.noteOn(l.channel,i[1],u):this.noteOff(l.channel,i[1]);break;case v3.noteOff:this.noteOff(l.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(l.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(l.channel,i[1],i[2]);break;case v3.programChange:this.programChange(l.channel,i[1]);break;case v3.polyPressure:this.polyPressure(l.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(l.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new J5(i.slice(1)));break;case v3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new kp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,a){this.post({messageType:B4.setEffectsGain,messageData:[i,a]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(l),this.releaseNote(l,this.channel),this.synth.noteOff(this.channel,l)},i=(l,u)=>{let I;if(pr)I=127;else{let V=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let T=u.clientX-V.left,N=V.width;I=Math.floor((N-T)/N*127)}else{let T=u.clientY-V.top,N=V.height;I=Math.floor(T/N*127)}}this.onNotePressed&&this.onNotePressed(l,I),this.synth.noteOn(this.channel,l,I,this.enableDebugging)},a=l=>{let u=l.touches?Array.from(l.touches):[l],I=new Set;u.forEach(x=>{let V=document.elementFromPoint(x.clientX,x.clientY),T=parseInt(V.id.replace("note",""));I.add(T),!(isNaN(T)||T<0||this.pressedKeys.has(T))&&(this.pressedKeys.add(T),i(T,x))}),this.pressedKeys.forEach(x=>{I.has(x)||n(x)})};pr||(document.addEventListener("mousedown",l=>{this.mouseHeld=!0,a(l)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(l=>{n(l)})}),this.keyboard.onmousemove=l=>{this.mouseHeld&&a(l)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(l=>{n(l)})}),this.keyboard.ontouchstart=a.bind(this),this.keyboard.ontouchend=a.bind(this),this.keyboard.ontouchmove=a.bind(this)}var vQ=20,Dp=class{onNotePressed=void 0;constructor(i,a){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",l=>{l.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",l=>{l.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=a,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",l=>{this.pressNote(l.midiNote,l.channel,l.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",l=>{this.releaseNote(l.midiNote,l.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",l=>{if(l.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,l.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let a=i.min;i.min=i.max,i.max=a}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(I=a(i-1)),i<127&&(x=a(i+1)),x&&I?l.classList.add("between_sharps"):I?l.classList.add("left_sharp"):x&&l.classList.add("right_sharp")}return l}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(l=>{l.classList.contains("flat_key")&&l.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(l=>{l.classList.contains("flat_key")&&l.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,a=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let u=900/(i.max-i.min+5),I=document.styleSheets[0].cssRules,x;for(let V of I)if(V.selectorText==="#keyboard .key"){x=V;break}if(x.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),a){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let V=getComputedStyle(this.keyboard),T=parseFloat(V.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),N=this.keyboard.getBoundingClientRect().height,b0=u/T,w=N*b0-N,U=(this._keyRange.min+this._keyRange.max)/2,P=(i.min+i.max)/2;this._keyRange=i;let F0=this.keys.find(j1=>j1.classList.contains("sharp_key")).getBoundingClientRect().width,m1=(U-P)*F0,l1=parseFloat(V.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${w}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${b0}) translateX(${m1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${l1/b0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${u}`),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",`${u}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,a,l){let u=this.keys[i-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let I=u.classList.contains("sharp_key"),x=l/127,V=this.channelColors[a%16].match(/\d+(\.\d+)?/g).map(parseFloat),T;if(!I&&this.mode==="light"?T=`rgba(${V.slice(0,3).map(b0=>255-(255-b0)*x).join(", ")}, ${V[3]})`:T=`rgba(${V.slice(0,3).map(b0=>b0*x).join(", ")}, ${V[3]})`,u.style.background=T,this.mode==="dark"){let N=vQ*x;u.style.boxShadow=`${T} 0px 0px ${N}px ${N/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[a%16])}releaseNote(i,a){let l=this.keys[i-this._keyRange.min];if(l===void 0)return;a%=this.channelColors.length;let u=this.keyColors[i-this._keyRange.min];if(!u)return;let I=u.findLastIndex(V=>V===this.channelColors[a]);if(I===-1)return;u.splice(I,1);let x=u[u.length-1]||"";l.style.background=x,this.mode==="dark"&&x!==""&&(l.style.boxShadow=`0px 0px ${vQ}px ${x}`),u.length<1&&(l.classList.remove("pressed"),l.style.background="",l.style.boxShadow="")}clearNotes(){this.keys.forEach((i,a)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[a]=[]})}};Dp.prototype._handlePointers=wQ;function x$(n,i){let a=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(a[0]))}, ${i(parseInt(a[1]))}, ${i(parseInt(a[2]))})`}var VD="#000";function kQ(n,i,a){n.forEach(l=>{if(l.pressedProgress===0)return;i.fillStyle=l.color;let u=l.pressedProgress*l.velocity;if(i.globalAlpha=.5*u,a){i.fillRect(l.xPos,l.yPos-l.height*u,l.width,l.height*(u*2+1)),i.globalAlpha=1;return}i.fillRect(l.xPos-l.width*u,l.yPos,l.width*(u*2+1),l.height),i.globalAlpha=1}),n.forEach(l=>{i.fillStyle=l.color,i.save(),i.translate(l.xPos,l.yPos),i.fillRect(0,0,l.width,l.height),i.restore(),i.strokeStyle=VD,i.lineWidth=l.stroke,i.strokeRect(l.xPos,l.yPos,l.width,l.height)})}var tB=!1;function SQ(n=!0,i=!1){let a=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||a)if(tB){n&&requestAnimationFrame(this.render.bind(this));return}else tB=!0;else tB=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let I=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||kQ(I,this.drawingContext,this.sideways)}let l=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/l;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${RE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,RE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,RE+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function bQ(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,a=this.sideways?this.canvas.width:this.canvas.height,l=this.keyRange.max-this.keyRange.min,u=i/(l+1),I=u-M$*2,x=this.noteFallingTimeMs/1e3,V=this.noteAfterTriggerTimeMs/1e3,T=this.seq.currentHighResolutionTime-this.timeOffset,N=T-V,b0=x+V,w=N+b0,U=_Q/b0,P=[];this.synth.channelProperties.forEach(m1=>{if(this.showVisualPitch){let l1=m1.pitchBend-8192+this.visualPitchBendOffset;P.push(m1.pitchBendRangeSemitones*(l1/8192*u))}else P.push(0)});let F0=[];return this.noteTimes.forEach((m1,l1)=>{if(m1.renderStartIndex>=m1.notes.length||!this.renderChannels[l1])return;let j1=m1.renderStartIndex,U1=m1.notes,c2=U1[j1],P2=-1;for(;c2.start<=w&&(j1++,!(this.notesOnScreen>xQ));){let L2=c2.start+c2.length;if(L2>N&&c2.length>0){let a0=c2.length/b0*a-M$*2;if(this.notesOnScreen<1e3||a0>U){P2===-1&&(P2=j1-1);let g5=(c2.start-N)/b0*a,p3;if(this._notesFall?p3=a-a0-g5+M$:p3=g5+M$,c2.midiNotethis.keyRange.max){if(j1>=U1.length)break;c2=U1[j1];continue}let k3=c2.midiNote-this.keyRange.min,u6=u*k3+M$,S3,ce,Ne,E3;if(this.sideways?(S3=p3,ce=u6,E3=I,Ne=a0):(ce=p3,S3=u6,Ne=I,E3=a0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[l1],this.drawingContext.fillRect(S3+L$+M$,ce+L$,Ne-L$*2,E3-L$*2);else{let p6;if(c2.start>T||L2=U1.length)break;c2=U1[j1]}P2>-1&&(m1.renderStartIndex=P2)}),F0.sort((m1,l1)=>l1.height-m1.height),F0}function LQ(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((a,l)=>{let u=l%4,I=Math.floor(l/4),x=!1;for(let w=l;w0){x=!0;break}if(!x){let w=this.canvas.width/4,U=this.canvas.height/4,P=w*u,F0=U*I+U/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[l],this.drawingContext.beginPath(),this.drawingContext.moveTo(P,F0),this.drawingContext.lineTo(P+w,F0),this.drawingContext.stroke();return}let V=new Float32Array(a.frequencyBinCount);a.getFloatTimeDomainData(V);let T=n*u,N=i*I+i/2,b0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[l],this.drawingContext.beginPath(),this._stabilizeWaveforms){let w=V.length/4,U=n/w,P=Math.floor(w/2),F0=V.length-P;for(let U1=F0;U1>=1;U1--)if(V[U1-1]<0&&V[U1]>=0){F0=U1;break}let m1=T,l1=F0-P,j1=F0+P;for(let U1=l1;U1{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function FQ(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function NQ(){for(let n of this.channelAnalysers)n.disconnect();x5("%cAnalysers disconnected!",I1.recognized)}function GQ(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let a=new Blob([i.RMIDInfo?.IPIC.buffer]),l=URL.createObjectURL(a),u=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${u}), rgba(0, 0, 0, ${u})), center center / cover url("${l}")`}else this.canvas.style.background=""},"renderer-song-change")}function UQ(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function _p(n,i){let a=0;for(let l=8*(i-1);l>=0;l-=8)a|=n[n.currentIndex++]<>>0}function xp(n,i){let a=new Array(i).fill(0);for(let l=i-1;l>=0;l--)a[l]=n&255,n>>=8;return a}var Eu=.02;function PQ(n){function i(N){return N.messageData=new J5(N.messageData.buffer),N.messageData.currentIndex=0,6e7/_p(N.messageData,3)}let a=[],u=n.tracks.flat();u.sort((N,b0)=>N.ticks-b0.ticks);for(let N=0;N<16;N++)a.push({renderStartIndex:0,notes:[]});let I=0,x=60/(120*n.timeDivision),V=0,T=0;for(;V>4,w=N.messageStatusByte&15;if(b0===8){let U=a[w].notes.findLast(P=>P.midiNote===N.messageData[0]&&P.length===-1);if(U){let P=I-U.start;U.length=PP.midiNote===N.messageData[0]&&P.length===-1);if(U){let P=I-U.start;U.length=P=u.length)break;I+=x*(u[V].ticks-N.ticks)}T>0&&a.forEach((N,b0)=>N.notes.filter(w=>w.length===-1).forEach(w=>{let U=I-w.start;w.length=Ui.max){let a=i.min;i.min=i.max,i.max=a}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return a.addColorStop(0,x$(i,l=>l*TE)),a.addColorStop(1,i),a}),this.darkerColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return a.addColorStop(0,x$(i,l=>l*TE*FE)),a.addColorStop(1,x$(i,l=>l*FE)),a}),this.sidewaysChannelColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return a.addColorStop(0,x$(i,l=>l*TE)),a.addColorStop(1,i),a}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return a.addColorStop(0,x$(i,l=>l*TE*FE)),a.addColorStop(1,x$(i,l=>l*FE)),a})}};N7.prototype.render=SQ;N7.prototype.computeNotePositions=bQ;N7.prototype.createChannelAnalysers=RQ;N7.prototype.updateFftSize=FQ;N7.prototype.connectChannelAnalysers=TQ;N7.prototype.disconnectChannelAnalysers=NQ;N7.prototype.connectSequencer=GQ;N7.prototype.calculateNoteTimes=PQ;N7.prototype.resetIndexes=UQ;N7.prototype.renderWaveforms=LQ;function o3(n,i){let a=0;for(let l=0;l>>0}function Ii(n,i,a){for(let l=0;l>l*8&255}function X3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function pe(n,i){Ii(n,i,4)}function Ua(n,i){let a=i<<8|n;return a>32767?a-65536:a}function OQ(n){return n>127?n-256:n}function y4(n,i,a=void 0,l=!0){if(a){let u=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(a.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,I="";for(let x=0;x127)&&V!==10){if(l){u=!0;continue}else if(V===0){u=!0;continue}}I+=String.fromCharCode(V)}}return I}}function R$(n,i=0){let a=n.length;i>0&&(a=i);let l=new J5(a);return P8(l,n,i),l}function Tn(n){return R$(n,n.length+1)}function P8(n,i,a=0){a>0&&i.length>a&&(i=i.slice(0,a));for(let l=0;li.length)for(let l=0;la.header!=="LIST"?!1:(a.chunkData.currentIndex=0,y4(a.chunkData,4)===i))}function NE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function GE(n){if(!n.tracks)throw new Error("MIDI has no tracks!");let i=[];for(let u of n.tracks){let I=[],x=0,V;for(let T of u){let N=T.ticks-x,b0;T.messageStatusByte<=v3.keySignature||T.messageStatusByte===v3.sequenceSpecific?b0=[255,T.messageStatusByte,...NE(T.messageData.length),...T.messageData]:T.messageStatusByte===v3.systemExclusive?b0=[240,...NE(T.messageData.length),...T.messageData]:(b0=[],V!==T.messageStatusByte&&(V=T.messageStatusByte,b0.push(T.messageStatusByte)),b0.push(...T.messageData)),I.push(...NE(N)),I.push(...b0),x+=N}i.push(new Uint8Array(I))}function a(u,I){for(let x=0;x{n.tracks.forEach((F0,m1)=>{if(n.midiPorts[m1]===P)for(let l1=F0.length-1;l1>=0;l1--)F0[l1].messageStatusByte>=128&&F0[l1].messageStatusByte<240&&(F0[l1].messageStatusByte&15)===U&&F0.splice(l1,1)})};l.forEach(U=>{let P=U%16,F0=U-P,m1=n.midiPortChannelOffsets.findIndex(l1=>l1===F0);I(P,m1),x5(`%cRemoving channel %c${U}%c!`,I1.info,I1.recognized,I1.info)});let x=!1,V="gs",T=[],N=[];n.tracks.forEach((U,P)=>{U.forEach(F0=>{let m1=F0.messageStatusByte&240;m1===v3.controllerChange?T.push({track:P,message:F0,channel:F0.messageStatusByte&15}):m1===v3.programChange?N.push({track:P,message:F0,channel:F0.messageStatusByte&15}):F0.messageStatusByte===v3.systemExclusive&&(F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[5]===126&&F0.messageData[6]===0?(x5("%cXG system on detected",I1.info),V="xg",x=!0):F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[3]===8&&F0.messageData[5]===3&&N.push({track:P,message:F0,channel:F0.messageData[4]}))})});let b0=(U,P,F0)=>n.tracks.reduce((m1,l1,j1)=>{if(n.usedChannelsOnTrack[j1].has(U)&&n.midiPorts[j1]===P){let U1;F0?U1=l1.findIndex(c2=>(c2.messageStatusByte&240)===v3.noteOn):U1=l1.findIndex(c2=>c2.messageStatusByte>128&&c2.messageStatusByte<240&&(c2.messageStatusByte&15)===U&&!(c2.messageStatusByte&v3.controllerChange===240&&(c2.messageData[0]===$3.resetAllControllers||c2.messageData[0]===$3.allNotesOff||c2.messageData[0]===$3.allSoundOff))),U1!==-1&&m1.push({index:U1,track:j1})}return m1},[]),w=(U,P,F0)=>{let m1=T.filter(l1=>l1.channel===U&&l1.message.messageData[0]===F0&&n.midiPorts[l1.track]===P);for(let l1=0;l1{let P=U.channel,F0=P%16,m1=P-F0,l1=n.midiPortChannelOffsets.findIndex(a0=>a0===m1),j1=U.controllerValue,U1=U.controllerNumber;w(F0,l1,U1),x5(`%cNo controller %c${U1}%c on channel %c${P}%c found. Adding it!`,I1.info,I1.unrecognized,I1.info,I1.value,I1.info);let c2=b0(F0,l1,!0);if(c2.length===0){me("Program change but no notes... ignoring!");return}let P2=c2.reduce((a0,g5)=>n.tracks[g5.track][g5.index].ticks{let P=U.channel%16,F0=U.channel-P,m1=n.midiPortChannelOffsets.findIndex(k3=>k3===F0),l1=U.isDrum?0:U.bank,j1=U.program,U1=N.filter(k3=>n.midiPorts[k3.track]===m1&&k3.channel===P);if(w(P,m1,$3.bankSelect),w(P,m1,$3.lsbForControl0BankSelect),(U.isDrum||l1>0)&&!x&&(n.tracks.forEach(k3=>{for(let u6=0;u60);if(c2.length===0){me("Program change but no notes... ignoring!");return}let P2=c2.reduce((k3,u6)=>n.tracks[u6.track][u6.index].ticks{if(n.midiPorts[U1]!==F0||!n.usedChannelsOnTrack[U1].has(P))return;let c2=v3.noteOn|P,P2=v3.noteOff|P,L2=v3.polyPressure|P;j1.forEach(a0=>{a0.messageStatusByte!==c2&&a0.messageStatusByte!==P2&&a0.messageStatusByte!==L2||(a0.messageData[0]=Math.max(0,Math.min(127,a0.messageData[0]+m1)))})}),l1!==0){let j1=n.tracks.find((S3,ce)=>n.usedChannelsOnTrack[ce].has(U.channel));if(j1===void 0){me(`Channel ${U.channel} unused but transpose requested???`);continue}let U1=v3.noteOn|U.channel%16,c2=j1.findIndex(S3=>S3.messageStatusByte===U1);if(c2===-1){me(`No notes on channel ${U.channel} but transpose requested???`);continue}let P2=j1[c2].ticks,L2=l1*64+64,a0=v3.controllerChange|U.channel%16,g5=new w7(P2,a0,new J5([$3.RPNMsb,0])),p3=new w7(P2,a0,new J5([$3.RPNLsb,1])),k3=new w7(P2,a0,new J5([$3.dataEntryMsb,L2])),u6=new w7(P2,a0,new J5([$3.lsbForControl6DataEntry,0]));j1.splice(c2,0,u6),j1.splice(c2,0,k3),j1.splice(c2,0,p3),j1.splice(c2,0,g5)}}ue()}function Pa(n,i){let a=[],l=[],u=[],I=[];i.channelSnapshots.forEach((x,V)=>{if(x.isMuted){l.push(V);return}let T=x.channelTransposeKeyShift+x.customControllers[_E.channelTransposeFine]/100;T!==0&&a.push({channel:V,keyShift:T}),x.lockPreset&&u.push({channel:V,program:x.program,bank:x.bank,isDrum:x.drumChannel}),x.lockedControllers.forEach((N,b0)=>{if(!N||b0>127||b0===$3.bankSelect)return;let w=x.midiControllers[b0]>>7;I.push({channel:V,controllerNumber:b0,controllerValue:w})})}),ZD(n,u,I,l,a)}var w8={name:"INAM",album:"IPRD",album2:"IALB",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",jD="Created using SpessaSynth";function UE(n,i,a,l=0,u="Shift_JIS",I={},x=!0){if(F7("%cWriting the RMIDI File...",I1.info),x5(`%cConfiguration: Bank offset: %c${l}%c, encoding: %c${u}`,I1.info,I1.value,I1.info,I1.value),x5("metadata",I),x5("Initial bank offset",i.bankOffset),x){let j1=function(){let L2=0,a0=1/0;return i.tracks.forEach((g5,p3)=>{m1[p3]>=g5.length||g5[m1[p3]].ticksa0>L2?a0:L2),P2=[];for(let L2=0;L20;){let L2=j1(),a0=i.tracks[L2];if(m1[L2]>=a0.length){l1--;continue}let g5=a0[m1[L2]];m1[L2]++;let p3=i.midiPortChannelOffsets[U1[L2]];if(g5.messageStatusByte===v3.midiPort){U1[L2]=g5.messageData[0];continue}let k3=g5.messageStatusByte&240;if(k3!==v3.controllerChange&&k3!==v3.programChange&&k3!==v3.systemExclusive)continue;if(k3===v3.systemExclusive){if(g5.messageData[0]!==65||g5.messageData[2]!==66||g5.messageData[3]!==18||g5.messageData[4]!==64||!(g5.messageData[5]&16)||g5.messageData[6]!==21){g5.messageData[0]===67&&g5.messageData[2]===76&&g5.messageData[5]===126&&g5.messageData[6]===0?P="xg":g5.messageData[0]===65&&g5.messageData[2]===66&&g5.messageData[6]===127?P="gs":g5.messageData[0]===126&&g5.messageData[2]===9&&(P="gm",F0.push({tNum:L2,e:g5}));continue}let ce=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][g5.messageData[5]&15]+p3;P2[ce].drums=!!(g5.messageData[7]>0&&g5.messageData[5]>>4);continue}let u6=(g5.messageStatusByte&15)+p3,S3=P2[u6];if(k3===v3.programChange){S3.drums?a.presets.findIndex(E3=>E3.program===g5.messageData[0]&&E3.bank===128)===-1&&(g5.messageData[0]=a.presets.find(E3=>E3.bank===128)?.program||0):a.presets.findIndex(E3=>E3.program===g5.messageData[0]&&E3.bank!==128)===-1&&(g5.messageData[0]=a.presets.find(E3=>E3.bank!==128)?.program||0),S3.program=g5.messageData[0];let ce=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),Ne=S3.drums?128:ce;if(S3.lastBank===void 0)continue;if(P==="xg"&&S3.drums&&(P2[u6].lastBank.messageData[1]=127),a.presets.findIndex(E3=>E3.bank===Ne&&E3.program===g5.messageData[0])===-1){let E3=a.presets.find(p6=>p6.program===g5.messageData[0])?.bank+l||l;S3.lastBank.messageData[1]=E3,x5(`%cNo preset %c${Ne}:${g5.messageData[0]}%c. Changing bank to ${E3}.`,I1.info,I1.recognized,I1.info)}else{let p6=(Ne===128?P==="xg"?127:0:ce)+l;S3.lastBank.messageData[1]=p6,x5(`%cPreset %c${Ne}:${g5.messageData[0]}%c exists. Changing bank to ${p6}.`,I1.info,I1.recognized,I1.info)}continue}g5.messageData[0]===$3.bankSelect&&(S3.hasBankSelect=!0,P==="xg"&&(S3.drums=g5.messageData[1]===120||g5.messageData[1]===126||g5.messageData[1]===127),S3.lastBank=g5)}if(P2.forEach((L2,a0)=>{if(L2.hasBankSelect===!0)return;let g5=a0%16,p3=v3.programChange|g5,k3=Math.floor(a0/16)*16,u6=i.midiPortChannelOffsets.indexOf(k3),S3=i.tracks.find((p6,w4)=>i.midiPorts[w4]===u6&&i.usedChannelsOnTrack[w4].has(g5));if(S3===void 0)return;let ce=S3.findIndex(p6=>p6.messageStatusByte===p3);if(ce===-1){let p6=S3.findIndex(q8=>q8.messageStatusByte>128&&q8.messageStatusByte<240&&(q8.messageStatusByte&15)===g5);if(p6===-1)return;let w4=S3[p6].ticks,er=a.getPreset(0,0).program;S3.splice(p6,0,new w7(w4,v3.programChange|g5,new J5([er]))),ce=p6}x5(`%cAdding bank select for %c${a0}`,I1.info,I1.recognized);let Ne=S3[ce].ticks,E3=a.getPreset(0,L2.program)?.bank+l||l;S3.splice(ce,0,new w7(Ne,v3.controllerChange|g5,new J5([$3.bankSelect,E3])))}),P!=="gs"&&P!=="xg"){for(let a0 of F0)i.tracks[a0.tNum].splice(i.tracks[a0.tNum].indexOf(a0.e),1);let L2=0;i.tracks[0][0].messageStatusByte===v3.trackName&&L2++,i.tracks[0].splice(L2,0,rB(0))}}let V=new J5(GE(i).buffer),T=[R$("INFO")],N=new TextEncoder;if(T.push(v6(w8.software,N.encode("SpessaSynth"),!0)),I.name!==void 0?(T.push(v6(w8.name,N.encode(I.name),!0)),u=Oa):T.push(v6(w8.name,i.rawMidiName,!0)),I.creationDate!==void 0)u=Oa,T.push(v6(w8.creationDate,N.encode(I.creationDate),!0));else{let P=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});T.push(v6(w8.creationDate,Tn(P),!0))}if(I.comment!==void 0&&(u=Oa,T.push(v6(w8.comment,N.encode(I.comment)))),I.engineer!==void 0&&T.push(v6(w8.engineer,N.encode(I.engineer),!0)),I.album!==void 0&&(u=Oa,T.push(v6(w8.album,N.encode(I.album),!0)),T.push(v6(w8.album2,N.encode(I.album),!0))),I.artist!==void 0&&(u=Oa,T.push(v6(w8.artist,N.encode(I.artist),!0))),I.genre!==void 0&&(u=Oa,T.push(v6(w8.genre,N.encode(I.genre),!0))),I.picture!==void 0&&T.push(v6(w8.picture,new Uint8Array(I.picture))),I.copyright!==void 0)u=Oa,T.push(v6(w8.copyright,N.encode(I.copyright),!0));else{let P=i.copyright.length>0?i.copyright:jD;T.push(v6(w8.copyright,Tn(P)))}let b0=new J5(2);Ii(b0,l,2),T.push(v6(w8.bankOffset,b0)),I.midiEncoding!==void 0&&(T.push(v6(w8.midiEncoding,N.encode(I.midiEncoding))),u=Oa),T.push(v6(w8.encoding,Tn(u)));let w=St(T),U=St([R$("RMID"),v6("data",V),v6("LIST",w),n]);return x5("%cFinished!",I1.info),ue(),v6("RIFF",U)}var Lp=class{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];lyricsTicks=[];firstNoteOn=0;keyRange={min:0,max:127};lastVoiceEventTick=0;midiPorts=[0];midiPortChannelOffsets=[0];usedChannelsOnTrack=[];loop={start:0,end:0};midiName="";midiNameUsesFileName=!1;fileName="";rawMidiName=void 0;format=0;RMIDInfo={};bankOffset=0;isKaraokeFile=!1};var Mp=class n extends Lp{embeddedSoundFont=void 0;tracks=[];static copyFrom(i){let a=new n;return a.midiName=i.midiName,a.midiNameUsesFileName=i.midiNameUsesFileName,a.fileName=i.fileName,a.timeDivision=i.timeDivision,a.duration=i.duration,a.copyright=i.copyright,a.tracksAmount=i.tracksAmount,a.firstNoteOn=i.firstNoteOn,a.keyRange={...i.keyRange},a.lastVoiceEventTick=i.lastVoiceEventTick,a.loop={...i.loop},a.format=i.format,a.bankOffset=i.bankOffset,a.isKaraokeFile=i.isKaraokeFile,a.tempoChanges=[...i.tempoChanges],a.lyrics=i.lyrics.map(l=>new Uint8Array(l)),a.lyricsTicks=[...i.lyricsTicks],a.midiPorts=[...i.midiPorts],a.midiPortChannelOffsets=[...i.midiPortChannelOffsets],a.usedChannelsOnTrack=i.usedChannelsOnTrack.map(l=>new Set(l)),a.rawMidiName=i.rawMidiName?new Uint8Array(i.rawMidiName):void 0,a.embeddedSoundFont=i.embeddedSoundFont?i.embeddedSoundFont.slice():void 0,a.RMIDInfo={...i.RMIDInfo},a.tracks=i.tracks.map(l=>[...l]),a}flush(){let i=[];for(let u of this.tracks){u.sort((x,V)=>x.ticks-V.ticks);let I=u.find(x=>(x.messageStatusByte&240)===v3.noteOn);I&&i.push(I.ticks)}this.firstNoteOn=Math.min(...i),this.lastVoiceEventTick=0,this.tempoChanges=[{ticks:0,tempo:120}],this.midiPorts=[],this.midiPortChannelOffsets=[];let a=0;this.usedChannelsOnTrack=this.tracks.map(()=>new Set),this.tracks.forEach((u,I)=>{this.midiPorts.push(-1),u.forEach(x=>{if(x.messageStatusByte>=128&&x.messageStatusByte<240&&x.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=x.ticks),x.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:x.ticks,tempo:6e7/_p(x.messageData,3)});else if((x.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[I].add(x.messageData[0]);else if(x.messageStatusByte===v3.midiPort){let V=x.messageData[0];this.midiPorts[I]=V,this.midiPortChannelOffsets[V]===void 0&&(this.midiPortChannelOffsets[V]=a,a+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Cu(this.lastVoiceEventTick,this);let l=0;for(let u of this.midiPorts)if(u!==-1){l=u;break}this.midiPorts=this.midiPorts.map(u=>u===-1?l:u),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Cu(n,i){let a=0;for(;n>0;){let l=i.tempoChanges.find(I=>I.ticks=128){this.MIDIout.send(l);return}break;case qa.songChange:let u=a[0];this.songIndex=a[1],this.midiData=u,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(x=>x[1](u)),a[2]===!0&&this.unpause();break;case qa.textEvent:this.onTextEvent&&this.onTextEvent(...a);break;case qa.timeChange:let I=this.synth.currentTime-a;Object.entries(this.onTimeChange).forEach(x=>x[1](I)),this._recalculateStartTime(I),this.paused&&this._preservePlaybackState?this.pausedTime=I:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=a,this.isFinished&&Object.entries(this.onSongEnded).forEach(x=>x[1]());break;case qa.midiError:if(this.onError)this.onError(a);else throw new Error("Sequencer error: "+a);return;case qa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(Mp.copyFrom(a))}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage($7.getMIDI,void 0)})}loadNewSongList(i,a=!0){this.pause(),this.midiData=qQ,this.hasDummyData=!0,this.duration=99999,this._sendMessage($7.loadNewSongList,[i,a]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),a===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage($7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){me("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage($7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage($7.play,i)}stop(){this._sendMessage($7.stop)}};var Rp=["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 HQ(n){return` +`}},jC=960,XC=j7.concave;function Jr(n,i,a,l,u){return n<<10|i<<9|a<<8|l<<7|u}var ND=[new le({srcEnum:Jr(XC,0,1,0,q4.noteOnVelocity),dest:u0.initialAttenuation,amt:jC,secSrcEnum:0,transform:0}),new le({srcEnum:129,dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(XC,0,1,1,$3.mainVolume),dest:u0.initialAttenuation,amt:jC,secSrcEnum:0,transform:0}),new le({srcEnum:13,dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new le({srcEnum:526,dest:u0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new le({srcEnum:650,dest:u0.pan,amt:500,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(XC,0,1,1,$3.expressionController),dest:u0.initialAttenuation,amt:jC,secSrcEnum:0,transform:0}),new le({srcEnum:219,dest:u0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new le({srcEnum:221,dest:u0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0})],GD=[new le({srcEnum:Jr(j7.linear,0,0,0,q4.polyPressure),dest:u0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(j7.linear,0,0,1,$3.tremoloDepth),dest:u0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(j7.linear,1,0,1,$3.releaseTime),dest:u0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(j7.linear,1,0,1,$3.brightness),dest:u0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new le({srcEnum:Jr(j7.linear,1,0,1,$3.timbreHarmonicContent),dest:u0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})],DE=ND.concat(GD);var _$=128,BQ=147,UD=new Int16Array(BQ).fill(0),A7=(n,i)=>UD[n]=i<<7;A7($3.mainVolume,100);A7($3.balance,64);A7($3.expressionController,127);A7($3.pan,64);A7($3.timbreHarmonicContent,64);A7($3.releaseTime,64);A7($3.attackTime,64);A7($3.brightness,64);A7($3.soundController6,64);A7($3.soundController7,64);A7($3.soundController8,64);A7($3.soundController9,64);A7($3.generalPurposeController6,64);A7($3.generalPurposeController8,64);A7(_$+q4.pitchWheel,64);A7(_$+q4.pitchWheelRange,2);var _E={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},yQ=Object.keys(_E).length,PD=new Float32Array(yQ);PD[_E.modulationMultiplier]=1;var QQ={velocityOverride:128};var xE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,a=-1,l=-1){this.velocity=i,this.patch={bank:a,program:l}}},LE={addMapping:0,deleteMapping:1,clearMappings:2};var ME=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,a){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,a]})}addModifier(i,a,l){let u=l?.velocity??-1,m=l?.patch?.program??-1,x=l?.patch?.bank??-1,H=new xE(u,x,m);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][a]=H,this._sendToWorklet(LE.addMapping,[i,a,H])}getModifier(i,a){return this._keyModifiers?.[i]?.[a]}deleteModifier(i,a){this._sendToWorklet(LE.deleteMapping,[i,a]),this._keyModifiers[i]?.[a]!==void 0&&(this._keyModifiers[i][a]=void 0)}clearModifiers(){this._sendToWorklet(LE.clearMappings,void 0),this._keyModifiers=[]}};var OD="spessasynth-worklet-system",eB=350,T7=9,qD=16;var pu=class{constructor(i,a,l=!0,u=void 0,m=CQ){x5("%cInitializing SpessaSynth synthesizer...",I1.info),this.context=i.context,this.targetNode=i;let x=u?.oneOutput===!0;this.eventHandler=new kE,this._voiceCap=eB,this._destroyed=!1,this._outputsAmount=qD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(T=>this.resolveWhenReady=T),this.channelProperties=[];for(let T=0;Tthis.handleMessage(T.data),this.soundfontManager=new bE(this),this.keyModifierManager=new ME(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!x&&(this.reverbProcessor=IQ(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!x&&(this.chorusProcessor=new kp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),x)this.worklet.connect(i,0);else for(let T=2;T{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(Sp.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,a,l,u){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,a,l,u]})}_setMasterParam(i,a){this.post({channelNumber:a7,messageType:B4.setMasterParameter,messageData:[i,a]})}setInterpolationType(i){this._setMasterParam(Sp.interpolationType,i)}handleMessage(i){let a=i.messageData;switch(i.messageType){case D$.channelProperties:this.channelProperties=a,this._voicesAmount=this.channelProperties.reduce((l,u)=>l+u.voicesAmount,0);break;case D$.eventCall:this.eventHandler.callEvent(a.eventName,a.eventData);break;case D$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(a.messageType,a.messageData);break;case D$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(a);break;case D$.ready:this.resolveWhenReady();break;case D$.soundfontError:me(new Error(a)),this.eventHandler.callEvent("soundfonterror",a);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=a=>{this._snapshotCallback=void 0,a.effectsConfig=this.effectsConfig,i(a)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:a7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,a){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:a})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! + Expected ${this._outputsAmount} got ${i.length}`);for(let a=0;a127||a<0)throw new Error(`Invalid controller number: ${a}`);l=Math.floor(l),a=Math.floor(a),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[a,l,u]})}resetControllers(){this.post({channelNumber:a7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,a){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:a})}polyPressure(i,a,l){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[a,l]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,a,l){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[a,l]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,a,l=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[a,l]})}setMainVolume(i){this._setMasterParam(Sp.mainVolume,i)}setMasterPan(i){this._setMasterParam(Sp.masterPan,i)}setPitchBendRange(i,a){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,a),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,a,l=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[a,l]})}velocityOverride(i,a){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[QQ.velocityOverride,a,!0]})}lockController(i,a,l){this.post({channelNumber:i,messageType:B4.lockController,messageData:[a,l]})}muteChannel(i,a){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:a})}async reloadSoundFont(i){me("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:a7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,a){this.post({channelNumber:i,messageType:B4.setDrums,messageData:a})}sendMessage(i,a=0){let l=fQ(i[0]);switch(l.channel+=a,l.status){case v3.noteOn:let u=i[2];u>0?this.noteOn(l.channel,i[1],u):this.noteOff(l.channel,i[1]);break;case v3.noteOff:this.noteOff(l.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(l.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(l.channel,i[1],i[2]);break;case v3.programChange:this.programChange(l.channel,i[1]);break;case v3.polyPressure:this.polyPressure(l.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(l.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new J5(i.slice(1)));break;case v3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new kp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,a){this.post({messageType:B4.setEffectsGain,messageData:[i,a]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(l),this.releaseNote(l,this.channel),this.synth.noteOff(this.channel,l)},i=(l,u)=>{let m;if(pr)m=127;else{let H=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let F=u.clientX-H.left,T=H.width;m=Math.floor((T-F)/T*127)}else{let F=u.clientY-H.top,T=H.height;m=Math.floor(F/T*127)}}this.onNotePressed&&this.onNotePressed(l,m),this.synth.noteOn(this.channel,l,m,this.enableDebugging)},a=l=>{let u=l.touches?Array.from(l.touches):[l],m=new Set;u.forEach(x=>{let H=document.elementFromPoint(x.clientX,x.clientY),F=parseInt(H.id.replace("note",""));m.add(F),!(isNaN(F)||F<0||this.pressedKeys.has(F))&&(this.pressedKeys.add(F),i(F,x))}),this.pressedKeys.forEach(x=>{m.has(x)||n(x)})};pr||(document.addEventListener("mousedown",l=>{this.mouseHeld=!0,a(l)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(l=>{n(l)})}),this.keyboard.onmousemove=l=>{this.mouseHeld&&a(l)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(l=>{n(l)})}),this.keyboard.ontouchstart=a.bind(this),this.keyboard.ontouchend=a.bind(this),this.keyboard.ontouchmove=a.bind(this)}var vQ=20,Dp=class{onNotePressed=void 0;constructor(i,a){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",l=>{l.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",l=>{l.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=a,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",l=>{this.pressNote(l.midiNote,l.channel,l.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",l=>{this.releaseNote(l.midiNote,l.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",l=>{if(l.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,l.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let a=i.min;i.min=i.max,i.max=a}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(m=a(i-1)),i<127&&(x=a(i+1)),x&&m?l.classList.add("between_sharps"):m?l.classList.add("left_sharp"):x&&l.classList.add("right_sharp")}return l}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(l=>{l.classList.contains("flat_key")&&l.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(l=>{l.classList.contains("flat_key")&&l.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,a=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let u=900/(i.max-i.min+5),m=document.styleSheets[0].cssRules,x;for(let H of m)if(H.selectorText==="#keyboard .key"){x=H;break}if(x.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),a){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let H=getComputedStyle(this.keyboard),F=parseFloat(H.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),T=this.keyboard.getBoundingClientRect().height,S0=u/F,w=T*S0-T,U=(this._keyRange.min+this._keyRange.max)/2,P=(i.min+i.max)/2;this._keyRange=i;let F0=this.keys.find(j1=>j1.classList.contains("sharp_key")).getBoundingClientRect().width,m1=(U-P)*F0,l1=parseFloat(H.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${w}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${S0}) translateX(${m1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${l1/S0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${u}`),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",`${u}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,a,l){let u=this.keys[i-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let m=u.classList.contains("sharp_key"),x=l/127,H=this.channelColors[a%16].match(/\d+(\.\d+)?/g).map(parseFloat),F;if(!m&&this.mode==="light"?F=`rgba(${H.slice(0,3).map(S0=>255-(255-S0)*x).join(", ")}, ${H[3]})`:F=`rgba(${H.slice(0,3).map(S0=>S0*x).join(", ")}, ${H[3]})`,u.style.background=F,this.mode==="dark"){let T=vQ*x;u.style.boxShadow=`${F} 0px 0px ${T}px ${T/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[a%16])}releaseNote(i,a){let l=this.keys[i-this._keyRange.min];if(l===void 0)return;a%=this.channelColors.length;let u=this.keyColors[i-this._keyRange.min];if(!u)return;let m=u.findLastIndex(H=>H===this.channelColors[a]);if(m===-1)return;u.splice(m,1);let x=u[u.length-1]||"";l.style.background=x,this.mode==="dark"&&x!==""&&(l.style.boxShadow=`0px 0px ${vQ}px ${x}`),u.length<1&&(l.classList.remove("pressed"),l.style.background="",l.style.boxShadow="")}clearNotes(){this.keys.forEach((i,a)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[a]=[]})}};Dp.prototype._handlePointers=wQ;function x$(n,i){let a=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(a[0]))}, ${i(parseInt(a[1]))}, ${i(parseInt(a[2]))})`}var VD="#000";function kQ(n,i,a){n.forEach(l=>{if(l.pressedProgress===0)return;i.fillStyle=l.color;let u=l.pressedProgress*l.velocity;if(i.globalAlpha=.5*u,a){i.fillRect(l.xPos,l.yPos-l.height*u,l.width,l.height*(u*2+1)),i.globalAlpha=1;return}i.fillRect(l.xPos-l.width*u,l.yPos,l.width*(u*2+1),l.height),i.globalAlpha=1}),n.forEach(l=>{i.fillStyle=l.color,i.save(),i.translate(l.xPos,l.yPos),i.fillRect(0,0,l.width,l.height),i.restore(),i.strokeStyle=VD,i.lineWidth=l.stroke,i.strokeRect(l.xPos,l.yPos,l.width,l.height)})}var tB=!1;function SQ(n=!0,i=!1){let a=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||a)if(tB){n&&requestAnimationFrame(this.render.bind(this));return}else tB=!0;else tB=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let m=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||kQ(m,this.drawingContext,this.sideways)}let l=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/l;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${RE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,RE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,RE+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function bQ(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,a=this.sideways?this.canvas.width:this.canvas.height,l=this.keyRange.max-this.keyRange.min,u=i/(l+1),m=u-M$*2,x=this.noteFallingTimeMs/1e3,H=this.noteAfterTriggerTimeMs/1e3,F=this.seq.currentHighResolutionTime-this.timeOffset,T=F-H,S0=x+H,w=T+S0,U=_Q/S0,P=[];this.synth.channelProperties.forEach(m1=>{if(this.showVisualPitch){let l1=m1.pitchBend-8192+this.visualPitchBendOffset;P.push(m1.pitchBendRangeSemitones*(l1/8192*u))}else P.push(0)});let F0=[];return this.noteTimes.forEach((m1,l1)=>{if(m1.renderStartIndex>=m1.notes.length||!this.renderChannels[l1])return;let j1=m1.renderStartIndex,U1=m1.notes,c2=U1[j1],P2=-1;for(;c2.start<=w&&(j1++,!(this.notesOnScreen>xQ));){let L2=c2.start+c2.length;if(L2>T&&c2.length>0){let a0=c2.length/S0*a-M$*2;if(this.notesOnScreen<1e3||a0>U){P2===-1&&(P2=j1-1);let g5=(c2.start-T)/S0*a,p3;if(this._notesFall?p3=a-a0-g5+M$:p3=g5+M$,c2.midiNotethis.keyRange.max){if(j1>=U1.length)break;c2=U1[j1];continue}let k3=c2.midiNote-this.keyRange.min,u6=u*k3+M$,S3,ce,Ne,E3;if(this.sideways?(S3=p3,ce=u6,E3=m,Ne=a0):(ce=p3,S3=u6,Ne=m,E3=a0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[l1],this.drawingContext.fillRect(S3+L$+M$,ce+L$,Ne-L$*2,E3-L$*2);else{let p6;if(c2.start>F||L2=U1.length)break;c2=U1[j1]}P2>-1&&(m1.renderStartIndex=P2)}),F0.sort((m1,l1)=>l1.height-m1.height),F0}function LQ(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((a,l)=>{let u=l%4,m=Math.floor(l/4),x=!1;for(let w=l;w0){x=!0;break}if(!x){let w=this.canvas.width/4,U=this.canvas.height/4,P=w*u,F0=U*m+U/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[l],this.drawingContext.beginPath(),this.drawingContext.moveTo(P,F0),this.drawingContext.lineTo(P+w,F0),this.drawingContext.stroke();return}let H=new Float32Array(a.frequencyBinCount);a.getFloatTimeDomainData(H);let F=n*u,T=i*m+i/2,S0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[l],this.drawingContext.beginPath(),this._stabilizeWaveforms){let w=H.length/4,U=n/w,P=Math.floor(w/2),F0=H.length-P;for(let U1=F0;U1>=1;U1--)if(H[U1-1]<0&&H[U1]>=0){F0=U1;break}let m1=F,l1=F0-P,j1=F0+P;for(let U1=l1;U1{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function FQ(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function NQ(){for(let n of this.channelAnalysers)n.disconnect();x5("%cAnalysers disconnected!",I1.recognized)}function GQ(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let a=new Blob([i.RMIDInfo?.IPIC.buffer]),l=URL.createObjectURL(a),u=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${u}), rgba(0, 0, 0, ${u})), center center / cover url("${l}")`}else this.canvas.style.background=""},"renderer-song-change")}function UQ(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function _p(n,i){let a=0;for(let l=8*(i-1);l>=0;l-=8)a|=n[n.currentIndex++]<>>0}function xp(n,i){let a=new Array(i).fill(0);for(let l=i-1;l>=0;l--)a[l]=n&255,n>>=8;return a}var Eu=.02;function PQ(n){function i(T){return T.messageData=new J5(T.messageData.buffer),T.messageData.currentIndex=0,6e7/_p(T.messageData,3)}let a=[],u=n.tracks.flat();u.sort((T,S0)=>T.ticks-S0.ticks);for(let T=0;T<16;T++)a.push({renderStartIndex:0,notes:[]});let m=0,x=60/(120*n.timeDivision),H=0,F=0;for(;H>4,w=T.messageStatusByte&15;if(S0===8){let U=a[w].notes.findLast(P=>P.midiNote===T.messageData[0]&&P.length===-1);if(U){let P=m-U.start;U.length=PP.midiNote===T.messageData[0]&&P.length===-1);if(U){let P=m-U.start;U.length=P=u.length)break;m+=x*(u[H].ticks-T.ticks)}F>0&&a.forEach((T,S0)=>T.notes.filter(w=>w.length===-1).forEach(w=>{let U=m-w.start;w.length=Ui.max){let a=i.min;i.min=i.max,i.max=a}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return a.addColorStop(0,x$(i,l=>l*TE)),a.addColorStop(1,i),a}),this.darkerColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return a.addColorStop(0,x$(i,l=>l*TE*FE)),a.addColorStop(1,x$(i,l=>l*FE)),a}),this.sidewaysChannelColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return a.addColorStop(0,x$(i,l=>l*TE)),a.addColorStop(1,i),a}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let a=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return a.addColorStop(0,x$(i,l=>l*TE*FE)),a.addColorStop(1,x$(i,l=>l*FE)),a})}};N7.prototype.render=SQ;N7.prototype.computeNotePositions=bQ;N7.prototype.createChannelAnalysers=RQ;N7.prototype.updateFftSize=FQ;N7.prototype.connectChannelAnalysers=TQ;N7.prototype.disconnectChannelAnalysers=NQ;N7.prototype.connectSequencer=GQ;N7.prototype.calculateNoteTimes=PQ;N7.prototype.resetIndexes=UQ;N7.prototype.renderWaveforms=LQ;function o3(n,i){let a=0;for(let l=0;l>>0}function Ii(n,i,a){for(let l=0;l>l*8&255}function X3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function pe(n,i){Ii(n,i,4)}function Ua(n,i){let a=i<<8|n;return a>32767?a-65536:a}function OQ(n){return n>127?n-256:n}function y4(n,i,a=void 0,l=!0){if(a){let u=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(a.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,m="";for(let x=0;x127)&&H!==10){if(l){u=!0;continue}else if(H===0){u=!0;continue}}m+=String.fromCharCode(H)}}return m}}function R$(n,i=0){let a=n.length;i>0&&(a=i);let l=new J5(a);return P8(l,n,i),l}function Tn(n){return R$(n,n.length+1)}function P8(n,i,a=0){a>0&&i.length>a&&(i=i.slice(0,a));for(let l=0;li.length)for(let l=0;la.header!=="LIST"?!1:(a.chunkData.currentIndex=0,y4(a.chunkData,4)===i))}function NE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function GE(n){if(!n.tracks)throw new Error("MIDI has no tracks!");let i=[];for(let u of n.tracks){let m=[],x=0,H;for(let F of u){let T=F.ticks-x,S0;F.messageStatusByte<=v3.keySignature||F.messageStatusByte===v3.sequenceSpecific?S0=[255,F.messageStatusByte,...NE(F.messageData.length),...F.messageData]:F.messageStatusByte===v3.systemExclusive?S0=[240,...NE(F.messageData.length),...F.messageData]:(S0=[],H!==F.messageStatusByte&&(H=F.messageStatusByte,S0.push(F.messageStatusByte)),S0.push(...F.messageData)),m.push(...NE(T)),m.push(...S0),x+=T}i.push(new Uint8Array(m))}function a(u,m){for(let x=0;x{n.tracks.forEach((F0,m1)=>{if(n.midiPorts[m1]===P)for(let l1=F0.length-1;l1>=0;l1--)F0[l1].messageStatusByte>=128&&F0[l1].messageStatusByte<240&&(F0[l1].messageStatusByte&15)===U&&F0.splice(l1,1)})};l.forEach(U=>{let P=U%16,F0=U-P,m1=n.midiPortChannelOffsets.findIndex(l1=>l1===F0);m(P,m1),x5(`%cRemoving channel %c${U}%c!`,I1.info,I1.recognized,I1.info)});let x=!1,H="gs",F=[],T=[];n.tracks.forEach((U,P)=>{U.forEach(F0=>{let m1=F0.messageStatusByte&240;m1===v3.controllerChange?F.push({track:P,message:F0,channel:F0.messageStatusByte&15}):m1===v3.programChange?T.push({track:P,message:F0,channel:F0.messageStatusByte&15}):F0.messageStatusByte===v3.systemExclusive&&(F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[5]===126&&F0.messageData[6]===0?(x5("%cXG system on detected",I1.info),H="xg",x=!0):F0.messageData[0]===67&&F0.messageData[2]===76&&F0.messageData[3]===8&&F0.messageData[5]===3&&T.push({track:P,message:F0,channel:F0.messageData[4]}))})});let S0=(U,P,F0)=>n.tracks.reduce((m1,l1,j1)=>{if(n.usedChannelsOnTrack[j1].has(U)&&n.midiPorts[j1]===P){let U1;F0?U1=l1.findIndex(c2=>(c2.messageStatusByte&240)===v3.noteOn):U1=l1.findIndex(c2=>c2.messageStatusByte>128&&c2.messageStatusByte<240&&(c2.messageStatusByte&15)===U&&!(c2.messageStatusByte&v3.controllerChange===240&&(c2.messageData[0]===$3.resetAllControllers||c2.messageData[0]===$3.allNotesOff||c2.messageData[0]===$3.allSoundOff))),U1!==-1&&m1.push({index:U1,track:j1})}return m1},[]),w=(U,P,F0)=>{let m1=F.filter(l1=>l1.channel===U&&l1.message.messageData[0]===F0&&n.midiPorts[l1.track]===P);for(let l1=0;l1{let P=U.channel,F0=P%16,m1=P-F0,l1=n.midiPortChannelOffsets.findIndex(a0=>a0===m1),j1=U.controllerValue,U1=U.controllerNumber;w(F0,l1,U1),x5(`%cNo controller %c${U1}%c on channel %c${P}%c found. Adding it!`,I1.info,I1.unrecognized,I1.info,I1.value,I1.info);let c2=S0(F0,l1,!0);if(c2.length===0){me("Program change but no notes... ignoring!");return}let P2=c2.reduce((a0,g5)=>n.tracks[g5.track][g5.index].ticks{let P=U.channel%16,F0=U.channel-P,m1=n.midiPortChannelOffsets.findIndex(k3=>k3===F0),l1=U.isDrum?0:U.bank,j1=U.program,U1=T.filter(k3=>n.midiPorts[k3.track]===m1&&k3.channel===P);if(w(P,m1,$3.bankSelect),w(P,m1,$3.lsbForControl0BankSelect),(U.isDrum||l1>0)&&!x&&(n.tracks.forEach(k3=>{for(let u6=0;u60);if(c2.length===0){me("Program change but no notes... ignoring!");return}let P2=c2.reduce((k3,u6)=>n.tracks[u6.track][u6.index].ticks{if(n.midiPorts[U1]!==F0||!n.usedChannelsOnTrack[U1].has(P))return;let c2=v3.noteOn|P,P2=v3.noteOff|P,L2=v3.polyPressure|P;j1.forEach(a0=>{a0.messageStatusByte!==c2&&a0.messageStatusByte!==P2&&a0.messageStatusByte!==L2||(a0.messageData[0]=Math.max(0,Math.min(127,a0.messageData[0]+m1)))})}),l1!==0){let j1=n.tracks.find((S3,ce)=>n.usedChannelsOnTrack[ce].has(U.channel));if(j1===void 0){me(`Channel ${U.channel} unused but transpose requested???`);continue}let U1=v3.noteOn|U.channel%16,c2=j1.findIndex(S3=>S3.messageStatusByte===U1);if(c2===-1){me(`No notes on channel ${U.channel} but transpose requested???`);continue}let P2=j1[c2].ticks,L2=l1*64+64,a0=v3.controllerChange|U.channel%16,g5=new w7(P2,a0,new J5([$3.RPNMsb,0])),p3=new w7(P2,a0,new J5([$3.RPNLsb,1])),k3=new w7(P2,a0,new J5([$3.dataEntryMsb,L2])),u6=new w7(P2,a0,new J5([$3.lsbForControl6DataEntry,0]));j1.splice(c2,0,u6),j1.splice(c2,0,k3),j1.splice(c2,0,p3),j1.splice(c2,0,g5)}}ue()}function Pa(n,i){let a=[],l=[],u=[],m=[];i.channelSnapshots.forEach((x,H)=>{if(x.isMuted){l.push(H);return}let F=x.channelTransposeKeyShift+x.customControllers[_E.channelTransposeFine]/100;F!==0&&a.push({channel:H,keyShift:F}),x.lockPreset&&u.push({channel:H,program:x.program,bank:x.bank,isDrum:x.drumChannel}),x.lockedControllers.forEach((T,S0)=>{if(!T||S0>127||S0===$3.bankSelect)return;let w=x.midiControllers[S0]>>7;m.push({channel:H,controllerNumber:S0,controllerValue:w})})}),ZD(n,u,m,l,a)}var w8={name:"INAM",album:"IPRD",album2:"IALB",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",jD="Created using SpessaSynth";function UE(n,i,a,l=0,u="Shift_JIS",m={},x=!0){if(F7("%cWriting the RMIDI File...",I1.info),x5(`%cConfiguration: Bank offset: %c${l}%c, encoding: %c${u}`,I1.info,I1.value,I1.info,I1.value),x5("metadata",m),x5("Initial bank offset",i.bankOffset),x){let j1=function(){let L2=0,a0=1/0;return i.tracks.forEach((g5,p3)=>{m1[p3]>=g5.length||g5[m1[p3]].ticksa0>L2?a0:L2),P2=[];for(let L2=0;L20;){let L2=j1(),a0=i.tracks[L2];if(m1[L2]>=a0.length){l1--;continue}let g5=a0[m1[L2]];m1[L2]++;let p3=i.midiPortChannelOffsets[U1[L2]];if(g5.messageStatusByte===v3.midiPort){U1[L2]=g5.messageData[0];continue}let k3=g5.messageStatusByte&240;if(k3!==v3.controllerChange&&k3!==v3.programChange&&k3!==v3.systemExclusive)continue;if(k3===v3.systemExclusive){if(g5.messageData[0]!==65||g5.messageData[2]!==66||g5.messageData[3]!==18||g5.messageData[4]!==64||!(g5.messageData[5]&16)||g5.messageData[6]!==21){g5.messageData[0]===67&&g5.messageData[2]===76&&g5.messageData[5]===126&&g5.messageData[6]===0?P="xg":g5.messageData[0]===65&&g5.messageData[2]===66&&g5.messageData[6]===127?P="gs":g5.messageData[0]===126&&g5.messageData[2]===9&&(P="gm",F0.push({tNum:L2,e:g5}));continue}let ce=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][g5.messageData[5]&15]+p3;P2[ce].drums=!!(g5.messageData[7]>0&&g5.messageData[5]>>4);continue}let u6=(g5.messageStatusByte&15)+p3,S3=P2[u6];if(k3===v3.programChange){S3.drums?a.presets.findIndex(E3=>E3.program===g5.messageData[0]&&E3.bank===128)===-1&&(g5.messageData[0]=a.presets.find(E3=>E3.bank===128)?.program||0):a.presets.findIndex(E3=>E3.program===g5.messageData[0]&&E3.bank!==128)===-1&&(g5.messageData[0]=a.presets.find(E3=>E3.bank!==128)?.program||0),S3.program=g5.messageData[0];let ce=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),Ne=S3.drums?128:ce;if(S3.lastBank===void 0)continue;if(P==="xg"&&S3.drums&&(P2[u6].lastBank.messageData[1]=127),a.presets.findIndex(E3=>E3.bank===Ne&&E3.program===g5.messageData[0])===-1){let E3=a.presets.find(p6=>p6.program===g5.messageData[0])?.bank+l||l;S3.lastBank.messageData[1]=E3,x5(`%cNo preset %c${Ne}:${g5.messageData[0]}%c. Changing bank to ${E3}.`,I1.info,I1.recognized,I1.info)}else{let p6=(Ne===128?P==="xg"?127:0:ce)+l;S3.lastBank.messageData[1]=p6,x5(`%cPreset %c${Ne}:${g5.messageData[0]}%c exists. Changing bank to ${p6}.`,I1.info,I1.recognized,I1.info)}continue}g5.messageData[0]===$3.bankSelect&&(S3.hasBankSelect=!0,P==="xg"&&(S3.drums=g5.messageData[1]===120||g5.messageData[1]===126||g5.messageData[1]===127),S3.lastBank=g5)}if(P2.forEach((L2,a0)=>{if(L2.hasBankSelect===!0)return;let g5=a0%16,p3=v3.programChange|g5,k3=Math.floor(a0/16)*16,u6=i.midiPortChannelOffsets.indexOf(k3),S3=i.tracks.find((p6,w4)=>i.midiPorts[w4]===u6&&i.usedChannelsOnTrack[w4].has(g5));if(S3===void 0)return;let ce=S3.findIndex(p6=>p6.messageStatusByte===p3);if(ce===-1){let p6=S3.findIndex(q8=>q8.messageStatusByte>128&&q8.messageStatusByte<240&&(q8.messageStatusByte&15)===g5);if(p6===-1)return;let w4=S3[p6].ticks,er=a.getPreset(0,0).program;S3.splice(p6,0,new w7(w4,v3.programChange|g5,new J5([er]))),ce=p6}x5(`%cAdding bank select for %c${a0}`,I1.info,I1.recognized);let Ne=S3[ce].ticks,E3=a.getPreset(0,L2.program)?.bank+l||l;S3.splice(ce,0,new w7(Ne,v3.controllerChange|g5,new J5([$3.bankSelect,E3])))}),P!=="gs"&&P!=="xg"){for(let a0 of F0)i.tracks[a0.tNum].splice(i.tracks[a0.tNum].indexOf(a0.e),1);let L2=0;i.tracks[0][0].messageStatusByte===v3.trackName&&L2++,i.tracks[0].splice(L2,0,rB(0))}}let H=new J5(GE(i).buffer),F=[R$("INFO")],T=new TextEncoder;if(F.push(v6(w8.software,T.encode("SpessaSynth"),!0)),m.name!==void 0?(F.push(v6(w8.name,T.encode(m.name),!0)),u=Oa):F.push(v6(w8.name,i.rawMidiName,!0)),m.creationDate!==void 0)u=Oa,F.push(v6(w8.creationDate,T.encode(m.creationDate),!0));else{let P=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});F.push(v6(w8.creationDate,Tn(P),!0))}if(m.comment!==void 0&&(u=Oa,F.push(v6(w8.comment,T.encode(m.comment)))),m.engineer!==void 0&&F.push(v6(w8.engineer,T.encode(m.engineer),!0)),m.album!==void 0&&(u=Oa,F.push(v6(w8.album,T.encode(m.album),!0)),F.push(v6(w8.album2,T.encode(m.album),!0))),m.artist!==void 0&&(u=Oa,F.push(v6(w8.artist,T.encode(m.artist),!0))),m.genre!==void 0&&(u=Oa,F.push(v6(w8.genre,T.encode(m.genre),!0))),m.picture!==void 0&&F.push(v6(w8.picture,new Uint8Array(m.picture))),m.copyright!==void 0)u=Oa,F.push(v6(w8.copyright,T.encode(m.copyright),!0));else{let P=i.copyright.length>0?i.copyright:jD;F.push(v6(w8.copyright,Tn(P)))}let S0=new J5(2);Ii(S0,l,2),F.push(v6(w8.bankOffset,S0)),m.midiEncoding!==void 0&&(F.push(v6(w8.midiEncoding,T.encode(m.midiEncoding))),u=Oa),F.push(v6(w8.encoding,Tn(u)));let w=St(F),U=St([R$("RMID"),v6("data",H),v6("LIST",w),n]);return x5("%cFinished!",I1.info),ue(),v6("RIFF",U)}var Lp=class{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];lyricsTicks=[];firstNoteOn=0;keyRange={min:0,max:127};lastVoiceEventTick=0;midiPorts=[0];midiPortChannelOffsets=[0];usedChannelsOnTrack=[];loop={start:0,end:0};midiName="";midiNameUsesFileName=!1;fileName="";rawMidiName=void 0;format=0;RMIDInfo={};bankOffset=0;isKaraokeFile=!1};var Mp=class n extends Lp{embeddedSoundFont=void 0;tracks=[];static copyFrom(i){let a=new n;return a.midiName=i.midiName,a.midiNameUsesFileName=i.midiNameUsesFileName,a.fileName=i.fileName,a.timeDivision=i.timeDivision,a.duration=i.duration,a.copyright=i.copyright,a.tracksAmount=i.tracksAmount,a.firstNoteOn=i.firstNoteOn,a.keyRange={...i.keyRange},a.lastVoiceEventTick=i.lastVoiceEventTick,a.loop={...i.loop},a.format=i.format,a.bankOffset=i.bankOffset,a.isKaraokeFile=i.isKaraokeFile,a.tempoChanges=[...i.tempoChanges],a.lyrics=i.lyrics.map(l=>new Uint8Array(l)),a.lyricsTicks=[...i.lyricsTicks],a.midiPorts=[...i.midiPorts],a.midiPortChannelOffsets=[...i.midiPortChannelOffsets],a.usedChannelsOnTrack=i.usedChannelsOnTrack.map(l=>new Set(l)),a.rawMidiName=i.rawMidiName?new Uint8Array(i.rawMidiName):void 0,a.embeddedSoundFont=i.embeddedSoundFont?i.embeddedSoundFont.slice():void 0,a.RMIDInfo={...i.RMIDInfo},a.tracks=i.tracks.map(l=>[...l]),a}flush(){let i=[];for(let u of this.tracks){u.sort((x,H)=>x.ticks-H.ticks);let m=u.find(x=>(x.messageStatusByte&240)===v3.noteOn);m&&i.push(m.ticks)}this.firstNoteOn=Math.min(...i),this.lastVoiceEventTick=0,this.tempoChanges=[{ticks:0,tempo:120}],this.midiPorts=[],this.midiPortChannelOffsets=[];let a=0;this.usedChannelsOnTrack=this.tracks.map(()=>new Set),this.tracks.forEach((u,m)=>{this.midiPorts.push(-1),u.forEach(x=>{if(x.messageStatusByte>=128&&x.messageStatusByte<240&&x.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=x.ticks),x.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:x.ticks,tempo:6e7/_p(x.messageData,3)});else if((x.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[m].add(x.messageData[0]);else if(x.messageStatusByte===v3.midiPort){let H=x.messageData[0];this.midiPorts[m]=H,this.midiPortChannelOffsets[H]===void 0&&(this.midiPortChannelOffsets[H]=a,a+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Cu(this.lastVoiceEventTick,this);let l=0;for(let u of this.midiPorts)if(u!==-1){l=u;break}this.midiPorts=this.midiPorts.map(u=>u===-1?l:u),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Cu(n,i){let a=0;for(;n>0;){let l=i.tempoChanges.find(m=>m.ticks=128){this.MIDIout.send(l);return}break;case qa.songChange:let u=a[0];this.songIndex=a[1],this.midiData=u,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(x=>x[1](u)),a[2]===!0&&this.unpause();break;case qa.textEvent:this.onTextEvent&&this.onTextEvent(...a);break;case qa.timeChange:let m=this.synth.currentTime-a;Object.entries(this.onTimeChange).forEach(x=>x[1](m)),this._recalculateStartTime(m),this.paused&&this._preservePlaybackState?this.pausedTime=m:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=a,this.isFinished&&Object.entries(this.onSongEnded).forEach(x=>x[1]());break;case qa.midiError:if(this.onError)this.onError(a);else throw new Error("Sequencer error: "+a);return;case qa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(Mp.copyFrom(a))}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage($7.getMIDI,void 0)})}loadNewSongList(i,a=!0){this.pause(),this.midiData=qQ,this.hasDummyData=!0,this.duration=99999,this._sendMessage($7.loadNewSongList,[i,a]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),a===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage($7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){me("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage($7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage($7.play,i)}stop(){this._sendMessage($7.stop)}};var Rp=["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 HQ(n){return` `}function F$(n){return` @@ -68,21 +68,21 @@ var wE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>( `}function nB(n){return` -`}function yu(n,i){let a=document.createElement("div");return a.classList.add("control_buttons"),a.title=n,a.innerHTML=i,a}var O8={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",toggleSubtitles:"Escape",cinematicMode:"c",videoMode:"v"};function ew(){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",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function tw(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else if(this.seq.midiData.midiNameUsesFileName)this.currentSongTitle=vE(this.seq.midiData.fileName);else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=vE(i)}if(this.seq.midiData&&(this.loadLyricData(),this.setLyricsText(this.lyricsIndex),n&&(this.rawOtherTextEvents=[])),this.synthDisplayMode.enabled===!1?this.mainTitleMessageDisplay.innerText=this.currentSongTitle:this.mainTitleMessageDisplay.innerText=this.decodeTextFix(this.synthDisplayMode.currentEncodedText.buffer),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{}}function e_(n){let i=[],a="",l=!1;for(let u=0;u{w.startsWith("{")||b0.push(w)}),this.textClean=b0.join(""),this.startSeconds=l,this.endSeconds=u,this.styleName=I,this.styleData=N.find(w=>w.Name===this.styleName),this.marginLeft=x||parseInt(this.styleData.MarginL),this.marginRight=V||parseInt(this.styleData.MarginR),this.marginVertical=T||parseInt(this.styleData.MarginV),this.primaryColor=iw(this.styleData.PrimaryColour),this.secondaryColor=iw(this.styleData.SecondaryColour)}hide(){this.element!==void 0&&this.element.remove(),this.element=void 0}updateHighlights(i){let a=0,l=0,u=0,I=i-this.startSeconds,x=!1,V=0;for(let T of this.text)if(T.startsWith("{")){let N=T.startsWith("{\\K")||T.startsWith("{\\kf");if(!N&&!T.startsWith("{\\k"))continue;let b0=parseInt(T.slice(3,-1))/100;N?(V=b0,x=!0):a+=b0,l=b0}else{let N=this.textChunks[u];if(x){if(x=!1,a>I)N.style.cssText="",N.style.backgroundImage="",N.style.backgroundClip="",N.style.color=this.secondaryColor;else{let b0=I-a,w=Math.min(100,b0/V*100);N.style.color="transparent",N.style.backgroundImage=`linear-gradient(90deg, ${this.primaryColor} 50%, ${this.secondaryColor} 50%)`,N.style.backgroundPosition=`${100-w}%`,N.style.backgroundSize="200% 100%",N.style.backgroundClip="text"}a+=V}else N.style.backgroundImage="",N.style.backgroundClip="",a-l>I?N.style.color=this.secondaryColor:N.style.color=this.primaryColor;u++}}show(i,a,l,u,I){if(this.element!==void 0){this.updateHighlights(u);return}this.element=document.createElement("div"),this.element.classList.add("ass_renderer_element");let x=parseInt(this.styleData.Alignment);if(this.text[0].startsWith("{\\an"))x=parseInt(this.text[0][4]);else if(this.text[0].startsWith("{\\a"))switch(parseInt(this.text[0][3])){case 1:x=1;break;case 2:x=2;break;case 3:x=3;break;case 5:x=7;break;case 6:x=8;break;case 7:x=9;break;case 9:x=4;break;case 10:x=5;break;case 11:x=6;break;default:x=5;break}let V=this.marginLeft/i*100,T=this.marginRight/i*100,N=this.marginVertical/a*100;switch(x){case 1:this.element.style.left=`${V}%`,this.element.style.bottom=`${N}%`;break;case 2:this.element.style.left=`calc(50% + ${V}% - ${T}%)`,this.element.style.bottom=`${N}%`,this.element.style.transform="translateX(-50%)";break;case 3:this.element.style.right=`${T}%`,this.element.style.bottom=`${N}%`;break;case 4:this.element.style.left=`${V}%`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translateY(-50%)";break;case 5:this.element.style.left=`calc(50% + ${V}% - ${T}%)`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translate(-50%, -50%)";break;case 6:this.element.style.right=`${T}%`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translateY(-50%)";break;case 7:this.element.style.left=`${V}%`,this.element.style.top=`${N}%`;break;case 8:this.element.style.left=`calc(50% + ${V}% - ${T}%)`,this.element.style.top=`${N}%`,this.element.style.transform="translateX(-50%)";break;case 9:this.element.style.right=`${T}%`,this.element.style.top=`${N}%`;break;default:this.element.style.left=`${V}%`,this.element.style.bottom=`${N}%`;break}this.element.style.color=this.secondaryColor,this.element.style.zIndex=(this.layer+99999).toString();let b0=`${this.styleData.Fontname}, "${I}", sans-serif`,w=this.styleData.Fontsize;this.text[0].startsWith("{\\fs")&&(w=this.text[0].slice(4,-1)),this.element.style.fontFamily=b0,this.element.style.fontSize=`${parseFloat(w)/a*.8*window.screen.height}px`,this.styleData.Bold==="1"&&(this.element.style.fontWeight="bold"),this.styleData.Italic==="1"&&(this.element.style.fontStyle="italic"),this.styleData.Underline==="1"&&(this.element.style.textDecoration="underline"),this.styleData.StrikeOut==="1"&&(this.element.style.textDecoration="line-through"),this.textChunks=[];for(let P of this.text)if(!P.startsWith("{")){let F0=document.createElement("span");F0.textContent=P.replaceAll("\\N",` +`}function yu(n,i){let a=document.createElement("div");return a.classList.add("control_buttons"),a.title=n,a.innerHTML=i,a}var O8={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",toggleSubtitles:"Escape",cinematicMode:"c",videoMode:"v"};function ew(){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",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function tw(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else if(this.seq.midiData.midiNameUsesFileName)this.currentSongTitle=vE(this.seq.midiData.fileName);else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=vE(i)}if(this.seq.midiData&&(this.loadLyricData(),this.setLyricsText(this.lyricsIndex),n&&(this.rawOtherTextEvents=[])),this.synthDisplayMode.enabled===!1?this.mainTitleMessageDisplay.innerText=this.currentSongTitle:this.mainTitleMessageDisplay.innerText=this.decodeTextFix(this.synthDisplayMode.currentEncodedText.buffer),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{}}function e_(n){let i=[],a="",l=!1;for(let u=0;u{w.startsWith("{")||S0.push(w)}),this.textClean=S0.join(""),this.startSeconds=l,this.endSeconds=u,this.styleName=m,this.styleData=T.find(w=>w.Name===this.styleName),this.marginLeft=x||parseInt(this.styleData.MarginL),this.marginRight=H||parseInt(this.styleData.MarginR),this.marginVertical=F||parseInt(this.styleData.MarginV),this.primaryColor=iw(this.styleData.PrimaryColour),this.secondaryColor=iw(this.styleData.SecondaryColour)}hide(){this.element!==void 0&&this.element.remove(),this.element=void 0}updateHighlights(i){let a=0,l=0,u=0,m=i-this.startSeconds,x=!1,H=0;for(let F of this.text)if(F.startsWith("{")){let T=F.startsWith("{\\K")||F.startsWith("{\\kf");if(!T&&!F.startsWith("{\\k"))continue;let S0=parseInt(F.slice(3,-1))/100;T?(H=S0,x=!0):a+=S0,l=S0}else{let T=this.textChunks[u];if(x){if(x=!1,a>m)T.style.cssText="",T.style.backgroundImage="",T.style.backgroundClip="",T.style.color=this.secondaryColor;else{let S0=m-a,w=Math.min(100,S0/H*100);T.style.color="transparent",T.style.backgroundImage=`linear-gradient(90deg, ${this.primaryColor} 50%, ${this.secondaryColor} 50%)`,T.style.backgroundPosition=`${100-w}%`,T.style.backgroundSize="200% 100%",T.style.backgroundClip="text"}a+=H}else T.style.backgroundImage="",T.style.backgroundClip="",a-l>m?T.style.color=this.secondaryColor:T.style.color=this.primaryColor;u++}}show(i,a,l,u,m){if(this.element!==void 0){this.updateHighlights(u);return}this.element=document.createElement("div"),this.element.classList.add("ass_renderer_element");let x=parseInt(this.styleData.Alignment);if(this.text[0].startsWith("{\\an"))x=parseInt(this.text[0][4]);else if(this.text[0].startsWith("{\\a"))switch(parseInt(this.text[0][3])){case 1:x=1;break;case 2:x=2;break;case 3:x=3;break;case 5:x=7;break;case 6:x=8;break;case 7:x=9;break;case 9:x=4;break;case 10:x=5;break;case 11:x=6;break;default:x=5;break}let H=this.marginLeft/i*100,F=this.marginRight/i*100,T=this.marginVertical/a*100;switch(x){case 1:this.element.style.left=`${H}%`,this.element.style.bottom=`${T}%`;break;case 2:this.element.style.left=`calc(50% + ${H}% - ${F}%)`,this.element.style.bottom=`${T}%`,this.element.style.transform="translateX(-50%)";break;case 3:this.element.style.right=`${F}%`,this.element.style.bottom=`${T}%`;break;case 4:this.element.style.left=`${H}%`,this.element.style.top=`calc(50% + ${T}% - ${T}%)`,this.element.style.transform="translateY(-50%)";break;case 5:this.element.style.left=`calc(50% + ${H}% - ${F}%)`,this.element.style.top=`calc(50% + ${T}% - ${T}%)`,this.element.style.transform="translate(-50%, -50%)";break;case 6:this.element.style.right=`${F}%`,this.element.style.top=`calc(50% + ${T}% - ${T}%)`,this.element.style.transform="translateY(-50%)";break;case 7:this.element.style.left=`${H}%`,this.element.style.top=`${T}%`;break;case 8:this.element.style.left=`calc(50% + ${H}% - ${F}%)`,this.element.style.top=`${T}%`,this.element.style.transform="translateX(-50%)";break;case 9:this.element.style.right=`${F}%`,this.element.style.top=`${T}%`;break;default:this.element.style.left=`${H}%`,this.element.style.bottom=`${T}%`;break}this.element.style.color=this.secondaryColor,this.element.style.zIndex=(this.layer+99999).toString();let S0=`${this.styleData.Fontname}, "${m}", sans-serif`,w=this.styleData.Fontsize;this.text[0].startsWith("{\\fs")&&(w=this.text[0].slice(4,-1)),this.element.style.fontFamily=S0,this.element.style.fontSize=`${parseFloat(w)/a*.8*window.screen.height}px`,this.styleData.Bold==="1"&&(this.element.style.fontWeight="bold"),this.styleData.Italic==="1"&&(this.element.style.fontStyle="italic"),this.styleData.Underline==="1"&&(this.element.style.textDecoration="underline"),this.styleData.StrikeOut==="1"&&(this.element.style.textDecoration="line-through"),this.textChunks=[];for(let P of this.text)if(!P.startsWith("{")){let F0=document.createElement("span");F0.textContent=P.replaceAll("\\N",` `).replaceAll("\\h"," ").replaceAll("\\n",` -`),F0.style.color=this.secondaryColor,this.element.appendChild(F0),this.textChunks.push(F0)}l.appendChild(this.element),this.element.offsetHeight;let U=this.element.getBoundingClientRect();for(let P of l.children){if(P===this.element)continue;let F0=P.getBoundingClientRect(),m1=l.getBoundingClientRect();U.topF0.top&&(F0.top-m1.top>U.height?(this.element.style.top="",this.element.style.bottom=`${m1.bottom-F0.top}px`):(this.element.style.top=`${F0.top+F0.height}px`,this.element.style.bottom=""))}}};var sB=384,oB=288;function rw(n){let[i,a,l]=n.split(":"),[u,I]=l.split(".");return parseInt(i)*3600+parseInt(a)*60+parseInt(u)+parseInt(I)/100}var aB=class{type;data},VE=class{type;contents=[];constructor(i,a){this.type=i,this.contents=a}getContent(i,a=""){return this.contents.find(l=>l.type===i)?.data||a}},YE=class{visible;subData=[];resolutionX=sB;resolutionY=oB;kerning=!0;styles=[];events=[];fonts=[];timer=1;constructor(i,a,l){this.seq=i,this.screen=a,this.init(),l.onRender=this.tick.bind(this),document.addEventListener("keydown",u=>{u.key===O8.toggleSubtitles&&this.setVisibility(!this.visible)})}tick(){if(!this.visible){for(let a of this.events)a.hide();return}let i=this.seq.currentTime*this.timer;for(let a of this.events)(a.startSeconds>i||a.endSeconds<=i)&&a.hide();this.screen.offsetHeight;for(let a of this.events)a.startSeconds<=i&&a.endSeconds>i&&a.show(this.resolutionX,this.resolutionY,this.screen,i,this.firstEmbeddedFontName)}init(){this.visible=!1,this.subData=[],this.resolutionX=sB,this.resolutionY=oB,this.kerning=!0,this.styles=[],this.events=[],this.fonts=[],this.screen.innerHTML=""}setVisibility(i){this.visible=i,this.tick(),setTimeout(()=>this.tick(),10)}_getSection(i,a=!1){let l=i.toLowerCase(),u=this.subData.find(I=>I.type.toLowerCase()===l);if(!u&&a)throw new Error(`Section ${i} not found!`);return u}loadASSSubtitles(i){this.init();let a=i.replaceAll(`\r +`),F0.style.color=this.secondaryColor,this.element.appendChild(F0),this.textChunks.push(F0)}l.appendChild(this.element),this.element.offsetHeight;let U=this.element.getBoundingClientRect();for(let P of l.children){if(P===this.element)continue;let F0=P.getBoundingClientRect(),m1=l.getBoundingClientRect();U.topF0.top&&(F0.top-m1.top>U.height?(this.element.style.top="",this.element.style.bottom=`${m1.bottom-F0.top}px`):(this.element.style.top=`${F0.top+F0.height}px`,this.element.style.bottom=""))}}};var sB=384,oB=288;function rw(n){let[i,a,l]=n.split(":"),[u,m]=l.split(".");return parseInt(i)*3600+parseInt(a)*60+parseInt(u)+parseInt(m)/100}var aB=class{type;data},VE=class{type;contents=[];constructor(i,a){this.type=i,this.contents=a}getContent(i,a=""){return this.contents.find(l=>l.type===i)?.data||a}},YE=class{visible;subData=[];resolutionX=sB;resolutionY=oB;kerning=!0;styles=[];events=[];fonts=[];timer=1;constructor(i,a,l){this.seq=i,this.screen=a,this.init(),l.onRender=this.tick.bind(this),document.addEventListener("keydown",u=>{u.key===O8.toggleSubtitles&&this.setVisibility(!this.visible)})}tick(){if(!this.visible){for(let a of this.events)a.hide();return}let i=this.seq.currentTime*this.timer;for(let a of this.events)(a.startSeconds>i||a.endSeconds<=i)&&a.hide();this.screen.offsetHeight;for(let a of this.events)a.startSeconds<=i&&a.endSeconds>i&&a.show(this.resolutionX,this.resolutionY,this.screen,i,this.firstEmbeddedFontName)}init(){this.visible=!1,this.subData=[],this.resolutionX=sB,this.resolutionY=oB,this.kerning=!0,this.styles=[],this.events=[],this.fonts=[],this.screen.innerHTML=""}setVisibility(i){this.visible=i,this.tick(),setTimeout(()=>this.tick(),10)}_getSection(i,a=!1){let l=i.toLowerCase(),u=this.subData.find(m=>m.type.toLowerCase()===l);if(!u&&a)throw new Error(`Section ${i} not found!`);return u}loadASSSubtitles(i){this.init();let a=i.replaceAll(`\r `,` `).split(` -`),l=!1,u="",I="",x=[];for(let U of a)if(U.startsWith("[")&&!l)u=U,l=!0;else if(U.length===0&&l)l=!1,this.subData.push(new VE(u,x)),x=[];else if(u==="[Fonts]")if(!U.startsWith("fontname: "))this.fonts.find(P=>P.name===I).data+=U;else{let P=U.split(/: (.*)/s)[1];this.fonts.push({name:P,data:"",dataDecoded:void 0}),I=P}else if(!U.startsWith("!")&&!U.startsWith(";")){let P=U.split(/: (.*)/s),F0=new aB;F0.type=P[0],F0.data=P[1],x.push(F0)}l&&this.subData.push(new VE(u,x));let V=this._getSection("[Script Info]",!0);this.resolutionX=parseInt(V.getContent("PlayResX",sB.toString())),this.resolutionY=parseInt(V.getContent("PlayResY",oB.toString())),this.kerning=V.getContent("Kerning","yes")==="yes",this.timer=parseFloat(V.getContent("Timer","100"))/100;let T=this._getSection("[V4+ Styles]",!0),N=T.getContent("Format","").split(", ");for(let U of T.contents){if(U.type!=="Style")continue;let P=U.data.split(",");if(P.length!==N.length)throw new Error(`Format and style data counts do not match. Expected ${N.length} got ${P.length}`);let F0={};for(let m1=0;m1p3.charCodeAt(0)-33),L2=P2[0]<<2|P2[1]>>4,a0=(P2[1]&15)<<4|P2[2]>>2,g5=(P2[2]&3)<<6|P2[3];U1+1P.name===m).data+=U;else{let P=U.split(/: (.*)/s)[1];this.fonts.push({name:P,data:"",dataDecoded:void 0}),m=P}else if(!U.startsWith("!")&&!U.startsWith(";")){let P=U.split(/: (.*)/s),F0=new aB;F0.type=P[0],F0.data=P[1],x.push(F0)}l&&this.subData.push(new VE(u,x));let H=this._getSection("[Script Info]",!0);this.resolutionX=parseInt(H.getContent("PlayResX",sB.toString())),this.resolutionY=parseInt(H.getContent("PlayResY",oB.toString())),this.kerning=H.getContent("Kerning","yes")==="yes",this.timer=parseFloat(H.getContent("Timer","100"))/100;let F=this._getSection("[V4+ Styles]",!0),T=F.getContent("Format","").split(", ");for(let U of F.contents){if(U.type!=="Style")continue;let P=U.data.split(",");if(P.length!==T.length)throw new Error(`Format and style data counts do not match. Expected ${T.length} got ${P.length}`);let F0={};for(let m1=0;m1p3.charCodeAt(0)-33),L2=P2[0]<<2|P2[1]>>4,a0=(P2[1]&15)<<4|P2[2]>>2,g5=(P2[2]&3)<<6|P2[3];U1+1{let w=document.createElement("option");w.innerText=b0,w.value=b0,l.appendChild(w)}),l.value=this.encoding,l.onchange=()=>this.changeEncoding(l.value),l.classList.add("lyrics_selector"),this.encodingSelector=l,i.appendChild(l);let u=document.createElement("p");u.classList.add("lyrics_text"),n.appendChild(u);let I=document.createElement("details"),x=document.createElement("summary");this.locale.bindObjectProperty(x,"textContent","locale.sequencerController.lyrics.otherText.title"),I.appendChild(x);let V=document.createElement("div");V.innerText="",I.appendChild(V),n.appendChild(I),this.subtitleManager=new YE(this.seq,document.getElementsByClassName("ass_renderer_field")[0],this.renderer);let T=document.createElement("input");T.type="file",T.accept=".ass",T.id="subtitle_upload",T.classList.add("hidden"),n.appendChild(T),T.onchange=async()=>{if(T.files[0]===void 0)return;let b0=T.files[0];this.subtitleManager.loadASSSubtitles(await b0.text()),this.subtitleManager.setVisibility(!0),this.toggleLyrics()};let N=document.createElement("label");N.htmlFor="subtitle_upload",N.classList.add("general_button"),this.locale.bindObjectProperty(N,"textContent","locale.sequencerController.lyrics.subtitles.title"),this.locale.bindObjectProperty(N,"title","locale.sequencerController.lyrics.subtitles.description"),n.appendChild(N),this.lyricsElement.text={main:u,other:V,subtitleButton:N,separateLyrics:[]},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=l,this.controls.appendChild(n),this.requiresTextUpdate=!0}function sw(n){if(!(this.currentLyricsString.length<2||n<0||n>this.currentLyricsString.length)){this.lyricsIndex=n;for(let i=0;i
${Object.keys(v3).find(a=>v3[a]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}
`;this.lyricsElement.text.other.innerHTML=n}var Wr=32,aw="#ccc",Aw="#555",t_="#333",i_="#ddd",r_="Shift_JIS",Ps=class{constructor(i,a,l,u){this.iconColor=aw,this.iconDisabledColor=Aw,this.controls=i,this.encoding=r_,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.lyricsIndex=0,this.requiresTextUpdate=!1,this.rawOtherTextEvents=[],this.mode="dark",this.locale=a,this.currentSongTitle="",this.currentLyrics=[],this.currentLyricsString=[],this.musicModeUI=l,this.renderer=u,this.mainTitleMessageDisplay=document.getElementById("title"),this.synthDisplayMode={enabled:!1,currentEncodedText:new Uint8Array(0)}}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=t_,this.iconDisabledColor=i_):(this.mode="dark",this.iconColor=aw,this.iconDisabledColor=Aw),!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(i=!0){i&&this.seq.play(),this.playPause.innerHTML=F$(Wr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=HQ(Wr),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(i){let a=0;for(;;)try{return this.decoder.decode(i)}catch{a++,this.changeEncoding(Rp[a]),this.encodingSelector.value=Rp[a]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(l,u,I)=>{switch(u){default:return;case v3.text:case v3.copyright:case v3.cuePoint:case v3.trackName:case v3.instrumentName:case v3.programName:case v3.marker:this.rawOtherTextEvents.push({type:u,data:l}),this.requiresTextUpdate=!0;return;case v3.lyric:this.setLyricsText(I);break}},this.seq.addOnTimeChangeEvent(()=>{this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(l=>{if(this.synthDisplayMode.enabled=!1,this.lyricsIndex=0,this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.restoreDisplay(),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[w8.encoding]!==void 0,l.isEmbedded){let u=(T,N,b0,w="")=>this.seq.midiData.RMIDInfo?.[T]===void 0?N:w+b0.decode(this.seq.midiData.RMIDInfo?.[T]).replace(/\0$/,""),I=new TextDecoder,x=u(w8.midiEncoding,this.encoding,I),V=u(w8.encoding,"utf-8",I);this.infoDecoder=new TextDecoder(V),this.changeEncoding(x)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode());let a=null;this.seq.synth.eventHandler.addEvent("synthdisplay","sequi-synth-display",l=>{if(l.displayType===0||l.displayType===1){this.mainTitleMessageDisplay.classList.add("sysex_display"),this.mainTitleMessageDisplay.classList.remove("xg_sysex_display");let u=l.displayData;l.displayType===1&&(u=u.slice(1));let I=this.decodeTextFix(u.buffer);if(l.displayType===1){let x=l.displayData[0];this.mainTitleMessageDisplay.classList.add("xg_sysex_display");let V=x&15;for(let T=0;T=16&&(I=I.slice(0,16)+` -`+I.slice(16)),(x&16)>1&&(I=` -`+I)}I.trim().length===0?this.mainTitleMessageDisplay.innerText="\u200E ":this.mainTitleMessageDisplay.innerText=I,this.synthDisplayMode.enabled=!0,this.synthDisplayMode.currentEncodedText=u,a!==null&&clearTimeout(a),a=setTimeout(()=>{this.synthDisplayMode.enabled=!1,this.restoreDisplay()},5e3)}})}restoreDisplay(){this.mainTitleMessageDisplay.innerText=this.currentSongTitle,this.mainTitleMessageDisplay.classList.remove("sysex_display"),this.mainTitleMessageDisplay.classList.remove("xg_sysex_display")}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.lyricsElement.text.separateLyrics.forEach((a,l)=>{this.currentLyrics[l]!==void 0&&(a.innerText=this.decodeTextFix(this.currentLyrics[l].buffer))}),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.lyricsIndex)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=w=>{w.preventDefault();let U=i.getBoundingClientRect(),P=w.clientX-U.left,F0=U.width;this.seq.currentTime=P/F0*this.seq.duration,l.innerHTML=F$(Wr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let a=document.createElement("div"),l=yu("Play/Pause",F$(Wr));this.playPause=l,this.locale.bindObjectProperty(l,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};l.onclick=u;let I=yu("Previous song",KQ(Wr));this.locale.bindObjectProperty(I,"title","locale.sequencerController.previousSong"),I.onclick=()=>this.switchToPreviousSong();let x=yu("Next song",zQ(Wr));this.locale.bindObjectProperty(x,"title","locale.sequencerController.nextSong"),x.onclick=()=>this.switchToNextSong();let V=yu("Loop this",VQ(Wr));this.locale.bindObjectProperty(V,"title","locale.sequencerController.loopThis");let T=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),V.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};V.onclick=T,this.loopButton=V;let N=yu("Show lyrics",YQ(Wr));this.locale.bindObjectProperty(N,"title","locale.sequencerController.lyrics.show"),N.firstElementChild.setAttribute("fill",this.iconDisabledColor);let b0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),N.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};this.toggleLyrics=b0,N.onclick=b0,document.addEventListener("keydown",w=>{switch(w.key.toLowerCase()){case O8.playPause:w.preventDefault(),u();break;case O8.toggleLoop:w.preventDefault(),T();break;case O8.toggleLyrics:w.preventDefault(),b0();break;default:break}}),a.appendChild(I),a.appendChild(V),a.appendChild(l),a.appendChild(N),a.appendChild(x),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(a),document.addEventListener("keydown",w=>{switch(w.key.toLowerCase()){case O8.seekBackwards:w.preventDefault(),this.seq.currentTime-=5,l.innerHTML=F$(Wr);break;case O8.seekForwards:w.preventDefault(),this.seq.currentTime+=5,l.innerHTML=F$(Wr);break;case O8.previousSong:this.switchToPreviousSong();break;case O8.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(w.key))){w.preventDefault();let U=parseInt(w.key);0<=U&&U<=9&&(this.seq.currentTime=this.seq.duration*(U/10),l.innerHTML=F$(Wr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=b$(this.seq.currentTime),a=b$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${a.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}loadLyricData(){if(this.currentLyrics=this.seq.midiData.lyrics,this.currentLyricsString=this.currentLyrics.map(i=>this.decodeTextFix(i.buffer)),this.currentLyrics.length===0)this.currentLyricsString=[this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics")];else{let i=!0;for(let a=1;al%2===0?"":this.currentLyricsString[l]))}this.lyricsElement.text.main.innerHTML="",this.lyricsElement.text.separateLyrics=[];for(let i of this.currentLyricsString){let a=document.createElement("span");a.innerText=i,a.classList.add("lyrics_text_gray"),this.lyricsElement.text.main.appendChild(a),this.lyricsElement.text.separateLyrics.push(a)}}};Ps.prototype.createNavigatorHandler=ew;Ps.prototype.updateTitleAndMediaStatus=tw;Ps.prototype.createLyrics=nw;Ps.prototype.setLyricsText=sw;Ps.prototype.updateOtherTextEvents=ow;function $w(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function lw(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function cw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var Er=class{constructor(i="none",a,l,u,I=0,x=100,V=!1,T=void 0,N=void 0,b0=void 0){if(this.meterText="",l.bindObjectProperty(this,"meterText",a+".title"),this.min=I,this.max=x,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=N,this.unlockCallback=b0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),l.bindObjectProperty(this.div,"title",a+".description",u),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,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,V){if(T===void 0)throw new Error("No editable function given!");this.div.onmousedown=w=>{w.preventDefault(),w.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=w=>{if(!this.isActive)return;let U=w.currentTarget.getBoundingClientRect(),P=U.left,F0=U.width,m1=w.clientX-P,l1=Math.max(0,Math.min(1,m1/F0));T(l1*(x-I)+I)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=w=>{this.div.onmousemove(w),this.isActive=!1},this.text.oncontextmenu=w=>{w.preventDefault()},this.div.onclick=w=>{w.preventDefault(),this.isActive=!0,this.div.onmousemove(w),this.isActive=!1,pr&&this.lockMeter()},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(i=!1){i&&(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 i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,a=!1){if(!(i===this.currentValue&&a===!1))if(this.currentValue=i,this.isShown){let l=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${l*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var gw=["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 zE=class{constructor(i,a,l,u,I=void 0,x=void 0){this.elements=i.map(V=>({name:V.name,program:V.program,bank:V.bank,stringified:`${V.bank.toString().padStart(3,"0")}:${V.program.toString().padStart(3,"0")} ${V.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"),a.bindObjectProperty(this.mainButton,"title",l+".description",u),this.locale=a,this.localePath=l,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=I,this.selectionMenu=void 0,this.lockCallback=x,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 i=document.createElement("div");i.classList.add("voice_selector_window");let a=document.createElement("h2");this.locale.bindObjectProperty(a,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(a);let l=document.createElement("div");l.classList.add("voice_selector_search_wrapper"),i.appendChild(l);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),l.appendChild(u),u.onkeydown=N=>N.stopPropagation();let I=document.createElement("div");I.innerHTML=this.locked?Tp(ai):nB(ai),this.locale.bindObjectProperty(I,"title",X9+"channelController.presetReset.description",this.localeArgs),I.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&I.classList.add("voice_reset_light"),I.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?I.innerHTML=Tp(ai):I.innerHTML=nB(ai)},l.appendChild(I),this.presetLock=I;let x=document.createElement("div");x.classList.add("voice_selector_table_wrapper"),i.appendChild(x);let T=this.generateTable(x,this.elements).querySelector(".voice_selector_selected");u.oninput=N=>{N.stopPropagation();let b0=u.value,w=this.elements.filter(m1=>m1.stringified.search(new RegExp(b0,"i"))>=0);if(w.length===this.elements.length||w.length===0)return;x.replaceChildren();let U=this.generateTable(x,w),P=U.querySelector(".voice_selector_selected");if(P){T=P;return}let F0=U.querySelector(".voice_selector_option");F0.classList.add("voice_selector_selected"),T=F0},u.addEventListener("keydown",N=>{switch(N.key){case"Enter":let b0=T.getAttribute("bank"),w=T.getAttribute("program"),U=`${b0}:${w}`;if(this.value===U){this.hideSelectionMenu();return}this.editCallback(U),this.locked=!0,this.presetLock.innerHTML=Tp(ai),this.hideSelectionMenu();break;case"ArrowDown":let P=T.nextElementSibling;for(;P;){if(P.classList.contains("voice_selector_option")){T.classList.remove("voice_selector_selected"),P.classList.add("voice_selector_selected"),T=P;return}P=P.nextElementSibling}break;case"ArrowUp":let F0=T.previousElementSibling;for(;F0;){if(F0.classList.contains("voice_selector_option")){T.classList.remove("voice_selector_selected"),F0.classList.add("voice_selector_selected"),T=F0;return}F0=F0.previousElementSibling}break}}),i.onclick=N=>{N.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=N=>{N.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,pr||u.focus()}generateTable(i,a){let l=document.createElement("table");l.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),I=parseInt(this.value.split(":")[1]),x=-20;for(let V of a){let T=document.createElement("tr"),N=V.program;if(T.classList.add("voice_selector_option"),T.setAttribute("program",N.toString()),T.setAttribute("bank",V.bank.toString()),N===I&&V.bank===u&&(T.classList.add("voice_selector_selected"),setTimeout(()=>{T.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),T.onclick=()=>{let m1=`${V.bank}:${N}`;if(this.value===m1){this.hideSelectionMenu();return}this.editCallback(m1),this.locked=!0,this.presetLock.innerHTML=Tp(ai),this.hideSelectionMenu()},N!==x&&(x=N,V.bank!==128)){let m1=document.createElement("tr"),l1=document.createElement("th");l1.colSpan="3",l1.textContent=gw[x],m1.appendChild(l1),l.appendChild(m1)}let b0=`${V.program.toString().padStart(3,"0")}`,w=`${V.bank.toString().padStart(3,"0")}`,U=document.createElement("td");U.classList.add("voice_selector_preset_name"),U.textContent=V.name;let P=document.createElement("td");U.classList.add("voice_selector_preset_program"),P.textContent=b0;let F0=document.createElement("td");U.classList.add("voice_selector_preset_program"),F0.textContent=w,T.appendChild(F0),T.appendChild(P),T.appendChild(U),l.appendChild(T)}return i.appendChild(l),l}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(i=this.elements){if(this.elements=i.map(a=>({name:a.name,program:a.program,bank:a.bank,stringified:`${a.bank.toString().padStart(3,"0")}:${a.program.toString().padStart(3,"0")} ${a.name}`})),this.elements.length>0){let a=this.elements[0],l=a.bank,u=parseInt(this.value.split(":")[1]),I=u;this.elements.find(x=>x.program===u)===void 0&&(I=a.program),this.mainButton.textContent=this.getString(`${l}:${I}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let a=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];a!==void 0&&a.classList.remove("voice_selector_selected");let l=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),I=parseInt(this.value.split(":")[1]);for(let x of l.rows){if(x.cells.length===1)continue;let V=parseInt(x.cells[0].textContent),T=parseInt(x.cells[1].textContent);V===u&&T===I&&(x.classList.add("voice_selector_selected"),x.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let a=i.split(":"),l=parseInt(a[0]),u=parseInt(a[1]),I=this.elements.find(x=>x.bank===l&&x.program===u);return I?l===128||this.elements.filter(x=>x.program===u&&x.bank!==128).length<2?`${u}. ${I.name}`:`${l}:${u} ${I.name}`:""}};var ai=32;function uw(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let a=new Er(this.channelColors[n%this.channelColors.length],X9+"channelController.voiceMeter",this.locale,[n+1],0,100);a.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(a.div);let l=new Er(this.channelColors[n%this.channelColors.length],X9+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,U1=>{let c2=l.isLocked;c2&&this.synth.lockController(n,_$+q4.pitchWheel,!1),U1=Math.round(U1)+8192;let P2=U1>>7,L2=U1&127;this.synth.pitchWheel(n,P2,L2),c2&&this.synth.lockController(n,_$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,_$+q4.pitchWheel,!0),()=>this.synth.lockController(n,_$+q4.pitchWheel,!1));l.update(0),i.appendChild(l.div);let u=(U1,c2,P2)=>{P2.isLocked?(this.synth.lockController(n,U1,!1),this.synth.controllerChange(n,U1,c2),this.synth.lockController(n,U1,!0)):this.synth.controllerChange(n,U1,c2)},I=(U1,c2,P2)=>{let L2=new Er(this.channelColors[n%this.channelColors.length],X9+c2,this.locale,[n+1],0,127,!0,a0=>u(U1,Math.round(a0),L2),()=>this.synth.lockController(n,U1,!0),()=>this.synth.lockController(n,U1,!1));return L2.update(P2),L2},x=I($3.pan,"channelController.panMeter",64);i.appendChild(x.div);let V=I($3.expressionController,"channelController.expressionMeter",127);i.appendChild(V.div);let T=I($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(T.div);let N=I($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(N.div);let b0=I($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(b0.div);let w=I($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(w.div);let U=I($3.brightness,"channelController.filterMeter",64);i.appendChild(U.div);let P=new Er(this.channelColors[n%this.channelColors.length],X9+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,U1=>{U1=Math.round(U1),this.synth.transposeChannel(n,U1,!0),P.update(U1)});P.update(0),i.appendChild(P.div);let F0=new zE([],this.locale,X9+"channelController.presetSelector",[n+1],async U1=>{let c2=U1.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(c2[0]),!0),this.synth.programChange(n,parseInt(c2[1]),!0),F0.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},U1=>this.synth.lockController(n,a7,U1));i.appendChild(F0.mainButton);let m1=document.createElement("div");m1.innerHTML=Bu(ai),this.locale.bindObjectProperty(m1,"title",X9+"channelController.soloButton.description",[n+1]),m1.classList.add("controller_element"),m1.classList.add("mute_button"),m1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let U1=0;U1=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let U1=0;U1{if(l1.hasAttribute("is_muted")){l1.removeAttribute("is_muted");let U1=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!U1),l1.innerHTML=Fp(ai)}else this.synth.muteChannel(n,!0),l1.setAttribute("is_muted","true"),l1.innerHTML=WQ(ai)},i.appendChild(l1);let j1=document.createElement("div");return j1.innerHTML=n===T7?OE(ai):qE(ai),this.locale.bindObjectProperty(j1,"title",X9+"channelController.drumToggleButton.description",[n+1]),j1.classList.add("controller_element"),j1.classList.add("mute_button"),j1.onclick=()=>{F0.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),F0.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(j1),{controller:i,voiceMeter:a,pitchWheel:l,pan:x,expression:V,volume:T,mod:N,chorus:b0,reverb:w,brightness:U,preset:F0,drumsToggle:j1,soloButton:m1,muteButton:l1,transpose:P}}function hw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function AB(n,i=!0){let a=document.createElement("div");a.classList.add("settings_slider_wrapper");let l=n.getAttribute("min"),u=n.getAttribute("max"),I=n.getAttribute("value"),x=n.getAttribute("units"),V=n.getAttribute("input_id"),T=document.createElement("input");T.classList.add("settings_slider"),T.type="range",T.id=V,T.min=l,T.max=u,T.value=I;let N;i&&(N=document.createElement("span"),N.textContent=I+x);let b0=document.createElement("div");b0.classList.add("settings_visual_wrapper");let w=document.createElement("div");w.classList.add("settings_slider_progress"),b0.appendChild(w);let U=document.createElement("div");return U.classList.add("settings_slider_thumb"),b0.appendChild(U),b0.appendChild(T),T.addEventListener("input",()=>{let P=parseInt(b0.style.getPropertyValue("--visual-width").replace("%","")),F0=Math.round((T.value-T.min)/(T.max-T.min)*100);Math.abs((P-F0)/100)>.05?b0.classList.add("settings_slider_transition"):b0.classList.remove("settings_slider_transition"),b0.style.setProperty("--visual-width",`${F0}%`)}),b0.style.setProperty("--visual-width",`${(T.value-T.min)/(T.max-T.min)*100}%`),a.appendChild(b0),i&&a.appendChild(N),a}function Os(n,i,a){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!a)throw new Error("Translate path title provided but no locale provided.");a.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),a.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function fw(n,i){switch(n.type){case"button":let a=document.createElement("button");return Os(a,n,i),Ha(n,[a]),a;case"text":let l=document.createElement("p");return Os(l,n,i),Ha(n,[l]),l;case"input":let u=document.createElement("div");u.classList.add("notification_input_wrapper");let I=document.createElement("input");Os(I,n,i),I.addEventListener("keydown",P2=>P2.stopPropagation());let x=document.createElement("label");return Os(x,n,i),Ha(n,[I,x]),u.append(x),u.appendChild(I),u;case"select":let V=document.createElement("div");V.classList.add("notification_input_wrapper");let T=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let P2 of Object.entries(n.selectOptions)){let L2=document.createElement("option");L2.value=P2[0],L2.textContent=P2[1],T.appendChild(L2)}let N=document.createElement("label");return Os(N,n,i),Ha(n,[T,N]),V.appendChild(N),V.appendChild(T),V;case"file":let b0=document.createElement("label");b0.classList.add("notification_input_wrapper");let w=document.createElement("input");w.type="file";let U=document.createElement("label");U.classList.add("notification_file_button"),Os(U,n,i);let P=document.createElement("label");return Os(P,n,i),Ha(n,[U,w,P]),U.appendChild(w),b0.append(P),b0.appendChild(U),b0;case"progress":let F0=document.createElement("div");F0.classList.add("notification_progress_background");let m1=document.createElement("div");return m1.classList.add("notification_progress"),Ha(n,[m1,F0]),F0.appendChild(m1),F0;case"toggle":return n_(n,i);case"range":let l1=document.createElement("input");l1.type="range";let j1=document.createElement("label");Ha(n,[l1,j1]),Os(j1,n,i);let U1=AB(l1,!1),c2=document.createElement("div");return c2.classList.add("notification_slider_wrapper"),c2.appendChild(j1),c2.appendChild(U1),c2}}function Ha(n,i){if(n.attributes)for(let[a,l]of Object.entries(n.attributes))for(let u of i)a.startsWith("onchange")?u[a]=l:u.setAttribute(a,l);if(n.listeners)for(let[a,l]of Object.entries(n.listeners))for(let u of i)u.addEventListener(a,l)}function n_(n,i){let a=document.createElement("label");a.classList.add("notification_switch_wrapper");let l=document.createElement("label");Os(l,n,i);let u=document.createElement("input");u.type="checkbox",Ha(n,[l,u]);let I=document.createElement("div");I.classList.add("notification_switch"),I.appendChild(u);let x=document.createElement("div");return x.classList.add("notification_switch_slider"),I.appendChild(x),a.appendChild(l),a.appendChild(I),a}var s_=13,o_=0,Np={};function e4(n,i,a=s_,l=!0,u=void 0,I=void 0,x=void 0){let V=document.createElement("div"),T=o_++;V.classList.add("notification"),V.innerHTML=` + }`,document.head.appendChild(j1)}this.firstEmbeddedFontName=this.fonts[0]?.name||"sans-serif",x5("Subtitles:",this.styles,this.events,this.fonts),this.screen.style.fontKerning=this.kerning?"normal":"none"}};function nw(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let a=document.createElement("h2");this.locale.bindObjectProperty(a,"textContent","locale.sequencerController.lyrics.title"),a.classList.add("lyrics_title"),i.appendChild(a),this.lyricsElement.title=a;let l=document.createElement("select");Rp.forEach(S0=>{let w=document.createElement("option");w.innerText=S0,w.value=S0,l.appendChild(w)}),l.value=this.encoding,l.onchange=()=>this.changeEncoding(l.value),l.classList.add("lyrics_selector"),this.encodingSelector=l,i.appendChild(l);let u=document.createElement("p");u.classList.add("lyrics_text"),n.appendChild(u);let m=document.createElement("details"),x=document.createElement("summary");this.locale.bindObjectProperty(x,"textContent","locale.sequencerController.lyrics.otherText.title"),m.appendChild(x);let H=document.createElement("div");H.innerText="",m.appendChild(H),n.appendChild(m),this.subtitleManager=new YE(this.seq,document.getElementsByClassName("ass_renderer_field")[0],this.renderer);let F=document.createElement("input");F.type="file",F.accept=".ass",F.id="subtitle_upload",F.classList.add("hidden"),n.appendChild(F),F.onchange=async()=>{if(F.files[0]===void 0)return;let S0=F.files[0];this.subtitleManager.loadASSSubtitles(await S0.text()),this.subtitleManager.setVisibility(!0),this.toggleLyrics()};let T=document.createElement("label");T.htmlFor="subtitle_upload",T.classList.add("general_button"),this.locale.bindObjectProperty(T,"textContent","locale.sequencerController.lyrics.subtitles.title"),this.locale.bindObjectProperty(T,"title","locale.sequencerController.lyrics.subtitles.description"),n.appendChild(T),this.lyricsElement.text={main:u,other:H,subtitleButton:T,separateLyrics:[]},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=l,this.controls.appendChild(n),this.requiresTextUpdate=!0}function sw(n){if(!(this.currentLyricsString.length<2||n<0||n>this.currentLyricsString.length)){this.lyricsIndex=n;for(let i=0;i
${Object.keys(v3).find(a=>v3[a]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}
`;this.lyricsElement.text.other.innerHTML=n}var Wr=32,aw="#ccc",Aw="#555",t_="#333",i_="#ddd",r_="Shift_JIS",Ps=class{constructor(i,a,l,u){this.iconColor=aw,this.iconDisabledColor=Aw,this.controls=i,this.encoding=r_,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.lyricsIndex=0,this.requiresTextUpdate=!1,this.rawOtherTextEvents=[],this.mode="dark",this.locale=a,this.currentSongTitle="",this.currentLyrics=[],this.currentLyricsString=[],this.musicModeUI=l,this.renderer=u,this.mainTitleMessageDisplay=document.getElementById("title"),this.synthDisplayMode={enabled:!1,currentEncodedText:new Uint8Array(0)};let m=null;u.synth.eventHandler.addEvent("synthdisplay","sequi-synth-display",x=>{if(x.displayType===0||x.displayType===1){this.mainTitleMessageDisplay.classList.add("sysex_display"),this.mainTitleMessageDisplay.classList.remove("xg_sysex_display");let H=x.displayData;x.displayType===1&&(H=H.slice(1));let F=this.decodeTextFix(H.buffer);if(x.displayType===1){let T=x.displayData[0];this.mainTitleMessageDisplay.classList.add("xg_sysex_display");let S0=T&15;for(let w=0;w=16&&(F=F.slice(0,16)+` +`+F.slice(16)),(T&16)>1&&(F=` +`+F)}F.trim().length===0?this.mainTitleMessageDisplay.innerText="\u200E ":this.mainTitleMessageDisplay.innerText=F,this.synthDisplayMode.enabled=!0,this.synthDisplayMode.currentEncodedText=H,m!==null&&clearTimeout(m),m=setTimeout(()=>{this.synthDisplayMode.enabled=!1,this.restoreDisplay()},5e3)}})}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=t_,this.iconDisabledColor=i_):(this.mode="dark",this.iconColor=aw,this.iconDisabledColor=Aw),!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(i=!0){i&&this.seq.play(),this.playPause.innerHTML=F$(Wr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=HQ(Wr),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(i){let a=0;for(;;)try{return this.decoder.decode(i)}catch{a++,this.changeEncoding(Rp[a]),this.encodingSelector.value=Rp[a]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(a,l,u)=>{switch(l){default:return;case v3.text:case v3.copyright:case v3.cuePoint:case v3.trackName:case v3.instrumentName:case v3.programName:case v3.marker:this.rawOtherTextEvents.push({type:l,data:a}),this.requiresTextUpdate=!0;return;case v3.lyric:this.setLyricsText(u);break}},this.seq.addOnTimeChangeEvent(()=>{this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(a=>{if(this.synthDisplayMode.enabled=!1,this.lyricsIndex=0,this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.restoreDisplay(),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[w8.encoding]!==void 0,a.isEmbedded){let l=(H,F,T,S0="")=>this.seq.midiData.RMIDInfo?.[H]===void 0?F:S0+T.decode(this.seq.midiData.RMIDInfo?.[H]).replace(/\0$/,""),u=new TextDecoder,m=l(w8.midiEncoding,this.encoding,u),x=l(w8.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(x),this.changeEncoding(m)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}restoreDisplay(){let i=this.currentSongTitle;this.seq||(i=this.locale.getLocaleString("locale.titleMessage")),this.mainTitleMessageDisplay.innerText=i,this.mainTitleMessageDisplay.classList.remove("sysex_display"),this.mainTitleMessageDisplay.classList.remove("xg_sysex_display")}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.lyricsElement.text.separateLyrics.forEach((a,l)=>{this.currentLyrics[l]!==void 0&&(a.innerText=this.decodeTextFix(this.currentLyrics[l].buffer))}),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.lyricsIndex)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=w=>{w.preventDefault();let U=i.getBoundingClientRect(),P=w.clientX-U.left,F0=U.width;this.seq.currentTime=P/F0*this.seq.duration,l.innerHTML=F$(Wr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let a=document.createElement("div"),l=yu("Play/Pause",F$(Wr));this.playPause=l,this.locale.bindObjectProperty(l,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};l.onclick=u;let m=yu("Previous song",KQ(Wr));this.locale.bindObjectProperty(m,"title","locale.sequencerController.previousSong"),m.onclick=()=>this.switchToPreviousSong();let x=yu("Next song",zQ(Wr));this.locale.bindObjectProperty(x,"title","locale.sequencerController.nextSong"),x.onclick=()=>this.switchToNextSong();let H=yu("Loop this",VQ(Wr));this.locale.bindObjectProperty(H,"title","locale.sequencerController.loopThis");let F=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),H.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};H.onclick=F,this.loopButton=H;let T=yu("Show lyrics",YQ(Wr));this.locale.bindObjectProperty(T,"title","locale.sequencerController.lyrics.show"),T.firstElementChild.setAttribute("fill",this.iconDisabledColor);let S0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),T.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};this.toggleLyrics=S0,T.onclick=S0,document.addEventListener("keydown",w=>{switch(w.key.toLowerCase()){case O8.playPause:w.preventDefault(),u();break;case O8.toggleLoop:w.preventDefault(),F();break;case O8.toggleLyrics:w.preventDefault(),S0();break;default:break}}),a.appendChild(m),a.appendChild(H),a.appendChild(l),a.appendChild(T),a.appendChild(x),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(a),document.addEventListener("keydown",w=>{switch(w.key.toLowerCase()){case O8.seekBackwards:w.preventDefault(),this.seq.currentTime-=5,l.innerHTML=F$(Wr);break;case O8.seekForwards:w.preventDefault(),this.seq.currentTime+=5,l.innerHTML=F$(Wr);break;case O8.previousSong:this.switchToPreviousSong();break;case O8.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(w.key))){w.preventDefault();let U=parseInt(w.key);0<=U&&U<=9&&(this.seq.currentTime=this.seq.duration*(U/10),l.innerHTML=F$(Wr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=b$(this.seq.currentTime),a=b$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${a.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}loadLyricData(){if(this.currentLyrics=this.seq.midiData.lyrics,this.currentLyricsString=this.currentLyrics.map(i=>this.decodeTextFix(i.buffer)),this.currentLyrics.length===0)this.currentLyricsString=[this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics")];else{let i=!0;for(let a=1;al%2===0?"":this.currentLyricsString[l]))}this.lyricsElement.text.main.innerHTML="",this.lyricsElement.text.separateLyrics=[];for(let i of this.currentLyricsString){let a=document.createElement("span");a.innerText=i,a.classList.add("lyrics_text_gray"),this.lyricsElement.text.main.appendChild(a),this.lyricsElement.text.separateLyrics.push(a)}}};Ps.prototype.createNavigatorHandler=ew;Ps.prototype.updateTitleAndMediaStatus=tw;Ps.prototype.createLyrics=nw;Ps.prototype.setLyricsText=sw;Ps.prototype.updateOtherTextEvents=ow;function $w(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function lw(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function cw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var Er=class{constructor(i="none",a,l,u,m=0,x=100,H=!1,F=void 0,T=void 0,S0=void 0){if(this.meterText="",l.bindObjectProperty(this,"meterText",a+".title"),this.min=m,this.max=x,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=T,this.unlockCallback=S0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),l.bindObjectProperty(this.div,"title",a+".description",u),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,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,H){if(F===void 0)throw new Error("No editable function given!");this.div.onmousedown=w=>{w.preventDefault(),w.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=w=>{if(!this.isActive)return;let U=w.currentTarget.getBoundingClientRect(),P=U.left,F0=U.width,m1=w.clientX-P,l1=Math.max(0,Math.min(1,m1/F0));F(l1*(x-m)+m)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=w=>{this.div.onmousemove(w),this.isActive=!1},this.text.oncontextmenu=w=>{w.preventDefault()},this.div.onclick=w=>{w.preventDefault(),this.isActive=!0,this.div.onmousemove(w),this.isActive=!1,pr&&this.lockMeter()},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(i=!1){i&&(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 i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,a=!1){if(!(i===this.currentValue&&a===!1))if(this.currentValue=i,this.isShown){let l=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${l*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var gw=["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 zE=class{constructor(i,a,l,u,m=void 0,x=void 0){this.elements=i.map(H=>({name:H.name,program:H.program,bank:H.bank,stringified:`${H.bank.toString().padStart(3,"0")}:${H.program.toString().padStart(3,"0")} ${H.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"),a.bindObjectProperty(this.mainButton,"title",l+".description",u),this.locale=a,this.localePath=l,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=m,this.selectionMenu=void 0,this.lockCallback=x,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 i=document.createElement("div");i.classList.add("voice_selector_window");let a=document.createElement("h2");this.locale.bindObjectProperty(a,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(a);let l=document.createElement("div");l.classList.add("voice_selector_search_wrapper"),i.appendChild(l);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),l.appendChild(u),u.onkeydown=T=>T.stopPropagation();let m=document.createElement("div");m.innerHTML=this.locked?Tp(ai):nB(ai),this.locale.bindObjectProperty(m,"title",X9+"channelController.presetReset.description",this.localeArgs),m.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&m.classList.add("voice_reset_light"),m.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?m.innerHTML=Tp(ai):m.innerHTML=nB(ai)},l.appendChild(m),this.presetLock=m;let x=document.createElement("div");x.classList.add("voice_selector_table_wrapper"),i.appendChild(x);let F=this.generateTable(x,this.elements).querySelector(".voice_selector_selected");u.oninput=T=>{T.stopPropagation();let S0=u.value,w=this.elements.filter(m1=>m1.stringified.search(new RegExp(S0,"i"))>=0);if(w.length===this.elements.length||w.length===0)return;x.replaceChildren();let U=this.generateTable(x,w),P=U.querySelector(".voice_selector_selected");if(P){F=P;return}let F0=U.querySelector(".voice_selector_option");F0.classList.add("voice_selector_selected"),F=F0},u.addEventListener("keydown",T=>{switch(T.key){case"Enter":let S0=F.getAttribute("bank"),w=F.getAttribute("program"),U=`${S0}:${w}`;if(this.value===U){this.hideSelectionMenu();return}this.editCallback(U),this.locked=!0,this.presetLock.innerHTML=Tp(ai),this.hideSelectionMenu();break;case"ArrowDown":let P=F.nextElementSibling;for(;P;){if(P.classList.contains("voice_selector_option")){F.classList.remove("voice_selector_selected"),P.classList.add("voice_selector_selected"),F=P;return}P=P.nextElementSibling}break;case"ArrowUp":let F0=F.previousElementSibling;for(;F0;){if(F0.classList.contains("voice_selector_option")){F.classList.remove("voice_selector_selected"),F0.classList.add("voice_selector_selected"),F=F0;return}F0=F0.previousElementSibling}break}}),i.onclick=T=>{T.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=T=>{T.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,pr||u.focus()}generateTable(i,a){let l=document.createElement("table");l.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),m=parseInt(this.value.split(":")[1]),x=-20;for(let H of a){let F=document.createElement("tr"),T=H.program;if(F.classList.add("voice_selector_option"),F.setAttribute("program",T.toString()),F.setAttribute("bank",H.bank.toString()),T===m&&H.bank===u&&(F.classList.add("voice_selector_selected"),setTimeout(()=>{F.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),F.onclick=()=>{let m1=`${H.bank}:${T}`;if(this.value===m1){this.hideSelectionMenu();return}this.editCallback(m1),this.locked=!0,this.presetLock.innerHTML=Tp(ai),this.hideSelectionMenu()},T!==x&&(x=T,H.bank!==128)){let m1=document.createElement("tr"),l1=document.createElement("th");l1.colSpan="3",l1.textContent=gw[x],m1.appendChild(l1),l.appendChild(m1)}let S0=`${H.program.toString().padStart(3,"0")}`,w=`${H.bank.toString().padStart(3,"0")}`,U=document.createElement("td");U.classList.add("voice_selector_preset_name"),U.textContent=H.name;let P=document.createElement("td");U.classList.add("voice_selector_preset_program"),P.textContent=S0;let F0=document.createElement("td");U.classList.add("voice_selector_preset_program"),F0.textContent=w,F.appendChild(F0),F.appendChild(P),F.appendChild(U),l.appendChild(F)}return i.appendChild(l),l}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(i=this.elements){if(this.elements=i.map(a=>({name:a.name,program:a.program,bank:a.bank,stringified:`${a.bank.toString().padStart(3,"0")}:${a.program.toString().padStart(3,"0")} ${a.name}`})),this.elements.length>0){let a=this.elements[0],l=a.bank,u=parseInt(this.value.split(":")[1]),m=u;this.elements.find(x=>x.program===u)===void 0&&(m=a.program),this.mainButton.textContent=this.getString(`${l}:${m}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let a=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];a!==void 0&&a.classList.remove("voice_selector_selected");let l=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),m=parseInt(this.value.split(":")[1]);for(let x of l.rows){if(x.cells.length===1)continue;let H=parseInt(x.cells[0].textContent),F=parseInt(x.cells[1].textContent);H===u&&F===m&&(x.classList.add("voice_selector_selected"),x.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let a=i.split(":"),l=parseInt(a[0]),u=parseInt(a[1]),m=this.elements.find(x=>x.bank===l&&x.program===u);return m?l===128||this.elements.filter(x=>x.program===u&&x.bank!==128).length<2?`${u}. ${m.name}`:`${l}:${u} ${m.name}`:""}};var ai=32;function uw(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let a=new Er(this.channelColors[n%this.channelColors.length],X9+"channelController.voiceMeter",this.locale,[n+1],0,100);a.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(a.div);let l=new Er(this.channelColors[n%this.channelColors.length],X9+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,U1=>{let c2=l.isLocked;c2&&this.synth.lockController(n,_$+q4.pitchWheel,!1),U1=Math.round(U1)+8192;let P2=U1>>7,L2=U1&127;this.synth.pitchWheel(n,P2,L2),c2&&this.synth.lockController(n,_$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,_$+q4.pitchWheel,!0),()=>this.synth.lockController(n,_$+q4.pitchWheel,!1));l.update(0),i.appendChild(l.div);let u=(U1,c2,P2)=>{P2.isLocked?(this.synth.lockController(n,U1,!1),this.synth.controllerChange(n,U1,c2),this.synth.lockController(n,U1,!0)):this.synth.controllerChange(n,U1,c2)},m=(U1,c2,P2)=>{let L2=new Er(this.channelColors[n%this.channelColors.length],X9+c2,this.locale,[n+1],0,127,!0,a0=>u(U1,Math.round(a0),L2),()=>this.synth.lockController(n,U1,!0),()=>this.synth.lockController(n,U1,!1));return L2.update(P2),L2},x=m($3.pan,"channelController.panMeter",64);i.appendChild(x.div);let H=m($3.expressionController,"channelController.expressionMeter",127);i.appendChild(H.div);let F=m($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(F.div);let T=m($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(T.div);let S0=m($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(S0.div);let w=m($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(w.div);let U=m($3.brightness,"channelController.filterMeter",64);i.appendChild(U.div);let P=new Er(this.channelColors[n%this.channelColors.length],X9+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,U1=>{U1=Math.round(U1),this.synth.transposeChannel(n,U1,!0),P.update(U1)});P.update(0),i.appendChild(P.div);let F0=new zE([],this.locale,X9+"channelController.presetSelector",[n+1],async U1=>{let c2=U1.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(c2[0]),!0),this.synth.programChange(n,parseInt(c2[1]),!0),F0.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},U1=>this.synth.lockController(n,a7,U1));i.appendChild(F0.mainButton);let m1=document.createElement("div");m1.innerHTML=Bu(ai),this.locale.bindObjectProperty(m1,"title",X9+"channelController.soloButton.description",[n+1]),m1.classList.add("controller_element"),m1.classList.add("mute_button"),m1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let U1=0;U1=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let U1=0;U1{if(l1.hasAttribute("is_muted")){l1.removeAttribute("is_muted");let U1=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!U1),l1.innerHTML=Fp(ai)}else this.synth.muteChannel(n,!0),l1.setAttribute("is_muted","true"),l1.innerHTML=WQ(ai)},i.appendChild(l1);let j1=document.createElement("div");return j1.innerHTML=n===T7?OE(ai):qE(ai),this.locale.bindObjectProperty(j1,"title",X9+"channelController.drumToggleButton.description",[n+1]),j1.classList.add("controller_element"),j1.classList.add("mute_button"),j1.onclick=()=>{F0.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),F0.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(j1),{controller:i,voiceMeter:a,pitchWheel:l,pan:x,expression:H,volume:F,mod:T,chorus:S0,reverb:w,brightness:U,preset:F0,drumsToggle:j1,soloButton:m1,muteButton:l1,transpose:P}}function hw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function AB(n,i=!0){let a=document.createElement("div");a.classList.add("settings_slider_wrapper");let l=n.getAttribute("min"),u=n.getAttribute("max"),m=n.getAttribute("value"),x=n.getAttribute("units"),H=n.getAttribute("input_id"),F=document.createElement("input");F.classList.add("settings_slider"),F.type="range",F.id=H,F.min=l,F.max=u,F.value=m;let T;i&&(T=document.createElement("span"),T.textContent=m+x);let S0=document.createElement("div");S0.classList.add("settings_visual_wrapper");let w=document.createElement("div");w.classList.add("settings_slider_progress"),S0.appendChild(w);let U=document.createElement("div");return U.classList.add("settings_slider_thumb"),S0.appendChild(U),S0.appendChild(F),F.addEventListener("input",()=>{let P=parseInt(S0.style.getPropertyValue("--visual-width").replace("%","")),F0=Math.round((F.value-F.min)/(F.max-F.min)*100);Math.abs((P-F0)/100)>.05?S0.classList.add("settings_slider_transition"):S0.classList.remove("settings_slider_transition"),S0.style.setProperty("--visual-width",`${F0}%`)}),S0.style.setProperty("--visual-width",`${(F.value-F.min)/(F.max-F.min)*100}%`),a.appendChild(S0),i&&a.appendChild(T),a}function Os(n,i,a){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!a)throw new Error("Translate path title provided but no locale provided.");a.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),a.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function fw(n,i){switch(n.type){case"button":let a=document.createElement("button");return Os(a,n,i),Ha(n,[a]),a;case"text":let l=document.createElement("p");return Os(l,n,i),Ha(n,[l]),l;case"input":let u=document.createElement("div");u.classList.add("notification_input_wrapper");let m=document.createElement("input");Os(m,n,i),m.addEventListener("keydown",P2=>P2.stopPropagation());let x=document.createElement("label");return Os(x,n,i),Ha(n,[m,x]),u.append(x),u.appendChild(m),u;case"select":let H=document.createElement("div");H.classList.add("notification_input_wrapper");let F=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let P2 of Object.entries(n.selectOptions)){let L2=document.createElement("option");L2.value=P2[0],L2.textContent=P2[1],F.appendChild(L2)}let T=document.createElement("label");return Os(T,n,i),Ha(n,[F,T]),H.appendChild(T),H.appendChild(F),H;case"file":let S0=document.createElement("label");S0.classList.add("notification_input_wrapper");let w=document.createElement("input");w.type="file";let U=document.createElement("label");U.classList.add("notification_file_button"),Os(U,n,i);let P=document.createElement("label");return Os(P,n,i),Ha(n,[U,w,P]),U.appendChild(w),S0.append(P),S0.appendChild(U),S0;case"progress":let F0=document.createElement("div");F0.classList.add("notification_progress_background");let m1=document.createElement("div");return m1.classList.add("notification_progress"),Ha(n,[m1,F0]),F0.appendChild(m1),F0;case"toggle":return n_(n,i);case"range":let l1=document.createElement("input");l1.type="range";let j1=document.createElement("label");Ha(n,[l1,j1]),Os(j1,n,i);let U1=AB(l1,!1),c2=document.createElement("div");return c2.classList.add("notification_slider_wrapper"),c2.appendChild(j1),c2.appendChild(U1),c2}}function Ha(n,i){if(n.attributes)for(let[a,l]of Object.entries(n.attributes))for(let u of i)a.startsWith("onchange")?u[a]=l:u.setAttribute(a,l);if(n.listeners)for(let[a,l]of Object.entries(n.listeners))for(let u of i)u.addEventListener(a,l)}function n_(n,i){let a=document.createElement("label");a.classList.add("notification_switch_wrapper");let l=document.createElement("label");Os(l,n,i);let u=document.createElement("input");u.type="checkbox",Ha(n,[l,u]);let m=document.createElement("div");m.classList.add("notification_switch"),m.appendChild(u);let x=document.createElement("div");return x.classList.add("notification_switch_slider"),m.appendChild(x),a.appendChild(l),a.appendChild(m),a}var s_=13,o_=0,Np={};function e4(n,i,a=s_,l=!0,u=void 0,m=void 0,x=void 0){let H=document.createElement("div"),F=o_++;H.classList.add("notification"),H.innerHTML=`

${n}

\xD7 -
`;let N=document.createElement("div");if(N.classList.add("notification_content"),I)for(let[w,U]of Object.entries(I))N.style[w]=U;V.appendChild(N);for(let w of i){let U=fw(w,u);w.onClick&&(U.onclick=()=>w.onClick({div:V,id:T},U)),N.appendChild(U)}l?V.getElementsByClassName("close_btn")[0].onclick=()=>{_9(T)}:V.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{V.classList.add("drop")},75);let b0=setTimeout(()=>{_9(T)},a*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(V),Np[T]={div:V,timeout:b0,onclose:x},{div:V,id:T}}function _9(n){if(Np[n]===void 0)return;let i=Np[n],a=i.div;clearTimeout(Np[n].timeout),a.classList.remove("drop"),setTimeout(()=>a.parentElement.removeChild(a),500),i.onclose&&i.onclose(),Np[n]=void 0}var l7={nodesAmount:Kr.nodesAmount,defaultDelay:Kr.defaultDelay,delayVariation:Kr.delayVariation,stereoDifference:Kr.stereoDifference,oscillatorFrequency:Kr.oscillatorFrequency,oscillatorFrequencyVariation:Kr.oscillatorFrequencyVariation,oscillatorGain:Kr.oscillatorGain};function Iw(n,i,a){let l=i+"effectsConfig.",u=e4(n.getLocaleString(l+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(I,x)=>{a.disableGSNRPparams(),x.parentNode.removeChild(x)}},{type:"text",translatePathTitle:l+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:l+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async I=>{if(I.target.files.length===0)return;I.stopImmediatePropagation(),I.preventDefault();let x=I.target.parentElement.parentElement;x.textContent=n.getLocaleString("locale.synthInit.genericLoading");let V=await a.context.decodeAudioData(await I.target.files[0].arrayBuffer());a.setReverbResponse(V),x.textContent=n.getLocaleString("locale.synthInit.done"),x5("%cReverb response set!",I1.info)}}},{type:"text",translatePathTitle:l+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:l+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:l+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:l+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:l+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:l+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:l+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:l+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:l+"chorusConfig.apply",onClick:I=>{l7.nodesAmount=parseFloat(I.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(I.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(I.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(I.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(I.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(I.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(I.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(I.div.querySelector("input[setting='osc-gain']").value),a.setChorusConfig(l7)}}],999999,!0,n);return u.div.onclick=I=>I.stopImmediatePropagation(),u}var h8="locale.synthesizerController.keyModifiers.";async function mw(n,i){return new Promise(a=>{let l=e4(n.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(h8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=u=>{_9(l.id),i.onNotePressed=void 0,a(u)}})}async function pw(n,i,a,l){let u=await mw(i,a),I=(U,P,F0,m1)=>{let l1={type:"number",min:P.toString(),max:F0.toString(),value:m1.toString()};return l1[U]="true",l1},x={};x.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let U of l.toSorted((P,F0)=>P.presetNameF0.presetName?1:0))x[U.presetName]=U.presetName;let V=n.keyModifierManager.getModifier(a.channel,u),T=V?.velocity??-1,N=e4(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[u.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async U=>{_9(U.id),await pw(n,i,a,l)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:I("chan",0,(n.channelsAmount-1).toString(),a.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:I("vel",0,127,T)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:x},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:U=>{let P=parseInt(U.div.querySelector("input[chan]").value)??-1,F0=parseInt(U.div.querySelector("input[vel]").value)??-1,m1=U.div.querySelector("select[preset-selector]").value,l1=-1,j1=-1;if(m1!=="unchanged"){let U1=l.find(c2=>c2.presetName===m1);l1=U1.bank,j1=U1.program}n.keyModifierManager.addModifier(P,u,{velocity:F0,patch:{program:j1,bank:l1}}),_9(U.id)}}],99999,!0,i),b0=V?.patch?.program??-1,w=V?.patch?.bank??-1;w!==-1&&b0!==-1&&(N.div.querySelector("select[preset-selector]").value=l.find(U=>U.bank===w&&U.program===b0).presetName)}async function Ew(n,i,a){let l=await mw(i,a);e4(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[l.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async u=>{_9(u.id),await Ew(n,i,a)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:{chan:"true",type:"number",value:a.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:h8+"removeModification.remove",onClick:u=>{let I=parseInt(u.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(I,l),_9(u.id)}}],99999,!0,i)}function Cw(n,i,a,l){e4(i.getLocaleString(h8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(h8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(h8+"prompt")},{type:"button",translatePathTitle:h8+"modifyKey",onClick:u=>{_9(u.id),pw(n,i,a,l).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:u=>{_9(u.id),Ew(n,i,a).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:u=>{_9(u.id),e4(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:I=>{_9(I.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:I=>{_9(I.id)}}],99999,!0,i)}}],9999999,!0,i)}function Bw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new Er("",X9+"mainVoiceMeter",this.locale,[],0,eB),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new Er("",X9+"mainVolumeMeter",this.locale,[],0,200,!0,N=>{this.synth.setMainVolume(Math.round(N)/100),this.volumeController.update(N)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new Er("",X9+"mainPanMeter",this.locale,[],-1,1,!0,N=>{this.synth.setMasterPan(N),this.panController.update(N)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new Er("",X9+"mainTransposeMeter",this.locale,[],-12,12,!0,N=>{this.synth.transpose(Math.round(N*2)/2),this.transposeController.update(Math.round(N*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",X9+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",X9+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let a=document.createElement("button");this.locale.bindObjectProperty(a,"textContent",X9+"systemReset.title"),this.locale.bindObjectProperty(a,"title",X9+"systemReset.description"),a.classList.add("synthui_button"),a.classList.add("main_controller_element"),a.onclick=()=>{this.controllers.forEach((N,b0)=>{N.pitchWheel.isLocked&&N.pitchWheel.lockMeter(),N.pan.isLocked&&N.pan.lockMeter(),N.expression.isLocked&&N.expression.lockMeter(),N.volume.isLocked&&N.volume.lockMeter(),N.mod.isLocked&&N.mod.lockMeter(),N.chorus.isLocked&&N.chorus.lockMeter(),N.reverb.isLocked&&N.reverb.lockMeter(),N.brightness.isLocked&&N.brightness.lockMeter(),N.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(b0,a7,!1),N.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(b0,0,!0),N.transpose.update(0),N.soloButton.innerHTML=Bu(ai),N.muteButton.innerHTML=Fp(ai),this.synth.muteChannel(b0,!1)}),this.synth.resetControllers()};let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",X9+"blackMidiMode.title"),this.locale.bindObjectProperty(l,"title",X9+"blackMidiMode.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let u=document.createElement("button");this.locale.bindObjectProperty(u,"textContent",X9+"keyModifiers.button.title"),this.locale.bindObjectProperty(u,"title",X9+"keyModifiers.button.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{Cw(this.synth,this.locale,this.keyboard,this.presetList)};let I=document.createElement("button");this.locale.bindObjectProperty(I,"textContent",X9+"effectsConfig.button.title"),this.locale.bindObjectProperty(I,"title",X9+"effectsConfig.button.description"),I.classList.add("synthui_button"),I.classList.add("main_controller_element"),I.onclick=()=>{if(this.effectsConfigWindow!==void 0){_9(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=Iw(this.locale,X9,this.synth).id};let x=document.createElement("select");x.classList.add("main_controller_element"),x.classList.add("synthui_button"),this.locale.bindObjectProperty(x,"title",X9+"interpolation.description");{let N=document.createElement("option");N.value="0",this.locale.bindObjectProperty(N,"textContent",X9+"interpolation.linear"),x.appendChild(N);let b0=document.createElement("option");b0.value="1",this.locale.bindObjectProperty(b0,"textContent",X9+"interpolation.nearestNeighbor"),x.appendChild(b0);let w=document.createElement("option");w.value="2",w.selected=!0,this.locale.bindObjectProperty(w,"textContent",X9+"interpolation.cubic"),x.appendChild(w),x.onchange=()=>{this.synth.setInterpolationType(parseInt(x.value))}}let V=document.createElement("div");V.classList.add("synthui_controller"),this.uiDiv.appendChild(V);let T=document.createElement("button");this.locale.bindObjectProperty(T,"textContent",X9+"toggleButton.title"),this.locale.bindObjectProperty(T,"title",X9+"toggleButton.description"),T.classList.add("synthui_button"),T.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(a),n.appendChild(l),n.appendChild(u),n.appendChild(I),n.appendChild(x),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,a,l,u,I,T,x],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(T),V.appendChild(n),this.mainControllerDiv=V,this.mainControllerDiv.onclick=N=>N.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(_9(this.effectsConfigWindow),this.effectsConfigWindow=void 0),V.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function yw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let a=i.controllerNumber,l=i.channel,u=i.controllerValue,I=this.controllers[l];if(I!==void 0)switch(a){default:break;case $3.expressionController:I.expression.update(u);break;case $3.mainVolume:I.volume.update(u);break;case $3.pan:I.pan.update(u);break;case $3.modulationWheel:I.mod.update(u);break;case $3.chorusDepth:I.chorus.update(u);break;case $3.reverbDepth:I.reverb.update(u);break;case $3.brightness:I.brightness.update(u)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let a=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(a-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?OE(32):qE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var X9="locale.synthesizerController.",Zr=class{constructor(i,a,l){this.channelColors=i;let u=a;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),u.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=l,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",a=>{switch(a.key.toLowerCase()){case O8.synthesizerUIShow:a.preventDefault(),this.toggleVisibility();break;case O8.settingsShow:this.isShown=!0,this.toggleVisibility();break;case O8.blackMidiMode:a.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case O8.midiPanic:a.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 a of this.controllers)a.voiceMeter.update(a.voiceMeter.currentValue,!0),a.pitchWheel.update(a.pitchWheel.currentValue,!0),a.pan.update(a.pan.currentValue,!0),a.volume.update(a.volume.currentValue,!0),a.expression.update(a.expression.currentValue,!0),a.mod.update(a.mod.currentValue,!0),a.chorus.update(a.chorus.currentValue,!0),a.reverb.update(a.reverb.currentValue,!0),a.brightness.update(a.brightness.currentValue,!0),a.transpose.update(a.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(_9(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,a)=>{let l=this.synth.channelProperties[a].voicesAmount;i.voiceMeter.update(l),l<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let a=i;this.presetList=a,this.instrumentList=a.filter(l=>l.bank!==128).sort((l,u)=>l.program===u.program?l.bank-u.bank:l.program-u.program).map(l=>({name:l.presetName,bank:l.bank,program:l.program})),this.percussionList=a.filter(l=>l.bank===128).sort((l,u)=>l.program-u.program).map(l=>({name:l.presetName,bank:l.bank,program:l.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((l,u)=>{let I=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;l.preset.reload(I),l.preset.set(`${I[0].bank}:${I[0].program}`)})})}};Zr.prototype.hideControllers=$w;Zr.prototype.showControllers=lw;Zr.prototype.toggleDarkMode=cw;Zr.prototype.createChannelController=uw;Zr.prototype.createChannelControllers=hw;Zr.prototype.createMainSynthController=Bw;Zr.prototype.setEventListeners=yw;var Gp=null,KE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Gp,this.selectedOutput=Gp,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,x5("%cMIDI handler created!",I1.recognized),!0}catch(i){return me("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return me("Web MIDI Api not supported!",I1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,a){this.selectedOutput=i,a.connectMidiOutput(i),x5(`%cPlaying MIDI to %c${i.name}`,I1.info,I1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Gp,i.connectMidiOutput(void 0),x5("%cDisconnected from MIDI out.",I1.info)}connectDeviceToSynth(i,a){this.selectedInput=i,i.onmidimessage=l=>{a.sendMessage(l.data)},x5(`%cListening for messages on %c${i.name}`,I1.info,I1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Gp,i.onmidimessage=void 0,x5(`%cDisconnected from %c${i.name}`,I1.info,I1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Gp;for(let i of this.inputs)i[1].onmidimessage=void 0}};var JE=class{constructor(i){window.addEventListener("message",a=>{if(typeof a.data!="string")return;let l=a.data.split(",");if(l[0]!=="midi")return;l.shift();let u=l.map(I=>parseInt(I,16));i.sendMessage(u)}),x5("%cWeb MIDI Link handler created!",I1.recognized)}};var Va="midi range";function Qw(n,i,a){let l=0,u=this.htmlControls.keyboard,I=[],x=[],V,T=U=>{let P=x[U],F0=P.drum?128:P.bank,m1=V.find(l1=>l1.bank===F0&&l1.program===P.program);m1||(m1=V[0]),I[U].textContent=": "+m1.presetName},N=()=>{if(V)for(let U=0;U{let U=document.createElement("option");U.value=l.toString();let P=document.createElement("p");this.locale.bindObjectProperty(P,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[l+1]);let F0=document.createElement("p");F0.textContent=": not ",I.push(F0),x.push({program:0,bank:0,drum:l%16===9}),N(),U.appendChild(P),U.appendChild(F0),U.style.background=i.channelColors[l%i.channelColors.length],U.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(U),l++},w=this.synthui.synth;w.eventHandler.addEvent("presetlistchange","settings-preset-list-change",U=>{V=U,N()}),w.eventHandler.addEvent("newchannel","settings-new-channel",()=>{b0()}),w.eventHandler.addEvent("programchange","settings-program-change",U=>{let P=x[U.channel];P.bank=U.bank,P.program=U.program,T(U.channel)}),w.eventHandler.addEvent("drumchange","settings-drum-change",U=>{x[U.channel].drum=U.isDrumChannel,T(U.channel)});for(let U=0;U{n.selectChannel(parseInt(u.channelSelector.value))},u.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{u.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,a.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[u.sizeSelector.value],a.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},600);return}u.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,a.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[u.sizeSelector.value],a.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},this.addSequencer=U=>{U.addOnSongChangeEvent(P=>{this.autoKeyRange&&(n.keyRange=P.keyRange,a.keyRange=P.keyRange),P.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{b0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",U=>{U.userCalled&&(n.selectChannel(U.channel),u.channelSelector.value=U.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",U=>{if(U.isMuted&&U.channel===n.channel){let P=0;for(;i.synth.channelProperties[P].isMuted;)if(P++,i.synth.channelProperties[P]===void 0)return;P{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},u.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var ww=` + `;let T=document.createElement("div");if(T.classList.add("notification_content"),m)for(let[w,U]of Object.entries(m))T.style[w]=U;H.appendChild(T);for(let w of i){let U=fw(w,u);w.onClick&&(U.onclick=()=>w.onClick({div:H,id:F},U)),T.appendChild(U)}l?H.getElementsByClassName("close_btn")[0].onclick=()=>{_9(F)}:H.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{H.classList.add("drop")},75);let S0=setTimeout(()=>{_9(F)},a*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(H),Np[F]={div:H,timeout:S0,onclose:x},{div:H,id:F}}function _9(n){if(Np[n]===void 0)return;let i=Np[n],a=i.div;clearTimeout(Np[n].timeout),a.classList.remove("drop"),setTimeout(()=>a.parentElement.removeChild(a),500),i.onclose&&i.onclose(),Np[n]=void 0}var l7={nodesAmount:Kr.nodesAmount,defaultDelay:Kr.defaultDelay,delayVariation:Kr.delayVariation,stereoDifference:Kr.stereoDifference,oscillatorFrequency:Kr.oscillatorFrequency,oscillatorFrequencyVariation:Kr.oscillatorFrequencyVariation,oscillatorGain:Kr.oscillatorGain};function Iw(n,i,a){let l=i+"effectsConfig.",u=e4(n.getLocaleString(l+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(m,x)=>{a.disableGSNRPparams(),x.parentNode.removeChild(x)}},{type:"text",translatePathTitle:l+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:l+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async m=>{if(m.target.files.length===0)return;m.stopImmediatePropagation(),m.preventDefault();let x=m.target.parentElement.parentElement;x.textContent=n.getLocaleString("locale.synthInit.genericLoading");let H=await a.context.decodeAudioData(await m.target.files[0].arrayBuffer());a.setReverbResponse(H),x.textContent=n.getLocaleString("locale.synthInit.done"),x5("%cReverb response set!",I1.info)}}},{type:"text",translatePathTitle:l+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:l+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:l+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:l+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:l+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:l+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:l+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:l+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:l+"chorusConfig.apply",onClick:m=>{l7.nodesAmount=parseFloat(m.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(m.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(m.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(m.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(m.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(m.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(m.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(m.div.querySelector("input[setting='osc-gain']").value),a.setChorusConfig(l7)}}],999999,!0,n);return u.div.onclick=m=>m.stopImmediatePropagation(),u}var h8="locale.synthesizerController.keyModifiers.";async function mw(n,i){return new Promise(a=>{let l=e4(n.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(h8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=u=>{_9(l.id),i.onNotePressed=void 0,a(u)}})}async function pw(n,i,a,l){let u=await mw(i,a),m=(U,P,F0,m1)=>{let l1={type:"number",min:P.toString(),max:F0.toString(),value:m1.toString()};return l1[U]="true",l1},x={};x.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let U of l.toSorted((P,F0)=>P.presetNameF0.presetName?1:0))x[U.presetName]=U.presetName;let H=n.keyModifierManager.getModifier(a.channel,u),F=H?.velocity??-1,T=e4(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[u.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async U=>{_9(U.id),await pw(n,i,a,l)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:m("chan",0,(n.channelsAmount-1).toString(),a.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:m("vel",0,127,F)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:x},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:U=>{let P=parseInt(U.div.querySelector("input[chan]").value)??-1,F0=parseInt(U.div.querySelector("input[vel]").value)??-1,m1=U.div.querySelector("select[preset-selector]").value,l1=-1,j1=-1;if(m1!=="unchanged"){let U1=l.find(c2=>c2.presetName===m1);l1=U1.bank,j1=U1.program}n.keyModifierManager.addModifier(P,u,{velocity:F0,patch:{program:j1,bank:l1}}),_9(U.id)}}],99999,!0,i),S0=H?.patch?.program??-1,w=H?.patch?.bank??-1;w!==-1&&S0!==-1&&(T.div.querySelector("select[preset-selector]").value=l.find(U=>U.bank===w&&U.program===S0).presetName)}async function Ew(n,i,a){let l=await mw(i,a);e4(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[l.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async u=>{_9(u.id),await Ew(n,i,a)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:{chan:"true",type:"number",value:a.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:h8+"removeModification.remove",onClick:u=>{let m=parseInt(u.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(m,l),_9(u.id)}}],99999,!0,i)}function Cw(n,i,a,l){e4(i.getLocaleString(h8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(h8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(h8+"prompt")},{type:"button",translatePathTitle:h8+"modifyKey",onClick:u=>{_9(u.id),pw(n,i,a,l).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:u=>{_9(u.id),Ew(n,i,a).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:u=>{_9(u.id),e4(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:m=>{_9(m.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:m=>{_9(m.id)}}],99999,!0,i)}}],9999999,!0,i)}function Bw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new Er("",X9+"mainVoiceMeter",this.locale,[],0,eB),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new Er("",X9+"mainVolumeMeter",this.locale,[],0,200,!0,T=>{this.synth.setMainVolume(Math.round(T)/100),this.volumeController.update(T)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new Er("",X9+"mainPanMeter",this.locale,[],-1,1,!0,T=>{this.synth.setMasterPan(T),this.panController.update(T)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new Er("",X9+"mainTransposeMeter",this.locale,[],-12,12,!0,T=>{this.synth.transpose(Math.round(T*2)/2),this.transposeController.update(Math.round(T*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",X9+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",X9+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let a=document.createElement("button");this.locale.bindObjectProperty(a,"textContent",X9+"systemReset.title"),this.locale.bindObjectProperty(a,"title",X9+"systemReset.description"),a.classList.add("synthui_button"),a.classList.add("main_controller_element"),a.onclick=()=>{this.controllers.forEach((T,S0)=>{T.pitchWheel.isLocked&&T.pitchWheel.lockMeter(),T.pan.isLocked&&T.pan.lockMeter(),T.expression.isLocked&&T.expression.lockMeter(),T.volume.isLocked&&T.volume.lockMeter(),T.mod.isLocked&&T.mod.lockMeter(),T.chorus.isLocked&&T.chorus.lockMeter(),T.reverb.isLocked&&T.reverb.lockMeter(),T.brightness.isLocked&&T.brightness.lockMeter(),T.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(S0,a7,!1),T.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(S0,0,!0),T.transpose.update(0),T.soloButton.innerHTML=Bu(ai),T.muteButton.innerHTML=Fp(ai),this.synth.muteChannel(S0,!1)}),this.synth.resetControllers()};let l=document.createElement("button");this.locale.bindObjectProperty(l,"textContent",X9+"blackMidiMode.title"),this.locale.bindObjectProperty(l,"title",X9+"blackMidiMode.description"),l.classList.add("synthui_button"),l.classList.add("main_controller_element"),l.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let u=document.createElement("button");this.locale.bindObjectProperty(u,"textContent",X9+"keyModifiers.button.title"),this.locale.bindObjectProperty(u,"title",X9+"keyModifiers.button.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{Cw(this.synth,this.locale,this.keyboard,this.presetList)};let m=document.createElement("button");this.locale.bindObjectProperty(m,"textContent",X9+"effectsConfig.button.title"),this.locale.bindObjectProperty(m,"title",X9+"effectsConfig.button.description"),m.classList.add("synthui_button"),m.classList.add("main_controller_element"),m.onclick=()=>{if(this.effectsConfigWindow!==void 0){_9(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=Iw(this.locale,X9,this.synth).id};let x=document.createElement("select");x.classList.add("main_controller_element"),x.classList.add("synthui_button"),this.locale.bindObjectProperty(x,"title",X9+"interpolation.description");{let T=document.createElement("option");T.value="0",this.locale.bindObjectProperty(T,"textContent",X9+"interpolation.linear"),x.appendChild(T);let S0=document.createElement("option");S0.value="1",this.locale.bindObjectProperty(S0,"textContent",X9+"interpolation.nearestNeighbor"),x.appendChild(S0);let w=document.createElement("option");w.value="2",w.selected=!0,this.locale.bindObjectProperty(w,"textContent",X9+"interpolation.cubic"),x.appendChild(w),x.onchange=()=>{this.synth.setInterpolationType(parseInt(x.value))}}let H=document.createElement("div");H.classList.add("synthui_controller"),this.uiDiv.appendChild(H);let F=document.createElement("button");this.locale.bindObjectProperty(F,"textContent",X9+"toggleButton.title"),this.locale.bindObjectProperty(F,"title",X9+"toggleButton.description"),F.classList.add("synthui_button"),F.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(a),n.appendChild(l),n.appendChild(u),n.appendChild(m),n.appendChild(x),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,a,l,u,m,F,x],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(F),H.appendChild(n),this.mainControllerDiv=H,this.mainControllerDiv.onclick=T=>T.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(_9(this.effectsConfigWindow),this.effectsConfigWindow=void 0),H.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function yw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let a=i.controllerNumber,l=i.channel,u=i.controllerValue,m=this.controllers[l];if(m!==void 0)switch(a){default:break;case $3.expressionController:m.expression.update(u);break;case $3.mainVolume:m.volume.update(u);break;case $3.pan:m.pan.update(u);break;case $3.modulationWheel:m.mod.update(u);break;case $3.chorusDepth:m.chorus.update(u);break;case $3.reverbDepth:m.reverb.update(u);break;case $3.brightness:m.brightness.update(u)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let a=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(a-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?OE(32):qE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var X9="locale.synthesizerController.",Zr=class{constructor(i,a,l){this.channelColors=i;let u=a;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),u.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=l,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",a=>{switch(a.key.toLowerCase()){case O8.synthesizerUIShow:a.preventDefault(),this.toggleVisibility();break;case O8.settingsShow:this.isShown=!0,this.toggleVisibility();break;case O8.blackMidiMode:a.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case O8.midiPanic:a.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 a of this.controllers)a.voiceMeter.update(a.voiceMeter.currentValue,!0),a.pitchWheel.update(a.pitchWheel.currentValue,!0),a.pan.update(a.pan.currentValue,!0),a.volume.update(a.volume.currentValue,!0),a.expression.update(a.expression.currentValue,!0),a.mod.update(a.mod.currentValue,!0),a.chorus.update(a.chorus.currentValue,!0),a.reverb.update(a.reverb.currentValue,!0),a.brightness.update(a.brightness.currentValue,!0),a.transpose.update(a.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(_9(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,a)=>{let l=this.synth.channelProperties[a].voicesAmount;i.voiceMeter.update(l),l<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let a=i;this.presetList=a,this.instrumentList=a.filter(l=>l.bank!==128).sort((l,u)=>l.program===u.program?l.bank-u.bank:l.program-u.program).map(l=>({name:l.presetName,bank:l.bank,program:l.program})),this.percussionList=a.filter(l=>l.bank===128).sort((l,u)=>l.program-u.program).map(l=>({name:l.presetName,bank:l.bank,program:l.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((l,u)=>{let m=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;l.preset.reload(m),l.preset.set(`${m[0].bank}:${m[0].program}`)})})}};Zr.prototype.hideControllers=$w;Zr.prototype.showControllers=lw;Zr.prototype.toggleDarkMode=cw;Zr.prototype.createChannelController=uw;Zr.prototype.createChannelControllers=hw;Zr.prototype.createMainSynthController=Bw;Zr.prototype.setEventListeners=yw;var Gp=null,KE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Gp,this.selectedOutput=Gp,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,x5("%cMIDI handler created!",I1.recognized),!0}catch(i){return me("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return me("Web MIDI Api not supported!",I1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,a){this.selectedOutput=i,a.connectMidiOutput(i),x5(`%cPlaying MIDI to %c${i.name}`,I1.info,I1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Gp,i.connectMidiOutput(void 0),x5("%cDisconnected from MIDI out.",I1.info)}connectDeviceToSynth(i,a){this.selectedInput=i,i.onmidimessage=l=>{a.sendMessage(l.data)},x5(`%cListening for messages on %c${i.name}`,I1.info,I1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Gp,i.onmidimessage=void 0,x5(`%cDisconnected from %c${i.name}`,I1.info,I1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Gp;for(let i of this.inputs)i[1].onmidimessage=void 0}};var JE=class{constructor(i){window.addEventListener("message",a=>{if(typeof a.data!="string")return;let l=a.data.split(",");if(l[0]!=="midi")return;l.shift();let u=l.map(m=>parseInt(m,16));i.sendMessage(u)}),x5("%cWeb MIDI Link handler created!",I1.recognized)}};var Va="midi range";function Qw(n,i,a){let l=0,u=this.htmlControls.keyboard,m=[],x=[],H,F=U=>{let P=x[U],F0=P.drum?128:P.bank,m1=H.find(l1=>l1.bank===F0&&l1.program===P.program);m1||(m1=H[0]),m[U].textContent=": "+m1.presetName},T=()=>{if(H)for(let U=0;U{let U=document.createElement("option");U.value=l.toString();let P=document.createElement("p");this.locale.bindObjectProperty(P,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[l+1]);let F0=document.createElement("p");F0.textContent=": not ",m.push(F0),x.push({program:0,bank:0,drum:l%16===9}),T(),U.appendChild(P),U.appendChild(F0),U.style.background=i.channelColors[l%i.channelColors.length],U.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(U),l++},w=this.synthui.synth;w.eventHandler.addEvent("presetlistchange","settings-preset-list-change",U=>{H=U,T()}),w.eventHandler.addEvent("newchannel","settings-new-channel",()=>{S0()}),w.eventHandler.addEvent("programchange","settings-program-change",U=>{let P=x[U.channel];P.bank=U.bank,P.program=U.program,F(U.channel)}),w.eventHandler.addEvent("drumchange","settings-drum-change",U=>{x[U.channel].drum=U.isDrumChannel,F(U.channel)});for(let U=0;U{n.selectChannel(parseInt(u.channelSelector.value))},u.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{u.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,a.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[u.sizeSelector.value],a.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},600);return}u.sizeSelector.value===Va?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,a.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[u.sizeSelector.value],a.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},this.addSequencer=U=>{U.addOnSongChangeEvent(P=>{this.autoKeyRange&&(n.keyRange=P.keyRange,a.keyRange=P.keyRange),P.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{S0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",U=>{U.userCalled&&(n.selectChannel(U.channel),u.channelSelector.value=U.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",U=>{if(U.isMuted&&U.channel===n.channel){let P=0;for(;i.synth.channelProperties[P].isMuted;)if(P++,i.synth.channelProperties[P]===void 0)return;P{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},u.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var ww=`

@@ -223,7 +223,7 @@ var wE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,a)=>(

-`;async function vw(){let n=await window.savedSettings;if(!n.interface)return;x5("Loading saved settings...",n);let i=this.htmlControls.renderer,a=this.renderer,l=n.renderer;a.noteFallingTimeMs=l.noteFallingTimeMs??1e3,i.noteTimeSlider.value=l.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Cr(i.noteTimeSlider).innerText=`${l.noteFallingTimeMs}ms`,a.noteAfterTriggerTimeMs=l.noteAfterTriggerTimeMs??0,i.noteAfterTriggerTimeSlider.value=l.noteAfterTriggerTimeMs,i.noteAfterTriggerTimeSlider.dispatchEvent(new Event("input")),Cr(i.noteAfterTriggerTimeSlider).innerText=`${l.noteAfterTriggerTimeMs}ms`,i.analyserThicknessSlider.value=l.waveformThickness??2,i.analyserThicknessSlider.dispatchEvent(new Event("input")),a.lineThickness=l.waveformThickness,Cr(i.analyserThicknessSlider).innerText=`${l.waveformThickness}px`;let u=l.sampleSize??10;i.analyserFftSlider.value=Math.log2(u),i.analyserFftSlider.dispatchEvent(new Event("input")),a.normalAnalyserFft=u,a.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(u)+2)),a.updateFftSize(),this.setTimeDelay(u),Cr(i.analyserFftSlider).innerText=`${u}`,a.waveMultiplier=l.amplifier??2,i.waveMultiplierSlizer.value=l.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Cr(i.waveMultiplierSlizer).innerText=l.amplifier.toString();let I=this.htmlControls.renderer;a.renderAnalysers=l.renderWaveforms??!0,I.analyserToggler.checked=l.renderWaveforms??!0,a.renderNotes=l.renderNotes??!0,I.noteToggler.checked=l.renderNotes??!0,a.drawActiveNotes=l.drawActiveNotes??!0,I.activeNoteToggler.checked=l.drawActiveNotes??!0,a.showVisualPitch=l.showVisualPitch??!0,I.visualPitchToggler.checked=l.showVisualPitch??!0,a.stabilizeWaveforms=l.stabilizeWaveforms??!0,I.stabilizeWaveformsToggler.checked=l.stabilizeWaveforms??!0,a.keyRange=l.keyRange??{min:0,max:128};let x=this.htmlControls.keyboard,V=this.midiKeyboard,T=n.keyboard;V.setKeyRange(T.keyRange??{min:0,max:128},!1),T.autoRange?(x.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,x.sizeSelector.value=Object.keys(this.keyboardSizes).find(N=>this.keyboardSizes[N].min===T.keyRange.min&&this.keyboardSizes[N].max===T.keyRange.max)),T.mode==="dark"&&(V.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),T.show===!1&&(V.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function kw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Sw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,noteAfterTriggerTimeMs:this.renderer.noteAfterTriggerTimeMs,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===Va,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 bw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[l,u]of Object.entries(this.locales)){let I=document.createElement("option");I.value=l,I.textContent=u.localeName,i.appendChild(I)}i.value=this.locale.localeCode,i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let a=this.htmlControls.interface.layoutSelector;a.onchange=()=>{this._changeLayout(a.value),this._saveSettings(),a.blur()}}function Dw(n){let i=document.getElementById("keyboard_canvas_wrapper"),a=document.getElementById("note_canvas"),l=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),a.classList.remove("sideways"),l.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),a.classList.remove("sideways"),l.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),a.classList.add("sideways"),l.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),a.classList.add("sideways"),l.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var WE={start:"#101010",end:"#212121"},ZE={start:"#bbb",end:"#f0f0f0"},_w="#eee",xw="#333",jE={start:"#222",end:"#333"},XE={start:"#ccc",end:"#fff"},Nn=.2;function Lw(){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 n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Gn(xw,_w,Nn,i,"--font-color"),Gn(XE.start,jE.start,Nn,i,"--top-buttons-color-start"),Gn(XE.end,jE.end,Nn,i,"--top-buttons-color-end"),Gn(ZE.start,WE.start,Nn,i,"--top-color-start"),Gn(ZE.end,WE.end,Nn,i,"--top-color-end")):(Gn(_w,xw,Nn,i,"--font-color"),Gn(jE.start,XE.start,Nn,i,"--top-buttons-color-start"),Gn(jE.end,XE.end,Nn,i,"--top-buttons-color-end"),Gn(WE.start,ZE.start,Nn,i,"--top-color-start"),Gn(WE.end,ZE.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Qu={};function Gn(n,i,a,l,u){Qu[u]&&(clearInterval(Qu[u]),Qu[u]=void 0);function I(w){w.length===4&&(w=`#${w[1]}${w[1]}${w[2]}${w[2]}${w[3]}${w[3]}`);let U=parseInt(w.slice(1),16);return{r:U>>16&255,g:U>>8&255,b:U&255}}function x(w,U,P){return w+(U-w)*P}let V=I(n),T=I(i),N=performance.now()/1e3;function b0(){let U=performance.now()/1e3-N,P=Math.min(U/a,1),F0=Math.round(x(V.r,T.r,P)),m1=Math.round(x(V.g,T.g,P)),l1=Math.round(x(V.b,T.b,P));l.style.setProperty(u,`rgb(${F0}, ${m1}, ${l1})`),P>=1&&(clearInterval(Qu[u]),Qu[u]=void 0)}Qu[u]=setInterval(b0,1e3/60)}function Mw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Cr(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.noteAfterTriggerTimeSlider.addEventListener("input",()=>{n.noteAfterTriggerTimeMs=i.noteAfterTriggerTimeSlider.value,Cr(i.noteAfterTriggerTimeSlider).innerText=`${i.noteAfterTriggerTimeSlider.value}ms`}),i.noteAfterTriggerTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Cr(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let a=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=a,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),this.setTimeDelay(a),Cr(i.analyserFftSlider).innerText=`${a}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Cr(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function Rw(n,i,a){n.createMIDIDeviceHandler().then(l=>{l?(this._createMidiInputHandler(n,a.synth),this._createMidiOutputHandler(n,i)):(pr||e4(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Fw(n,i){if(n.inputs.length<1)return;let a=this.htmlControls.midi.inputSelector;for(let l of n.inputs){let u=document.createElement("option");u.value=l[0],u.innerText=l[1].name,a.appendChild(u)}a.onchange=()=>{a.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(a.value),i),this._saveSettings()}}function Tw(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let a=this.htmlControls.midi.outputSelector;for(let l of n.outputs){let u=document.createElement("option");u.value=l[0],u.innerText=l[1].name,a.appendChild(u)}a.onchange=()=>{i.seq&&(a.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(a.value),i.seq),this._saveSettings())}}var Nw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},noteAfterTriggerTime:{title:"Note after trigger time (miliseconds)",description:"How long the notes fall after they get triggered. Zero means that they trigger at the bottom."},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). Also note that high values will add a delay to the audio to sync the waveforms with the audio."},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 Gw={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 Uw={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"},reminder:{title:"Note that you need to RESTART YOUR BROWSER after connecting a new MIDI device for it to show up here.",description:"Also note that Safari does not support WebMIDI, so you will need to use a different browser if you are on Mac."}};var Pw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Nw,keyboardSettings:Gw,midiSettings:Uw,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",helpTranslate:"Translate SpessaSynth"},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"}},reminder:{title:"Did you know that you can hover over the settings to get more information?",description:"Like this one!"}}};var Ow={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 qw={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 Hw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Vw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. +`;async function vw(){let n=await window.savedSettings;if(!n.interface)return;x5("Loading saved settings...",n);let i=this.htmlControls.renderer,a=this.renderer,l=n.renderer;a.noteFallingTimeMs=l.noteFallingTimeMs??1e3,i.noteTimeSlider.value=l.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Cr(i.noteTimeSlider).innerText=`${l.noteFallingTimeMs}ms`,a.noteAfterTriggerTimeMs=l.noteAfterTriggerTimeMs??0,i.noteAfterTriggerTimeSlider.value=l.noteAfterTriggerTimeMs,i.noteAfterTriggerTimeSlider.dispatchEvent(new Event("input")),Cr(i.noteAfterTriggerTimeSlider).innerText=`${l.noteAfterTriggerTimeMs}ms`,i.analyserThicknessSlider.value=l.waveformThickness??2,i.analyserThicknessSlider.dispatchEvent(new Event("input")),a.lineThickness=l.waveformThickness,Cr(i.analyserThicknessSlider).innerText=`${l.waveformThickness}px`;let u=l.sampleSize??10;i.analyserFftSlider.value=Math.log2(u),i.analyserFftSlider.dispatchEvent(new Event("input")),a.normalAnalyserFft=u,a.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(u)+2)),a.updateFftSize(),this.setTimeDelay(u),Cr(i.analyserFftSlider).innerText=`${u}`,a.waveMultiplier=l.amplifier??2,i.waveMultiplierSlizer.value=l.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Cr(i.waveMultiplierSlizer).innerText=l.amplifier.toString();let m=this.htmlControls.renderer;a.renderAnalysers=l.renderWaveforms??!0,m.analyserToggler.checked=l.renderWaveforms??!0,a.renderNotes=l.renderNotes??!0,m.noteToggler.checked=l.renderNotes??!0,a.drawActiveNotes=l.drawActiveNotes??!0,m.activeNoteToggler.checked=l.drawActiveNotes??!0,a.showVisualPitch=l.showVisualPitch??!0,m.visualPitchToggler.checked=l.showVisualPitch??!0,a.stabilizeWaveforms=l.stabilizeWaveforms??!0,m.stabilizeWaveformsToggler.checked=l.stabilizeWaveforms??!0,a.keyRange=l.keyRange??{min:0,max:128};let x=this.htmlControls.keyboard,H=this.midiKeyboard,F=n.keyboard;H.setKeyRange(F.keyRange??{min:0,max:128},!1),F.autoRange?(x.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,x.sizeSelector.value=Object.keys(this.keyboardSizes).find(T=>this.keyboardSizes[T].min===F.keyRange.min&&this.keyboardSizes[T].max===F.keyRange.max)),F.mode==="dark"&&(H.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),F.show===!1&&(H.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function kw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Sw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,noteAfterTriggerTimeMs:this.renderer.noteAfterTriggerTimeMs,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===Va,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 bw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[l,u]of Object.entries(this.locales)){let m=document.createElement("option");m.value=l,m.textContent=u.localeName,i.appendChild(m)}i.value=this.locale.localeCode,i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let a=this.htmlControls.interface.layoutSelector;a.onchange=()=>{this._changeLayout(a.value),this._saveSettings(),a.blur()}}function Dw(n){let i=document.getElementById("keyboard_canvas_wrapper"),a=document.getElementById("note_canvas"),l=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),a.classList.remove("sideways"),l.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),a.classList.remove("sideways"),l.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),a.classList.add("sideways"),l.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),a.classList.add("sideways"),l.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var WE={start:"#101010",end:"#212121"},ZE={start:"#bbb",end:"#f0f0f0"},_w="#eee",xw="#333",jE={start:"#222",end:"#333"},XE={start:"#ccc",end:"#fff"},Nn=.2;function Lw(){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 n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Gn(xw,_w,Nn,i,"--font-color"),Gn(XE.start,jE.start,Nn,i,"--top-buttons-color-start"),Gn(XE.end,jE.end,Nn,i,"--top-buttons-color-end"),Gn(ZE.start,WE.start,Nn,i,"--top-color-start"),Gn(ZE.end,WE.end,Nn,i,"--top-color-end")):(Gn(_w,xw,Nn,i,"--font-color"),Gn(jE.start,XE.start,Nn,i,"--top-buttons-color-start"),Gn(jE.end,XE.end,Nn,i,"--top-buttons-color-end"),Gn(WE.start,ZE.start,Nn,i,"--top-color-start"),Gn(WE.end,ZE.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Qu={};function Gn(n,i,a,l,u){Qu[u]&&(clearInterval(Qu[u]),Qu[u]=void 0);function m(w){w.length===4&&(w=`#${w[1]}${w[1]}${w[2]}${w[2]}${w[3]}${w[3]}`);let U=parseInt(w.slice(1),16);return{r:U>>16&255,g:U>>8&255,b:U&255}}function x(w,U,P){return w+(U-w)*P}let H=m(n),F=m(i),T=performance.now()/1e3;function S0(){let U=performance.now()/1e3-T,P=Math.min(U/a,1),F0=Math.round(x(H.r,F.r,P)),m1=Math.round(x(H.g,F.g,P)),l1=Math.round(x(H.b,F.b,P));l.style.setProperty(u,`rgb(${F0}, ${m1}, ${l1})`),P>=1&&(clearInterval(Qu[u]),Qu[u]=void 0)}Qu[u]=setInterval(S0,1e3/60)}function Mw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Cr(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.noteAfterTriggerTimeSlider.addEventListener("input",()=>{n.noteAfterTriggerTimeMs=i.noteAfterTriggerTimeSlider.value,Cr(i.noteAfterTriggerTimeSlider).innerText=`${i.noteAfterTriggerTimeSlider.value}ms`}),i.noteAfterTriggerTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Cr(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let a=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=a,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),this.setTimeDelay(a),Cr(i.analyserFftSlider).innerText=`${a}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Cr(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function Rw(n,i,a){n.createMIDIDeviceHandler().then(l=>{l?(this._createMidiInputHandler(n,a.synth),this._createMidiOutputHandler(n,i)):(pr||e4(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Fw(n,i){if(n.inputs.length<1)return;let a=this.htmlControls.midi.inputSelector;for(let l of n.inputs){let u=document.createElement("option");u.value=l[0],u.innerText=l[1].name,a.appendChild(u)}if(a.onchange=()=>{a.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(a.value),i),this._saveSettings()},n.inputs.size>0){let l=n.inputs.entries().next().value;n.connectDeviceToSynth(l[1],i),a.value=l[0]}}function Tw(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let a=this.htmlControls.midi.outputSelector;for(let l of n.outputs){let u=document.createElement("option");u.value=l[0],u.innerText=l[1].name,a.appendChild(u)}a.onchange=()=>{if(!i.seq){setTimeout(a.onchange,1e3);return}a.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(a.value),i.seq),this._saveSettings()}}var Nw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},noteAfterTriggerTime:{title:"Note after trigger time (miliseconds)",description:"How long the notes fall after they get triggered. Zero means that they trigger at the bottom."},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). Also note that high values will add a delay to the audio to sync the waveforms with the audio."},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 Gw={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 Uw={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"},reminder:{title:"Note that you need to RESTART YOUR BROWSER after connecting a new MIDI device for it to show up here.",description:"Also note that Safari does not support WebMIDI, so you will need to use a different browser if you are on Mac."}};var Pw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Nw,keyboardSettings:Gw,midiSettings:Uw,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",helpTranslate:"Translate SpessaSynth"},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"}},reminder:{title:"Did you know that you can hover over the settings to get more information?",description:"Like this one!"}}};var Ow={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 qw={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 Hw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Vw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. Currently you can modify its velocity and assign a patch (instrument) it uses. This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var Yw={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:qw,effectsConfig:Hw,keyModifiers:Vw};var zw={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"},subtitles:{title:"Upload ASS subtitles",description:"Upload your own subtitles in the (.ass) format"}}};var Kw={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)"},sampleRate:{title:"Sample rate",description:"Output file sample rate in Hz. Leave as is unless you know what you're doing."},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"}}},dls:{button:{title:"DLS (.dls)",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},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... (this may take a while!)",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 Jw={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:Kw,error:"Error",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:Ow,settings:Pw,synthesizerController:Yw,sequencerController:zw};var Ww={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},noteAfterTriggerTime:{title:"Czas po aktywacji nuty (ms)",description:"Jak d\u0142ugo nuty spadaj\u0105 po aktywacji. Zero oznacza, \u017Ce aktywuj\u0105 si\u0119 na dole."},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 linie fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107) Pami\u0119taj, \u017Ce wysokie warto\u015Bci dodadz\u0105 op\xF3\u017Anienie do d\u017Awi\u0119ku, aby zsynchronizowa\u0107 fale z d\u017Awi\u0119kiem."},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 Zw={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 jw={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"},reminder:{title:"Zauwa\u017C, \u017Ce po pod\u0142\u0105czeniu nowego urz\u0105dzenia MIDI MUSISZ ZRESTARTOWA\u0106 PRZEGL\u0104DARK\u0118, aby pojawi\u0142o si\u0119 ono tutaj.",description:"Zauwa\u017C r\xF3wnie\u017C, \u017Ce Safari nie obs\u0142uguje WebMIDI, wi\u0119c musisz u\u017Cy\u0107 innej przegl\u0105darki, je\u015Bli jeste\u015B na Macu."}};var Xw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Ww,keyboardSettings:Zw,midiSettings:jw,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",helpTranslate:"Przet\u0142umacz SpessaSynth"},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"}},reminder:{title:"Czy wiedzia\u0142e\u015B, \u017Ce mo\u017Cesz najecha\u0107 na ustawienia, aby uzyska\u0107 wi\u0119cej informacji?",description:"Tak jak ta!"}}};var ev={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 tv={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 iv={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var rv={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. Aktualnie mo\u017Cesz nadpisa\u0107 si\u0142\u0119 nacisku oraz przypisa\u0107 instrument do danego klawisza. @@ -238,7 +238,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 kv={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:vv,yes:"Oui",no:"Non",error:"Erreur",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:Bv,settings:Cv,synthesizerController:Qv,sequencerController:wv};var Sv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho) Tamb\xE9m observe que valores altos adicionar\xE3o um atraso ao \xE1udio para sincronizar as formas de onda com o \xE1udio."},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var bv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var Dv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"},reminder:{title:"Note que voc\xEA precisa REINICIAR O NAVEGADOR ap\xF3s conectar um novo dispositivo MIDI para que ele apare\xE7a aqui.",description:"Tamb\xE9m note que o Safari n\xE3o suporta WebMIDI, ent\xE3o voc\xEA precisar\xE1 usar um navegador diferente se estiver no Mac."}};var _v={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:Sv,keyboardSettings:bv,midiSettings:Dv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}},reminder:{title:"Voc\xEA sabia que pode passar o mouse sobre as configura\xE7\xF5es para obter mais informa\xE7\xF5es?",description:"Como esta!"}}};var xv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var Lv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var Mv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var Rv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:Lv,effectsConfig:Mv};var Fv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var Tv={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var Nv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:Tv,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:xv,settings:_v,synthesizerController:Rv,sequencerController:Fv};var $B="en",T$={en:Jw,pl:av,ja:Iv,fr:kv,pt:Nv};var a_=.2,A_={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,a,l,u,I,x,V,T,N){this.delay=N,this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=I,this.midiDeviceHandler=x,this.synthui=a,this.sequi=l,this.locale=T,this.musicMode=V,this.locales=T$,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 b0=document.createElement("div");b0.style.position="relative",b0.classList.add("seamless_button"),b0.classList.add("settings_button"),i.appendChild(b0);let w=document.createElement("div");w.classList.add("seamless_button"),this.locale.bindObjectProperty(w,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(w,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(w);let U=document.createElement("div");U.classList.add("seamless_button"),this.locale.bindObjectProperty(U,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(U,"title","locale.hideTopBar.description"),i.appendChild(U);let P=document.getElementsByClassName("show_top_button")[0];P.innerHTML=XQ(20);let F0=document.createElement("span");this.locale.bindObjectProperty(F0,"innerText","locale.settings.toggleButton"),b0.appendChild(F0);let m1=document.createElement("div");m1.innerHTML=ZQ(24),m1.classList.add("gear"),b0.appendChild(m1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,b0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),w.onclick=this.toggleMusicPlayerMode.bind(this),U.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=ww,dw(this.mainDiv);for(let j1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(j1,"textContent",j1.getAttribute("translate-path"));for(let j1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let U1=j1.getAttribute("translate-path-title");if(this.locale.bindObjectProperty(j1,"textContent",U1+".title"),this.locale.bindObjectProperty(j1,"title",U1+".description"),j1.tagName==="LABEL"){let c2=j1.getAttribute("for");if(c2){let P2=document.getElementById(c2);P2&&this.locale.bindObjectProperty(P2,"title",U1+".description")}}}this.getHtmlControls(),document.addEventListener("keydown",j1=>{switch(j1.key.toLowerCase()){case O8.settingsShow:this.setVisibility(!this.visible);break;case O8.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(u,I,x,l,a)}):this.createHandlers(u,I,x,l,a),this.topPartVisible=!0;let l1=!1;window.addEventListener("resize",()=>{let j1=window.screen.height,U1=window.screen.width,c2=window.outerHeight,P2=window.outerWidth,L2;L2=U1===P2&&j1===c2,L2!==l1&&(l1=L2,L2?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 i=document.getElementsByClassName("top_part")[0],a=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),a.classList.remove("shown"),a.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let a=document.getElementsByClassName("show_top_button")[0];a.style.display="flex",setTimeout(()=>{a.classList.add("shown")},75),a.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(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"},a_*1e3)),this.visible=i}createHandlers(i,a,l,u,I){this._createRendererHandler(i),this._createMidiSettingsHandler(l,u,I),this._createKeyboardHandler(a,I,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),noteAfterTriggerTimeSlider:document.getElementById("note_after_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")}}}setTimeDelay(i){let a;i>=2048?a=A_[i]:a=0,this.delay.delayTime.value=a,this.renderer.timeOffset=a,this.synthui.synth.eventHandler.timeDelay=a}};v7.prototype._toggleDarkMode=Lw;v7.prototype._createInterfaceSettingsHandler=bw;v7.prototype._changeLayout=Dw;v7.prototype._createRendererHandler=Mw;v7.prototype._createMidiSettingsHandler=Rw;v7.prototype._createMidiInputHandler=Fw;v7.prototype._createMidiOutputHandler=Tw;v7.prototype._createKeyboardHandler=Qw;v7.prototype._loadSettings=vw;v7.prototype._serializeSettings=Sw;v7.prototype._saveSettings=kw;var Gv=.5,eC=class{constructor(i,a){this.mainDiv=i,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 kv={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:vv,yes:"Oui",no:"Non",error:"Erreur",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:Bv,settings:Cv,synthesizerController:Qv,sequencerController:wv};var Sv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho) Tamb\xE9m observe que valores altos adicionar\xE3o um atraso ao \xE1udio para sincronizar as formas de onda com o \xE1udio."},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var bv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var Dv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"},reminder:{title:"Note que voc\xEA precisa REINICIAR O NAVEGADOR ap\xF3s conectar um novo dispositivo MIDI para que ele apare\xE7a aqui.",description:"Tamb\xE9m note que o Safari n\xE3o suporta WebMIDI, ent\xE3o voc\xEA precisar\xE1 usar um navegador diferente se estiver no Mac."}};var _v={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:Sv,keyboardSettings:bv,midiSettings:Dv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}},reminder:{title:"Voc\xEA sabia que pode passar o mouse sobre as configura\xE7\xF5es para obter mais informa\xE7\xF5es?",description:"Como esta!"}}};var xv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var Lv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var Mv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var Rv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:Lv,effectsConfig:Mv};var Fv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var Tv={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var Nv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:Tv,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:xv,settings:_v,synthesizerController:Rv,sequencerController:Fv};var $B="en",T$={en:Jw,pl:av,ja:Iv,fr:kv,pt:Nv};var a_=.2,A_={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,a,l,u,m,x,H,F,T){this.delay=T,this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=m,this.midiDeviceHandler=x,this.synthui=a,this.sequi=l,this.locale=F,this.musicMode=H,this.locales=T$,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 S0=document.createElement("div");S0.style.position="relative",S0.classList.add("seamless_button"),S0.classList.add("settings_button"),i.appendChild(S0);let w=document.createElement("div");w.classList.add("seamless_button"),this.locale.bindObjectProperty(w,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(w,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(w);let U=document.createElement("div");U.classList.add("seamless_button"),this.locale.bindObjectProperty(U,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(U,"title","locale.hideTopBar.description"),i.appendChild(U);let P=document.getElementsByClassName("show_top_button")[0];P.innerHTML=XQ(20);let F0=document.createElement("span");this.locale.bindObjectProperty(F0,"innerText","locale.settings.toggleButton"),S0.appendChild(F0);let m1=document.createElement("div");m1.innerHTML=ZQ(24),m1.classList.add("gear"),S0.appendChild(m1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,S0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),w.onclick=this.toggleMusicPlayerMode.bind(this),U.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=ww,dw(this.mainDiv);for(let j1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(j1,"textContent",j1.getAttribute("translate-path"));for(let j1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let U1=j1.getAttribute("translate-path-title");if(this.locale.bindObjectProperty(j1,"textContent",U1+".title"),this.locale.bindObjectProperty(j1,"title",U1+".description"),j1.tagName==="LABEL"){let c2=j1.getAttribute("for");if(c2){let P2=document.getElementById(c2);P2&&this.locale.bindObjectProperty(P2,"title",U1+".description")}}}this.getHtmlControls(),document.addEventListener("keydown",j1=>{switch(j1.key.toLowerCase()){case O8.settingsShow:this.setVisibility(!this.visible);break;case O8.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(u,m,x,l,a)}):this.createHandlers(u,m,x,l,a),this.topPartVisible=!0;let l1=!1;window.addEventListener("resize",()=>{let j1=window.screen.height,U1=window.screen.width,c2=window.outerHeight,P2=window.outerWidth,L2;L2=U1===P2&&j1===c2,L2!==l1&&(l1=L2,L2?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 i=document.getElementsByClassName("top_part")[0],a=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),a.classList.remove("shown"),a.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let a=document.getElementsByClassName("show_top_button")[0];a.style.display="flex",setTimeout(()=>{a.classList.add("shown")},75),a.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(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"},a_*1e3)),this.visible=i}createHandlers(i,a,l,u,m){this._createRendererHandler(i),this._createMidiSettingsHandler(l,u,m),this._createKeyboardHandler(a,m,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),noteAfterTriggerTimeSlider:document.getElementById("note_after_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")}}}setTimeDelay(i){let a;i>=2048?a=A_[i]:a=0,this.delay.delayTime.value=a,this.renderer.timeOffset=a,this.synthui.synth.eventHandler.timeDelay=a}};v7.prototype._toggleDarkMode=Lw;v7.prototype._createInterfaceSettingsHandler=bw;v7.prototype._changeLayout=Dw;v7.prototype._createRendererHandler=Mw;v7.prototype._createMidiSettingsHandler=Rw;v7.prototype._createMidiInputHandler=Fw;v7.prototype._createMidiOutputHandler=Tw;v7.prototype._createKeyboardHandler=Qw;v7.prototype._loadSettings=vw;v7.prototype._serializeSettings=Sw;v7.prototype._saveSettings=kw;var Gv=.5,eC=class{constructor(i,a){this.mainDiv=i,this.mainDiv.innerHTML=`
@@ -282,21 +282,21 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let l of this.mainDiv.querySelectorAll("*[translate-path]"))a.bindObjectProperty(l,"textContent",l.getAttribute("translate-path"));for(let l of this.mainDiv.querySelectorAll("*[translate-path-title]"))a.bindObjectProperty(l,"textContent",l.getAttribute("translate-path-title")+".title"),a.bindObjectProperty(l,"title",l.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=a}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(i){document.getElementById("player_info_title").textContent=i}connectSequencer(i){this.seq=i,this.seq.addOnSongChangeEvent(a=>{let l=a.copyright,u=(P,F0,m1=!0)=>{let l1=document.getElementById(P),j1=F0.trim().split(` -`);if(j1.length>1){l1.parentElement.classList.remove("hidden"),l1.innerHTML="";for(let U1 of j1){let c2=document.createElement("span");c2.textContent=U1,l1.appendChild(c2),l1.appendChild(document.createElement("br"))}l1.removeChild(l1.lastChild);return}if(F0.length>0)if(l1.parentElement.classList.remove("hidden"),l1.innerHTML="",F0.length>30&&m1){l1.classList.add("marquee");let U1=document.createElement("span");U1.textContent=F0,l1.appendChild(U1)}else l1.textContent=F0;else l1.parentElement.classList.add("hidden")};u("player_info_detail",l),u("player_info_time",b$(this.seq.duration).time),u("player_info_file_name",a.fileName,!1);let I=(P,F0,m1,l1="")=>this.seq.midiData.RMIDInfo?.[P]===void 0?F0:l1+m1.decode(this.seq.midiData.RMIDInfo?.[P]).replace(/\0$/,""),x=I("IENC","ascii",new TextDecoder),V=new TextDecoder(x);u("player_info_album",I("IPRD","",V)),u("player_info_artist",I("IART","",V)),u("player_info_genre",I("IGNR","",V)),u("player_info_creation",I("ICRD","",V)+I("ICRT","",V,` -`)),u("player_info_comment",I("ICMT","",V));let T=this.mainDiv.getElementsByTagName("svg")[0],N=this.mainDiv.getElementsByTagName("img")[0],b0=document.getElementById("player_info_background_image");if(!a.isEmbedded){T.style.display="",N.style.display="none",b0.style.setProperty("--bg-image","undefined");return}if(a.RMIDInfo.IPIC===void 0){T.style.display="",N.style.display="none",b0.style.setProperty("--bg-image","undefined");return}T.style.display="none",N.style.display="";let w=new Blob([a.RMIDInfo.IPIC.buffer]),U=URL.createObjectURL(w);N.src=U,b0.style.setProperty("--bg-image",`url('${U}')`)},"player-js-song-change")}setVisibility(i,a){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let l=this.mainDiv;if(i){a.classList.add("out_animation"),this.savedCKWrapperHeight=a.clientHeight;let u=a.clientHeight,I=a.getBoundingClientRect().top;l.style.position="absolute",l.style.top=`${I}px`,l.style.height=`${u}px`,l.style.display="flex",setTimeout(()=>{l.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{a.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Gv*1e3)}else{let u=l.getBoundingClientRect().top;a.style.display="",a.style.position="absolute",a.style.top=`${u}px`,a.style.height=`${this.savedCKWrapperHeight}px`,l.classList.remove("player_info_show"),setTimeout(()=>{a.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{l.style.display="none",a.style.position="",a.style.top="",a.style.height="",document.body.style.overflow=""},Gv*1e3)}}};var tC=class{onLocaleChanged=[];constructor(i){this.locale=T$[i]||T$[$B],this.fallbackLocale=T$[$B],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,a=[]){let l=this._resolveLocalePath(i);return a.length>0?this._formatLocale(l,a):l}_applyPropertyInternal(i){if(i.isEdited)return;let a=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(a=this._formatLocale(a,i.formattingArguments)),i.object[i.propertyName]=a}_validatePropertyIntegrity(i){let a=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(a=this._formatLocale(a,i.formattingArguments)),i.object[i.propertyName]!==a&&(i.isEdited=!0)}_formatLocale(i,a){return i.replace(/{(\d+)}/g,(l,u)=>typeof a[u]<"u"?a[u]:l)}bindObjectProperty(i,a,l,u=[]){let I={object:i,propertyName:a,localePath:l,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(I),this._boundObjectProperties.push(I)}_resolveLocalePath(i,a=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let l=i.split("."),u=a?this.fallbackLocale:this.locale;for(let I=1;I{this._validatePropertyIntegrity(u)}),this.locale=l,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function lB(n,i=!0,a=0,l={},u=void 0){let I=n.getChannelData(a),x=n.getChannelData(a+1),V=I.length,T=2,N=new J5(0),b0=Object.keys(l).length>0;if(b0){let a0=new TextEncoder,g5=[R$("INFO"),v6("ICMT",a0.encode("Created with SpessaSynth"),!0)];l.artist&&g5.push(v6("IART",a0.encode(l.artist),!0)),l.album&&g5.push(v6("IPRD",a0.encode(l.album),!0)),l.genre&&g5.push(v6("IGNR",a0.encode(l.genre),!0)),l.title&&g5.push(v6("INAM",a0.encode(l.title),!0)),N=v6("LIST",St(g5))}let w=new J5(0),U=u?.end!==void 0&&u?.start!==void 0;if(U){let a0=Math.floor(u.start*n.sampleRate),g5=Math.floor(u.end*n.sampleRate),p3=new J5(24);Ii(p3,0,4),Ii(p3,0,4),P8(p3,"data"),Ii(p3,0,4),Ii(p3,0,4),Ii(p3,a0,4);let k3=new J5(24);Ii(k3,1,4),Ii(k3,0,4),P8(k3,"data"),Ii(k3,0,4),Ii(k3,0,4),Ii(k3,g5,4);let u6=St([new J5([2,0,0,0]),p3,k3]);w=v6("cue ",u6)}let P=44,F0=V*2*T,m1=P+F0+N.length+w.length-8,l1=new Uint8Array(P);l1.set([82,73,70,70],0),l1.set(new Uint8Array([m1&255,m1>>8&255,m1>>16&255,m1>>24&255]),4),l1.set([87,65,86,69],8),l1.set([102,109,116,32],12),l1.set([16,0,0,0],16),l1.set([1,0],20),l1.set([2,0],22);let j1=n.sampleRate;l1.set(new Uint8Array([j1&255,j1>>8&255,j1>>16&255,j1>>24&255]),24);let U1=j1*2*T;l1.set(new Uint8Array([U1&255,U1>>8&255,U1>>16&255,U1>>24&255]),28),l1.set([4,0],32),l1.set([16,0],34),l1.set([100,97,116,97],36),l1.set(new Uint8Array([F0&255,F0>>8&255,F0>>16&255,F0>>24&255]),40);let c2=new Uint8Array(m1+8),P2=P;c2.set(l1,0);let L2=32767;if(i){let a0=I.map((g5,p3)=>Math.max(Math.abs(g5),Math.abs(x[p3]))).reduce((g5,p3)=>Math.max(g5,p3));L2=a0>0?32767/a0:1}for(let a0=0;a0>8&255,c2[P2++]=p3&255,c2[P2++]=p3>>8&255}return b0&&(c2.set(N,P2),P2+=N.length),U&&c2.set(w,P2),new Blob([c2.buffer],{type:"audio/wav"})}var Uv=1e3;async function Pv(n=!0,i=44100,a=2,l=!1,u={},I=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let x=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),V=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),T=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),N=e4(x,[{type:"text",textContent:T},{type:"progress"}],9999999,!1),b0=await this.seq.getMIDI(),w=Cu(b0.loop.start,b0),U=Cu(b0.loop.end,b0),P=U-w,F0=b0.duration+a+P*I,m1=i*F0,l1;try{l1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:i,length:m1}),await l1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(E3){e4("ERROR",[{type:"text",textContent:E3}]);return}let j1=await this.synth.getSynthesizerSnapshot(),U1=this.soundFont,c2,L2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await l1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};j1.effectsConfig=L2;try{c2=new pu(l1.destination,U1,!1,{parsedMIDI:b0,snapshot:j1,oneOutput:l,loopCount:I},L2)}catch(E3){throw e4(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),E3}let a0=N.div.getElementsByTagName("p")[0],g5=N.div.getElementsByClassName("notification_progress")[0],p3=Uv/1e3,k3=c2.currentTime,u6=F0,S3=.1,ce=setInterval(()=>{let E3=c2.currentTime-k3;k3=c2.currentTime;let p6=c2.currentTime/F0;g5.style.width=`${p6*100}%`;let w4=E3/p3,er=(1-p6)/w4*F0;er!==1/0&&(u6=S3*er+(1-S3)*u6,a0.innerText=`${V} ${b$(u6).time}`)},Uv),Ne=await l1.startRendering();if(g5.style.width="100%",clearInterval(ce),a0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(E3=>setTimeout(E3,75)),l){let E3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",p6=[],w4=new Set;for(let q8 of b0.usedChannelsOnTrack)q8.forEach(ja=>w4.add(ja));for(let q8=0;q8<16;q8++){let ja=!0;for(let yr=q8;yr{let G$=Xa.textContent;Xa.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(N9=>setTimeout(N9,75));let dC=lB(Ne,!1,q8*2),fC=`${q8+1} - ${j1.channelSnapshots[q8].patchName}.wav`;this.saveBlob(dC,fC),Xa.classList.add("green_button"),Xa.textContent=G$}})}let er=e4(this.localeManager.getLocaleString(E3+"title"),p6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});er.div.style.width="30rem"}else{let E3=Cu(b0.firstNoteOn,b0),p6=w-E3,w4=U-E3,er={start:p6,end:w4};x5(`%cWriting loop points: start %c${p6}%c, end:%c${w4}`,I1.info,I1.recognized,I1.info,I1.recognized);let q8=lB(Ne,n,0,u,er);this.saveBlob(q8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}_9(N.id),this.isExporting=!1}async function Ov(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",a=(N,b0,w)=>this.seq.midiData.RMIDInfo?.[N]===void 0?b0:w.decode(this.seq.midiData.RMIDInfo?.[N]).replace(/\0$/,""),l=a("IENC","ascii",new TextDecoder),u=new TextDecoder(l),I=a("IPRD","",u),x=a("IART","",u),V=a("IGNR","",u),T=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:I,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:x,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:V,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:N=>{_9(N.id);let b0=N.div.querySelector("input[normalize-volume-toggle]").checked,w=N.div.querySelector("input[additional-time]").value,U=N.div.querySelector("input[sample-rate]").value,P=N.div.querySelector("input[loop-count]").value,F0=N.div.querySelector("input[separate-channels-toggle]").checked,m1=N.div.querySelector("input[name='artist']").value,l1=N.div.querySelector("input[name='album']").value,j1=N.div.querySelector("input[name='song_title']").value,U1=N.div.querySelector("input[name='genre']").value,c2={artist:m1.length>0?m1:void 0,album:l1.length>0?l1:void 0,title:j1.length>0?j1:void 0,genre:U1.length>0?U1:void 0};this._doExportAudioData(b0,parseInt(U),parseInt(w),F0,c2,parseInt(P))}}];e4(this.localeManager.getLocaleString(n+"title"),T,9999999,!0,this.localeManager)}async function qv(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=GE(n),a=new Blob([i],{type:"audio/mid"});this.saveBlob(a,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Hv(n,i){Q8("%cSearching for all used programs and keys...",I1.info);let a=16+n.midiPortChannelOffsets.reduce((w,U)=>U>w?U:w),l=[];for(let w=0;w{x[F0]>=P.length||P[x[F0]].ticks0;){let w=T(),U=n.tracks[w];if(x[w]>=U.length){V--;continue}let P=U[x[w]];if(x[w]++,P.messageStatusByte===v3.midiPort){N[w]=P.messageData[0];continue}let F0=P.messageStatusByte&240;if(F0!==v3.noteOn&&F0!==v3.controllerChange&&F0!==v3.programChange&&F0!==v3.systemExclusive)continue;let m1=(P.messageStatusByte&15)+n.midiPortChannelOffsets[N[w]]||0,l1=l[m1];switch(F0){case v3.programChange:l1.program=P.messageData[0],u(l1);break;case v3.controllerChange:if(P.messageData[0]!==$3.bankSelect||b0==="gs"&&l1.drums)continue;let j1=P.messageData[1],U1=Math.max(0,j1-n.bankOffset);if(b0==="xg"){let L2=j1===120||j1===126||j1===127;L2!==l1.drums?(l1.drums=L2,l1.bank=l1.drums?128:U1,u(l1)):l1.bank=l1.drums?128:U1;continue}l[m1].bank=U1;break;case v3.noteOn:if(P.messageData[1]===0)continue;u(l1),I[l1.string].add(`${P.messageData[0]}-${P.messageData[1]}`);break;case v3.systemExclusive:if(P.messageData[0]!==65||P.messageData[2]!==66||P.messageData[3]!==18||P.messageData[4]!==64||!(P.messageData[5]&16)||P.messageData[6]!==21){P.messageData[0]===67&&P.messageData[2]===76&&P.messageData[5]===126&&P.messageData[6]===0&&(b0="xg");continue}let c2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][P.messageData[5]&15]+n.midiPortChannelOffsets[N[w]],P2=!!(P.messageData[7]>0&&P.messageData[5]>>4);l1=l[c2],l1.drums=P2,l1.bank=P2?128:0,u(l1);break}}for(let w of Object.keys(I))I[w].size===0&&(x5(`%cDetected change but no keys for %c${w}`,I1.info,I1.value),delete I[w]);return ue(),I}function wu(n,i){function a(u,I){let x=0;for(let V=0;V=N.min&&U.key<=N.max&&U.velocity>=b0.min&&U.velocity<=b0.max){w=!0;break}w||(x5(`%c${T.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${T.useCount-1}`,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized),u.safeDeleteZone(V)&&(x++,V--,x5(`%c${T.sample.sampleName} %cdeleted`,I1.recognized,I1.info)),T.sample.useCount<1&&n.deleteSample(T.sample))}return x}F7("%cTrimming soundfont...",I1.info);let l=Hv(i,n);Q8("%cModifying soundfont...",I1.info),x5("Detected keys for midi:",l);for(let u=0;u{let w=b0.split("-");return{key:parseInt(w[0]),velocity:parseInt(w[1])}});Q8(`%cTrimming %c${I.presetName}`,I1.info,I1.recognized),x5(`Keys for ${I.presetName}:`,T);let N=0;for(let b0=0;b0=U.min&&m1.key<=U.max&&m1.velocity>=P.min&&m1.velocity<=P.max){F0=!0;let l1=a(w.instrument,T);x5(`%cTrimmed off %c${l1}%c zones from %c${w.instrument.instrumentName}`,I1.info,I1.recognized,I1.info,I1.recognized);break}F0||(N++,I.deleteZone(b0),w.instrument.useCount<1&&n.deleteInstrument(w.instrument),b0--)}x5(`%cTrimmed off %c${N}%c zones from %c${I.presetName}`,I1.info,I1.recognized,I1.info,I1.recognized),ue()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" +`);if(j1.length>1){l1.parentElement.classList.remove("hidden"),l1.innerHTML="";for(let U1 of j1){let c2=document.createElement("span");c2.textContent=U1,l1.appendChild(c2),l1.appendChild(document.createElement("br"))}l1.removeChild(l1.lastChild);return}if(F0.length>0)if(l1.parentElement.classList.remove("hidden"),l1.innerHTML="",F0.length>30&&m1){l1.classList.add("marquee");let U1=document.createElement("span");U1.textContent=F0,l1.appendChild(U1)}else l1.textContent=F0;else l1.parentElement.classList.add("hidden")};u("player_info_detail",l),u("player_info_time",b$(this.seq.duration).time),u("player_info_file_name",a.fileName,!1);let m=(P,F0,m1,l1="")=>this.seq.midiData.RMIDInfo?.[P]===void 0?F0:l1+m1.decode(this.seq.midiData.RMIDInfo?.[P]).replace(/\0$/,""),x=m("IENC","ascii",new TextDecoder),H=new TextDecoder(x);u("player_info_album",m("IPRD","",H)),u("player_info_artist",m("IART","",H)),u("player_info_genre",m("IGNR","",H)),u("player_info_creation",m("ICRD","",H)+m("ICRT","",H,` +`)),u("player_info_comment",m("ICMT","",H));let F=this.mainDiv.getElementsByTagName("svg")[0],T=this.mainDiv.getElementsByTagName("img")[0],S0=document.getElementById("player_info_background_image");if(!a.isEmbedded){F.style.display="",T.style.display="none",S0.style.setProperty("--bg-image","undefined");return}if(a.RMIDInfo.IPIC===void 0){F.style.display="",T.style.display="none",S0.style.setProperty("--bg-image","undefined");return}F.style.display="none",T.style.display="";let w=new Blob([a.RMIDInfo.IPIC.buffer]),U=URL.createObjectURL(w);T.src=U,S0.style.setProperty("--bg-image",`url('${U}')`)},"player-js-song-change")}setVisibility(i,a){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let l=this.mainDiv;if(i){a.classList.add("out_animation"),this.savedCKWrapperHeight=a.clientHeight;let u=a.clientHeight,m=a.getBoundingClientRect().top;l.style.position="absolute",l.style.top=`${m}px`,l.style.height=`${u}px`,l.style.display="flex",setTimeout(()=>{l.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{a.style.display="none",l.style.position="",l.style.top="",l.style.height="",document.body.style.overflow=""},Gv*1e3)}else{let u=l.getBoundingClientRect().top;a.style.display="",a.style.position="absolute",a.style.top=`${u}px`,a.style.height=`${this.savedCKWrapperHeight}px`,l.classList.remove("player_info_show"),setTimeout(()=>{a.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{l.style.display="none",a.style.position="",a.style.top="",a.style.height="",document.body.style.overflow=""},Gv*1e3)}}};var tC=class{onLocaleChanged=[];constructor(i){this.locale=T$[i]||T$[$B],this.fallbackLocale=T$[$B],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,a=[]){let l=this._resolveLocalePath(i);return a.length>0?this._formatLocale(l,a):l}_applyPropertyInternal(i){if(i.isEdited)return;let a=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(a=this._formatLocale(a,i.formattingArguments)),i.object[i.propertyName]=a}_validatePropertyIntegrity(i){let a=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(a=this._formatLocale(a,i.formattingArguments)),i.object[i.propertyName]!==a&&(i.isEdited=!0)}_formatLocale(i,a){return i.replace(/{(\d+)}/g,(l,u)=>typeof a[u]<"u"?a[u]:l)}bindObjectProperty(i,a,l,u=[]){let m={object:i,propertyName:a,localePath:l,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(m),this._boundObjectProperties.push(m)}_resolveLocalePath(i,a=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let l=i.split("."),u=a?this.fallbackLocale:this.locale;for(let m=1;m{this._validatePropertyIntegrity(u)}),this.locale=l,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function lB(n,i=!0,a=0,l={},u=void 0){let m=n.getChannelData(a),x=n.getChannelData(a+1),H=m.length,F=2,T=new J5(0),S0=Object.keys(l).length>0;if(S0){let a0=new TextEncoder,g5=[R$("INFO"),v6("ICMT",a0.encode("Created with SpessaSynth"),!0)];l.artist&&g5.push(v6("IART",a0.encode(l.artist),!0)),l.album&&g5.push(v6("IPRD",a0.encode(l.album),!0)),l.genre&&g5.push(v6("IGNR",a0.encode(l.genre),!0)),l.title&&g5.push(v6("INAM",a0.encode(l.title),!0)),T=v6("LIST",St(g5))}let w=new J5(0),U=u?.end!==void 0&&u?.start!==void 0;if(U){let a0=Math.floor(u.start*n.sampleRate),g5=Math.floor(u.end*n.sampleRate),p3=new J5(24);Ii(p3,0,4),Ii(p3,0,4),P8(p3,"data"),Ii(p3,0,4),Ii(p3,0,4),Ii(p3,a0,4);let k3=new J5(24);Ii(k3,1,4),Ii(k3,0,4),P8(k3,"data"),Ii(k3,0,4),Ii(k3,0,4),Ii(k3,g5,4);let u6=St([new J5([2,0,0,0]),p3,k3]);w=v6("cue ",u6)}let P=44,F0=H*2*F,m1=P+F0+T.length+w.length-8,l1=new Uint8Array(P);l1.set([82,73,70,70],0),l1.set(new Uint8Array([m1&255,m1>>8&255,m1>>16&255,m1>>24&255]),4),l1.set([87,65,86,69],8),l1.set([102,109,116,32],12),l1.set([16,0,0,0],16),l1.set([1,0],20),l1.set([2,0],22);let j1=n.sampleRate;l1.set(new Uint8Array([j1&255,j1>>8&255,j1>>16&255,j1>>24&255]),24);let U1=j1*2*F;l1.set(new Uint8Array([U1&255,U1>>8&255,U1>>16&255,U1>>24&255]),28),l1.set([4,0],32),l1.set([16,0],34),l1.set([100,97,116,97],36),l1.set(new Uint8Array([F0&255,F0>>8&255,F0>>16&255,F0>>24&255]),40);let c2=new Uint8Array(m1+8),P2=P;c2.set(l1,0);let L2=32767;if(i){let a0=m.map((g5,p3)=>Math.max(Math.abs(g5),Math.abs(x[p3]))).reduce((g5,p3)=>Math.max(g5,p3));L2=a0>0?32767/a0:1}for(let a0=0;a0>8&255,c2[P2++]=p3&255,c2[P2++]=p3>>8&255}return S0&&(c2.set(T,P2),P2+=T.length),U&&c2.set(w,P2),new Blob([c2.buffer],{type:"audio/wav"})}var Uv=1e3;async function Pv(n=!0,i=44100,a=2,l=!1,u={},m=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let x=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),H=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),F=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),T=e4(x,[{type:"text",textContent:F},{type:"progress"}],9999999,!1),S0=await this.seq.getMIDI(),w=Cu(S0.loop.start,S0),U=Cu(S0.loop.end,S0),P=U-w,F0=S0.duration+a+P*m,m1=i*F0,l1;try{l1=new OfflineAudioContext({numberOfChannels:l?32:2,sampleRate:i,length:m1}),await l1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(E3){e4("ERROR",[{type:"text",textContent:E3}]);return}let j1=await this.synth.getSynthesizerSnapshot(),U1=this.soundFont,c2,L2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await l1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};j1.effectsConfig=L2;try{c2=new pu(l1.destination,U1,!1,{parsedMIDI:S0,snapshot:j1,oneOutput:l,loopCount:m},L2)}catch(E3){throw e4(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),E3}let a0=T.div.getElementsByTagName("p")[0],g5=T.div.getElementsByClassName("notification_progress")[0],p3=Uv/1e3,k3=c2.currentTime,u6=F0,S3=.1,ce=setInterval(()=>{let E3=c2.currentTime-k3;k3=c2.currentTime;let p6=c2.currentTime/F0;g5.style.width=`${p6*100}%`;let w4=E3/p3,er=(1-p6)/w4*F0;er!==1/0&&(u6=S3*er+(1-S3)*u6,a0.innerText=`${H} ${b$(u6).time}`)},Uv),Ne=await l1.startRendering();if(g5.style.width="100%",clearInterval(ce),a0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(E3=>setTimeout(E3,75)),l){let E3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",p6=[],w4=new Set;for(let q8 of S0.usedChannelsOnTrack)q8.forEach(ja=>w4.add(ja));for(let q8=0;q8<16;q8++){let ja=!0;for(let yr=q8;yr{let G$=Xa.textContent;Xa.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(N9=>setTimeout(N9,75));let dC=lB(Ne,!1,q8*2),fC=`${q8+1} - ${j1.channelSnapshots[q8].patchName}.wav`;this.saveBlob(dC,fC),Xa.classList.add("green_button"),Xa.textContent=G$}})}let er=e4(this.localeManager.getLocaleString(E3+"title"),p6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});er.div.style.width="30rem"}else{let E3=Cu(S0.firstNoteOn,S0),p6=w-E3,w4=U-E3,er={start:p6,end:w4};x5(`%cWriting loop points: start %c${p6}%c, end:%c${w4}`,I1.info,I1.recognized,I1.info,I1.recognized);let q8=lB(Ne,n,0,u,er);this.saveBlob(q8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}_9(T.id),this.isExporting=!1}async function Ov(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",a=(T,S0,w)=>this.seq.midiData.RMIDInfo?.[T]===void 0?S0:w.decode(this.seq.midiData.RMIDInfo?.[T]).replace(/\0$/,""),l=a("IENC","ascii",new TextDecoder),u=new TextDecoder(l),m=a("IPRD","",u),x=a("IART","",u),H=a("IGNR","",u),F=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:m,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:x,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:H,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:T=>{_9(T.id);let S0=T.div.querySelector("input[normalize-volume-toggle]").checked,w=T.div.querySelector("input[additional-time]").value,U=T.div.querySelector("input[sample-rate]").value,P=T.div.querySelector("input[loop-count]").value,F0=T.div.querySelector("input[separate-channels-toggle]").checked,m1=T.div.querySelector("input[name='artist']").value,l1=T.div.querySelector("input[name='album']").value,j1=T.div.querySelector("input[name='song_title']").value,U1=T.div.querySelector("input[name='genre']").value,c2={artist:m1.length>0?m1:void 0,album:l1.length>0?l1:void 0,title:j1.length>0?j1:void 0,genre:U1.length>0?U1:void 0};this._doExportAudioData(S0,parseInt(U),parseInt(w),F0,c2,parseInt(P))}}];e4(this.localeManager.getLocaleString(n+"title"),F,9999999,!0,this.localeManager)}async function qv(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=GE(n),a=new Blob([i],{type:"audio/mid"});this.saveBlob(a,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Hv(n,i){Q8("%cSearching for all used programs and keys...",I1.info);let a=16+n.midiPortChannelOffsets.reduce((w,U)=>U>w?U:w),l=[];for(let w=0;w{x[F0]>=P.length||P[x[F0]].ticks0;){let w=F(),U=n.tracks[w];if(x[w]>=U.length){H--;continue}let P=U[x[w]];if(x[w]++,P.messageStatusByte===v3.midiPort){T[w]=P.messageData[0];continue}let F0=P.messageStatusByte&240;if(F0!==v3.noteOn&&F0!==v3.controllerChange&&F0!==v3.programChange&&F0!==v3.systemExclusive)continue;let m1=(P.messageStatusByte&15)+n.midiPortChannelOffsets[T[w]]||0,l1=l[m1];switch(F0){case v3.programChange:l1.program=P.messageData[0],u(l1);break;case v3.controllerChange:if(P.messageData[0]!==$3.bankSelect||S0==="gs"&&l1.drums)continue;let j1=P.messageData[1],U1=Math.max(0,j1-n.bankOffset);if(S0==="xg"){let L2=j1===120||j1===126||j1===127;L2!==l1.drums?(l1.drums=L2,l1.bank=l1.drums?128:U1,u(l1)):l1.bank=l1.drums?128:U1;continue}l[m1].bank=U1;break;case v3.noteOn:if(P.messageData[1]===0)continue;u(l1),m[l1.string].add(`${P.messageData[0]}-${P.messageData[1]}`);break;case v3.systemExclusive:if(P.messageData[0]!==65||P.messageData[2]!==66||P.messageData[3]!==18||P.messageData[4]!==64||!(P.messageData[5]&16)||P.messageData[6]!==21){P.messageData[0]===67&&P.messageData[2]===76&&P.messageData[5]===126&&P.messageData[6]===0&&(S0="xg");continue}let c2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][P.messageData[5]&15]+n.midiPortChannelOffsets[T[w]],P2=!!(P.messageData[7]>0&&P.messageData[5]>>4);l1=l[c2],l1.drums=P2,l1.bank=P2?128:0,u(l1);break}}for(let w of Object.keys(m))m[w].size===0&&(x5(`%cDetected change but no keys for %c${w}`,I1.info,I1.value),delete m[w]);return ue(),m}function wu(n,i){function a(u,m){let x=0;for(let H=0;H=T.min&&U.key<=T.max&&U.velocity>=S0.min&&U.velocity<=S0.max){w=!0;break}w||(x5(`%c${F.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${F.useCount-1}`,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized),u.safeDeleteZone(H)&&(x++,H--,x5(`%c${F.sample.sampleName} %cdeleted`,I1.recognized,I1.info)),F.sample.useCount<1&&n.deleteSample(F.sample))}return x}F7("%cTrimming soundfont...",I1.info);let l=Hv(i,n);Q8("%cModifying soundfont...",I1.info),x5("Detected keys for midi:",l);for(let u=0;u{let w=S0.split("-");return{key:parseInt(w[0]),velocity:parseInt(w[1])}});Q8(`%cTrimming %c${m.presetName}`,I1.info,I1.recognized),x5(`Keys for ${m.presetName}:`,F);let T=0;for(let S0=0;S0=U.min&&m1.key<=U.max&&m1.velocity>=P.min&&m1.velocity<=P.max){F0=!0;let l1=a(w.instrument,F);x5(`%cTrimmed off %c${l1}%c zones from %c${w.instrument.instrumentName}`,I1.info,I1.recognized,I1.info,I1.recognized);break}F0||(T++,m.deleteZone(S0),w.instrument.useCount<1&&n.deleteInstrument(w.instrument),S0--)}x5(`%cTrimmed off %c${T}%c zones from %c${m.presetName}`,I1.info,I1.recognized,I1.info,I1.recognized),ue()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" -`+n.soundFontInfo.ICMT,x5("%cSoundfont modified!",I1.recognized),ue(),ue()}function Vv(){let n=4;for(let l of this.instruments)n+=l.instrumentZones.reduce((u,I)=>(I.generators=I.generators.filter(x=>x.generatorType!==u0.sampleID&&x.generatorType!==u0.keyRange&&x.generatorType!==u0.velRange),(I.velRange.max!==127||I.velRange.min!==0)&&I.generators.unshift({generatorType:u0.velRange,generatorValue:I.velRange.max<<8|Math.max(I.velRange.min,0)}),(I.keyRange.max!==127||I.keyRange.min!==0)&&I.generators.unshift({generatorType:u0.keyRange,generatorValue:I.keyRange.max<<8|Math.max(I.keyRange.min,0)}),I.isGlobal||I.generators.push({generatorType:u0.sampleID,generatorValue:this.samples.indexOf(I.sample)}),I.generators.length*4+u),0);let i=new J5(n),a=0;for(let l of this.instruments)for(let u of l.instrumentZones){u.generatorZoneStartIndex=a;for(let I of u.generators)X3(i,I.generatorType),X3(i,I.generatorValue),a++}return pe(i,0),it(new Q4("igen",i.length,i))}function Yv(n,i,a,l,u){let I=this.samples.map((N,b0)=>{a&&N.compressSample(l,u);let w=N.getRawData();return x5(`%cEncoded sample %c${b0}. ${N.sampleName}%c of %c${this.samples.length}%c. Compressed: %c${N.isCompressed}%c.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,N.isCompressed?I1.recognized:I1.unrecognized,I1.info),w}),x=this.samples.reduce((N,b0,w)=>N+I[w].length+46,0),V=new J5(x);this.samples.forEach((N,b0)=>{let w=I[b0],U,P,F0=w.length;N.isCompressed?(U=V.currentIndex,P=U+w.length):(U=V.currentIndex/2,P=U+w.length/2,F0+=46),n.push(U),V.set(w,V.currentIndex),V.currentIndex+=F0,i.push(P)});let T=it(new Q4("smpl",V.length,V),new J5([115,100,116,97]));return it(new Q4("LIST",T.length,T))}function zv(n,i){let l=new J5(46*(this.samples.length+1));return this.samples.forEach((u,I)=>{P8(l,u.sampleName,20);let x=n[I];pe(l,x);let V=i[I];pe(l,V);let T=u.sampleLoopStartIndex+x,N=u.sampleLoopEndIndex+x;u.isCompressed&&(T-=x,N-=x),pe(l,T),pe(l,N),pe(l,u.sampleRate),l[l.currentIndex++]=u.samplePitch,l[l.currentIndex++]=u.samplePitchCorrection,X3(l,u.sampleLink),X3(l,u.sampleType)}),P8(l,"EOS",46),it(new Q4("shdr",l.length,l))}function Kv(){let n=10;for(let l of this.instruments)n+=l.instrumentZones.reduce((u,I)=>I.modulators.length*10+u,0);let i=new J5(n),a=0;for(let l of this.instruments)for(let u of l.instrumentZones){u.modulatorZoneStartIndex=a;for(let I of u.modulators)X3(i,I.sourceEnum),X3(i,I.modulatorDestination),X3(i,I.transformAmount),X3(i,I.secondarySourceEnum),X3(i,I.transformType),a++}return Ii(i,0,10),it(new Q4("imod",i.length,i))}function Jv(){let n=this.instruments.reduce((I,x)=>x.instrumentZones.length*4+I,4),i=new J5(n),a=0,l=0,u=0;for(let I of this.instruments){I.instrumentZoneIndex=a;for(let x of I.instrumentZones)x.zoneID=a,X3(i,l),X3(i,u),l+=x.generators.length,u+=x.modulators.length,a++}return X3(i,l),X3(i,u),it(new Q4("ibag",i.length,i))}function Wv(){let n=this.instruments.length*22+22,i=new J5(n),a=0,l=0;for(let u of this.instruments)P8(i,u.instrumentName,20),X3(i,a),a+=u.instrumentZones.length,u.instrumentID=l,l++;return P8(i,"EOI",20),X3(i,a),it(new Q4("inst",i.length,i))}function Zv(){let n=4;for(let l of this.presets)n+=l.presetZones.reduce((u,I)=>(I.generators=I.generators.filter(x=>x.generatorType!==u0.instrument&&x.generatorType!==u0.keyRange&&x.generatorType!==u0.velRange),(I.velRange.max!==127||I.velRange.min!==0)&&I.generators.unshift({generatorType:u0.velRange,generatorValue:I.velRange.max<<8|Math.max(I.velRange.min,0)}),(I.keyRange.max!==127||I.keyRange.min!==0)&&I.generators.unshift({generatorType:u0.keyRange,generatorValue:I.keyRange.max<<8|Math.max(I.keyRange.min,0)}),I.isGlobal||I.generators.push({generatorType:u0.instrument,generatorValue:this.instruments.indexOf(I.instrument)}),I.generators.length*4+u),0);let i=new J5(n),a=0;for(let l of this.presets)for(let u of l.presetZones){u.generatorZoneStartIndex=a;for(let I of u.generators)X3(i,I.generatorType),X3(i,I.generatorValue);a+=u.generators.length}return X3(i,0),X3(i,0),it(new Q4("pgen",i.length,i))}function jv(){let n=10;for(let l of this.presets)n+=l.presetZones.reduce((u,I)=>I.modulators.length*10+u,0);let i=new J5(n),a=0;for(let l of this.presets)for(let u of l.presetZones){u.modulatorZoneStartIndex=a;for(let I of u.modulators)X3(i,I.sourceEnum),X3(i,I.modulatorDestination),X3(i,I.transformAmount),X3(i,I.secondarySourceEnum),X3(i,I.transformType),a++}return Ii(i,0,10),it(new Q4("pmod",i.length,i))}function Xv(){let n=this.presets.reduce((I,x)=>x.presetZones.length*4+I,4),i=new J5(n),a=0,l=0,u=0;for(let I of this.presets){I.presetZoneStartIndex=a;for(let x of I.presetZones)x.zoneID=a,X3(i,l),X3(i,u),l+=x.generators.length,u+=x.modulators.length,a++}return X3(i,l),X3(i,u),it(new Q4("pbag",i.length,i))}function ek(){let n=this.presets.length*38+38,i=new J5(n),a=0;for(let l of this.presets)P8(i,l.presetName,20),X3(i,l.program),X3(i,l.bank),X3(i,a),pe(i,l.library),pe(i,l.genre),pe(i,l.morphology),a+=l.presetZones.length;return P8(i,"EOP",20),X3(i,0),X3(i,0),X3(i,a),pe(i,0),pe(i,0),pe(i,0),it(new Q4("phdr",i.length,i))}var $_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function tk(n=$_){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");Q8("%cSaving soundfont...",I1.info),x5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,I1.info,I1.recognized,I1.info,I1.recognized),x5("%cWriting INFO...",I1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[P2,L2]of Object.entries(this.soundFontInfo))if(P2==="ifil"||P2==="iver"){let a0=parseInt(L2.split(".")[0]),g5=parseInt(L2.split(".")[1]),p3=new J5(4);X3(p3,a0),X3(p3,g5),i.push(it(new Q4(P2,4,p3)))}else if(P2==="DMOD")i.push(it(new Q4(P2,L2.length,L2)));else{let a0=new J5(L2.length);P8(a0,L2),i.push(it(new Q4(P2,L2.length,a0)))}let a=St([new J5([73,78,70,79]),...i]),l=it(new Q4("LIST",a.length,a));x5("%cWriting SDTA...",I1.info);let u=[],I=[],x=Yv.call(this,u,I,n?.compress,n?.compressionQuality??.5,n.compressionFunction);x5("%cWriting PDTA...",I1.info),x5("%cWriting SHDR...",I1.info);let V=zv.call(this,u,I);x5("%cWriting IGEN...",I1.info);let T=Vv.call(this);x5("%cWriting IMOD...",I1.info);let N=Kv.call(this);x5("%cWriting IBAG...",I1.info);let b0=Jv.call(this);x5("%cWriting INST...",I1.info);let w=Wv.call(this),U=Zv.call(this);x5("%cWriting PMOD...",I1.info);let P=jv.call(this);x5("%cWriting PBAG...",I1.info);let F0=Xv.call(this);x5("%cWriting PHDR...",I1.info);let m1=ek.call(this),l1=St([new J5([112,100,116,97]),m1,F0,P,U,w,b0,N,T,V]),j1=it(new Q4("LIST",l1.length,l1));x5("%cWriting the output file...",I1.info);let U1=St([new J5([115,102,98,107]),l,x,j1]),c2=it(new Q4("RIFF",U1.length,U1));return x5(`%cSaved succesfully! Final file size: %c${c2.length}`,I1.info,I1.recognized),ue(),c2}var Up=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,a){return this.generators.find(l=>l.generatorType===i)?.generatorValue??a}};var k7=class extends Up{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ya=class extends Up{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var l_=new Set([u0.velRange,u0.keyRange,u0.instrument,u0.exclusiveClass,u0.endOper,u0.sampleModes,u0.startloopAddrsOffset,u0.startloopAddrsCoarseOffset,u0.endloopAddrsOffset,u0.endloopAddrsCoarseOffset,u0.startAddrsOffset,u0.startAddrsCoarseOffset,u0.endAddrOffset,u0.endAddrsCoarseOffset,u0.initialAttenuation,u0.fineTune,u0.coarseTune,u0.keyNumToVolEnvHold,u0.keyNumToVolEnvDecay,u0.keyNumToModEnvHold,u0.keyNumToModEnvDecay]);function ik(n,i=!0){function a(w,U){w.push(...U.filter(P=>!w.find(F0=>F0.generatorType===P.generatorType)))}function l(w,U){return{min:Math.max(w.min,U.min),max:Math.min(w.max,U.max)}}function u(w,U){w.push(...U.filter(P=>!w.find(F0=>le.isIdentical(P,F0))))}let I=[],x=[],V=[],T={min:0,max:127},N={min:0,max:127},b0=n.presetZones.find(w=>w.isGlobal);b0&&(x.push(...b0.generators),V.push(...b0.modulators),T=b0.keyRange,N=b0.velRange);for(let w of n.presetZones){if(w.isGlobal)continue;let U=w.keyRange;w.hasKeyRange||(U=T);let P=w.velRange;w.hasVelRange||(P=N);let F0=w.generators.map(a0=>new q3(a0.generatorType,a0.generatorValue));a(F0,x);let m1=[...w.modulators];u(m1,V);let l1=w.instrument.instrumentZones,j1=[],U1=[],c2={min:0,max:127},P2={min:0,max:127},L2=l1.find(a0=>a0.isGlobal);L2&&(j1.push(...L2.generators),U1.push(...L2.modulators),c2=L2.keyRange,P2=L2.velRange);for(let a0 of l1){if(a0.isGlobal)continue;let g5=a0.keyRange;a0.hasKeyRange||(g5=c2);let p3=a0.velRange;if(a0.hasVelRange||(p3=P2),g5=l(g5,U),p3=l(p3,P),g5.maxnew q3(E3.generatorType,E3.generatorValue));a(k3,j1);let u6=[...a0.modulators];u(u6,U1);let S3=[...u6];for(let E3 of m1){let p6=S3.findIndex(w4=>le.isIdentical(E3,w4));p6!==-1?S3[p6]=S3[p6].sumTransform(E3):S3.push(E3)}let ce=k3.map(E3=>new q3(E3.generatorType,E3.generatorValue));for(let E3 of F0){if(E3.generatorType===u0.velRange||E3.generatorType===u0.keyRange||E3.generatorType===u0.instrument||E3.generatorType===u0.endOper||E3.generatorType===u0.sampleModes)continue;let p6=k3.findIndex(w4=>w4.generatorType===E3.generatorType);if(p6!==-1){let w4=ce[p6].generatorValue+E3.generatorValue;ce[p6]=new q3(E3.generatorType,w4)}else{let w4=W6[E3.generatorType].def+E3.generatorValue;ce.push(new q3(E3.generatorType,w4))}}ce=ce.filter(E3=>E3.generatorType!==u0.sampleID&&E3.generatorType!==u0.keyRange&&E3.generatorType!==u0.velRange&&E3.generatorType!==u0.endOper&&E3.generatorType!==u0.instrument&&E3.generatorValue!==W6[E3.generatorType].def);let Ne=new k7;Ne.keyRange=g5,Ne.velRange=p3,Ne.keyRange.min===0&&Ne.keyRange.max===127&&(Ne.keyRange.min=-1),Ne.velRange.min===0&&Ne.velRange.max===127&&(Ne.velRange.min=-1),Ne.isGlobal=!1,Ne.sample=a0.sample,Ne.generators=ce,Ne.modulators=S3,I.push(Ne)}}if(i){let w=new k7;w.isGlobal=!0;for(let F0=0;F0<58;F0++){if(l_.has(F0))continue;let m1={},l1=W6[F0]?.def||0;m1[l1]=0;for(let j1 of I){let U1=j1.generators.find(L2=>L2.generatorType===F0);if(U1){let L2=U1.generatorValue;m1[L2]===void 0?m1[L2]=1:m1[L2]++}else m1[l1]++;let c2;switch(F0){default:continue;case u0.decayVolEnv:c2=u0.keyNumToVolEnvDecay;break;case u0.holdVolEnv:c2=u0.keyNumToVolEnvHold;break;case u0.decayModEnv:c2=u0.keyNumToModEnvDecay;break;case u0.holdModEnv:c2=u0.keyNumToModEnvHold}if(j1.generators.find(L2=>L2.generatorType===c2)!==void 0){m1={};break}}if(Object.keys(m1).length>0){let j1=Object.entries(m1).reduce((c2,P2)=>c2[1]{let P2=c2.generators.findIndex(L2=>L2.generatorType===F0);P2!==-1?c2.generators[P2].generatorValue===U1&&c2.generators.splice(P2,1):U1!==l1&&c2.generators.push(new q3(F0,l1))})}}let P=I.find(F0=>!F0.isGlobal).modulators.map(F0=>le.copy(F0));for(let F0 of P){let m1=!0;for(let l1 of I){if(l1.isGlobal||!m1)continue;l1.modulators.find(U1=>le.isIdentical(U1,F0))||(m1=!1)}if(m1===!0){w.modulators.push(le.copy(F0));for(let l1 of I){let j1=l1.modulators.find(U1=>le.isIdentical(U1,F0));j1.transformAmount===F0.transformAmount&&l1.modulators.splice(l1.modulators.indexOf(j1),1)}}}I.splice(0,0,w)}return I}var rk=20;function iC(n,i,a,l,u,I,x){let V=x===0?0:1,T=new J5(rk+V*16);pe(T,rk),X3(T,i),X3(T,a);let N=l*.4,b0=Math.floor(N*-65536);pe(T,b0),pe(T,2);let w=I-u,U=0;switch(x){default:case 0:V=0;break;case 1:U=0,V=1;break;case 3:U=1,V=1}return pe(T,V),V===1&&(pe(T,16),pe(T,U),pe(T,u),pe(T,w)),v6("wsmp",T)}var m6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},rC=new le({srcEnum:219,dest:u0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),nC=new le({srcEnum:221,dest:u0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),sC=new le({srcEnum:129,dest:u0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),oC=new le({srcEnum:13,dest:u0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var k5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Pp=class{source;control;destination;scale;transform;constructor(i,a,l,u,I){this.source=i,this.control=a,this.destination=l,this.scale=u,this.transform=I}writeArticulator(){let i=new J5(12);return X3(i,this.source),X3(i,this.control),X3(i,this.destination),X3(i,this.transform),pe(i,this.scale<<16),i}};function nk(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return m6.modulationWheel;case $3.mainVolume:return m6.volume;case $3.pan:return m6.pan;case $3.expressionController:return m6.expression;case $3.chorusDepth:return m6.chorus;case $3.reverbDepth:return m6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return m6.keyNum;case q4.noteOnVelocity:return m6.velocity;case q4.noController:return m6.none;case q4.polyPressure:return m6.polyPressure;case q4.channelPressure:return m6.channelPressure;case q4.pitchWheel:return m6.pitchWheel;case q4.pitchWheelRange:return m6.pitchWheelRange}}function sk(n,i){switch(n){default:return;case u0.initialAttenuation:return{dest:k5.gain,amount:-i};case u0.fineTune:return k5.pitch;case u0.pan:return k5.pan;case u0.keyNum:return k5.keyNum;case u0.reverbEffectsSend:return k5.reverbSend;case u0.chorusEffectsSend:return k5.chorusSend;case u0.freqModLFO:return k5.modLfoFreq;case u0.delayModLFO:return k5.modLfoDelay;case u0.delayVibLFO:return k5.vibLfoDelay;case u0.freqVibLFO:return k5.vibLfoFreq;case u0.delayVolEnv:return k5.volEnvDelay;case u0.attackVolEnv:return k5.volEnvAttack;case u0.holdVolEnv:return k5.volEnvHold;case u0.decayVolEnv:return k5.volEnvDecay;case u0.sustainVolEnv:return{dest:k5.volEnvSustain,amount:1e3-i};case u0.releaseVolEnv:return k5.volEnvRelease;case u0.delayModEnv:return k5.modEnvDelay;case u0.attackModEnv:return k5.modEnvAttack;case u0.holdModEnv:return k5.modEnvHold;case u0.decayModEnv:return k5.modEnvDecay;case u0.sustainModEnv:return{dest:k5.modEnvSustain,amount:1e3-i};case u0.releaseModEnv:return k5.modEnvRelease;case u0.initialFilterFc:return k5.filterCutoff;case u0.initialFilterQ:return k5.filterQ}}function ok(n,i){switch(n){default:return;case u0.modEnvToFilterFc:return{source:m6.modEnv,dest:k5.filterCutoff,amt:i,isBipolar:!1};case u0.modEnvToPitch:return{source:m6.modEnv,dest:k5.pitch,amt:i,isBipolar:!1};case u0.modLfoToFilterFc:return{source:m6.modLfo,dest:k5.filterCutoff,amt:i,isBipolar:!0};case u0.modLfoToVolume:return{source:m6.modLfo,dest:k5.gain,amt:i,isBipolar:!0};case u0.modLfoToPitch:return{source:m6.modLfo,dest:k5.pitch,amt:i,isBipolar:!0};case u0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:k5.pitch,amt:i,isBipolar:!0};case u0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:k5.volEnvHold,amt:i,isBipolar:!0};case u0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:k5.volEnvDecay,amt:i,isBipolar:!0};case u0.keyNumToModEnvHold:return{source:m6.keyNum,dest:k5.modEnvHold,amt:i,isBipolar:!0};case u0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:k5.modEnvDecay,amt:i,isBipolar:!0};case u0.scaleTuning:return{source:m6.keyNum,dest:k5.pitch,amt:i*128,isBipolar:!1}}}function ak(n){let i=sk(n.generatorType,n.generatorValue),a=i,l=0,u=n.generatorValue;i?.amount!==void 0&&(u=i.amount,a=i.dest);let I=ok(n.generatorType,n.generatorValue);if(I!==void 0)u=I.amt,a=I.dest,l=I.source;else if(a===void 0){me(`Invalid generator type: ${n.generatorType}`);return}return new Pp(l,0,a,u,0)}function Ak(n){if(n.transformType!==0){me("Other transform types are not supported.");return}let i=nk(n.sourceUsesCC,n.sourceIndex),a=n.sourceCurveType,l=n.sourcePolarity,u=n.sourceDirection;if(i===void 0){me(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===u0.initialAttenuation&&(u=u===1?0:1);let I=nk(n.secSrcUsesCC,n.secSrcIndex),x=n.secSrcCurveType,V=n.secSrcPolarity,T=n.secSrcDirection;if(I===void 0){me(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let N=sk(n.modulatorDestination,n.transformAmount),b0=N,w=n.transformAmount;N?.dest!==void 0&&(b0=N.dest,w=N.amount);let U=ok(n.modulatorDestination,n.transformAmount);if(U!==void 0)w=U.amt,I=i,x=a,V=l,T=u,a=j7.linear,l=U.isBipolar?1:0,u=0,i=U.source,b0=U.dest;else if(b0===void 0){me(`Invalid destination: ${n.modulatorDestination}`);return}let P=0;return P|=x<<4,P|=V<<8,P|=T<<9,P|=a,P|=l<<14,P|=u<<15,new Pp(i,I,b0,w,P)}var c_=new Set([u0.sampleModes,u0.initialAttenuation,u0.keyRange,u0.velRange,u0.sampleID,u0.fineTune,u0.coarseTune,u0.startAddrsOffset,u0.startAddrsCoarseOffset,u0.endAddrOffset,u0.endAddrsCoarseOffset,u0.startloopAddrsOffset,u0.startloopAddrsCoarseOffset,u0.endloopAddrsOffset,u0.endloopAddrsCoarseOffset,u0.overridingRootKey,u0.exclusiveClass]);function aC(n){for(let I=0;IF0.generatorType===V);if(T===void 0)continue;let N=x.generatorValue*-128,b0=60/128*N,w=T.generatorValue-b0,U=n.generators.indexOf(x),P=n.generators.indexOf(T);n.generators[P]=new q3(V,w,!1),n.generators[U]=new q3(x.generatorType,N,!1)}let i=n.generators.reduce((I,x)=>{if(c_.has(x.generatorType))return I;let V=ak(x);return V!==void 0?(I.push(V),x5("%cSucceeded converting to DLS Articulator!",I1.recognized)):me("Failed converting to DLS Articulator!"),I},[]),a=n.modulators.reduce((I,x)=>{if(le.isIdentical(x,nC,!0)||le.isIdentical(x,rC,!0)||le.isIdentical(x,sC,!0)||le.isIdentical(x,oC,!0))return I;let V=Ak(x);return V!==void 0?(I.push(V),x5("%cSucceeded converting to DLS Articulator!",I1.recognized)):me("Failed converting to DLS Articulator!"),I},[]);i.push(...a);let l=new J5(8);pe(l,8),pe(l,i.length);let u=i.map(I=>I.writeArticulator());return v6("art2",St([l,...u]))}function $k(n,i){let a=new J5(12);X3(a,Math.max(n.keyRange.min,0)),X3(a,n.keyRange.max),X3(a,Math.max(n.velRange.min,0)),X3(a,n.velRange.max),X3(a,0);let l=n.getGeneratorValue(u0.exclusiveClass,0);X3(a,l),X3(a,0);let u=v6("rgnh",a),I=n.getGeneratorValue(u0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(u0.scaleTuning,i.getGeneratorValue(u0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(I=n.keyRange.min);let V=iC(n.sample,I,n.getGeneratorValue(u0.fineTune,0)+n.getGeneratorValue(u0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(u0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(u0.startloopAddrsOffset,0)+n.getGeneratorValue(u0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(u0.endloopAddrsOffset,0)+n.getGeneratorValue(u0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(u0.sampleModes,0)),T=new J5(12);X3(T,0),X3(T,0),pe(T,1),pe(T,this.samples.indexOf(n.sample));let N=v6("wlnk",T),b0=new J5(0);if(n.modulators.length+n.generators.length>0){let w=aC(n);b0=v6("lar2",w,!1,!0)}return v6("rgn2",St([u,V,N,b0]),!1,!0)}function lk(n){Q8(`%cWriting %c${n.presetName}%c...`,I1.info,I1.recognized,I1.info);let i=ik(n),a=i.reduce((U,P)=>P.isGlobal?U:U+1,0),l=new J5(12);pe(l,a);let u=(n.bank&127)<<8;n.bank===128&&(u|=1<<31),pe(l,u),pe(l,n.program&127);let I=v6("insh",l),x=new J5(0),V=i.find(U=>U.isGlobal===!0);if(V){let U=aC(V);x=v6("lar2",U,!1,!0)}let T=St(i.reduce((U,P)=>(P.isGlobal||U.push($k.apply(this,[P,V])),U),[])),N=v6("lrgn",T,!1,!0),b0=v6("INAM",Tn(n.presetName)),w=v6("INFO",b0,!1,!0);return ue(),v6("ins ",St([I,N,x,w]),!1,!0)}function ck(){let n=St(this.presets.map(i=>lk.apply(this,[i])));return v6("lins",n,!1,!0)}function gk(n){let i=new J5(18);X3(i,1),X3(i,1),pe(i,n.sampleRate),pe(i,n.sampleRate*2),X3(i,2),X3(i,16);let a=v6("fmt ",i),l=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(l=0);let u=iC(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,l),I=n.getAudioData(),x;if(n.isCompressed){let N=new Int16Array(I.length);for(let b0=0;b0{let u=gk(l);return i.push(n),n+=u.length,u});return{data:v6("wvpl",St(a),!1,!0),indexes:i}}function hk(){Q8("%cSaving DLS...",I1.info);let n=new J5(4);pe(n,this.presets.length);let i=v6("colh",n);Q8("%cWriting instruments...",I1.info);let a=ck.apply(this);x5("%cSuccess!",I1.recognized),ue(),Q8("%cWriting WAVE samples...",I1.info);let l=uk.apply(this),u=l.data,I=l.indexes;x5("%cSucceeded!",I1.recognized),ue();let x=new J5(8+4*I.length);pe(x,8),pe(x,I.length);for(let w of I)pe(x,w);let V=v6("ptbl",x);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` -Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let T=[];for(let[w,U]of Object.entries(this.soundFontInfo))w!=="ICMT"&&w!=="INAM"&&w!=="ICRD"&&w!=="IENG"&&w!=="ICOP"&&w!=="ISFT"&&w!=="ISBJ"||T.push(v6(w,Tn(U),!0));let N=v6("INFO",St(T),!1,!0),b0=new J5(i.length+a.length+V.length+u.length+N.length+4);return P8(b0,"DLS "),b0.set(St([i,a,V,u,N]),4),x5("%cSaved succesfully!",I1.recognized),ue(),v6("RIFF",b0)}var g_=48e3,za=class{constructor(i,a,l,u,I,x,V,T){this.sampleName=i,this.sampleRate=a,this.samplePitch=l,this.samplePitchCorrection=u,this.sampleLink=I,this.sampleType=x,this.sampleLoopStartIndex=V,this.sampleLoopEndIndex=T,this.isCompressed=(x&16)>0,this.compressedData=void 0,this.useCount=0,this.sampleData=void 0}getRawData(){let i=new Uint8Array(this.sampleData.length*2);for(let a=0;a>8&255}return i}resampleData(i){let a=this.getAudioData(),l=i/this.sampleRate,u=new Float32Array(Math.floor(a.length*l));for(let I=0;I96e3)&&(this.resampleData(g_),l=this.getAudioData()),this.compressedData=a([l],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{me(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=239}}getAudioData(){return this.sampleData}};var Ka=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var Ja=class{constructor(i){this.presetName="",this.program=0,this.bank=0,this.presetZones=[],this.sampleIDOffset=0,this.foundSamplesAndGenerators=[];for(let a=0;a<128;a++)this.foundSamplesAndGenerators[a]=[];this.library=0,this.genre=0,this.morphology=0,this.defaultModulators=i}deletePreset(){this.presetZones.forEach(i=>i.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,a){for(let l=i;l{I.sample.isSampleLoaded||I.sample.getAudioData()})}preloadSpecific(i,a){this.getSamplesAndGenerators(i,a).forEach(l=>{l.sample.isSampleLoaded||l.sample.getAudioData()})}getSamplesAndGenerators(i,a){let l=this.foundSamplesAndGenerators[i][a];if(l)return l;if(this.presetZones.length<1)return[];function u(P,F0){return F0>=P.min&&F0<=P.max}function I(P,F0){P.push(...F0.filter(m1=>!P.find(l1=>l1.generatorType===m1.generatorType)))}function x(P,F0){P.push(...F0.filter(m1=>!P.find(l1=>le.isIdentical(m1,l1))))}let V=[],T=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],N=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],b0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},w=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(P=>u(P.hasKeyRange?P.keyRange:b0,i)&&u(P.hasVelRange?P.velRange:w,a)&&!P.isGlobal).forEach(P=>{if(P.instrument.instrumentZones.length<1)return;let F0=P.generators,m1=P.modulators,l1=P.instrument.instrumentZones[0],j1=l1.isGlobal?[...l1.generators]:[],U1=l1.isGlobal?[...l1.modulators]:[],c2=l1.isGlobal?l1.keyRange:{min:0,max:127},P2=l1.isGlobal?l1.velRange:{min:0,max:127};P.instrument.instrumentZones.filter(a0=>u(a0.hasKeyRange?a0.keyRange:c2,i)&&u(a0.hasVelRange?a0.velRange:P2,a)&&!a0.isGlobal).forEach(a0=>{let g5=[...a0.generators],p3=[...a0.modulators];I(F0,T),I(g5,j1),x(m1,N),x(p3,U1),x(p3,this.defaultModulators);let k3=[...p3];for(let u6=0;u6le.isIdentical(S3,Ne));ce!==-1?k3[ce]=k3[ce].sumTransform(S3):k3.push(S3)}V.push({instrumentGenerators:g5,presetGenerators:F0,modulators:k3,sample:a0.sample,sampleID:a0.generators.find(u6=>u6.generatorType===u0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][a]=V,V}};var Wa=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=DE.map(a=>le.copy(a)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let a=i.shift(),l=a.presets;for(;i.length;)i.shift().presets.forEach(I=>{l.find(x=>x.bank===I.bank&&x.program===I.program)===void 0&&l.push(I)});return new n({presets:l,info:a.soundFontInfo})}static getDummySoundfontFile(){let i=new n,a=new za("Saw",44100,65,20,0,0,0,127);a.sampleData=new Float32Array(128);for(let N=0;N<128;N++)a.sampleData[N]=N/128*2-1;i.samples.push(a);let l=new k7;l.isGlobal=!0,l.generators.push(new q3(u0.initialAttenuation,375)),l.generators.push(new q3(u0.releaseVolEnv,-1e3)),l.generators.push(new q3(u0.sampleModes,1));let u=new k7;u.sample=a;let I=new k7;I.sample=a,I.generators.push(new q3(u0.fineTune,-9));let x=new Ka;x.instrumentName="Saw Wave",x.instrumentZones.push(l),x.instrumentZones.push(u),x.instrumentZones.push(I),i.instruments.push(x);let V=new Ya;V.instrument=x;let T=new Ja(i.defaultModulators);return T.presetName="Saw Wave",T.presetZones.push(V),i.presets.push(T),i.soundFontInfo.ifil="2.1",i.soundFontInfo.isng="EMU8000",i.soundFontInfo.INAM="Dummy",i.write().buffer}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(a=>{a.isGlobal||a.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(a=>a.sampleIDOffset=i)}getPresetNoFallback(i,a,l=!1){let u=this.presets.find(I=>I.bank===i&&I.program===a);if(u)return u;if(l!==!1)return i===128?this.presets.find(I=>I.bank===128):this.presets.find(I=>I.program===a)}getPreset(i,a){let l=this.presets.find(u=>u.bank===i&&u.program===a);return l||(i===128?(l=this.presets.find(u=>u.bank===128&&u.program===a),l||(l=this.presets.find(u=>u.bank===128))):l=this.presets.find(u=>u.program===a&&u.bank!==128),l&&me(`%cPreset ${i}.${a} not found. Replaced with %c${l.presetName} (${l.bank}.${l.program})`,I1.warn,I1.recognized)),l||(me(`Preset ${a} not found. Defaulting to`,this.presets[0].presetName),l=this.presets[0]),l}getPresetByName(i){let a=this.presets.find(l=>l.presetName===i);return a||(me("Preset not found. Defaulting to:",this.presets[0].presetName),a=this.presets[0]),a}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Wa.prototype.write=tk;Wa.prototype.writeDLS=hk;function dk(n){Q8("%cLoading instruments...",I1.info);for(let i=0;i>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Ka,this.DLSInstrument.addUseCount();let u=new Ya;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function fk(n){this.verifyHeader(n,"LIST"),this.verifyText(y4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(B9(n.chunkData));let a=i.find(P=>P.header==="insh");if(!a)throw ue(),new Error("No instrument header!");let l=o3(a.chunkData,4),u=o3(a.chunkData,4),I=o3(a.chunkData,4),x=new AC(u,I),V="unnamedPreset",T=G7(i,"INFO");if(T){let P=B9(T.chunkData);for(;P.header!=="INAM";)P=B9(T.chunkData);V=y4(P.chunkData,P.chunkData.length).trim()}x.presetName=V,x.DLSInstrument.instrumentName=V,F7(`%cParsing %c"${V}"%c...`,I1.info,I1.recognized,I1.info);let N=G7(i,"lrgn");if(!N)throw ue(),new Error("No region list!");let b0=new k7;b0.isGlobal=!0;let w=G7(i,"lart"),U=G7(i,"lar2");(U!==void 0||w!==void 0)&&this.readLart(w,U,b0),b0.generators=b0.generators.filter(P=>P.generatorValue!==W6[P.generatorType].def),b0.modulators.find(P=>P.modulatorDestination===u0.reverbEffectsSend)===void 0&&b0.modulators.push(le.copy(rC)),b0.modulators.find(P=>P.modulatorDestination===u0.chorusEffectsSend)===void 0&&b0.modulators.push(le.copy(nC)),x.DLSInstrument.instrumentZones.push(b0);for(let P=0;P>10&15;U1===j7.linear&&j1!==j7.linear&&(U1=j1);let c2=l>>14&1,P2=l>>15&1;x===u0.initialAttenuation&&u<0&&(P2=1),U=Jr(U1,c2,P2,V.isCC,V.enum)}let P=l>>4&15,F0=l>>8&1,m1=l>>9&1,l1=Jr(P,F0,m1,w.isCC,w.enum);if(T){let j1=l1;l1=U,U=j1}return new le({srcEnum:U,secSrcEnum:l1,dest:x,transform:0,amt:b0})}function cB(n,i){let a=n.chunkData,l=[],u=[];o3(a,4);let I=o3(a,4);for(let x=0;x>16;if(V===0&&T===0&&b0===0){let P;switch(N){case k5.pan:P=new q3(u0.pan,U);break;case k5.gain:P=new q3(u0.initialAttenuation,-U*10/.4);break;case k5.filterCutoff:P=new q3(u0.initialFilterFc,U);break;case k5.filterQ:P=new q3(u0.initialFilterQ,U);break;case k5.modLfoFreq:P=new q3(u0.freqModLFO,U);break;case k5.modLfoDelay:P=new q3(u0.delayModLFO,U);break;case k5.vibLfoFreq:P=new q3(u0.freqVibLFO,U);break;case k5.vibLfoDelay:P=new q3(u0.delayVibLFO,U);break;case k5.volEnvDelay:P=new q3(u0.delayVolEnv,U);break;case k5.volEnvAttack:P=new q3(u0.attackVolEnv,U);break;case k5.volEnvHold:P=new q3(u0.holdVolEnv,U,!1);break;case k5.volEnvDecay:P=new q3(u0.decayVolEnv,U,!1);break;case k5.volEnvRelease:P=new q3(u0.releaseVolEnv,U);break;case k5.volEnvSustain:let F0=1e3-U;P=new q3(u0.sustainVolEnv,F0);break;case k5.modEnvDelay:P=new q3(u0.delayModEnv,U);break;case k5.modEnvAttack:P=new q3(u0.attackModEnv,U);break;case k5.modEnvHold:P=new q3(u0.holdModEnv,U,!1);break;case k5.modEnvDecay:P=new q3(u0.decayModEnv,U,!1);break;case k5.modEnvRelease:P=new q3(u0.releaseModEnv,U);break;case k5.modEnvSustain:let m1=1e3-U;P=new q3(u0.sustainModEnv,m1);break;case k5.reverbSend:P=new q3(u0.reverbEffectsSend,U);break;case k5.chorusSend:P=new q3(u0.chorusEffectsSend,U);break;case k5.pitch:let l1=Math.floor(U/100),j1=Math.floor(U-l1*100);P=new q3(u0.fineTune,j1),l.push(new q3(u0.coarseTune,l1));break}P&&l.push(P)}else{let P=!0;if(T===m6.none)if(V===m6.modLfo&&N===k5.pitch)l.push(new q3(u0.modLfoToPitch,U));else if(V===m6.modLfo&&N===k5.gain)l.push(new q3(u0.modLfoToVolume,U));else if(V===m6.modLfo&&N===k5.filterCutoff)l.push(new q3(u0.modLfoToFilterFc,U));else if(V===m6.vibratoLfo&&N===k5.pitch)l.push(new q3(u0.vibLfoToPitch,U));else if(V===m6.modEnv&&N===k5.pitch)l.push(new q3(u0.modEnvToPitch,U));else if(V===m6.modEnv&&N===k5.filterCutoff)l.push(new q3(u0.modEnvToFilterFc,U));else if(V===m6.keyNum&&N===k5.pitch)l.push(new q3(u0.scaleTuning,U/128));else if(V===m6.keyNum&&N===k5.volEnvHold){l.push(new q3(u0.keyNumToVolEnvHold,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.holdVolEnv&&(m1.generatorValue+=F0)})}else if(V===m6.keyNum&&N===k5.volEnvDecay){l.push(new q3(u0.keyNumToVolEnvDecay,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.decayVolEnv&&(m1.generatorValue+=F0)})}else if(V===m6.keyNum&&N===k5.modEnvHold){l.push(new q3(u0.keyNumToModEnvHold,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.holdModEnv&&(m1.generatorValue+=F0)})}else if(V===m6.keyNum&&N===k5.modEnvDecay){l.push(new q3(u0.keyNumToModEnvDecay,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.decayModEnv&&(m1.generatorValue+=F0)})}else P=!1;else P=!1;if(P===!1){let F0=mk(V,T,N,b0,U);F0?(u.push(F0),x5("%cSucceeded converting to SF2 Modulator!",I1.recognized)):me("Failed converting to SF2 Modulator!")}}}return i&&u.push(le.copy(sC),le.copy(oC)),{modulators:u,generators:l}}function pk(n,i,a){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(B9(n.chunkData));let a=i.find(p3=>p3.header==="rgnh"),l=o3(a.chunkData,2),u=o3(a.chunkData,2),I=o3(a.chunkData,2),x=o3(a.chunkData,2),V=new $C({min:l,max:u},{min:I,max:x});o3(a.chunkData,2);let T=o3(a.chunkData,2);T!==0&&V.generators.push(new q3(u0.exclusiveClass,T));let N=G7(i,"lart"),b0=G7(i,"lar2");this.readLart(N,b0,V),V.isGlobal=!1;let w=i.find(p3=>p3.header==="wsmp");o3(w.chunkData,4);let U=o3(w.chunkData,2),P=Ua(w.chunkData[w.chunkData.currentIndex++],w.chunkData[w.chunkData.currentIndex++]),m1=(o3(w.chunkData,4)|0)/-655360;o3(w.chunkData,4);let l1=o3(w.chunkData,4),j1,U1={start:0,end:0};if(l1===0)j1=0;else{o3(w.chunkData,4),o3(w.chunkData,4)===0?j1=1:j1=3,U1.start=o3(w.chunkData,4);let k3=o3(w.chunkData,4);U1.end=U1.start+k3}let c2=i.find(p3=>p3.header==="wlnk");if(c2===void 0)return;o3(c2.chunkData,2),o3(c2.chunkData,2),o3(c2.chunkData,4);let P2=o3(c2.chunkData,4),L2=this.samples[P2];if(L2===void 0)throw new Error("Invalid sample ID!");let g5=(m1||L2.sampleDbAttenuation)*10/.4;return V.setWavesample(g5,j1,U1,U,L2,P2,P),V}var lC=class extends za{sampleDbAttenuation;sampleData;constructor(i,a,l,u,I,x,V,T){super(i,a,l,u,0,1,I,x),this.sampleData=V,this.sampleDbAttenuation=T}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}return super.getRawData()}};var Ck={PCM:1,ALAW:6};function d_(n,i){let a=Math.pow(2,i*8-1),l=Math.pow(2,i*8),u,I=!1;i===1?(u=255,I=!0):u=a;let x=n.size/i,V=new Float32Array(x);for(let T=0;T=a&&(N-=l),V[T]=N/u)}return V}function f_(n,i){let a=n.size/i,l=new Float32Array(a);for(let u=0;u>4,T=x&15;V>0&&(T+=16),T=(T<<4)+8,V>1&&(T=T<127?T:-T;l[u]=N/32678}return l}function Bk(n){Q8("%cLoading Wave samples...",I1.recognized);let i=0;for(;n.chunkData.currentIndexL2.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");let I=o3(u.chunkData,2),x=o3(u.chunkData,2);if(x!==1)throw new Error(`Only mono samples are supported. Fmt reports ${x} channels`);let V=o3(u.chunkData,4);o3(u.chunkData,4),o3(u.chunkData,2);let N=o3(u.chunkData,2)/8,b0=!1,w=l.find(L2=>L2.header==="data");w||this.parsingError("No data chunk in the WAVE chunk!");let U;switch(I){default:b0=!0,U=new Float32Array(w.size/N);break;case Ck.PCM:U=d_(w,N);break;case Ck.ALAW:U=f_(w,N);break}let P=G7(l,"INFO"),F0=`Unnamed ${i}`;if(P){let L2=B9(P.chunkData);for(;L2.header!=="INAM"&&P.chunkData.currentIndexL2.header==="wsmp");if(P2){o3(P2.chunkData,4),m1=o3(P2.chunkData,2),l1=Ua(P2.chunkData[P2.chunkData.currentIndex++],P2.chunkData[P2.chunkData.currentIndex++]);let L2=Math.trunc(l1/100);if(m1+=L2,l1-=L2*100,c2=(o3(P2.chunkData,4)|0)/-655360,o3(P2.chunkData,4),o3(P2.chunkData,4)===1){o3(P2.chunkData,8),j1=o3(P2.chunkData,4);let p3=o3(P2.chunkData,4);U1=j1+p3}}else me("No wsmp chunk in wave... using sane defaults.");b0&&console.error(`Failed to load '${F0}': Unsupported format: (${I})`),this.samples.push(new lC(F0,V,m1,l1,j1,U1,U,c2)),i++,x5(`%cLoaded sample %c${F0}`,I1.info,I1.recognized)}ue()}var qs=class extends Wa{constructor(i){super(),this.dataArray=new J5(i),F7("%cParsing DLS...",I1.info),this.dataArray||(ue(),this.parsingError("No data provided!"));let a=B9(this.dataArray,!1);this.verifyHeader(a,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let l=[];for(;this.dataArray.currentIndex(m.generators=m.generators.filter(x=>x.generatorType!==u0.sampleID&&x.generatorType!==u0.keyRange&&x.generatorType!==u0.velRange),(m.velRange.max!==127||m.velRange.min!==0)&&m.generators.unshift({generatorType:u0.velRange,generatorValue:m.velRange.max<<8|Math.max(m.velRange.min,0)}),(m.keyRange.max!==127||m.keyRange.min!==0)&&m.generators.unshift({generatorType:u0.keyRange,generatorValue:m.keyRange.max<<8|Math.max(m.keyRange.min,0)}),m.isGlobal||m.generators.push({generatorType:u0.sampleID,generatorValue:this.samples.indexOf(m.sample)}),m.generators.length*4+u),0);let i=new J5(n),a=0;for(let l of this.instruments)for(let u of l.instrumentZones){u.generatorZoneStartIndex=a;for(let m of u.generators)X3(i,m.generatorType),X3(i,m.generatorValue),a++}return pe(i,0),it(new Q4("igen",i.length,i))}function Yv(n,i,a,l,u){let m=this.samples.map((T,S0)=>{a&&T.compressSample(l,u);let w=T.getRawData();return x5(`%cEncoded sample %c${S0}. ${T.sampleName}%c of %c${this.samples.length}%c. Compressed: %c${T.isCompressed}%c.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,T.isCompressed?I1.recognized:I1.unrecognized,I1.info),w}),x=this.samples.reduce((T,S0,w)=>T+m[w].length+46,0),H=new J5(x);this.samples.forEach((T,S0)=>{let w=m[S0],U,P,F0=w.length;T.isCompressed?(U=H.currentIndex,P=U+w.length):(U=H.currentIndex/2,P=U+w.length/2,F0+=46),n.push(U),H.set(w,H.currentIndex),H.currentIndex+=F0,i.push(P)});let F=it(new Q4("smpl",H.length,H),new J5([115,100,116,97]));return it(new Q4("LIST",F.length,F))}function zv(n,i){let l=new J5(46*(this.samples.length+1));return this.samples.forEach((u,m)=>{P8(l,u.sampleName,20);let x=n[m];pe(l,x);let H=i[m];pe(l,H);let F=u.sampleLoopStartIndex+x,T=u.sampleLoopEndIndex+x;u.isCompressed&&(F-=x,T-=x),pe(l,F),pe(l,T),pe(l,u.sampleRate),l[l.currentIndex++]=u.samplePitch,l[l.currentIndex++]=u.samplePitchCorrection,X3(l,u.sampleLink),X3(l,u.sampleType)}),P8(l,"EOS",46),it(new Q4("shdr",l.length,l))}function Kv(){let n=10;for(let l of this.instruments)n+=l.instrumentZones.reduce((u,m)=>m.modulators.length*10+u,0);let i=new J5(n),a=0;for(let l of this.instruments)for(let u of l.instrumentZones){u.modulatorZoneStartIndex=a;for(let m of u.modulators)X3(i,m.sourceEnum),X3(i,m.modulatorDestination),X3(i,m.transformAmount),X3(i,m.secondarySourceEnum),X3(i,m.transformType),a++}return Ii(i,0,10),it(new Q4("imod",i.length,i))}function Jv(){let n=this.instruments.reduce((m,x)=>x.instrumentZones.length*4+m,4),i=new J5(n),a=0,l=0,u=0;for(let m of this.instruments){m.instrumentZoneIndex=a;for(let x of m.instrumentZones)x.zoneID=a,X3(i,l),X3(i,u),l+=x.generators.length,u+=x.modulators.length,a++}return X3(i,l),X3(i,u),it(new Q4("ibag",i.length,i))}function Wv(){let n=this.instruments.length*22+22,i=new J5(n),a=0,l=0;for(let u of this.instruments)P8(i,u.instrumentName,20),X3(i,a),a+=u.instrumentZones.length,u.instrumentID=l,l++;return P8(i,"EOI",20),X3(i,a),it(new Q4("inst",i.length,i))}function Zv(){let n=4;for(let l of this.presets)n+=l.presetZones.reduce((u,m)=>(m.generators=m.generators.filter(x=>x.generatorType!==u0.instrument&&x.generatorType!==u0.keyRange&&x.generatorType!==u0.velRange),(m.velRange.max!==127||m.velRange.min!==0)&&m.generators.unshift({generatorType:u0.velRange,generatorValue:m.velRange.max<<8|Math.max(m.velRange.min,0)}),(m.keyRange.max!==127||m.keyRange.min!==0)&&m.generators.unshift({generatorType:u0.keyRange,generatorValue:m.keyRange.max<<8|Math.max(m.keyRange.min,0)}),m.isGlobal||m.generators.push({generatorType:u0.instrument,generatorValue:this.instruments.indexOf(m.instrument)}),m.generators.length*4+u),0);let i=new J5(n),a=0;for(let l of this.presets)for(let u of l.presetZones){u.generatorZoneStartIndex=a;for(let m of u.generators)X3(i,m.generatorType),X3(i,m.generatorValue);a+=u.generators.length}return X3(i,0),X3(i,0),it(new Q4("pgen",i.length,i))}function jv(){let n=10;for(let l of this.presets)n+=l.presetZones.reduce((u,m)=>m.modulators.length*10+u,0);let i=new J5(n),a=0;for(let l of this.presets)for(let u of l.presetZones){u.modulatorZoneStartIndex=a;for(let m of u.modulators)X3(i,m.sourceEnum),X3(i,m.modulatorDestination),X3(i,m.transformAmount),X3(i,m.secondarySourceEnum),X3(i,m.transformType),a++}return Ii(i,0,10),it(new Q4("pmod",i.length,i))}function Xv(){let n=this.presets.reduce((m,x)=>x.presetZones.length*4+m,4),i=new J5(n),a=0,l=0,u=0;for(let m of this.presets){m.presetZoneStartIndex=a;for(let x of m.presetZones)x.zoneID=a,X3(i,l),X3(i,u),l+=x.generators.length,u+=x.modulators.length,a++}return X3(i,l),X3(i,u),it(new Q4("pbag",i.length,i))}function ek(){let n=this.presets.length*38+38,i=new J5(n),a=0;for(let l of this.presets)P8(i,l.presetName,20),X3(i,l.program),X3(i,l.bank),X3(i,a),pe(i,l.library),pe(i,l.genre),pe(i,l.morphology),a+=l.presetZones.length;return P8(i,"EOP",20),X3(i,0),X3(i,0),X3(i,a),pe(i,0),pe(i,0),pe(i,0),it(new Q4("phdr",i.length,i))}var $_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function tk(n=$_){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");Q8("%cSaving soundfont...",I1.info),x5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,I1.info,I1.recognized,I1.info,I1.recognized),x5("%cWriting INFO...",I1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[P2,L2]of Object.entries(this.soundFontInfo))if(P2==="ifil"||P2==="iver"){let a0=parseInt(L2.split(".")[0]),g5=parseInt(L2.split(".")[1]),p3=new J5(4);X3(p3,a0),X3(p3,g5),i.push(it(new Q4(P2,4,p3)))}else if(P2==="DMOD")i.push(it(new Q4(P2,L2.length,L2)));else{let a0=new J5(L2.length);P8(a0,L2),i.push(it(new Q4(P2,L2.length,a0)))}let a=St([new J5([73,78,70,79]),...i]),l=it(new Q4("LIST",a.length,a));x5("%cWriting SDTA...",I1.info);let u=[],m=[],x=Yv.call(this,u,m,n?.compress,n?.compressionQuality??.5,n.compressionFunction);x5("%cWriting PDTA...",I1.info),x5("%cWriting SHDR...",I1.info);let H=zv.call(this,u,m);x5("%cWriting IGEN...",I1.info);let F=Vv.call(this);x5("%cWriting IMOD...",I1.info);let T=Kv.call(this);x5("%cWriting IBAG...",I1.info);let S0=Jv.call(this);x5("%cWriting INST...",I1.info);let w=Wv.call(this),U=Zv.call(this);x5("%cWriting PMOD...",I1.info);let P=jv.call(this);x5("%cWriting PBAG...",I1.info);let F0=Xv.call(this);x5("%cWriting PHDR...",I1.info);let m1=ek.call(this),l1=St([new J5([112,100,116,97]),m1,F0,P,U,w,S0,T,F,H]),j1=it(new Q4("LIST",l1.length,l1));x5("%cWriting the output file...",I1.info);let U1=St([new J5([115,102,98,107]),l,x,j1]),c2=it(new Q4("RIFF",U1.length,U1));return x5(`%cSaved succesfully! Final file size: %c${c2.length}`,I1.info,I1.recognized),ue(),c2}var Up=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,a){return this.generators.find(l=>l.generatorType===i)?.generatorValue??a}};var k7=class extends Up{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ya=class extends Up{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var l_=new Set([u0.velRange,u0.keyRange,u0.instrument,u0.exclusiveClass,u0.endOper,u0.sampleModes,u0.startloopAddrsOffset,u0.startloopAddrsCoarseOffset,u0.endloopAddrsOffset,u0.endloopAddrsCoarseOffset,u0.startAddrsOffset,u0.startAddrsCoarseOffset,u0.endAddrOffset,u0.endAddrsCoarseOffset,u0.initialAttenuation,u0.fineTune,u0.coarseTune,u0.keyNumToVolEnvHold,u0.keyNumToVolEnvDecay,u0.keyNumToModEnvHold,u0.keyNumToModEnvDecay]);function ik(n,i=!0){function a(w,U){w.push(...U.filter(P=>!w.find(F0=>F0.generatorType===P.generatorType)))}function l(w,U){return{min:Math.max(w.min,U.min),max:Math.min(w.max,U.max)}}function u(w,U){w.push(...U.filter(P=>!w.find(F0=>le.isIdentical(P,F0))))}let m=[],x=[],H=[],F={min:0,max:127},T={min:0,max:127},S0=n.presetZones.find(w=>w.isGlobal);S0&&(x.push(...S0.generators),H.push(...S0.modulators),F=S0.keyRange,T=S0.velRange);for(let w of n.presetZones){if(w.isGlobal)continue;let U=w.keyRange;w.hasKeyRange||(U=F);let P=w.velRange;w.hasVelRange||(P=T);let F0=w.generators.map(a0=>new q3(a0.generatorType,a0.generatorValue));a(F0,x);let m1=[...w.modulators];u(m1,H);let l1=w.instrument.instrumentZones,j1=[],U1=[],c2={min:0,max:127},P2={min:0,max:127},L2=l1.find(a0=>a0.isGlobal);L2&&(j1.push(...L2.generators),U1.push(...L2.modulators),c2=L2.keyRange,P2=L2.velRange);for(let a0 of l1){if(a0.isGlobal)continue;let g5=a0.keyRange;a0.hasKeyRange||(g5=c2);let p3=a0.velRange;if(a0.hasVelRange||(p3=P2),g5=l(g5,U),p3=l(p3,P),g5.maxnew q3(E3.generatorType,E3.generatorValue));a(k3,j1);let u6=[...a0.modulators];u(u6,U1);let S3=[...u6];for(let E3 of m1){let p6=S3.findIndex(w4=>le.isIdentical(E3,w4));p6!==-1?S3[p6]=S3[p6].sumTransform(E3):S3.push(E3)}let ce=k3.map(E3=>new q3(E3.generatorType,E3.generatorValue));for(let E3 of F0){if(E3.generatorType===u0.velRange||E3.generatorType===u0.keyRange||E3.generatorType===u0.instrument||E3.generatorType===u0.endOper||E3.generatorType===u0.sampleModes)continue;let p6=k3.findIndex(w4=>w4.generatorType===E3.generatorType);if(p6!==-1){let w4=ce[p6].generatorValue+E3.generatorValue;ce[p6]=new q3(E3.generatorType,w4)}else{let w4=W6[E3.generatorType].def+E3.generatorValue;ce.push(new q3(E3.generatorType,w4))}}ce=ce.filter(E3=>E3.generatorType!==u0.sampleID&&E3.generatorType!==u0.keyRange&&E3.generatorType!==u0.velRange&&E3.generatorType!==u0.endOper&&E3.generatorType!==u0.instrument&&E3.generatorValue!==W6[E3.generatorType].def);let Ne=new k7;Ne.keyRange=g5,Ne.velRange=p3,Ne.keyRange.min===0&&Ne.keyRange.max===127&&(Ne.keyRange.min=-1),Ne.velRange.min===0&&Ne.velRange.max===127&&(Ne.velRange.min=-1),Ne.isGlobal=!1,Ne.sample=a0.sample,Ne.generators=ce,Ne.modulators=S3,m.push(Ne)}}if(i){let w=new k7;w.isGlobal=!0;for(let F0=0;F0<58;F0++){if(l_.has(F0))continue;let m1={},l1=W6[F0]?.def||0;m1[l1]=0;for(let j1 of m){let U1=j1.generators.find(L2=>L2.generatorType===F0);if(U1){let L2=U1.generatorValue;m1[L2]===void 0?m1[L2]=1:m1[L2]++}else m1[l1]++;let c2;switch(F0){default:continue;case u0.decayVolEnv:c2=u0.keyNumToVolEnvDecay;break;case u0.holdVolEnv:c2=u0.keyNumToVolEnvHold;break;case u0.decayModEnv:c2=u0.keyNumToModEnvDecay;break;case u0.holdModEnv:c2=u0.keyNumToModEnvHold}if(j1.generators.find(L2=>L2.generatorType===c2)!==void 0){m1={};break}}if(Object.keys(m1).length>0){let j1=Object.entries(m1).reduce((c2,P2)=>c2[1]{let P2=c2.generators.findIndex(L2=>L2.generatorType===F0);P2!==-1?c2.generators[P2].generatorValue===U1&&c2.generators.splice(P2,1):U1!==l1&&c2.generators.push(new q3(F0,l1))})}}let P=m.find(F0=>!F0.isGlobal).modulators.map(F0=>le.copy(F0));for(let F0 of P){let m1=!0;for(let l1 of m){if(l1.isGlobal||!m1)continue;l1.modulators.find(U1=>le.isIdentical(U1,F0))||(m1=!1)}if(m1===!0){w.modulators.push(le.copy(F0));for(let l1 of m){let j1=l1.modulators.find(U1=>le.isIdentical(U1,F0));j1.transformAmount===F0.transformAmount&&l1.modulators.splice(l1.modulators.indexOf(j1),1)}}}m.splice(0,0,w)}return m}var rk=20;function iC(n,i,a,l,u,m,x){let H=x===0?0:1,F=new J5(rk+H*16);pe(F,rk),X3(F,i),X3(F,a);let T=l*.4,S0=Math.floor(T*-65536);pe(F,S0),pe(F,2);let w=m-u,U=0;switch(x){default:case 0:H=0;break;case 1:U=0,H=1;break;case 3:U=1,H=1}return pe(F,H),H===1&&(pe(F,16),pe(F,U),pe(F,u),pe(F,w)),v6("wsmp",F)}var m6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258},rC=new le({srcEnum:219,dest:u0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),nC=new le({srcEnum:221,dest:u0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),sC=new le({srcEnum:129,dest:u0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),oC=new le({srcEnum:13,dest:u0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var k5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Pp=class{source;control;destination;scale;transform;constructor(i,a,l,u,m){this.source=i,this.control=a,this.destination=l,this.scale=u,this.transform=m}writeArticulator(){let i=new J5(12);return X3(i,this.source),X3(i,this.control),X3(i,this.destination),X3(i,this.transform),pe(i,this.scale<<16),i}};function nk(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return m6.modulationWheel;case $3.mainVolume:return m6.volume;case $3.pan:return m6.pan;case $3.expressionController:return m6.expression;case $3.chorusDepth:return m6.chorus;case $3.reverbDepth:return m6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return m6.keyNum;case q4.noteOnVelocity:return m6.velocity;case q4.noController:return m6.none;case q4.polyPressure:return m6.polyPressure;case q4.channelPressure:return m6.channelPressure;case q4.pitchWheel:return m6.pitchWheel;case q4.pitchWheelRange:return m6.pitchWheelRange}}function sk(n,i){switch(n){default:return;case u0.initialAttenuation:return{dest:k5.gain,amount:-i};case u0.fineTune:return k5.pitch;case u0.pan:return k5.pan;case u0.keyNum:return k5.keyNum;case u0.reverbEffectsSend:return k5.reverbSend;case u0.chorusEffectsSend:return k5.chorusSend;case u0.freqModLFO:return k5.modLfoFreq;case u0.delayModLFO:return k5.modLfoDelay;case u0.delayVibLFO:return k5.vibLfoDelay;case u0.freqVibLFO:return k5.vibLfoFreq;case u0.delayVolEnv:return k5.volEnvDelay;case u0.attackVolEnv:return k5.volEnvAttack;case u0.holdVolEnv:return k5.volEnvHold;case u0.decayVolEnv:return k5.volEnvDecay;case u0.sustainVolEnv:return{dest:k5.volEnvSustain,amount:1e3-i};case u0.releaseVolEnv:return k5.volEnvRelease;case u0.delayModEnv:return k5.modEnvDelay;case u0.attackModEnv:return k5.modEnvAttack;case u0.holdModEnv:return k5.modEnvHold;case u0.decayModEnv:return k5.modEnvDecay;case u0.sustainModEnv:return{dest:k5.modEnvSustain,amount:1e3-i};case u0.releaseModEnv:return k5.modEnvRelease;case u0.initialFilterFc:return k5.filterCutoff;case u0.initialFilterQ:return k5.filterQ}}function ok(n,i){switch(n){default:return;case u0.modEnvToFilterFc:return{source:m6.modEnv,dest:k5.filterCutoff,amt:i,isBipolar:!1};case u0.modEnvToPitch:return{source:m6.modEnv,dest:k5.pitch,amt:i,isBipolar:!1};case u0.modLfoToFilterFc:return{source:m6.modLfo,dest:k5.filterCutoff,amt:i,isBipolar:!0};case u0.modLfoToVolume:return{source:m6.modLfo,dest:k5.gain,amt:i,isBipolar:!0};case u0.modLfoToPitch:return{source:m6.modLfo,dest:k5.pitch,amt:i,isBipolar:!0};case u0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:k5.pitch,amt:i,isBipolar:!0};case u0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:k5.volEnvHold,amt:i,isBipolar:!0};case u0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:k5.volEnvDecay,amt:i,isBipolar:!0};case u0.keyNumToModEnvHold:return{source:m6.keyNum,dest:k5.modEnvHold,amt:i,isBipolar:!0};case u0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:k5.modEnvDecay,amt:i,isBipolar:!0};case u0.scaleTuning:return{source:m6.keyNum,dest:k5.pitch,amt:i*128,isBipolar:!1}}}function ak(n){let i=sk(n.generatorType,n.generatorValue),a=i,l=0,u=n.generatorValue;i?.amount!==void 0&&(u=i.amount,a=i.dest);let m=ok(n.generatorType,n.generatorValue);if(m!==void 0)u=m.amt,a=m.dest,l=m.source;else if(a===void 0){me(`Invalid generator type: ${n.generatorType}`);return}return new Pp(l,0,a,u,0)}function Ak(n){if(n.transformType!==0){me("Other transform types are not supported.");return}let i=nk(n.sourceUsesCC,n.sourceIndex),a=n.sourceCurveType,l=n.sourcePolarity,u=n.sourceDirection;if(i===void 0){me(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===u0.initialAttenuation&&(u=u===1?0:1);let m=nk(n.secSrcUsesCC,n.secSrcIndex),x=n.secSrcCurveType,H=n.secSrcPolarity,F=n.secSrcDirection;if(m===void 0){me(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let T=sk(n.modulatorDestination,n.transformAmount),S0=T,w=n.transformAmount;T?.dest!==void 0&&(S0=T.dest,w=T.amount);let U=ok(n.modulatorDestination,n.transformAmount);if(U!==void 0)w=U.amt,m=i,x=a,H=l,F=u,a=j7.linear,l=U.isBipolar?1:0,u=0,i=U.source,S0=U.dest;else if(S0===void 0){me(`Invalid destination: ${n.modulatorDestination}`);return}let P=0;return P|=x<<4,P|=H<<8,P|=F<<9,P|=a,P|=l<<14,P|=u<<15,new Pp(i,m,S0,w,P)}var c_=new Set([u0.sampleModes,u0.initialAttenuation,u0.keyRange,u0.velRange,u0.sampleID,u0.fineTune,u0.coarseTune,u0.startAddrsOffset,u0.startAddrsCoarseOffset,u0.endAddrOffset,u0.endAddrsCoarseOffset,u0.startloopAddrsOffset,u0.startloopAddrsCoarseOffset,u0.endloopAddrsOffset,u0.endloopAddrsCoarseOffset,u0.overridingRootKey,u0.exclusiveClass]);function aC(n){for(let m=0;mF0.generatorType===H);if(F===void 0)continue;let T=x.generatorValue*-128,S0=60/128*T,w=F.generatorValue-S0,U=n.generators.indexOf(x),P=n.generators.indexOf(F);n.generators[P]=new q3(H,w,!1),n.generators[U]=new q3(x.generatorType,T,!1)}let i=n.generators.reduce((m,x)=>{if(c_.has(x.generatorType))return m;let H=ak(x);return H!==void 0?(m.push(H),x5("%cSucceeded converting to DLS Articulator!",I1.recognized)):me("Failed converting to DLS Articulator!"),m},[]),a=n.modulators.reduce((m,x)=>{if(le.isIdentical(x,nC,!0)||le.isIdentical(x,rC,!0)||le.isIdentical(x,sC,!0)||le.isIdentical(x,oC,!0))return m;let H=Ak(x);return H!==void 0?(m.push(H),x5("%cSucceeded converting to DLS Articulator!",I1.recognized)):me("Failed converting to DLS Articulator!"),m},[]);i.push(...a);let l=new J5(8);pe(l,8),pe(l,i.length);let u=i.map(m=>m.writeArticulator());return v6("art2",St([l,...u]))}function $k(n,i){let a=new J5(12);X3(a,Math.max(n.keyRange.min,0)),X3(a,n.keyRange.max),X3(a,Math.max(n.velRange.min,0)),X3(a,n.velRange.max),X3(a,0);let l=n.getGeneratorValue(u0.exclusiveClass,0);X3(a,l),X3(a,0);let u=v6("rgnh",a),m=n.getGeneratorValue(u0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(u0.scaleTuning,i.getGeneratorValue(u0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(m=n.keyRange.min);let H=iC(n.sample,m,n.getGeneratorValue(u0.fineTune,0)+n.getGeneratorValue(u0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(u0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(u0.startloopAddrsOffset,0)+n.getGeneratorValue(u0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(u0.endloopAddrsOffset,0)+n.getGeneratorValue(u0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(u0.sampleModes,0)),F=new J5(12);X3(F,0),X3(F,0),pe(F,1),pe(F,this.samples.indexOf(n.sample));let T=v6("wlnk",F),S0=new J5(0);if(n.modulators.length+n.generators.length>0){let w=aC(n);S0=v6("lar2",w,!1,!0)}return v6("rgn2",St([u,H,T,S0]),!1,!0)}function lk(n){Q8(`%cWriting %c${n.presetName}%c...`,I1.info,I1.recognized,I1.info);let i=ik(n),a=i.reduce((U,P)=>P.isGlobal?U:U+1,0),l=new J5(12);pe(l,a);let u=(n.bank&127)<<8;n.bank===128&&(u|=1<<31),pe(l,u),pe(l,n.program&127);let m=v6("insh",l),x=new J5(0),H=i.find(U=>U.isGlobal===!0);if(H){let U=aC(H);x=v6("lar2",U,!1,!0)}let F=St(i.reduce((U,P)=>(P.isGlobal||U.push($k.apply(this,[P,H])),U),[])),T=v6("lrgn",F,!1,!0),S0=v6("INAM",Tn(n.presetName)),w=v6("INFO",S0,!1,!0);return ue(),v6("ins ",St([m,T,x,w]),!1,!0)}function ck(){let n=St(this.presets.map(i=>lk.apply(this,[i])));return v6("lins",n,!1,!0)}function gk(n){let i=new J5(18);X3(i,1),X3(i,1),pe(i,n.sampleRate),pe(i,n.sampleRate*2),X3(i,2),X3(i,16);let a=v6("fmt ",i),l=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(l=0);let u=iC(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,l),m=n.getAudioData(),x;if(n.isCompressed){let T=new Int16Array(m.length);for(let S0=0;S0{let u=gk(l);return i.push(n),n+=u.length,u});return{data:v6("wvpl",St(a),!1,!0),indexes:i}}function hk(){Q8("%cSaving DLS...",I1.info);let n=new J5(4);pe(n,this.presets.length);let i=v6("colh",n);Q8("%cWriting instruments...",I1.info);let a=ck.apply(this);x5("%cSuccess!",I1.recognized),ue(),Q8("%cWriting WAVE samples...",I1.info);let l=uk.apply(this),u=l.data,m=l.indexes;x5("%cSucceeded!",I1.recognized),ue();let x=new J5(8+4*m.length);pe(x,8),pe(x,m.length);for(let w of m)pe(x,w);let H=v6("ptbl",x);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` +Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let F=[];for(let[w,U]of Object.entries(this.soundFontInfo))w!=="ICMT"&&w!=="INAM"&&w!=="ICRD"&&w!=="IENG"&&w!=="ICOP"&&w!=="ISFT"&&w!=="ISBJ"||F.push(v6(w,Tn(U),!0));let T=v6("INFO",St(F),!1,!0),S0=new J5(i.length+a.length+H.length+u.length+T.length+4);return P8(S0,"DLS "),S0.set(St([i,a,H,u,T]),4),x5("%cSaved succesfully!",I1.recognized),ue(),v6("RIFF",S0)}var g_=48e3,za=class{constructor(i,a,l,u,m,x,H,F){this.sampleName=i,this.sampleRate=a,this.samplePitch=l,this.samplePitchCorrection=u,this.sampleLink=m,this.sampleType=x,this.sampleLoopStartIndex=H,this.sampleLoopEndIndex=F,this.isCompressed=(x&16)>0,this.compressedData=void 0,this.useCount=0,this.sampleData=void 0}getRawData(){let i=new Uint8Array(this.sampleData.length*2);for(let a=0;a>8&255}return i}resampleData(i){let a=this.getAudioData(),l=i/this.sampleRate,u=new Float32Array(Math.floor(a.length*l));for(let m=0;m96e3)&&(this.resampleData(g_),l=this.getAudioData()),this.compressedData=a([l],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{me(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=239}}getAudioData(){return this.sampleData}};var Ka=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var Ja=class{constructor(i){this.presetName="",this.program=0,this.bank=0,this.presetZones=[],this.sampleIDOffset=0,this.foundSamplesAndGenerators=[];for(let a=0;a<128;a++)this.foundSamplesAndGenerators[a]=[];this.library=0,this.genre=0,this.morphology=0,this.defaultModulators=i}deletePreset(){this.presetZones.forEach(i=>i.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,a){for(let l=i;l{m.sample.isSampleLoaded||m.sample.getAudioData()})}preloadSpecific(i,a){this.getSamplesAndGenerators(i,a).forEach(l=>{l.sample.isSampleLoaded||l.sample.getAudioData()})}getSamplesAndGenerators(i,a){let l=this.foundSamplesAndGenerators[i][a];if(l)return l;if(this.presetZones.length<1)return[];function u(P,F0){return F0>=P.min&&F0<=P.max}function m(P,F0){P.push(...F0.filter(m1=>!P.find(l1=>l1.generatorType===m1.generatorType)))}function x(P,F0){P.push(...F0.filter(m1=>!P.find(l1=>le.isIdentical(m1,l1))))}let H=[],F=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],T=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],S0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},w=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(P=>u(P.hasKeyRange?P.keyRange:S0,i)&&u(P.hasVelRange?P.velRange:w,a)&&!P.isGlobal).forEach(P=>{if(P.instrument.instrumentZones.length<1)return;let F0=P.generators,m1=P.modulators,l1=P.instrument.instrumentZones[0],j1=l1.isGlobal?[...l1.generators]:[],U1=l1.isGlobal?[...l1.modulators]:[],c2=l1.isGlobal?l1.keyRange:{min:0,max:127},P2=l1.isGlobal?l1.velRange:{min:0,max:127};P.instrument.instrumentZones.filter(a0=>u(a0.hasKeyRange?a0.keyRange:c2,i)&&u(a0.hasVelRange?a0.velRange:P2,a)&&!a0.isGlobal).forEach(a0=>{let g5=[...a0.generators],p3=[...a0.modulators];m(F0,F),m(g5,j1),x(m1,T),x(p3,U1),x(p3,this.defaultModulators);let k3=[...p3];for(let u6=0;u6le.isIdentical(S3,Ne));ce!==-1?k3[ce]=k3[ce].sumTransform(S3):k3.push(S3)}H.push({instrumentGenerators:g5,presetGenerators:F0,modulators:k3,sample:a0.sample,sampleID:a0.generators.find(u6=>u6.generatorType===u0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][a]=H,H}};var Wa=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=DE.map(a=>le.copy(a)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let a=i.shift(),l=a.presets;for(;i.length;)i.shift().presets.forEach(m=>{l.find(x=>x.bank===m.bank&&x.program===m.program)===void 0&&l.push(m)});return new n({presets:l,info:a.soundFontInfo})}static getDummySoundfontFile(){let i=new n,a=new za("Saw",44100,65,20,0,0,0,127);a.sampleData=new Float32Array(128);for(let T=0;T<128;T++)a.sampleData[T]=T/128*2-1;i.samples.push(a);let l=new k7;l.isGlobal=!0,l.generators.push(new q3(u0.initialAttenuation,375)),l.generators.push(new q3(u0.releaseVolEnv,-1e3)),l.generators.push(new q3(u0.sampleModes,1));let u=new k7;u.sample=a;let m=new k7;m.sample=a,m.generators.push(new q3(u0.fineTune,-9));let x=new Ka;x.instrumentName="Saw Wave",x.instrumentZones.push(l),x.instrumentZones.push(u),x.instrumentZones.push(m),i.instruments.push(x);let H=new Ya;H.instrument=x;let F=new Ja(i.defaultModulators);return F.presetName="Saw Wave",F.presetZones.push(H),i.presets.push(F),i.soundFontInfo.ifil="2.1",i.soundFontInfo.isng="EMU8000",i.soundFontInfo.INAM="Dummy",i.write().buffer}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(a=>{a.isGlobal||a.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(a=>a.sampleIDOffset=i)}getPresetNoFallback(i,a,l=!1){let u=this.presets.find(m=>m.bank===i&&m.program===a);if(u)return u;if(l!==!1)return i===128?this.presets.find(m=>m.bank===128):this.presets.find(m=>m.program===a)}getPreset(i,a){let l=this.presets.find(u=>u.bank===i&&u.program===a);return l||(i===128?(l=this.presets.find(u=>u.bank===128&&u.program===a),l||(l=this.presets.find(u=>u.bank===128))):l=this.presets.find(u=>u.program===a&&u.bank!==128),l&&me(`%cPreset ${i}.${a} not found. Replaced with %c${l.presetName} (${l.bank}.${l.program})`,I1.warn,I1.recognized)),l||(me(`Preset ${a} not found. Defaulting to`,this.presets[0].presetName),l=this.presets[0]),l}getPresetByName(i){let a=this.presets.find(l=>l.presetName===i);return a||(me("Preset not found. Defaulting to:",this.presets[0].presetName),a=this.presets[0]),a}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Wa.prototype.write=tk;Wa.prototype.writeDLS=hk;function dk(n){Q8("%cLoading instruments...",I1.info);for(let i=0;i>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Ka,this.DLSInstrument.addUseCount();let u=new Ya;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function fk(n){this.verifyHeader(n,"LIST"),this.verifyText(y4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(B9(n.chunkData));let a=i.find(P=>P.header==="insh");if(!a)throw ue(),new Error("No instrument header!");let l=o3(a.chunkData,4),u=o3(a.chunkData,4),m=o3(a.chunkData,4),x=new AC(u,m),H="unnamedPreset",F=G7(i,"INFO");if(F){let P=B9(F.chunkData);for(;P.header!=="INAM";)P=B9(F.chunkData);H=y4(P.chunkData,P.chunkData.length).trim()}x.presetName=H,x.DLSInstrument.instrumentName=H,F7(`%cParsing %c"${H}"%c...`,I1.info,I1.recognized,I1.info);let T=G7(i,"lrgn");if(!T)throw ue(),new Error("No region list!");let S0=new k7;S0.isGlobal=!0;let w=G7(i,"lart"),U=G7(i,"lar2");(U!==void 0||w!==void 0)&&this.readLart(w,U,S0),S0.generators=S0.generators.filter(P=>P.generatorValue!==W6[P.generatorType].def),S0.modulators.find(P=>P.modulatorDestination===u0.reverbEffectsSend)===void 0&&S0.modulators.push(le.copy(rC)),S0.modulators.find(P=>P.modulatorDestination===u0.chorusEffectsSend)===void 0&&S0.modulators.push(le.copy(nC)),x.DLSInstrument.instrumentZones.push(S0);for(let P=0;P>10&15;U1===j7.linear&&j1!==j7.linear&&(U1=j1);let c2=l>>14&1,P2=l>>15&1;x===u0.initialAttenuation&&u<0&&(P2=1),U=Jr(U1,c2,P2,H.isCC,H.enum)}let P=l>>4&15,F0=l>>8&1,m1=l>>9&1,l1=Jr(P,F0,m1,w.isCC,w.enum);if(F){let j1=l1;l1=U,U=j1}return new le({srcEnum:U,secSrcEnum:l1,dest:x,transform:0,amt:S0})}function cB(n,i){let a=n.chunkData,l=[],u=[];o3(a,4);let m=o3(a,4);for(let x=0;x>16;if(H===0&&F===0&&S0===0){let P;switch(T){case k5.pan:P=new q3(u0.pan,U);break;case k5.gain:P=new q3(u0.initialAttenuation,-U*10/.4);break;case k5.filterCutoff:P=new q3(u0.initialFilterFc,U);break;case k5.filterQ:P=new q3(u0.initialFilterQ,U);break;case k5.modLfoFreq:P=new q3(u0.freqModLFO,U);break;case k5.modLfoDelay:P=new q3(u0.delayModLFO,U);break;case k5.vibLfoFreq:P=new q3(u0.freqVibLFO,U);break;case k5.vibLfoDelay:P=new q3(u0.delayVibLFO,U);break;case k5.volEnvDelay:P=new q3(u0.delayVolEnv,U);break;case k5.volEnvAttack:P=new q3(u0.attackVolEnv,U);break;case k5.volEnvHold:P=new q3(u0.holdVolEnv,U,!1);break;case k5.volEnvDecay:P=new q3(u0.decayVolEnv,U,!1);break;case k5.volEnvRelease:P=new q3(u0.releaseVolEnv,U);break;case k5.volEnvSustain:let F0=1e3-U;P=new q3(u0.sustainVolEnv,F0);break;case k5.modEnvDelay:P=new q3(u0.delayModEnv,U);break;case k5.modEnvAttack:P=new q3(u0.attackModEnv,U);break;case k5.modEnvHold:P=new q3(u0.holdModEnv,U,!1);break;case k5.modEnvDecay:P=new q3(u0.decayModEnv,U,!1);break;case k5.modEnvRelease:P=new q3(u0.releaseModEnv,U);break;case k5.modEnvSustain:let m1=1e3-U;P=new q3(u0.sustainModEnv,m1);break;case k5.reverbSend:P=new q3(u0.reverbEffectsSend,U);break;case k5.chorusSend:P=new q3(u0.chorusEffectsSend,U);break;case k5.pitch:let l1=Math.floor(U/100),j1=Math.floor(U-l1*100);P=new q3(u0.fineTune,j1),l.push(new q3(u0.coarseTune,l1));break}P&&l.push(P)}else{let P=!0;if(F===m6.none)if(H===m6.modLfo&&T===k5.pitch)l.push(new q3(u0.modLfoToPitch,U));else if(H===m6.modLfo&&T===k5.gain)l.push(new q3(u0.modLfoToVolume,U));else if(H===m6.modLfo&&T===k5.filterCutoff)l.push(new q3(u0.modLfoToFilterFc,U));else if(H===m6.vibratoLfo&&T===k5.pitch)l.push(new q3(u0.vibLfoToPitch,U));else if(H===m6.modEnv&&T===k5.pitch)l.push(new q3(u0.modEnvToPitch,U));else if(H===m6.modEnv&&T===k5.filterCutoff)l.push(new q3(u0.modEnvToFilterFc,U));else if(H===m6.keyNum&&T===k5.pitch)l.push(new q3(u0.scaleTuning,U/128));else if(H===m6.keyNum&&T===k5.volEnvHold){l.push(new q3(u0.keyNumToVolEnvHold,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.holdVolEnv&&(m1.generatorValue+=F0)})}else if(H===m6.keyNum&&T===k5.volEnvDecay){l.push(new q3(u0.keyNumToVolEnvDecay,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.decayVolEnv&&(m1.generatorValue+=F0)})}else if(H===m6.keyNum&&T===k5.modEnvHold){l.push(new q3(u0.keyNumToModEnvHold,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.holdModEnv&&(m1.generatorValue+=F0)})}else if(H===m6.keyNum&&T===k5.modEnvDecay){l.push(new q3(u0.keyNumToModEnvDecay,U/-128));let F0=Math.round(60/128*U);l.forEach(m1=>{m1.generatorType===u0.decayModEnv&&(m1.generatorValue+=F0)})}else P=!1;else P=!1;if(P===!1){let F0=mk(H,F,T,S0,U);F0?(u.push(F0),x5("%cSucceeded converting to SF2 Modulator!",I1.recognized)):me("Failed converting to SF2 Modulator!")}}}return i&&u.push(le.copy(sC),le.copy(oC)),{modulators:u,generators:l}}function pk(n,i,a){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(B9(n.chunkData));let a=i.find(p3=>p3.header==="rgnh"),l=o3(a.chunkData,2),u=o3(a.chunkData,2),m=o3(a.chunkData,2),x=o3(a.chunkData,2),H=new $C({min:l,max:u},{min:m,max:x});o3(a.chunkData,2);let F=o3(a.chunkData,2);F!==0&&H.generators.push(new q3(u0.exclusiveClass,F));let T=G7(i,"lart"),S0=G7(i,"lar2");this.readLart(T,S0,H),H.isGlobal=!1;let w=i.find(p3=>p3.header==="wsmp");o3(w.chunkData,4);let U=o3(w.chunkData,2),P=Ua(w.chunkData[w.chunkData.currentIndex++],w.chunkData[w.chunkData.currentIndex++]),m1=(o3(w.chunkData,4)|0)/-655360;o3(w.chunkData,4);let l1=o3(w.chunkData,4),j1,U1={start:0,end:0};if(l1===0)j1=0;else{o3(w.chunkData,4),o3(w.chunkData,4)===0?j1=1:j1=3,U1.start=o3(w.chunkData,4);let k3=o3(w.chunkData,4);U1.end=U1.start+k3}let c2=i.find(p3=>p3.header==="wlnk");if(c2===void 0)return;o3(c2.chunkData,2),o3(c2.chunkData,2),o3(c2.chunkData,4);let P2=o3(c2.chunkData,4),L2=this.samples[P2];if(L2===void 0)throw new Error("Invalid sample ID!");let g5=(m1||L2.sampleDbAttenuation)*10/.4;return H.setWavesample(g5,j1,U1,U,L2,P2,P),H}var lC=class extends za{sampleDbAttenuation;sampleData;constructor(i,a,l,u,m,x,H,F){super(i,a,l,u,0,1,m,x),this.sampleData=H,this.sampleDbAttenuation=F}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}return super.getRawData()}};var Ck={PCM:1,ALAW:6};function d_(n,i){let a=Math.pow(2,i*8-1),l=Math.pow(2,i*8),u,m=!1;i===1?(u=255,m=!0):u=a;let x=n.size/i,H=new Float32Array(x);for(let F=0;F=a&&(T-=l),H[F]=T/u)}return H}function f_(n,i){let a=n.size/i,l=new Float32Array(a);for(let u=0;u>4,F=x&15;H>0&&(F+=16),F=(F<<4)+8,H>1&&(F=F<127?F:-F;l[u]=T/32678}return l}function Bk(n){Q8("%cLoading Wave samples...",I1.recognized);let i=0;for(;n.chunkData.currentIndexL2.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");let m=o3(u.chunkData,2),x=o3(u.chunkData,2);if(x!==1)throw new Error(`Only mono samples are supported. Fmt reports ${x} channels`);let H=o3(u.chunkData,4);o3(u.chunkData,4),o3(u.chunkData,2);let T=o3(u.chunkData,2)/8,S0=!1,w=l.find(L2=>L2.header==="data");w||this.parsingError("No data chunk in the WAVE chunk!");let U;switch(m){default:S0=!0,U=new Float32Array(w.size/T);break;case Ck.PCM:U=d_(w,T);break;case Ck.ALAW:U=f_(w,T);break}let P=G7(l,"INFO"),F0=`Unnamed ${i}`;if(P){let L2=B9(P.chunkData);for(;L2.header!=="INAM"&&P.chunkData.currentIndexL2.header==="wsmp");if(P2){o3(P2.chunkData,4),m1=o3(P2.chunkData,2),l1=Ua(P2.chunkData[P2.chunkData.currentIndex++],P2.chunkData[P2.chunkData.currentIndex++]);let L2=Math.trunc(l1/100);if(m1+=L2,l1-=L2*100,c2=(o3(P2.chunkData,4)|0)/-655360,o3(P2.chunkData,4),o3(P2.chunkData,4)===1){o3(P2.chunkData,8),j1=o3(P2.chunkData,4);let p3=o3(P2.chunkData,4);U1=j1+p3}}else me("No wsmp chunk in wave... using sane defaults.");S0&&console.error(`Failed to load '${F0}': Unsupported format: (${m})`),this.samples.push(new lC(F0,H,m1,l1,j1,U1,U,c2)),i++,x5(`%cLoaded sample %c${F0}`,I1.info,I1.recognized)}ue()}var qs=class extends Wa{constructor(i){super(),this.dataArray=new J5(i),F7("%cParsing DLS...",I1.info),this.dataArray||(ue(),this.parsingError("No data provided!"));let a=B9(this.dataArray,!1);this.verifyHeader(a,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let l=[];for(;this.dataArray.currentIndexT.header==="colh");I||(ue(),this.parsingError("No colh chunk!")),this.instrumentAmount=o3(I.chunkData,4),x5(`%cInstruments amount: %c${this.instrumentAmount}`,I1.info,I1.recognized);let x=G7(l,"wvpl");x||(ue(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(x);let V=G7(l,"lins");V||(ue(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(V),this.presets.sort((T,N)=>T.program-N.program+(T.bank-N.bank)),x5(`%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.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info),ue()}verifyHeader(i,a){i.header.toLowerCase()!==a.toLowerCase()&&(ue(),this.parsingError(`Invalid DLS chunk header! Expected "${a.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,a){i.toLowerCase()!==a.toLowerCase()&&(ue(),this.parsingError(`FourCC error: Expected "${a.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};qs.prototype.readDLSInstrumentList=dk;qs.prototype.readDLSInstrument=fk;qs.prototype.readRegion=Ek;qs.prototype.readLart=pk;qs.prototype.readDLSSamples=Bk;var Za=Za!==void 0?Za:{},yk=!1,Qk;Za.isInitialized=new Promise(n=>Qk=n);var I_=function(n){var i,a,l,u,I,x,V,T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",N="",b0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=T.indexOf(n.charAt(b0++)),I=T.indexOf(n.charAt(b0++)),x=T.indexOf(n.charAt(b0++)),V=T.indexOf(n.charAt(b0++)),i=u<<2|I>>4,a=(15&I)<<4|x>>2,l=(3&x)<<6|V,N+=String.fromCharCode(i),x!==64&&(N+=String.fromCharCode(a)),V!==64&&(N+=String.fromCharCode(l));while(b01&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(T0){if(!(T0 instanceof X$))throw T0}),process.on("unhandledRejection",function(T0,i1){process.exit(1)}),a0.quit=function(T0){process.exit(T0)},a0.inspect=function(){return"[Emscripten Module object]"}):S3?(typeof read<"u"&&(a0.read=function(i1){return read(i1)}),a0.readBinary=function(i1){var w1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(i1)):(Qr(typeof(w1=read(i1,"binary"))=="object"),w1)},typeof scriptArgs<"u"?a0.arguments=scriptArgs:typeof arguments<"u"&&(a0.arguments=arguments),typeof quit=="function"&&(a0.quit=function(T0){quit(T0)})):(p3||k3)&&(p3?document.currentScript&&(ce=document.currentScript.src):ce=self.location.href,ce=ce.indexOf("blob:")!==0?ce.split("/").slice(0,-1).join("/")+"/":"",a0.read=function(i1){var w1=new XMLHttpRequest;return w1.open("GET",i1,!1),w1.send(null),w1.responseText},k3&&(a0.readBinary=function(i1){var w1=new XMLHttpRequest;return w1.open("GET",i1,!1),w1.responseType="arraybuffer",w1.send(null),new Uint8Array(w1.response)}),a0.readAsync=function(i1,w1,_2){var i6=new XMLHttpRequest;i6.open("GET",i1,!0),i6.responseType="arraybuffer",i6.onload=function(){if(i6.status==200||i6.status==0&&i6.response){w1(i6.response);return}_2()},i6.onerror=_2,i6.send(null)},a0.setWindowTitle=function(T0){document.title=T0});var E3=a0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),p6=a0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||E3);for(n in g5)g5.hasOwnProperty(n)&&(a0[n]=g5[n]);function w4(T0){var i1=P;return P=P+T0+15&-16,i1}function er(T0){var i1=T[c2>>2],w1=i1+T0+15&-16;return T[c2>>2]=w1,w1>=Ge&&!jr()?(T[c2>>2]=i1,0):i1}function q8(T0,i1){return i1||(i1=16),T0=Math.ceil(T0/i1)*i1}function ja(T0){switch(T0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(T0[T0.length-1]==="*")return 4;if(T0[0]!=="i")return 0;var i1=parseInt(T0.substr(1));return Qr(i1%8==0),i1/8}}function yr(T0){yr.shown||(yr.shown={}),yr.shown[T0]||(yr.shown[T0]=1,p6(T0))}g5=void 0;var Xa={"f64-rem":function(T0,i1){return T0%i1},debugger:function(){}},G$=[];function dC(T0,i1){for(var w1=0,_2=w1;_2>>0)+4294967296*+(i1>>>0):+(T0>>>0)+4294967296*+(0|i1)}function U$(T0,i1,w1){return w1&&w1.length?a0["dynCall_"+T0].apply(null,[i1].concat(w1)):a0["dynCall_"+T0].call(null,i1)}var eA=0,vu=0;function Qr(T0,i1){T0||tr("Assertion failed: "+i1)}function tA(T0){var i1=a0["_"+T0];return Qr(i1,"Cannot call unknown function "+T0+", make sure it is exported"),i1}var Op={stackSave:function(){Zp()},stackRestore:function(){j$()},arrayToC:function(T0){var i1,w1,_2=iA(T0.length);return i1=T0,w1=_2,u.set(i1,w1),_2},stringToC:function(T0){var i1=0;if(T0!=null&&T0!==0){var w1=(T0.length<<2)+1;i1=iA(w1),Hp(T0,i1,w1)}return i1}},Vs={string:Op.stringToC,array:Op.arrayToC};function ku(T0,i1,w1,_2,i6){var Ee=tA(T0),e9=[],E6=0;if(_2)for(var v8=0;v8<_2.length;v8++){var H4=Vs[w1[v8]];H4?(E6===0&&(E6=Zp()),e9[v8]=H4(_2[v8])):e9[v8]=_2[v8]}var rt,M4=Ee.apply(null,e9);return M4=(rt=M4,i1==="string"?O$(rt):i1==="boolean"?!!rt:rt),E6!==0&&j$(E6),M4}function H3(T0,i1,w1,_2){switch((w1=w1||"i8").charAt(w1.length-1)==="*"&&(w1="i32"),w1){case"i1":case"i8":u[T0>>0]=i1;break;case"i16":x[T0>>1]=i1;break;case"i32":T[T0>>2]=i1;break;case"i64":tempI64=[i1>>>0,+Du(tempDouble=i1)>=1?tempDouble>0?(0|xu(+_u(tempDouble/4294967296),4294967295))>>>0:~~+W$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],T[T0>>2]=tempI64[0],T[T0+4>>2]=tempI64[1];break;case"float":b0[T0>>2]=i1;break;case"double":w[T0>>3]=i1;break;default:tr("invalid type for setValue: "+w1)}}function B3(T0,i1,w1){switch((i1=i1||"i8").charAt(i1.length-1)==="*"&&(i1="i32"),i1){case"i1":case"i8":return u[T0>>0];case"i16":return x[T0>>1];case"i32":case"i64":return T[T0>>2];case"float":return b0[T0>>2];case"double":return w[T0>>3];default:tr("invalid type for getValue: "+i1)}return null}function QB(T0,i1,w1,_2){typeof T0=="number"?(Ee=!0,e9=T0):(Ee=!1,e9=T0.length);var i6=typeof i1=="string"?i1:null;if(E6=w1==4?_2:[typeof Zs=="function"?Zs:w4,iA,w4,er][w1===void 0?2:w1](Math.max(e9,i6?1:i1.length)),Ee){for(_2=E6,Qr((3&E6)==0),v8=E6+(-4&e9);_2>2]=0;for(v8=E6+e9;_2>0]=0;return E6}if(i6==="i8")return T0.subarray||T0.slice?I.set(T0,E6):I.set(new Uint8Array(T0),E6),E6;for(var Ee,e9,E6,v8,H4,rt,M4,Ce=0;Ce>0],(_2!=0||i1)&&(e9++,!i1||e9!=i1););i1||(i1=e9);var E6="";if(Ee<128){for(;i1>0;)i6=String.fromCharCode.apply(String,I.subarray(T0,T0+Math.min(i1,1024))),E6=E6?E6+i6:i6,T0+=1024,i1-=1024;return E6}return w1=T0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&qp)return qp.decode(H4.subarray(rt,M4));for(var Ce,Ui,O7,k8,Pi,q7,H7="";;){if(!(Ce=H4[rt++]))return H7;if(!(128&Ce)){H7+=String.fromCharCode(Ce);continue}if(Ui=63&H4[rt++],(224&Ce)==192){H7+=String.fromCharCode((31&Ce)<<6|Ui);continue}if(O7=63&H4[rt++],(240&Ce)==224?Ce=(15&Ce)<<12|Ui<<6|O7:(k8=63&H4[rt++],(248&Ce)==240?Ce=(7&Ce)<<18|Ui<<12|O7<<6|k8:(Pi=63&H4[rt++],Ce=(252&Ce)==248?(3&Ce)<<24|Ui<<18|O7<<12|k8<<6|Pi:(1&Ce)<<30|Ui<<24|O7<<18|k8<<12|Pi<<6|(q7=63&H4[rt++]))),Ce<65536)H7+=String.fromCharCode(Ce);else{var On=Ce-65536;H7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(I,w1)}function wB(T0){for(var i1="";;){var w1=u[T0++>>0];if(!w1)return i1;i1+=String.fromCharCode(w1)}}function Ys(T0,i1){return function(_2,i6,Ee){for(var e9=0;e9<_2.length;++e9)u[i6++>>0]=_2.charCodeAt(e9);Ee||(u[i6>>0]=0)}(T0,i1,!1)}var qp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(T0,i1,w1,_2){if(!(_2>0))return 0;for(var i6=w1,Ee=w1+_2-1,e9=0;e9=55296&&E6<=57343&&(E6=65536+((1023&E6)<<10)|1023&T0.charCodeAt(++e9)),E6<=127){if(w1>=Ee)break;i1[w1++]=E6}else if(E6<=2047){if(w1+1>=Ee)break;i1[w1++]=192|E6>>6,i1[w1++]=128|63&E6}else if(E6<=65535){if(w1+2>=Ee)break;i1[w1++]=224|E6>>12,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=2097151){if(w1+3>=Ee)break;i1[w1++]=240|E6>>18,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=67108863){if(w1+4>=Ee)break;i1[w1++]=248|E6>>24,i1[w1++]=128|E6>>18&63,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else{if(w1+5>=Ee)break;i1[w1++]=252|E6>>30,i1[w1++]=128|E6>>24&63,i1[w1++]=128|E6>>18&63,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}}return i1[w1]=0,w1-i6}function Hp(T0,i1,w1){return Un(T0,I,i1,w1)}function zs(T0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&T0.charCodeAt(++w1)),_2<=127?++i1:_2<=2047?i1+=2:_2<=65535?i1+=3:_2<=2097151?i1+=4:_2<=67108863?i1+=5:i1+=6}return i1}var Vp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function vB(T0){for(var i1=T0,w1=i1>>1;x[w1];)++w1;if((i1=w1<<1)-T0>32&&Vp)return Vp.decode(I.subarray(T0,i1));for(var _2=0,i6="";;){var Ee=x[T0+2*_2>>1];if(Ee==0)return i6;++_2,i6+=String.fromCharCode(Ee)}}function kB(T0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<2)return 0;for(var _2=i1,i6=(w1-=2)<2*T0.length?w1/2:T0.length,Ee=0;Ee>1]=e9,i1+=2}return x[i1>>1]=0,i1-_2}function SB(T0){return 2*T0.length}function bB(T0){for(var i1=0,w1="";;){var _2=T[T0+4*i1>>2];if(_2==0)return w1;if(++i1,_2>=65536){var i6=_2-65536;w1+=String.fromCharCode(55296|i6>>10,56320|1023&i6)}else w1+=String.fromCharCode(_2)}}function DB(T0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<4)return 0;for(var _2=i1,i6=_2+w1-4,Ee=0;Ee=55296&&e9<=57343&&(e9=65536+((1023&e9)<<10)|1023&T0.charCodeAt(++Ee)),T[i1>>2]=e9,(i1+=4)+4>i6)break}return T[i1>>2]=0,i1-_2}function _B(T0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&++w1,i1+=4}return i1}function xB(T0){var i1=zs(T0)+1,w1=Zs(i1);return w1&&Un(T0,u,w1,i1),w1}function LB(T0){var i1=zs(T0)+1,w1=iA(i1);return Un(T0,u,w1,i1),w1}function Yp(T0){return T0}function mC(){var T0,i1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(i6){_2=i6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return a0.extraStackTrace&&(i1+=` -`+a0.extraStackTrace()),(T0=i1).replace(/__Z[\w\d_]+/g,function(w1){var _2,i6=_2=w1;return w1===i6?w1:w1+" ["+i6+"]"})}function Su(T0,i1){return T0%i1>0&&(T0+=i1-T0%i1),T0}function zp(T0){a0.buffer=l=T0}function Xe(){a0.HEAP8=u=new Int8Array(l),a0.HEAP16=x=new Int16Array(l),a0.HEAP32=T=new Int32Array(l),a0.HEAPU8=I=new Uint8Array(l),a0.HEAPU16=V=new Uint16Array(l),a0.HEAPU32=N=new Uint32Array(l),a0.HEAPF32=b0=new Float32Array(l),a0.HEAPF64=w=new Float64Array(l)}function jr(){var T0=a0.usingWasm?65536:16777216,i1=2147483648-T0;if(T[c2>>2]>i1)return!1;var w1=Ge;for(Ge=Math.max(Ge,16777216);Ge>2];)Ge=Ge<=536870912?Su(2*Ge,T0):Math.min(Su((3*Ge+2147483648)/4,T0),i1);var _2=a0.reallocBuffer(Ge);return _2&&_2.byteLength==Ge?(zp(_2),Xe(),!0):(Ge=w1,!1)}U=P=m1=l1=j1=U1=c2=0,F0=!1,a0.reallocBuffer||(a0.reallocBuffer=function(T0){try{if(ArrayBuffer.transfer)i1=ArrayBuffer.transfer(l,T0);else{var i1,w1=u;i1=new ArrayBuffer(T0),new Int8Array(i1).set(w1)}}catch{return!1}return!!CC(i1)&&i1});try{(P2=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{P2=function(i1){return i1.byteLength}}var q$=a0.TOTAL_STACK||5242880,Ge=a0.TOTAL_MEMORY||16777216;function H$(){return Ge}function Ks(T0){for(;T0.length>0;){var i1=T0.shift();if(typeof i1=="function"){i1();continue}var w1=i1.func;typeof w1=="number"?i1.arg===void 0?a0.dynCall_v(w1):a0.dynCall_vi(w1,i1.arg):w1(i1.arg===void 0?null:i1.arg)}}Ge=0?T0:i1<=32?2*Math.abs(1<=_2&&(i1<=32||T0>_2)&&(T0=-2*_2+T0),T0}var Du=Math.abs,W$=Math.ceil,_u=Math.floor,xu=Math.min,Pn=0,Lu=null,Ws=null;function MB(T0){return T0}a0.preloadedImages={},a0.preloadedAudios={};var Wp="data:application/octet-stream;base64,";function Z$(T0){return String.prototype.startsWith?T0.startsWith(Wp):T0.indexOf(Wp)===0}(function(){var i1="main.wast",w1="main.wasm",_2="main.temp.asm.js";Z$(i1)||(i1=Ne(i1)),Z$(w1)||(w1=Ne(w1)),Z$(_2)||(_2=Ne(_2));var i6={global:null,env:null,asm2wasm:Xa,parent:a0},Ee=null;function e9(M4){return M4}function E6(){try{if(a0.wasmBinary)return new Uint8Array(a0.wasmBinary);if(a0.readBinary)return a0.readBinary(w1);throw"both async and sync fetching of the wasm failed"}catch(M4){tr(M4)}}a0.asmPreload=a0.asm;var v8=a0.reallocBuffer,H4=function(M4){M4=Su(M4,a0.usingWasm?65536:16777216);var Ce=a0.buffer.byteLength;if(a0.usingWasm)try{var Ui=a0.wasmMemory.grow((M4-Ce)/65536);return Ui!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(M4){return rt==="asmjs"?v8(M4):H4(M4)};var rt="";a0.asm=function(M4,Ce,Ui){var O7;if(!(Ce=O7=Ce).table){var k8,Pi=a0.wasmTableSize;Pi===void 0&&(Pi=1024);var q7=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?q7!==void 0?Ce.table=new WebAssembly.Table({initial:Pi,maximum:q7,element:"anyfunc"}):Ce.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):Ce.table=Array(Pi),a0.wasmTable=Ce.table}return Ce.memoryBase||(Ce.memoryBase=a0.STATIC_BASE),Ce.tableBase||(Ce.tableBase=0),k8=function(On,wr,jp){if(typeof WebAssembly!="object")return p6("no native wasm support detected"),!1;if(!(a0.wasmMemory instanceof WebAssembly.Memory))return p6("no native wasm Memory in use"),!1;function Mu(vr,ir){if((Ee=vr.exports).memory){var rA,js,Xs;rA=Ee.memory,js=a0.buffer,rA.byteLength0?w1:zs(T0)+1,i6=Array(_2),Ee=Un(T0,i6,0,i6.length);return i1&&(i6.length=Ee),i6}function EC(T0){for(var i1=[],w1=0;w1255&&(_2&=255),i1.push(String.fromCharCode(_2))}return i1.join("")}P+=16,c2=w4(4),j1=(m1=l1=q8(P))+q$,U1=q8(j1),T[c2>>2]=U1,F0=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:tr,assert:Qr,enlargeMemory:jr,getTotalMemory:H$,abortOnCannotGrowMemory:function(){tr("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ge+", (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(i1,w1,_2){var i6=Zp();try{return a0.dynCall_iii(i1,w1,_2)}catch(Ee){if(j$(i6),typeof Ee!="number"&&Ee!=="longjmp")throw Ee;a0.setThrew(1,0)}},___assert_fail:function(i1,w1,_2,i6){tr("Assertion failed: "+O$(i1)+", at: "+[w1?O$(w1):"unknown filename",_2,i6?O$(i6):"unknown function"])},___setErrNo:function(i1){return a0.___errno_location&&(T[a0.___errno_location()>>2]=i1),i1},_abort:function(){a0.abort()},_emscripten_memcpy_big:function(i1,w1,_2){return I.set(I.subarray(w1,w1+_2),i1),i1},_llvm_floor_f64:_u,DYNAMICTOP_PTR:c2,tempDoublePtr:Gi,ABORT:eA,STACKTOP:l1,STACK_MAX:j1};var tn=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,l);a0.asm=tn,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var CC=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 Zs=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 iA=a0.stackAlloc=function(){return a0.asm.stackAlloc.apply(null,arguments)},j$=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},Zp=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function X$(T0){this.name="ExitStatus",this.message="Program terminated with exit("+T0+")",this.status=T0}function el(T0){T0=T0||a0.arguments,!(Pn>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)pC(a0.preRun.shift());Ks(Xr)}(),!(Pn>0)&&(a0.calledRun||(a0.setStatus?(a0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a0.setStatus("")},1),i1()},1)):i1())));function i1(){!a0.calledRun&&(a0.calledRun=!0,eA||(z$||(z$=!0,Ks(V$)),Ks(bu),a0.onRuntimeInitialized&&a0.onRuntimeInitialized(),function(){if(a0.postRun)for(typeof a0.postRun=="function"&&(a0.postRun=[a0.postRun]);a0.postRun.length;)P7(a0.postRun.shift());Ks(Y$)}()))}}function BC(T0,i1){(!i1||!a0.noExitRuntime||T0!==0)&&(a0.noExitRuntime||(eA=!0,vu=T0,l1=L2,Ks(S7),U7=!0,a0.onExit&&a0.onExit(T0)),a0.quit(T0,new X$(T0)))}function tr(T0){throw a0.onAbort&&a0.onAbort(T0),T0!==void 0?(E3(T0),p6(T0),T0=JSON.stringify(T0)):T0="",eA=!0,vu=1,"abort("+T0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=tn,a0.ccall=ku,a0.cwrap=function(i1,w1,_2,i6){var Ee=(_2=_2||[]).every(function(e9){return e9==="number"});return w1!=="string"&&Ee&&!i6?tA(i1):function(){return ku(i1,w1,_2,arguments,i6)}},X$.prototype=Error(),X$.prototype.constructor=X$,Ws=function T0(){a0.calledRun||el(),a0.calledRun||(Ws=T0)},a0.run=el,a0.abort=tr,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,el(),a0.onRuntimeInitialized=()=>{yk=!0,Qk()},Za.decode=function(T0){return function(w1){if(!yk)throw Error("Not initialized");var _2={};function i6(wr){return new Int32Array(a0.HEAPU8.buffer,wr,1)[0]}function Ee(wr,jp){var Mu=new ArrayBuffer(jp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Mu);return bt.set(new Float32Array(a0.HEAPU8.buffer,wr,jp)),bt}_2.open=a0.cwrap("stb_vorbis_js_open","number",[]),_2.close=a0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=a0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=a0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=a0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var e9,E6,v8,H4,rt=_2.open(),M4=(e9=w1,E6=w1.byteLength,v8=a0._malloc(E6),(H4=new Uint8Array(a0.HEAPU8.buffer,v8,E6)).set(new Uint8Array(e9,0,E6)),H4),Ce=a0._malloc(4),Ui=a0._malloc(4),O7=_2.decode(rt,M4.byteOffset,M4.byteLength,Ce,Ui);if(a0._free(M4.byteOffset),O7<0)throw _2.close(rt),a0._free(Ce),Error("stbvorbis decode failed: "+O7);for(var k8=_2.channels(rt),Pi=Array(k8),q7=new Int32Array(a0.HEAPU32.buffer,i6(Ce),k8),H7=0;H7n.chunkData.currentIndex;){let I=m_(u,n.chunkData,i,a);l.push(I),u++}return l.length>1&&l.pop(),l}function m_(n,i,a,l){let u=y4(i,20),I=o3(i,4)*2,x=o3(i,4)*2,V=o3(i,4),T=o3(i,4),N=o3(i,4),b0=i[i.currentIndex++];b0===255&&(b0=60);let w=OQ(i[i.currentIndex++]),U=o3(i,2),P=o3(i,2);return new gB(u,I,x,V,T,N,b0,w,U,P,a,n,l)}var uB=class extends q3{constructor(i){super();let a=i.currentIndex;this.generatorType=i[a+1]<<8|i[a],this.generatorValue=Ua(i[a+2],i[a+3]),i.currentIndex+=4}};function hB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new uB(n.chunkData));return i.length>1&&i.pop(),i}var dB=class extends Ka{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=o3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,a){this.instrumentZonesAmount=i;for(let l=this.instrumentZoneIndex;ln.chunkData.currentIndex;){let l=new dB(n);if(a.length>0){let u=l.instrumentZoneIndex-a[a.length-1].instrumentZoneIndex;a[a.length-1].getInstrumentZones(u,i)}a.push(l)}return a.length>1&&a.pop(),a}var fB=class extends k7{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,a){this.modulatorZoneSize=i,this.generatorZoneSize=a}getGenerators(i){for(let a=this.generatorZoneStartIndex;al.generatorType===u0.sampleID);a&&(this.sample=i[a.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(a=>a.generatorType===u0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(a=>a.generatorType===u0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function kk(n,i,a,l){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let I=new fB(n.chunkData);if(u.length>0){let x=I.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,V=I.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(x,V),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(a),u[u.length-1].getSample(l),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(I)}return u.length>1&&u.pop(),u}var IB=class extends Ya{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,a){this.modulatorZoneSize=i,this.generatorZoneSize=a}getGenerators(i){for(let a=this.generatorZoneStartIndex;al.generatorType===u0.instrument);a&&(this.instrument=i[a.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(a=>a.generatorType===u0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(a=>a.generatorType===u0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Sk(n,i,a,l){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let I=new IB(n.chunkData);if(u.length>0){let x=I.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,V=I.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(x,V),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(a),u[u.length-1].getInstrument(l),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(I)}return u.length>1&&u.pop(),u}var mB=class extends Ja{constructor(i,a){super(a),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(i.chunkData,2),this.bank=o3(i.chunkData,2),this.presetZoneStartIndex=o3(i.chunkData,2),this.library=o3(i.chunkData,4),this.genre=o3(i.chunkData,4),this.morphology=o3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,a){this.presetZonesAmount=i;for(let l=this.presetZoneStartIndex;ln.chunkData.currentIndex;){let u=new mB(n,a);if(l.length>0){let I=u.presetZoneStartIndex-l[l.length-1].presetZoneStartIndex;l[l.length-1].getPresetZones(I,i)}l.push(u)}return l.length>1&&l.pop(),l}var pB=class extends le{constructor(i){super({srcEnum:o3(i,2),dest:o3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:o3(i,2),transform:o3(i,2)})}};function cC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new pB(n.chunkData));return i}var gC=class extends Wa{constructor(i,a=!0){super(),a&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new J5(i),F7("%cParsing SoundFont...",I1.info),this.dataArray||(ue(),this.parsingError("No data provided!"));let l=B9(this.dataArray,!1);this.verifyHeader(l,"riff");let u=y4(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw ue(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let I=u==="sfpk",x=B9(this.dataArray);for(this.verifyHeader(x,"list"),y4(x.chunkData,4);x.chunkData.length>x.chunkData.currentIndex;){let u6=B9(x.chunkData),S3;switch(u6.header.toLowerCase()){case"ifil":case"iver":S3=`${o3(u6.chunkData,2)}.${o3(u6.chunkData,2)}`,this.soundFontInfo[u6.header]=S3;break;case"icmt":S3=y4(u6.chunkData,u6.chunkData.length,void 0,!1),this.soundFontInfo[u6.header]=S3;break;case"dmod":let ce=cC(u6);ce.pop(),S3=`Modulators: ${ce.length}`;let Ne=this.defaultModulators;this.defaultModulators=ce,this.defaultModulators.push(...Ne.filter(E3=>!this.defaultModulators.find(p6=>le.isIdentical(E3,p6)))),this.soundFontInfo[u6.header]=u6.chunkData;break;default:S3=y4(u6.chunkData,u6.chunkData.length),this.soundFontInfo[u6.header]=S3}x5(`%c"${u6.header}": %c"${S3}"`,I1.info,I1.recognized)}let V=B9(this.dataArray,!1);this.verifyHeader(V,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),x5("%cVerifying smpl chunk...",I1.warn);let T=B9(this.dataArray,!1);this.verifyHeader(T,"smpl");let N;if(I){x5("%cSF2Pack detected, attempting to decode the smpl chunk...",I1.info);try{N=Za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+V.size-12)).data[0]}catch(u6){throw ue(),new Error(`SF2Pack Ogg Vorbis decode error: ${u6}`)}x5(`%cDecoded the smpl chunk! Length: %c${N.length}`,I1.info,I1.value)}else N=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;x5(`%cSkipping sample chunk, length: %c${V.size-12}`,I1.info,I1.value),this.dataArray.currentIndex+=V.size-12,x5("%cLoading preset data chunk...",I1.warn);let b0=B9(this.dataArray);this.verifyHeader(b0,"list"),y4(b0.chunkData,4);let w=B9(b0.chunkData);this.verifyHeader(w,"phdr");let U=B9(b0.chunkData);this.verifyHeader(U,"pbag");let P=B9(b0.chunkData);this.verifyHeader(P,"pmod");let F0=B9(b0.chunkData);this.verifyHeader(F0,"pgen");let m1=B9(b0.chunkData);this.verifyHeader(m1,"inst");let l1=B9(b0.chunkData);this.verifyHeader(l1,"ibag");let j1=B9(b0.chunkData);this.verifyHeader(j1,"imod");let U1=B9(b0.chunkData);this.verifyHeader(U1,"igen");let c2=B9(b0.chunkData);this.verifyHeader(c2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...wk(c2,N,!I));let P2=hB(U1),L2=cC(j1),a0=kk(l1,P2,L2,this.samples);this.instruments=vk(m1,a0);let g5=hB(F0),p3=cC(P),k3=Sk(U,g5,p3,this.instruments);this.presets.push(...bk(w,k3,this.defaultModulators)),this.presets.sort((u6,S3)=>u6.program-S3.program+(u6.bank-S3.bank)),x5(`%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.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info),ue(),I&&delete this.dataArray}verifyHeader(i,a){i.header.toLowerCase()!==a.toLowerCase()&&(ue(),this.parsingError(`Invalid chunk header! Expected "${a.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,a){i.toLowerCase()!==a.toLowerCase()&&(ue(),this.parsingError(`Invalid FourCC: Expected "${a.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Hs(n){let i=n.slice(8,12),a=new J5(i);return y4(a,4,void 0,!1).toLowerCase()==="dls "?new qs(n):new gC(n,!1)}async function Dk(){let n="locale.exportAudio.formats.formats.soundfont.options.";e4(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let a=i.div.querySelector("input[trim-toggle='1']").checked,l=i.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(i.div.querySelector("input[type='range']").value)/10;_9(i.id),F7("%cExporting minified soundfont...",I1.info);let I=await this.seq.getMIDI(),x=Hs(I.embeddedSoundFont||this.soundFont);Pa(I,await this.synth.getSynthesizerSnapshot()),a&&wu(x,I);let V=x.write({compress:l,compressionQuality:u,compressionFunction:this.compressionFunc}),T=new Blob([V.buffer],{type:"audio/soundfont"}),N=x.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(T,`${x.soundFontInfo.INAM||"unnamed"}.${N}`),ue()}}],99999999,!0,this.localeManager)}async function _k(){let n="locale.exportAudio.formats.";e4(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{_9(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{_9(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{_9(i.id);try{this._exportSoundfont()}catch{e4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{_9(i.id);try{this._exportDLS()}catch{e4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{_9(i.id);try{this._exportRMIDI()}catch{e4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function xk(){let n=(w,U,P)=>this.seq.midiData.RMIDInfo?.[w]===void 0?U:P.decode(this.seq.midiData.RMIDInfo?.[w]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),a=new TextDecoder(i),l=n("IPRD","",a),u=n("IART","",a),I=n("IGNR","",a),x=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",a),V="locale.exportAudio.formats.formats.rmidi.options.",T="locale.exportAudio.formats.metadata.",b0=e4(this.localeManager.getLocaleString(V+"title"),[{type:"toggle",translatePathTitle:V+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:V+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:T+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:T+"album",attributes:{value:l,name:"album",type:"text"}},{type:"input",translatePathTitle:T+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:T+"genre",attributes:{value:I,name:"genre",type:"text"}},{type:"input",translatePathTitle:T+"comment",attributes:{value:x,name:"comment",type:"text"}},{type:"file",translatePathTitle:T+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:V+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:V+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(V+"confirm"),onClick:async w=>{let U=w.div.querySelector("input[compress-toggle='1']").checked,P=parseInt(w.div.querySelector("input[type='range']").value)/10,F0=w.div.querySelector("input[name='album']").value,m1=w.div.querySelector("input[name='artist']").value,l1=w.div.querySelector("input[name='song_title']").value,j1=w.div.querySelector("input[name='comment']").value,U1=w.div.querySelector("input[name='genre']").value,c2=parseInt(w.div.querySelector("input[name='bank_offset']").value),P2=w.div.querySelector("input[name='adjust']").checked,L2=w.div.querySelector("input[type='file']")?.files[0];_9(w.id),Q8("%cExporting RMIDI...",I1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",g5=e4(this.localeManager.getLocaleString(a0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(a0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(p6=>setTimeout(p6,500));let p3=g5.div.getElementsByClassName("export_rmidi_message")[0],k3=await this.seq.getMIDI(),u6=Hs(k3.embeddedSoundFont||this.soundFont);p3.textContent=this.localeManager.getLocaleString(a0+"modifyingMIDI"),await new Promise(p6=>setTimeout(p6,75)),Pa(k3,await this.synth.getSynthesizerSnapshot()),p3.textContent=this.localeManager.getLocaleString(a0+"modifyingSoundfont"),await new Promise(p6=>setTimeout(p6,75)),wu(u6,k3);let S3=u6.write({compress:U,compressionQuality:P,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(p6=>setTimeout(p6,75));let ce;L2?.type.split("/")[0]==="image"?ce=await L2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(ce=k3.RMIDInfo.IPIC.buffer);let Ne=UE(S3,k3,u6,c2,this.seqUI.encoding,{name:l1,comment:j1,engineer:u6.soundFontInfo.IENG,picture:ce,album:F0.length>0?F0:void 0,artist:m1.length>0?m1:void 0,genre:U1.length>0?U1:void 0,midiEncoding:this.seqUI.encoding},P2),E3=new Blob([Ne.buffer],{type:"audio/rmid"});this.saveBlob(E3,`${l1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(a0+"done"),_9(g5.id),ue()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");b0.oninput=()=>{b0.files[0]&&(b0.parentElement.firstChild.textContent=b0.files[0].name)}}var Lk="synthetizer/worklet_processor.min.js";var uC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var a in n)n.hasOwnProperty(a)&&(i[a]=n[a]);var l=typeof window=="object",u=typeof process=="object"&&typeof wE=="function"&&!l,I=typeof importScripts=="function",x=!l&&!u&&!I;if(u){n.print||(n.print=function(c){process.stdout.write(c+` +Converted from DLS to SF2 with SpessaSynth`;for(let[F,T]of Object.entries(this.soundFontInfo))x5(`%c"${F}": %c"${T}"`,I1.info,I1.recognized);let m=l.find(F=>F.header==="colh");m||(ue(),this.parsingError("No colh chunk!")),this.instrumentAmount=o3(m.chunkData,4),x5(`%cInstruments amount: %c${this.instrumentAmount}`,I1.info,I1.recognized);let x=G7(l,"wvpl");x||(ue(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(x);let H=G7(l,"lins");H||(ue(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(H),this.presets.sort((F,T)=>F.program-T.program+(F.bank-T.bank)),x5(`%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.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info),ue()}verifyHeader(i,a){i.header.toLowerCase()!==a.toLowerCase()&&(ue(),this.parsingError(`Invalid DLS chunk header! Expected "${a.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,a){i.toLowerCase()!==a.toLowerCase()&&(ue(),this.parsingError(`FourCC error: Expected "${a.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};qs.prototype.readDLSInstrumentList=dk;qs.prototype.readDLSInstrument=fk;qs.prototype.readRegion=Ek;qs.prototype.readLart=pk;qs.prototype.readDLSSamples=Bk;var Za=Za!==void 0?Za:{},yk=!1,Qk;Za.isInitialized=new Promise(n=>Qk=n);var I_=function(n){var i,a,l,u,m,x,H,F="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",T="",S0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=F.indexOf(n.charAt(S0++)),m=F.indexOf(n.charAt(S0++)),x=F.indexOf(n.charAt(S0++)),H=F.indexOf(n.charAt(S0++)),i=u<<2|m>>4,a=(15&m)<<4|x>>2,l=(3&x)<<6|H,T+=String.fromCharCode(i),x!==64&&(T+=String.fromCharCode(a)),H!==64&&(T+=String.fromCharCode(l));while(S01&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(T0){if(!(T0 instanceof X$))throw T0}),process.on("unhandledRejection",function(T0,i1){process.exit(1)}),a0.quit=function(T0){process.exit(T0)},a0.inspect=function(){return"[Emscripten Module object]"}):S3?(typeof read<"u"&&(a0.read=function(i1){return read(i1)}),a0.readBinary=function(i1){var w1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(i1)):(Qr(typeof(w1=read(i1,"binary"))=="object"),w1)},typeof scriptArgs<"u"?a0.arguments=scriptArgs:typeof arguments<"u"&&(a0.arguments=arguments),typeof quit=="function"&&(a0.quit=function(T0){quit(T0)})):(p3||k3)&&(p3?document.currentScript&&(ce=document.currentScript.src):ce=self.location.href,ce=ce.indexOf("blob:")!==0?ce.split("/").slice(0,-1).join("/")+"/":"",a0.read=function(i1){var w1=new XMLHttpRequest;return w1.open("GET",i1,!1),w1.send(null),w1.responseText},k3&&(a0.readBinary=function(i1){var w1=new XMLHttpRequest;return w1.open("GET",i1,!1),w1.responseType="arraybuffer",w1.send(null),new Uint8Array(w1.response)}),a0.readAsync=function(i1,w1,_2){var i6=new XMLHttpRequest;i6.open("GET",i1,!0),i6.responseType="arraybuffer",i6.onload=function(){if(i6.status==200||i6.status==0&&i6.response){w1(i6.response);return}_2()},i6.onerror=_2,i6.send(null)},a0.setWindowTitle=function(T0){document.title=T0});var E3=a0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),p6=a0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||E3);for(n in g5)g5.hasOwnProperty(n)&&(a0[n]=g5[n]);function w4(T0){var i1=P;return P=P+T0+15&-16,i1}function er(T0){var i1=F[c2>>2],w1=i1+T0+15&-16;return F[c2>>2]=w1,w1>=Ge&&!jr()?(F[c2>>2]=i1,0):i1}function q8(T0,i1){return i1||(i1=16),T0=Math.ceil(T0/i1)*i1}function ja(T0){switch(T0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(T0[T0.length-1]==="*")return 4;if(T0[0]!=="i")return 0;var i1=parseInt(T0.substr(1));return Qr(i1%8==0),i1/8}}function yr(T0){yr.shown||(yr.shown={}),yr.shown[T0]||(yr.shown[T0]=1,p6(T0))}g5=void 0;var Xa={"f64-rem":function(T0,i1){return T0%i1},debugger:function(){}},G$=[];function dC(T0,i1){for(var w1=0,_2=w1;_2>>0)+4294967296*+(i1>>>0):+(T0>>>0)+4294967296*+(0|i1)}function U$(T0,i1,w1){return w1&&w1.length?a0["dynCall_"+T0].apply(null,[i1].concat(w1)):a0["dynCall_"+T0].call(null,i1)}var eA=0,vu=0;function Qr(T0,i1){T0||tr("Assertion failed: "+i1)}function tA(T0){var i1=a0["_"+T0];return Qr(i1,"Cannot call unknown function "+T0+", make sure it is exported"),i1}var Op={stackSave:function(){Zp()},stackRestore:function(){j$()},arrayToC:function(T0){var i1,w1,_2=iA(T0.length);return i1=T0,w1=_2,u.set(i1,w1),_2},stringToC:function(T0){var i1=0;if(T0!=null&&T0!==0){var w1=(T0.length<<2)+1;i1=iA(w1),Hp(T0,i1,w1)}return i1}},Vs={string:Op.stringToC,array:Op.arrayToC};function ku(T0,i1,w1,_2,i6){var Ee=tA(T0),e9=[],E6=0;if(_2)for(var v8=0;v8<_2.length;v8++){var H4=Vs[w1[v8]];H4?(E6===0&&(E6=Zp()),e9[v8]=H4(_2[v8])):e9[v8]=_2[v8]}var rt,M4=Ee.apply(null,e9);return M4=(rt=M4,i1==="string"?O$(rt):i1==="boolean"?!!rt:rt),E6!==0&&j$(E6),M4}function H3(T0,i1,w1,_2){switch((w1=w1||"i8").charAt(w1.length-1)==="*"&&(w1="i32"),w1){case"i1":case"i8":u[T0>>0]=i1;break;case"i16":x[T0>>1]=i1;break;case"i32":F[T0>>2]=i1;break;case"i64":tempI64=[i1>>>0,+Du(tempDouble=i1)>=1?tempDouble>0?(0|xu(+_u(tempDouble/4294967296),4294967295))>>>0:~~+W$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],F[T0>>2]=tempI64[0],F[T0+4>>2]=tempI64[1];break;case"float":S0[T0>>2]=i1;break;case"double":w[T0>>3]=i1;break;default:tr("invalid type for setValue: "+w1)}}function B3(T0,i1,w1){switch((i1=i1||"i8").charAt(i1.length-1)==="*"&&(i1="i32"),i1){case"i1":case"i8":return u[T0>>0];case"i16":return x[T0>>1];case"i32":case"i64":return F[T0>>2];case"float":return S0[T0>>2];case"double":return w[T0>>3];default:tr("invalid type for getValue: "+i1)}return null}function QB(T0,i1,w1,_2){typeof T0=="number"?(Ee=!0,e9=T0):(Ee=!1,e9=T0.length);var i6=typeof i1=="string"?i1:null;if(E6=w1==4?_2:[typeof Zs=="function"?Zs:w4,iA,w4,er][w1===void 0?2:w1](Math.max(e9,i6?1:i1.length)),Ee){for(_2=E6,Qr((3&E6)==0),v8=E6+(-4&e9);_2>2]=0;for(v8=E6+e9;_2>0]=0;return E6}if(i6==="i8")return T0.subarray||T0.slice?m.set(T0,E6):m.set(new Uint8Array(T0),E6),E6;for(var Ee,e9,E6,v8,H4,rt,M4,Ce=0;Ce>0],(_2!=0||i1)&&(e9++,!i1||e9!=i1););i1||(i1=e9);var E6="";if(Ee<128){for(;i1>0;)i6=String.fromCharCode.apply(String,m.subarray(T0,T0+Math.min(i1,1024))),E6=E6?E6+i6:i6,T0+=1024,i1-=1024;return E6}return w1=T0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&qp)return qp.decode(H4.subarray(rt,M4));for(var Ce,Ui,O7,k8,Pi,q7,H7="";;){if(!(Ce=H4[rt++]))return H7;if(!(128&Ce)){H7+=String.fromCharCode(Ce);continue}if(Ui=63&H4[rt++],(224&Ce)==192){H7+=String.fromCharCode((31&Ce)<<6|Ui);continue}if(O7=63&H4[rt++],(240&Ce)==224?Ce=(15&Ce)<<12|Ui<<6|O7:(k8=63&H4[rt++],(248&Ce)==240?Ce=(7&Ce)<<18|Ui<<12|O7<<6|k8:(Pi=63&H4[rt++],Ce=(252&Ce)==248?(3&Ce)<<24|Ui<<18|O7<<12|k8<<6|Pi:(1&Ce)<<30|Ui<<24|O7<<18|k8<<12|Pi<<6|(q7=63&H4[rt++]))),Ce<65536)H7+=String.fromCharCode(Ce);else{var On=Ce-65536;H7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(m,w1)}function wB(T0){for(var i1="";;){var w1=u[T0++>>0];if(!w1)return i1;i1+=String.fromCharCode(w1)}}function Ys(T0,i1){return function(_2,i6,Ee){for(var e9=0;e9<_2.length;++e9)u[i6++>>0]=_2.charCodeAt(e9);Ee||(u[i6>>0]=0)}(T0,i1,!1)}var qp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(T0,i1,w1,_2){if(!(_2>0))return 0;for(var i6=w1,Ee=w1+_2-1,e9=0;e9=55296&&E6<=57343&&(E6=65536+((1023&E6)<<10)|1023&T0.charCodeAt(++e9)),E6<=127){if(w1>=Ee)break;i1[w1++]=E6}else if(E6<=2047){if(w1+1>=Ee)break;i1[w1++]=192|E6>>6,i1[w1++]=128|63&E6}else if(E6<=65535){if(w1+2>=Ee)break;i1[w1++]=224|E6>>12,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=2097151){if(w1+3>=Ee)break;i1[w1++]=240|E6>>18,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=67108863){if(w1+4>=Ee)break;i1[w1++]=248|E6>>24,i1[w1++]=128|E6>>18&63,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else{if(w1+5>=Ee)break;i1[w1++]=252|E6>>30,i1[w1++]=128|E6>>24&63,i1[w1++]=128|E6>>18&63,i1[w1++]=128|E6>>12&63,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}}return i1[w1]=0,w1-i6}function Hp(T0,i1,w1){return Un(T0,m,i1,w1)}function zs(T0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&T0.charCodeAt(++w1)),_2<=127?++i1:_2<=2047?i1+=2:_2<=65535?i1+=3:_2<=2097151?i1+=4:_2<=67108863?i1+=5:i1+=6}return i1}var Vp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function vB(T0){for(var i1=T0,w1=i1>>1;x[w1];)++w1;if((i1=w1<<1)-T0>32&&Vp)return Vp.decode(m.subarray(T0,i1));for(var _2=0,i6="";;){var Ee=x[T0+2*_2>>1];if(Ee==0)return i6;++_2,i6+=String.fromCharCode(Ee)}}function kB(T0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<2)return 0;for(var _2=i1,i6=(w1-=2)<2*T0.length?w1/2:T0.length,Ee=0;Ee>1]=e9,i1+=2}return x[i1>>1]=0,i1-_2}function SB(T0){return 2*T0.length}function bB(T0){for(var i1=0,w1="";;){var _2=F[T0+4*i1>>2];if(_2==0)return w1;if(++i1,_2>=65536){var i6=_2-65536;w1+=String.fromCharCode(55296|i6>>10,56320|1023&i6)}else w1+=String.fromCharCode(_2)}}function DB(T0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<4)return 0;for(var _2=i1,i6=_2+w1-4,Ee=0;Ee=55296&&e9<=57343&&(e9=65536+((1023&e9)<<10)|1023&T0.charCodeAt(++Ee)),F[i1>>2]=e9,(i1+=4)+4>i6)break}return F[i1>>2]=0,i1-_2}function _B(T0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&++w1,i1+=4}return i1}function xB(T0){var i1=zs(T0)+1,w1=Zs(i1);return w1&&Un(T0,u,w1,i1),w1}function LB(T0){var i1=zs(T0)+1,w1=iA(i1);return Un(T0,u,w1,i1),w1}function Yp(T0){return T0}function mC(){var T0,i1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(i6){_2=i6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return a0.extraStackTrace&&(i1+=` +`+a0.extraStackTrace()),(T0=i1).replace(/__Z[\w\d_]+/g,function(w1){var _2,i6=_2=w1;return w1===i6?w1:w1+" ["+i6+"]"})}function Su(T0,i1){return T0%i1>0&&(T0+=i1-T0%i1),T0}function zp(T0){a0.buffer=l=T0}function Xe(){a0.HEAP8=u=new Int8Array(l),a0.HEAP16=x=new Int16Array(l),a0.HEAP32=F=new Int32Array(l),a0.HEAPU8=m=new Uint8Array(l),a0.HEAPU16=H=new Uint16Array(l),a0.HEAPU32=T=new Uint32Array(l),a0.HEAPF32=S0=new Float32Array(l),a0.HEAPF64=w=new Float64Array(l)}function jr(){var T0=a0.usingWasm?65536:16777216,i1=2147483648-T0;if(F[c2>>2]>i1)return!1;var w1=Ge;for(Ge=Math.max(Ge,16777216);Ge>2];)Ge=Ge<=536870912?Su(2*Ge,T0):Math.min(Su((3*Ge+2147483648)/4,T0),i1);var _2=a0.reallocBuffer(Ge);return _2&&_2.byteLength==Ge?(zp(_2),Xe(),!0):(Ge=w1,!1)}U=P=m1=l1=j1=U1=c2=0,F0=!1,a0.reallocBuffer||(a0.reallocBuffer=function(T0){try{if(ArrayBuffer.transfer)i1=ArrayBuffer.transfer(l,T0);else{var i1,w1=u;i1=new ArrayBuffer(T0),new Int8Array(i1).set(w1)}}catch{return!1}return!!CC(i1)&&i1});try{(P2=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{P2=function(i1){return i1.byteLength}}var q$=a0.TOTAL_STACK||5242880,Ge=a0.TOTAL_MEMORY||16777216;function H$(){return Ge}function Ks(T0){for(;T0.length>0;){var i1=T0.shift();if(typeof i1=="function"){i1();continue}var w1=i1.func;typeof w1=="number"?i1.arg===void 0?a0.dynCall_v(w1):a0.dynCall_vi(w1,i1.arg):w1(i1.arg===void 0?null:i1.arg)}}Ge=0?T0:i1<=32?2*Math.abs(1<=_2&&(i1<=32||T0>_2)&&(T0=-2*_2+T0),T0}var Du=Math.abs,W$=Math.ceil,_u=Math.floor,xu=Math.min,Pn=0,Lu=null,Ws=null;function MB(T0){return T0}a0.preloadedImages={},a0.preloadedAudios={};var Wp="data:application/octet-stream;base64,";function Z$(T0){return String.prototype.startsWith?T0.startsWith(Wp):T0.indexOf(Wp)===0}(function(){var i1="main.wast",w1="main.wasm",_2="main.temp.asm.js";Z$(i1)||(i1=Ne(i1)),Z$(w1)||(w1=Ne(w1)),Z$(_2)||(_2=Ne(_2));var i6={global:null,env:null,asm2wasm:Xa,parent:a0},Ee=null;function e9(M4){return M4}function E6(){try{if(a0.wasmBinary)return new Uint8Array(a0.wasmBinary);if(a0.readBinary)return a0.readBinary(w1);throw"both async and sync fetching of the wasm failed"}catch(M4){tr(M4)}}a0.asmPreload=a0.asm;var v8=a0.reallocBuffer,H4=function(M4){M4=Su(M4,a0.usingWasm?65536:16777216);var Ce=a0.buffer.byteLength;if(a0.usingWasm)try{var Ui=a0.wasmMemory.grow((M4-Ce)/65536);return Ui!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(M4){return rt==="asmjs"?v8(M4):H4(M4)};var rt="";a0.asm=function(M4,Ce,Ui){var O7;if(!(Ce=O7=Ce).table){var k8,Pi=a0.wasmTableSize;Pi===void 0&&(Pi=1024);var q7=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?q7!==void 0?Ce.table=new WebAssembly.Table({initial:Pi,maximum:q7,element:"anyfunc"}):Ce.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):Ce.table=Array(Pi),a0.wasmTable=Ce.table}return Ce.memoryBase||(Ce.memoryBase=a0.STATIC_BASE),Ce.tableBase||(Ce.tableBase=0),k8=function(On,wr,jp){if(typeof WebAssembly!="object")return p6("no native wasm support detected"),!1;if(!(a0.wasmMemory instanceof WebAssembly.Memory))return p6("no native wasm Memory in use"),!1;function Mu(vr,ir){if((Ee=vr.exports).memory){var rA,js,Xs;rA=Ee.memory,js=a0.buffer,rA.byteLength0?w1:zs(T0)+1,i6=Array(_2),Ee=Un(T0,i6,0,i6.length);return i1&&(i6.length=Ee),i6}function EC(T0){for(var i1=[],w1=0;w1255&&(_2&=255),i1.push(String.fromCharCode(_2))}return i1.join("")}P+=16,c2=w4(4),j1=(m1=l1=q8(P))+q$,U1=q8(j1),F[c2>>2]=U1,F0=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:tr,assert:Qr,enlargeMemory:jr,getTotalMemory:H$,abortOnCannotGrowMemory:function(){tr("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ge+", (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(i1,w1,_2){var i6=Zp();try{return a0.dynCall_iii(i1,w1,_2)}catch(Ee){if(j$(i6),typeof Ee!="number"&&Ee!=="longjmp")throw Ee;a0.setThrew(1,0)}},___assert_fail:function(i1,w1,_2,i6){tr("Assertion failed: "+O$(i1)+", at: "+[w1?O$(w1):"unknown filename",_2,i6?O$(i6):"unknown function"])},___setErrNo:function(i1){return a0.___errno_location&&(F[a0.___errno_location()>>2]=i1),i1},_abort:function(){a0.abort()},_emscripten_memcpy_big:function(i1,w1,_2){return m.set(m.subarray(w1,w1+_2),i1),i1},_llvm_floor_f64:_u,DYNAMICTOP_PTR:c2,tempDoublePtr:Gi,ABORT:eA,STACKTOP:l1,STACK_MAX:j1};var tn=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,l);a0.asm=tn,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var CC=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 Zs=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 iA=a0.stackAlloc=function(){return a0.asm.stackAlloc.apply(null,arguments)},j$=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},Zp=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function X$(T0){this.name="ExitStatus",this.message="Program terminated with exit("+T0+")",this.status=T0}function el(T0){T0=T0||a0.arguments,!(Pn>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)pC(a0.preRun.shift());Ks(Xr)}(),!(Pn>0)&&(a0.calledRun||(a0.setStatus?(a0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){a0.setStatus("")},1),i1()},1)):i1())));function i1(){!a0.calledRun&&(a0.calledRun=!0,eA||(z$||(z$=!0,Ks(V$)),Ks(bu),a0.onRuntimeInitialized&&a0.onRuntimeInitialized(),function(){if(a0.postRun)for(typeof a0.postRun=="function"&&(a0.postRun=[a0.postRun]);a0.postRun.length;)P7(a0.postRun.shift());Ks(Y$)}()))}}function BC(T0,i1){(!i1||!a0.noExitRuntime||T0!==0)&&(a0.noExitRuntime||(eA=!0,vu=T0,l1=L2,Ks(S7),U7=!0,a0.onExit&&a0.onExit(T0)),a0.quit(T0,new X$(T0)))}function tr(T0){throw a0.onAbort&&a0.onAbort(T0),T0!==void 0?(E3(T0),p6(T0),T0=JSON.stringify(T0)):T0="",eA=!0,vu=1,"abort("+T0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=tn,a0.ccall=ku,a0.cwrap=function(i1,w1,_2,i6){var Ee=(_2=_2||[]).every(function(e9){return e9==="number"});return w1!=="string"&&Ee&&!i6?tA(i1):function(){return ku(i1,w1,_2,arguments,i6)}},X$.prototype=Error(),X$.prototype.constructor=X$,Ws=function T0(){a0.calledRun||el(),a0.calledRun||(Ws=T0)},a0.run=el,a0.abort=tr,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,el(),a0.onRuntimeInitialized=()=>{yk=!0,Qk()},Za.decode=function(T0){return function(w1){if(!yk)throw Error("Not initialized");var _2={};function i6(wr){return new Int32Array(a0.HEAPU8.buffer,wr,1)[0]}function Ee(wr,jp){var Mu=new ArrayBuffer(jp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Mu);return bt.set(new Float32Array(a0.HEAPU8.buffer,wr,jp)),bt}_2.open=a0.cwrap("stb_vorbis_js_open","number",[]),_2.close=a0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=a0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=a0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=a0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var e9,E6,v8,H4,rt=_2.open(),M4=(e9=w1,E6=w1.byteLength,v8=a0._malloc(E6),(H4=new Uint8Array(a0.HEAPU8.buffer,v8,E6)).set(new Uint8Array(e9,0,E6)),H4),Ce=a0._malloc(4),Ui=a0._malloc(4),O7=_2.decode(rt,M4.byteOffset,M4.byteLength,Ce,Ui);if(a0._free(M4.byteOffset),O7<0)throw _2.close(rt),a0._free(Ce),Error("stbvorbis decode failed: "+O7);for(var k8=_2.channels(rt),Pi=Array(k8),q7=new Int32Array(a0.HEAPU32.buffer,i6(Ce),k8),H7=0;H7n.chunkData.currentIndex;){let m=m_(u,n.chunkData,i,a);l.push(m),u++}return l.length>1&&l.pop(),l}function m_(n,i,a,l){let u=y4(i,20),m=o3(i,4)*2,x=o3(i,4)*2,H=o3(i,4),F=o3(i,4),T=o3(i,4),S0=i[i.currentIndex++];S0===255&&(S0=60);let w=OQ(i[i.currentIndex++]),U=o3(i,2),P=o3(i,2);return new gB(u,m,x,H,F,T,S0,w,U,P,a,n,l)}var uB=class extends q3{constructor(i){super();let a=i.currentIndex;this.generatorType=i[a+1]<<8|i[a],this.generatorValue=Ua(i[a+2],i[a+3]),i.currentIndex+=4}};function hB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new uB(n.chunkData));return i.length>1&&i.pop(),i}var dB=class extends Ka{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=o3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,a){this.instrumentZonesAmount=i;for(let l=this.instrumentZoneIndex;ln.chunkData.currentIndex;){let l=new dB(n);if(a.length>0){let u=l.instrumentZoneIndex-a[a.length-1].instrumentZoneIndex;a[a.length-1].getInstrumentZones(u,i)}a.push(l)}return a.length>1&&a.pop(),a}var fB=class extends k7{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,a){this.modulatorZoneSize=i,this.generatorZoneSize=a}getGenerators(i){for(let a=this.generatorZoneStartIndex;al.generatorType===u0.sampleID);a&&(this.sample=i[a.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(a=>a.generatorType===u0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(a=>a.generatorType===u0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function kk(n,i,a,l){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let m=new fB(n.chunkData);if(u.length>0){let x=m.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,H=m.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(x,H),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(a),u[u.length-1].getSample(l),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(m)}return u.length>1&&u.pop(),u}var IB=class extends Ya{constructor(i){super(),this.generatorZoneStartIndex=o3(i,2),this.modulatorZoneStartIndex=o3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,a){this.modulatorZoneSize=i,this.generatorZoneSize=a}getGenerators(i){for(let a=this.generatorZoneStartIndex;al.generatorType===u0.instrument);a&&(this.instrument=i[a.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(a=>a.generatorType===u0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(a=>a.generatorType===u0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Sk(n,i,a,l){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let m=new IB(n.chunkData);if(u.length>0){let x=m.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,H=m.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(x,H),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(a),u[u.length-1].getInstrument(l),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(m)}return u.length>1&&u.pop(),u}var mB=class extends Ja{constructor(i,a){super(a),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=o3(i.chunkData,2),this.bank=o3(i.chunkData,2),this.presetZoneStartIndex=o3(i.chunkData,2),this.library=o3(i.chunkData,4),this.genre=o3(i.chunkData,4),this.morphology=o3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,a){this.presetZonesAmount=i;for(let l=this.presetZoneStartIndex;ln.chunkData.currentIndex;){let u=new mB(n,a);if(l.length>0){let m=u.presetZoneStartIndex-l[l.length-1].presetZoneStartIndex;l[l.length-1].getPresetZones(m,i)}l.push(u)}return l.length>1&&l.pop(),l}var pB=class extends le{constructor(i){super({srcEnum:o3(i,2),dest:o3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:o3(i,2),transform:o3(i,2)})}};function cC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new pB(n.chunkData));return i}var gC=class extends Wa{constructor(i,a=!0){super(),a&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new J5(i),F7("%cParsing SoundFont...",I1.info),this.dataArray||(ue(),this.parsingError("No data provided!"));let l=B9(this.dataArray,!1);this.verifyHeader(l,"riff");let u=y4(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw ue(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let m=u==="sfpk",x=B9(this.dataArray);for(this.verifyHeader(x,"list"),y4(x.chunkData,4);x.chunkData.length>x.chunkData.currentIndex;){let u6=B9(x.chunkData),S3;switch(u6.header.toLowerCase()){case"ifil":case"iver":S3=`${o3(u6.chunkData,2)}.${o3(u6.chunkData,2)}`,this.soundFontInfo[u6.header]=S3;break;case"icmt":S3=y4(u6.chunkData,u6.chunkData.length,void 0,!1),this.soundFontInfo[u6.header]=S3;break;case"dmod":let ce=cC(u6);ce.pop(),S3=`Modulators: ${ce.length}`;let Ne=this.defaultModulators;this.defaultModulators=ce,this.defaultModulators.push(...Ne.filter(E3=>!this.defaultModulators.find(p6=>le.isIdentical(E3,p6)))),this.soundFontInfo[u6.header]=u6.chunkData;break;default:S3=y4(u6.chunkData,u6.chunkData.length),this.soundFontInfo[u6.header]=S3}x5(`%c"${u6.header}": %c"${S3}"`,I1.info,I1.recognized)}let H=B9(this.dataArray,!1);this.verifyHeader(H,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),x5("%cVerifying smpl chunk...",I1.warn);let F=B9(this.dataArray,!1);this.verifyHeader(F,"smpl");let T;if(m){x5("%cSF2Pack detected, attempting to decode the smpl chunk...",I1.info);try{T=Za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+H.size-12)).data[0]}catch(u6){throw ue(),new Error(`SF2Pack Ogg Vorbis decode error: ${u6}`)}x5(`%cDecoded the smpl chunk! Length: %c${T.length}`,I1.info,I1.value)}else T=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;x5(`%cSkipping sample chunk, length: %c${H.size-12}`,I1.info,I1.value),this.dataArray.currentIndex+=H.size-12,x5("%cLoading preset data chunk...",I1.warn);let S0=B9(this.dataArray);this.verifyHeader(S0,"list"),y4(S0.chunkData,4);let w=B9(S0.chunkData);this.verifyHeader(w,"phdr");let U=B9(S0.chunkData);this.verifyHeader(U,"pbag");let P=B9(S0.chunkData);this.verifyHeader(P,"pmod");let F0=B9(S0.chunkData);this.verifyHeader(F0,"pgen");let m1=B9(S0.chunkData);this.verifyHeader(m1,"inst");let l1=B9(S0.chunkData);this.verifyHeader(l1,"ibag");let j1=B9(S0.chunkData);this.verifyHeader(j1,"imod");let U1=B9(S0.chunkData);this.verifyHeader(U1,"igen");let c2=B9(S0.chunkData);this.verifyHeader(c2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...wk(c2,T,!m));let P2=hB(U1),L2=cC(j1),a0=kk(l1,P2,L2,this.samples);this.instruments=vk(m1,a0);let g5=hB(F0),p3=cC(P),k3=Sk(U,g5,p3,this.instruments);this.presets.push(...bk(w,k3,this.defaultModulators)),this.presets.sort((u6,S3)=>u6.program-S3.program+(u6.bank-S3.bank)),x5(`%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.`,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info,I1.recognized,I1.info),ue(),m&&delete this.dataArray}verifyHeader(i,a){i.header.toLowerCase()!==a.toLowerCase()&&(ue(),this.parsingError(`Invalid chunk header! Expected "${a.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,a){i.toLowerCase()!==a.toLowerCase()&&(ue(),this.parsingError(`Invalid FourCC: Expected "${a.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Hs(n){let i=n.slice(8,12),a=new J5(i);return y4(a,4,void 0,!1).toLowerCase()==="dls "?new qs(n):new gC(n,!1)}async function Dk(){let n="locale.exportAudio.formats.formats.soundfont.options.";e4(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let a=i.div.querySelector("input[trim-toggle='1']").checked,l=i.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(i.div.querySelector("input[type='range']").value)/10;_9(i.id),F7("%cExporting minified soundfont...",I1.info);let m=await this.seq.getMIDI(),x=Hs(m.embeddedSoundFont||this.soundFont);Pa(m,await this.synth.getSynthesizerSnapshot()),a&&wu(x,m);let H=x.write({compress:l,compressionQuality:u,compressionFunction:this.compressionFunc}),F=new Blob([H.buffer],{type:"audio/soundfont"}),T=x.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(F,`${x.soundFontInfo.INAM||"unnamed"}.${T}`),ue()}}],99999999,!0,this.localeManager)}async function _k(){let n="locale.exportAudio.formats.";e4(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{_9(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{_9(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{_9(i.id);try{this._exportSoundfont()}catch{e4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{_9(i.id);try{this._exportDLS()}catch{e4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{_9(i.id);try{this._exportRMIDI()}catch{e4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function xk(){let n=(w,U,P)=>this.seq.midiData.RMIDInfo?.[w]===void 0?U:P.decode(this.seq.midiData.RMIDInfo?.[w]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),a=new TextDecoder(i),l=n("IPRD","",a),u=n("IART","",a),m=n("IGNR","",a),x=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",a),H="locale.exportAudio.formats.formats.rmidi.options.",F="locale.exportAudio.formats.metadata.",S0=e4(this.localeManager.getLocaleString(H+"title"),[{type:"toggle",translatePathTitle:H+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:H+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:F+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:F+"album",attributes:{value:l,name:"album",type:"text"}},{type:"input",translatePathTitle:F+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:F+"genre",attributes:{value:m,name:"genre",type:"text"}},{type:"input",translatePathTitle:F+"comment",attributes:{value:x,name:"comment",type:"text"}},{type:"file",translatePathTitle:F+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:H+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:H+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(H+"confirm"),onClick:async w=>{let U=w.div.querySelector("input[compress-toggle='1']").checked,P=parseInt(w.div.querySelector("input[type='range']").value)/10,F0=w.div.querySelector("input[name='album']").value,m1=w.div.querySelector("input[name='artist']").value,l1=w.div.querySelector("input[name='song_title']").value,j1=w.div.querySelector("input[name='comment']").value,U1=w.div.querySelector("input[name='genre']").value,c2=parseInt(w.div.querySelector("input[name='bank_offset']").value),P2=w.div.querySelector("input[name='adjust']").checked,L2=w.div.querySelector("input[type='file']")?.files[0];_9(w.id),Q8("%cExporting RMIDI...",I1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",g5=e4(this.localeManager.getLocaleString(a0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(a0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(p6=>setTimeout(p6,500));let p3=g5.div.getElementsByClassName("export_rmidi_message")[0],k3=await this.seq.getMIDI(),u6=Hs(k3.embeddedSoundFont||this.soundFont);p3.textContent=this.localeManager.getLocaleString(a0+"modifyingMIDI"),await new Promise(p6=>setTimeout(p6,75)),Pa(k3,await this.synth.getSynthesizerSnapshot()),p3.textContent=this.localeManager.getLocaleString(a0+"modifyingSoundfont"),await new Promise(p6=>setTimeout(p6,75)),wu(u6,k3);let S3=u6.write({compress:U,compressionQuality:P,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(p6=>setTimeout(p6,75));let ce;L2?.type.split("/")[0]==="image"?ce=await L2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(ce=k3.RMIDInfo.IPIC.buffer);let Ne=UE(S3,k3,u6,c2,this.seqUI.encoding,{name:l1,comment:j1,engineer:u6.soundFontInfo.IENG,picture:ce,album:F0.length>0?F0:void 0,artist:m1.length>0?m1:void 0,genre:U1.length>0?U1:void 0,midiEncoding:this.seqUI.encoding},P2),E3=new Blob([Ne.buffer],{type:"audio/rmid"});this.saveBlob(E3,`${l1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(a0+"done"),_9(g5.id),ue()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");S0.oninput=()=>{S0.files[0]&&(S0.parentElement.firstChild.textContent=S0.files[0].name)}}var Lk="synthetizer/worklet_processor.min.js";var uC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var a in n)n.hasOwnProperty(a)&&(i[a]=n[a]);var l=typeof window=="object",u=typeof process=="object"&&typeof wE=="function"&&!l,m=typeof importScripts=="function",x=!l&&!u&&!m;if(u){n.print||(n.print=function(c){process.stdout.write(c+` `)}),n.printErr||(n.printErr=function(c){process.stderr.write(c+` -`)});var V=void 0,T=void 0;n.read=function(c,h){c=T.normalize(c);var f=V.readFileSync(c);return!f&&c!=T.resolve(c)&&(c=path.join(__dirname,"..","src",c),f=V.readFileSync(c)),f&&!h&&(f=f.toString()),f},n.readBinary=function(c){return n.read(c,!0)},n.load=function(c){b0(read(c))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof nA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(x)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(c){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(c));var h=read(c,"binary");return N9(typeof h=="object"),h},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(l||I){if(n.read=function(c){var h=new XMLHttpRequest;return h.open("GET",c,!1),h.send(null),h.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(c){console.log(c)}),n.printErr||(n.printErr=function(c){console.log(c)});else{var N=!1;n.print||(n.print=N&&typeof dump<"u"?function(r){dump(r)}:function(r){})}I&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function b0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(c){b0(n.read(c))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a]);var w={setTempRet0:function(r){p6=r},getTempRet0:function(){return p6},stackSave:function(){return S7},stackRestore:function(r){S7=r},getNativeTypeSize:function(r){switch(r){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(r[r.length-1]==="*")return w.QUANTUM_SIZE;if(r[0]==="i"){var c=parseInt(r.substr(1));return N9(c%8===0),c/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(w.getNativeTypeSize(r),w.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,c){return c==="double"||c==="i64"?r&7&&(N9((r&7)===4),r+=4):N9((r&3)===0),r},getAlignSize:function(r,c,h){return!h&&(r=="i64"||r=="double")?8:r?Math.min(c||(r?w.getNativeFieldSize(r):0),w.QUANTUM_SIZE):Math.min(c,8)},dynCall:function(r,c,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,c),n["dynCall_"+r].apply(null,h)):n["dynCall_"+r].call(null,c)},functionPointers:[],addFunction:function(r){for(var c=0;c=Js){var h=pC();if(!h)return U7=c,0}return c},alignMemory:function(r,c){var h=r=Math.ceil(r/(c||16))*(c||16);return h},makeBigInt:function(r,c,h){var f=h?+(r>>>0)+ +(c>>>0)*4294967296:+(r>>>0)+ +(c|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=w;var U=0,P=!1,F0=0,m1=0,l1,j1,U1,c2,P2,L2,a0,g5,p3,k3,u6,S3,ce,Ne,E3,p6,w4,er,q8,ja,yr,Xa,G$,dC,fC;function N9(r,c){r||eo("Assertion failed: "+c)}var Gk=this;function IC(r){var c=n["_"+r];if(!c)try{c=void("_"+r)}catch{}return N9(c,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),c}var U$,eA;(function(){var r={stackSave:function(){w.stackSave()},stackRestore:function(){w.stackRestore()},arrayToC:function(e1){var n1=w.stackAlloc(e1.length);return iA(e1,n1),n1},stringToC:function(e1){var n1=0;return e1!=null&&e1!==0&&(n1=w.stackAlloc((e1.length<<2)+1),Zs(e1,n1)),n1}},c={string:r.stringToC,array:r.arrayToC};eA=function(n1,x2,o,c1,C){var S5=IC(n1),w2=[],P5=0;if(c1)for(var Ue=0;Ue>0]=c;break;case"i8":Xe[r>>0]=c;break;case"i16":jr[r>>1]=c;break;case"i32":Ge[r>>2]=c;break;case"i64":Ne=[c>>>0,(S3=c,+el(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+v8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],Ge[r>>2]=Ne[0],Ge[r+4>>2]=Ne[1];break;case"float":il[r>>2]=c;break;case"double":H$[r>>3]=c;break;default:eo("invalid type for setValue: "+h)}}n.setValue=vu;function Qr(r,c,h){switch(c=c||"i8",c.charAt(c.length-1)==="*"&&(c="i32"),c){case"i1":return Xe[r>>0];case"i8":return Xe[r>>0];case"i16":return jr[r>>1];case"i32":return Ge[r>>2];case"i64":return Ge[r>>2];case"float":return il[r>>2];case"double":return H$[r>>3];default:eo("invalid type for setValue: "+c)}return null}n.getValue=Qr;var tA=0,Op=1,Vs=2,ku=3,H3=4;n.ALLOC_NORMAL=tA,n.ALLOC_STACK=Op,n.ALLOC_STATIC=Vs,n.ALLOC_DYNAMIC=ku,n.ALLOC_NONE=H3;function B3(r,c,h,f){var z,e;typeof r=="number"?(z=!0,e=r):(z=!1,e=r.length);var e1=typeof c=="string"?c:null,n1;if(h==H3?n1=f:n1=[Ru,w.stackAlloc,w.staticAlloc,w.dynamicAlloc][h===void 0?Vs:h](Math.max(e,e1?1:c.length)),z){var f=n1,x2;for(N9((n1&3)==0),x2=n1+(e&-4);f>2]=0;for(x2=n1+e;f>0]=0;return n1}if(e1==="i8")return r.subarray||r.slice?b7.set(r,n1):b7.set(new Uint8Array(r),n1),n1;for(var o=0,c1,C,S5;o>0],h|=f,!(f==0&&!c||(z++,c&&z==c)););c||(c=z);var e="";if(h<128){for(var e1=1024,n1;c>0;)n1=String.fromCharCode.apply(String,b7.subarray(r,r+Math.min(c,e1))),e=e?e+n1:n1,r+=e1,c-=e1;return e}return n.UTF8ToString(r)}n.Pointer_stringify=P$;function O$(r){for(var c="";;){var h=Xe[r++>>0];if(!h)return c;c+=String.fromCharCode(h)}}n.AsciiToString=O$;function wB(r,c){return j$(r,c,!1)}n.stringToAscii=wB;function Ys(r,c){for(var h,f,z,e,e1,n1,x2="";;){if(h=r[c++],!h)return x2;if(!(h&128)){x2+=String.fromCharCode(h);continue}if(f=r[c++]&63,(h&224)==192){x2+=String.fromCharCode((h&31)<<6|f);continue}if(z=r[c++]&63,(h&240)==224?h=(h&15)<<12|f<<6|z:(e=r[c++]&63,(h&248)==240?h=(h&7)<<18|f<<12|z<<6|e:(e1=r[c++]&63,(h&252)==248?h=(h&3)<<24|f<<18|z<<12|e<<6|e1:(n1=r[c++]&63,h=(h&1)<<30|f<<24|z<<18|e<<12|e1<<6|n1))),h<65536)x2+=String.fromCharCode(h);else{var o=h-65536;x2+=String.fromCharCode(55296|o>>10,56320|o&1023)}}}n.UTF8ArrayToString=Ys;function qp(r){return Ys(b7,r)}n.UTF8ToString=qp;function Un(r,c,h,f){if(!(f>0))return 0;for(var z=h,e=h+f-1,e1=0;e1=55296&&n1<=57343&&(n1=65536+((n1&1023)<<10)|r.charCodeAt(++e1)&1023),n1<=127){if(h>=e)break;c[h++]=n1}else if(n1<=2047){if(h+1>=e)break;c[h++]=192|n1>>6,c[h++]=128|n1&63}else if(n1<=65535){if(h+2>=e)break;c[h++]=224|n1>>12,c[h++]=128|n1>>6&63,c[h++]=128|n1&63}else if(n1<=2097151){if(h+3>=e)break;c[h++]=240|n1>>18,c[h++]=128|n1>>12&63,c[h++]=128|n1>>6&63,c[h++]=128|n1&63}else if(n1<=67108863){if(h+4>=e)break;c[h++]=248|n1>>24,c[h++]=128|n1>>18&63,c[h++]=128|n1>>12&63,c[h++]=128|n1>>6&63,c[h++]=128|n1&63}else{if(h+5>=e)break;c[h++]=252|n1>>30,c[h++]=128|n1>>24&63,c[h++]=128|n1>>18&63,c[h++]=128|n1>>12&63,c[h++]=128|n1>>6&63,c[h++]=128|n1&63}}return c[h]=0,h-z}n.stringToUTF8Array=Un;function Hp(r,c,h){return Un(r,b7,c,h)}n.stringToUTF8=Hp;function zs(r){for(var c=0,h=0;h=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++h)&1023),f<=127?++c:f<=2047?c+=2:f<=65535?c+=3:f<=2097151?c+=4:f<=67108863?c+=5:c+=6}return c}n.lengthBytesUTF8=zs;function Vp(r){for(var c=0,h="";;){var f=jr[r+c*2>>1];if(f==0)return h;++c,h+=String.fromCharCode(f)}}n.UTF16ToString=Vp;function vB(r,c,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var f=c,z=h>1]=e1,c+=2}return jr[c>>1]=0,c-f}n.stringToUTF16=vB;function kB(r){return r.length*2}n.lengthBytesUTF16=kB;function SB(r){for(var c=0,h="";;){var f=Ge[r+c*4>>2];if(f==0)return h;if(++c,f>=65536){var z=f-65536;h+=String.fromCharCode(55296|z>>10,56320|z&1023)}else h+=String.fromCharCode(f)}}n.UTF32ToString=SB;function bB(r,c,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var f=c,z=f+h-4,e=0;e=55296&&e1<=57343){var n1=r.charCodeAt(++e);e1=65536+((e1&1023)<<10)|n1&1023}if(Ge[c>>2]=e1,c+=4,c+4>z)break}return Ge[c>>2]=0,c-f}n.stringToUTF32=bB;function DB(r){for(var c=0,h=0;h=55296&&f<=57343&&++h,c+=4}return c}n.lengthBytesUTF32=DB;function _B(r){var c=!!n.___cxa_demangle;if(c)try{var h=Ru(r.length);Zs(r.substr(1),h);var f=Ru(4),z=n.___cxa_demangle(h,0,0,f);if(Qr(f,"i32")===0&&z)return P$(z)}catch{}finally{h&&QC(h),f&&QC(f),z&&QC(z)}var e=3,e1={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:"..."},n1=[],x2=!0;function o(w2){w2&&n.print(w2),n.print(r);for(var P5="",Ue=0;Ue"}else We=i9;e:for(;e0;){var kr=r[e++];if(kr in e1)y9.push(e1[kr]);else switch(kr){case"P":y9.push(C(!0,1,!0)[0]+"*");break;case"R":y9.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var nl=r.indexOf("E",e),It=nl-e;y9.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,y9.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:We+="?"+kr;break e}}return!Ue&&y9.length===1&&y9[0]==="void"&&(y9=[]),w2?(We&&y9.push(We+"?"),y9):We+Dt()}var S5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=P$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}S5=C()}catch{S5+="?"}return S5.indexOf("?")>=0&&!c&&w.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),S5}function xB(r){return r.replace(/__Z[\w\d_]+/g,function(c){var h=_B(c);return c===h?c:c+" ["+h+"]"})}function LB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(c){r=c}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Yp(){return xB(LB())}n.stackTrace=Yp;var mC=4096;function Su(r){return r%4096>0&&(r+=4096-r%4096),r}var zp,Xe,b7,jr,q$,Ge,tl,il,H$,Ks=0,Xr=0,V$=!1,bu=0,S7=0,Y$=0,z$=0,U7=0;function pC(){eo("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Js+", (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 Kp=n.TOTAL_STACK||5242880,Js=n.TOTAL_MEMORY||16777216,en=64*1024;en0;){var c=r.shift();if(typeof c=="function"){c();continue}var h=c.func;typeof h=="number"?c.arg===void 0?w.dynCall("v",h):w.dynCall("vi",h,[c.arg]):h(c.arg===void 0?null:c.arg)}}var Jp=[],J$=[],Du=[],W$=[],_u=[],xu=!1,Pn=!1;function Lu(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Gi(n.preRun.shift());K$(Jp)}function Ws(){xu||(xu=!0,K$(J$))}function MB(){K$(Du)}function Wp(){K$(W$),Pn=!0}function Z$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)EC(n.postRun.shift());K$(_u)}function Gi(r){Jp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function RB(r){J$.unshift(r)}n.addOnInit=n.addOnInit=RB;function FB(r){Du.unshift(r)}n.addOnPreMain=n.addOnPreMain=FB;function TB(r){W$.unshift(r)}n.addOnExit=n.addOnExit=TB;function EC(r){_u.unshift(r)}n.addOnPostRun=n.addOnPostRun=EC;function tn(r,c,h){var f=h>0?h:zs(r)+1,z=new Array(f),e=Un(r,z,0,z.length);return c&&(z.length=e),z}n.intArrayFromString=tn;function CC(r){for(var c=[],h=0;h255&&(f&=255),c.push(String.fromCharCode(f))}return c.join("")}n.intArrayToString=CC;function Zs(r,c,h){for(var f=tn(r,h),z=0;z>0]=e,z=z+1}}n.writeStringToMemory=Zs;function iA(r,c){for(var h=0;h>0]=r[h]}n.writeArrayToMemory=iA;function j$(r,c,h){for(var f=0;f>0]=r.charCodeAt(f);h||(Xe[c>>0]=0)}n.writeAsciiToMemory=j$;function Zp(r,c,h){return r>=0?r:c<=32?2*Math.abs(1<=f&&(c<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(c,h){var f=c>>>16,z=c&65535,e=h>>>16,e1=h&65535;return z*e1+(f*e1+z*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var c=0;c<32;c++)if(r&1<<31-c)return c;return 32}),Math.clz32=Math.clz32;var el=Math.abs,BC=Math.cos,tr=Math.sin,T0=Math.tan,i1=Math.acos,w1=Math.asin,_2=Math.atan,i6=Math.atan2,Ee=Math.exp,e9=Math.log,E6=Math.sqrt,v8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,Ce=Math.fround,Ui=Math.min,O7=Math.clz32,k8=0,Pi=null,q7=null;function H7(r){return r}function On(r){k8++,n.monitorRunDependencies&&n.monitorRunDependencies(k8)}n.addRunDependency=On;function wr(r){if(k8--,n.monitorRunDependencies&&n.monitorRunDependencies(k8),k8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),q7)){var c=q7;q7=null,c()}}n.removeRunDependency=wr,n.preloadedImages={},n.preloadedAudios={};var jp=null,Mu=[];Ks=8,Xr=Ks+553552,J$.push(),B3([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",H3,w.GLOBAL_BASE),B3([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",H3,w.GLOBAL_BASE+10240),B3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,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",H3,w.GLOBAL_BASE+20480),B3([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",H3,w.GLOBAL_BASE+30720),B3([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",H3,w.GLOBAL_BASE+41032),B3([1],"i8",H3,w.GLOBAL_BASE+49544),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+50572),B3([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",H3,w.GLOBAL_BASE+52752),B3([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",H3,w.GLOBAL_BASE+55148),B3([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",H3,w.GLOBAL_BASE+62212),B3([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",H3,w.GLOBAL_BASE+72464),B3([1],"i8",H3,w.GLOBAL_BASE+78916),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+79944),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+81996),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+83152),B3([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",H3,w.GLOBAL_BASE+86572),B3([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",H3,w.GLOBAL_BASE+97272),B3([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",H3,w.GLOBAL_BASE+107456),B3([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",H3,w.GLOBAL_BASE+117696),B3([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",H3,w.GLOBAL_BASE+124340),B3([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",H3,w.GLOBAL_BASE+134580),B3([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",H3,w.GLOBAL_BASE+144820),B3([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",H3,w.GLOBAL_BASE+155104),B3([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",H3,w.GLOBAL_BASE+165344),B3([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",H3,w.GLOBAL_BASE+175348),B3([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",H3,w.GLOBAL_BASE+185588),B3([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",H3,w.GLOBAL_BASE+195830),B3([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",H3,w.GLOBAL_BASE+207264),B3([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",H3,w.GLOBAL_BASE+218416),B3([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",H3,w.GLOBAL_BASE+229400),B3([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",H3,w.GLOBAL_BASE+240320),B3([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",H3,w.GLOBAL_BASE+242772),B3([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",H3,w.GLOBAL_BASE+253728),B3([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",H3,w.GLOBAL_BASE+263472),B3([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",H3,w.GLOBAL_BASE+274008),B3([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",H3,w.GLOBAL_BASE+284176),B3([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",H3,w.GLOBAL_BASE+294712),B3([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",H3,w.GLOBAL_BASE+304880),B3([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",H3,w.GLOBAL_BASE+315120),B3([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",H3,w.GLOBAL_BASE+325360),B3([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",H3,w.GLOBAL_BASE+339320),B3([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",H3,w.GLOBAL_BASE+349504),B3([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",H3,w.GLOBAL_BASE+360488),B3([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",H3,w.GLOBAL_BASE+363696),B3([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",H3,w.GLOBAL_BASE+366508),B3([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",H3,w.GLOBAL_BASE+369616),B3([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",H3,w.GLOBAL_BASE+379856),B3([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",H3,w.GLOBAL_BASE+390097),B3([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",H3,w.GLOBAL_BASE+400337),B3([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",H3,w.GLOBAL_BASE+410577),B3([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",H3,w.GLOBAL_BASE+420817),B3([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",H3,w.GLOBAL_BASE+431057),B3([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",H3,w.GLOBAL_BASE+441297),B3([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",H3,w.GLOBAL_BASE+446300),B3([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",H3,w.GLOBAL_BASE+456540),B3([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",H3,w.GLOBAL_BASE+466780),B3([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",H3,w.GLOBAL_BASE+477020),B3([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",H3,w.GLOBAL_BASE+487288),B3([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",H3,w.GLOBAL_BASE+489700),B3([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",H3,w.GLOBAL_BASE+500144),B3([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",H3,w.GLOBAL_BASE+510456),B3([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",H3,w.GLOBAL_BASE+520696),B3([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",H3,w.GLOBAL_BASE+530936),B3([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",H3,w.GLOBAL_BASE+541176),B3([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",H3,w.GLOBAL_BASE+551416);var bt=w.alignMemory(B3(12,"i8",Vs),8);N9(bt%8==0);function yC(r){Xe[bt]=Xe[r],Xe[bt+1]=Xe[r+1],Xe[bt+2]=Xe[r+2],Xe[bt+3]=Xe[r+3]}function vr(r){Xe[bt]=Xe[r],Xe[bt+1]=Xe[r+1],Xe[bt+2]=Xe[r+2],Xe[bt+3]=Xe[r+3],Xe[bt+4]=Xe[r+4],Xe[bt+5]=Xe[r+5],Xe[bt+6]=Xe[r+6],Xe[bt+7]=Xe[r+7]}var ir=BC,rA=el,js=0;function Xs(r){return Ge[js>>2]=r,r}var N2={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 NB(r){switch(r){case 30:return mC;case 85:return en/mC;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 Xs(N2.EINVAL),-1}n._memset=ES;var GB=!0;n._strlen=fS,n._strcat=IS,n._bitshift64Shl=QS;function Uk(){n.abort()}n._i64Add=mS;var Pk=H4,Ok={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"},qn={ttys:[],init:function(){},shutdown:function(){},register:function(r,c){qn.ttys[r]={input:[],output:[],ops:c},S.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var c=qn.ttys[r.node.rdev];if(!c)throw new S.ErrnoError(N2.ENODEV);r.tty=c,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,c,h,f,z){if(!r.tty||!r.tty.ops.get_char)throw new S.ErrnoError(N2.ENXIO);for(var e=0,e1=0;e10?c=f.slice(0,z).toString("utf-8"):c=null}else typeof window<"u"&&typeof window.prompt=="function"?(c=window.prompt("Input: "),c!==null&&(c+=` +`)});var H=void 0,F=void 0;n.read=function(c,h){c=F.normalize(c);var f=H.readFileSync(c);return!f&&c!=F.resolve(c)&&(c=path.join(__dirname,"..","src",c),f=H.readFileSync(c)),f&&!h&&(f=f.toString()),f},n.readBinary=function(c){return n.read(c,!0)},n.load=function(c){S0(read(c))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof nA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(x)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(c){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(c));var h=read(c,"binary");return N9(typeof h=="object"),h},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(l||m){if(n.read=function(c){var h=new XMLHttpRequest;return h.open("GET",c,!1),h.send(null),h.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(c){console.log(c)}),n.printErr||(n.printErr=function(c){console.log(c)});else{var T=!1;n.print||(n.print=T&&typeof dump<"u"?function(r){dump(r)}:function(r){})}m&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function S0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(c){S0(n.read(c))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var a in i)i.hasOwnProperty(a)&&(n[a]=i[a]);var w={setTempRet0:function(r){p6=r},getTempRet0:function(){return p6},stackSave:function(){return S7},stackRestore:function(r){S7=r},getNativeTypeSize:function(r){switch(r){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(r[r.length-1]==="*")return w.QUANTUM_SIZE;if(r[0]==="i"){var c=parseInt(r.substr(1));return N9(c%8===0),c/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(w.getNativeTypeSize(r),w.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,c){return c==="double"||c==="i64"?r&7&&(N9((r&7)===4),r+=4):N9((r&3)===0),r},getAlignSize:function(r,c,h){return!h&&(r=="i64"||r=="double")?8:r?Math.min(c||(r?w.getNativeFieldSize(r):0),w.QUANTUM_SIZE):Math.min(c,8)},dynCall:function(r,c,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,c),n["dynCall_"+r].apply(null,h)):n["dynCall_"+r].call(null,c)},functionPointers:[],addFunction:function(r){for(var c=0;c=Js){var h=pC();if(!h)return U7=c,0}return c},alignMemory:function(r,c){var h=r=Math.ceil(r/(c||16))*(c||16);return h},makeBigInt:function(r,c,h){var f=h?+(r>>>0)+ +(c>>>0)*4294967296:+(r>>>0)+ +(c|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=w;var U=0,P=!1,F0=0,m1=0,l1,j1,U1,c2,P2,L2,a0,g5,p3,k3,u6,S3,ce,Ne,E3,p6,w4,er,q8,ja,yr,Xa,G$,dC,fC;function N9(r,c){r||eo("Assertion failed: "+c)}var Gk=this;function IC(r){var c=n["_"+r];if(!c)try{c=void("_"+r)}catch{}return N9(c,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),c}var U$,eA;(function(){var r={stackSave:function(){w.stackSave()},stackRestore:function(){w.stackRestore()},arrayToC:function(e1){var n1=w.stackAlloc(e1.length);return iA(e1,n1),n1},stringToC:function(e1){var n1=0;return e1!=null&&e1!==0&&(n1=w.stackAlloc((e1.length<<2)+1),Zs(e1,n1)),n1}},c={string:r.stringToC,array:r.arrayToC};eA=function(n1,x2,o,c1,C){var S5=IC(n1),w2=[],P5=0;if(c1)for(var Ue=0;Ue>0]=c;break;case"i8":Xe[r>>0]=c;break;case"i16":jr[r>>1]=c;break;case"i32":Ge[r>>2]=c;break;case"i64":Ne=[c>>>0,(S3=c,+el(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+v8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],Ge[r>>2]=Ne[0],Ge[r+4>>2]=Ne[1];break;case"float":il[r>>2]=c;break;case"double":H$[r>>3]=c;break;default:eo("invalid type for setValue: "+h)}}n.setValue=vu;function Qr(r,c,h){switch(c=c||"i8",c.charAt(c.length-1)==="*"&&(c="i32"),c){case"i1":return Xe[r>>0];case"i8":return Xe[r>>0];case"i16":return jr[r>>1];case"i32":return Ge[r>>2];case"i64":return Ge[r>>2];case"float":return il[r>>2];case"double":return H$[r>>3];default:eo("invalid type for setValue: "+c)}return null}n.getValue=Qr;var tA=0,Op=1,Vs=2,ku=3,H3=4;n.ALLOC_NORMAL=tA,n.ALLOC_STACK=Op,n.ALLOC_STATIC=Vs,n.ALLOC_DYNAMIC=ku,n.ALLOC_NONE=H3;function B3(r,c,h,f){var z,e;typeof r=="number"?(z=!0,e=r):(z=!1,e=r.length);var e1=typeof c=="string"?c:null,n1;if(h==H3?n1=f:n1=[Ru,w.stackAlloc,w.staticAlloc,w.dynamicAlloc][h===void 0?Vs:h](Math.max(e,e1?1:c.length)),z){var f=n1,x2;for(N9((n1&3)==0),x2=n1+(e&-4);f>2]=0;for(x2=n1+e;f>0]=0;return n1}if(e1==="i8")return r.subarray||r.slice?b7.set(r,n1):b7.set(new Uint8Array(r),n1),n1;for(var o=0,c1,C,S5;o>0],h|=f,!(f==0&&!c||(z++,c&&z==c)););c||(c=z);var e="";if(h<128){for(var e1=1024,n1;c>0;)n1=String.fromCharCode.apply(String,b7.subarray(r,r+Math.min(c,e1))),e=e?e+n1:n1,r+=e1,c-=e1;return e}return n.UTF8ToString(r)}n.Pointer_stringify=P$;function O$(r){for(var c="";;){var h=Xe[r++>>0];if(!h)return c;c+=String.fromCharCode(h)}}n.AsciiToString=O$;function wB(r,c){return j$(r,c,!1)}n.stringToAscii=wB;function Ys(r,c){for(var h,f,z,e,e1,n1,x2="";;){if(h=r[c++],!h)return x2;if(!(h&128)){x2+=String.fromCharCode(h);continue}if(f=r[c++]&63,(h&224)==192){x2+=String.fromCharCode((h&31)<<6|f);continue}if(z=r[c++]&63,(h&240)==224?h=(h&15)<<12|f<<6|z:(e=r[c++]&63,(h&248)==240?h=(h&7)<<18|f<<12|z<<6|e:(e1=r[c++]&63,(h&252)==248?h=(h&3)<<24|f<<18|z<<12|e<<6|e1:(n1=r[c++]&63,h=(h&1)<<30|f<<24|z<<18|e<<12|e1<<6|n1))),h<65536)x2+=String.fromCharCode(h);else{var o=h-65536;x2+=String.fromCharCode(55296|o>>10,56320|o&1023)}}}n.UTF8ArrayToString=Ys;function qp(r){return Ys(b7,r)}n.UTF8ToString=qp;function Un(r,c,h,f){if(!(f>0))return 0;for(var z=h,e=h+f-1,e1=0;e1=55296&&n1<=57343&&(n1=65536+((n1&1023)<<10)|r.charCodeAt(++e1)&1023),n1<=127){if(h>=e)break;c[h++]=n1}else if(n1<=2047){if(h+1>=e)break;c[h++]=192|n1>>6,c[h++]=128|n1&63}else if(n1<=65535){if(h+2>=e)break;c[h++]=224|n1>>12,c[h++]=128|n1>>6&63,c[h++]=128|n1&63}else if(n1<=2097151){if(h+3>=e)break;c[h++]=240|n1>>18,c[h++]=128|n1>>12&63,c[h++]=128|n1>>6&63,c[h++]=128|n1&63}else if(n1<=67108863){if(h+4>=e)break;c[h++]=248|n1>>24,c[h++]=128|n1>>18&63,c[h++]=128|n1>>12&63,c[h++]=128|n1>>6&63,c[h++]=128|n1&63}else{if(h+5>=e)break;c[h++]=252|n1>>30,c[h++]=128|n1>>24&63,c[h++]=128|n1>>18&63,c[h++]=128|n1>>12&63,c[h++]=128|n1>>6&63,c[h++]=128|n1&63}}return c[h]=0,h-z}n.stringToUTF8Array=Un;function Hp(r,c,h){return Un(r,b7,c,h)}n.stringToUTF8=Hp;function zs(r){for(var c=0,h=0;h=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++h)&1023),f<=127?++c:f<=2047?c+=2:f<=65535?c+=3:f<=2097151?c+=4:f<=67108863?c+=5:c+=6}return c}n.lengthBytesUTF8=zs;function Vp(r){for(var c=0,h="";;){var f=jr[r+c*2>>1];if(f==0)return h;++c,h+=String.fromCharCode(f)}}n.UTF16ToString=Vp;function vB(r,c,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var f=c,z=h>1]=e1,c+=2}return jr[c>>1]=0,c-f}n.stringToUTF16=vB;function kB(r){return r.length*2}n.lengthBytesUTF16=kB;function SB(r){for(var c=0,h="";;){var f=Ge[r+c*4>>2];if(f==0)return h;if(++c,f>=65536){var z=f-65536;h+=String.fromCharCode(55296|z>>10,56320|z&1023)}else h+=String.fromCharCode(f)}}n.UTF32ToString=SB;function bB(r,c,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var f=c,z=f+h-4,e=0;e=55296&&e1<=57343){var n1=r.charCodeAt(++e);e1=65536+((e1&1023)<<10)|n1&1023}if(Ge[c>>2]=e1,c+=4,c+4>z)break}return Ge[c>>2]=0,c-f}n.stringToUTF32=bB;function DB(r){for(var c=0,h=0;h=55296&&f<=57343&&++h,c+=4}return c}n.lengthBytesUTF32=DB;function _B(r){var c=!!n.___cxa_demangle;if(c)try{var h=Ru(r.length);Zs(r.substr(1),h);var f=Ru(4),z=n.___cxa_demangle(h,0,0,f);if(Qr(f,"i32")===0&&z)return P$(z)}catch{}finally{h&&QC(h),f&&QC(f),z&&QC(z)}var e=3,e1={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:"..."},n1=[],x2=!0;function o(w2){w2&&n.print(w2),n.print(r);for(var P5="",Ue=0;Ue"}else We=i9;e:for(;e0;){var kr=r[e++];if(kr in e1)y9.push(e1[kr]);else switch(kr){case"P":y9.push(C(!0,1,!0)[0]+"*");break;case"R":y9.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var nl=r.indexOf("E",e),It=nl-e;y9.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,y9.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:We+="?"+kr;break e}}return!Ue&&y9.length===1&&y9[0]==="void"&&(y9=[]),w2?(We&&y9.push(We+"?"),y9):We+Dt()}var S5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=P$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}S5=C()}catch{S5+="?"}return S5.indexOf("?")>=0&&!c&&w.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),S5}function xB(r){return r.replace(/__Z[\w\d_]+/g,function(c){var h=_B(c);return c===h?c:c+" ["+h+"]"})}function LB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(c){r=c}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Yp(){return xB(LB())}n.stackTrace=Yp;var mC=4096;function Su(r){return r%4096>0&&(r+=4096-r%4096),r}var zp,Xe,b7,jr,q$,Ge,tl,il,H$,Ks=0,Xr=0,V$=!1,bu=0,S7=0,Y$=0,z$=0,U7=0;function pC(){eo("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Js+", (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 Kp=n.TOTAL_STACK||5242880,Js=n.TOTAL_MEMORY||16777216,en=64*1024;en0;){var c=r.shift();if(typeof c=="function"){c();continue}var h=c.func;typeof h=="number"?c.arg===void 0?w.dynCall("v",h):w.dynCall("vi",h,[c.arg]):h(c.arg===void 0?null:c.arg)}}var Jp=[],J$=[],Du=[],W$=[],_u=[],xu=!1,Pn=!1;function Lu(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Gi(n.preRun.shift());K$(Jp)}function Ws(){xu||(xu=!0,K$(J$))}function MB(){K$(Du)}function Wp(){K$(W$),Pn=!0}function Z$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)EC(n.postRun.shift());K$(_u)}function Gi(r){Jp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function RB(r){J$.unshift(r)}n.addOnInit=n.addOnInit=RB;function FB(r){Du.unshift(r)}n.addOnPreMain=n.addOnPreMain=FB;function TB(r){W$.unshift(r)}n.addOnExit=n.addOnExit=TB;function EC(r){_u.unshift(r)}n.addOnPostRun=n.addOnPostRun=EC;function tn(r,c,h){var f=h>0?h:zs(r)+1,z=new Array(f),e=Un(r,z,0,z.length);return c&&(z.length=e),z}n.intArrayFromString=tn;function CC(r){for(var c=[],h=0;h255&&(f&=255),c.push(String.fromCharCode(f))}return c.join("")}n.intArrayToString=CC;function Zs(r,c,h){for(var f=tn(r,h),z=0;z>0]=e,z=z+1}}n.writeStringToMemory=Zs;function iA(r,c){for(var h=0;h>0]=r[h]}n.writeArrayToMemory=iA;function j$(r,c,h){for(var f=0;f>0]=r.charCodeAt(f);h||(Xe[c>>0]=0)}n.writeAsciiToMemory=j$;function Zp(r,c,h){return r>=0?r:c<=32?2*Math.abs(1<=f&&(c<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(c,h){var f=c>>>16,z=c&65535,e=h>>>16,e1=h&65535;return z*e1+(f*e1+z*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var c=0;c<32;c++)if(r&1<<31-c)return c;return 32}),Math.clz32=Math.clz32;var el=Math.abs,BC=Math.cos,tr=Math.sin,T0=Math.tan,i1=Math.acos,w1=Math.asin,_2=Math.atan,i6=Math.atan2,Ee=Math.exp,e9=Math.log,E6=Math.sqrt,v8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,Ce=Math.fround,Ui=Math.min,O7=Math.clz32,k8=0,Pi=null,q7=null;function H7(r){return r}function On(r){k8++,n.monitorRunDependencies&&n.monitorRunDependencies(k8)}n.addRunDependency=On;function wr(r){if(k8--,n.monitorRunDependencies&&n.monitorRunDependencies(k8),k8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),q7)){var c=q7;q7=null,c()}}n.removeRunDependency=wr,n.preloadedImages={},n.preloadedAudios={};var jp=null,Mu=[];Ks=8,Xr=Ks+553552,J$.push(),B3([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",H3,w.GLOBAL_BASE),B3([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",H3,w.GLOBAL_BASE+10240),B3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,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",H3,w.GLOBAL_BASE+20480),B3([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",H3,w.GLOBAL_BASE+30720),B3([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",H3,w.GLOBAL_BASE+41032),B3([1],"i8",H3,w.GLOBAL_BASE+49544),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+50572),B3([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",H3,w.GLOBAL_BASE+52752),B3([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",H3,w.GLOBAL_BASE+55148),B3([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",H3,w.GLOBAL_BASE+62212),B3([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",H3,w.GLOBAL_BASE+72464),B3([1],"i8",H3,w.GLOBAL_BASE+78916),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+79944),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+81996),B3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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",H3,w.GLOBAL_BASE+83152),B3([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",H3,w.GLOBAL_BASE+86572),B3([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",H3,w.GLOBAL_BASE+97272),B3([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",H3,w.GLOBAL_BASE+107456),B3([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",H3,w.GLOBAL_BASE+117696),B3([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",H3,w.GLOBAL_BASE+124340),B3([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",H3,w.GLOBAL_BASE+134580),B3([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",H3,w.GLOBAL_BASE+144820),B3([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",H3,w.GLOBAL_BASE+155104),B3([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",H3,w.GLOBAL_BASE+165344),B3([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",H3,w.GLOBAL_BASE+175348),B3([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",H3,w.GLOBAL_BASE+185588),B3([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",H3,w.GLOBAL_BASE+195830),B3([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",H3,w.GLOBAL_BASE+207264),B3([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",H3,w.GLOBAL_BASE+218416),B3([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",H3,w.GLOBAL_BASE+229400),B3([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",H3,w.GLOBAL_BASE+240320),B3([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",H3,w.GLOBAL_BASE+242772),B3([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",H3,w.GLOBAL_BASE+253728),B3([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",H3,w.GLOBAL_BASE+263472),B3([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",H3,w.GLOBAL_BASE+274008),B3([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",H3,w.GLOBAL_BASE+284176),B3([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",H3,w.GLOBAL_BASE+294712),B3([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",H3,w.GLOBAL_BASE+304880),B3([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",H3,w.GLOBAL_BASE+315120),B3([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",H3,w.GLOBAL_BASE+325360),B3([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",H3,w.GLOBAL_BASE+339320),B3([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",H3,w.GLOBAL_BASE+349504),B3([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",H3,w.GLOBAL_BASE+360488),B3([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",H3,w.GLOBAL_BASE+363696),B3([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",H3,w.GLOBAL_BASE+366508),B3([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",H3,w.GLOBAL_BASE+369616),B3([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",H3,w.GLOBAL_BASE+379856),B3([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",H3,w.GLOBAL_BASE+390097),B3([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",H3,w.GLOBAL_BASE+400337),B3([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",H3,w.GLOBAL_BASE+410577),B3([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",H3,w.GLOBAL_BASE+420817),B3([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",H3,w.GLOBAL_BASE+431057),B3([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",H3,w.GLOBAL_BASE+441297),B3([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",H3,w.GLOBAL_BASE+446300),B3([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",H3,w.GLOBAL_BASE+456540),B3([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",H3,w.GLOBAL_BASE+466780),B3([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",H3,w.GLOBAL_BASE+477020),B3([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",H3,w.GLOBAL_BASE+487288),B3([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",H3,w.GLOBAL_BASE+489700),B3([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",H3,w.GLOBAL_BASE+500144),B3([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",H3,w.GLOBAL_BASE+510456),B3([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",H3,w.GLOBAL_BASE+520696),B3([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",H3,w.GLOBAL_BASE+530936),B3([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",H3,w.GLOBAL_BASE+541176),B3([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",H3,w.GLOBAL_BASE+551416);var bt=w.alignMemory(B3(12,"i8",Vs),8);N9(bt%8==0);function yC(r){Xe[bt]=Xe[r],Xe[bt+1]=Xe[r+1],Xe[bt+2]=Xe[r+2],Xe[bt+3]=Xe[r+3]}function vr(r){Xe[bt]=Xe[r],Xe[bt+1]=Xe[r+1],Xe[bt+2]=Xe[r+2],Xe[bt+3]=Xe[r+3],Xe[bt+4]=Xe[r+4],Xe[bt+5]=Xe[r+5],Xe[bt+6]=Xe[r+6],Xe[bt+7]=Xe[r+7]}var ir=BC,rA=el,js=0;function Xs(r){return Ge[js>>2]=r,r}var N2={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 NB(r){switch(r){case 30:return mC;case 85:return en/mC;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 Xs(N2.EINVAL),-1}n._memset=ES;var GB=!0;n._strlen=fS,n._strcat=IS,n._bitshift64Shl=QS;function Uk(){n.abort()}n._i64Add=mS;var Pk=H4,Ok={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"},qn={ttys:[],init:function(){},shutdown:function(){},register:function(r,c){qn.ttys[r]={input:[],output:[],ops:c},S.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var c=qn.ttys[r.node.rdev];if(!c)throw new S.ErrnoError(N2.ENODEV);r.tty=c,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,c,h,f,z){if(!r.tty||!r.tty.ops.get_char)throw new S.ErrnoError(N2.ENXIO);for(var e=0,e1=0;e10?c=f.slice(0,z).toString("utf-8"):c=null}else typeof window<"u"&&typeof window.prompt=="function"?(c=window.prompt("Input: "),c!==null&&(c+=` `)):typeof readline=="function"&&(c=readline(),c!==null&&(c+=` -`));if(!c)return null;r.input=tn(c,!0)}return r.input.shift()},put_char:function(r,c){c===null||c===10?(n.print(Ys(r.output,0)),r.output=[]):c!=0&&r.output.push(c)},flush:function(r){r.output&&r.output.length>0&&(n.print(Ys(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,c){c===null||c===10?(n.printErr(Ys(r.output,0)),r.output=[]):c!=0&&r.output.push(c)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Ys(r.output,0)),r.output=[])}}},Me={ops_table:null,mount:function(r){return Me.createNode(null,"/",16895,0)},createNode:function(r,c,h,f){if(S.isBlkdev(h)||S.isFIFO(h))throw new S.ErrnoError(N2.EPERM);Me.ops_table||(Me.ops_table={dir:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,lookup:Me.node_ops.lookup,mknod:Me.node_ops.mknod,rename:Me.node_ops.rename,unlink:Me.node_ops.unlink,rmdir:Me.node_ops.rmdir,readdir:Me.node_ops.readdir,symlink:Me.node_ops.symlink},stream:{llseek:Me.stream_ops.llseek}},file:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:{llseek:Me.stream_ops.llseek,read:Me.stream_ops.read,write:Me.stream_ops.write,allocate:Me.stream_ops.allocate,mmap:Me.stream_ops.mmap,msync:Me.stream_ops.msync}},link:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,readlink:Me.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:S.chrdev_stream_ops}});var z=S.createNode(r,c,h,f);return S.isDir(z.mode)?(z.node_ops=Me.ops_table.dir.node,z.stream_ops=Me.ops_table.dir.stream,z.contents={}):S.isFile(z.mode)?(z.node_ops=Me.ops_table.file.node,z.stream_ops=Me.ops_table.file.stream,z.usedBytes=0,z.contents=null):S.isLink(z.mode)?(z.node_ops=Me.ops_table.link.node,z.stream_ops=Me.ops_table.link.stream):S.isChrdev(z.mode)&&(z.node_ops=Me.ops_table.chrdev.node,z.stream_ops=Me.ops_table.chrdev.stream),z.timestamp=Date.now(),r&&(r.contents[c]=z),z},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var c=[],h=0;hr.contents.length&&(r.contents=Me.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var h=r.contents?r.contents.buffer.byteLength:0;if(h>=c)return;var f=1024*1024;c=Math.max(c,h*(h0&&r.contents.set(z.subarray(0,r.usedBytes),0);return}for(!r.contents&&c>0&&(r.contents=[]);r.contents.lengthc)r.contents.length=c;else for(;r.contents.length=r.node.usedBytes)return 0;var e1=Math.min(r.node.usedBytes-z,f);if(N9(e1>=0),e1>8&&e.subarray)c.set(e.subarray(z,z+e1),h);else for(var n1=0;n10||z+fP5.timestamp)&&(z.push(S5),f++)});var e=[];if(Object.keys(c.entries).forEach(function(S5){var w2=c.entries[S5],P5=r.entries[S5];P5||(e.push(S5),f++)}),!f)return h(null);var e1=!1,n1=0,x2=r.type==="remote"?r.db:c.db,o=x2.transaction([S8.DB_STORE_NAME],"readwrite"),c1=o.objectStore(S8.DB_STORE_NAME);function C(S5){if(S5)return C.errored?void 0:(C.errored=!0,h(S5));if(++n1>=f)return h(null)}o.onerror=function(S5){C(this.error),S5.preventDefault()},z.sort().forEach(function(S5){c.type==="local"?S8.loadRemoteEntry(c1,S5,function(w2,P5){if(w2)return C(w2);S8.storeLocalEntry(S5,P5,C)}):S8.loadLocalEntry(S5,function(w2,P5){if(w2)return C(w2);S8.storeRemoteEntry(c1,S5,P5,C)})}),e.sort().reverse().forEach(function(S5){c.type==="local"?S8.removeLocalEntry(S5,C):S8.removeRemoteEntry(c1,S5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return N9(u),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,c,h,f){if(!S.isDir(h)&&!S.isFile(h)&&!S.isLink(h))throw new S.ErrnoError(N2.EINVAL);var z=S.createNode(r,c,h);return z.node_ops=ft.node_ops,z.stream_ops=ft.stream_ops,z},getMode:function(r){var c;try{c=b8.lstatSync(r),ft.isWindows&&(c.mode=c.mode|(c.mode&146)>>1)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}return c.mode},realPath:function(r){for(var c=[];r.parent!==r;)c.push(r.name),r=r.parent;return c.push(r.mount.opts.root),c.reverse(),Ie.join.apply(null,c)},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(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var c=ft.realPath(r),h;try{h=b8.lstatSync(c)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}return ft.isWindows&&!h.blksize&&(h.blksize=4096),ft.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(r,c){var h=ft.realPath(r);try{if(c.mode!==void 0&&(b8.chmodSync(h,c.mode),r.mode=c.mode),c.timestamp!==void 0){var f=new Date(c.timestamp);b8.utimesSync(h,f,f)}c.size!==void 0&&b8.truncateSync(h,c.size)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},lookup:function(r,c){var h=Ie.join2(ft.realPath(r),c),f=ft.getMode(h);return ft.createNode(r,c,f)},mknod:function(r,c,h,f){var z=ft.createNode(r,c,h,f),e=ft.realPath(z);try{S.isDir(z.mode)?b8.mkdirSync(e,z.mode):b8.writeFileSync(e,"",{mode:z.mode})}catch(e1){throw e1.code?new S.ErrnoError(N2[e1.code]):e1}return z},rename:function(r,c,h){var f=ft.realPath(r),z=Ie.join2(ft.realPath(c),h);try{b8.renameSync(f,z)}catch(e){throw e.code?new S.ErrnoError(N2[e.code]):e}},unlink:function(r,c){var h=Ie.join2(ft.realPath(r),c);try{b8.unlinkSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},rmdir:function(r,c){var h=Ie.join2(ft.realPath(r),c);try{b8.rmdirSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},readdir:function(r){var c=ft.realPath(r);try{return b8.readdirSync(c)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},symlink:function(r,c,h){var f=Ie.join2(ft.realPath(r),c);try{b8.symlinkSync(h,f)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},readlink:function(r){var c=ft.realPath(r);try{return c=b8.readlinkSync(c),c=OB.relative(OB.resolve(r.mount.opts.root),c),c}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}}},stream_ops:{open:function(r){var c=ft.realPath(r.node);try{S.isFile(r.node.mode)&&(r.nfd=b8.openSync(c,ft.flagsToPermissionString(r.flags)))}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},close:function(r){try{S.isFile(r.node.mode)&&r.nfd&&b8.closeSync(r.nfd)}catch(c){throw c.code?new S.ErrnoError(N2[c.code]):c}},read:function(r,c,h,f,z){if(f===0)return 0;var e=new Buffer(f),e1;try{e1=b8.readSync(r.nfd,e,0,f,z)}catch(x2){throw new S.ErrnoError(N2[x2.code])}if(e1>0)for(var n1=0;n18)throw new S.ErrnoError(N2.ELOOP);for(var z=Ie.normalizeArray(r.split("/").filter(function(S5){return!!S5}),!1),e=S.root,e1="/",n1=0;n140)throw new S.ErrnoError(N2.ELOOP)}}return{path:e1,node:e}},getPath:function(r){for(var c;;){if(S.isRoot(r)){var h=r.mount.mountpoint;return c?h[h.length-1]!=="/"?h+"/"+c:h+c:h}c=c?r.name+"/"+c:r.name,r=r.parent}},hashName:function(r,c){for(var h=0,f=0;f>>0)%S.nameTable.length},hashAddNode:function(r){var c=S.hashName(r.parent.id,r.name);r.name_next=S.nameTable[c],S.nameTable[c]=r},hashRemoveNode:function(r){var c=S.hashName(r.parent.id,r.name);if(S.nameTable[c]===r)S.nameTable[c]=r.name_next;else for(var h=S.nameTable[c];h;){if(h.name_next===r){h.name_next=r.name_next;break}h=h.name_next}},lookupNode:function(r,c){var h=S.mayLookup(r);if(h)throw new S.ErrnoError(h,r);for(var f=S.hashName(r.id,c),z=S.nameTable[f];z;z=z.name_next){var e=z.name;if(z.parent.id===r.id&&e===c)return z}return S.lookup(r,c)},createNode:function(r,c,h,f){if(!S.FSNode){S.FSNode=function(n1,x2,o,c1){n1||(n1=this),this.parent=n1,this.mount=n1.mount,this.mounted=null,this.id=S.nextInode++,this.name=x2,this.mode=o,this.node_ops={},this.stream_ops={},this.rdev=c1},S.FSNode.prototype={};var z=365,e=146;Object.defineProperties(S.FSNode.prototype,{read:{get:function(){return(this.mode&z)===z},set:function(n1){n1?this.mode|=z:this.mode&=~z}},write:{get:function(){return(this.mode&e)===e},set:function(n1){n1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}})}var e1=new S.FSNode(r,c,h,f);return S.hashAddNode(e1),e1},destroyNode:function(r){S.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&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(r){var c=S.flagModes[r];if(typeof c>"u")throw new Error("Unknown file open mode: "+r);return c},flagsToPermissionString:function(r){var c=r&2097155,h=["r","w","rw"][c];return r&512&&(h+="w"),h},nodePermissions:function(r,c){return S.ignorePermissions?0:c.indexOf("r")!==-1&&!(r.mode&292)||c.indexOf("w")!==-1&&!(r.mode&146)||c.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var c=S.nodePermissions(r,"x");return c||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,c){try{var h=S.lookupNode(r,c);return N2.EEXIST}catch{}return S.nodePermissions(r,"wx")},mayDelete:function(r,c,h){var f;try{f=S.lookupNode(r,c)}catch(e){return e.errno}var z=S.nodePermissions(r,"wx");if(z)return z;if(h){if(!S.isDir(f.mode))return N2.ENOTDIR;if(S.isRoot(f)||S.getPath(f)===S.cwd())return N2.EBUSY}else if(S.isDir(f.mode))return N2.EISDIR;return 0},mayOpen:function(r,c){return r?S.isLink(r.mode)?N2.ELOOP:S.isDir(r.mode)&&(c&2097155||c&512)?N2.EISDIR:S.nodePermissions(r,S.flagsToPermissionString(c)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,c){r=r||0,c=c||S.MAX_OPEN_FDS;for(var h=r;h<=c;h++)if(!S.streams[h])return h;throw new S.ErrnoError(N2.EMFILE)},getStream:function(r){return S.streams[r]},createStream:function(r,c,h){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={},Object.defineProperties(S.FSStream.prototype,{object:{get:function(){return this.node},set:function(e1){this.node=e1}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new S.FSStream;for(var z in r)f[z]=r[z];r=f;var e=S.nextfd(c,h);return r.fd=e,S.streams[e]=r,r},closeStream:function(r){S.streams[r]=null},getStreamFromPtr:function(r){return S.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var c=S.getDevice(r.node.rdev);r.stream_ops=c.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new S.ErrnoError(N2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,c){return r<<8|c},registerDevice:function(r,c){S.devices[r]={stream_ops:c}},getDevice:function(r){return S.devices[r]},getMounts:function(r){for(var c=[],h=[r];h.length;){var f=h.pop();c.push(f),h.push.apply(h,f.mounts)}return c},syncfs:function(r,c){typeof r=="function"&&(c=r,r=!1);var h=S.getMounts(S.root.mount),f=0;function z(e){if(e)return z.errored?void 0:(z.errored=!0,c(e));++f>=h.length&&c(null)}h.forEach(function(e){if(!e.type.syncfs)return z(null);e.type.syncfs(e,r,z)})},mount:function(r,c,h){var f=h==="/",z=!h,e;if(f&&S.root)throw new S.ErrnoError(N2.EBUSY);if(!f&&!z){var e1=S.lookupPath(h,{follow_mount:!1});if(h=e1.path,e=e1.node,S.isMountpoint(e))throw new S.ErrnoError(N2.EBUSY);if(!S.isDir(e.mode))throw new S.ErrnoError(N2.ENOTDIR)}var n1={type:r,opts:c,mountpoint:h,mounts:[]},x2=r.mount(n1);return x2.mount=n1,n1.root=x2,f?S.root=x2:e&&(e.mounted=n1,e.mount&&e.mount.mounts.push(n1)),x2},unmount:function(r){var c=S.lookupPath(r,{follow_mount:!1});if(!S.isMountpoint(c.node))throw new S.ErrnoError(N2.EINVAL);var h=c.node,f=h.mounted,z=S.getMounts(f);Object.keys(S.nameTable).forEach(function(e1){for(var n1=S.nameTable[e1];n1;){var x2=n1.name_next;z.indexOf(n1.mount)!==-1&&S.destroyNode(n1),n1=x2}}),h.mounted=null;var e=h.mount.mounts.indexOf(f);N9(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(r,c){return r.node_ops.lookup(r,c)},mknod:function(r,c,h){var f=S.lookupPath(r,{parent:!0}),z=f.node,e=Ie.basename(r);if(!e||e==="."||e==="..")throw new S.ErrnoError(N2.EINVAL);var e1=S.mayCreate(z,e);if(e1)throw new S.ErrnoError(e1);if(!z.node_ops.mknod)throw new S.ErrnoError(N2.EPERM);return z.node_ops.mknod(z,e,c,h)},create:function(r,c){return c=c!==void 0?c:438,c&=4095,c|=32768,S.mknod(r,c,0)},mkdir:function(r,c){return c=c!==void 0?c:511,c&=1023,c|=16384,S.mknod(r,c,0)},mkdev:function(r,c,h){return typeof h>"u"&&(h=c,c=438),c|=8192,S.mknod(r,c,h)},symlink:function(r,c){if(!Ie.resolve(r))throw new S.ErrnoError(N2.ENOENT);var h=S.lookupPath(c,{parent:!0}),f=h.node;if(!f)throw new S.ErrnoError(N2.ENOENT);var z=Ie.basename(c),e=S.mayCreate(f,z);if(e)throw new S.ErrnoError(e);if(!f.node_ops.symlink)throw new S.ErrnoError(N2.EPERM);return f.node_ops.symlink(f,z,r)},rename:function(r,c){var h=Ie.dirname(r),f=Ie.dirname(c),z=Ie.basename(r),e=Ie.basename(c),e1,n1,x2;try{e1=S.lookupPath(r,{parent:!0}),n1=e1.node,e1=S.lookupPath(c,{parent:!0}),x2=e1.node}catch{throw new S.ErrnoError(N2.EBUSY)}if(!n1||!x2)throw new S.ErrnoError(N2.ENOENT);if(n1.mount!==x2.mount)throw new S.ErrnoError(N2.EXDEV);var o=S.lookupNode(n1,z),c1=Ie.relative(r,f);if(c1.charAt(0)!==".")throw new S.ErrnoError(N2.EINVAL);if(c1=Ie.relative(c,h),c1.charAt(0)!==".")throw new S.ErrnoError(N2.ENOTEMPTY);var C;try{C=S.lookupNode(x2,e)}catch{}if(o!==C){var S5=S.isDir(o.mode),w2=S.mayDelete(n1,z,S5);if(w2)throw new S.ErrnoError(w2);if(w2=C?S.mayDelete(x2,e,S5):S.mayCreate(x2,e),w2)throw new S.ErrnoError(w2);if(!n1.node_ops.rename)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(o)||C&&S.isMountpoint(C))throw new S.ErrnoError(N2.EBUSY);if(x2!==n1&&(w2=S.nodePermissions(n1,"w"),w2))throw new S.ErrnoError(w2);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(r,c)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+c+"') threw an exception: "+P5.message)}S.hashRemoveNode(o);try{n1.node_ops.rename(o,x2,e)}catch(P5){throw P5}finally{S.hashAddNode(o)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(r,c)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+c+"') threw an exception: "+P5.message)}}},rmdir:function(r){var c=S.lookupPath(r,{parent:!0}),h=c.node,f=Ie.basename(r),z=S.lookupNode(h,f),e=S.mayDelete(h,f,!0);if(e)throw new S.ErrnoError(e);if(!h.node_ops.rmdir)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(z))throw new S.ErrnoError(N2.EBUSY);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e1.message)}h.node_ops.rmdir(h,f),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e1.message)}},readdir:function(r){var c=S.lookupPath(r,{follow:!0}),h=c.node;if(!h.node_ops.readdir)throw new S.ErrnoError(N2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(r){var c=S.lookupPath(r,{parent:!0}),h=c.node,f=Ie.basename(r),z=S.lookupNode(h,f),e=S.mayDelete(h,f,!1);if(e)throw e===N2.EISDIR&&(e=N2.EPERM),new S.ErrnoError(e);if(!h.node_ops.unlink)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(z))throw new S.ErrnoError(N2.EBUSY);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e1.message)}h.node_ops.unlink(h,f),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e1.message)}},readlink:function(r){var c=S.lookupPath(r),h=c.node;if(!h)throw new S.ErrnoError(N2.ENOENT);if(!h.node_ops.readlink)throw new S.ErrnoError(N2.EINVAL);return Ie.resolve(S.getPath(c.node.parent),h.node_ops.readlink(h))},stat:function(r,c){var h=S.lookupPath(r,{follow:!c}),f=h.node;if(!f)throw new S.ErrnoError(N2.ENOENT);if(!f.node_ops.getattr)throw new S.ErrnoError(N2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return S.stat(r,!0)},chmod:function(r,c,h){var f;if(typeof r=="string"){var z=S.lookupPath(r,{follow:!h});f=z.node}else f=r;if(!f.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);f.node_ops.setattr(f,{mode:c&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,c){S.chmod(r,c,!0)},fchmod:function(r,c){var h=S.getStream(r);if(!h)throw new S.ErrnoError(N2.EBADF);S.chmod(h.node,c)},chown:function(r,c,h,f){var z;if(typeof r=="string"){var e=S.lookupPath(r,{follow:!f});z=e.node}else z=r;if(!z.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);z.node_ops.setattr(z,{timestamp:Date.now()})},lchown:function(r,c,h){S.chown(r,c,h,!0)},fchown:function(r,c,h){var f=S.getStream(r);if(!f)throw new S.ErrnoError(N2.EBADF);S.chown(f.node,c,h)},truncate:function(r,c){if(c<0)throw new S.ErrnoError(N2.EINVAL);var h;if(typeof r=="string"){var f=S.lookupPath(r,{follow:!0});h=f.node}else h=r;if(!h.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);if(S.isDir(h.mode))throw new S.ErrnoError(N2.EISDIR);if(!S.isFile(h.mode))throw new S.ErrnoError(N2.EINVAL);var z=S.nodePermissions(h,"w");if(z)throw new S.ErrnoError(z);h.node_ops.setattr(h,{size:c,timestamp:Date.now()})},ftruncate:function(r,c){var h=S.getStream(r);if(!h)throw new S.ErrnoError(N2.EBADF);if(!(h.flags&2097155))throw new S.ErrnoError(N2.EINVAL);S.truncate(h.node,c)},utime:function(r,c,h){var f=S.lookupPath(r,{follow:!0}),z=f.node;z.node_ops.setattr(z,{timestamp:Math.max(c,h)})},open:function(r,c,h,f,z){if(r==="")throw new S.ErrnoError(N2.ENOENT);c=typeof c=="string"?S.modeStringToFlags(c):c,h=typeof h>"u"?438:h,c&64?h=h&4095|32768:h=0;var e;if(typeof r=="object")e=r;else{r=Ie.normalize(r);try{var e1=S.lookupPath(r,{follow:!(c&131072)});e=e1.node}catch{}}var n1=!1;if(c&64)if(e){if(c&128)throw new S.ErrnoError(N2.EEXIST)}else e=S.mknod(r,h,0),n1=!0;if(!e)throw new S.ErrnoError(N2.ENOENT);if(S.isChrdev(e.mode)&&(c&=-513),!n1){var x2=S.mayOpen(e,c);if(x2)throw new S.ErrnoError(x2)}c&512&&S.truncate(e,0),c&=-641;var o=S.createStream({node:e,path:S.getPath(e),flags:c,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,z);o.stream_ops.open&&o.stream_ops.open(o),n.logReadFiles&&!(c&1)&&(S.readFiles||(S.readFiles={}),r in S.readFiles||(S.readFiles[r]=1,n.printErr("read file: "+r)));try{if(S.trackingDelegate.onOpenFile){var c1=0;(c&2097155)!==1&&(c1|=S.tracking.openFlags.READ),c&2097155&&(c1|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(r,c1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return o},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(c){throw c}finally{S.closeStream(r.fd)}},llseek:function(r,c,h){if(!r.seekable||!r.stream_ops.llseek)throw new S.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,c,h),r.ungotten=[],r.position},read:function(r,c,h,f,z){if(f<0||z<0)throw new S.ErrnoError(N2.EINVAL);if((r.flags&2097155)===1)throw new S.ErrnoError(N2.EBADF);if(S.isDir(r.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!r.stream_ops.read)throw new S.ErrnoError(N2.EINVAL);var e=!0;if(typeof z>"u")z=r.position,e=!1;else if(!r.seekable)throw new S.ErrnoError(N2.ESPIPE);var e1=r.stream_ops.read(r,c,h,f,z);return e||(r.position+=e1),e1},write:function(r,c,h,f,z,e){if(f<0||z<0)throw new S.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(S.isDir(r.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!r.stream_ops.write)throw new S.ErrnoError(N2.EINVAL);r.flags&1024&&S.llseek(r,0,2);var e1=!0;if(typeof z>"u")z=r.position,e1=!1;else if(!r.seekable)throw new S.ErrnoError(N2.ESPIPE);var n1=r.stream_ops.write(r,c,h,f,z,e);e1||(r.position+=n1);try{r.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return n1},allocate:function(r,c,h){if(c<0||h<=0)throw new S.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(!S.isFile(r.node.mode)&&!S.isDir(node.mode))throw new S.ErrnoError(N2.ENODEV);if(!r.stream_ops.allocate)throw new S.ErrnoError(N2.EOPNOTSUPP);r.stream_ops.allocate(r,c,h)},mmap:function(r,c,h,f,z,e,e1){if((r.flags&2097155)===1)throw new S.ErrnoError(N2.EACCES);if(!r.stream_ops.mmap)throw new S.ErrnoError(N2.ENODEV);return r.stream_ops.mmap(r,c,h,f,z,e,e1)},msync:function(r,c,h,f,z){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,c,h,f,z)},munmap:function(r){return 0},ioctl:function(r,c,h){if(!r.stream_ops.ioctl)throw new S.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,c,h)},readFile:function(r,c){if(c=c||{},c.flags=c.flags||"r",c.encoding=c.encoding||"binary",c.encoding!=="utf8"&&c.encoding!=="binary")throw new Error('Invalid encoding type "'+c.encoding+'"');var h,f=S.open(r,c.flags),z=S.stat(r),e=z.size,e1=new Uint8Array(e);return S.read(f,e1,0,e,0),c.encoding==="utf8"?h=Ys(e1,0):c.encoding==="binary"&&(h=e1),S.close(f),h},writeFile:function(r,c,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 f=S.open(r,h.flags,h.mode);if(h.encoding==="utf8"){var z=new Uint8Array(zs(c)+1),e=Un(c,z,0,z.length);S.write(f,z,0,e,0,h.canOwn)}else h.encoding==="binary"&&S.write(f,c,0,c.length,0,h.canOwn);S.close(f)},cwd:function(){return S.currentPath},chdir:function(r){var c=S.lookupPath(r,{follow:!0});if(!S.isDir(c.node.mode))throw new S.ErrnoError(N2.ENOTDIR);var h=S.nodePermissions(c.node,"x");if(h)throw new S.ErrnoError(h);S.currentPath=c.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(h,f,z,e,e1){return e}}),S.mkdev("/dev/null",S.makedev(1,3)),qn.register(S.makedev(5,0),qn.default_tty_ops),qn.register(S.makedev(6,0),qn.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var r;if(typeof crypto<"u"){var c=new Uint8Array(1);r=function(){return crypto.getRandomValues(c),c[0]}}else u?r=void 0:r=function(){return Math.random()*256|0};S.createDevice("/dev","random",r),S.createDevice("/dev","urandom",r),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?S.createDevice("/dev","stdin",n.stdin):S.symlink("/dev/tty","/dev/stdin"),n.stdout?S.createDevice("/dev","stdout",null,n.stdout):S.symlink("/dev/tty","/dev/stdout"),n.stderr?S.createDevice("/dev","stderr",null,n.stderr):S.symlink("/dev/tty1","/dev/stderr");var r=S.open("/dev/stdin","r");Ge[qk>>2]=S.getPtrForStream(r),N9(r.fd===0,"invalid handle for stdin ("+r.fd+")");var c=S.open("/dev/stdout","w");Ge[Hk>>2]=S.getPtrForStream(c),N9(c.fd===1,"invalid handle for stdout ("+c.fd+")");var h=S.open("/dev/stderr","w");Ge[Vk>>2]=S.getPtrForStream(h),N9(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(c,h){this.node=h,this.setErrno=function(f){this.errno=f;for(var z in N2)if(N2[z]===f){this.code=z;break}},this.setErrno(c),this.message=Ok[c]},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[N2.ENOENT].forEach(function(r){S.genericErrors[r]=new S.ErrnoError(r),S.genericErrors[r].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(Me,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices()},init:function(r,c,h){N9(!S.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)"),S.init.initialized=!0,S.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=c||n.stdout,n.stderr=h||n.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;for(var r=0;rthis.length-1||S5<0)){var w2=S5%this.chunkSize,P5=S5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(S5){this.getter=S5},e.prototype.cacheLength=function(){var S5=new XMLHttpRequest;if(S5.open("HEAD",h,!1),S5.send(null),!(S5.status>=200&&S5.status<300||S5.status===304))throw new Error("Couldn't load "+h+". Status: "+S5.status);var w2=Number(S5.getResponseHeader("Content-length")),P5,Ue=(P5=S5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",We=1024*1024;Ue||(We=w2);var y9=function(i9,It){if(i9>It)throw new Error("invalid range ("+i9+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var t4=new XMLHttpRequest;if(t4.open("GET",h,!1),w2!==We&&t4.setRequestHeader("Range","bytes="+i9+"-"+It),typeof Uint8Array<"u"&&(t4.responseType="arraybuffer"),t4.overrideMimeType&&t4.overrideMimeType("text/plain; charset=x-user-defined"),t4.send(null),!(t4.status>=200&&t4.status<300||t4.status===304))throw new Error("Couldn't load "+h+". Status: "+t4.status);return t4.response!==void 0?new Uint8Array(t4.response||[]):tn(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(i9){var It=i9*We,t4=(i9+1)*We-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[i9]>"u"&&(Dt.chunks[i9]=y9(It,t4)),typeof Dt.chunks[i9]>"u")throw new Error("doXHR failed!");return Dt.chunks[i9]}),this._length=w2,this._chunkSize=We,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!I)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var e1=new e;Object.defineProperty(e1,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(e1,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var n1={isDevice:!1,contents:e1}}else var n1={isDevice:!1,url:h};var x2=S.createFile(r,c,n1,f,z);n1.contents?x2.contents=n1.contents:n1.url&&(x2.contents=null,x2.url=n1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var o={},c1=Object.keys(x2.stream_ops);return c1.forEach(function(C){var S5=x2.stream_ops[C];o[C]=function(){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);return S5.apply(null,arguments)}}),o.read=function(S5,w2,P5,Ue,We){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);var y9=S5.node.contents;if(We>=y9.length)return 0;var Dt=Math.min(y9.length-We,Ue);if(N9(Dt>=0),y9.slice)for(var i9=0;i9=0;f--){var z=r[f];z==="."?r.splice(f,1):z===".."?(r.splice(f,1),h++):h&&(r.splice(f,1),h--)}if(c)for(;h--;h)r.unshift("..");return r},normalize:function(r){var c=r.charAt(0)==="/",h=r.substr(-1)==="/";return r=Ie.normalizeArray(r.split("/").filter(function(f){return!!f}),!c).join("/"),!r&&!c&&(r="."),r&&h&&(r+="/"),(c?"/":"")+r},dirname:function(r){var c=Ie.splitPath(r),h=c[0],f=c[1];return!h&&!f?".":(f&&(f=f.substr(0,f.length-1)),h+f)},basename:function(r){if(r==="/")return"/";var c=r.lastIndexOf("/");return c===-1?r:r.substr(c+1)},extname:function(r){return Ie.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return Ie.normalize(r.join("/"))},join2:function(r,c){return Ie.normalize(r+"/"+c)},resolve:function(){for(var r="",c=!1,h=arguments.length-1;h>=-1&&!c;h--){var f=h>=0?arguments[h]:S.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,c=f.charAt(0)==="/"}return r=Ie.normalizeArray(r.split("/").filter(function(z){return!!z}),!c).join("/"),(c?"/":"")+r||"."},relative:function(r,c){r=Ie.resolve(r).substr(1),c=Ie.resolve(c).substr(1);function h(o){for(var c1=0;c1=0&&o[C]==="";C--);return c1>C?[]:o.slice(c1,C-c1+1)}for(var f=h(r.split("/")),z=h(c.split("/")),e=Math.min(f.length,z.length),e1=e,n1=0;n10){var n1=Date.now(),x2=K1.mainLoop.queue.shift();if(x2.func(x2.arg),K1.mainLoop.remainingBlockers){var o=K1.mainLoop.remainingBlockers,c1=o%1==0?o-1:Math.floor(o);x2.counted?K1.mainLoop.remainingBlockers=c1:(c1=c1+.5,K1.mainLoop.remainingBlockers=(8*o+c1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-n1)+" ms"),K1.mainLoop.updateStatus(),setTimeout(K1.mainLoop.runner,0);return}if(!(e1&&K1.mainLoop.currentFrameNumber%K1.mainLoop.timingValue!=0){K1.mainLoop.scheduler();return}K1.mainLoop.method==="timeout"&&n.ctx&&(n.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!"),K1.mainLoop.method=""),K1.mainLoop.runIter(function(){typeof f<"u"?w.dynCall("vi",r,[f]):w.dynCall("v",r)}),!(e0?Xp(0,1e3/c):Xp(1,1),K1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var K1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){K1.mainLoop.scheduler=null,K1.mainLoop.currentlyRunningMainloop++},resume:function(){K1.mainLoop.currentlyRunningMainloop++;var r=K1.mainLoop.timingMode,c=K1.mainLoop.timingValue,h=K1.mainLoop.func;K1.mainLoop.func=null,UB(h,0,!1,K1.mainLoop.arg,!0),Xp(r,c),K1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",c=K1.mainLoop.remainingBlockers,h=K1.mainLoop.expectedBlockers;c?c"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,e1,n1,x2){var o=null;if(K1.hasBlobConstructor)try{o=new Blob([e],{type:K1.getMimetype(e1)}),o.size!==e.length&&(o=new Blob([new Uint8Array(e).buffer],{type:K1.getMimetype(e1)}))}catch(w2){w.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!o){var c1=new K1.BlobBuilder;c1.append(new Uint8Array(e).buffer),o=c1.getBlob()}var C=K1.URLObject.createObjectURL(o),S5=new Image;S5.onload=function(){N9(S5.complete,"Image "+e1+" could not be decoded");var P5=document.createElement("canvas");P5.width=S5.width,P5.height=S5.height;var Ue=P5.getContext("2d");Ue.drawImage(S5,0,0),n.preloadedImages[e1]=P5,K1.URLObject.revokeObjectURL(C),n1&&n1(e)},S5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},S5.src=C},n.preloadPlugins.push(r);var c={};c.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},c.handle=function(e,e1,n1,x2){var o=!1;function c1(Ue){o||(o=!0,n.preloadedAudios[e1]=Ue,n1&&n1(e))}function C(){o||(o=!0,n.preloadedAudios[e1]=new Audio,x2&&x2())}if(K1.hasBlobConstructor){try{var S5=new Blob([e],{type:K1.getMimetype(e1)})}catch{return C()}var w2=K1.URLObject.createObjectURL(S5),P5=new Audio;P5.addEventListener("canplaythrough",function(){c1(P5)},!1),P5.onerror=function(We){if(o)return;console.log("warning: browser could not fully decode audio "+e1+", trying slower base64 approach");function y9(Dt){for(var i9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",V7=0,Y7=0,kr=0;kr=6;){var nl=V7>>Y7-6&63;Y7-=6,t4+=i9[nl]}return Y7==2?(t4+=i9[(V7&3)<<4],t4+=It+It):Y7==4&&(t4+=i9[(V7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+e1.substr(-3)+";base64,"+y9(e),c1(P5)},P5.src=w2,K1.safeSetTimeout(function(){c1(P5)},1e4)}else return C()},n.preloadPlugins.push(c);var h=n.canvas;function f(){K1.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",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&h.addEventListener("click",function(z){!K1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),z.preventDefault())},!1))},createContext:function(r,c,h,f){if(c&&n.ctx&&r==n.canvas)return n.ctx;var z,e;if(c){var e1={antialias:!1,alpha:!1};if(f)for(var n1 in f)e1[n1]=f[n1];e=GL.createContext(r,e1),e&&(z=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else z=r.getContext("2d");return z?(h&&(c||N9(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=z,c&&GL.makeContextCurrent(e),n.useWebGL=c,K1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),K1.init()),z):null},destroyContext:function(r,c,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,c,h){K1.lockPointer=r,K1.resizeCanvas=c,K1.vrDevice=h,typeof K1.lockPointer>"u"&&(K1.lockPointer=!0),typeof K1.resizeCanvas>"u"&&(K1.resizeCanvas=!1),typeof K1.vrDevice>"u"&&(K1.vrDevice=null);var f=n.canvas;function z(){K1.isFullScreen=!1;var e1=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e1?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),K1.lockPointer&&f.requestPointerLock(),K1.isFullScreen=!0,K1.resizeCanvas&&K1.setFullScreenCanvasSize()):(e1.parentNode.insertBefore(f,e1),e1.parentNode.removeChild(e1),K1.resizeCanvas&&K1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(K1.isFullScreen),K1.updateCanvasDimensions(f)}K1.fullScreenHandlersInstalled||(K1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",z,!1),document.addEventListener("mozfullscreenchange",z,!1),document.addEventListener("webkitfullscreenchange",z,!1),document.addEventListener("MSFullscreenChange",z,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),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(r){var c=Date.now();if(K1.nextRAF===0)K1.nextRAF=c+1e3/60;else for(;c+2>=K1.nextRAF;)K1.nextRAF+=1e3/60;var h=Math.max(K1.nextRAF-c,0);setTimeout(r,h)},requestAnimationFrame:function(c){typeof window>"u"?K1.fakeRequestAnimationFrame(c):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||K1.fakeRequestAnimationFrame),window.requestAnimationFrame(c))},safeCallback:function(r){return function(){if(!P)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){K1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(K1.allowAsyncCallbacks=!0,K1.queuedAsyncCallbacks.length>0){var r=K1.queuedAsyncCallbacks;K1.queuedAsyncCallbacks=[],r.forEach(function(c){c()})}},safeRequestAnimationFrame:function(r){return K1.requestAnimationFrame(function(){P||(K1.allowAsyncCallbacks?r():K1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,c){return n.noExitRuntime=!0,setTimeout(function(){P||(K1.allowAsyncCallbacks?r():K1.queuedAsyncCallbacks.push(r))},c)},safeSetInterval:function(r,c){return n.noExitRuntime=!0,setInterval(function(){P||K1.allowAsyncCallbacks&&r()},c)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var c=0;switch(r.type){case"DOMMouseScroll":c=r.detail;break;case"mousewheel":c=r.wheelDelta;break;case"wheel":c=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return c},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(K1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?K1.mouseMovementX=K1.mouseMovementY=0:(K1.mouseMovementX=K1.getMovementX(r),K1.mouseMovementY=K1.getMovementY(r)),typeof SDL<"u"?(K1.mouseX=SDL.mouseX+K1.mouseMovementX,K1.mouseY=SDL.mouseY+K1.mouseMovementY):(K1.mouseX+=K1.mouseMovementX,K1.mouseY+=K1.mouseMovementY);else{var c=n.canvas.getBoundingClientRect(),h=n.canvas.width,f=n.canvas.height,z=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var e1=r.touch;if(e1===void 0)return;var n1=e1.pageX-(z+c.left),x2=e1.pageY-(e+c.top);n1=n1*(h/c.width),x2=x2*(f/c.height);var o={x:n1,y:x2};if(r.type==="touchstart")K1.lastTouches[e1.identifier]=o,K1.touches[e1.identifier]=o;else if(r.type==="touchend"||r.type==="touchmove"){var c1=K1.touches[e1.identifier];c1||(c1=o),K1.lastTouches[e1.identifier]=c1,K1.touches[e1.identifier]=o}return}var C=r.pageX-(z+c.left),S5=r.pageY-(e+c.top);C=C*(h/c.width),S5=S5*(f/c.height),K1.mouseMovementX=C-K1.mouseX,K1.mouseMovementY=S5-K1.mouseY,K1.mouseX=C,K1.mouseY=S5}},xhrLoad:function(r,c,h){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?c(f.response):h()},f.onerror=h,f.send(null)},asyncLoad:function(r,c,h,f){K1.xhrLoad(r,function(z){N9(z,'Loading data file "'+r+'" failed (no arrayBuffer).'),c(new Uint8Array(z)),f||wr("al "+r)},function(z){if(h)h();else throw'Loading data file "'+r+'" failed.'}),f||On("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;K1.resizeListeners.forEach(function(c){c(r.width,r.height)})},setCanvasSize:function(r,c,h){var f=n.canvas;K1.updateCanvasDimensions(f,r,c),h||K1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=tl[SDL.screen+w.QUANTUM_SIZE*0>>2];r=r|8388608,Ge[SDL.screen+w.QUANTUM_SIZE*0>>2]=r}K1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=tl[SDL.screen+w.QUANTUM_SIZE*0>>2];r=r&-8388609,Ge[SDL.screen+w.QUANTUM_SIZE*0>>2]=r}K1.updateResizeListeners()},updateCanvasDimensions:function(r,c,h){c&&h?(r.widthNative=c,r.heightNative=h):(c=r.widthNative,h=r.heightNative);var f=c,z=h;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/z>2]=c),c}function oS(){n.printErr("missing function: floor0_exportbundle"),eo(-1)}if(js=w.staticAlloc(4),Ge[js>>2]=0,n.requestFullScreen=function(c,h,f){K1.requestFullScreen(c,h,f)},n.requestAnimationFrame=function(c){K1.requestAnimationFrame(c)},n.setCanvasSize=function(c,h,f){K1.setCanvasSize(c,h,f)},n.pauseMainLoop=function(){K1.mainLoop.pause()},n.resumeMainLoop=function(){K1.mainLoop.resume()},n.getUserMedia=function(){K1.getUserMedia()},n.createContext=function(c,h,f,z){return K1.createContext(c,h,f,z)},S.staticInit(),J$.unshift(function(){!n.noFSInit&&!S.init.initialized&&S.init()}),Du.push(function(){S.ignorePermissions=!1}),W$.push(function(){S.quit()}),n.FS_createFolder=S.createFolder,n.FS_createPath=S.createPath,n.FS_createDataFile=S.createDataFile,n.FS_createPreloadedFile=S.createPreloadedFile,n.FS_createLazyFile=S.createLazyFile,n.FS_createLink=S.createLink,n.FS_createDevice=S.createDevice,J$.unshift(function(){qn.init()}),W$.push(function(){qn.shutdown()}),u)var b8=void 0,OB=void 0;bu=S7=w.alignMemory(Xr),V$=!0,Y$=bu+Kp,z$=U7=w.alignMemory(Y$),N9(z$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function W_(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function US(t){t=t|0,Z6=t}function PS(){return Z6|0}function kC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0;p=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,s=Re(256)|0,A=t+8|0,e[A>>2]=s,$=t+12|0,e[$>>2]=s,f[s>>0]=0,g=t+16|0,e[g>>2]=256}function OS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;M=C,A=s>>3,$=t+12|0,B=e[$>>2]|0,b=(B|0)==0,!b&&(D=A<<3,k=s-D|0,v=t+8|0,_=e[v>>2]|0,Q=_+A|0,e[$>>2]=Q,L=t+4|0,e[L>>2]=k,e[t>>2]=A,g=8+(k<<2)|0,d=e[g>>2]|0,p=f[Q>>0]|0,m=p&255,E=m&d,y=E&255,f[Q>>0]=y)}function H2(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;Y0=C,d=A>>>0>32;do if(!d){if(p=e[t>>2]|0,L=t+16|0,A0=e[L>>2]|0,c0=A0+-4|0,S0=(p|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)q=g;else{if(G0=(g|0)==0,G0)return;if(J0=(A0|0)>2147483391,J0||(V0=t+8|0,j0=e[V0>>2]|0,m=A0+256|0,E=K7(j0,m)|0,y=(E|0)==0,y))break;e[V0>>2]=E,B=e[L>>2]|0,b=B+256|0,e[L>>2]=b,D=e[t>>2]|0,k=E+D|0,e[$>>2]=k,q=k}v=8+(A<<2)|0,_=e[v>>2]|0,Q=_&s,R=t+4|0,M=e[R>>2]|0,F=M+A|0,G=Q<>0]|0,H=O&255,K=H|G,t0=K&255,f[q>>0]=t0,Z=(F|0)>7;do if(Z&&(j=e[R>>2]|0,r0=8-j|0,o0=Q>>>r0,J=o0&255,s0=e[$>>2]|0,Y=s0+1|0,f[Y>>0]=J,d0=(F|0)>15,d0&&(i0=e[R>>2]|0,e0=16-i0|0,h0=Q>>>e0,$0=h0&255,l0=e[$>>2]|0,X=l0+2|0,f[X>>0]=$0,m0=(F|0)>23,m0&&(g0=e[R>>2]|0,I0=24-g0|0,n0=Q>>>I0,f0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=f0,y0=(F|0)>31,y0))))if(D0=e[R>>2]|0,E0=(D0|0)==0,E0){R0=e[$>>2]|0,v0=R0+4|0,f[v0>>0]=0;break}else{Q0=32-D0|0,w0=Q>>>Q0,B0=w0&255,x0=e[$>>2]|0,Z0=x0+4|0,f[Z0>>0]=B0;break}while(!1);U0=(F|0)/8&-1,O0=e[t>>2]|0,H0=O0+U0|0,e[t>>2]=H0,k0=e[$>>2]|0,K0=k0+U0|0,e[$>>2]=K0,N0=F&7,e[R>>2]=N0;return}while(!1);M0=t+8|0,P0=e[M0>>2]|0,W0=(P0|0)==0,W0||E2(P0),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 SC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0;d=C,s=t+8|0,A=e[s>>2]|0,$=(A|0)==0,$||E2(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 mi(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0;y=C,s=t+12|0,A=e[s>>2]|0,$=(A|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[s>>2]=d,p=d,f[p>>0]=0,e[t>>2]=0,m=t+4|0,e[m>>2]=0)}function bC(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,$=s>>>0>32,$)return A=-1,A|0;if(g=8+(s<<2)|0,_=e[g>>2]|0,t0=t+4|0,e0=e[t0>>2]|0,p0=e0+s|0,S0=e[t>>2]|0,y0=t+16|0,D0=e[y0>>2]|0,E0=D0+-4|0,d=(S0|0)<(E0|0),!d){if(p=p0+7|0,m=p>>3,E=D0-m|0,y=(S0|0)>(E|0),y)return A=-1,A|0;if(B=(p0|0)==0,B)return A=0,A|0}return b=t+12|0,D=e[b>>2]|0,k=f[D>>0]|0,v=k&255,Q=v>>>e0,L=(p0|0)>8,L?(R=D+1|0,M=f[R>>0]|0,F=M&255,G=8-e0|0,O=F<16,H?(K=D+2|0,Z=f[K>>0]|0,A0=Z&255,j=16-e0|0,r0=A0<24,J?(s0=D+3|0,Y=f[s0>>0]|0,d0=Y&255,i0=24-e0|0,h0=d0<>0]|0,g0=m0&255,I0=32-e0|0,n0=g0<>2]|0,b=$+s|0,D=e[t>>2]|0,k=t+16|0,v=e[k>>2]|0,_=b+7|0,Q=_>>3,L=v-Q|0,R=(D|0)>(L|0),R){B=t+12|0,e[B>>2]=0,e[t>>2]=v,M=1,e[A>>2]=M;return}else{g=(b|0)/8&-1,d=t+12|0,p=e[d>>2]|0,m=p+g|0,e[d>>2]=m,E=D+g|0,e[t>>2]=E,y=b&7,M=y,e[A>>2]=M;return}}function r4(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0;M0=C,E=s>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,m=t+4|0,d=t,p=m,v0=g;else{if(y=8+(s<<2)|0,F=e[y>>2]|0,o0=t+4|0,X=e[o0>>2]|0,E0=X+s|0,G0=e[t>>2]|0,U0=t+16|0,O0=e[U0>>2]|0,H0=O0+-4|0,B=(G0|0)<(H0|0),!B){if(b=E0+7|0,D=b>>3,k=O0-D|0,v=(G0|0)>(k|0),v){d=t,p=o0,v0=O0;break}if(_=(E0|0)==0,_)return A=0,A|0}return Q=t+12|0,L=e[Q>>2]|0,R=f[L>>0]|0,M=R&255,G=M>>>X,O=(E0|0)>8,O?(q=L+1|0,H=f[q>>0]|0,K=H&255,t0=8-X|0,Z=K<16,j?(r0=L+2|0,J=f[r0>>0]|0,s0=J&255,Y=16-X|0,d0=s0<24,e0?(h0=L+3|0,c0=f[h0>>0]|0,$0=c0&255,l0=24-X|0,m0=$0<>0]|0,C0=p0&255,S0=32-X|0,y0=C0<>2]=B0,x0=G0+w0|0,e[t>>2]=x0,Z0=E0&7,e[o0>>2]=Z0,A=Q0,A|0}while(!1);return R0=t+12|0,e[R0>>2]=0,e[d>>2]=v0,e[p>>2]=1,A=-1,A|0}function D8(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0;return E=C,s=e[t>>2]|0,A=t+4|0,$=e[A>>2]|0,g=$+7|0,d=(g|0)/8&-1,p=d+s|0,p|0}function fy(t){t=t|0;var s=0,A=0,$=0,g=0;return g=C,s=t+8|0,A=e[s>>2]|0,A|0}function qS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0;if(O=C,g=(t|0)==0,g)return A=-1,A|0;g4(t|0,0,360)|0,d=t+4|0,e[d>>2]=16384,D=t+24|0,e[D>>2]=1024,k=Re(16384)|0,e[t>>2]=k,v=Re(4096)|0,_=t+16|0,e[_>>2]=v,Q=Re(8192)|0,L=t+20|0,e[L>>2]=Q,R=(k|0)==0;do if(R)m=v;else{if(M=(v|0)==0,p=(Q|0)==0,F=p|M,F){E2(k),$=e[_>>2]|0,m=$;break}return b=t+336|0,e[b>>2]=s,A=0,A|0}while(!1);return E=(m|0)==0,E||E2(m),y=e[L>>2]|0,B=(y|0)==0,B||E2(y),g4(t|0,0,360)|0,A=-1,A|0}function HS(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0;return b=C,s=(t|0)==0,s||(A=e[t>>2]|0,$=(A|0)==0,$||E2(A),g=t+16|0,d=e[g>>2]|0,p=(d|0)==0,p||E2(d),m=t+20|0,E=e[m>>2]|0,y=(E|0)==0,y||E2(E),g4(t|0,0,360)|0),0}function VS(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0;if(O0=C,s=(t|0)==0,!s){if(A=e[t>>2]|0,k=A+22|0,f[k>>0]=0,H=e[t>>2]|0,d0=H+23|0,f[d0>>0]=0,n0=e[t>>2]|0,D0=n0+24|0,f[D0>>0]=0,E0=e[t>>2]|0,Q0=E0+25|0,f[Q0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(d=e[t>>2]|0,x0=0,v0=0;;)if(b=x0<<8,D=x0>>>24,v=d+v0|0,_=f[v>>0]|0,Q=_&255,L=Q^D,R=144+(L<<2)|0,M=e[R>>2]|0,F=M^b,G=v0+1|0,O=(G|0)<($|0),O)x0=F,v0=G;else{B0=F;break}else B0=0;if(p=t+12|0,m=e[p>>2]|0,E=(m|0)>0,E)for(y=t+8|0,B=e[y>>2]|0,R0=B0,G0=0;;)if(q=R0<<8,K=R0>>>24,t0=B+G0|0,Z=f[t0>>0]|0,A0=Z&255,j=A0^K,r0=144+(j<<2)|0,o0=e[r0>>2]|0,J=o0^q,s0=G0+1|0,Y=(s0|0)<(m|0),Y)R0=J,G0=s0;else{Z0=J;break}else Z0=B0;i0=Z0&255,e0=e[t>>2]|0,h0=e0+22|0,f[h0>>0]=i0,c0=Z0>>>8,$0=c0&255,l0=e[t>>2]|0,X=l0+23|0,f[X>>0]=$0,m0=Z0>>>16,g0=m0&255,I0=e[t>>2]|0,f0=I0+24|0,f[f0>>0]=g0,p0=Z0>>>24,C0=p0&255,S0=e[t>>2]|0,y0=S0+25|0,f[y0>>0]=C0}}function YS(t,s,A,$,g,d){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(x0=e[t>>2]|0,M0=(x0|0)==0,M0))return m=-1,m|0;if(L0=(s|0)==0,L0)return m=0,m|0;X0=(A|0)>0;e:do if(X0){for(m2=0,k2=0;;){if(b1=(s+(k2<<3)|0)+4|0,H1=e[b1>>2]|0,A2=(H1|0)<0,v=2147483647-H1|0,K=(m2|0)>(v|0),G2=A2|K,G2){m=-1;break}if(i0=H1+m2|0,c0=k2+1|0,$0=(c0|0)<(A|0),$0)m2=i0,k2=c0;else{a2=i0;break e}}return m|0}else a2=0;while(!1);l0=(a2|0)/255&-1,X=l0+1|0,m0=t+12|0,g0=e[m0>>2]|0,I0=(g0|0)==0,k=t+8|0,I0||(f0=e[k>>2]|0,p0=f0-g0|0,e[k>>2]=p0,C0=(f0|0)==(g0|0),C0||(S0=x0+g0|0,$A(x0|0,S0|0,p0|0)|0),e[m0>>2]=0),y0=t+4|0,D0=e[y0>>2]|0,E0=D0-a2|0,Q0=e[k>>2]|0,w0=(E0|0)>(Q0|0);do if(!w0){if(B0=2147483647-a2|0,Z0=(D0|0)>(B0|0),Z0)return R0=e[t>>2]|0,v0=(R0|0)==0,v0||E2(R0),G0=t+16|0,U0=e[G0>>2]|0,O0=(U0|0)==0,O0||E2(U0),H0=t+20|0,k0=e[H0>>2]|0,K0=(k0|0)==0,K0||E2(k0),g4(t|0,0,360)|0,m=-1,m|0;if(N0=D0+a2|0,P0=(N0|0)<2147482623,W0=N0+1024|0,p=P0?W0:N0,J0=e[t>>2]|0,V0=K7(J0,p)|0,j0=(V0|0)==0,!j0){e[y0>>2]=p,e[t>>2]=V0;break}return q0=e[t>>2]|0,Y0=(q0|0)==0,Y0||E2(q0),o1=t+16|0,z0=e[o1>>2]|0,r1=(z0|0)==0,r1||E2(z0),s1=t+20|0,d1=e[s1>>2]|0,u1=(d1|0)==0,u1||E2(d1),g4(t|0,0,360)|0,m=-1,m|0}while(!1);if(E1=zS(t,X)|0,f1=(E1|0)==0,!f1)return m=-1,m|0;if(X0)for(y=e[k>>2]|0,k1=y,D2=0;y1=e[t>>2]|0,v1=y1+k1|0,S1=s+(D2<<3)|0,L1=e[S1>>2]|0,M1=(s+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,c9(v1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[k>>2]|0,P1=F1+R1|0,e[k>>2]=P1,D1=D2+1|0,r2=(D1|0)==(A|0),!r2;)k1=P1,D2=D1;if(h1=(a2|0)>254,A1=t+28|0,g1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,h1){for(B1=t+352|0,p1=t+20|0,Q1=e[p1>>2]|0,C1=(l0|0)>1,y2=0;O1=g1+y2|0,X1=$1+(O1<<2)|0,e[X1>>2]=255,G1=B1,x1=G1,J1=e[x1>>2]|0,V1=G1+4|0,Y1=V1,z1=e[Y1>>2]|0,t2=Q1+(O1<<3)|0,o2=t2,e2=o2,e[e2>>2]=J1,q1=o2+4|0,h2=q1,e[h2>>2]=z1,Z1=y2+1|0,I2=(Z1|0)<(l0|0),I2;)y2=Z1;M2=C1?l0:1,B=B1,g2=Q1,S2=M2}else E=t+20|0,b=e[E>>2]|0,D=t+352|0,B=D,g2=b,S2=0;return C2=(a2|0)%255&-1,$2=g1+S2|0,W1=$1+($2<<2)|0,e[W1>>2]=C2,f2=g2+($2<<3)|0,n2=f2,u2=n2,e[u2>>2]=g,s2=n2+4|0,l2=s2,e[l2>>2]=d,i2=B,_=i2,e[_>>2]=g,Q=i2+4|0,L=Q,e[L>>2]=d,R=$1+(g1<<2)|0,M=e[R>>2]|0,F=M|256,e[R>>2]=F,G=g1+X|0,e[A1>>2]=G,O=t+344|0,q=O,H=q,t0=e[H>>2]|0,Z=q+4|0,A0=Z,j=e[A0>>2]|0,r0=ro(t0|0,j|0,1,0)|0,o0=Z6,J=O,s0=J,e[s0>>2]=r0,Y=J+4|0,d0=Y,e[d0>>2]=o0,e0=($|0)==0,e0?(m=0,m|0):(h0=t+328|0,e[h0>>2]=1,m=0,m|0)}function nE(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0;return R=C,C=C+16|0,Q=R,A=e[s>>2]|0,e[Q>>2]=A,$=s+4|0,E=e[$>>2]|0,y=Q+4|0,e[y>>2]=E,B=s+12|0,b=e[B>>2]|0,D=s+16|0,k=D,v=k,_=e[v>>2]|0,g=k+4|0,d=g,p=e[d>>2]|0,m=YS(t,Q,1,b,_,p)|0,C=R,m|0}function Iy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0;return g=C,A=py(t,s,1,4096)|0,A|0}function my(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0;return R=C,d=(t|0)==0,d||(p=e[t>>2]|0,m=(p|0)==0,m)?(A=0,A|0):(E=t+328|0,y=e[E>>2]|0,B=(y|0)==0,$=t+28|0,g=e[$>>2]|0,Q=(g|0)==0,B?Q?_=0:(b=t+332|0,D=e[b>>2]|0,k=(D|0)==0,k?L=7:_=0):Q?_=0:L=7,(L|0)==7&&(_=1),v=py(t,s,_,4096)|0,A=v,A|0)}function zS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0;return f0=C,g=t+24|0,d=e[g>>2]|0,Q=d-s|0,Z=t+28|0,h0=e[Z>>2]|0,l0=(Q|0)>(h0|0),l0?($=0,$|0):(X=2147483647-s|0,m0=(d|0)>(X|0),m0?(g0=e[t>>2]|0,I0=(g0|0)==0,I0||E2(g0),p=t+16|0,m=e[p>>2]|0,E=(m|0)==0,E||E2(m),y=t+20|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),g4(t|0,0,360)|0,$=-1,$|0):(D=d+s|0,k=(D|0)<2147483615,v=D+32|0,A=k?v:D,_=t+16|0,L=e[_>>2]|0,R=A<<2,M=K7(L,R)|0,F=(M|0)==0,F?(G=e[t>>2]|0,O=(G|0)==0,O||E2(G),q=e[_>>2]|0,H=(q|0)==0,H||E2(q),K=t+20|0,t0=e[K>>2]|0,A0=(t0|0)==0,A0||E2(t0),g4(t|0,0,360)|0,$=-1,$|0):(e[_>>2]=M,j=t+20|0,r0=e[j>>2]|0,o0=A<<3,J=K7(r0,o0)|0,s0=(J|0)==0,s0?(Y=e[t>>2]|0,d0=(Y|0)==0,d0||E2(Y),i0=e[_>>2]|0,e0=(i0|0)==0,e0||E2(i0),c0=e[j>>2]|0,$0=(c0|0)==0,$0||E2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[j>>2]=J,e[g>>2]=A,$=0,$|0))))}function py(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0;if(b5=C,Q=t+28|0,L=e[Q>>2]|0,d1=(L|0)>255,g=d1?255:L,p1=(t|0)==0,p1||(R1=e[t>>2]|0,Y1=(R1|0)==0,$2=(g|0)==0,_3=$2|Y1,_3))return d=0,d|0;r2=t+332|0,K2=e[r2>>2]|0,j2=(K2|0)==0;e:do if(j2)for(y0=t+16|0,g3=0;;){if(U0=(g3|0)<(g|0),!U0){m=A,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,K5=g3,Y5=14;break e}if(j0=e[y0>>2]|0,z0=j0+(g3<<2)|0,r1=e[z0>>2]|0,L0=r1&255,s1=(L0|0)==255,u1=g3+1|0,s1)g3=u1;else{m=A,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,K5=u1,Y5=14;break}}else if(R=(g|0)>0,R){for(j=t+16|0,$0=t+20|0,y5=0,_5=-1,d5=-1,l5=-1,X2=-1,d2=-1,w5=-1,r5=-1,a5=-1,t3=0,G3=0,Q3=0;;){if(E1=(y5|0)>($|0),f1=(t3|0)>3,V3=E1&f1,V3){p=1,q5=_5,R5=d5,z2=l5,E5=X2,$5=d2,h5=w5,Q5=r5,T1=a5,u3=Q3;break}if(h1=e[j>>2]|0,A1=h1+(Q3<<2)|0,g1=e[A1>>2]|0,a1=g1&255,$1=a1+y5|0,X0=(a1|0)==255,X0?(f5=_5,J2=d5,I5=l5,n5=X2,F5=d2,e5=w5,c5=r5,T2=a5,a6=0,Y3=G3):(B1=e[$0>>2]|0,Q1=B1+(Q3<<3)|0,C1=Q1,y1=C1,v1=e[y1>>2]|0,k1=C1+4|0,S1=k1,L1=e[S1>>2]|0,M1=G3+1|0,b1=v1&255,_1=no(v1|0,L1|0,8)|0,F1=Z6,P1=_1&255,D1=no(v1|0,L1|0,16)|0,O1=Z6,X1=D1&255,G1=no(v1|0,L1|0,24)|0,x1=Z6,J1=G1&255,H1=L1&255,V1=no(v1|0,L1|0,40)|0,z1=Z6,t2=V1&255,o2=no(v1|0,L1|0,48)|0,e2=Z6,q1=o2&255,h2=no(v1|0,L1|0,56)|0,Z1=Z6,I2=h2&255,f5=b1,J2=X1,I5=J1,n5=H1,F5=t2,e5=q1,c5=I2,T2=P1,a6=M1,Y3=M1),A2=Q3+1|0,C2=(A2|0)<(g|0),C2)y5=$1,_5=f5,d5=J2,l5=I5,X2=n5,d2=F5,w5=e5,r5=c5,a5=T2,t3=a6,G3=Y3,Q3=A2;else{p=A,q5=f5,R5=J2,z2=I5,E5=n5,$5=F5,h5=e5,Q5=c5,T1=T2,u3=A2;break}}W1=(u3|0)==255,W1?(a3=q5,y3=R5,G5=z2,Z5=E5,x3=$5,f3=h5,w3=Q5,e6=T1,H5=255):(m=p,v5=q5,z5=R5,i3=z2,C5=E5,I3=$5,d3=h5,W5=Q5,r3=T1,K5=u3,Y5=14)}else m=A,v5=-1,z5=-1,i3=-1,C5=-1,I3=-1,d3=-1,W5=-1,r3=-1,K5=0,Y5=14;while(!1);if((Y5|0)==14){if(f2=(m|0)==0,f2)return d=0,d|0;a3=v5,y3=z5,G5=i3,Z5=C5,x3=I3,f3=d3,w3=W5,e6=r3,H5=K5}if(g2=t+40|0,f[g2>>0]=79,f[g2+1>>0]=103,f[g2+2>>0]=103,f[g2+3>>0]=83,n2=t+44|0,f[n2>>0]=0,u2=t+45|0,f[u2>>0]=0,s2=t+16|0,l2=e[s2>>2]|0,i2=e[l2>>2]|0,a2=i2>>>8,b=a2&1,m2=b^1,k2=m2|2,E=j2?k2:m2,c3=E&255,f[u2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,y2=(S2|0)!=0,G2=(L|0)==(H5|0),X5=y2&G2,X5&&(y=j2?k2:m2,M2=y|4,O2=M2&255,f[u2>>0]=O2),e[r2>>2]=1,p2=t+46|0,f[p2>>0]=a3,W2=t+47|0,f[W2>>0]=e6,q2=t+48|0,f[q2>>0]=y3,U2=t+49|0,f[U2>>0]=G5,V2=t+50|0,f[V2>>0]=Z5,Z2=t+51|0,f[Z2>>0]=x3,A5=t+52|0,f[A5>>0]=f3,Y2=t+53|0,f[Y2>>0]=w3,N1=t+336|0,t5=e[N1>>2]|0,T5=t5&255,i5=t+54|0,f[i5>>0]=T5,L5=t5>>>8,m5=L5&255,D5=t+55|0,f[D5>>0]=m5,V5=t5>>>16,u5=V5&255,b2=t+56|0,f[b2>>0]=u5,B5=t5>>>24,o5=B5&255,F2=t+57|0,f[F2>>0]=o5,R2=t+340|0,Q2=e[R2>>2]|0,M=(Q2|0)==-1,M?(e[R2>>2]=0,G=0):G=Q2,F=G+1|0,e[R2>>2]=F,O=G&255,q=t+58|0,f[q>>0]=O,H=G>>>8,K=H&255,t0=t+59|0,f[t0>>0]=K,Z=G>>>16,A0=Z&255,r0=t+60|0,f[r0>>0]=A0,o0=G>>>24,J=o0&255,s0=t+61|0,f[s0>>0]=J,Y=t+62|0,d0=H5&255,i0=t+66|0,f[Y>>0]=0,f[Y+1>>0]=0,f[Y+2>>0]=0,f[Y+3>>0]=0,f[i0>>0]=d0,e0=(H5|0)>0,e0){if(h0=e[l2>>2]|0,c0=h0&255,l0=t+67|0,f[l0>>0]=c0,X=h0&255,M5=(H5|0)==1,M5)B=X;else for(g0=1,D0=X;;)if(D=e[s2>>2]|0,m0=D+(g0<<2)|0,I0=e[m0>>2]|0,n0=I0&255,f0=g0+27|0,p0=(t+40|0)+f0|0,f[p0>>0]=n0,C0=I0&255,S0=C0+D0|0,E0=g0+1|0,p5=(E0|0)==(H5|0),p5){B=S0;break}else g0=E0,D0=S0;k=e[t>>2]|0,v=e[Q>>2]|0,_=e[s2>>2]|0,v0=k,k0=v,N0=_,N5=B}else v0=R1,k0=L,N0=l2,N5=0;return e[s>>2]=g2,Q0=H5+27|0,w0=t+324|0,e[w0>>2]=Q0,B0=s+4|0,e[B0>>2]=Q0,x0=t+12|0,Z0=e[x0>>2]|0,R0=v0+Z0|0,G0=s+8|0,e[G0>>2]=R0,O0=s+12|0,e[O0>>2]=N5,H0=k0-H5|0,e[Q>>2]=H0,K0=N0+(H5<<2)|0,M0=H0<<2,$A(N0|0,K0|0,M0|0)|0,P0=t+20|0,W0=e[P0>>2]|0,J0=W0+(H5<<3)|0,V0=e[Q>>2]|0,q0=V0<<3,$A(W0|0,J0|0,q0|0)|0,Y0=e[x0>>2]|0,o1=Y0+N5|0,e[x0>>2]=o1,VS(s),d=1,d|0}function KS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0;return z0=C,$=t+104|0,g=e[$>>2]|0,_=t+88|0,t0=g+12|0,e[_>>2]=0,e[_+4>>2]=0,e[_+8>>2]=0,e[_+12>>2]=0,e0=e[t0>>2]|0,mi(e0),p0=g+16|0,R0=e[p0>>2]|0,mi(R0),W0=g+20|0,q0=e[W0>>2]|0,mi(q0),Y0=g+24|0,d=e[Y0>>2]|0,mi(d),p=g+28|0,m=e[p>>2]|0,mi(m),E=g+32|0,y=e[E>>2]|0,mi(y),B=g+36|0,b=e[B>>2]|0,mi(b),D=g+40|0,k=e[D>>2]|0,mi(k),v=g+44|0,Q=e[v>>2]|0,mi(Q),L=g+48|0,R=e[L>>2]|0,mi(R),M=g+52|0,F=e[M>>2]|0,mi(F),G=g+56|0,O=e[G>>2]|0,mi(O),q=g+60|0,H=e[q>>2]|0,mi(H),K=g+64|0,Z=e[K>>2]|0,mi(Z),A0=g+68|0,j=e[A0>>2]|0,mi(j),r0=e[6416]|0,o0=r0+12|0,J=e[o0>>2]|0,s0=Zy[J&1](t)|0,Y=(s0|0)==0,Y?(d0=(s|0)==0,d0?(A=0,A|0):(i0=Nu(t)|0,h0=(i0|0)==0,h0?(c0=t+4|0,$0=fy(c0)|0,e[s>>2]=$0,l0=D8(c0)|0,X=s+4|0,e[X>>2]=l0,m0=s+8|0,e[m0>>2]=0,g0=t+44|0,I0=e[g0>>2]|0,n0=s+12|0,e[n0>>2]=I0,f0=t+48|0,C0=f0,S0=C0,y0=e[S0>>2]|0,D0=C0+4|0,E0=D0,Q0=e[E0>>2]|0,w0=s+16|0,B0=w0,x0=B0,e[x0>>2]=y0,Z0=B0+4|0,v0=Z0,e[v0>>2]=Q0,G0=t+56|0,U0=G0,O0=U0,H0=e[O0>>2]|0,k0=U0+4|0,K0=k0,N0=e[K0>>2]|0,M0=s+24|0,P0=M0,J0=P0,e[J0>>2]=H0,V0=P0+4|0,j0=V0,e[j0>>2]=N0,A=0,A|0):(A=-131,A|0))):(A=s0,A|0)}function JS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0;y0=C,A=t+28|0,$=e[A>>2]|0,C0=s,D0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(D0|0));v=$+3372|0,K=e[v>>2]|0,i0=(K|0)>0,i0&&(g0=t+8|0,I0=e[g0>>2]|0,n0=e[$>>2]|0,f0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(n0|0)&-1,p=s+24|0,e[p>>2]=d,e[s>>2]=1,m=$+3360|0,E=e[m>>2]|0,y=+(E|0),B=+(f0|0),b=y*B,D=+(I0|0),k=b/D,_=+z7(k),Q=~~_,L=s+12|0,e[L>>2]=Q,R=$+3364|0,M=e[R>>2]|0,F=+(M|0),G=F*B,O=G/D,q=+z7(O),H=~~q,t0=s+16|0,e[t0>>2]=H,Z=$+3368|0,A0=e[Z>>2]|0,j=+(A0|0),r0=j*B,o0=r0/D,J=+z7(o0),s0=~~J,Y=s+20|0,e[Y>>2]=s0,d0=s+32|0,c1[d0>>3]=7,e0=+(K|0),h0=$+3376|0,c0=+c1[h0>>3],$0=e0*c0,l0=~~$0,X=s+8|0,e[X>>2]=l0,m0=s+4|0,e[m0>>2]=l0)}function WS(t){t=t|0;var s=0,A=0,$=0,g=0;$=C,s=t,g=s+48|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(g|0))}function Nu(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0;return B=C,A=t+64|0,$=e[A>>2]|0,g=$+104|0,d=e[g>>2]|0,p=d+80|0,m=e[p>>2]|0,E=(m|0)!=0,s=E&1,s|0}function ZS(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0;if(R6=C,y=t+104|0,B=e[y>>2]|0,Z1=t+64|0,b2=e[Z1>>2]|0,R5=b2+104|0,d2=e[R5>>2]|0,T2=b2+4|0,G5=e[T2>>2]|0,G3=G5+28|0,U5=e[G3>>2]|0,b=d2+112|0,O=+c1[b>>3],s0=+z7(O),g0=~~s0,w0=(B+12|0)+(g0<<2)|0,K0=e[w0>>2]|0,z0=D8(K0)|0,a1=z0<<3,L1=t+28|0,x1=e[L1>>2]|0,I2=(x1|0)==0,i2=d2+96|0,p2=e[i2>>2]|0,I2?(T5=d2+100|0,L5=e[T5>>2]|0,Y=p2,D0=T5,B0=L5):(j2=d2+104|0,m5=e[j2>>2]|0,D5=d2+100|0,V5=e[D5>>2]|0,u5=s5(m5,p2)|0,B5=s5(m5,V5)|0,Y=u5,D0=D5,B0=B5),o5=U5+(x1<<2)|0,F2=e[o5>>2]|0,R2=F2>>1,Q2=U5+3372|0,y5=e[Q2>>2]|0,N5=+(y5|0),p5=U5+3376|0,M5=+c1[p5>>3],q5=N5*M5,z2=~~q5,E5=d2+80|0,$5=e[E5>>2]|0,h5=($5|0)==0,Q5=d2+120|0,h5)return T1=e[Q5>>2]|0,_5=(T1|0)==0,_5?(e[Q5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[Q5>>2]=t,d5=d2+92|0,l5=e[d5>>2]|0,X2=(l5|0)>0,X2){I2?c5=l5:(w5=d2+104|0,r5=e[w5>>2]|0,a5=s5(r5,l5)|0,c5=a5),f5=U5+3384|0,J2=+c1[f5>>3],I5=15/J2,n5=d2+84|0,F5=e[n5>>2]|0,e5=a1-c5|0,v5=F5+e5|0,z5=(v5|0)>(z2|0);e:do if(z5)if(i3=(g0|0)>0,C5=(a1|0)>(c5|0),M6=C5&i3,M6)if(I3=a1-c5|0,d3=I3+F5|0,W5=(d3|0)>(z2|0),W5)for(K3=g0;;){if(r3=K3+-1|0,a3=(B+12|0)+(r3<<2)|0,y3=e[a3>>2]|0,Z5=D8(y3)|0,x3=Z5<<3,f3=(K3|0)>1,w3=(x3|0)>(c5|0),L6=w3&f3,!L6){j5=r3;break e}if(m=e[n5>>2]|0,e6=x3-c5|0,V3=e6+m|0,X5=(V3|0)>(z2|0),X5)K3=r3;else{j5=r3;break}}else j5=g0;else j5=g0;else if(_3=(v5|0)<(z2|0),_3)if(t3=g0+1|0,a6=(t3|0)<15,Y3=(a1|0)<(c5|0),n6=Y3&a6,n6)if(c3=a1-c5|0,g3=c3+F5|0,u3=(g3|0)<(z2|0),u3)for(K5=t3;;){if(Q3=(B+12|0)+(K5<<2)|0,H5=e[Q3>>2]|0,Y5=D8(H5)|0,b5=Y5<<3,z3=K5+1|0,l6=(z3|0)<15,n3=(b5|0)<(c5|0),S6=n3&l6,!S6){j5=K5;break e}if(p=e[n5>>2]|0,l3=b5-c5|0,U3=l3+p|0,C6=(U3|0)<(z2|0),C6)K5=z3;else{j5=K5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+c1[b>>3],D3=b3-L3,A6=+z7(D3),r6=+(R2|0),D=A6/r6,k=G5+8|0,v=e[k>>2]|0,_=+(v|0),Q=_*D,L=-I5,R=QI5,R3=M?I5:k6,F=R3/_,G=F*r6,q=G+L3,c1[b>>3]=q,H=+z7(q),K=~~H,t0=(B+12|0)+(K<<2)|0,Z=e[t0>>2]|0,A0=D8(Z)|0,j=A0<<3,E=e[i2>>2]|0,r0=E,M3=K,s6=j}else r0=p2,M3=g0,s6=a1;o0=(r0|0)>0,J=(s6|0)<(Y|0),f6=J&o0;e:do if(f6)if(d0=d2+88|0,i0=e[d0>>2]|0,e0=s6-Y|0,h0=e0+i0|0,c0=(h0|0)<0,c0)for(h3=M3,o6=s6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){J3=$0,B6=o6;break e}if(X=(B+12|0)+($0<<2)|0,m0=e[X>>2]|0,I0=D8(m0)|0,n0=I0<<3,f0=e[d0>>2]|0,p0=n0-Y|0,C0=p0+f0|0,S0=(C0|0)<0,S0)h3=$0,o6=n0;else{J3=$0,B6=n0;break}}else J3=M3,B6=s6;else J3=M3,B6=s6;while(!1);y0=e[D0>>2]|0,E0=(y0|0)>0,Q0=(B6|0)>(B0|0),b6=Q0&E0;e:do if(b6)if(x0=d2+88|0,Z0=e[x0>>2]|0,R0=B6-B0|0,v0=R0+Z0|0,G0=e[Q2>>2]|0,U0=(v0|0)>(G0|0),U0)for(d6=J3,W3=B6;;){if(O0=d6+-1|0,H0=(d6|0)<1,H0){m3=O0,F3=W3;break e}if(k0=(B+12|0)+(O0<<2)|0,N0=e[k0>>2]|0,M0=D8(N0)|0,P0=M0<<3,W0=e[x0>>2]|0,J0=P0-B0|0,V0=J0+W0|0,j0=e[Q2>>2]|0,q0=(V0|0)>(j0|0),q0)d6=O0,W3=P0;else{m3=O0,F3=P0;break}}else m3=J3,F3=B6;else m3=J3,F3=B6;while(!1);if(Y0=(m3|0)<0,Y0)o1=e[Q2>>2]|0,r1=d2+88|0,L0=e[r1>>2]|0,s1=o1+B0|0,d1=s1-L0|0,u1=(d1|0)/8&-1,E1=d2+124|0,e[E1>>2]=0,f1=B+12|0,h1=e[f1>>2]|0,A1=D8(h1)|0,g1=(A1|0)>(u1|0),g1?($1=e[f1>>2]|0,X0=u1<<3,OS($1,X0),B1=e[f1>>2]|0,p1=D8(B1)|0,Q1=p1<<3,Z3=Q1):Z3=F3;else{if(C1=d2+88|0,y1=e[C1>>2]|0,v1=Y+7|0,k1=v1-y1|0,S1=(k1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=d2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=D8(R1)|0,P1=S1-F1|0,D1=(P1|0)>0,O1=e[_1>>2]|0,D1)for(G1=O1,x6=P1;;)if(X1=x6+-1|0,H2(G1,0,8),J1=(x6|0)>1,H1=e[_1>>2]|0,J1)G1=H1,x6=X1;else{d=H1;break}else d=O1;V1=D8(d)|0,Y1=V1<<3,Z3=Y1}z1=e[i2>>2]|0,t2=(z1|0)>0,t2?t6=37:(o2=e[D0>>2]|0,e2=(o2|0)>0,e2&&(t6=37));do if((t6|0)==37){if(q1=(B0|0)>0,h2=(Z3|0)>(B0|0),N6=q1&h2,N6){A2=Z3-B0|0,C2=d2+88|0,$2=e[C2>>2]|0,W1=A2+$2|0,e[C2>>2]=W1;break}if(f2=(Y|0)>0,g2=(Z3|0)<(Y|0),j6=f2&g2,j6){n2=Z3-Y|0,u2=d2+88|0,s2=e[u2>>2]|0,l2=n2+s2|0,e[u2>>2]=l2;break}if(a2=d2+88|0,m2=e[a2>>2]|0,r2=(m2|0)>(z2|0),r2)if(q1){k2=Z3-B0|0,D2=m2+k2|0,S2=(D2|0)<(z2|0),s=S2?z2:D2,e[a2>>2]=s;break}else{e[a2>>2]=z2;break}else if(f2){y2=Z3-Y|0,G2=m2+y2|0,M2=(G2|0)>(z2|0),$=M2?z2:G2,e[a2>>2]=$;break}else{e[a2>>2]=z2;break}}while(!1);return O2=e[d5>>2]|0,W2=(O2|0)>0,W2?(q2=e[L1>>2]|0,K2=(q2|0)==0,K2?Y2=O2:(U2=d2+104|0,V2=e[U2>>2]|0,Z2=s5(V2,O2)|0,Y2=Z2),A5=Z3-Y2|0,N1=d2+84|0,t5=e[N1>>2]|0,i5=A5+t5|0,e[N1>>2]=i5,A=0,A|0):(A=0,A|0)}function Ey(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,_=g+120|0,t0=e[_>>2]|0,e0=(t0|0)==0,e0?(A=0,A|0):(p0=(s|0)==0,p0||(C0=t0+104|0,S0=e[C0>>2]|0,y0=t0+64|0,D0=e[y0>>2]|0,d=D0+104|0,p=e[d>>2]|0,m=p+80|0,E=e[m>>2]|0,Q0=(E|0)==0,Q0?E0=7:(y=g+124|0,B=e[y>>2]|0,E0=B),b=(S0+12|0)+(E0<<2)|0,D=e[b>>2]|0,k=fy(D)|0,e[s>>2]=k,v=e[b>>2]|0,Q=D8(v)|0,L=s+4|0,e[L>>2]=Q,R=s+8|0,e[R>>2]=0,M=t0+44|0,F=e[M>>2]|0,G=s+12|0,e[G>>2]=F,O=t0+48|0,q=O,H=q,K=e[H>>2]|0,Z=q+4|0,A0=Z,j=e[A0>>2]|0,r0=s+16|0,o0=r0,J=o0,e[J>>2]=K,s0=o0+4|0,Y=s0,e[Y>>2]=j,d0=t0+56|0,i0=d0,h0=i0,c0=e[h0>>2]|0,$0=i0+4|0,l0=$0,X=e[l0>>2]|0,m0=s+24|0,g0=m0,I0=g0,e[I0>>2]=c0,n0=g0+4|0,f0=n0,e[f0>>2]=X),e[_>>2]=0,A=1,A|0)}function jS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0;G=C,M=s,O=M+112|0;do e[M>>2]=0,M=M+4|0;while((M|0)<(O|0));if(A=s+64|0,e[A>>2]=t,$=s+76|0,e[$>>2]=0,y=s+68|0,e[y>>2]=0,B=e[t>>2]|0,b=(B|0)==0,b)return 0;for(D=l9(1,72)|0,k=s+104|0,e[k>>2]=D,v=D+4|0,o[v>>2]=-9999,_=s+4|0,Q=D+12|0,g=D+40|0,R=0;;)if(d=(R|0)==7,d){e[g>>2]=_,kC(_),R=8;continue}else{if(p=l9(1,20)|0,m=Q+(R<<2)|0,e[m>>2]=p,kC(p),E=R+1|0,L=(E|0)==15,L)break;R=E;continue}return 0}function W8(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0;return Z=C,A=s+7|0,$=A&-8,v=t+72|0,M=e[v>>2]|0,F=M+$|0,G=t+76|0,O=e[G>>2]|0,q=(F|0)>(O|0),H=t+68|0,K=e[H>>2]|0,q?(g=(K|0)==0,g||(d=K,p=Re(8)|0,m=t+80|0,E=e[m>>2]|0,y=E+M|0,e[m>>2]=y,B=t+84|0,b=e[B>>2]|0,D=p+4|0,e[D>>2]=b,e[p>>2]=d,e[B>>2]=p),e[G>>2]=$,k=Re($)|0,e[H>>2]=k,e[v>>2]=0,Q=k,L=0,_=Q+L|0,R=L+$|0,e[v>>2]=R,_|0):(Q=K,L=M,_=Q+L|0,R=L+$|0,e[v>>2]=R,_|0)}function XS(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0;if(i0=C,$=t+104|0,g=e[$>>2]|0,_=t+84|0,H=e[_>>2]|0,K=(H|0)==0,!K)for(s0=H;t0=s0+4|0,Z=e[t0>>2]|0,A0=e[s0>>2]|0,E2(A0),E2(s0),j=(Z|0)==0,!j;)s0=Z;if(r0=t+80|0,d=e[r0>>2]|0,p=(d|0)==0,s=t+68|0,A=e[s>>2]|0,p?Q=A:(m=t+76|0,E=e[m>>2]|0,y=E+d|0,B=K7(A,y)|0,e[s>>2]=B,b=e[r0>>2]|0,D=e[m>>2]|0,k=D+b|0,e[m>>2]=k,e[r0>>2]=0,Q=B),v=t+72|0,e[v>>2]=0,e[_>>2]=0,L=(Q|0)==0,L||E2(Q),R=(g|0)==0,R){Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}else J=0;for(;;){if(M=(g+12|0)+(J<<2)|0,F=e[M>>2]|0,SC(F),G=(J|0)==7,G){J=8;continue}if(O=e[M>>2]|0,E2(O),q=J+1|0,o0=(q|0)==15,o0)break;J=q}E2(g),Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}function eb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,$=ib(t,s,1)|0,g=($|0)==0,g?(E=t+104|0,y=e[E>>2]|0,B=Mb(s)|0,b=y+60|0,e[b>>2]=B,D=l9(1,180)|0,e[y>>2]=D,ab(D,s),k=y+80|0,JS(s,k),v=t+64|0,_=v,d=_,e[d>>2]=3,p=_+4|0,m=p,e[m>>2]=0,A=0,A|0):(A=1,A|0)}function Cy(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0;if(q2=C,B=(t|0)==0,!B){if(b=t+4|0,w0=e[b>>2]|0,K0=(w0|0)!=0,K0?(z0=w0+28|0,a1=e[z0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,Z1=(x1|0)!=0,Z1){if(l2=e[x1>>2]|0,D=(l2|0)==0,D||(Ab(l2),q=e[x1>>2]|0,E2(q)),Y=x1+12|0,I0=e[Y>>2]|0,C0=(I0|0)==0,C0||(S0=e[I0>>2]|0,MC(S0),y0=e[Y>>2]|0,D0=e[y0>>2]|0,E2(D0),E0=e[Y>>2]|0,E2(E0)),Q0=x1+16|0,B0=e[Q0>>2]|0,x0=(B0|0)==0,x0||(Z0=e[B0>>2]|0,MC(Z0),R0=e[Q0>>2]|0,v0=e[R0>>2]|0,E2(v0),G0=e[Q0>>2]|0,E2(G0)),U0=x1+48|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0){if(N0=(k0|0)==0,N0)C1=O0;else if(M0=k0+16|0,P0=e[M0>>2]|0,W0=(P0|0)>0,W0){if(J0=k0+800|0,V0=e[J0>>2]|0,j0=25640+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+16|0,o1=e[Y0>>2]|0,r1=e[O0>>2]|0,oo[o1&7](r1),L0=e[M0>>2]|0,s1=(L0|0)>1,s1)for(u1=1;s=e[U0>>2]|0,d1=J0+(u1<<2)|0,E1=e[d1>>2]|0,f1=25640+(E1<<2)|0,h1=e[f1>>2]|0,A1=h1+16|0,g1=e[A1>>2]|0,$1=s+(u1<<2)|0,X0=e[$1>>2]|0,oo[g1&7](X0),B1=u1+1|0,p1=e[M0>>2]|0,Q1=(B1|0)<(p1|0),Q1;)u1=B1;A=e[U0>>2]|0,C1=A}else C1=O0;E2(C1)}if(y1=x1+52|0,v1=e[y1>>2]|0,k1=(v1|0)==0,!k1){if(S1=(k0|0)==0,S1)W1=v1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,P1=25648+(F1<<2)|0,D1=e[P1>>2]|0,O1=D1+16|0,X1=e[O1>>2]|0,G1=e[v1>>2]|0,oo[X1&7](G1),J1=e[M1>>2]|0,H1=(J1|0)>1,H1)for(Y1=1;$=e[y1>>2]|0,V1=R1+(Y1<<2)|0,z1=e[V1>>2]|0,t2=25648+(z1<<2)|0,o2=e[t2>>2]|0,e2=o2+16|0,q1=e[e2>>2]|0,h2=$+(Y1<<2)|0,I2=e[h2>>2]|0,oo[q1&7](I2),A2=Y1+1|0,C2=e[M1>>2]|0,$2=(A2|0)<(C2|0),$2;)Y1=A2;g=e[y1>>2]|0,W1=g}else W1=v1;E2(W1)}if(f2=x1+56|0,g2=e[f2>>2]|0,n2=(g2|0)==0,!n2){if(u2=(k0|0)==0,u2)M2=g2;else if(s2=k0+28|0,i2=e[s2>>2]|0,a2=(i2|0)>0,a2){if(Dy(g2),m2=e[s2>>2]|0,r2=(m2|0)>1,r2)for(D2=1;d=e[f2>>2]|0,k2=d+(D2*52|0)|0,Dy(k2),S2=D2+1|0,y2=e[s2>>2]|0,G2=(S2|0)<(y2|0),G2;)D2=S2;p=e[f2>>2]|0,M2=p}else M2=g2;E2(M2)}k=x1+60|0,v=e[k>>2]|0,_=(v|0)==0,_||Rb(v),Q=x1+80|0,WS(Q),L=x1+20|0,Uy(L),R=x1+32|0,Uy(R)}if(M=t+8|0,F=e[M>>2]|0,G=(F|0)==0,!G){if(K0)if(O=w0+4|0,H=e[O>>2]|0,K=(H|0)>0,K){for(Z=F,p0=H,O2=0;t0=Z+(O2<<2)|0,A0=e[t0>>2]|0,j=(A0|0)==0,j?J=p0:(E2(A0),E=e[O>>2]|0,J=E),r0=O2+1|0,o0=(r0|0)<(J|0),!!o0;)m=e[M>>2]|0,Z=m,p0=J,O2=r0;y=e[M>>2]|0,s0=y}else s0=F;else s0=F;E2(s0),d0=t+12|0,i0=e[d0>>2]|0,e0=(i0|0)==0,e0||E2(i0)}Z1&&(h0=x1+64|0,c0=e[h0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,X=e[l0>>2]|0,m0=(X|0)==0,m0||E2(X),g0=x1+72|0,n0=e[g0>>2]|0,f0=(n0|0)==0,f0||E2(n0),E2(x1)),p2=t,K2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(K2|0))}}function By(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0;if(K0=C,m=t+4|0,E=e[m>>2]|0,M=t+104|0,r0=e[M>>2]|0,l0=r0+64|0,D0=e[l0>>2]|0,v0=(D0|0)==0,v0||E2(D0),e[l0>>2]=0,G0=r0+68|0,U0=e[G0>>2]|0,O0=(U0|0)==0,O0||E2(U0),e[G0>>2]=0,y=r0+72|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),e[y>>2]=0,D=t+20|0,k=e[D>>2]|0,v=k+s|0,_=t+16|0,Q=e[_>>2]|0,L=(v|0)<(Q|0),L)A=E+4|0,d=e[A>>2]|0,s0=d,k0=11;else if(R=s<<1,F=k+R|0,e[_>>2]=F,G=E+4|0,O=e[G>>2]|0,q=(O|0)>0,q)if(H=t+8|0,K=e[H>>2]|0,t0=e[K>>2]|0,Z=F<<2,A0=K7(t0,Z)|0,j=e[H>>2]|0,e[j>>2]=A0,o0=e[G>>2]|0,J=(o0|0)>1,J)for($0=1;;)if($=e[_>>2]|0,h0=e[H>>2]|0,c0=h0+($0<<2)|0,X=e[c0>>2]|0,m0=$<<2,g0=K7(X,m0)|0,I0=e[H>>2]|0,n0=I0+($0<<2)|0,e[n0>>2]=g0,f0=$0+1|0,p0=e[G>>2]|0,C0=(f0|0)<(p0|0),C0)$0=f0;else{s0=p0,k0=11;break}else s0=o0,k0=11;if((k0|0)==11&&(Y=(s0|0)>0,Y)){for(d0=t+8|0,i0=e[D>>2]|0,e0=t+12|0,H0=0;;)if(S0=e[d0>>2]|0,y0=S0+(H0<<2)|0,E0=e[y0>>2]|0,Q0=E0+(i0<<2)|0,w0=e[e0>>2]|0,B0=w0+(H0<<2)|0,e[B0>>2]=Q0,x0=H0+1|0,Z0=(x0|0)<(s0|0),Z0)H0=x0;else{g=e0;break}return R0=e[g>>2]|0,R0|0}return p=t+12|0,g=p,R0=e[g>>2]|0,R0|0}function tb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0;if(V0=C,m=t+4|0,E=e[m>>2]|0,M=E+28|0,r0=e[M>>2]|0,l0=(s|0)<1,!l0)return S0=t+20|0,y0=e[S0>>2]|0,E0=y0+s|0,Q0=t+16|0,w0=e[Q0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=V0,$|0):(e[S0>>2]=E0,x0=t+28|0,Z0=e[x0>>2]|0,R0=(Z0|0)==0,!R0||(v0=t+48|0,G0=e[v0>>2]|0,U0=E0-G0|0,H0=r0+4|0,k0=e[H0>>2]|0,K0=(U0|0)>(k0|0),!K0)?($=0,C=V0,$|0):(Qy(t),$=0,C=V0,$|0));if(D0=C,C=C+128|0,O0=t+28|0,N0=e[O0>>2]|0,M0=(N0|0)==0,M0&&Qy(t),P0=r0+4|0,y=e[P0>>2]|0,B=y*3|0,By(t,B)|0,b=t+20|0,D=e[b>>2]|0,k=t+32|0,e[k>>2]=D,v=e[P0>>2]|0,_=v*3|0,Q=D+_|0,e[b>>2]=Q,L=E+4|0,R=e[L>>2]|0,F=(R|0)>0,!F)return $=0,C=V0,$|0;for(G=t+8|0,O=D,W0=0;;){if(q=(O|0)>64,q?(H=e[P0>>2]|0,K=(O|0)>(H|0),A=K?H:O,t0=e[G>>2]|0,Z=t0+(W0<<2)|0,A0=e[Z>>2]|0,d=O-A|0,j=A0+(d<<2)|0,+wy(j,D0,A,32),o0=e[G>>2]|0,J=o0+(W0<<2)|0,s0=e[J>>2]|0,Y=e[k>>2]|0,d0=s0+(Y<<2)|0,p=Y+-32|0,i0=s0+(p<<2)|0,e0=e[b>>2]|0,h0=e0-Y|0,vy(D0,i0,32,d0,h0)):(c0=e[G>>2]|0,$0=c0+(W0<<2)|0,X=e[$0>>2]|0,m0=X+(O<<2)|0,g0=e[b>>2]|0,I0=g0-O|0,n0=I0<<2,g4(m0|0,0,n0|0)|0),f0=W0+1|0,p0=e[L>>2]|0,C0=(f0|0)<(p0|0),!C0){$=0;break}g=e[k>>2]|0,O=g,W0=f0}return C=V0,$|0}function yy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0;if(g9=C,b=t+4|0,D=e[b>>2]|0,A2=D+28|0,b5=e[A2>>2]|0,A6=t+104|0,M6=e[A6>>2]|0,B6=M6+60|0,y6=e[B6>>2]|0,V6=t+48|0,oe=e[V6>>2]|0,k=t+40|0,H=e[k>>2]|0,d0=b5+(H<<2)|0,n0=e[d0>>2]|0,x0=(n0|0)/2&-1,M0=oe-x0|0,L0=s+104|0,X0=e[L0>>2]|0,b1=t+28|0,H1=e[b1>>2]|0,C2=(H1|0)==0,C2||(m2=t+32|0,q2=e[m2>>2]|0,L5=(q2|0)==-1,L5))return $=0,$|0;Q2=$b(t)|0,Q5=(Q2|0)==-1;do if(Q5){if(J2=e[m2>>2]|0,I3=(J2|0)==0,I3)return $=0,$|0;e6=t+44|0,e[e6>>2]=0,d=e6,K3=0;break}else if(Q3=e[b5>>2]|0,z3=b5+4|0,U5=e[z3>>2]|0,l6=(Q3|0)==(U5|0),n3=t+44|0,l6){e[n3>>2]=0,d=n3,K3=0;break}else{e[n3>>2]=Q2,d=n3,K3=Q2;break}while(!1);if(l3=e[V6>>2]|0,U3=e[k>>2]|0,C6=b5+(U3<<2)|0,b3=e[C6>>2]|0,L3=(b3|0)/4&-1,D3=L3+l3|0,r6=b5+(K3<<2)|0,j5=e[r6>>2]|0,M3=(j5|0)/4&-1,h3=D3+M3|0,J3=(j5|0)/2&-1,d6=h3+J3|0,m3=t+20|0,x6=e[m3>>2]|0,L6=(x6|0)<(d6|0),L6)return $=0,$|0;if(S6=s+84|0,n6=e[S6>>2]|0,f6=(n6|0)==0,!f6)for(we=n6;b6=we+4|0,N6=e[b6>>2]|0,j6=e[we>>2]|0,E2(j6),E2(we),k6=(N6|0)==0,!k6;)we=N6;R3=s+80|0,s6=e[R3>>2]|0,o6=(s6|0)==0,o6||(W3=s+68|0,F3=e[W3>>2]|0,Z3=s+76|0,t6=e[Z3>>2]|0,R6=t6+s6|0,c6=K7(F3,R6)|0,e[W3>>2]=c6,s3=e[R3>>2]|0,K6=e[Z3>>2]|0,A3=K6+s3|0,e[Z3>>2]=A3,e[R3>>2]=0),g6=s+72|0,e[g6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,$6=s+24|0,e[$6>>2]=H6,D6=e[k>>2]|0,G6=s+28|0,e[G6>>2]=D6,ee=e[d>>2]|0,Q6=s+32|0,e[Q6>>2]=ee,X6=(D6|0)==0;do if(X6)if(ge=lb(t)|0,U6=(ge|0)==0,Y6=X0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,re=(ee|0)==0,Ye=P3|re,se=X0+8|0,Ye){e[se>>2]=0;break}else{e[se>>2]=1;break}while(!1);F6=s+64|0,e[F6>>2]=t,te=t+64|0,_6=te,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,he=O6,ne=e[he>>2]|0,Be=ro(O3|0,ne|0,1,0)|0,ye=Z6,Qe=te,de=Qe,e[de>>2]=Be,fe=Qe+4|0,Ve=fe,e[Ve>>2]=ye,w6=s+56|0,q6=w6,v=q6,e[v>>2]=O3,_=q6+4|0,Q=_,e[Q>>2]=ne,L=t+56|0,R=L,M=R,F=e[M>>2]|0,G=R+4|0,O=G,q=e[O>>2]|0,K=s+48|0,t0=K,Z=t0,e[Z>>2]=F,A0=t0+4|0,j=A0,e[j>>2]=q,r0=e[k>>2]|0,o0=b5+(r0<<2)|0,J=e[o0>>2]|0,s0=s+36|0,e[s0>>2]=J,Y=X0+4|0,i0=+o[Y>>2],e0=+o[y6>>2],h0=i0>e0,h0?(o[y6>>2]=i0,c0=i0):c0=e0,$0=+Nb(c0,t),o[y6>>2]=$0,o[Y>>2]=$0,l0=D+4|0,X=e[l0>>2]|0,m0=X<<2,g0=m0+7|0,I0=g0&-8,f0=e[g6>>2]|0,p0=I0+f0|0,C0=s+76|0,S0=e[C0>>2]|0,y0=(p0|0)>(S0|0),D0=s+68|0,E0=e[D0>>2]|0,y0?(Q0=(E0|0)==0,Q0||(w0=E0,B0=Re(8)|0,Z0=e[R3>>2]|0,R0=Z0+f0|0,e[R3>>2]=R0,v0=e[S6>>2]|0,G0=B0+4|0,e[G0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=I0,U0=Re(I0)|0,e[D0>>2]=U0,e[g6>>2]=0,g=e[l0>>2]|0,H0=U0,k0=0,P0=g,q0=I0):(H0=E0,k0=f0,P0=X,q0=S0),O0=H0+k0|0,K0=k0+I0|0,e[g6>>2]=K0,e[s>>2]=O0,N0=P0<<2,W0=N0+7|0,J0=W0&-8,V0=J0+K0|0,j0=(V0|0)>(q0|0),j0?(Y0=(H0|0)==0,Y0||(o1=H0,z0=Re(8)|0,r1=e[R3>>2]|0,s1=r1+K0|0,e[R3>>2]=s1,d1=e[S6>>2]|0,u1=z0+4|0,e[u1>>2]=d1,e[z0>>2]=o1,e[S6>>2]=z0),e[C0>>2]=J0,E1=Re(J0)|0,e[D0>>2]=E1,e[g6>>2]=0,p=e[l0>>2]|0,h1=E1,A1=0,a1=p,Y5=J0):(h1=H0,A1=K0,a1=P0,Y5=q0),f1=h1+A1|0,g1=A1+J0|0,e[g6>>2]=g1,e[X0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(B1=t+8|0,S1=g1,M1=Y5,_1=h1,ae=0;;){if(p1=e[s0>>2]|0,Q1=p1+M0|0,C1=Q1<<2,y1=C1+7|0,v1=y1&-8,k1=v1+S1|0,L1=(k1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,P1=Re(8)|0,D1=e[R3>>2]|0,O1=D1+S1|0,e[R3>>2]=O1,X1=e[S6>>2]|0,G1=P1+4|0,e[G1>>2]=X1,e[P1>>2]=F1,e[S6>>2]=P1),e[C0>>2]=v1,x1=Re(v1)|0,e[D0>>2]=x1,e[g6>>2]=0,V1=x1,Y1=0):(V1=_1,Y1=S1),J1=V1+Y1|0,z1=Y1+v1|0,e[g6>>2]=z1,t2=e[X0>>2]|0,o2=t2+(ae<<2)|0,e[o2>>2]=J1,e2=e[X0>>2]|0,q1=e2+(ae<<2)|0,h2=e[q1>>2]|0,Z1=e[B1>>2]|0,I2=Z1+(ae<<2)|0,$2=e[I2>>2]|0,c9(h2|0,$2|0,C1|0)|0,W1=e[X0>>2]|0,f2=W1+(ae<<2)|0,g2=e[f2>>2]|0,n2=g2+(M0<<2)|0,u2=e[s>>2]|0,s2=u2+(ae<<2)|0,e[s2>>2]=n2,l2=ae+1|0,i2=e[l0>>2]|0,a2=(l2|0)<(i2|0),!a2)break e;m=e[g6>>2]|0,E=e[C0>>2]|0,y=e[D0>>2]|0,S1=m,M1=E,_1=y,ae=l2}while(!1);if(r2=e[m2>>2]|0,k2=(r2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(r2|0),!S2))return e[m2>>2]=-1,y2=s+44|0,e[y2>>2]=1,$=1,$|0;if(G2=b5+4|0,M2=e[G2>>2]|0,O2=(M2|0)/2&-1,p2=h3-O2|0,W2=(p2|0)>0,!W2)return $=1,$|0;if(K2=e[M6>>2]|0,cb(K2,p2),U2=e[m3>>2]|0,V2=U2-p2|0,e[m3>>2]=V2,Z2=e[l0>>2]|0,A5=(Z2|0)>0,A5&&(Y2=t+8|0,N1=e[Y2>>2]|0,t5=e[N1>>2]|0,T5=t5+(p2<<2)|0,i5=V2<<2,$A(t5|0,T5|0,i5|0)|0,j2=e[l0>>2]|0,m5=(j2|0)>1,m5))for(u5=1;B=e[m3>>2]|0,D5=e[Y2>>2]|0,V5=D5+(u5<<2)|0,b2=e[V5>>2]|0,B5=b2+(p2<<2)|0,o5=B<<2,$A(b2|0,B5|0,o5|0)|0,F2=u5+1|0,R2=e[l0>>2]|0,y5=(F2|0)<(R2|0),y5;)u5=F2;return N5=e[k>>2]|0,e[T3>>2]=N5,p5=e[d>>2]|0,e[k>>2]=p5,e[V6>>2]=O2,M5=e[m2>>2]|0,q5=(M5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,V3=L,X5=V3,_3=e[X5>>2]|0,t3=V3+4|0,a6=t3,G3=e[a6>>2]|0,Y3=ro(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=L,u3=g3,e[u3>>2]=Y3,K5=g3+4|0,H5=K5,e[H5>>2]=c3,$=1,$|0):(R5=M5-p2|0,z2=(R5|0)<1,A=z2?-1:R5,e[m2>>2]=A,E5=(A|0)>(O2|0),E5?(c5=(p2|0)<0,T2=c5<<31>>31,v5=L,z5=v5,i3=e[z5>>2]|0,C5=v5+4|0,d3=C5,W5=e[d3>>2]|0,r3=ro(i3|0,W5|0,p2|0,T2|0)|0,a3=Z6,y3=L,G5=y3,e[G5>>2]=r3,Z5=y3+4|0,x3=Z5,e[x3>>2]=a3,$=1,$|0):($5=A+p2|0,h5=$5-O2|0,T1=(h5|0)<0,_5=T1<<31>>31,d5=L,l5=d5,X2=e[l5>>2]|0,d2=d5+4|0,w5=d2,r5=e[w5>>2]|0,a5=ro(X2|0,r5|0,h5|0,_5|0)|0,f5=Z6,I5=L,n5=I5,e[n5>>2]=a5,F5=I5+4|0,e5=F5,e[e5>>2]=f5,$=1,$|0))}function ib(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0;if(n5=C,y=s+28|0,B=e[y>>2]|0,k1=(B|0)==0,k1||(X1=B+8|0,q1=e[X1>>2]|0,u2=(q1|0)<1,u2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,R5=e[b2>>2]|0,b=(R5|0)<(G2|0),b))return $=1,$|0;O=B+3656|0,s0=e[O>>2]|0,J2=t,F5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(F5|0));g0=l9(1,136)|0,w0=t+104|0,e[w0>>2]=g0,K0=t+4|0,e[K0>>2]=s,z0=e[X1>>2]|0,a1=z0+-1|0,y1=H8(a1)|0,v1=g0+44|0,e[v1>>2]=y1,S1=l9(1,4)|0,L1=g0+12|0,e[L1>>2]=S1,M1=l9(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=l9(1,20)|0,e[S1>>2]=_1,R1=l9(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,P1=F1>>s0,LC(_1,P1),D1=e[b1>>2]|0,O1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>s0,LC(O1,x1),J1=e[B>>2]|0,H1=H8(J1)|0,V1=H1+-7|0,Y1=g0+4|0,e[Y1>>2]=V1,z1=e[b2>>2]|0,t2=H8(z1)|0,o2=t2+-7|0,e2=g0+8|0,e[e2>>2]=o2,h2=(A|0)==0;e:do if(h2){if(Q2=B+2848|0,y5=e[Q2>>2]|0,N5=(y5|0)==0,N5&&(p5=B+24|0,M5=e[p5>>2]|0,q5=l9(M5,56)|0,e[Q2>>2]=q5,z2=e[p5>>2]|0,E5=(z2|0)>0,E5)){for(Q1=z2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,h5=e[$5>>2]|0,Q5=(h5|0)==0,Q5){T1=Q1;break}if(d5=e[Q2>>2]|0,l5=d5+(w5*56|0)|0,X2=nD(l5,h5)|0,D=(X2|0)==0,!D){I5=20;break}if(k=e[$5>>2]|0,RC(k),e[$5>>2]=0,v=w5+1|0,_=e[p5>>2]|0,Q=(v|0)<(_|0),Q)Q1=_,w5=v;else break e}if((I5|0)==20&&(m=e[p5>>2]|0,T1=m),_5=(T1|0)>0,_5)for(C1=T1,f5=0;A1=(B+1824|0)+(f5<<2)|0,g1=e[A1>>2]|0,$1=(g1|0)==0,$1?p1=C1:(RC(g1),e[A1>>2]=0,E=e[p5>>2]|0,p1=E),X0=f5+1|0,B1=(X0|0)<(p1|0),B1;)C1=p1,f5=X0;return Cy(t),$=-1,$|0}}else{if(Z1=g0+20|0,I2=e[B>>2]|0,Gy(Z1,I2),A2=g0+32|0,C2=e[b2>>2]|0,Gy(A2,C2),$2=B+2848|0,W1=e[$2>>2]|0,f2=(W1|0)==0,f2&&(g2=B+24|0,n2=e[g2>>2]|0,s2=l9(n2,56)|0,e[$2>>2]=s2,l2=e[g2>>2]|0,i2=(l2|0)>0,i2&&(a2=B+1824|0,m2=e[a2>>2]|0,Ny(s2,m2)|0,r2=e[g2>>2]|0,k2=(r2|0)>1,k2)))for(S2=1;g=e[$2>>2]|0,D2=g+(S2*56|0)|0,y2=(B+1824|0)+(S2<<2)|0,M2=e[y2>>2]|0,Ny(D2,M2)|0,O2=S2+1|0,p2=e[g2>>2]|0,W2=(O2|0)<(p2|0),W2;)S2=O2;q2=B+28|0,K2=e[q2>>2]|0,U2=l9(K2,52)|0,V2=g0+56|0,e[V2>>2]=U2,Z2=e[q2>>2]|0,A5=(Z2|0)>0;t:do if(A5)for(N1=B+2868|0,t5=s+8|0,i5=U2,d2=0;;){if(T5=i5+(d2*52|0)|0,L5=(B+2852|0)+(d2<<2)|0,j2=e[L5>>2]|0,m5=e[j2>>2]|0,D5=B+(m5<<2)|0,V5=e[D5>>2]|0,u5=(V5|0)/2&-1,B5=e[t5>>2]|0,Tb(T5,j2,N1,u5,B5),o5=d2+1|0,F2=e[q2>>2]|0,R2=(o5|0)<(F2|0),!R2)break t;d=e[V2>>2]|0,i5=d,d2=o5}while(!1);e[t>>2]=1}while(!1);if(L=e[b2>>2]|0,R=t+16|0,e[R>>2]=L,M=s+4|0,F=e[M>>2]|0,G=F<<2,q=Re(G)|0,H=t+8|0,e[H>>2]=q,K=Re(G)|0,t0=t+12|0,e[t0>>2]=K,Z=(F|0)>0,Z&&(A0=l9(L,4)|0,e[q>>2]=A0,j=(F|0)>1,j))for(J=1;p=e[H>>2]|0,r0=l9(L,4)|0,o0=p+(J<<2)|0,e[o0>>2]=r0,Y=J+1|0,d0=(Y|0)<(F|0),d0;)J=Y;if(i0=t+36|0,e[i0>>2]=0,e0=t+40|0,e[e0>>2]=0,h0=e[b2>>2]|0,c0=(h0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,X=B+16|0,m0=e[X>>2]|0,I0=l9(m0,4)|0,n0=g0+48|0,e[n0>>2]=I0,f0=B+20|0,p0=e[f0>>2]|0,C0=l9(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,y0=e[X>>2]|0,D0=(y0|0)>0,D0)for(r5=0;B0=(B+800|0)+(r5<<2)|0,x0=e[B0>>2]|0,Z0=25640+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0+8|0,G0=e[v0>>2]|0,U0=(B+1056|0)+(r5<<2)|0,O0=e[U0>>2]|0,H0=pi[G0&15](t,O0)|0,k0=e[n0>>2]|0,N0=k0+(r5<<2)|0,e[N0>>2]=H0,M0=r5+1|0,P0=e[X>>2]|0,W0=(M0|0)<(P0|0),W0;)r5=M0;if(E0=e[f0>>2]|0,Q0=(E0|0)>0,Q0)a5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(a5<<2)|0,V0=e[J0>>2]|0,j0=25648+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+8|0,o1=e[Y0>>2]|0,r1=(B+1568|0)+(a5<<2)|0,L0=e[r1>>2]|0,s1=pi[o1&15](t,L0)|0,d1=e[S0>>2]|0,u1=d1+(a5<<2)|0,e[u1>>2]=s1,E1=a5+1|0,f1=e[f0>>2]|0,h1=(E1|0)<(f1|0),h1)a5=E1;else{$=0;break}return $|0}function Qy(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0;if(R0=C,C=C+64|0,g=R0,d=t+20|0,Q=e[d>>2]|0,Z=Q<<2,s=Z,h0=C,C=C+((1*s|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,y0=t+48|0,D0=e[y0>>2]|0,E0=Q-D0|0,Q0=(E0|0)>32,!Q0){C=R0;return}if(p=t+4|0,m=e[p>>2]|0,E=m+4|0,y=e[E>>2]|0,B=(y|0)>0,!B){C=R0;return}for(b=t+8|0,D=Q,w0=0;;){if(k=(D|0)>0,k)for(v=e[b>>2]|0,_=v+(w0<<2)|0,L=e[_>>2]|0,B0=0;R=B0^-1,M=D+R|0,F=L+(M<<2)|0,G=e[F>>2]|0,O=h0+(B0<<2)|0,e[O>>2]=G,q=B0+1|0,H=(D|0)>(q|0),H;)B0=q;if(K=e[y0>>2]|0,t0=D-K|0,+wy(h0,g,t0,16),A0=e[d>>2]|0,j=e[y0>>2]|0,A=A0-j|0,r0=h0+(A<<2)|0,$=A+-16|0,o0=h0+($<<2)|0,vy(g,o0,16,r0,j),J=e[d>>2]|0,s0=(J|0)>0,s0)for(Y=e[b>>2]|0,d0=Y+(w0<<2)|0,i0=e[d0>>2]|0,x0=0;e0=h0+(x0<<2)|0,c0=e[e0>>2]|0,$0=x0^-1,l0=J+$0|0,X=i0+(l0<<2)|0,e[X>>2]=c0,m0=x0+1|0,g0=(J|0)>(m0|0),g0;)x0=m0;if(I0=w0+1|0,n0=e[p>>2]|0,f0=n0+4|0,p0=e[f0>>2]|0,S0=(I0|0)<(p0|0),S0)D=J,w0=I0;else break}C=R0}function rb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0;l2=C,H2(s,5653314,24),p=e[t>>2]|0,H2(s,p,16),m=t+4|0,H=e[m>>2]|0,H2(s,H,24),d0=e[m>>2]|0,n0=(d0|0)>1;e:do if(n0)for(x0=t+8|0,M0=e[x0>>2]|0,g=f[M0>>0]|0,L0=g,q1=1;;){if(X0=L0<<24>>24==0,X0){e2=q1;break e}if(b1=M0+q1|0,E=f[b1>>0]|0,_=E<<24>>24>24,_){e2=q1;break e}if(Q=q1+1|0,L=(Q|0)<(d0|0),L)L0=E,q1=Q;else{e2=Q;break}}else e2=1;while(!1);R=(e2|0)==(d0|0);e:do if(R){if(H2(s,1,1),M=t+8|0,F=e[M>>2]|0,G=f[F>>0]|0,O=G<<24>>24,q=O+-1|0,H2(s,q,5),K=e[m>>2]|0,t0=(K|0)>1,t0)for(v=K,V1=0,Z1=1;;){if(Z=e[M>>2]|0,A0=Z+Z1|0,j=f[A0>>0]|0,r0=Z1+-1|0,o0=Z+r0|0,J=f[o0>>0]|0,s0=j<<24>>24>J<<24>>24,s0)for(Y=J<<24>>24,i0=j<<24>>24,c0=v,Y1=V1,g2=Y;;)if(e0=Z1-Y1|0,h0=c0-Y1|0,$0=H8(h0)|0,H2(s,e0,$0),l0=g2+1|0,o2=(l0|0)==(i0|0),d=e[m>>2]|0,o2){g0=d,z1=Z1;break}else c0=d,Y1=Z1,g2=l0;else g0=v,z1=V1;if(X=Z1+1|0,m0=(X|0)<(g0|0),m0)v=g0,V1=z1,Z1=X;else{$=g0,H1=z1,h2=X;break}}else $=K,H1=0,h2=1;I0=h2-H1|0,f0=$-H1|0,p0=H8(f0)|0,H2(s,I0,p0)}else{H2(s,0,1),C0=e[m>>2]|0,S0=(C0|0)>0;t:do if(S0)for(y0=t+8|0,D0=e[y0>>2]|0,A2=0;;){if(E0=D0+A2|0,Q0=f[E0>>0]|0,w0=Q0<<24>>24==0,w0){I2=A2;break t}if(B0=A2+1|0,Z0=(B0|0)<(C0|0),Z0)A2=B0;else{I2=B0;break}}else I2=0;while(!1);if(R0=(I2|0)==(C0|0),R0){if(H2(s,0,1),v0=e[m>>2]|0,G0=(v0|0)>0,!G0)break;for(U0=t+8|0,C2=0;;)if(O0=e[U0>>2]|0,H0=O0+C2|0,k0=f[H0>>0]|0,K0=k0<<24>>24,N0=K0+-1|0,H2(s,N0,5),P0=C2+1|0,W0=e[m>>2]|0,J0=(P0|0)<(W0|0),J0)C2=P0;else break e}if(H2(s,1,1),V0=e[m>>2]|0,j0=(V0|0)>0,j0)for(q0=t+8|0,$2=0;Y0=e[q0>>2]|0,o1=Y0+$2|0,z0=f[o1>>0]|0,r1=z0<<24>>24==0,r1?H2(s,0,1):(H2(s,1,1),s1=e[q0>>2]|0,d1=s1+$2|0,u1=f[d1>>0]|0,E1=u1<<24>>24,f1=E1+-1|0,H2(s,f1,5)),h1=$2+1|0,A1=e[m>>2]|0,g1=(h1|0)<(A1|0),g1;)$2=h1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,H2(s,$1,4),B1=e[a1>>2]|0,(B1|0)==2|(B1|0)==1)s2=28;else if(B1|0)return A=-1,A|0;do if((s2|0)==28){if(p1=t+32|0,Q1=e[p1>>2]|0,C1=(Q1|0)==0,C1)return A=-1,A|0;if(y1=t+16|0,v1=e[y1>>2]|0,H2(s,v1,32),k1=t+20|0,S1=e[k1>>2]|0,H2(s,S1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,H2(s,_1,4),R1=t+28|0,F1=e[R1>>2]|0,H2(s,F1,1),P1=e[a1>>2]|0,(P1|0)==1)D1=tD(t)|0,u2=D1;else if((P1|0)==2)O1=e[m>>2]|0,X1=e[t>>2]|0,G1=s5(X1,O1)|0,u2=G1;else break;if(x1=(u2|0)>0,x1)for(W1=0;J1=e[p1>>2]|0,y=J1+(W1<<2)|0,B=e[y>>2]|0,f2=(B|0)>-1,n2=0-B|0,b=f2?B:n2,D=e[L1>>2]|0,H2(s,b,D),k=W1+1|0,t2=(k|0)==(u2|0),!t2;)W1=k}while(!1);return A=0,A|0}function Gu(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0;return t0=C,g=(s|0)<0,g||(d=t+12|0,Q=e[d>>2]|0,R=Q+4|0,M=e[R>>2]|0,F=(M|0)>(s|0),!F)?($=0,$|0):(G=t+20|0,O=e[G>>2]|0,q=O+(s<<2)|0,H=e[q>>2]|0,p=Q+8|0,m=e[p>>2]|0,E=m+s|0,y=f[E>>0]|0,B=y<<24>>24,H2(A,H,B),b=e[d>>2]|0,D=b+8|0,k=e[D>>2]|0,v=k+s|0,_=f[v>>0]|0,L=_<<24>>24,$=L,$|0)}function sE(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0;return k=C,$=t+8|0,g=e[$>>2]|0,d=(g|0)>0,!d||(p=Uu(t,s)|0,m=(p|0)>-1,!m)?(A=-1,A|0):(E=t+24|0,y=e[E>>2]|0,B=y+(p<<2)|0,b=e[B>>2]|0,A=b,A|0)}function nb(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0;if(n0=C,E=t+8|0,y=e[E>>2]|0,F=(y|0)>0,!F)return g=0,C=n0,g|0;o0=e[t>>2]|0,s0=($|0)/(o0|0)&-1,Y=s0<<2,d=Y,d0=C,C=C+((1*d|0)+15&-16)|0,i0=(s0|0)>0;e:do if(i0){for(e0=t+16|0,l0=0;;){if(q=Uu(t,A)|0,H=(q|0)==-1,H){g=-1;break}if(K=e[e0>>2]|0,t0=e[t>>2]|0,Z=s5(t0,q)|0,A0=K+(Z<<2)|0,j=d0+(l0<<2)|0,e[j>>2]=A0,r0=l0+1|0,J=(r0|0)<(s0|0),J)l0=r0;else{h0=t0;break e}}return C=n0,g|0}else h0=o0;while(!1);if(p=(h0|0)<1,m=i0^1,c0=p|m,c0)return g=0,C=n0,g|0;for(X=0,g0=0;;){for(m0=0;k=d0+(m0<<2)|0,v=e[k>>2]|0,_=v+(X<<2)|0,Q=+o[_>>2],L=m0+g0|0,R=s+(L<<2)|0,M=+o[R>>2],G=M+Q,o[R>>2]=G,O=m0+1|0,$0=(O|0)==(s0|0),!$0;)m0=O;if(B=X+1|0,b=g0+s0|0,D=(B|0)<(h0|0),D)X=B,g0=b;else{g=0;break}}return C=n0,g|0}function sb(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0;if(t5=C,Z=t+8|0,A0=e[Z>>2]|0,I0=(A0|0)>0,!I0)return g=0,g|0;if(B0=e[t>>2]|0,N0=(B0|0)>8,N0){if(M1=($|0)>0,!M1)return g=0,g|0;for(J1=t+16|0,i2=0;;){if(i0=Uu(t,A)|0,e0=(i0|0)==-1,e0){g=-1,N1=29;break}if(h0=e[J1>>2]|0,c0=e[t>>2]|0,$0=s5(c0,i0)|0,l0=(c0|0)>0,l0){for(X=(c0|0)>1,Y2=X?c0:1,m2=i2,p2=0;m0=p2+1|0,t0=p2+$0|0,g0=h0+(t0<<2)|0,n0=+o[g0>>2],f0=m2+1|0,p0=s+(m2<<2)|0,C0=+o[p0>>2],S0=C0+n0,o[p0>>2]=S0,y0=(m0|0)<(c0|0),y0;)m2=f0,p2=m0;I2=i2+Y2|0,a2=I2}else a2=i2;if(j=(a2|0)<($|0),j)i2=a2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(r1=t+16|0,$1=($|0)>0,$1)r2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(J=Uu(t,A)|0,s0=(J|0)==-1,s0){g=-1,N1=29;break e}switch(Y=e[r1>>2]|0,d0=e[t>>2]|0,d0|0){case 4:{B=J,Q=Y,N1=19;break t}case 3:{b=J,L=Y,N1=21;break t}case 7:{m=J,k=Y,N1=13;break t}case 6:{E=J,v=Y,N1=15;break t}case 8:{d=Y,p=J,N1=12;break t}case 5:{y=J,_=Y,N1=17;break t}case 1:{W1=J,g2=Y,O2=r2,A5=0;break t}case 2:{D=J,R=Y,N1=23;break t}default:}}if((N1|0)==12?(N1=0,D0=p<<3,E0=d+(D0<<2)|0,Q0=+o[E0>>2],w0=r2+1|0,x0=s+(r2<<2)|0,Z0=+o[x0>>2],R0=Z0+Q0,o[x0>>2]=R0,U0=D0,H0=d,k2=w0,W2=1,N1=14):(N1|0)==13?(N1=0,v0=m*7|0,U0=v0,H0=k,k2=r2,W2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,j0=J0,Y0=v,D2=r2,q2=0,N1=16):(N1|0)==17?(N1=0,u1=y*5|0,f1=u1,A1=_,S2=r2,K2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,y1=Q1,k1=Q,y2=r2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=b*3|0,D1=F1,X1=L,G2=r2,V2=0,N1=22):(N1|0)==23&&(N1=0,z1=D<<1,o2=z1,q1=R,M2=r2,Z2=0,N1=24),(N1|0)==14&&(N1=0,G0=W2+1|0,K=W2+U0|0,O0=H0+(K<<2)|0,k0=+o[O0>>2],K0=k2+1|0,M0=s+(k2<<2)|0,P0=+o[M0>>2],W0=P0+k0,o[M0>>2]=W0,j0=U0,Y0=H0,D2=K0,q2=G0,N1=16),(N1|0)==16&&(N1=0,V0=q2+1|0,H=q2+j0|0,q0=Y0+(H<<2)|0,o1=+o[q0>>2],z0=D2+1|0,L0=s+(D2<<2)|0,s1=+o[L0>>2],d1=s1+o1,o[L0>>2]=d1,f1=j0,A1=Y0,S2=z0,K2=V0,N1=18),(N1|0)==18&&(N1=0,E1=K2+1|0,q=K2+f1|0,h1=A1+(q<<2)|0,g1=+o[h1>>2],a1=S2+1|0,X0=s+(S2<<2)|0,B1=+o[X0>>2],p1=B1+g1,o[X0>>2]=p1,y1=f1,k1=A1,y2=a1,U2=E1,N1=20),(N1|0)==20&&(N1=0,C1=U2+1|0,O=U2+y1|0,v1=k1+(O<<2)|0,S1=+o[v1>>2],L1=y2+1|0,b1=s+(y2<<2)|0,_1=+o[b1>>2],R1=_1+S1,o[b1>>2]=R1,D1=y1,X1=k1,G2=L1,V2=C1,N1=22),(N1|0)==22&&(N1=0,P1=V2+1|0,G=V2+D1|0,O1=X1+(G<<2)|0,G1=+o[O1>>2],x1=G2+1|0,H1=s+(G2<<2)|0,V1=+o[H1>>2],Y1=V1+G1,o[H1>>2]=Y1,o2=D1,q1=X1,M2=x1,Z2=P1,N1=24),(N1|0)==24&&(N1=0,t2=Z2+1|0,F=Z2+o2|0,e2=q1+(F<<2)|0,h2=+o[e2>>2],Z1=M2+1|0,A2=s+(M2<<2)|0,C2=+o[A2>>2],$2=C2+h2,o[A2>>2]=$2,W1=o2,g2=q1,O2=Z1,A5=t2),M=A5+W1|0,f2=g2+(M<<2)|0,n2=+o[f2>>2],u2=O2+1|0,s2=s+(O2<<2)|0,l2=+o[s2>>2],r0=l2+n2,o[s2>>2]=r0,o0=(u2|0)<($|0),o0)r2=u2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function ob(t,s,A,$,g,d){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0;if(I0=C,B=t+8|0,b=e[B>>2]|0,O=(b|0)>0,!O||(r0=(A|0)/($|0)&-1,o0=d+A|0,J=(o0|0)/($|0)&-1,s0=(r0|0)<(J|0),!s0))return m=0,m|0;for(Y=t+16|0,e0=0,$0=r0;;){if(i0=Uu(t,g)|0,D=(i0|0)==-1,D){m=-1,g0=8;break}if(k=e[Y>>2]|0,v=e[t>>2]|0,_=s5(v,i0)|0,Q=(v|0)>0,Q)for(c0=e0,X=$0,m0=0;;)if(y=m0+_|0,L=k+(y<<2)|0,R=+o[L>>2],M=c0+1|0,F=s+(c0<<2)|0,G=e[F>>2]|0,q=G+(X<<2)|0,H=+o[q>>2],K=H+R,o[q>>2]=K,t0=(M|0)==($|0),Z=t0&1,E=Z+X|0,p=t0?0:M,A0=m0+1|0,j=(A0|0)<(v|0),j)c0=p,X=E,m0=A0;else{h0=p,l0=E;break}else h0=e0,l0=$0;if(d0=(l0|0)<(J|0),d0)e0=h0,$0=l0;else{m=0,g0=8;break}}return(g0|0)==8?m|0:0}function Uu(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0;p1=C,g=t+40|0,d=e[g>>2]|0,Q=t+36|0,Z=e[Q>>2]|0,h0=bC(s,Z)|0,C0=(h0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,d1=J0+(h0<<2)|0,u1=e[d1>>2]|0,p=(u1|0)<0,p){m=u1>>>15,E=m&32767,y=t+8|0,B=e[y>>2]|0,b=u1&32767,D=B-b|0,E1=D,h1=E;break}return k=u1+-1|0,v=t+28|0,_=e[v>>2]|0,L=_+k|0,R=f[L>>0]|0,M=R<<24>>24,DC(s,M),A=k,A|0}else F=t+8|0,G=e[F>>2]|0,E1=G,h1=0;while(!1);if(O=bC(s,d)|0,q=(O|0)<0,H=(d|0)>1,K=q&H,K)for(X0=d;;)if(t0=X0+-1|0,A0=bC(s,t0)|0,j=(A0|0)<0,r0=(t0|0)>1,o0=j&r0,o0)X0=t0;else{$=j,a1=A0,$1=t0;break}else $=q,a1=O,$1=d;if($)return A=-1,A|0;if(J=a1>>>16,s0=a1<<16,Y=J|s0,d0=Y>>>8,i0=d0&16711935,e0=Y<<8,c0=e0&-16711936,$0=i0|c0,l0=$0>>>4,X=l0&252645135,m0=$0<<4,g0=m0&-252645136,I0=X|g0,n0=I0>>>2,f0=n0&858993459,p0=I0<<2,S0=p0&-858993460,y0=f0|S0,D0=y0>>>1,E0=D0&1431655765,Q0=y0<<1,w0=Q0&-1431655766,B0=E0|w0,x0=E1-h1|0,Z0=(x0|0)>1,Z0)for(R0=t+20|0,G0=e[R0>>2]|0,O0=x0,f1=E1,g1=h1;;)if(U0=O0>>1,H0=U0+g1|0,k0=G0+(H0<<2)|0,K0=e[k0>>2]|0,N0=K0>>>0>B0>>>0,M0=N0?0:U0,P0=M0+g1|0,W0=N0?U0:0,V0=f1-W0|0,j0=V0-P0|0,q0=(j0|0)>1,q0)O0=j0,f1=V0,g1=P0;else{A1=P0;break}else A1=h1;return Y0=t+28|0,o1=e[Y0>>2]|0,z0=o1+A1|0,r1=f[z0>>0]|0,L0=r1<<24>>24,s1=(L0|0)>($1|0),s1?(DC(s,$1),A=-1,A|0):(DC(s,L0),A=A1,A|0)}function ab(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0;for(d1=C,y=s+28|0,B=e[y>>2]|0,G=s+4|0,J=e[G>>2]|0,m0=t+4|0,e[m0>>2]=128,Q0=t+8|0,e[Q0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,V0=t+12|0,e[V0>>2]=J0,e[t>>2]=J,j0=t+164|0,e[j0>>2]=128,b=B+4|0,D=e[b>>2]|0,k=(D|0)/2&-1,v=t+176|0,e[v>>2]=k,_=l9(128,4)|0,Q=t+36|0,e[Q>>2]=_,L=t+16|0,LC(L,128),R=e[Q>>2]|0,z0=0;M=+(z0|0),F=M*.024736950028266088,O=+Vn(+F),q=O,H=R+(z0<<2)|0,K=q*q,o[H>>2]=K,t0=z0+1|0,o1=(t0|0)==128,!o1;)z0=t0;for(Z=t+40|0,e[Z>>2]=2,A0=t+44|0,e[A0>>2]=4,j=t+56|0,e[j>>2]=4,r0=t+60|0,e[r0>>2]=5,o0=t+72|0,e[o0>>2]=6,s0=t+76|0,e[s0>>2]=6,Y=t+88|0,e[Y>>2]=9,d0=t+92|0,e[d0>>2]=8,i0=t+104|0,e[i0>>2]=13,e0=t+108|0,e[e0>>2]=8,h0=t+120|0,e[h0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,L0=0;;){if(X=g0<<2,I0=Re(X)|0,n0=((t+40|0)+(L0<<4)|0)+8|0,e[n0>>2]=I0,f0=(g0|0)>0,f0){for(p0=+(g0|0),C0=((t+40|0)+(L0<<4)|0)+12|0,E=+o[C0>>2],R0=E,r1=0;;)if(S0=+(r1|0),y0=S0+.5,D0=y0/p0,E0=D0*3.141592653589793,w0=+Vn(+E0),B0=w0,x0=I0+(r1<<2)|0,o[x0>>2]=B0,Z0=R0+B0,v0=r1+1|0,q0=(v0|0)==(g0|0),q0){A=Z0;break}else R0=Z0,r1=v0;o[C0>>2]=A,p=C0,U0=A}else g=((t+40|0)+(L0<<4)|0)+12|0,m=+o[g>>2],p=g,U0=m;if(G0=1/U0,o[p>>2]=G0,O0=L0+1|0,Y0=(O0|0)==7,Y0)break;$=((t+40|0)+(O0<<4)|0)+4|0,d=e[$>>2]|0,g0=d,L0=O0}H0=J*7|0,K0=l9(H0,144)|0,N0=t+152|0,e[N0>>2]=K0,M0=e[j0>>2]|0,P0=l9(M0,4)|0,W0=t+160|0,e[W0>>2]=P0}function Ab(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0;q=C,s=t+16|0,MC(s),A=t+48|0,k=e[A>>2]|0,E2(k),_=t+64|0,Q=e[_>>2]|0,E2(Q),L=t+80|0,R=e[L>>2]|0,E2(R),M=t+96|0,F=e[M>>2]|0,E2(F),G=t+112|0,$=e[G>>2]|0,E2($),g=t+128|0,d=e[g>>2]|0,E2(d),p=t+144|0,m=e[p>>2]|0,E2(m),E=t+36|0,y=e[E>>2]|0,E2(y),B=t+152|0,b=e[B>>2]|0,E2(b),D=t+160|0,v=e[D>>2]|0,E2(v),g4(t|0,0,180)|0}function $b(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0;if(t2=C,d=t+4|0,p=e[d>>2]|0,F=p+28|0,o0=e[F>>2]|0,X=o0+2868|0,E0=t+104|0,H0=e[E0>>2]|0,Y0=e[H0>>2]|0,A1=Y0+168|0,k1=e[A1>>2]|0,m=Y0+8|0,b=e[m>>2]|0,D=(k1|0)/(b|0)&-1,k=t+20|0,v=e[k>>2]|0,_=(v|0)/(b|0)&-1,Q=_+-4|0,L=(D|0)<0,s=L?0:D,R=_+2|0,M=Y0+164|0,G=e[M>>2]|0,O=(R|0)>(G|0),O&&(e[M>>2]=R,q=Y0+160|0,H=e[q>>2]|0,K=R<<2,t0=K7(H,K)|0,e[q>>2]=t0),Z=(s|0)<(Q|0),Z)for(A0=Y0+156|0,j=Y0+160|0,r0=t+8|0,J=Y0+40|0,s0=Y0+152|0,x1=s;;){if(Y=e[A0>>2]|0,d0=Y+1|0,i0=(Y|0)>23,$=i0?24:d0,e[A0>>2]=$,e0=e[Y0>>2]|0,h0=(e0|0)>0,h0){for(G1=0,Y1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,I0=e[g0>>2]|0,n0=e[m>>2]|0,f0=s5(n0,x1)|0,p0=I0+(f0<<2)|0,C0=e[s0>>2]|0,S0=G1*7|0,y0=C0+(S0*144|0)|0,D0=gb(Y0,X,p0,J,y0)|0,Q0=D0|Y1,w0=G1+1|0,B0=e[Y0>>2]|0,x0=(w0|0)<(B0|0),x0)G1=w0,Y1=Q0;else{g=Q0;break}Z0=x1+2|0,R0=e[j>>2]|0,v0=R0+(Z0<<2)|0,e[v0>>2]=0,G0=g&1,U0=(G0|0)==0,U0||(O0=R0+(x1<<2)|0,e[O0>>2]=1,k0=x1+1|0,K0=R0+(k0<<2)|0,e[K0>>2]=1),N0=g&2,M0=(N0|0)==0,M0||(P0=R0+(x1<<2)|0,e[P0>>2]=1,W0=(x1|0)>0,W0&&(J0=x1+-1|0,V0=R0+(J0<<2)|0,e[V0>>2]=1)),j0=g&4,q0=(j0|0)==0,q0||(e[A0>>2]=-1)}else c0=x1+2|0,$0=e[j>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(o1=x1+1|0,X1=(o1|0)==(Q|0),X1)break;x1=o1}if(z0=e[m>>2]|0,r1=s5(z0,Q)|0,e[A1>>2]=r1,L0=t+48|0,s1=e[L0>>2]|0,d1=t+40|0,u1=e[d1>>2]|0,E1=o0+(u1<<2)|0,f1=e[E1>>2]|0,h1=(f1|0)/4&-1,g1=h1+s1|0,a1=o0+4|0,$1=e[a1>>2]|0,X0=($1|0)/2&-1,B1=g1+X0|0,p1=e[o0>>2]|0,Q1=(p1|0)/4&-1,C1=B1+Q1|0,y1=Y0+176|0,v1=e[y1>>2]|0,S1=r1-z0|0,L1=(v1|0)<(S1|0),!L1)return A=-1,A|0;for(M1=Y0+160|0,J1=v1;;){if(R1=(J1|0)<(C1|0),!R1){A=1,z1=22;break}if(e[y1>>2]=J1,F1=(J1|0)/(z0|0)&-1,P1=e[M1>>2]|0,D1=P1+(F1<<2)|0,O1=e[D1>>2]|0,E=(O1|0)!=0,y=(J1|0)>(s1|0),V1=y&E,b1=z0+J1|0,V1){H1=J1,z1=21;break}if(_1=(b1|0)<(S1|0),_1)J1=b1;else{A=-1,z1=22;break}}return(z1|0)==21?(B=Y0+172|0,e[B>>2]=H1,A=0,A|0):(z1|0)==22?A|0:0}function lb(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0;if(Q0=C,g=t+104|0,d=e[g>>2]|0,Q=e[d>>2]|0,Z=t+4|0,h0=e[Z>>2]|0,g0=h0+28|0,I0=e[g0>>2]|0,n0=t+48|0,f0=e[n0>>2]|0,p0=t+40|0,p=e[p0>>2]|0,m=I0+(p<<2)|0,E=e[m>>2]|0,y=(E|0)/4&-1,B=f0-y|0,b=y+f0|0,D=(p|0)==0,D?(H=e[I0>>2]|0,K=(H|0)/4&-1,A=K,$=K):(k=t+36|0,v=e[k>>2]|0,_=I0+(v<<2)|0,L=e[_>>2]|0,R=(L|0)/4&-1,M=t+44|0,F=e[M>>2]|0,G=I0+(F<<2)|0,O=e[G>>2]|0,q=(O|0)/4&-1,A=q,$=R),C0=B-$|0,S0=b+A|0,t0=Q+172|0,A0=e[t0>>2]|0,j=(A0|0)>=(C0|0),r0=(A0|0)<(S0|0),D0=j&r0,D0)return s=1,s|0;if(o0=Q+8|0,J=e[o0>>2]|0,s0=(C0|0)/(J|0)&-1,Y=(S0|0)/(J|0)&-1,d0=(s0|0)<(Y|0),!d0)return s=0,s|0;for(i0=Q+160|0,e0=e[i0>>2]|0,y0=s0;;){if(l0=e0+(y0<<2)|0,X=e[l0>>2]|0,m0=(X|0)==0,c0=y0+1|0,!m0){s=1,E0=9;break}if($0=(c0|0)<(Y|0),$0)y0=c0;else{s=0,E0=9;break}}return(E0|0)==9?s|0:0}function cb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0;if(H=C,A=t+168|0,$=e[A>>2]|0,v=t+8|0,Q=e[v>>2]|0,L=($|0)/(Q|0)&-1,R=L+2|0,M=(s|0)/(Q|0)&-1,F=t+160|0,G=e[F>>2]|0,O=G+(M<<2)|0,g=R-M|0,d=g<<2,$A(G|0,O|0,d|0)|0,p=e[A>>2]|0,m=p-s|0,e[A>>2]=m,E=t+172|0,y=e[E>>2]|0,B=(y|0)>-1,!B){D=t+176|0,k=e[D>>2]|0,_=k-s|0,e[D>>2]=_;return}b=y-s|0,e[E>>2]=b,D=t+176|0,k=e[D>>2]|0,_=k-s|0,e[D>>2]=_}function gb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0;if(m3=C,Z=t+4|0,A0=e[Z>>2]|0,u2=t+12|0,G2=+o[u2>>2],Y2=A0<<2,L=Y2,b2=C,C=C+((1*L|0)+15&-16)|0,R5=t+156|0,d2=e[R5>>2]|0,T2=(d2|0)>5,G5=(d2|0)/2&-1,d=T2?G5:2,j=s+60|0,$0=+o[j>>2],y0=G5+-2|0,U0=+(y0|0),j0=$0-U0,f1=j0<0,C6=f1?0:j0,y1=C6>$0,b3=y1?$0:C6,D1=(A0|0)>0,D1)for(o2=t+36|0,g2=e[o2>>2]|0,Y5=0;s2=A+(Y5<<2)|0,l2=+o[s2>>2],i2=g2+(Y5<<2)|0,a2=+o[i2>>2],m2=a2*l2,r2=b2+(Y5<<2)|0,o[r2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(A0|0),!Q3;)Y5=k2;D2=t+16|0,ky(D2,b2,b2),S2=+o[b2>>2],y2=S2*S2,M2=y2,O2=b2+4|0,p2=+o[O2>>2],W2=p2,q2=W2*W2,K2=q2*.7,U2=K2+M2,V2=b2+8|0,Z2=+o[V2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=U2+t5,i5=T5,L5=g+140|0,j2=e[L5>>2]|0,m5=(j2|0)==0,m5?(D5=g+136|0,V5=+o[D5>>2],u5=V5+i5,B5=g+132|0,o[B5>>2]=u5,o[D5>>2]=i5,O=B5,z2=u5):(o5=g+132|0,F2=+o[o5>>2],R2=F2+i5,o[o5>>2]=R2,Q2=g+136|0,y5=+o[Q2>>2],N5=y5+i5,o[Q2>>2]=N5,O=o5,z2=R2),p5=(g+72|0)+(j2<<2)|0,M5=+o[p5>>2],q5=z2-M5,o[O>>2]=q5,o[p5>>2]=i5,E5=e[L5>>2]|0,$5=E5+1|0,h5=(E5|0)>13,p=h5?0:$5,e[L5>>2]=p,Q5=(A0|0)/2&-1,T1=(A0|0)>1;e:do if(T1)for(_5=z2*.0625,d5=(o[w2>>2]=_5,e[w2>>2]|0),l5=d5&2147483647,X2=+(l5>>>0),w5=X2*7177114298428933e-22,r5=w5+-764.6162109375,a5=r5,f5=a5*.5,J2=f5+-15,I5=J2,R=I5,G0=S2,b5=0;;){if(v0=G0*G0,O0=b5|1,H0=b2+(O0<<2)|0,k0=+o[H0>>2],K0=k0*k0,N0=K0+v0,M0=(o[w2>>2]=N0,e[w2>>2]|0),P0=M0&2147483647,W0=+(P0>>>0),J0=W0*35885571492144663e-23,V0=J0+-382.30810546875,q0=V0>1,z0=b2+(o1<<2)|0,o[z0>>2]=t0,r1=b5+2|0,L0=(r1|0)<(Q5|0),!L0)break e;s1=R+-8,F=b2+(r1<<2)|0,G=+o[F>>2],R=s1,G0=G,b5=r1}while(!1);if(n5=(d|0)>0,n5)l3=0,K3=0;else{for(n3=0,r6=0;;){if(d1=($+(n3<<4)|0)+4|0,u1=e[d1>>2]|0,E1=(u1|0)>0,E1)for(h1=$+(n3<<4)|0,A1=e[h1>>2]|0,g1=($+(n3<<4)|0)+8|0,a1=e[g1>>2]|0,c3=0,z3=0;;)if($1=A1+z3|0,X0=b2+($1<<2)|0,B1=+o[X0>>2],p1=a1+(z3<<2)|0,Q1=+o[p1>>2],C1=Q1*B1,v1=C1+c3,k1=z3+1|0,S1=(k1|0)<(u1|0),S1)c3=v1,z3=k1;else{G3=v1;break}else G3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+o[L1>>2],b1=M1*G3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,y=F1?16:-1,m=y+R1|0,P1=(g+(n3*144|0)|0)+(m<<2)|0,O1=+o[P1>>2],X1=b1O1,b=x1?O1:b1,J1=b+-99999,H1=G1+99999,V1=(g+(n3*144|0)|0)+(R1<<2)|0,o[V1>>2]=b1,Y1=e[_1>>2]|0,z1=Y1+1|0,t2=(Y1|0)>15,_=t2?0:z1,e[_1>>2]=_,e2=(s+4|0)+(n3<<2)|0,q1=+o[e2>>2],h2=q1+b3,Z1=H1>h2,I2=r6|5,j5=Z1?I2:r6,A2=(s+32|0)+(n3<<2)|0,C2=+o[A2>>2],$2=C2-b3,W1=J1<$2,f2=j5|2,h3=W1?f2:j5,n2=n3+1|0,u3=(n2|0)==7,u3){A6=h3;break}else n3=n2,r6=h3}return C=m3,A6|0}for(;;){if(F5=($+(l3<<4)|0)+4|0,e5=e[F5>>2]|0,c5=(e5|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,D0=($+(l3<<4)|0)+8|0,g0=e[D0>>2]|0,g3=0,U5=0;;)if(h0=c0+U5|0,l0=b2+(h0<<2)|0,X=+o[l0>>2],m0=g0+(U5<<2)|0,I0=+o[m0>>2],n0=I0*X,f0=n0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=f0,U5=p0;else{Y3=f0;break}else Y3=0;for(E0=($+(l3<<4)|0)+12|0,Q0=+o[E0>>2],d3=Q0*Y3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,x0=+o[B0>>2],Z0=d3x0,D=R0?x0:d3,l6=0,U3=E,L3=-99999,D3=99999;;)if(o0=(U3|0)<1,v=o0?16:-1,k=v+U3|0,J=(g+(l3*144|0)|0)+(k<<2)|0,s0=+o[J>>2],Y=L3s0,q=i0?s0:D3,e0=l6+1|0,K5=(e0|0)==(d|0),K5){M=d0,H=q;break}else l6=e0,U3=k,L3=d0,D3=q;if(v5=D-H,z5=i3-M,C5=(g+(l3*144|0)|0)+(I3<<2)|0,o[C5>>2]=d3,W5=e[r3>>2]|0,a3=W5+1|0,y3=(W5|0)>15,Q=y3?0:a3,e[r3>>2]=Q,Z5=(s+4|0)+(l3<<2)|0,x3=+o[Z5>>2],f3=x3+b3,w3=z5>f3,e6=K3|5,M3=w3?e6:K3,V3=(s+32|0)+(l3<<2)|0,X5=+o[V3>>2],_3=X5-b3,t3=v5<_3,a6=M3|2,J3=t3?a6:M3,r0=l3+1|0,H5=(r0|0)==7,H5){A6=J3;break}else l3=r0,K3=J3}return C=m3,A6|0}function sl(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0;if(A9=C,C=C+4912|0,z6=A9+1328|0,S9=A9+1064|0,I9=A9+804|0,Pt=A9+544|0,F4=A9+284|0,t8=A9+24|0,$8=A9+20|0,Zt=A9+16|0,Ot=A9+12|0,qt=A9+8|0,T4=A9+4|0,ot=A9,A0=s+1296|0,j=e[A0>>2]|0,y2=s+1288|0,n6=e[y2>>2]|0,O3=s+1284|0,w6=e[O3>>2]|0,ve=(w6|0)>0,ve){for(mt=0;n4=S9+(mt<<2)|0,e[n4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(w6|0),!S4;)mt=k4;if(ve){for(j3=0;C9=I9+(j3<<2)|0,e[C9>>2]=-200,r0=j3+1|0,f9=(r0|0)==(w6|0),!f9;)j3=r0;if(ve){for(l0=w6<<2,g4(Pt|0,0,l0|0)|0,xe=0;D0=F4+(xe<<2)|0,e[D0>>2]=1,O0=xe+1|0,z4=(O0|0)==(w6|0),!z4;)xe=O0;if(ve){if(h1=w6<<2,g4(t8|0,-1,h1|0)|0,v1=(w6|0)>1,!v1)return A4=0,C=A9,A4|0;for(O1=n6+-1|0,e2=j+1112|0,n2=w6+-1|0,G=e[s>>2]|0,v9=G,be=0,b4=0;;){R9=be+1|0,F9=s+(R9<<2)|0,G9=e[F9>>2]|0,q9=z6+(be*56|0)|0,O4=q9,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[q9>>2]=v9,H9=(z6+(be*56|0)|0)+4|0,e[H9>>2]=G9,Ke=(G9|0)<(n6|0),o8=Ke?G9:O1,V9=(o8|0)<(v9|0),V9)_t=0,n8=0,Mt=0,Rt=0,yt=0,P4=0,a8=0,je=0,jt=0,Tt=0,Z8=0,j8=0;else for(x9=v9,pt=0,K4=0,J9=0,o9=0,D4=0,gt=0,C3=0,Te=0,ht=0,De=0,u8=0,Nt=0;;){h9=$+(x9<<2)|0,K=+o[h9>>2],U9=K*7.314285755157471,E9=U9+1023.5,v4=~~E9,Ze=(v4|0)>1023,ke=(v4|0)<0,p=ke?0:v4,b=Ze?1023:p,V4=(b|0)==0;do if(V4)Kt=pt,at=K4,$t=J9,Bt=o9,W4=D4,b9=gt,wt=C3,Wt=Te,Z9=ht,et=De,c4=u8,Xt=Nt;else if(nt=A+(x9<<2)|0,Y9=+o[nt>>2],Y4=+o[e2>>2],z9=Y4+Y9,s4=!(z9>=K),s4){h4=x9+gt|0,s9=b+Nt|0,d4=s5(x9,x9)|0,f4=d4+o9|0,k9=s5(b,b)|0,o0=k9+De|0,J=s5(b,x9)|0,s0=J+Te|0,Y=K4+1|0,Kt=pt,at=Y,$t=J9,Bt=f4,W4=D4,b9=h4,wt=C3,Wt=s0,Z9=ht,et=o0,c4=u8,Xt=s9;break}else{R4=x9+D4|0,st=b+u8|0,n9=s5(x9,x9)|0,u4=n9+J9|0,T6=s5(b,b)|0,K9=T6+ht|0,Oe=s5(b,x9)|0,d9=Oe+C3|0,T9=pt+1|0,Kt=T9,at=K4,$t=u4,Bt=o9,W4=R4,b9=gt,wt=d9,Wt=Te,Z9=K9,et=De,c4=st,Xt=Nt;break}while(!1);if(d0=x9+1|0,i0=(x9|0)<(o8|0),i0)x9=d0,pt=Kt,K4=at,J9=$t,o9=Bt,D4=W4,gt=b9,C3=wt,Te=Wt,ht=Z9,De=et,u8=c4,Nt=Xt;else{_t=Kt,n8=at,Mt=$t,Rt=Bt,yt=W4,P4=b9,a8=wt,je=Wt,jt=Z9,Tt=et,Z8=c4,j8=Xt;break}}if(e0=(z6+(be*56|0)|0)+8|0,e[e0>>2]=yt,h0=(z6+(be*56|0)|0)+12|0,e[h0>>2]=Z8,c0=(z6+(be*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(be*56|0)|0)+20|0,e[$0>>2]=jt,X=(z6+(be*56|0)|0)+24|0,e[X>>2]=a8,m0=(z6+(be*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(be*56|0)|0)+32|0,e[g0>>2]=P4,I0=(z6+(be*56|0)|0)+36|0,e[I0>>2]=j8,n0=(z6+(be*56|0)|0)+40|0,e[n0>>2]=Rt,f0=(z6+(be*56|0)|0)+44|0,e[f0>>2]=Tt,p0=(z6+(be*56|0)|0)+48|0,e[p0>>2]=je,C0=(z6+(be*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+b4|0,I6=(R9|0)==(n2|0),I6){E8=S0;break}else v9=G9,be=R9,b4=S0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(q0=(w6|0)==0,!q0)return A4=0,C=A9,A4|0;G2=z6+4|0,O4=z6,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[G2>>2]=n6,Y2=(n6|0)<1,Y2)Yt=0,r8=0,Jt=0,Ct=0,ct=0,a9=0,Qt=0,$4=0,l8=0,c8=0,V8=0,Y8=0;else for(b2=j+1112|0,m9=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,W9=0,l4=0,ut=0,X4=0,R8=0,dt=0;;){R5=$+(m9<<2)|0,H=+o[R5>>2],d2=H*7.314285755157471,T2=d2+1023.5,G5=~~T2,G3=(G5|0)>1023,U5=(G5|0)<0,d=U5?0:G5,B=G3?1023:d,K3=(B|0)==0;do if(K3)zt=xt,G4=Et,U4=At,lt=m4,J4=p4,_4=E4,Z4=W9,j4=l4,Ft=ut,g8=X4,F8=R8,T8=dt;else if(f6=A+(m9<<2)|0,Z3=+o[f6>>2],$6=+o[b2>>2],ge=$6+Z3,U6=!(ge>=H),U6){Be=m9+E4|0,ye=B+dt|0,Qe=s5(m9,m9)|0,de=Qe+m4|0,fe=s5(B,B)|0,Ve=fe+X4|0,q6=s5(B,m9)|0,ae=q6+l4|0,Ye=Et+1|0,zt=xt,G4=Ye,U4=At,lt=de,J4=p4,_4=Be,Z4=W9,j4=ae,Ft=ut,g8=Ve,F8=R8,T8=ye;break}else{Y6=m9+p4|0,F6=B+R8|0,te=s5(m9,m9)|0,_6=te+At|0,P6=s5(B,B)|0,O6=P6+ut|0,oe=s5(B,m9)|0,he=oe+W9|0,ne=xt+1|0,zt=ne,G4=Et,U4=_6,lt=m4,J4=Y6,_4=E4,Z4=he,j4=l4,Ft=O6,g8=X4,F8=F6,T8=dt;break}while(!1);if(we=m9+1|0,Se=(we|0)==(n6|0),Se){Yt=zt,r8=G4,Jt=U4,Ct=lt,ct=J4,a9=_4,Qt=Z4,$4=j4,l8=Ft,c8=g8,V8=F8,Y8=T8;break}else m9=we,xt=zt,Et=G4,At=U4,m4=lt,p4=J4,E4=_4,W9=Z4,l4=j4,ut=Ft,X4=g8,R8=F8,dt=T8}Q9=z6+8|0,e[Q9>>2]=ct,g9=z6+12|0,e[g9>>2]=V8,p9=z6+16|0,e[p9>>2]=Jt,ze=z6+20|0,e[ze>>2]=l8,r9=z6+24|0,e[r9>>2]=Qt,Fe=z6+28|0,e[Fe>>2]=Yt,J6=z6+32|0,e[J6>>2]=a9,Ae=z6+36|0,e[Ae>>2]=Y8,w9=z6+40|0,e[w9>>2]=Ct,M9=z6+44|0,e[M9>>2]=c8,u9=z6+48|0,e[u9>>2]=$4,_e=z6+52|0,e[_e>>2]=r8,E8=Yt}if(y0=(E8|0)==0,y0)return A4=0,C=A9,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=w6+-1|0,_C(z6,E0,$8,Zt,j)|0,Q0=e[$8>>2]|0,e[S9>>2]=Q0,e[I9>>2]=Q0,w0=e[Zt>>2]|0,B0=I9+4|0,e[B0>>2]=w0,x0=S9+4|0,e[x0>>2]=w0,Z0=(w6|0)>2;do if(Z0){R0=j+1112|0,v0=j+1096|0,G0=j+1100|0,U0=j+1104|0,O9=2;e:for(;;){H0=(s+520|0)+(O9<<2)|0,k0=e[H0>>2]|0,K0=Pt+(k0<<2)|0,N0=e[K0>>2]|0,M0=F4+(k0<<2)|0,P0=e[M0>>2]|0,W0=t8+(N0<<2)|0,J0=e[W0>>2]|0,V0=(J0|0)==(P0|0);t:do if(!V0){if(j0=(s+520|0)+(N0<<2)|0,Y0=e[j0>>2]|0,o1=(s+520|0)+(P0<<2)|0,z0=e[o1>>2]|0,e[W0>>2]=P0,r1=(j+836|0)+(N0<<2)|0,L0=e[r1>>2]|0,s1=(j+836|0)+(P0<<2)|0,d1=e[s1>>2]|0,u1=S9+(N0<<2)|0,E1=e[u1>>2]|0,f1=(E1|0)<0,A1=I9+(N0<<2)|0,g1=e[A1>>2]|0,f1?v=g1:(a1=(g1|0)<0,a1?v=E1:($1=g1+E1|0,X0=$1>>1,v=X0)),B1=S9+(P0<<2)|0,p1=e[B1>>2]|0,Q1=(p1|0)<0,C1=I9+(P0<<2)|0,y1=e[C1>>2]|0,Q1?Q=y1:(k1=(y1|0)<0,k1?Q=p1:(S1=y1+p1|0,L1=S1>>1,Q=L1)),M1=(v|0)==-1,b1=(Q|0)==-1,L8=M1|b1,L8){C4=38;break e}_1=Q-v|0,R1=d1-L0|0,N4=(_1|0)>-1,Le=0-_1|0,F1=N4?_1:Le,P1=(_1|0)/(R1|0)&-1,D1=_1>>31,X1=D1|1,G1=$+(L0<<2)|0,Z=+o[G1>>2],x1=Z*7.314285755157471,J1=x1+1023.5,H1=~~J1,V1=(H1|0)>1023,Y1=(H1|0)<0,m=Y1?0:H1,D=V1?1023:m,z1=s5(P1,R1)|0,f8=(z1|0)>-1,p8=0-z1|0,t2=f8?z1:p8,o2=F1-t2|0,q1=v-D|0,h2=s5(q1,q1)|0,Z1=A+(L0<<2)|0,I2=+o[Z1>>2],A2=+o[R0>>2],C2=A2+I2,$2=!(C2>=Z),$2?C4=42:(W1=+(v|0),f2=+o[v0>>2],g2=f2+W1,u2=+(D|0),s2=g2>2],i2=W1-l2,a2=i2>u2,a2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=L0+1|0,r2=(m2|0)<(d1|0),r2)for(p2=m2,o4=0,x8=h2,Vt=1,C8=v;;){if(k2=o4+o2|0,D2=(k2|0)<(R1|0),S2=D2?0:X1,M2=D2?0:R1,P9=k2-M2|0,F=C8+P1|0,A8=F+S2|0,O2=$+(p2<<2)|0,t0=+o[O2>>2],W2=t0*7.314285755157471,q2=W2+1023.5,K2=~~q2,U2=(K2|0)>1023,V2=(K2|0)<0,E=V2?0:K2,_=U2?1023:E,Z2=A8-_|0,A5=s5(Z2,Z2)|0,N1=A5+x8|0,t5=Vt+1|0,T5=A+(p2<<2)|0,i5=+o[T5>>2],L5=i5+A2,j2=L5>=t0,m5=(_|0)!=0,s8=j2&m5,s8&&(D5=+(A8|0),V5=+o[v0>>2],u5=V5+D5,B5=+(_|0),o5=u5>2],R2=D5-F2,Q2=R2>B5,Q2)))break i;if(y5=p2+1|0,N5=(y5|0)<(d1|0),N5)p2=y5,o4=P9,x8=N1,Vt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=h2,Ht=1;if(p5=+o[v0>>2],M5=p5*p5,q5=+(Ht|0),z2=M5/q5,E5=+o[U0>>2],$5=z2>E5,!$5&&(h5=+o[G0>>2],Q5=h5*h5,T1=Q5/q5,_5=T1>E5,!_5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),X2=l5>E5,X2)))break;g3=S9+(O9<<2)|0,e[g3>>2]=-200,u3=I9+(O9<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[ot>>2]=-200,w5=z6+(Y0*56|0)|0,r5=k0-Y0|0,a5=_C(w5,r5,Ot,qt,j)|0,f5=z6+(k0*56|0)|0,J2=z0-k0|0,I5=_C(f5,J2,T4,ot,j)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=v,F5=e[T4>>2]|0,e[qt>>2]=F5),e5=(I5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[ot>>2]=Q,n5)){v5=S9+(O9<<2)|0,e[v5>>2]=-200,z5=I9+(O9<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,C5=(N0|0)==0,C5&&(e[S9>>2]=i3),I3=e[qt>>2]|0,d3=S9+(O9<<2)|0,e[d3>>2]=I3,W5=e[T4>>2]|0,r3=I9+(O9<<2)|0,e[r3>>2]=W5,a3=e[ot>>2]|0,e[B1>>2]=a3,y3=(P0|0)==1,y3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(_8=e8+-1|0,e6=F4+(_8<<2)|0,V3=e[e6>>2]|0,X5=(V3|0)==(P0|0),!X5)break i;if(e[e6>>2]=O9,_3=(e8|0)>1,_3)e8=_8;else break}while(!1);if(m8=k0+1|0,w3=(m8|0)<(w6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,a6=e[t3>>2]|0,Y3=(a6|0)==(N0|0),!Y3)break t;if(e[t3>>2]=O9,I8=Ut+1|0,c3=(I8|0)<(w6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=O9+1|0,K5=(Q3|0)<(w6|0),K5)O9=Q3;else{C4=68;break}}if((C4|0)==38)MS(1);else if((C4|0)==68){O=e[S9>>2]|0,q=e[I9>>2]|0,b5=O,l6=q;break}}else b5=Q0,l6=Q0;while(!1);if(H5=w6<<2,Y5=W8(t,H5)|0,z3=(b5|0)<0,z3?k=l6:(n3=(l6|0)<0,n3?k=b5:(l3=l6+b5|0,U3=l3>>1,k=U3)),e[Y5>>2]=k,C6=e[x0>>2]|0,b3=(C6|0)<0,L3=e[B0>>2]|0,b3?R=L3:(D3=(L3|0)<0,D3?R=C6:(A6=L3+C6|0,r6=A6>>1,R=r6)),j5=Y5+4|0,e[j5>>2]=R,Z0)a4=2;else return A4=Y5,C=A9,A4|0;for(;;)if(M3=a4+-2|0,h3=(s+1032|0)+(M3<<2)|0,J3=e[h3>>2]|0,d6=(s+780|0)+(M3<<2)|0,m3=e[d6>>2]|0,x6=(j+836|0)+(J3<<2)|0,L6=e[x6>>2]|0,M6=(j+836|0)+(m3<<2)|0,S6=e[M6>>2]|0,b6=Y5+(J3<<2)|0,N6=e[b6>>2]|0,j6=Y5+(m3<<2)|0,k6=e[j6>>2]|0,R3=(j+836|0)+(a4<<2)|0,s6=e[R3>>2]|0,o6=N6&32767,B6=k6&32767,W3=B6-o6|0,F3=S6-L6|0,d8=(W3|0)>-1,Lt=0-W3|0,t6=d8?W3:Lt,R6=s6-L6|0,c6=s5(t6,R6)|0,s3=(c6|0)/(F3|0)&-1,K6=(W3|0)<0,A3=0-s3|0,M=K6?A3:s3,L=M+o6|0,g6=S9+(a4<<2)|0,y6=e[g6>>2]|0,T3=(y6|0)<0,H6=I9+(a4<<2)|0,D6=e[H6>>2]|0,T3?y=D6:(G6=(D6|0)<0,G6?y=y6:(ee=D6+y6|0,Q6=ee>>1,y=Q6)),X6=(y|0)<0,P3=(L|0)==(y|0),M8=X6|P3,re=L|32768,g=M8?re:y,V6=Y5+(a4<<2)|0,e[V6>>2]=g,se=a4+1|0,I4=(se|0)==(w6|0),I4){A4=Y5;break}else a4=se;return C=A9,A4|0}function Gt(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0;if(h0=C,d=s+1284|0,p=e[d>>2]|0,L=(A|0)!=0,t0=($|0)!=0,d0=L&t0,!d0)return i0=0,i0|0;if(Z=p<<2,A0=W8(t,Z)|0,j=(p|0)>0,!j)return i0=A0,i0|0;for(r0=65536-g|0,Y=0;;)if(o0=A+(Y<<2)|0,J=e[o0>>2]|0,m=J&32767,E=s5(m,r0)|0,y=$+(Y<<2)|0,B=e[y>>2]|0,b=B&32767,D=s5(b,g)|0,k=E+32768|0,v=k+D|0,_=v>>16,Q=A0+(Y<<2)|0,e[Q>>2]=_,R=e[o0>>2]|0,M=R&32768,F=(M|0)==0,F||(G=e[y>>2]|0,O=G&32768,q=(O|0)==0,q||(H=_|32768,e[Q>>2]=H)),K=Y+1|0,s0=(K|0)==(p|0),s0){i0=A0;break}else Y=K;return i0|0}function ub(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0;if(O6=C,C=C+336|0,U6=O6+64|0,h3=O6+32|0,P3=O6,_=A+1296|0,Q=e[_>>2]|0,f2=A+1284|0,F2=e[f2>>2]|0,$5=s+64|0,a5=e[$5>>2]|0,i3=a5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,L=l3+2848|0,A0=e[L>>2]|0,c0=($|0)==0,c0)return H2(t,0,1),T5=s+36|0,i5=e[T5>>2]|0,L5=(i5|0)/2&-1,j2=L5<<2,g4(g|0,0,j2|0)|0,p=0,C=O6,p|0;if(S0=(F2|0)>0,S0)for(G0=Q+832|0,B6=0;V0=$+(B6<<2)|0,E1=e[V0>>2]|0,C1=E1&32767,P1=e[G0>>2]|0,(P1|0)==4?(Z2=C1>>>4,Y6=Z2):(P1|0)==1?(t2=C1>>>2,Y6=t2):(P1|0)==2?(g2=C1>>>3,Y6=g2):(P1|0)==3?(S2=(C1>>>0)/12&-1,Y6=S2):Y6=C1,m5=E1&32768,D5=m5|Y6,e[V0>>2]=D5,V5=B6+1|0,k6=(V5|0)==(F2|0),!k6;)B6=V5;if(u5=e[$>>2]|0,e[U6>>2]=u5,b2=$+4|0,B5=e[b2>>2]|0,o5=U6+4|0,e[o5>>2]=B5,R2=(F2|0)>2,Q2=A+1292|0,R2){for(W3=2;;){if(y5=W3+-2|0,N5=(A+1032|0)+(y5<<2)|0,p5=e[N5>>2]|0,M5=(A+780|0)+(y5<<2)|0,q5=e[M5>>2]|0,R5=(Q+836|0)+(p5<<2)|0,z2=e[R5>>2]|0,E5=(Q+836|0)+(q5<<2)|0,h5=e[E5>>2]|0,Q5=$+(p5<<2)|0,T1=e[Q5>>2]|0,_5=$+(q5<<2)|0,d5=e[_5>>2]|0,l5=(Q+836|0)+(W3<<2)|0,X2=e[l5>>2]|0,d2=T1&32767,w5=d5&32767,r5=w5-d2|0,f5=h5-z2|0,Z3=(r5|0)>-1,re=0-r5|0,J2=Z3?r5:re,I5=X2-z2|0,n5=s5(J2,I5)|0,F5=(n5|0)/(f5|0)&-1,e5=(r5|0)<0,c5=0-F5|0,E=e5?c5:F5,m=E+d2|0,T2=$+(W3<<2)|0,v5=e[T2>>2]|0,z5=v5&32768,C5=(z5|0)!=0,I3=(v5|0)==(m|0),ge=C5|I3,ge)d3=m|32768,e[T2>>2]=d3,W5=U6+(W3<<2)|0,e[W5>>2]=0;else{r3=e[Q2>>2]|0,a3=r3-m|0,y3=(a3|0)<(m|0),d=y3?a3:m,G5=v5-m|0,Z5=(G5|0)<0;do if(Z5)if(x3=0-d|0,w3=(G5|0)<(x3|0),w3){e6=G5^-1,V3=d+e6|0,F6=V3;break}else{X5=G5<<1,_3=X5^-1,F6=_3;break}else if(t3=(d|0)>(G5|0),t3){G3=G5<<1,F6=G3;break}else{a6=d+G5|0,F6=a6;break}while(!1);Y3=U6+(W3<<2)|0,e[Y3>>2]=F6,e[Q5>>2]=d2,c3=e[_5>>2]|0,u3=c3&32767,e[_5>>2]=u3}if(Q3=W3+1|0,j6=(Q3|0)==(F2|0),j6)break;W3=Q3}b=e[U6>>2]|0,D=e[o5>>2]|0,A6=b,M3=D}else A6=u5,M3=B5;if(H2(t,1,1),K5=A+1308|0,H5=e[K5>>2]|0,Y5=H5+1|0,e[K5>>2]=Y5,b5=e[Q2>>2]|0,z3=b5+-1|0,U5=H8(z3)|0,l6=U5<<1,n3=A+1304|0,U3=e[n3>>2]|0,C6=U3+l6|0,e[n3>>2]=C6,b3=e[Q2>>2]|0,L3=b3+-1|0,D3=H8(L3)|0,H2(t,A6,D3),r6=e[Q2>>2]|0,K3=r6+-1|0,j5=H8(K3)|0,H2(t,M3,j5),R=e[Q>>2]|0,M=(R|0)>0,M)for(F=A+1300|0,F3=0,c6=2;;){if(G=(Q+4|0)+(F3<<2)|0,O=e[G>>2]|0,q=(Q+128|0)+(O<<2)|0,H=e[q>>2]|0,K=(Q+192|0)+(O<<2)|0,t0=e[K>>2]|0,Z=1<>2]=0,e[h3+4>>2]=0,e[h3+8>>2]=0,e[h3+12>>2]=0,e[h3+16>>2]=0,e[h3+20>>2]=0,e[h3+24>>2]=0,e[h3+28>>2]=0,j=(t0|0)==0,!j){if(e[P3>>2]=0,e[P3+4>>2]=0,e[P3+8>>2]=0,e[P3+12>>2]=0,e[P3+16>>2]=0,e[P3+20>>2]=0,e[P3+24>>2]=0,e[P3+28>>2]=0,r0=(t0|0)==31,!r0)for(A3=0;f0=((Q+320|0)+(O<<5)|0)+(A3<<2)|0,p0=e[f0>>2]|0,C0=(p0|0)<0,C0?v=1:(y0=(l3+1824|0)+(p0<<2)|0,D0=e[y0>>2]|0,E0=D0+4|0,Q0=e[E0>>2]|0,v=Q0),w0=P3+(A3<<2)|0,e[w0>>2]=v,B0=A3+1|0,x0=(B0|0)<(Z|0),x0;)A3=B0;o0=(H|0)>0;e:do if(o0){if(r0)for(J3=0,x6=0,g6=0;;)if(Z0=h3+(g6<<2)|0,R0=e[Z0>>2]|0,v0=R0<>2]|0,H6=0;;){if(J=P3+(H6<<2)|0,s0=e[J>>2]|0,d0=(Y|0)<(s0|0),d0){$6=H6,O3=31;break}if(i0=H6+1|0,e0=(i0|0)<(Z|0),e0)H6=i0;else{O3=33;break}}if((O3|0)==31?(O3=0,h0=h3+(y6<<2)|0,e[h0>>2]=$6,l0=$6):(O3|0)==33&&(O3=0,y=h3+(y6<<2)|0,k=e[y>>2]|0,l0=k),$0=l0<>2]|0,N0=A0+(K0*56|0)|0,M0=Gu(N0,m3,t)|0,P0=e[F>>2]|0,W0=P0+M0|0,e[F>>2]=W0}if(J0=(H|0)>0,J0)for(T3=0;j0=h3+(T3<<2)|0,q0=e[j0>>2]|0,Y0=((Q+320|0)+(O<<5)|0)+(q0<<2)|0,o1=e[Y0>>2]|0,z0=(o1|0)>-1,z0&&(r1=T3+c6|0,L0=U6+(r1<<2)|0,s1=e[L0>>2]|0,d1=(A0+(o1*56|0)|0)+4|0,u1=e[d1>>2]|0,f1=(s1|0)<(u1|0),f1&&(h1=A0+(o1*56|0)|0,A1=Gu(h1,s1,t)|0,g1=e[n3>>2]|0,a1=g1+A1|0,e[n3>>2]=a1)),$1=T3+1|0,b6=($1|0)==(H|0),!b6;)T3=$1;if(X0=H+c6|0,B1=F3+1|0,p1=e[Q>>2]|0,Q1=(B1|0)<(p1|0),Q1)F3=B1,c6=X0;else break}if(y1=e[$>>2]|0,v1=Q+832|0,k1=e[v1>>2]|0,S1=s5(k1,y1)|0,L1=s+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[f2>>2]|0,D1=(F1|0)>1,D1)for(s6=0,s3=1,D6=0,Q6=S1;;){if(J1=(A+260|0)+(s3<<2)|0,H1=e[J1>>2]|0,V1=$+(H1<<2)|0,Y1=e[V1>>2]|0,z1=Y1&32767,o2=(z1|0)==(Y1|0),o2)if(e2=e[v1>>2]|0,q1=s5(e2,Y1)|0,h2=(Q+836|0)+(H1<<2)|0,Z1=e[h2>>2]|0,I2=q1-Q6|0,A2=Z1-D6|0,t6=(I2|0)>-1,V6=0-I2|0,C2=t6?I2:V6,$2=(I2|0)/(A2|0)&-1,W1=I2>>31,n2=W1|1,u2=s5($2,A2)|0,R6=(u2|0)>-1,se=0-u2|0,s2=R6?u2:se,l2=C2-s2|0,i2=(R1|0)>(Z1|0),te=i2?Z1:R1,a2=(te|0)>(D6|0),a2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),r2=D6+1|0,k2=(r2|0)<(te|0),k2)for(p2=r2,M6=0,_6=Q6;;)if(D2=M6+l2|0,y2=(D2|0)<(A2|0),G2=y2?0:n2,M2=y2?0:A2,S6=D2-M2|0,B=_6+$2|0,P6=B+G2|0,O2=g+(p2<<2)|0,e[O2>>2]=P6,W2=p2+1|0,f6=(W2|0)==(te|0),f6){o6=Z1,G6=Z1,X6=q1;break}else p2=W2,M6=S6,_6=P6;else o6=Z1,G6=Z1,X6=q1;else o6=s6,G6=D6,X6=Q6;if(q2=s3+1|0,K2=e[f2>>2]|0,U2=(q2|0)<(K2|0),U2)s6=o6,s3=q2,D6=G6,Q6=X6;else{R3=o6,ee=X6;break}}else R3=0,ee=S1;if(O1=s+36|0,X1=e[O1>>2]|0,G1=(X1|0)/2&-1,x1=(R3|0)<(G1|0),x1)K6=R3;else return p=1,C=O6,p|0;for(;;)if(V2=g+(K6<<2)|0,e[V2>>2]=ee,A5=K6+1|0,Y2=e[O1>>2]|0,N1=(Y2|0)/2&-1,t5=(A5|0)<(N1|0),t5)K6=A5;else{p=1;break}return C=O6,p|0}function _C(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0;if(A5=C,y=e[t>>2]|0,B=s+-1|0,$0=(t+(B*56|0)|0)+4|0,y0=e[$0>>2]|0,U0=(s|0)>0,U0)for(j0=g+1108|0,f1=+o[j0>>2],n2=0,i2=0,m2=0,S2=0,O2=0,K2=0;;)if(y1=(t+(i2*56|0)|0)+52|0,D1=e[y1>>2]|0,o2=(t+(i2*56|0)|0)+28|0,b=e[o2>>2]|0,O=b+D1|0,J=+(O|0),s0=J*f1,Y=b+1|0,d0=+(Y|0),i0=s0/d0,e0=i0,h0=e0+1,c0=(t+(i2*56|0)|0)+32|0,l0=e[c0>>2]|0,X=+(l0|0),m0=(t+(i2*56|0)|0)+8|0,g0=e[m0>>2]|0,I0=+(g0|0),n0=I0*h0,f0=X+S2,p0=f0+n0,C0=(t+(i2*56|0)|0)+36|0,S0=e[C0>>2]|0,D0=+(S0|0),E0=(t+(i2*56|0)|0)+12|0,Q0=e[E0>>2]|0,w0=+(Q0|0),B0=w0*h0,x0=D0+K2,Z0=x0+B0,R0=(t+(i2*56|0)|0)+40|0,v0=e[R0>>2]|0,G0=+(v0|0),O0=(t+(i2*56|0)|0)+16|0,H0=e[O0>>2]|0,k0=+(H0|0),K0=k0*h0,N0=G0+m2,M0=N0+K0,P0=(t+(i2*56|0)|0)+48|0,W0=e[P0>>2]|0,J0=+(W0|0),V0=(t+(i2*56|0)|0)+24|0,q0=e[V0>>2]|0,Y0=+(q0|0),o1=Y0*h0,z0=J0+O2,r1=z0+o1,L0=+(D1|0),s1=+(b|0),d1=h0*s1,u1=L0+n2,E1=u1+d1,h1=i2+1|0,l2=(h1|0)==(s|0),l2){g2=E1,a2=M0,D2=p0,M2=r1,q2=Z0;break}else n2=E1,i2=h1,m2=M0,S2=p0,O2=r1,K2=Z0;else g2=0,a2=0,D2=0,M2=0,q2=0;return A1=e[A>>2]|0,g1=(A1|0)>-1,g1?(a1=+(y|0),$1=D2+a1,X0=+(A1|0),B1=X0+q2,p1=s5(y,y)|0,Q1=+(p1|0),C1=a2+Q1,v1=s5(A1,y)|0,k1=+(v1|0),S1=k1+M2,L1=g2+1,u2=L1,r2=C1,y2=$1,p2=S1,U2=B1):(u2=g2,r2=a2,y2=D2,p2=M2,U2=q2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(y0|0),R1=y2+_1,F1=+(M1|0),P1=F1+U2,O1=s5(y0,y0)|0,X1=+(O1|0),G1=r2+X1,x1=s5(M1,y0)|0,J1=+(x1|0),H1=J1+p2,V1=u2+1,s2=V1,k2=G1,G2=R1,W2=H1,V2=P1):(s2=u2,k2=r2,G2=y2,W2=p2,V2=U2),Y1=k2*s2,z1=G2*G2,t2=Y1-z1,e2=t2>0,e2?(q1=V2*k2,h2=G2*W2,Z1=q1-h2,I2=Z1/t2,A2=W2*s2,C2=G2*V2,$2=A2-C2,W1=$2/t2,f2=+(y|0),D=W1*f2,k=D+I2,v=+z7(k),_=~~v,e[A>>2]=_,Q=+(y0|0),L=W1*Q,R=L+I2,M=+z7(R),F=~~M,e[$>>2]=F,G=e[A>>2]|0,q=(G|0)>1023,q?(e[A>>2]=1023,p=e[$>>2]|0,H=p,r0=1023):(H=F,r0=G),K=(H|0)>1023,K?(e[$>>2]=1023,m=e[A>>2]|0,t0=m,o0=1023):(t0=r0,o0=H),Z=(t0|0)<0,Z?(e[A>>2]=0,E=e[$>>2]|0,A0=E):A0=o0,j=(A0|0)<0,j?(e[$>>2]=0,d=0,d|0):(d=0,d|0)):(e[A>>2]=0,e[$>>2]=0,d=1,d|0)}function hb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0;if(L0=C,p=t+836|0,m=t+840|0,R=e[m>>2]|0,j=e[t>>2]|0,H2(s,j,5),$0=e[t>>2]|0,y0=($0|0)>0,y0){for(U0=t+4|0,W0=0,z0=-1;;)if(B=U0+(W0<<2)|0,b=e[B>>2]|0,H2(s,b,4),D=e[B>>2]|0,k=(z0|0)<(D|0),A=k?D:z0,v=W0+1|0,_=e[t>>2]|0,Q=(v|0)<(_|0),Q)W0=v,z0=A;else{$=A;break}if(H0=($|0)>-1,H0)for(k0=t+128|0,K0=t+192|0,E=t+256|0,y=t+320|0,J0=0;;){if(L=k0+(J0<<2)|0,M=e[L>>2]|0,F=M+-1|0,H2(s,F,3),G=K0+(J0<<2)|0,O=e[G>>2]|0,H2(s,O,2),q=e[G>>2]|0,H=(q|0)==0,H?(j0=0,r1=8):(K=E+(J0<<2)|0,t0=e[K>>2]|0,H2(s,t0,8),g=e[G>>2]|0,Z=(g|0)==31,Z||(j0=0,r1=8)),(r1|0)==8)for(;r1=0,A0=(y+(J0<<5)|0)+(j0<<2)|0,r0=e[A0>>2]|0,o0=r0+1|0,H2(s,o0,8),J=j0+1|0,s0=e[G>>2]|0,Y=1<>2]|0,c0=h0+-1|0,H2(s,c0,2),l0=R+-1|0,X=H8(l0)|0,H2(s,X,4),m0=H8(l0)|0,g0=e[t>>2]|0,I0=(g0|0)>0,!!I0)for(n0=t+4|0,f0=t+128|0,O0=g0,N0=0,V0=0,q0=0;;){if(p0=n0+(V0<<2)|0,C0=e[p0>>2]|0,S0=f0+(C0<<2)|0,D0=e[S0>>2]|0,E0=D0+N0|0,Q0=(q0|0)<(E0|0),Q0){for(o1=q0;w0=o1+2|0,B0=p+(w0<<2)|0,x0=e[B0>>2]|0,H2(s,x0,m0),Z0=o1+1|0,M0=(Z0|0)==(E0|0),!M0;)o1=Z0;d=e[t>>2]|0,G0=d,Y0=E0}else G0=O0,Y0=q0;if(R0=V0+1|0,v0=(R0|0)<(G0|0),v0)O0=G0,N0=E0,V0=R0,q0=Y0;else break}}function db(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0;Z1=C,C=C+272|0,q1=Z1,_=t+28|0,Q=e[_>>2]|0,Z=l9(1,1120)|0,h0=r4(s,5)|0,e[Z>>2]=h0,C0=(h0|0)>0;e:do if(C0){for(v0=Z+4|0,X1=0,o2=-1;;){if(M=r4(s,4)|0,F=v0+(X1<<2)|0,e[F>>2]=M,G=(M|0)<0,G)break e;if(O=(o2|0)<(M|0),g=O?M:o2,q=X1+1|0,H=e[Z>>2]|0,K=(q|0)<(H|0),K)X1=q,o2=g;else{d=g;break}}if(J0=(d|0)>-1,J0)for(u1=Z+128|0,Q1=Z+192|0,F1=Z+256|0,L=Q+24|0,R=Z+320|0,G1=0;;){if(t0=r4(s,3)|0,A0=t0+1|0,j=u1+(G1<<2)|0,e[j>>2]=A0,r0=r4(s,2)|0,o0=Q1+(G1<<2)|0,e[o0>>2]=r0,J=(r0|0)<0,J||(s0=(r0|0)==0,s0?(p=F1+(G1<<2)|0,m=e[p>>2]|0,i0=m):(Y=r4(s,8)|0,d0=F1+(G1<<2)|0,e[d0>>2]=Y,i0=Y),e0=(i0|0)<0,e0)||(c0=e[L>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[o0>>2]|0,X=(l0|0)==31,!X)for(V1=0;;){if(f0=r4(s,8)|0,p0=f0+-1|0,S0=(R+(G1<<5)|0)+(V1<<2)|0,e[S0>>2]=p0,y0=(f0|0)<0,y0||(D0=e[L>>2]|0,E0=(f0|0)>(D0|0),I0=V1+1|0,E0))break e;if(m0=e[o0>>2]|0,g0=1<>2]=x0,R0=r4(s,4)|0,G0=(R0|0)<0,!G0)){if(U0=e[Z>>2]|0,O0=(U0|0)>0,O0)for(H0=Z+4|0,k0=Z+128|0,K0=Z+836|0,N0=1<>2]|0,W0=k0+(P0<<2)|0,V0=e[W0>>2]|0,j0=V0+O1|0,q0=(j0|0)>63,q0)break e;if(Y0=(Y1|0)<(j0|0),Y0){for(t2=Y1;;){if(o1=r4(s,R0)|0,z0=t2+2|0,r1=K0+(z0<<2)|0,e[r1>>2]=o1,L0=(o1|0)>-1,s1=(o1|0)<(N0|0),e2=L0&s1,!e2)break e;if(d1=t2+1|0,E1=(d1|0)<(j0|0),E1)t2=d1;else{$=d1;break}}B=e[Z>>2]|0,A1=B,z1=$}else A1=P1,z1=Y1;if(f1=x1+1|0,h1=(f1|0)<(A1|0),h1)P1=A1,O1=j0,x1=f1,Y1=z1;else{E=K0,y=N0,D1=j0;break}}else k=Z+836|0,v=1<>2]=0,g1=Z+840|0,e[g1>>2]=y,a1=D1+2|0,$1=(D1|0)>-2,$1)for(J1=0;X0=E+(J1<<2)|0,B1=q1+(J1<<2)|0,e[B1>>2]=X0,p1=J1+1|0,C1=(p1|0)<(a1|0),C1;)J1=p1;Pu(q1,a1,4,8),y1=(a1|0)>1;t:do if(y1){for(b=e[q1>>2]|0,D=e[b>>2]|0,b1=D,H1=1;S1=q1+(H1<<2)|0,L1=e[S1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),v1=H1+1|0,!_1;)if(k1=(v1|0)<(a1|0),k1)b1=M1,H1=v1;else break t;if(R1=(Z|0)==0,R1)A=0;else break e;return C=Z1,A|0}while(!1);return A=Z,C=Z1,A|0}while(!1);return E2(Z),A=0,C=Z1,A|0}function fb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=l9(1,1312)|0,g=$+1296|0,e[g>>2]=s,_=s+836|0,t0=s+840|0,e0=e[t0>>2]|0,p0=$+1288|0,e[p0>>2]=e0,R0=e[s>>2]|0,W0=(R0|0)>0,W0){for(z0=s+4|0,d=s+128|0,f1=0,S1=0;;)if(p=z0+(f1<<2)|0,m=e[p>>2]|0,E=d+(m<<2)|0,y=e[E>>2]|0,B=y+S1|0,b=f1+1|0,D=(b|0)<(R0|0),D)f1=b,S1=B;else{A=B;break}k=A+2|0,v=$+1284|0,e[v>>2]=k,Q=(A|0)>-2,Q?(G=k,k1=A,_1=7):(Pu(b1,k,4,8),v1=A)}else o1=$+1284|0,e[o1>>2]=2,G=2,k1=0,_1=7;if((_1|0)==7){for(h1=0;L=_+(h1<<2)|0,R=b1+(h1<<2)|0,e[R>>2]=L,M=h1+1|0,F=(M|0)<(G|0),F;)h1=M;for(Pu(b1,G,4,8),O=_,q=$+260|0,A1=0;Z=b1+(A1<<2)|0,A0=e[Z>>2]|0,j=A0,r0=j-O|0,o0=r0>>2,J=q+(A1<<2)|0,e[J>>2]=o0,s0=A1+1|0,Y=(s0|0)<(G|0),Y;)A1=s0;for(H=$+260|0,K=$+520|0,g1=0;i0=H+(g1<<2)|0,h0=e[i0>>2]|0,c0=K+(h0<<2)|0,e[c0>>2]=g1,$0=g1+1|0,l0=($0|0)<(G|0),l0;)g1=$0;for(d0=$+260|0,a1=0;;)if(X=d0+(a1<<2)|0,m0=e[X>>2]|0,g0=_+(m0<<2)|0,I0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=I0,f0=a1+1|0,C0=(f0|0)<(G|0),C0)a1=f0;else{v1=k1;break}}if(S0=s+832|0,y0=e[S0>>2]|0,(y0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(y0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(y0|0)==1?(D0=$+1292|0,e[D0>>2]=256):(y0|0)==3&&(Q0=$+1292|0,e[Q0>>2]=86),B0=(v1|0)>0,!B0)return C=R1,$|0;for(x0=$+1032|0,Z0=$+780|0,$1=0;;){for(v0=$1+2|0,G0=_+(v0<<2)|0,U0=e[G0>>2]|0,O0=e[p0>>2]|0,L0=1,u1=O0,X0=0,B1=0,C1=0;;)if(H0=_+(X0<<2)|0,k0=e[H0>>2]|0,K0=(k0|0)>(C1|0),N0=(k0|0)<(U0|0),L1=K0&N0,p1=L1?X0:B1,y1=L1?k0:C1,M0=(k0|0)<(u1|0),P0=(k0|0)>(U0|0),M1=M0&P0,s1=M1?X0:L0,E1=M1?k0:u1,J0=X0+1|0,V0=(J0|0)<(v0|0),V0)L0=s1,u1=E1,X0=J0,B1=p1,C1=y1;else{d1=s1,Q1=p1;break}if(j0=x0+($1<<2)|0,e[j0>>2]=Q1,q0=Z0+($1<<2)|0,e[q0>>2]=d1,Y0=$1+1|0,r1=(Y0|0)==(v1|0),r1)break;$1=Y0}return C=R1,$|0}function Ib(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function mb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function pb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;if(S2=C,d=s+1296|0,p=e[d>>2]|0,l0=t+64|0,D0=e[l0>>2]|0,O0=D0+4|0,q0=e[O0>>2]|0,h1=q0+28|0,v1=e[h1>>2]|0,O1=v1+2848|0,e2=e[O1>>2]|0,m=t+4|0,R=r4(m,1)|0,j=(R|0)==1,!j)return A=0,A|0;Y=s+1284|0,d0=e[Y>>2]|0,i0=d0<<2,e0=W8(t,i0)|0,h0=s+1292|0,c0=e[h0>>2]|0,$0=c0+-1|0,X=H8($0)|0,m0=r4(m,X)|0,e[e0>>2]=m0,g0=e[h0>>2]|0,I0=g0+-1|0,n0=H8(I0)|0,f0=r4(m,n0)|0,p0=e0+4|0,e[p0>>2]=f0,C0=e[p>>2]|0,S0=(C0|0)>0;e:do if(S0){s2=0,a2=2;t:for(;;){if(B0=(p+4|0)+(s2<<2)|0,x0=e[B0>>2]|0,Z0=(p+128|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=(p+192|0)+(x0<<2)|0,G0=e[v0>>2]|0,U0=1<>2]|0,N0=e2+(K0*56|0)|0,M0=sE(N0,m)|0,P0=(M0|0)==-1,P0){A=0,D2=25;break}else n2=M0;if(W0=(R0|0)>0,W0)for(J0=U0+-1|0,u2=n2,m2=0;;){if(V0=u2&J0,j0=((p+320|0)+(x0<<5)|0)+(V0<<2)|0,Y0=e[j0>>2]|0,o1=u2>>G0,z0=(Y0|0)>-1,z0){if(r1=e2+(Y0*56|0)|0,L0=sE(r1,m)|0,s1=m2+a2|0,d1=e0+(s1<<2)|0,e[d1>>2]=L0,u1=(L0|0)==-1,u1){A=0,D2=25;break t}}else E1=m2+a2|0,f1=e0+(E1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,g1=(A1|0)<(R0|0),g1)u2=o1,m2=A1;else break}if(a1=R0+a2|0,$1=s2+1|0,X0=e[p>>2]|0,B1=($1|0)<(X0|0),B1)s2=$1,a2=a1;else break e}if((D2|0)==25)return A|0}while(!1);if(y0=e[Y>>2]|0,E0=(y0|0)>2,!E0)return A=e0,A|0;for(Q0=s+1032|0,w0=s+780|0,l2=2;;){if(p1=l2+-2|0,Q1=Q0+(p1<<2)|0,C1=e[Q1>>2]|0,y1=(p+836|0)+(C1<<2)|0,k1=e[y1>>2]|0,S1=w0+(p1<<2)|0,L1=e[S1>>2]|0,M1=(p+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=e0+(C1<<2)|0,R1=e[_1>>2]|0,F1=e0+(L1<<2)|0,P1=e[F1>>2]|0,D1=(p+836|0)+(l2<<2)|0,X1=e[D1>>2]|0,G1=R1&32767,x1=P1&32767,J1=x1-G1|0,H1=b1-k1|0,i2=(J1|0)>-1,r2=0-J1|0,V1=i2?J1:r2,Y1=X1-k1|0,z1=s5(V1,Y1)|0,t2=(z1|0)/(H1|0)&-1,o2=(J1|0)<0,q1=0-t2|0,g=o2?q1:t2,$=g+G1|0,h2=e[h0>>2]|0,Z1=h2-$|0,I2=e0+(l2<<2)|0,A2=e[I2>>2]|0,C2=(A2|0)==0,C2)r0=$|32768,e[I2>>2]=r0;else{$2=(Z1|0)<($|0),W1=$2?Z1:$,f2=W1<<1,g2=(A2|0)<(f2|0);do if(g2)if(D=A2&1,k=(D|0)==0,k){L=A2>>1,k2=L;break}else{v=A2+1|0,_=v>>1,Q=0-_|0,k2=Q;break}else if(E=(Z1|0)>($|0),E){y=A2-$|0,k2=y;break}else{B=A2-Z1|0,b=B^-1,k2=b;break}while(!1);M=k2+$|0,F=M&32767,e[I2>>2]=F,G=e[Q1>>2]|0,O=e0+(G<<2)|0,q=e[O>>2]|0,H=q&32767,e[O>>2]=H,K=e[S1>>2]|0,t0=e0+(K<<2)|0,Z=e[t0>>2]|0,A0=Z&32767,e[t0>>2]=A0}if(o0=l2+1|0,J=e[Y>>2]|0,s0=(o0|0)<(J|0),s0)l2=o0;else{A=e0;break}}return A|0}function Eb(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0;if(D1=C,p=s+1296|0,m=e[p>>2]|0,R=t+64|0,j=e[R>>2]|0,$0=j+4|0,y0=e[$0>>2]|0,U0=y0+28|0,j0=e[U0>>2]|0,u1=t+28|0,E1=e[u1>>2]|0,E=j0+(E1<<2)|0,y=e[E>>2]|0,B=(y|0)/2&-1,b=(A|0)==0,b)return d1=B<<2,g4($|0,0,d1|0)|0,g=0,g|0;if(D=e[A>>2]|0,k=m+832|0,v=e[k>>2]|0,_=s5(v,D)|0,Q=(_|0)<0,L=(_|0)>255,M=L?255:_,F=Q?0:M,G=s+1284|0,O=e[G>>2]|0,q=(O|0)>1,q)for(H=s+260|0,$1=0,Q1=1,y1=0,S1=F;;){if(A0=H+(Q1<<2)|0,r0=e[A0>>2]|0,o0=A+(r0<<2)|0,J=e[o0>>2]|0,s0=J&32767,Y=(s0|0)==(J|0),Y)if(d0=(m+836|0)+(r0<<2)|0,i0=e[d0>>2]|0,e0=s5(v,J)|0,h0=(e0|0)<0,c0=(e0|0)>255,l0=c0?255:e0,X=h0?0:l0,m0=X-S1|0,g0=i0-y1|0,B1=(m0|0)>-1,M1=0-m0|0,I0=B1?m0:M1,n0=(m0|0)/(g0|0)&-1,f0=m0>>31,p0=f0|1,C0=s5(n0,g0)|0,p1=(C0|0)>-1,b1=0-C0|0,S0=p1?C0:b1,D0=I0-S0|0,E0=(B|0)>(i0|0),_1=E0?i0:B,Q0=(_1|0)>(y1|0),Q0&&(w0=1768+(S1<<2)|0,B0=+o[w0>>2],x0=$+(y1<<2)|0,Z0=+o[x0>>2],R0=Z0*B0,o[x0>>2]=R0),v0=y1+1|0,G0=(v0|0)<(_1|0),G0)for(W0=v0,f1=0,R1=S1;;)if(O0=f1+D0|0,H0=(O0|0)<(g0|0),k0=H0?0:p0,K0=H0?0:g0,h1=O0-K0|0,d=R1+n0|0,F1=d+k0|0,N0=1768+(F1<<2)|0,M0=+o[N0>>2],P0=$+(W0<<2)|0,J0=+o[P0>>2],V0=J0*M0,o[P0>>2]=V0,q0=W0+1|0,g1=(q0|0)==(_1|0),g1){X0=i0,v1=i0,L1=X;break}else W0=q0,f1=h1,R1=F1;else X0=i0,v1=i0,L1=X;else X0=$1,v1=y1,L1=S1;if(Y0=Q1+1|0,o1=(Y0|0)<(O|0),o1)$1=X0,Q1=Y0,y1=v1,S1=L1;else{a1=X0,k1=L1;break}}else a1=0,k1=F;if(K=(a1|0)<(B|0),!K)return g=1,g|0;for(t0=1768+(k1<<2)|0,Z=+o[t0>>2],C1=a1;;)if(z0=$+(C1<<2)|0,r1=+o[z0>>2],L0=r1*Z,o[z0>>2]=L0,s1=C1+1|0,A1=(s1|0)==(B|0),A1){g=1;break}else C1=s1;return g|0}function Cb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0;return E=C,A=e[t>>2]|0,$=e[A>>2]|0,g=e[s>>2]|0,d=e[g>>2]|0,p=$-d|0,p|0}function Bb(t){t=t|0;var s=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 yb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0;h0=C,g=al(s|0)|0,d=al(A|0)|0,Q=g+2|0,Z=Q+d|0,$=Z,j=C,C=C+((1*$|0)+15&-16)|0,FC(j|0,s|0)|0,i0=al(j|0)|0,d0=j+i0|0,f[d0>>0]=61,f[d0+1>>0]=0,Yy(j|0,A|0)|0,r0=e[t>>2]|0,o0=t+8|0,J=e[o0>>2]|0,s0=J<<2,Y=s0+8|0,p=K7(r0,Y)|0,e[t>>2]=p,m=t+4|0,E=e[m>>2]|0,y=e[o0>>2]|0,B=y<<2,b=B+8|0,D=K7(E,b)|0,e[m>>2]=D,k=al(j|0)|0,v=e[o0>>2]|0,_=D+(v<<2)|0,e[_>>2]=k,L=k+1|0,R=Re(L)|0,M=e[t>>2]|0,F=M+(v<<2)|0,e[F>>2]=R,G=e[t>>2]|0,O=G+(v<<2)|0,q=e[O>>2]|0,FC(q|0,j|0)|0,H=e[o0>>2]|0,K=H+1|0,e[o0>>2]=K,t0=e[t>>2]|0,A0=t0+(K<<2)|0,e[A0>>2]=0,C=h0}function Qb(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0;if(Z=C,g=(t|0)==0,!g){if(d=e[t>>2]|0,Q=(d|0)==0,!Q){if(R=t+8|0,M=e[R>>2]|0,F=(M|0)>0,F){for(L=M,O=d,K=0;G=O+(K<<2)|0,q=e[G>>2]|0,H=(q|0)==0,H?E=L:(E2(q),A=e[R>>2]|0,E=A),p=K+1|0,m=(p|0)<(E|0),!!m;)s=e[t>>2]|0,L=E,O=s,K=p;$=e[t>>2]|0,y=$}else y=d;E2(y)}B=t+4|0,b=e[B>>2]|0,D=(b|0)==0,D||E2(b),k=t+12|0,v=e[k>>2]|0,_=(v|0)==0,_||E2(v),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function wb(t){t=t|0;var s=0,A=0,$=0,g=0;g=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,s=l9(1,3664)|0,A=t+28|0,e[A>>2]=s}function xC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,d=t+28|0,p=e[d>>2]|0,L=(p|0)==0,L){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(A0=p+8|0,c0=e[A0>>2]|0,S0=(c0|0)>0,S0)for(f1=c0,$1=0;a1=(p+32|0)+($1<<2)|0,m=e[a1>>2]|0,E=(m|0)==0,E?b=f1:(E2(m),s=e[A0>>2]|0,b=s),y=$1+1|0,B=(y|0)<(b|0),B;)f1=b,$1=y;if(G0=p+12|0,V0=e[G0>>2]|0,E1=(V0|0)>0,E1)for(h1=V0,X0=0;_=(p+544|0)+(X0<<2)|0,Q=e[_>>2]|0,R=(Q|0)==0,R?Z=h1:(M=(p+288|0)+(X0<<2)|0,F=e[M>>2]|0,G=25664+(F<<2)|0,O=e[G>>2]|0,q=O+8|0,H=e[q>>2]|0,oo[H&7](Q),A=e[G0>>2]|0,Z=A),K=X0+1|0,t0=(K|0)<(Z|0),t0;)h1=Z,X0=K;if(D=p+16|0,k=e[D>>2]|0,v=(k|0)>0,v)for(A1=k,B1=0;J=(p+1056|0)+(B1<<2)|0,s0=e[J>>2]|0,Y=(s0|0)==0,Y?g0=A1:(d0=(p+800|0)+(B1<<2)|0,i0=e[d0>>2]|0,e0=25640+(i0<<2)|0,h0=e[e0>>2]|0,$0=h0+12|0,l0=e[$0>>2]|0,oo[l0&7](s0),$=e[D>>2]|0,g0=$),X=B1+1|0,m0=(X|0)<(g0|0),m0;)A1=g0,B1=X;if(j=p+20|0,r0=e[j>>2]|0,o0=(r0|0)>0,o0)for(g1=r0,p1=0;C0=(p+1568|0)+(p1<<2)|0,y0=e[C0>>2]|0,D0=(y0|0)==0,D0?U0=g1:(E0=(p+1312|0)+(p1<<2)|0,Q0=e[E0>>2]|0,w0=25648+(Q0<<2)|0,B0=e[w0>>2]|0,x0=B0+12|0,Z0=e[x0>>2]|0,oo[Z0&7](y0),g=e[j>>2]|0,U0=g),R0=p1+1|0,v0=(R0|0)<(U0|0),v0;)g1=U0,p1=R0;if(I0=p+24|0,n0=e[I0>>2]|0,f0=(n0|0)>0,p0=p+2848|0,f0)for(Q1=0;O0=(p+1824|0)+(Q1<<2)|0,H0=e[O0>>2]|0,k0=(H0|0)==0,k0||RC(H0),K0=e[p0>>2]|0,N0=(K0|0)==0,N0||(M0=K0+(Q1*56|0)|0,rD(M0)),P0=Q1+1|0,W0=e[I0>>2]|0,J0=(P0|0)<(W0|0),J0;)Q1=P0;if(j0=e[p0>>2]|0,q0=(j0|0)==0,q0||E2(j0),Y0=p+28|0,o1=e[Y0>>2]|0,z0=(o1|0)>0,z0)for(C1=0;r1=(p+2852|0)+(C1<<2)|0,L0=e[r1>>2]|0,Fb(L0),s1=C1+1|0,d1=e[Y0>>2]|0,u1=(s1|0)<(d1|0),u1;)C1=s1;E2(p),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 vb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0;if(X2=C,C=C+32|0,T1=X2,E=t+4|0,y=e[E>>2]|0,g1=t+104|0,S1=e[g1>>2]|0,G1=(S1|0)==0,G1)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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,d=-129,C=X2,d|0;if(h2=y+4|0,s2=e[h2>>2]|0,M2=(s2|0)<1,M2)_5=-129,l5=27;else if(kC(T1),N1=y+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)_5=-130,l5=27;else if(G=e[B5>>2]|0,J=(G|0)<64,J)_5=-130,l5=27;else if(m0=B5+4|0,Q0=e[m0>>2]|0,k0=(Q0|0)<(G|0),k0)_5=-130,l5=27;else{H2(T1,1,8),H2(T1,118,8),H2(T1,111,8),H2(T1,114,8),H2(T1,98,8),H2(T1,105,8),H2(T1,115,8),H2(T1,0,32),o1=e[h2>>2]|0,H2(T1,o1,8),f1=y+8|0,h1=e[f1>>2]|0,H2(T1,h1,32),A1=y+12|0,a1=e[A1>>2]|0,H2(T1,a1,32),$1=y+16|0,X0=e[$1>>2]|0,H2(T1,X0,32),B1=y+20|0,p1=e[B1>>2]|0,H2(T1,p1,32),Q1=e[B5>>2]|0,C1=Q1+-1|0,y1=H8(C1)|0,H2(T1,y1,4),v1=e[m0>>2]|0,k1=v1+-1|0,L1=H8(k1)|0,H2(T1,L1,4),H2(T1,1,1),M1=S1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=D8(T1)|0,F1=Re(R1)|0,e[M1>>2]=F1,P1=T1+8|0,D1=e[P1>>2]|0,O1=D8(T1)|0,c9(F1|0,D1|0,O1|0)|0,X1=e[M1>>2]|0,e[A>>2]=X1,x1=D8(T1)|0,J1=A+4|0,e[J1>>2]=x1,H1=A+8|0,e[H1>>2]=1,V1=A+12|0,e[V1>>2]=0,e[V1+4>>2]=0,e[V1+8>>2]=0,e[V1+12>>2]=0,e[V1+16>>2]=0,mi(T1),kb(T1,s),Y1=S1+68|0,z1=e[Y1>>2]|0,t2=(z1|0)==0,t2||E2(z1),o2=D8(T1)|0,e2=Re(o2)|0,e[Y1>>2]=e2,q1=e[P1>>2]|0,Z1=D8(T1)|0,c9(e2|0,q1|0,Z1|0)|0,I2=e[Y1>>2]|0,e[$>>2]=I2,A2=D8(T1)|0,C2=$+4|0,e[C2>>2]=A2,$2=$+8|0,W1=$+24|0,e[$2>>2]=0,e[$2+4>>2]=0,e[$2+8>>2]=0,e[$2+12>>2]=0,f2=W1,g2=f2,e[g2>>2]=1,n2=f2+4|0,u2=n2,e[u2>>2]=0,mi(T1),l2=e[N1>>2]|0,i2=(l2|0)==0;e:do if(!i2){if(H2(T1,5,8),H2(T1,118,8),H2(T1,111,8),H2(T1,114,8),H2(T1,98,8),H2(T1,105,8),H2(T1,115,8),a2=l2+24|0,m2=e[a2>>2]|0,r2=m2+-1|0,H2(T1,r2,8),k2=e[a2>>2]|0,D2=(k2|0)>0,D2)for(z2=0;;){if(O2=(l2+1824|0)+(z2<<2)|0,p2=e[O2>>2]|0,W2=rb(p2,T1)|0,q2=(W2|0)==0,y2=z2+1|0,!q2)break e;if(S2=e[a2>>2]|0,G2=(y2|0)<(S2|0),G2)z2=y2;else break}if(H2(T1,0,6),H2(T1,0,16),K2=l2+16|0,U2=e[K2>>2]|0,V2=U2+-1|0,H2(T1,V2,6),Z2=e[K2>>2]|0,A5=(Z2|0)>0,A5)for(E5=0;;){if(Y2=(l2+800|0)+(E5<<2)|0,t5=e[Y2>>2]|0,H2(T1,t5,16),T5=e[Y2>>2]|0,i5=25640+(T5<<2)|0,L5=e[i5>>2]|0,j2=e[L5>>2]|0,m5=(j2|0)==0,m5)break e;if(D5=(l2+1056|0)+(E5<<2)|0,V5=e[D5>>2]|0,UC[j2&3](V5,T1),u5=E5+1|0,b2=e[K2>>2]|0,o5=(u5|0)<(b2|0),o5)E5=u5;else break}if(F2=l2+20|0,R2=e[F2>>2]|0,Q2=R2+-1|0,H2(T1,Q2,6),y5=e[F2>>2]|0,N5=(y5|0)>0,N5)for($5=0;p5=(l2+1312|0)+($5<<2)|0,M5=e[p5>>2]|0,H2(T1,M5,16),q5=e[p5>>2]|0,R5=25648+(q5<<2)|0,b=e[R5>>2]|0,D=e[b>>2]|0,k=(l2+1568|0)+($5<<2)|0,v=e[k>>2]|0,UC[D&3](v,T1),_=$5+1|0,Q=e[F2>>2]|0,L=(_|0)<(Q|0),L;)$5=_;if(R=l2+12|0,M=e[R>>2]|0,F=M+-1|0,H2(T1,F,6),O=e[R>>2]|0,q=(O|0)>0,q)for(h5=0;H=(l2+288|0)+(h5<<2)|0,K=e[H>>2]|0,H2(T1,K,16),t0=e[H>>2]|0,Z=25664+(t0<<2)|0,A0=e[Z>>2]|0,j=e[A0>>2]|0,r0=(l2+544|0)+(h5<<2)|0,o0=e[r0>>2]|0,jy[j&1](y,o0,T1),s0=h5+1|0,Y=e[R>>2]|0,d0=(s0|0)<(Y|0),d0;)h5=s0;if(i0=l2+8|0,e0=e[i0>>2]|0,h0=e0+-1|0,H2(T1,h0,6),c0=e[i0>>2]|0,$0=(c0|0)>0,$0)for(Q5=0;l0=(l2+32|0)+(Q5<<2)|0,X=e[l0>>2]|0,g0=e[X>>2]|0,H2(T1,g0,1),I0=e[l0>>2]|0,n0=I0+4|0,f0=e[n0>>2]|0,H2(T1,f0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,H2(T1,S0,16),y0=e[l0>>2]|0,D0=y0+12|0,E0=e[D0>>2]|0,H2(T1,E0,8),w0=Q5+1|0,B0=e[i0>>2]|0,x0=(w0|0)<(B0|0),x0;)Q5=w0;return H2(T1,1,1),Z0=S1+72|0,R0=e[Z0>>2]|0,v0=(R0|0)==0,v0||E2(R0),G0=D8(T1)|0,U0=Re(G0)|0,e[Z0>>2]=U0,O0=e[P1>>2]|0,H0=D8(T1)|0,c9(U0|0,O0|0,H0|0)|0,K0=e[Z0>>2]|0,e[g>>2]=K0,N0=D8(T1)|0,M0=g+4|0,e[M0>>2]=N0,P0=g+8|0,W0=g+24|0,e[P0>>2]=0,e[P0+4>>2]=0,e[P0+8>>2]=0,e[P0+12>>2]=0,J0=W0,V0=J0,e[V0>>2]=2,j0=J0+4|0,q0=j0,e[q0>>2]=0,SC(T1),d=0,C=X2,d|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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=M1,d5=-130}return(l5|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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,p=S1+64|0,m=p,d5=_5),SC(T1),Y0=e[m>>2]|0,z0=(Y0|0)==0,z0||E2(Y0),r1=S1+68|0,L0=e[r1>>2]|0,s1=(L0|0)==0,s1||E2(L0),d1=S1+72|0,u1=e[d1>>2]|0,E1=(u1|0)==0,E1||E2(u1),e[m>>2]=0,e[r1>>2]=0,e[d1>>2]=0,d=d5,C=X2,d|0}function kb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0;for($0=C,H2(t,3,8),H2(t,118,8),H2(t,111,8),H2(t,114,8),H2(t,98,8),H2(t,105,8),H2(t,115,8),H2(t,44,32),A=1200,g=44;p=g+-1|0,m=A+1|0,R=f[A>>0]|0,j=R<<24>>24,H2(t,j,8),J=(p|0)==0,!J;)A=m,g=p;if(s0=s+8|0,Y=e[s0>>2]|0,H2(t,Y,32),d0=e[s0>>2]|0,i0=(d0|0)>0,!i0){H2(t,1,1);return}for(e0=s+4|0,h0=0;;){if(E=e[s>>2]|0,y=E+(h0<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b)H2(t,0,32);else if(D=e[e0>>2]|0,k=D+(h0<<2)|0,v=e[k>>2]|0,H2(t,v,32),_=e[e0>>2]|0,Q=_+(h0<<2)|0,L=e[Q>>2]|0,M=(L|0)==0,!M)for(F=e[s>>2]|0,G=F+(h0<<2)|0,O=e[G>>2]|0,$=O,d=L;q=d+-1|0,H=$+1|0,K=f[$>>0]|0,t0=K<<24>>24,H2(t,t0,8),Z=(q|0)==0,!Z;)$=H,d=q;if(A0=h0+1|0,r0=e[s0>>2]|0,o0=(A0|0)<(r0|0),o0)h0=A0;else break}H2(t,1,1)}function wy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0;if(z1=C,E=$+1|0,y=E<<3,g=y,F=C,C=C+((1*g|0)+15&-16)|0,o0=$<<3,d=o0,X=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)q=0;else{for(H0=$;;){if(Y0=(H0|0)<(A|0),Y0)for(Q1=0,R1=H0;;)if(A1=t+(R1<<2)|0,B1=+o[A1>>2],B=B1,b=R1-H0|0,D=t+(b<<2)|0,k=+o[D>>2],v=k,_=v*B,Q=_+Q1,L=R1+1|0,_1=(L|0)==(A|0),_1){p1=Q;break}else Q1=Q,R1=L;else p1=0;if(R=F+(H0<<3)|0,c1[R>>3]=p1,M=H0+-1|0,G=(H0|0)==0,G)break;H0=M}m=+c1[F>>3],q=m}if(O=q*1.0000000001,H=q*1e-9,K=H+1e-10,t0=($|0)>0,t0)y1=O,F1=0;else return S1=O,X0=S1,C=z1,+X0;for(;;){if(D1=F1+1|0,Z=y1>3],Y=-s0,d0=(F1|0)>0,d0){for(O1=0,H1=Y;;)if(h0=X+(O1<<3)|0,c0=+c1[h0>>3],$0=F1-O1|0,l0=F+($0<<3)|0,m0=+c1[l0>>3],g0=m0*c0,I0=H1-g0,n0=O1+1|0,b1=(n0|0)==(F1|0),b1){p=I0;break}else O1=n0,H1=I0;if(f0=p/y1,p0=X+(F1<<3)|0,c1[p0>>3]=f0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(y0=F1+-1|0,D0=(C0|0)>1,G1=0;Q0=X+(G1<<3)|0,w0=+c1[Q0>>3],B0=y0-G1|0,x0=X+(B0<<3)|0,Z0=+c1[x0>>3],R0=Z0*f0,v0=R0+w0,c1[Q0>>3]=v0,G0=w0*f0,U0=+c1[x0>>3],O0=U0+G0,c1[x0>>3]=O0,k0=G1+1|0,K0=(k0|0)<(C0|0),K0;)G1=k0;V1=D0?C0:1,V0=f0,X1=V1}else V0=f0,X1=0}else i0=Y/y1,e0=X+(F1<<3)|0,c1[e0>>3]=i0,V0=i0,X1=0;if(N0=F1&1,M0=(N0|0)==0,M0||(P0=X+(X1<<3)|0,W0=+c1[P0>>3],J0=W0*V0,j0=J0+W0,c1[P0>>3]=j0),q0=V0*V0,o1=1-q0,z0=o1*y1,r1=(D1|0)<($|0),r1)y1=z0,F1=D1;else{k1=z0;break}}if((Y1|0)==8&&(A0=X+(P1<<3)|0,j=$-P1|0,r0=j<<3,g4(A0|0,0,r0|0)|0,k1=v1),t0)C1=.99,x1=0;else return S1=k1,X0=S1,C=z1,+X0;for(;L0=X+(x1<<3)|0,s1=+c1[L0>>3],d1=s1*C1,c1[L0>>3]=d1,u1=C1*.99,E1=x1+1|0,M1=(E1|0)==($|0),!M1;)C1=u1,x1=E1;if(t0)J1=0;else return S1=k1,X0=S1,C=z1,+X0;for(;;)if(f1=X+(J1<<3)|0,h1=+c1[f1>>3],g1=h1,a1=s+(J1<<2)|0,o[a1>>2]=g1,$1=J1+1|0,L1=($1|0)==($|0),L1){S1=k1;break}else J1=$1;return X0=S1,C=z1,+X0}function vy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0;if(e0=C,m=g+A|0,E=m<<2,d=E,M=C,C=C+((1*d|0)+15&-16)|0,G=(s|0)==0,O=(A|0)>0,G?O&&(H=A<<2,g4(M|0,0,H|0)|0):O&&(q=A<<2,c9(M|0,s|0,q|0)|0),K=(g|0)>0,!K){C=e0;return}if(t0=(A|0)>0,t0)r0=0,o0=A;else{Z=g<<2,g4(M|0,0,Z|0)|0,g4($|0,0,Z|0)|0,C=e0;return}for(;;){for(s0=r0,Y=A,d0=0;;)if(D=s0+1|0,k=M+(s0<<2)|0,v=+o[k>>2],_=Y+-1|0,Q=t+(_<<2)|0,L=+o[Q>>2],R=L*v,F=d0-R,A0=(D|0)==(o0|0),A0){p=F;break}else s0=D,Y=_,d0=F;if(y=M+(o0<<2)|0,o[y>>2]=p,B=$+(r0<<2)|0,o[B>>2]=p,b=r0+1|0,J=o0+1|0,j=(b|0)==(g|0),j)break;r0=b,o0=J}C=e0}function Sb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,g=e[s>>2]|0,d=(g|0)>1,d?(H2(A,1,1),Q=e[s>>2]|0,Z=Q+-1|0,H2(A,Z,4)):H2(A,0,1),h0=s+1156|0,p0=e[h0>>2]|0,C0=(p0|0)>0,C0){if(H2(A,1,1),S0=e[h0>>2]|0,y0=S0+-1|0,H2(A,y0,8),D0=e[h0>>2]|0,p=(D0|0)>0,p)for(m=s+1160|0,E=t+4|0,y=s+2184|0,E0=0;B=m+(E0<<2)|0,b=e[B>>2]|0,D=e[E>>2]|0,k=D+-1|0,v=H8(k)|0,H2(A,b,v),_=y+(E0<<2)|0,L=e[_>>2]|0,R=e[E>>2]|0,M=R+-1|0,F=H8(M)|0,H2(A,L,F),G=E0+1|0,O=e[h0>>2]|0,q=(G|0)<(O|0),q;)E0=G}else H2(A,0,1);if(H2(A,0,2),H=e[s>>2]|0,K=(H|0)>1,K){if(t0=t+4|0,A0=e[t0>>2]|0,j=(A0|0)>0,j){for(r0=s+4|0,Q0=0;d0=r0+(Q0<<2)|0,i0=e[d0>>2]|0,H2(A,i0,4),e0=Q0+1|0,c0=e[t0>>2]|0,$0=(e0|0)<(c0|0),$0;)Q0=e0;$=e[s>>2]|0,o0=$,B0=13}}else o0=H,B0=13;if(!((B0|0)==13&&(J=(o0|0)>0,!J)))for(s0=s+1028|0,Y=s+1092|0,w0=0;H2(A,0,8),l0=s0+(w0<<2)|0,X=e[l0>>2]|0,H2(A,X,8),m0=Y+(w0<<2)|0,g0=e[m0>>2]|0,H2(A,g0,8),I0=w0+1|0,n0=e[s>>2]|0,f0=(I0|0)<(n0|0),f0;)w0=I0}function bb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0;a1=C,g=l9(1,3208)|0,d=t+28|0,Q=e[d>>2]|0,g4(g|0,0,3208)|0,Z=t+4|0,h0=e[Z>>2]|0,C0=(h0|0)<1;e:do if(C0)g1=24;else if(v0=r4(s,1)|0,J0=(v0|0)<0,J0)g1=24;else{if(z0=(v0|0)==0,z0)e[g>>2]=1;else if(r1=r4(s,4)|0,p=r1+1|0,e[g>>2]=p,m=(r1|0)<0,m)break;if(E=r4(s,1)|0,y=(E|0)<0,!y){if(B=(E|0)==0,!B){if(b=r4(s,8)|0,D=b+1|0,k=g+1156|0,e[k>>2]=D,v=(b|0)<0,v)break;for(_=g+1160|0,L=g+2184|0,$=e[Z>>2]|0,O=$,L0=0;;){if(G=O+-1|0,q=H8(G)|0,H=r4(s,q)|0,K=_+(L0<<2)|0,e[K>>2]=H,t0=e[Z>>2]|0,A0=t0+-1|0,j=H8(A0)|0,r0=r4(s,j)|0,o0=L+(L0<<2)|0,e[o0>>2]=r0,J=r0|H,s0=(J|0)<0,Y=(H|0)==(r0|0),u1=Y|s0,u1||(d0=e[Z>>2]|0,i0=(H|0)<(d0|0),e0=(r0|0)<(d0|0),E1=i0&e0,M=L0+1|0,!E1))break e;if(R=e[k>>2]|0,F=(M|0)<(R|0),F)O=d0,L0=M;else break}}if(c0=r4(s,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,X=(l0|0)>1,X){if(m0=e[Z>>2]|0,g0=(m0|0)>0,g0)for(I0=g+4|0,s1=0;;){if(B0=r4(s,4)|0,x0=I0+(s1<<2)|0,e[x0>>2]=B0,Z0=e[g>>2]|0,R0=(B0|0)>=(Z0|0),G0=(B0|0)<0,f1=G0|R0,Q0=s1+1|0,f1)break e;if(E0=e[Z>>2]|0,w0=(Q0|0)<(E0|0),w0)s1=Q0;else{n0=Z0,g1=17;break}}}else n0=l0,g1=17;if((g1|0)==17&&(f0=(n0|0)>0,!f0))return A=g,A|0;for(p0=g+1028|0,S0=Q+16|0,y0=g+1092|0,D0=Q+20|0,d1=0;;){if(r4(s,8)|0,k0=r4(s,8)|0,K0=p0+(d1<<2)|0,e[K0>>2]=k0,N0=e[S0>>2]|0,M0=(k0|0)>=(N0|0),P0=(k0|0)<0,h1=P0|M0,h1||(W0=r4(s,8)|0,V0=y0+(d1<<2)|0,e[V0>>2]=W0,j0=e[D0>>2]|0,q0=(W0|0)>=(j0|0),Y0=(W0|0)<0,A1=Y0|q0,O0=d1+1|0,A1))break e;if(U0=e[g>>2]|0,H0=(O0|0)<(U0|0),H0)d1=O0;else{A=g;break}}return A|0}}}while(!1);return(g1|0)==24&&(o1=(g|0)==0,o1)?(A=0,A|0):(E2(g),A=0,A|0)}function Db(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function _b(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0,y8=0,U8=0,sn=0,Sr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,br=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,Dr=0,hn=0,To=0,sr=0,No=0,ls=0,dn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,hs=0,ds=0,Po=0,_r=0,fs=0,p7=0,In=0,xr=0,or=0,Lr=0,J7=0,Mr=0,Is=0,W7=0,D7=0,_7=0,i7=0,x7=0,Rr=0,ar=0,Ar=0,Fr=0,E7=0,Oo=0,fi=0,$l=0,mn=0,pn=0;if(mn=C,L=t+64|0,R=e[L>>2]|0,n2=R+4|0,K3=e[n2>>2]|0,T9=K3+28|0,Z9=e[T9>>2]|0,Bo=R+104|0,m7=e[Bo>>2]|0,Mo=t+104|0,dn=e[Mo>>2]|0,M=t+36|0,r0=e[M>>2]|0,l0=K3+4|0,D0=e[l0>>2]|0,O0=D0<<2,$=O0,q0=C,C=C+((1*$|0)+15&-16)|0,h1=W8(t,O0)|0,v1=e[l0>>2]|0,O1=v1<<2,e2=W8(t,O1)|0,u2=e[l0>>2]|0,G2=u2<<2,Y2=W8(t,G2)|0,b2=dn+4|0,R5=+o[b2>>2],d2=e[l0>>2]|0,T2=d2<<2,g=T2,G5=C,C=C+((1*g|0)+15&-16)|0,G3=dn+8|0,U5=e[G3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,Z3=(Z9+544|0)+(f6<<2)|0,$6=e[Z3>>2]|0,U6=m7+56|0,Be=e[U6>>2]|0,Q9=(f6|0)!=0,u9=Q9?2:0,_=u9+U5|0,h9=Be+(_*52|0)|0,z9=t+40|0,e[z9>>2]=f6,h4=(d2|0)>0,h4)for(f9=+(r0|0),j3=4/f9,m8=(o[w2>>2]=j3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),b9=ct*7177114298428933e-22,j4=b9+-764.6162109375,c8=j4,c4=c8+.345,$i=c4,li=m7+4|0,Ji=t+24|0,f7=t+32|0,K8=$i+-764.6162109375,sn=r0+-1|0,go=(sn|0)>1,es=$i+-382.30810546875,Mr=R5,W7=0;;){if(yo=e[t>>2]|0,cn=yo+(W7<<2)|0,I7=e[cn>>2]|0,rs=W8(t,Lt)|0,Qo=e2+(W7<<2)|0,e[Qo>>2]=rs,wo=W8(t,Lt)|0,ns=h1+(W7<<2)|0,e[ns>>2]=wo,ss=e[Ji>>2]|0,os=e[j5>>2]|0,vo=e[f7>>2]|0,cD(I7,li,Z9,ss,os,vo),gn=e[j5>>2]|0,ko=(m7+12|0)+(gn<<2)|0,as=e[ko>>2]|0,So=e[as>>2]|0,bo=e[ns>>2]|0,ky(So,I7,bo),Do=e[j5>>2]|0,As=(m7+20|0)+(Do*12|0)|0,oD(As,I7),_o=e[I7>>2]|0,xo=_o&2147483647,Lo=+(xo>>>0),$s=Lo*7177114298428933e-22,Ro=K8+$s,Fo=Ro,un=Fo+.345,Dr=un,o[I7>>2]=Dr,hn=G5+(W7<<2)|0,o[hn>>2]=Dr,go)for(K=Dr,Rr=1;;)if(To=I7+(Rr<<2)|0,sr=+o[To>>2],No=sr*sr,ls=Rr+1|0,cs=I7+(ls<<2)|0,fn=+o[cs>>2],Go=fn*fn,gs=Go+No,us=(o[w2>>2]=gs,e[w2>>2]|0),Uo=us&2147483647,hs=+(Uo>>>0),ds=hs*35885571492144663e-23,Po=es+ds,_r=Po,F=_r+.345,G=F,O=ls>>1,q=I7+(O<<2)|0,o[q>>2]=G,H=G>K,H?(o[hn>>2]=G,br=G):br=K,t0=Rr+2|0,Z=(t0|0)<(sn|0),Z)K=br,Rr=t0;else{j=br;break}else j=Dr;if(A0=j>0,A0?(o[hn>>2]=0,J=0):J=j,o0=J>Mr,Is=o0?J:Mr,s0=W7+1|0,Y=e[l0>>2]|0,d0=(s0|0)<(Y|0),d0)Mr=Is,W7=s0;else{y=Lt,b=_t,J7=Is;break}}else D=(r0|0)/2&-1,k=D<<2,y=k,b=D,J7=R5;i0=W8(t,y)|0,e0=W8(t,y)|0,h0=e[l0>>2]|0,c0=(h0|0)>0;e:do if(c0){if($0=(r0|0)>1,X=m7+48|0,$0)_7=0;else{for(D7=0;;){o6=($6+4|0)+(D7<<2)|0,B6=e[o6>>2]|0,W3=h1+(D7<<2)|0,F3=e[W3>>2]|0,t6=e[t>>2]|0,R6=t6+(D7<<2)|0,c6=e[R6>>2]|0,s3=c6+(b<<2)|0,e[z9>>2]=f6,K6=W8(t,60)|0,A3=Y2+(D7<<2)|0,e[A3>>2]=K6,fi=K6,pn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(pn|0));if(_y(h9,s3,i0),g6=G5+(D7<<2)|0,y6=+o[g6>>2],xy(h9,c6,e0,J7,y6),ol(h9,i0,e0,1,c6,F3,s3),T3=($6+1028|0)+(B6<<2)|0,H6=e[T3>>2]|0,D6=(Z9+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,ee=(G6|0)==1,!ee){A=-1;break}if(Q6=e[X>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,re=sl(t,P3,s3,c6)|0,V6=e[A3>>2]|0,se=V6+28|0,e[se>>2]=re,ge=Nu(t)|0,Y6=(ge|0)==0,Y6||(F6=e[A3>>2]|0,te=F6+28|0,_6=e[te>>2]|0,P6=(_6|0)==0,P6||(ol(h9,i0,e0,2,c6,F3,s3),O3=e[T3>>2]|0,O6=e[X>>2]|0,oe=O6+(O3<<2)|0,he=e[oe>>2]|0,ne=sl(t,he,s3,c6)|0,ye=e[A3>>2]|0,Qe=ye+56|0,e[Qe>>2]=ne,ol(h9,i0,e0,0,c6,F3,s3),de=e[T3>>2]|0,fe=e[X>>2]|0,Ve=fe+(de<<2)|0,w6=e[Ve>>2]|0,q6=sl(t,w6,s3,c6)|0,ae=e[A3>>2]|0,e[ae>>2]=q6,Ye=e[T3>>2]|0,we=e[X>>2]|0,g9=we+(Ye<<2)|0,p9=e[g9>>2]|0,ze=e[A3>>2]|0,r9=e[ze>>2]|0,Fe=ze+28|0,ve=e[Fe>>2]|0,J6=Gt(t,p9,r9,ve,9362)|0,Ae=e[A3>>2]|0,w9=Ae+4|0,e[w9>>2]=J6,M9=e[T3>>2]|0,_e=e[X>>2]|0,R9=_e+(M9<<2)|0,F9=e[R9>>2]|0,G9=e[A3>>2]|0,q9=e[G9>>2]|0,n4=G9+28|0,v9=e[n4>>2]|0,H9=Gt(t,F9,q9,v9,18724)|0,Ke=e[A3>>2]|0,V9=Ke+8|0,e[V9>>2]=H9,U9=e[T3>>2]|0,E9=e[X>>2]|0,v4=E9+(U9<<2)|0,Ze=e[v4>>2]|0,ke=e[A3>>2]|0,k4=e[ke>>2]|0,V4=ke+28|0,nt=e[V4>>2]|0,Y9=Gt(t,Ze,k4,nt,28086)|0,Y4=e[A3>>2]|0,s4=Y4+12|0,e[s4>>2]=Y9,R4=e[T3>>2]|0,st=e[X>>2]|0,n9=st+(R4<<2)|0,u4=e[n9>>2]|0,C9=e[A3>>2]|0,T6=e[C9>>2]|0,K9=C9+28|0,Oe=e[K9>>2]|0,d9=Gt(t,u4,T6,Oe,37449)|0,s9=e[A3>>2]|0,d4=s9+16|0,e[d4>>2]=d9,f4=e[T3>>2]|0,k9=e[X>>2]|0,o4=k9+(f4<<2)|0,P9=e[o4>>2]|0,I4=e[A3>>2]|0,Se=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,S4=Gt(t,P9,Se,z4,46811)|0,S9=e[A3>>2]|0,I9=S9+20|0,e[I9>>2]=S4,z6=e[T3>>2]|0,F4=e[X>>2]|0,T4=F4+(z6<<2)|0,ot=e[T4>>2]|0,m9=e[A3>>2]|0,x9=e[m9>>2]|0,mt=m9+28|0,xe=e[mt>>2]|0,be=Gt(t,ot,x9,xe,56173)|0,O9=e[A3>>2]|0,a4=O9+24|0,e[a4>>2]=be,d8=e[T3>>2]|0,N4=e[X>>2]|0,f8=N4+(d8<<2)|0,_8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,_8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,x8=e[T3>>2]|0,Ht=e[X>>2]|0,Vt=Ht+(x8<<2)|0,Yt=e[Vt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,zt=e[pt>>2]|0,Kt=xt+56|0,r8=e[Kt>>2]|0,n8=Gt(t,Yt,zt,r8,18724)|0,Et=e[A3>>2]|0,K4=Et+36|0,e[K4>>2]=n8,G4=e[T3>>2]|0,at=e[X>>2]|0,Le=at+(G4<<2)|0,p8=e[Le>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,L8=e[E8>>2]|0,s8=b4+56|0,M8=e[s8>>2]|0,A4=Gt(t,p8,L8,M8,28086)|0,o8=e[A3>>2]|0,Jt=o8+40|0,e[Jt>>2]=A4,At=e[T3>>2]|0,J9=e[X>>2]|0,U4=J9+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,o9=Ct+56|0,lt=e[o9>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,yt=e[A3>>2]|0,p4=yt+44|0,e[p4>>2]=Bt,D4=e[T3>>2]|0,J4=e[X>>2]|0,W4=J4+(D4<<2)|0,a9=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,_4=P4+56|0,Qt=e[_4>>2]|0,a8=Gt(t,a9,gt,Qt,46811)|0,W9=e[A3>>2]|0,C3=W9+48|0,e[C3>>2]=a8,Z4=e[T3>>2]|0,wt=e[X>>2]|0,$4=wt+(Z4<<2)|0,je=e[$4>>2]|0,l4=e[A3>>2]|0,Te=l4+28|0,Wt=e[Te>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,je,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=D7+1|0,ut=e[l0>>2]|0,ht=(jt|0)<(ut|0),ht)D7=jt;else{B=X,Tt=ut;break e}}return C=mn,A|0}for(;;){N6=($6+4|0)+(_7<<2)|0,C0=e[N6>>2]|0,j6=h1+(_7<<2)|0,f0=e[j6>>2]|0,k6=e[t>>2]|0,R3=k6+(_7<<2)|0,n0=e[R3>>2]|0,m0=n0+(b<<2)|0,e[z9>>2]=f6,s6=W8(t,60)|0,v0=Y2+(_7<<2)|0,e[v0>>2]=s6,fi=s6,pn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(pn|0));for(ar=0;r6=f0+(ar<<2)|0,M3=e[r6>>2]|0,h3=M3&2147483647,J3=+(h3>>>0),d6=J3*7177114298428933e-22,m3=d6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,Q=ar+b|0,S6=n0+(Q<<2)|0,o[S6>>2]=M6,n6=ar+1|0,b6=(n6|0)<(b|0),b6;)ar=n6;if(_y(h9,m0,i0),g0=G5+(_7<<2)|0,I0=+o[g0>>2],xy(h9,n0,e0,J7,I0),ol(h9,i0,e0,1,n0,f0,m0),p0=($6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,y0=(Z9+800|0)+(S0<<2)|0,E0=e[y0>>2]|0,Q0=(E0|0)==1,!Q0){A=-1;break}if(w0=e[X>>2]|0,B0=w0+(S0<<2)|0,x0=e[B0>>2]|0,Z0=sl(t,x0,m0,n0)|0,R0=e[v0>>2]|0,G0=R0+28|0,e[G0>>2]=Z0,U0=Nu(t)|0,H0=(U0|0)==0,H0||(k0=e[v0>>2]|0,K0=k0+28|0,N0=e[K0>>2]|0,M0=(N0|0)==0,M0||(ol(h9,i0,e0,2,n0,f0,m0),P0=e[p0>>2]|0,W0=e[X>>2]|0,J0=W0+(P0<<2)|0,V0=e[J0>>2]|0,j0=sl(t,V0,m0,n0)|0,Y0=e[v0>>2]|0,o1=Y0+56|0,e[o1>>2]=j0,ol(h9,i0,e0,0,n0,f0,m0),z0=e[p0>>2]|0,r1=e[X>>2]|0,L0=r1+(z0<<2)|0,s1=e[L0>>2]|0,d1=sl(t,s1,m0,n0)|0,u1=e[v0>>2]|0,e[u1>>2]=d1,E1=e[p0>>2]|0,f1=e[X>>2]|0,A1=f1+(E1<<2)|0,g1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,X0=a1+28|0,B1=e[X0>>2]|0,p1=Gt(t,g1,$1,B1,9362)|0,Q1=e[v0>>2]|0,C1=Q1+4|0,e[C1>>2]=p1,y1=e[p0>>2]|0,k1=e[X>>2]|0,S1=k1+(y1<<2)|0,L1=e[S1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,P1=e[v0>>2]|0,D1=P1+8|0,e[D1>>2]=F1,X1=e[p0>>2]|0,G1=e[X>>2]|0,x1=G1+(X1<<2)|0,J1=e[x1>>2]|0,H1=e[v0>>2]|0,V1=e[H1>>2]|0,Y1=H1+28|0,z1=e[Y1>>2]|0,t2=Gt(t,J1,V1,z1,28086)|0,o2=e[v0>>2]|0,q1=o2+12|0,e[q1>>2]=t2,h2=e[p0>>2]|0,Z1=e[X>>2]|0,I2=Z1+(h2<<2)|0,A2=e[I2>>2]|0,C2=e[v0>>2]|0,$2=e[C2>>2]|0,W1=C2+28|0,f2=e[W1>>2]|0,g2=Gt(t,A2,$2,f2,37449)|0,s2=e[v0>>2]|0,l2=s2+16|0,e[l2>>2]=g2,i2=e[p0>>2]|0,a2=e[X>>2]|0,m2=a2+(i2<<2)|0,r2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,y2=e[S2>>2]|0,M2=Gt(t,r2,D2,y2,46811)|0,O2=e[v0>>2]|0,p2=O2+20|0,e[p2>>2]=M2,W2=e[p0>>2]|0,q2=e[X>>2]|0,K2=q2+(W2<<2)|0,U2=e[K2>>2]|0,V2=e[v0>>2]|0,Z2=e[V2>>2]|0,A5=V2+28|0,N1=e[A5>>2]|0,t5=Gt(t,U2,Z2,N1,56173)|0,T5=e[v0>>2]|0,i5=T5+24|0,e[i5>>2]=t5,L5=e[p0>>2]|0,j2=e[X>>2]|0,m5=j2+(L5<<2)|0,D5=e[m5>>2]|0,V5=e[v0>>2]|0,u5=V5+28|0,B5=e[u5>>2]|0,o5=V5+56|0,F2=e[o5>>2]|0,R2=Gt(t,D5,B5,F2,9362)|0,Q2=e[v0>>2]|0,y5=Q2+32|0,e[y5>>2]=R2,N5=e[p0>>2]|0,p5=e[X>>2]|0,M5=p5+(N5<<2)|0,q5=e[M5>>2]|0,z2=e[v0>>2]|0,E5=z2+28|0,$5=e[E5>>2]|0,h5=z2+56|0,Q5=e[h5>>2]|0,T1=Gt(t,q5,$5,Q5,18724)|0,_5=e[v0>>2]|0,d5=_5+36|0,e[d5>>2]=T1,l5=e[p0>>2]|0,X2=e[X>>2]|0,w5=X2+(l5<<2)|0,r5=e[w5>>2]|0,a5=e[v0>>2]|0,f5=a5+28|0,J2=e[f5>>2]|0,I5=a5+56|0,n5=e[I5>>2]|0,F5=Gt(t,r5,J2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=F5,v5=e[p0>>2]|0,z5=e[X>>2]|0,i3=z5+(v5<<2)|0,C5=e[i3>>2]|0,I3=e[v0>>2]|0,d3=I3+28|0,W5=e[d3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,y3=Gt(t,C5,W5,a3,37449)|0,Z5=e[v0>>2]|0,x3=Z5+44|0,e[x3>>2]=y3,f3=e[p0>>2]|0,w3=e[X>>2]|0,e6=w3+(f3<<2)|0,V3=e[e6>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,a6=X5+56|0,Y3=e[a6>>2]|0,c3=Gt(t,V3,t3,Y3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,K5=e[X>>2]|0,H5=K5+(Q3<<2)|0,Y5=e[H5>>2]|0,b5=e[v0>>2]|0,z3=b5+28|0,l6=e[z3>>2]|0,n3=b5+56|0,l3=e[n3>>2]|0,U3=Gt(t,Y5,l6,l3,56173)|0,C6=e[v0>>2]|0,b3=C6+52|0,e[b3>>2]=U3)),L3=_7+1|0,D3=e[l0>>2]|0,A6=(L3|0)<(D3|0),A6)_7=L3;else{B=X,Tt=D3;break e}}return C=mn,A|0}else v=m7+48|0,B=v,Tt=h0;while(!1);for(o[b2>>2]=J7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,p=Ft,De=C,C=C+((1*p|0)+15&-16)|0,g8=Nu(t)|0,et=(g8|0)!=0,V8=et?0:7,Z8=m7+44|0,R8=t+24|0,u8=t+32|0,F8=Z9+2868|0,Y8=m7+52|0,E7=V8;;){if(j8=(dn+12|0)+(E7<<2)|0,dt=e[j8>>2]|0,H2(dt,0,1),Nt=e[Z8>>2]|0,H2(dt,f6,Nt),T8=e[j5>>2]|0,Xt=(T8|0)==0,Xt||(O4=e[R8>>2]|0,H2(dt,O4,1),C4=e[u8>>2]|0,H2(dt,C4,1)),A9=e[l0>>2]|0,N8=(A9|0)>0,N8)for(i7=0;;)if(qi=($6+4|0)+(i7<<2)|0,Hi=e[qi>>2]|0,Vi=e2+(i7<<2)|0,Ei=e[Vi>>2]|0,X8=($6+1028|0)+(Hi<<2)|0,Ci=e[X8>>2]|0,ei=e[B>>2]|0,Bi=ei+(Ci<<2)|0,ti=e[Bi>>2]|0,yi=Y2+(i7<<2)|0,g7=e[yi>>2]|0,Yi=g7+(E7<<2)|0,Qi=e[Yi>>2]|0,wi=ub(dt,t,ti,Qi,Ei)|0,u7=q0+(i7<<2)|0,e[u7>>2]=wi,vi=i7+1|0,ci=e[l0>>2]|0,h7=(vi|0)<(ci|0),h7)i7=vi;else{m=ci;break}else m=A9;if(zi=e[j5>>2]|0,Ki=((Z9+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ki>>2]|0,Gb(E7,F8,h9,$6,h1,e2,q0,Wi,m),gi=e[$6>>2]|0,ki=(gi|0)>0,ki)for(x7=0;;){if(Zi=($6+1092|0)+(x7<<2)|0,ii=e[Zi>>2]|0,ui=e[l0>>2]|0,z8=(ui|0)>0,z8)for(ln=ui,p7=0,Ar=0;;)if(ri=($6+4|0)+(Ar<<2)|0,d7=e[ri>>2]|0,ji=(d7|0)==(x7|0),ji?(Si=De+(p7<<2)|0,Xi=q0+(Ar<<2)|0,bi=e[Xi>>2]|0,Oo=(bi|0)!=0,s=Oo&1,e[Si>>2]=s,Di=e2+(Ar<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ni=X4+(p7<<2)|0,e[ni>>2]=e7,E=e[l0>>2]|0,hi=E,In=_i):(hi=ln,In=p7),xi=Ar+1|0,t7=(xi|0)<(hi|0),t7)ln=hi,p7=In,Ar=xi;else{fs=In;break}else fs=0;if(Li=(Z9+1312|0)+(ii<<2)|0,x4=e[Li>>2]|0,Mi=25648+(x4<<2)|0,G8=e[Mi>>2]|0,di=G8+20|0,$e=e[di>>2]|0,B8=e[Y8>>2]|0,vt=B8+(ii<<2)|0,y8=e[vt>>2]|0,U8=PC[$e&7](t,y8,X4,De,fs)|0,Sr=e[l0>>2]|0,ao=(Sr|0)>0,ao)for(or=0,Fr=0;;)if(zn=($6+4|0)+(Fr<<2)|0,Ao=e[zn>>2]|0,Kn=(Ao|0)==(x7|0),Kn?($o=e2+(Fr<<2)|0,lo=e[$o>>2]|0,Jn=or+1|0,co=X4+(or<<2)|0,e[co>>2]=lo,Lr=Jn):Lr=or,on=Fr+1|0,uo=(on|0)<(Sr|0),uo)or=Lr,Fr=on;else{xr=Lr;break}else xr=0;if(ho=e[Li>>2]|0,Wn=25648+(ho<<2)|0,fo=e[Wn>>2]|0,Zn=fo+24|0,jn=e[Zn>>2]|0,Io=e[Y8>>2]|0,an=Io+(ii<<2)|0,Xn=e[an>>2]|0,Xy[jn&3](dt,t,Xn,X4,De,xr,U8,x7)|0,An=x7+1|0,ts=e[$6>>2]|0,mo=(An|0)<(ts|0),mo)x7=An;else break}if(po=E7+1|0,Eo=Nu(t)|0,$n=(Eo|0)!=0,is=$n?14:7,Co=(E7|0)<(is|0),Co)E7=po;else{A=0;break}}return C=mn,A|0}function xb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0;if(T2=C,D=t+64|0,k=e[D>>2]|0,Q1=k+4|0,F1=e[Q1>>2]|0,z1=F1+28|0,W1=e[z1>>2]|0,k2=k+104|0,U2=e[k2>>2]|0,m5=t+28|0,N5=e[m5>>2]|0,v=W1+(N5<<2)|0,K=e[v>>2]|0,i0=t+36|0,e[i0>>2]=K,f0=F1+4|0,Z0=e[f0>>2]|0,P0=Z0<<2,g=P0,s1=C,C=C+((1*g|0)+15&-16)|0,d=P0,X0=C,C=C+((1*d|0)+15&-16)|0,p=P0,B1=C,C=C+((1*p|0)+15&-16)|0,m=P0,p1=C,C=C+((1*m|0)+15&-16)|0,C1=e[f0>>2]|0,y1=(C1|0)>0,y1)for(v1=s+4|0,k1=s+1028|0,S1=U2+48|0,L1=K<<1,M1=L1&2147483646,X2=0;;)if(O1=v1+(X2<<2)|0,X1=e[O1>>2]|0,G1=k1+(X1<<2)|0,x1=e[G1>>2]|0,J1=(W1+800|0)+(x1<<2)|0,H1=e[J1>>2]|0,V1=25640+(H1<<2)|0,Y1=e[V1>>2]|0,t2=Y1+20|0,o2=e[t2>>2]|0,e2=e[S1>>2]|0,q1=e2+(x1<<2)|0,h2=e[q1>>2]|0,Z1=pi[o2&15](t,h2)|0,I2=p1+(X2<<2)|0,e[I2>>2]=Z1,A2=B1+(X2<<2)|0,e5=(Z1|0)!=0,A=e5&1,e[A2>>2]=A,C2=e[t>>2]|0,$2=C2+(X2<<2)|0,f2=e[$2>>2]|0,g4(f2|0,0,M1|0)|0,g2=X2+1|0,n2=e[f0>>2]|0,u2=(g2|0)<(n2|0),u2)X2=g2;else{a1=n2;break}else a1=C1;if(b1=s+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(P1=s+1160|0,D1=s+2184|0,d2=0;r2=P1+(d2<<2)|0,D2=e[r2>>2]|0,S2=B1+(D2<<2)|0,y2=e[S2>>2]|0,G2=(y2|0)==0,M2=D1+(d2<<2)|0,O2=e[M2>>2]|0,G2?(p2=B1+(O2<<2)|0,W2=e[p2>>2]|0,q2=(W2|0)==0,q2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,K2=B1+(O2<<2)|0,e[K2>>2]=1),V2=d2+1|0,Z2=(V2|0)<(_1|0),Z2;)d2=V2;if(s2=e[s>>2]|0,l2=(s2|0)>0,l2){for(i2=s+1092|0,a2=U2+52|0,m2=s+4|0,A5=a1,w5=0;;){if(Y2=(A5|0)>0,Y2)for($1=A5,d5=0,I5=0;;)if(N1=m2+(I5<<2)|0,t5=e[N1>>2]|0,T5=(t5|0)==(w5|0),T5?(i5=B1+(I5<<2)|0,L5=e[i5>>2]|0,j2=X0+(d5<<2)|0,F5=(L5|0)!=0,$=F5&1,e[j2>>2]=$,D5=e[t>>2]|0,V5=D5+(I5<<2)|0,u5=e[V5>>2]|0,b2=d5+1|0,B5=s1+(d5<<2)|0,e[B5>>2]=u5,B=e[f0>>2]|0,R2=B,l5=b2):(R2=$1,l5=d5),o5=I5+1|0,F2=(o5|0)<(R2|0),F2)$1=R2,d5=l5,I5=o5;else{_5=l5;break}else _5=0;if(Q2=i2+(w5<<2)|0,y5=e[Q2>>2]|0,p5=(W1+1312|0)+(y5<<2)|0,M5=e[p5>>2]|0,q5=25648+(M5<<2)|0,R5=e[q5>>2]|0,z2=R5+28|0,E5=e[z2>>2]|0,$5=e[a2>>2]|0,h5=$5+(y5<<2)|0,Q5=e[h5>>2]|0,PC[E5&7](t,Q5,s1,X0,_5)|0,T1=w5+1|0,_=e[s>>2]|0,Q=(T1|0)<(_|0),!Q)break;y=e[f0>>2]|0,A5=y,w5=T1}b=e[b1>>2]|0,L=b}else L=_1;if(R=(L|0)>0,R)for(M=s+1160|0,F=e[t>>2]|0,G=s+2184|0,O=(K|0)/2&-1,q=(K|0)>1,a5=L;;){if(r5=a5+-1|0,o0=M+(r5<<2)|0,J=e[o0>>2]|0,s0=F+(J<<2)|0,Y=e[s0>>2]|0,d0=G+(r5<<2)|0,e0=e[d0>>2]|0,h0=F+(e0<<2)|0,c0=e[h0>>2]|0,q)for(n5=0;;){$0=Y+(n5<<2)|0,l0=+o[$0>>2],X=c0+(n5<<2)|0,m0=+o[X>>2],g0=l0>0,I0=m0>0;do if(g0)if(I0){o[$0>>2]=l0,n0=l0-m0,o[X>>2]=n0;break}else{o[X>>2]=l0,p0=m0+l0,o[$0>>2]=p0;break}else if(I0){o[$0>>2]=l0,C0=m0+l0,o[X>>2]=C0;break}else{o[X>>2]=l0,S0=l0-m0,o[$0>>2]=S0;break}while(!1);if(y0=n5+1|0,D0=(y0|0)<(O|0),D0)n5=y0;else break}if(H=(a5|0)>1,H)a5=r5;else break}if(t0=e[f0>>2]|0,Z=(t0|0)>0,!Z)return C=T2,0;for(A0=s+4|0,j=s+1028|0,r0=U2+48|0,f5=0;;)if(Q0=e[t>>2]|0,w0=Q0+(f5<<2)|0,B0=e[w0>>2]|0,x0=A0+(f5<<2)|0,R0=e[x0>>2]|0,v0=j+(R0<<2)|0,G0=e[v0>>2]|0,U0=(W1+800|0)+(G0<<2)|0,O0=e[U0>>2]|0,H0=25640+(O0<<2)|0,k0=e[H0>>2]|0,K0=k0+24|0,N0=e[K0>>2]|0,M0=e[r0>>2]|0,W0=M0+(G0<<2)|0,J0=e[W0>>2]|0,V0=p1+(f5<<2)|0,j0=e[V0>>2]|0,GC[N0&3](t,J0,j0,B0)|0,q0=f5+1|0,Y0=e[f0>>2]|0,o1=(q0|0)<(Y0|0),o1)f5=q0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=T2,0;for(J2=0;z0=e[t>>2]|0,r1=z0+(J2<<2)|0,L0=e[r1>>2]|0,d1=e[m5>>2]|0,u1=(U2+12|0)+(d1<<2)|0,E1=e[u1>>2]|0,f1=e[E1>>2]|0,Lb(f1,L0,L0),h1=J2+1|0,A1=e[f0>>2]|0,g1=(h1|0)<(A1|0),g1;)J2=h1;return C=T2,0}function LC(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0;if(b1=C,A=(s|0)/4&-1,$=A<<2,v=Re($)|0,K=A+s|0,i0=K<<2,f0=Re(i0)|0,Z0=s>>1,P0=+(s|0),s1=P0,B1=+rn(+s1),g=B1*1.4426950408889634,d=+z7(g),p=~~d,m=t+4|0,e[m>>2]=p,e[t>>2]=s,E=t+8|0,e[E>>2]=f0,y=t+12|0,e[y>>2]=v,B=(s|0)>3,!B){X0=4/P0,p1=t+16|0,o[p1>>2]=X0;return}for(b=+(s|0),D=3.141592653589793/b,k=s<<1,_=+(k|0),Q=3.141592653589793/_,v1=0;G=v1<<2,O=+(G|0),q=D*O,H=+aA(+q),t0=H,Z=v1<<1,A0=f0+(Z<<2)|0,o[A0>>2]=t0,j=+Vn(+q),r0=j,o0=-r0,J=Z|1,s0=f0+(J<<2)|0,o[s0>>2]=o0,Y=+(J|0),d0=Q*Y,e0=+aA(+d0),h0=e0,c0=Z+Z0|0,$0=f0+(c0<<2)|0,o[$0>>2]=h0,l0=+Vn(+d0),X=l0,m0=c0+1|0,g0=f0+(m0<<2)|0,o[g0>>2]=X,I0=v1+1|0,n0=(I0|0)<(A|0),n0;)v1=I0;if(L=(s|0)/8&-1,R=(s|0)>7,!R){X0=4/P0,p1=t+16|0,o[p1>>2]=X0;return}for(M=+(s|0),F=3.141592653589793/M,k1=0;p0=k1<<2,C0=p0|2,S0=+(C0|0),y0=F*S0,D0=+aA(+y0),E0=D0*.5,Q0=E0,w0=k1<<1,B0=w0+s|0,x0=f0+(B0<<2)|0,o[x0>>2]=Q0,R0=+Vn(+y0),v0=R0*-.5,G0=v0,U0=B0+1|0,O0=f0+(U0<<2)|0,o[O0>>2]=G0,H0=k1+1|0,k0=(H0|0)<(L|0),k0;)k1=H0;if(K0=p+-1|0,N0=1<>2]=X0;return}for(;;){for(j0=J0,Q1=0,L1=0;;)if(V0=j0&S1,q0=(V0|0)==0,Y0=1<>z0,L0=(r1|0)==0,L0){y1=C1;break}else j0=r1,Q1=C1,L1=z0;if(d1=y1^-1,u1=M0&d1,E1=u1+-1|0,f1=S1<<1,h1=v+(f1<<2)|0,e[h1>>2]=E1,A1=f1|1,g1=v+(A1<<2)|0,e[g1>>2]=y1,a1=S1+1|0,$1=(a1|0)<(L|0),$1)S1=a1;else break}X0=4/P0,p1=t+16|0,o[p1>>2]=X0}function MC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0;y=C,s=(t|0)==0,!s&&(A=t+8|0,$=e[A>>2]|0,g=($|0)==0,g||E2($),d=t+12|0,p=e[d>>2]|0,m=(p|0)==0,m||E2(p),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 Lb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0;for(J3=C,p=e[t>>2]|0,m=p>>1,e2=p>>2,$=m+-7|0,W2=s+($<<2)|0,g=m+e2|0,i5=A+(g<<2)|0,R2=t+8|0,h5=e[R2>>2]|0,f5=h5+(e2<<2)|0,u3=f5,H5=W2,L3=i5;C5=L3+-16|0,w3=H5+8|0,E=+o[w3>>2],M=u3+12|0,r0=+o[M>>2],l0=E*r0,D0=-l0,O0=+o[H5>>2],q0=u3+8|0,h1=+o[q0>>2],v1=h1*O0,O1=D0-v1,o[C5>>2]=O1,q1=+o[H5>>2],u2=+o[M>>2],k2=u2*q1,D2=+o[w3>>2],S2=+o[q0>>2],y2=S2*D2,G2=k2-y2,M2=L3+-12|0,o[M2>>2]=G2,O2=H5+24|0,p2=+o[O2>>2],q2=u3+4|0,K2=+o[q2>>2],U2=p2*K2,V2=-U2,Z2=H5+16|0,A5=+o[Z2>>2],Y2=+o[u3>>2],N1=Y2*A5,t5=V2-N1,T5=L3+-8|0,o[T5>>2]=t5,L5=+o[Z2>>2],j2=+o[q2>>2],m5=j2*L5,D5=+o[O2>>2],V5=+o[u3>>2],u5=V5*D5,b2=m5-u5,B5=L3+-4|0,o[B5>>2]=b2,o5=H5+-32|0,F2=u3+16|0,Q2=o5>>>0>>0,!Q2;)u3=F2,H5=o5,L3=C5;for(y5=A+(m<<2)|0,d=m+-8|0,N5=s+(d<<2)|0,Q3=f5,Y5=N5,D3=i5;p5=Q3+-16|0,M5=Y5+16|0,q5=+o[M5>>2],R5=Q3+-4|0,z2=+o[R5>>2],E5=z2*q5,$5=Y5+24|0,Q5=+o[$5>>2],T1=Q3+-8|0,_5=+o[T1>>2],d5=_5*Q5,l5=d5+E5,o[D3>>2]=l5,X2=+o[M5>>2],d2=+o[T1>>2],w5=d2*X2,r5=+o[$5>>2],a5=+o[R5>>2],J2=a5*r5,I5=w5-J2,n5=D3+4|0,o[n5>>2]=I5,F5=+o[Y5>>2],e5=Q3+-12|0,c5=+o[e5>>2],T2=c5*F5,v5=Y5+8|0,z5=+o[v5>>2],i3=+o[p5>>2],I3=i3*z5,d3=I3+T2,W5=D3+8|0,o[W5>>2]=d3,r3=+o[Y5>>2],a3=+o[p5>>2],y3=a3*r3,G5=+o[v5>>2],Z5=+o[e5>>2],x3=Z5*G5,f3=y3-x3,e6=D3+12|0,o[e6>>2]=f3,V3=Y5+-32|0,X5=D3+16|0,_3=V3>>>0>>0,!_3;)Q3=p5,Y5=V3,D3=X5;for(l6=t+4|0,n3=e[l6>>2]|0,Sy(n3,h5,y5,m),l3=e[t>>2]|0,U3=e[R2>>2]|0,C6=t+12|0,b3=e[C6>>2]|0,by(l3,U3,b3,A),t3=e[R2>>2]|0,a6=t3+(m<<2)|0,K5=a6,b5=A,A6=i5,j5=i5;G3=A6+-16|0,Y3=+o[b5>>2],c3=K5+4|0,g3=+o[c3>>2],y=g3*Y3,B=b5+4|0,b=+o[B>>2],D=+o[K5>>2],k=D*b,v=y-k,_=A6+-4|0,o[_>>2]=v,Q=+o[b5>>2],L=+o[K5>>2],R=L*Q,F=+o[B>>2],G=+o[c3>>2],O=G*F,q=R+O,H=-q,o[j5>>2]=H,K=b5+8|0,t0=+o[K>>2],Z=K5+12|0,A0=+o[Z>>2],j=A0*t0,o0=b5+12|0,J=+o[o0>>2],s0=K5+8|0,Y=+o[s0>>2],d0=Y*J,i0=j-d0,e0=A6+-8|0,o[e0>>2]=i0,h0=+o[K>>2],c0=+o[s0>>2],$0=c0*h0,X=+o[o0>>2],m0=+o[Z>>2],g0=m0*X,I0=$0+g0,n0=-I0,f0=j5+4|0,o[f0>>2]=n0,p0=b5+16|0,C0=+o[p0>>2],S0=K5+20|0,y0=+o[S0>>2],E0=y0*C0,Q0=b5+20|0,w0=+o[Q0>>2],B0=K5+16|0,x0=+o[B0>>2],Z0=x0*w0,R0=E0-Z0,v0=A6+-12|0,o[v0>>2]=R0,G0=+o[p0>>2],U0=+o[B0>>2],H0=U0*G0,k0=+o[Q0>>2],K0=+o[S0>>2],N0=K0*k0,M0=H0+N0,P0=-M0,W0=j5+8|0,o[W0>>2]=P0,J0=b5+24|0,V0=+o[J0>>2],j0=K5+28|0,Y0=+o[j0>>2],o1=Y0*V0,z0=b5+28|0,r1=+o[z0>>2],L0=K5+24|0,s1=+o[L0>>2],d1=s1*r1,u1=o1-d1,o[G3>>2]=u1,E1=+o[J0>>2],f1=+o[L0>>2],A1=f1*E1,g1=+o[z0>>2],a1=+o[j0>>2],$1=a1*g1,X0=A1+$1,B1=-X0,p1=j5+12|0,o[p1>>2]=B1,Q1=j5+16|0,C1=b5+32|0,y1=K5+32|0,k1=C1>>>0>>0,k1;)K5=y1,b5=C1,A6=G3,j5=Q1;for(S1=A+(e2<<2)|0,z3=i5,r6=S1,M3=S1;;)if(L1=r6+-16|0,M1=z3+-16|0,b1=z3+-4|0,_1=+o[b1>>2],R1=r6+-4|0,o[R1>>2]=_1,F1=-_1,o[M3>>2]=F1,P1=z3+-8|0,D1=+o[P1>>2],X1=r6+-8|0,o[X1>>2]=D1,G1=-D1,x1=M3+4|0,o[x1>>2]=G1,J1=z3+-12|0,H1=+o[J1>>2],V1=r6+-12|0,o[V1>>2]=H1,Y1=-H1,z1=M3+8|0,o[z1>>2]=Y1,t2=+o[M1>>2],o[L1>>2]=t2,o2=-t2,h2=M3+12|0,o[h2>>2]=o2,Z1=M3+16|0,I2=Z1>>>0>>0,I2)z3=M1,r6=L1,M3=Z1;else{U5=i5,K3=i5;break}for(;A2=K3+-16|0,C2=U5+12|0,$2=e[C2>>2]|0,e[A2>>2]=$2,W1=U5+8|0,f2=e[W1>>2]|0,g2=K3+-12|0,e[g2>>2]=f2,n2=U5+4|0,s2=e[n2>>2]|0,l2=K3+-8|0,e[l2>>2]=s2,i2=e[U5>>2]|0,a2=K3+-4|0,e[a2>>2]=i2,m2=U5+16|0,r2=A2>>>0>y5>>>0,r2;)U5=m2,K3=A2}function ky(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0;if(z5=C,k=e[t>>2]|0,v=k>>1,o1=k>>2,g1=k>>3,S1=k<<2,$=S1,G1=C,C=C+((1*$|0)+15&-16)|0,h2=G1+(v<<2)|0,g=v+o1|0,s2=s+(g<<2)|0,M2=t+8|0,N1=e[M2>>2]|0,_=N1+(v<<2)|0,t0=(g1|0)>0,t0){for(d=g+1|0,e0=s+(d<<2)|0,p0=g1+-1|0,R0=p0>>>1,W0=R0<<1,V0=v+-2|0,j0=V0-W0|0,q0=g+-4|0,Y0=R0<<2,z0=q0-Y0|0,o5=_,M5=0,f5=s2,F5=e0;r1=f5+-16|0,L0=o5+-8|0,s1=f5+-8|0,d1=+o[s1>>2],u1=+o[F5>>2],E1=u1+d1,f1=+o[r1>>2],h1=F5+8|0,A1=+o[h1>>2],a1=A1+f1,$1=o5+-4|0,X0=+o[$1>>2],B1=a1*X0,p1=+o[L0>>2],Q1=p1*E1,C1=Q1+B1,b=M5+v|0,y1=G1+(b<<2)|0,o[y1>>2]=C1,v1=+o[L0>>2],k1=v1*a1,L1=+o[$1>>2],M1=L1*E1,b1=k1-M1,_1=M5|1,D=_1+v|0,R1=G1+(D<<2)|0,o[R1>>2]=b1,F1=F5+16|0,P1=M5+2|0,D1=(P1|0)<(g1|0),D1;)o5=L0,M5=P1,f5=r1,F5=F1;O1=W0+2|0,d2=N1+(j0<<2)|0,w5=s+(z0<<2)|0,Y2=j0,B5=d2,p5=O1,a5=w5}else Y2=v,B5=_,p5=0,a5=s2;if(X1=s+4|0,x1=v-g1|0,J1=(p5|0)<(x1|0),J1){for(H1=v+-1|0,V1=H1-p5|0,Y1=V1-g1|0,z1=Y1>>>1,t2=z1<<1,o2=p5+t2|0,e2=z1<<2,q1=e2+5|0,Z1=-2-t2|0,R2=B5,R5=p5,J2=a5,c5=X1;I2=R2+-8|0,A2=J2+-16|0,C2=J2+-8|0,$2=+o[C2>>2],W1=+o[c5>>2],f2=$2-W1,g2=+o[A2>>2],n2=c5+8|0,u2=+o[n2>>2],l2=g2-u2,i2=R2+-4|0,a2=+o[i2>>2],m2=l2*a2,r2=+o[I2>>2],k2=r2*f2,D2=k2+m2,E=R5+v|0,S2=G1+(E<<2)|0,o[S2>>2]=D2,y2=+o[I2>>2],G2=y2*l2,O2=+o[i2>>2],p2=O2*f2,W2=G2-p2,q2=R5|1,y=q2+v|0,K2=G1+(y<<2)|0,o[K2>>2]=W2,U2=c5+16|0,V2=R5+2|0,Z2=(V2|0)<(x1|0),Z2;)R2=I2,R5=V2,J2=A2,c5=U2;A5=o2+2|0,l5=s+(q1<<2)|0,B=Y2+Z1|0,X2=N1+(B<<2)|0,F2=X2,q5=A5,e5=l5}else F2=B5,q5=p5,e5=X1;if(t5=(q5|0)<(v|0),t5)for(T5=s+(k<<2)|0,Q2=F2,z2=q5,I5=T5,T2=e5;i5=Q2+-8|0,L5=I5+-16|0,j2=I5+-8|0,m5=+o[j2>>2],D5=-m5,V5=+o[T2>>2],u5=D5-V5,b2=+o[L5>>2],Q=-b2,L=T2+8|0,R=+o[L>>2],M=Q-R,F=Q2+-4|0,G=+o[F>>2],O=M*G,q=+o[i5>>2],H=q*u5,K=H+O,p=z2+v|0,Z=G1+(p<<2)|0,o[Z>>2]=K,A0=+o[i5>>2],j=A0*M,r0=+o[F>>2],o0=r0*u5,J=j-o0,s0=z2|1,m=s0+v|0,Y=G1+(m<<2)|0,o[Y>>2]=J,d0=T2+16|0,i0=z2+2|0,h0=(i0|0)<(v|0),h0;)Q2=i5,z2=i0,I5=L5,T2=d0;if($5=t+4|0,h5=e[$5>>2]|0,Sy(h5,N1,h2,v),d5=e[t>>2]|0,Q5=e[M2>>2]|0,T1=t+12|0,_5=e[T1>>2]|0,by(d5,Q5,_5,G1),c0=(o1|0)>0,!c0){C=z5;return}for($0=A+(v<<2)|0,l0=e[M2>>2]|0,X=l0+(v<<2)|0,m0=t+16|0,y5=X,E5=0,r5=G1,n5=$0;g0=n5+-4|0,I0=+o[r5>>2],n0=+o[y5>>2],f0=n0*I0,C0=r5+4|0,S0=+o[C0>>2],y0=y5+4|0,D0=+o[y0>>2],E0=D0*S0,Q0=E0+f0,w0=+o[m0>>2],B0=Q0*w0,x0=A+(E5<<2)|0,o[x0>>2]=B0,Z0=+o[r5>>2],v0=+o[y0>>2],G0=v0*Z0,U0=+o[C0>>2],O0=+o[y5>>2],H0=O0*U0,k0=G0-H0,K0=+o[m0>>2],N0=k0*K0,o[g0>>2]=N0,M0=r5+8|0,P0=y5+8|0,J0=E5+1|0,N5=(J0|0)==(o1|0),!N5;)y5=P0,E5=J0,r5=M0,n5=g0;C=z5}function Sy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0,y8=0,U8=0,sn=0,Sr=0;if(Sr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(m=$+-8|0,V5=A+(m<<2)|0,T3=$>>1,B=T3+-8|0,e8=A+(B<<2)|0,g=s,B8=V5,y8=e8;dt=B8+24|0,Vi=+o[dt>>2],Qi=y8+24|0,ki=+o[Qi>>2],bi=Vi-ki,y0=B8+28|0,U0=+o[y0>>2],j0=y8+28|0,f1=+o[j0>>2],y1=U0-f1,D1=ki+Vi,o[dt>>2]=D1,o2=+o[j0>>2],g2=o2+U0,o[y0>>2]=g2,S2=g+4|0,Z2=+o[S2>>2],u5=Z2*y1,q5=+o[g>>2],X2=q5*bi,c5=X2+u5,o[Qi>>2]=c5,y3=+o[g>>2],a6=y3*y1,z3=+o[S2>>2],r6=z3*bi,S6=a6-r6,o[j0>>2]=S6,W3=B8+16|0,H6=+o[W3>>2],ge=y8+16|0,ne=+o[ge>>2],we=H6-ne,M9=B8+20|0,V9=+o[M9>>2],Y4=y8+20|0,d9=+o[Y4>>2],I6=V9-d9,x9=ne+H6,o[W3>>2]=x9,I8=+o[Y4>>2],Yt=I8+V9,o[M9>>2]=Yt,at=g+20|0,Jt=+o[at>>2],Bt=Jt*I6,_4=g+16|0,Te=+o[_4>>2],Ft=Te*we,u8=Ft+Bt,o[ge>>2]=u8,j8=+o[_4>>2],Nt=j8*I6,T8=+o[at>>2],Xt=T8*we,O4=Nt-Xt,o[Y4>>2]=O4,C4=B8+8|0,A9=+o[C4>>2],N8=y8+8|0,$i=+o[N8>>2],qi=A9-$i,Hi=B8+12|0,Ei=+o[Hi>>2],X8=y8+12|0,Ci=+o[X8>>2],ei=Ei-Ci,Bi=$i+A9,o[C4>>2]=Bi,ti=+o[X8>>2],yi=ti+Ei,o[Hi>>2]=yi,li=g+36|0,g7=+o[li>>2],Yi=g7*ei,wi=g+32|0,u7=+o[wi>>2],vi=u7*qi,ci=vi+Yi,o[N8>>2]=ci,h7=+o[wi>>2],zi=h7*ei,Ki=+o[li>>2],Ji=Ki*qi,Wi=zi-Ji,o[X8>>2]=Wi,gi=+o[B8>>2],Zi=+o[y8>>2],ii=gi-Zi,ui=B8+4|0,z8=+o[ui>>2],ri=y8+4|0,d7=+o[ri>>2],ji=z8-d7,f7=Zi+gi,o[B8>>2]=f7,Si=+o[ri>>2],Xi=Si+z8,o[ui>>2]=Xi,Di=g+52|0,e7=+o[Di>>2],_i=e7*ji,ni=g+48|0,xi=+o[ni>>2],t7=xi*ii,hi=t7+_i,o[y8>>2]=hi,K8=+o[ni>>2],Li=K8*ji,x4=+o[Di>>2],D0=x4*ii,E0=Li-D0,o[ri>>2]=E0,Q0=B8+-32|0,w0=y8+-32|0,B0=g+64|0,x0=w0>>>0
>>0,!x0;)g=B0,B8=Q0,y8=w0;if(Z0=(C0|0)>1,Z0)for(G8=1;;){if(R0=1<>G8,O0=4<>1,b=H0+-8|0,q=O0+1|0,d0=O0<<1,$0=d0|1,m0=O0*3|0,I0=m0+1|0,f0=O0<<2,di=0;;){for(K0=s5(di,G0)|0,N0=A+(K0<<2)|0,p=E+K0|0,M0=A+(p<<2)|0,h0=b+K0|0,P0=A+(h0<<2)|0,d=s,vt=M0,U8=P0;W0=vt+24|0,J0=+o[W0>>2],V0=U8+24|0,q0=+o[V0>>2],Y0=J0-q0,o1=vt+28|0,z0=+o[o1>>2],r1=U8+28|0,L0=+o[r1>>2],s1=z0-L0,d1=q0+J0,o[W0>>2]=d1,u1=+o[r1>>2],E1=u1+z0,o[o1>>2]=E1,h1=d+4|0,A1=+o[h1>>2],g1=A1*s1,a1=+o[d>>2],$1=a1*Y0,X0=$1+g1,o[V0>>2]=X0,B1=+o[d>>2],p1=B1*s1,Q1=+o[h1>>2],C1=Q1*Y0,v1=p1-C1,o[r1>>2]=v1,k1=d+(O0<<2)|0,S1=vt+16|0,L1=+o[S1>>2],M1=U8+16|0,b1=+o[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+o[R1>>2],P1=U8+20|0,O1=+o[P1>>2],X1=F1-O1,G1=b1+L1,o[S1>>2]=G1,x1=+o[P1>>2],J1=x1+F1,o[R1>>2]=J1,H1=d+(q<<2)|0,V1=+o[H1>>2],Y1=V1*X1,z1=+o[k1>>2],t2=z1*_1,e2=t2+Y1,o[M1>>2]=e2,q1=+o[k1>>2],h2=q1*X1,Z1=+o[H1>>2],I2=Z1*_1,A2=h2-I2,o[P1>>2]=A2,C2=d+(d0<<2)|0,$2=vt+8|0,W1=+o[$2>>2],f2=U8+8|0,n2=+o[f2>>2],u2=W1-n2,s2=vt+12|0,l2=+o[s2>>2],i2=U8+12|0,a2=+o[i2>>2],m2=l2-a2,r2=n2+W1,o[$2>>2]=r2,k2=+o[i2>>2],D2=k2+l2,o[s2>>2]=D2,y2=d+($0<<2)|0,G2=+o[y2>>2],M2=G2*m2,O2=+o[C2>>2],p2=O2*u2,W2=p2+M2,o[f2>>2]=W2,q2=+o[C2>>2],K2=q2*m2,U2=+o[y2>>2],V2=U2*u2,A5=K2-V2,o[i2>>2]=A5,Y2=d+(m0<<2)|0,N1=+o[vt>>2],t5=+o[U8>>2],T5=N1-t5,i5=vt+4|0,L5=+o[i5>>2],j2=U8+4|0,m5=+o[j2>>2],D5=L5-m5,b2=t5+N1,o[vt>>2]=b2,B5=+o[j2>>2],o5=B5+L5,o[i5>>2]=o5,F2=d+(I0<<2)|0,R2=+o[F2>>2],Q2=R2*D5,y5=+o[Y2>>2],N5=y5*T5,p5=N5+Q2,o[U8>>2]=p5,M5=+o[Y2>>2],R5=M5*D5,z2=+o[F2>>2],E5=z2*T5,$5=R5-E5,o[j2>>2]=$5,h5=d+(f0<<2)|0,Q5=vt+-32|0,T1=U8+-32|0,_5=T1>>>0>>0,!_5;)d=h5,vt=Q5,U8=T1;if(d5=di+1|0,l5=(d5|0)<(R0|0),l5)di=d5;else break}if(d2=G8+1|0,Mi=(d2|0)==(C0|0),Mi)break;G8=d2}if(k0=($|0)>0,k0)$e=0;else return;for(;w5=A+($e<<2)|0,y=$e|30,r5=A+(y<<2)|0,a5=+o[r5>>2],O=$e|14,f5=A+(O<<2)|0,J2=+o[f5>>2],I5=a5-J2,Y=$e|31,n5=A+(Y<<2)|0,F5=+o[n5>>2],c0=$e|15,e5=A+(c0<<2)|0,T2=+o[e5>>2],v5=F5-T2,z5=J2+a5,o[r5>>2]=z5,i3=T2+F5,o[n5>>2]=i3,o[f5>>2]=I5,o[e5>>2]=v5,l0=$e|28,C5=A+(l0<<2)|0,I3=+o[C5>>2],X=$e|12,d3=A+(X<<2)|0,W5=+o[d3>>2],r3=I3-W5,g0=$e|29,a3=A+(g0<<2)|0,G5=+o[a3>>2],n0=$e|13,Z5=A+(n0<<2)|0,x3=+o[Z5>>2],f3=G5-x3,w3=W5+I3,o[C5>>2]=w3,e6=x3+G5,o[a3>>2]=e6,V3=r3*.9238795042037964,X5=f3*.3826834261417389,_3=V3-X5,o[d3>>2]=_3,t3=r3*.3826834261417389,G3=f3*.9238795042037964,Y3=G3+t3,o[Z5>>2]=Y3,p0=$e|26,c3=A+(p0<<2)|0,g3=+o[c3>>2],D=$e|10,u3=A+(D<<2)|0,Q3=+o[u3>>2],K5=g3-Q3,k=$e|27,H5=A+(k<<2)|0,Y5=+o[H5>>2],v=$e|11,b5=A+(v<<2)|0,U5=+o[b5>>2],l6=Y5-U5,n3=Q3+g3,o[c3>>2]=n3,l3=U5+Y5,o[H5>>2]=l3,U3=K5-l6,C6=U3*.7071067690849304,o[u3>>2]=C6,b3=l6+K5,L3=b3*.7071067690849304,o[b5>>2]=L3,_=$e|24,D3=A+(_<<2)|0,A6=+o[D3>>2],Q=$e|8,K3=A+(Q<<2)|0,j5=+o[K3>>2],M3=A6-j5,L=$e|25,h3=A+(L<<2)|0,J3=+o[h3>>2],R=$e|9,d6=A+(R<<2)|0,m3=+o[d6>>2],x6=J3-m3,L6=j5+A6,o[D3>>2]=L6,M6=m3+J3,o[h3>>2]=M6,n6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=n6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,k6=N6+j6,M=$e|22,R3=A+(M<<2)|0,s6=+o[R3>>2],F=$e|6,o6=A+(F<<2)|0,B6=+o[o6>>2],F3=s6-B6,G=$e|7,Z3=A+(G<<2)|0,t6=+o[Z3>>2],H=$e|23,R6=A+(H<<2)|0,c6=+o[R6>>2],s3=t6-c6,K6=B6+s6,o[R3>>2]=K6,A3=c6+t6,o[R6>>2]=A3,o[o6>>2]=s3,o[Z3>>2]=F3,K=$e|4,g6=A+(K<<2)|0,y6=+o[g6>>2],t0=$e|20,$6=A+(t0<<2)|0,D6=+o[$6>>2],G6=y6-D6,Z=$e|5,ee=A+(Z<<2)|0,Q6=+o[ee>>2],A0=$e|21,X6=A+(A0<<2)|0,P3=+o[X6>>2],re=Q6-P3,V6=D6+y6,o[$6>>2]=V6,se=P3+Q6,o[X6>>2]=se,U6=re*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,te=re*.3826834261417389,_6=G6*.9238795042037964,P6=te-_6,j=$e|2,O3=A+(j<<2)|0,O6=+o[O3>>2],r0=$e|18,oe=A+(r0<<2)|0,he=+o[oe>>2],Be=O6-he,o0=$e|3,ye=A+(o0<<2)|0,Qe=+o[ye>>2],J=$e|19,de=A+(J<<2)|0,fe=+o[de>>2],Ve=Qe-fe,w6=he+O6,o[oe>>2]=w6,q6=fe+Qe,o[de>>2]=q6,ae=Ve+Be,Ye=ae*.7071067690849304,Q9=Ve-Be,g9=Q9*.7071067690849304,p9=+o[w5>>2],s0=$e|16,ze=A+(s0<<2)|0,r9=+o[ze>>2],Fe=p9-r9,i0=$e|1,ve=A+(i0<<2)|0,J6=+o[ve>>2],e0=$e|17,Ae=A+(e0<<2)|0,w9=+o[Ae>>2],u9=J6-w9,_e=r9+p9,o[ze>>2]=_e,R9=w9+J6,o[Ae>>2]=R9,F9=u9*.3826834261417389,G9=Fe*.9238795042037964,q9=F9+G9,n4=u9*.9238795042037964,v9=Fe*.3826834261417389,H9=n4-v9,Ke=H9-k6,h9=q9-b6,U9=q9+b6,E9=H9+k6,v4=h9+Ke,Ze=Ke-h9,ke=+o[b5>>2],k4=g9-ke,V4=+o[u3>>2],nt=V4-Ye,Y9=V4+Ye,z9=ke+g9,s4=+o[d3>>2],R4=s4-F6,st=+o[Z5>>2],n9=st-P6,u4=s4+F6,C9=st+P6,T6=R4-n9,K9=n9+R4,Oe=+o[f5>>2],T9=Oe-s3,h4=+o[e5>>2],s9=h4-F3,d4=s3+Oe,f4=F3+h4,k9=T9+k4,o4=T9-k4,P9=T6+v4,I4=P9*.7071067690849304,Se=T6-v4,z4=Se*.7071067690849304,f9=I4+k9,o[o6>>2]=f9,S4=k9-I4,o[g6>>2]=S4,S9=K9-Ze,I9=S9*.7071067690849304,z6=s9-nt,F4=I9+o4,o[w5>>2]=F4,T4=o4-I9,o[O3>>2]=T4,ot=K9+Ze,m9=ot*.7071067690849304,mt=s9+nt,j3=z6+z4,o[ye>>2]=j3,xe=z6-z4,o[ve>>2]=xe,be=mt+m9,o[Z3>>2]=be,O9=mt-m9,o[ee>>2]=O9,a4=d4+Y9,d8=d4-Y9,N4=U9+u4,f8=u4-U9,_8=a4+N4,o[f5>>2]=_8,m8=a4-N4,o[d3>>2]=m8,Ut=C9-E9,Pt=f4-z9,Ot=d8+Ut,o[K3>>2]=Ot,qt=d8-Ut,o[u3>>2]=qt,t8=C9+E9,i8=f4+z9,x8=Pt+f8,o[b5>>2]=x8,Ht=Pt-f8,o[d6>>2]=Ht,Vt=i8+t8,o[e5>>2]=Vt,_t=i8-t8,o[Z5>>2]=_t,xt=+o[h3>>2],pt=R9-xt,zt=+o[D3>>2],Kt=_e-zt,r8=zt+_e,n8=xt+R9,Et=Kt+pt,K4=pt-Kt,G4=+o[de>>2],Lt=+o[H5>>2],Le=G4-Lt,p8=+o[c3>>2],b4=+o[oe>>2],E8=p8-b4,L8=b4+p8,s8=Lt+G4,M8=+o[C5>>2],A4=+o[$6>>2],o8=M8-A4,Mt=+o[a3>>2],At=+o[X6>>2],J9=Mt-At,U4=A4+M8,$t=At+Mt,Ct=o8-J9,Rt=J9+o8,m4=+o[r5>>2],o9=+o[R3>>2],lt=m4-o9,ct=+o[n5>>2],yt=+o[R6>>2],p4=ct-yt,D4=o9+m4,J4=yt+ct,W4=lt+Le,a9=lt-Le,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,b9=gt*.7071067690849304,Qt=E4+W4,o[R3>>2]=Qt,a8=W4-E4,o[$6>>2]=a8,W9=Rt-K4,C3=W9*.7071067690849304,Z4=p4-E8,wt=C3+a9,o[ze>>2]=wt,$4=a9-C3,o[oe>>2]=$4,je=Rt+K4,l4=je*.7071067690849304,j4=p4+E8,Wt=Z4+b9,o[de>>2]=Wt,C8=Z4-b9,o[Ae>>2]=C8,A8=j4+l4,o[R6>>2]=A8,$8=j4-l4,o[X6>>2]=$8,Zt=D4+L8,l8=D4-L8,jt=U4+r8,ut=U4-r8,ht=Zt+jt,o[r5>>2]=ht,Z9=Zt-jt,o[C5>>2]=Z9,c8=$t-n8,Tt=J4-s8,X4=l8+c8,o[D3>>2]=X4,De=l8-c8,o[c3>>2]=De,g8=$t+n8,et=J4+s8,V8=Tt+ut,o[H5>>2]=V8,Z8=Tt-ut,o[h3>>2]=Z8,R8=et+g8,o[n5>>2]=R8,F8=et-g8,o[a3>>2]=F8,c4=$e+32|0,Y8=(c4|0)<($|0),Y8;)$e=c4}function by(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0;for(Q1=C,D=t>>1,k=$+(D<<2)|0,H=s+(t<<2)|0,a1=H,$1=A,X0=$,B1=k;d0=e[$1>>2]|0,g=d0+D|0,n0=$+(g<<2)|0,x0=$1+4|0,M0=e[x0>>2]|0,d=M0+D|0,L0=$+(d<<2)|0,p=g+1|0,A1=$+(p<<2)|0,g1=+o[A1>>2],m=d+1|0,v=$+(m<<2)|0,_=+o[v>>2],Q=g1-_,L=+o[n0>>2],R=+o[L0>>2],M=R+L,F=+o[a1>>2],G=M*F,O=a1+4|0,q=+o[O>>2],K=q*Q,t0=K+G,Z=q*M,A0=F*Q,j=Z-A0,r0=B1+-16|0,o0=_+g1,J=o0*.5,s0=L-R,Y=s0*.5,i0=t0+J,o[X0>>2]=i0,e0=J-t0,h0=B1+-8|0,o[h0>>2]=e0,c0=j+Y,$0=X0+4|0,o[$0>>2]=c0,l0=j-Y,X=B1+-4|0,o[X>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+D|0,I0=$+(E<<2)|0,f0=$1+12|0,p0=e[f0>>2]|0,y=p0+D|0,C0=$+(y<<2)|0,B=E+1|0,S0=$+(B<<2)|0,y0=+o[S0>>2],b=y+1|0,D0=$+(b<<2)|0,E0=+o[D0>>2],Q0=y0-E0,w0=+o[I0>>2],B0=+o[C0>>2],Z0=B0+w0,R0=a1+8|0,v0=+o[R0>>2],G0=Z0*v0,U0=a1+12|0,O0=+o[U0>>2],H0=O0*Q0,k0=H0+G0,K0=O0*Z0,N0=v0*Q0,P0=K0-N0,W0=E0+y0,J0=W0*.5,V0=w0-B0,j0=V0*.5,q0=k0+J0,Y0=X0+8|0,o[Y0>>2]=q0,o1=J0-k0,o[r0>>2]=o1,z0=P0+j0,r1=X0+12|0,o[r1>>2]=z0,s1=P0-j0,d1=B1+-12|0,o[d1>>2]=s1,u1=a1+16|0,E1=$1+16|0,f1=X0+16|0,h1=f1>>>0>>0,h1;)a1=u1,$1=E1,X0=f1,B1=r0}function Mb(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0;return B=C,s=t+28|0,A=e[s>>2]|0,$=A+2868|0,g=l9(1,36)|0,d=t+4|0,p=e[d>>2]|0,m=g+4|0,e[m>>2]=p,o[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Rb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,!s&&E2(t)}function Fb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Tb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0;ae=C,w6=t,Ye=w6+48|0;do e[w6>>2]=0,w6=w6+4|0;while((w6|0)<(Ye|0));L=e[A>>2]|0,R=t+36|0,e[R>>2]=L,n2=+(L|0),i3=n2*8,f3=i3,g3=+rn(+f3),l3=g3*1.4426950408889634,h3=+z7(l3),N6=h3+-1,R6=~~N6,M=t+32|0,e[M>>2]=R6,r0=+(g|0),l0=r0*.25,D0=l0,O0=D0*.5,q0=+($|0),h1=O0/q0,v1=+rn(+h1),O1=v1*1.4426950216293335,e2=O1+-5.965784072875977,u2=R6+1|0,G2=1<>2]=c5,v5=+($|0),z5=v5+.25,C5=z5*r0,I3=C5,d3=I3*.5,W5=d3/q0,r3=+rn(+W5),a3=r3*1.4426950216293335,y3=a3+-5.965784072875977,G5=Y2*y3,Z5=G5+.5,x3=~~Z5,w3=1-c5|0,e6=w3+x3|0,V3=t+40|0,e[V3>>2]=e6,X5=$<<2,_3=Re(X5)|0,t3=t+16|0,e[t3>>2]=_3,a6=Re(X5)|0,G3=t+20|0,e[G3>>2]=a6,Y3=Re(X5)|0,c3=t+24|0,e[c3>>2]=Y3,u3=t+4|0,e[u3>>2]=s,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,K5=t+48|0,o[K5>>2]=1,H5=(g|0)<26e3;do if(H5)o[K5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){o[K5>>2]=.9399999976158142;break}b5=(g|0)>46e3,b5&&(o[K5>>2]=1.274999976158142)}while(!1);z3=q0*2,U5=+(g|0),l6=($|0)>0,b3=l6,te=0,ne=0;e:for(;;){for(y=b3^1,_6=te;;){if(D3=_6+1|0,A6=+(D3|0),r6=A6*.08664337545633316,K3=r6+2.7488713472395148,j5=+Yn(+K3),M3=z3*j5,J3=M3/U5,d6=+z7(J3),m3=~~d6,E=(m3|0)<=(ne|0),ee=E|y,!ee){p=D3,m=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{he=ne;break e}}for(L6=1272+(P6<<2)|0,M6=+o[L6>>2],S6=1272+(p<<2)|0,n6=+o[S6>>2],f6=n6-M6,b6=m-ne|0,j6=+(b6|0),k6=f6/j6,R3=ne-m|0,s6=ne-$|0,o6=R3>>>0>s6>>>0,Ve=o6?R3:s6,n3=ne-Ve|0,G6=M6,Be=ne;B6=G6+100,W3=_3+(Be<<2)|0,o[W3>>2]=B6,F3=G6+k6,Z3=Be+1|0,V6=(Z3|0)==(n3|0),!V6;)G6=F3,Be=Z3;if(U3=(n3|0)<($|0),C6=(p|0)<87,C6)b3=U3,te=p,ne=n3;else{he=n3;break}}if(L3=(he|0)<($|0),L3)for(ye=he;H6=ye+-1|0,$6=_3+(H6<<2)|0,D6=e[$6>>2]|0,F=_3+(ye<<2)|0,e[F>>2]=D6,G=ye+1|0,re=(G|0)==($|0),!re;)ye=G;if(t6=($|0)>0,t6){for(c6=$<<1,s3=(g|0)/(c6|0)&-1,K6=s+120|0,A3=e[K6>>2]|0,g6=s+124|0,y6=s+116|0,T3=s+112|0,U6=1,O3=0,Qe=-99;;){Z=s5(s3,O3)|0,A0=+(Z|0),j=A0*.0007399999885819852,o0=j,J=+to(+o0),s0=J*13.100000381469727,Y=s5(Z,Z)|0,d0=+(Y|0),i0=d0*18499999754340024e-24,e0=i0,h0=+to(+e0),c0=h0*2.240000009536743,$0=c0+s0,X=A0*9999999747378752e-20,m0=X,g0=$0+m0,I0=g0,n0=A3+Qe|0,f0=(n0|0)<(O3|0);e:do if(f0)for(p0=+o[T3>>2],C0=I0-p0,S0=C0,fe=Qe;;){if(y0=s5(fe,s3)|0,E0=+(y0|0),Q0=E0*.0007399999885819852,w0=Q0,B0=+to(+w0),x0=B0*13.100000381469727,Z0=s5(y0,y0)|0,R0=+(Z0|0),v0=R0*18499999754340024e-24,G0=v0,U0=+to(+G0),H0=U0*2.240000009536743,k0=E0*9999999747378752e-20,K0=k0,N0=x0+K0,M0=N0+H0,P0=M0($|0);e:do if(W0)Y6=U6;else for(J0=e[g6>>2]|0,V0=J0+O3|0,F6=U6;;){if(z0=(F6|0)<(V0|0),!z0&&(r1=s5(F6,s3)|0,L0=+(r1|0),s1=L0*.0007399999885819852,d1=s1,u1=+to(+d1),E1=u1*13.100000381469727,f1=s5(r1,r1)|0,A1=+(f1|0),g1=A1*18499999754340024e-24,a1=g1,$1=+to(+a1),X0=$1*2.240000009536743,B1=L0*9999999747378752e-20,p1=B1,Q1=E1+p1,C1=Q1+X0,y1=+o[y6>>2],k1=y1+I0,S1=k1,L1=C1>2]=F1,D1=O3+1|0,P3=(D1|0)==($|0),P3)break;U6=Y6,O3=D1,Qe=de}if(t6)for(O=U5*.5,q=e[M>>2]|0,H=q+1|0,K=1<>2]=q1,Z1=O6+1|0,X6=(Z1|0)==($|0),X6){k=O;break}else O6=Z1;else q6=19}else q6=19;if((q6|0)==19&&(Q=U5*.5,k=Q),I2=s+36|0,A2=k/q0,C2=A2,$2=s+24|0,W1=+o[$2>>2],f2=s+28|0,g2=+o[f2>>2],s2=Ub(I2,C2,$,W1,g2)|0,l2=t+8|0,e[l2>>2]=s2,i2=Re(12)|0,a2=t+12|0,e[a2>>2]=i2,m2=Re(X5)|0,e[i2>>2]=m2,r2=Re(X5)|0,k2=i2+4|0,e[k2>>2]=r2,D2=Re(X5)|0,S2=i2+8|0,e[S2>>2]=D2,!!t6)for(y2=e[u3>>2]|0,D=e[i2>>2]|0,B=i2+4|0,v=e[B>>2]|0,b=i2+8|0,_=e[b>>2]|0,oe=0;M2=+(oe|0),O2=M2+.5,p2=O2*U5,W2=p2/z3,q2=+rn(+W2),K2=q2*2.885390043258667,U2=K2+-11.931568145751953,V2=U2,Z2=V2<0,se=Z2?0:V2,d=se>=16,ge=d?16:se,A5=~~ge,N1=+(A5|0),t5=ge-N1,T5=t5,i5=1-T5,L5=A5+1|0,j2=(y2+132|0)+(A5<<2)|0,m5=+o[j2>>2],D5=m5,V5=D5*i5,u5=(y2+132|0)+(L5<<2)|0,B5=+o[u5>>2],o5=B5*t5,F2=o5,R2=F2+V5,Q2=R2,y5=D+(oe<<2)|0,o[y5>>2]=Q2,N5=(y2+200|0)+(A5<<2)|0,p5=+o[N5>>2],M5=p5,q5=M5*i5,z2=(y2+200|0)+(L5<<2)|0,E5=+o[z2>>2],$5=E5*t5,h5=$5,Q5=h5+q5,T1=Q5,_5=v+(oe<<2)|0,o[_5>>2]=T1,d5=(y2+268|0)+(A5<<2)|0,l5=+o[d5>>2],X2=l5,w5=X2*i5,r5=(y2+268|0)+(L5<<2)|0,a5=+o[r5>>2],f5=a5*t5,J2=f5,I5=J2+w5,n5=I5,F5=_+(oe<<2)|0,o[F5>>2]=n5,e5=oe+1|0,Q6=(e5|0)==($|0),!Q6;)oe=e5}function Dy(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;if(q0=C,A=(t|0)==0,!A){if($=t+16|0,v=e[$>>2]|0,K=(v|0)==0,K||E2(v),i0=t+20|0,f0=e[i0>>2]|0,Z0=(f0|0)==0,Z0||E2(f0),N0=t+24|0,M0=e[N0>>2]|0,P0=(M0|0)==0,P0||E2(M0),g=t+8|0,d=e[g>>2]|0,p=(d|0)==0,!p){for(E=d,J0=0;m=E+(J0<<2)|0,y=e[m>>2]|0,B=e[y>>2]|0,E2(B),b=e[g>>2]|0,D=b+(J0<<2)|0,k=e[D>>2]|0,_=k+4|0,Q=e[_>>2]|0,E2(Q),L=e[g>>2]|0,R=L+(J0<<2)|0,M=e[R>>2]|0,F=M+8|0,G=e[F>>2]|0,E2(G),O=e[g>>2]|0,q=O+(J0<<2)|0,H=e[q>>2]|0,t0=H+12|0,Z=e[t0>>2]|0,E2(Z),A0=e[g>>2]|0,j=A0+(J0<<2)|0,r0=e[j>>2]|0,o0=r0+16|0,J=e[o0>>2]|0,E2(J),s0=e[g>>2]|0,Y=s0+(J0<<2)|0,d0=e[Y>>2]|0,e0=d0+20|0,h0=e[e0>>2]|0,E2(h0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,X=l0+24|0,m0=e[X>>2]|0,E2(m0),g0=e[g>>2]|0,I0=g0+(J0<<2)|0,n0=e[I0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),S0=e[g>>2]|0,y0=S0+(J0<<2)|0,D0=e[y0>>2]|0,E2(D0),E0=J0+1|0,W0=(E0|0)==17,!W0;)s=e[g>>2]|0,E=s,J0=E0;Q0=e[g>>2]|0,E2(Q0)}w0=t+12|0,B0=e[w0>>2]|0,x0=(B0|0)==0,x0||(R0=e[B0>>2]|0,E2(R0),v0=e[w0>>2]|0,G0=v0+4|0,U0=e[G0>>2]|0,E2(U0),O0=e[w0>>2]|0,H0=O0+8|0,k0=e[H0>>2]|0,E2(k0),K0=e[w0>>2]|0,E2(K0)),V0=t,Y0=V0+52|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0))}}function _y(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0;if(y0=C,p=e[t>>2]|0,m=p<<2,d=m,R=C,C=C+((1*d|0)+15&-16)|0,j=t+24|0,h0=e[j>>2]|0,Ly(p,h0,s,A,140,-1),c0=(p|0)>0,c0)for(f0=0;$0=s+(f0<<2)|0,l0=+o[$0>>2],X=A+(f0<<2)|0,m0=+o[X>>2],E=l0-m0,y=R+(f0<<2)|0,o[y>>2]=E,B=f0+1|0,I0=(B|0)==(p|0),!I0;)f0=B;if(b=e[j>>2]|0,D=t+4|0,k=e[D>>2]|0,v=k+128|0,_=e[v>>2]|0,Ly(p,b,R,A,0,_),c0)p0=0;else{C=y0;return}for(;L=s+(p0<<2)|0,M=+o[L>>2],F=R+(p0<<2)|0,G=+o[F>>2],O=M-G,o[F>>2]=O,q=p0+1|0,n0=(q|0)==(p|0),!n0;)p0=q;if(!c0){C=y0;return}for(Q=e[D>>2]|0,C0=0;H=A+(C0<<2)|0,K=+o[H>>2],t0=K,Z=t0+.5,A0=~~Z,r0=(A0|0)>39,$=r0?39:A0,o0=($|0)<0,g=o0?0:$,J=R+(C0<<2)|0,s0=+o[J>>2],Y=(Q+336|0)+(g<<2)|0,d0=+o[Y>>2],i0=d0+s0,o[H>>2]=i0,e0=C0+1|0,g0=(e0|0)==(p|0),!g0;)C0=e0;C=y0}function xy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=+$,g=+g;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0;if(C5=C,G=e[t>>2]|0,O=t+40|0,h1=e[O>>2]|0,v1=h1<<2,m=v1,O1=C,C=C+((1*m|0)+15&-16)|0,e2=t+4|0,n2=e[e2>>2]|0,y2=n2+4|0,A5=+o[y2>>2],u5=A5+g,q=(h1|0)>0,q)for($5=0;Y=O1+($5<<2)|0,o[Y>>2]=-9999,I0=$5+1|0,B0=(I0|0)<(h1|0),B0;)$5=I0;if(N0=n2+8|0,r1=+o[N0>>2],d1=u50,u1){for(E1=t+16|0,f1=e[E1>>2]|0,d5=0;A1=f1+(d5<<2)|0,g1=+o[A1>>2],a1=g1+q5,$1=A+(d5<<2)|0,o[$1>>2]=a1,X0=d5+1|0,z2=(X0|0)==(G|0),!z2;)d5=X0;if(B1=t+8|0,p1=e[B1>>2]|0,Q1=n2+496|0,C1=+o[Q1>>2],y1=C1-$,u1)for(k1=t+20|0,S1=e[k1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,h5=0;;){_1=s+(h5<<2)|0,R1=+o[_1>>2],F1=S1+(h5<<2)|0,P1=e[F1>>2]|0,_5=h5,a5=R1;e:for(;;)for(Q5=_5;;){if(D1=Q5+1|0,X1=(D1|0)<(G|0),!X1){b=0,k=D1,T1=Q5,f5=a5;break e}if(G1=S1+(D1<<2)|0,x1=e[G1>>2]|0,J1=(x1|0)==(P1|0),!J1){b=1,k=D1,T1=Q5,f5=a5;break e}if(H1=s+(D1<<2)|0,V1=+o[H1>>2],Y1=V1>a5,Y1){_5=D1,a5=V1;continue e}else Q5=D1}if(z1=f5+6,t2=A+(T1<<2)|0,o2=+o[t2>>2],q1=z1>o2,q1&&(h2=e[L1>>2]|0,Z1=P1>>h2,I2=(Z1|0)>16,p=I2?16:Z1,A2=(p|0)<0,d=A2?0:p,C2=p1+(d<<2)|0,$2=e[C2>>2]|0,W1=e[M1>>2]|0,f2=y1+f5,g2=f2,u2=g2+-30,s2=u2*.10000000149011612,l2=~~s2,i2=(l2|0)<0,a2=i2?0:l2,m2=(a2|0)>7,r2=m2?7:a2,k2=$2+(r2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+o[S2>>2],M2=~~G2,O2=+o[D2>>2],p2=~~O2,W2=(p2|0)<(M2|0),W2))for(q2=S1+(T1<<2)|0,K2=e[q2>>2]|0,U2=e[b1>>2]|0,V2=K2-U2|0,Z2=+(V2|0),Y2=W1>>1,N1=+(Y2|0),t5=O2+-16,T5=+(W1|0),i5=t5*T5,L5=i5-N1,j2=L5+Z2,m5=~~j2,E5=p2,z5=m5;D5=(z5|0)>0,D5&&(F=E5+2|0,V5=D2+(F<<2)|0,b2=+o[V5>>2],B5=b2+f5,o5=O1+(z5<<2)|0,F2=+o[o5>>2],R2=F2>2]=B5)),Q2=z5+W1|0,y5=(Q2|0)<(h1|0),N5=E5+1|0,p5=(N5|0)<(M2|0),c5=p5&y5,c5;)E5=N5,z5=Q2;if(b)h5=k;else{R=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(Q=t+36|0,R=Q),M5=e[R>>2]|0,Pb(O1,M5,h1),H=e[t>>2]|0,K=(H|0)>1;e:do if(K)for(t0=t+20|0,Z=t+28|0,A0=e[t0>>2]|0,j=e[A0>>2]|0,r0=M5>>1,o0=j-r0|0,J=e[Z>>2]|0,s0=o0-J|0,d0=e[e2>>2]|0,i0=d0+32|0,X=1,n0=j,X2=0,T2=s0;;){c0=O1+(T2<<2)|0,$0=+o[c0>>2],l0=A0+(X<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,f0=g0>>1,p0=f0-J|0,C0=+o[i0>>2],S0=$0>C0,J2=S0?C0:$0,y0=(T2|0)<(p0|0);t:do if(y0)for(E=T2,n5=J2;;){for(D0=n5==-9999,y=E;;){if(E0=y+1|0,Q0=O1+(E0<<2)|0,w0=+o[Q0>>2],x0=w0>-9999,x0){if(Z0=w0=(H|0),O0=(n0|0)>(G0|0),F5=U0|O0;t:do if(F5)d2=X2;else for(w5=X2;;){if(H0=A+(w5<<2)|0,k0=+o[H0>>2],K0=k0>2]=I5),M0=w5+1|0,P0=(M0|0)<(H|0),!P0){d2=M0;break t}if(_=A0+(M0<<2)|0,M=e[_>>2]|0,W0=(M|0)>(G0|0),W0){d2=M0;break}else w5=M0}while(!1);if(e0=d2+1|0,h0=(e0|0)<(H|0),!h0){l5=d2;break e}v=A0+(d2<<2)|0,L=e[v>>2]|0,X=e0,n0=L,X2=d2,T2=v5}else l5=0;while(!1);if(J0=e[O>>2]|0,V0=J0+-1|0,j0=O1+(V0<<2)|0,q0=+o[j0>>2],Y0=(l5|0)<(H|0),Y0)r5=l5;else{C=C5;return}for(;o1=A+(r5<<2)|0,z0=+o[o1>>2],L0=z0>2]=q0),s1=r5+1|0,R5=(s1|0)==(H|0),!R5;)r5=s1;C=C5}function ol(t,s,A,$,g,d,p){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0;var m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0;if(R0=C,E=e[t>>2]|0,y=t+4|0,F=e[y>>2]|0,o0=(F+12|0)+($<<2)|0,X=+o[o0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,y0=+o[S0>>2],D0=t+12|0,E0=e[D0>>2]|0,B=E0+($<<2)|0,b=e[B>>2]|0,D=F+108|0,k=($|0)==1,v=y0,_=v*.005,Q=v*3e-4,B0=0;L=s+(B0<<2)|0,R=+o[L>>2],M=b+(B0<<2)|0,G=+o[M>>2],O=G+R,q=+o[D>>2],H=O>q,x0=H?q:O,K=A+(B0<<2)|0,t0=+o[K>>2],Z=t0+X,A0=x0>2]=m,k&&(r0=p+(B0<<2)|0,J=+o[r0>>2],s0=x0-J,Y=s0>-17.200000762939453,d0=s0+17.200000762939453,i0=d0,Y?(e0=_*i0,h0=1-e0,c0=h0,$0=c0<0,$0?Q0=9999999747378752e-20:Q0=c0):(l0=Q*i0,m0=1-l0,g0=m0,Q0=g0),I0=d+(B0<<2)|0,n0=+o[I0>>2],f0=n0*Q0,o[I0>>2]=f0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Nb(t,s){t=+t,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0;return q=C,$=s+4|0,g=e[$>>2]|0,v=g+28|0,_=e[v>>2]|0,Q=s+40|0,L=e[Q>>2]|0,R=_+(L<<2)|0,M=e[R>>2]|0,F=(M|0)/2&-1,G=+(F|0),d=g+8|0,p=e[d>>2]|0,m=+(p|0),E=G/m,y=_+2936|0,B=+o[y>>2],b=B*E,D=b+t,k=D<-9999,A=k?-9999:D,+A}function Gb(t,s,A,$,g,d,p,m,E){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,m=m|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0;if(V9=C,c0=e[A>>2]|0,$0=A+4|0,A5=e[$0>>2]|0,e6=A5+500|0,Q3=e[e6>>2]|0,C6=(Q3|0)==0,C6?Z5=16:(d6=A5+508|0,k6=e[d6>>2]|0,Z5=k6),s3=e[A5>>2]|0,Q6=((s+132|0)+(s3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,D0=(s+252|0)+(t<<2)|0,O0=e[D0>>2]|0,q0=1624+(O0<<3)|0,h1=+c1[q0>>3],v1=(s+312|0)+(t<<2)|0,O1=e[v1>>2]|0,e2=E<<2,b=e2,n2=C,C=C+((1*b|0)+15&-16)|0,D=e2,y2=C,C=C+((1*D|0)+15&-16)|0,Q=e2,Y2=C,C=C+((1*Q|0)+15&-16)|0,L=e2,b2=C,C=C+((1*L|0)+15&-16)|0,R=e2,R5=C,C=C+((1*R|0)+15&-16)|0,d2=$+1156|0,T2=(c0|0)>1e3,H9=T2?1696:1624,q9=H9+(O1<<3)|0,G9=+c1[q9>>3],G5=s5(e2,Z5)|0,M=G5,x3=C,C=C+((1*M|0)+15&-16)|0,e[n2>>2]=x3,k=G5,f3=C,C=C+((1*k|0)+15&-16)|0,e[y2>>2]=f3,v=G5,w3=C,C=C+((1*v|0)+15&-16)|0,e[Y2>>2]=w3,_=G5,V3=C,C=C+((1*_|0)+15&-16)|0,e[b2>>2]=V3,X5=(E|0)>1,X5&&(_3=x3+(Z5<<2)|0,t3=n2+4|0,e[t3>>2]=_3,a6=f3+(Z5<<2)|0,G3=y2+4|0,e[G3>>2]=a6,Y3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=Y3,g3=V3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,Be=(E|0)==2,!Be))for(b5=2;G=e[n2>>2]|0,H=e[y2>>2]|0,K=e[Y2>>2]|0,t0=e[b2>>2]|0,Y5=s5(b5,Z5)|0,z3=G+(Y5<<2)|0,U5=n2+(b5<<2)|0,e[U5>>2]=z3,l6=H+(Y5<<2)|0,n3=y2+(b5<<2)|0,e[n3>>2]=l6,l3=K+(Y5<<2)|0,U3=Y2+(b5<<2)|0,e[U3>>2]=l3,b3=t0+(Y5<<2)|0,L3=b2+(b5<<2)|0,e[L3>>2]=b3,D3=b5+1|0,ne=(D3|0)==(E|0),!ne;)b5=D3;if(K5=e[d2>>2]|0,H5=(c0|0)>0,H5)for(A6=e[b2>>2]|0,r6=(E|0)>0,K3=c0^-1,j5=Z5^-1,q6=0,we=K3;;){if(J3=(we|0)>(j5|0),n4=J3?we:j5,m3=n4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),y=L6?x6:Z5,c9(R5|0,p|0,e2|0)|0,g4(A6|0,0,G5|0)|0,r6)for(M6=(y|0)>0,S6=l0-q6|0,Ae=0;;){if(R3=d+(Ae<<2)|0,s6=e[R3>>2]|0,o6=s6+(q6<<2)|0,B6=R5+(Ae<<2)|0,W3=e[B6>>2]|0,F3=(W3|0)==0,F3){if(M6)for(R6=Y2+(Ae<<2)|0,c6=e[R6>>2]|0,K6=n2+(Ae<<2)|0,A3=e[K6>>2]|0,g6=y2+(Ae<<2)|0,y6=e[g6>>2]|0,T3=b2+(Ae<<2)|0,H6=e[T3>>2]|0,ve=0;P0=c6+(ve<<2)|0,o[P0>>2]=1000000013351432e-25,W0=A3+(ve<<2)|0,o[W0>>2]=0,J0=y6+(ve<<2)|0,o[J0>>2]=0,V0=H6+(ve<<2)|0,e[V0>>2]=0,Y=ve+q6|0,j0=s6+(Y<<2)|0,e[j0>>2]=0,Y0=ve+1|0,O6=(Y0|0)==(m3|0),!O6;)ve=Y0}else{if(Z3=Y2+(Ae<<2)|0,t6=e[Z3>>2]|0,M6){for(r9=0;d0=r9+q6|0,$6=s6+(d0<<2)|0,D6=e[$6>>2]|0,G6=1768+(D6<<2)|0,ee=e[G6>>2]|0,X6=t6+(r9<<2)|0,e[X6>>2]=ee,P3=r9+1|0,_6=(P3|0)==(m3|0),!_6;)r9=P3;if(re=g+(Ae<<2)|0,V6=e[re>>2]|0,se=b2+(Ae<<2)|0,ge=e[se>>2]|0,M6){for(ze=0;U6=(ze|0)>=(S6|0),h0=U6?G9:h1,Y6=h0,i0=ze+q6|0,F6=V6+(i0<<2)|0,te=+o[F6>>2],Qe=+rr(+te),X=t6+(ze<<2)|0,m0=+o[X>>2],g0=Qe/m0,I0=ge+(ze<<2)|0,_e=!(g0>2]=B,n0=ze+1|0,P6=(n0|0)==(y|0),!P6;)ze=n0;if(M6)for(f0=n2+(Ae<<2)|0,p0=e[f0>>2]|0,C0=y2+(Ae<<2)|0,S0=e[C0>>2]|0,Fe=0;;)if(y0=Fe+q6|0,E0=V6+(y0<<2)|0,Q0=+o[E0>>2],w0=Q0*Q0,B0=p0+(Fe<<2)|0,o[B0>>2]=w0,x0=S0+(Fe<<2)|0,o[x0>>2]=w0,Z0=+o[E0>>2],R0=Z0<0,R0&&(v0=+o[B0>>2],G0=-v0,o[B0>>2]=G0),U0=t6+(Fe<<2)|0,H0=+o[U0>>2],k0=H0*H0,o[U0>>2]=k0,K0=Fe+1|0,O3=(K0|0)==(m3|0),O3){O=C0,M0=p0;break}else Fe=K0;else Ke=21}else Ke=21}else Ke=21;(Ke|0)==21&&(Ke=0,F=n2+(Ae<<2)|0,Z=e[F>>2]|0,J=y2+(Ae<<2)|0,O=J,M0=Z),N0=e[O>>2]|0,R9=e[$0>>2]|0,+My(R9,l0,M0,N0,t6,0,q6,y,o6)}if(o1=Ae+1|0,oe=(o1|0)==(E|0),oe)break;Ae=o1}if(n6=e[d2>>2]|0,f6=(n6|0)>0,f6)for(b6=(y|0)>0,N6=m-q6|0,j6=l0-q6|0,y3=n6,v9=0;;){if(z0=($+1160|0)+(v9<<2)|0,r1=e[z0>>2]|0,L0=($+2184|0)+(v9<<2)|0,s1=e[L0>>2]|0,d1=d+(r1<<2)|0,u1=e[d1>>2]|0,E1=u1+(q6<<2)|0,f1=d+(s1<<2)|0,A1=e[f1>>2]|0,g1=n2+(r1<<2)|0,a1=e[g1>>2]|0,$1=n2+(s1<<2)|0,X0=e[$1>>2]|0,B1=y2+(r1<<2)|0,p1=e[B1>>2]|0,Q1=y2+(s1<<2)|0,C1=e[Q1>>2]|0,y1=Y2+(r1<<2)|0,k1=e[y1>>2]|0,S1=Y2+(s1<<2)|0,L1=e[S1>>2]|0,M1=b2+(r1<<2)|0,b1=e[M1>>2]|0,_1=b2+(s1<<2)|0,R1=e[_1>>2]|0,F1=R5+(r1<<2)|0,P1=e[F1>>2]|0,D1=(P1|0)==0,X1=R5+(s1<<2)|0,D1?(G1=e[X1>>2]|0,x1=(G1|0)==0,x1?X2=y3:Ke=31):Ke=31,(Ke|0)==31){if(Ke=0,e[X1>>2]=1,e[F1>>2]=1,b6)for(J6=0;;){J1=(J6|0)<(N6|0);do if(J1){if(H1=b1+(J6<<2)|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,z1=R1+(J6<<2)|0,Y1&&(t2=e[z1>>2]|0,o2=(t2|0)==0,o2)){i5=(J6|0)<(j6|0);do if(i5)L5=X0+(J6<<2)|0,j2=+o[L5>>2],m5=a1+(J6<<2)|0,D5=+o[m5>>2],V5=D5+j2,o[m5>>2]=V5,fe=+rr(+V5),u5=p1+(J6<<2)|0,o[u5>>2]=fe,q=L5;else if(B5=a1+(J6<<2)|0,o5=+o[B5>>2],F2=X0+(J6<<2)|0,R2=+o[F2>>2],Q2=R2+o5,y5=Q2<0,ye=+rr(+o5),de=+rr(+R2),N5=de+ye,p5=p1+(J6<<2)|0,o[p5>>2]=N5,y5){M5=-N5,o[B5>>2]=M5,q=F2;break}else{o[B5>>2]=N5,q=F2;break}while(!1);q5=C1+(J6<<2)|0,o[q5>>2]=0,o[q>>2]=0,e[z1>>2]=1,s0=J6+q6|0,z2=A1+(s0<<2)|0,e[z2>>2]=0;break}q1=a1+(J6<<2)|0,h2=+o[q1>>2],Ve=+rr(+h2),Z1=X0+(J6<<2)|0,I2=+o[Z1>>2],w6=+rr(+I2),A2=w6+Ve,o[q1>>2]=A2,C2=p1+(J6<<2)|0,$2=+o[C2>>2],W1=C1+(J6<<2)|0,f2=+o[W1>>2],g2=f2+$2,o[C2>>2]=g2,e[z1>>2]=1,e[H1>>2]=1,e0=J6+q6|0,u2=u1+(e0<<2)|0,s2=e[u2>>2]|0,l2=A1+(e0<<2)|0,i2=e[l2>>2]|0,Q9=(s2|0)>-1,w9=0-s2|0,a2=Q9?s2:w9,g9=(i2|0)>-1,u9=0-i2|0,m2=g9?i2:u9,r2=(a2|0)>(m2|0),r2?(k2=(s2|0)>0,D2=s2-i2|0,S2=i2-s2|0,G2=k2?D2:S2,e[l2>>2]=G2,j=e[u2>>2]|0,q2=j,V2=G2):(M2=(i2|0)>0,O2=s2-i2|0,p2=i2-s2|0,W2=M2?O2:p2,e[l2>>2]=W2,e[u2>>2]=i2,A0=e[l2>>2]|0,q2=i2,V2=A0),p9=(q2|0)>-1,M9=0-q2|0,K2=p9?q2:M9,U2=K2<<1,Z2=(V2|0)<(U2|0),Z2||(N1=0-V2|0,e[l2>>2]=N1,t5=e[u2>>2]|0,T5=0-t5|0,e[u2>>2]=T5)}while(!1);if(E5=k1+(J6<<2)|0,$5=+o[E5>>2],h5=L1+(J6<<2)|0,Q5=+o[h5>>2],T1=Q5+$5,o[h5>>2]=T1,o[E5>>2]=T1,_5=J6+1|0,he=(_5|0)==(m3|0),he)break;J6=_5}F9=e[$0>>2]|0,+My(F9,l0,a1,p1,k1,b1,q6,y,E1),r0=e[d2>>2]|0,X2=r0}if(d5=v9+1|0,l5=(d5|0)<(X2|0),l5)y3=X2,v9=d5;else{a3=X2;break}}else a3=n6;if(w5=q6+Z5|0,r5=(c0|0)>(w5|0),Ye=we+Z5|0,r5)q6=w5,we=Ye;else{M3=a3;break}}else M3=K5;if(h3=(M3|0)>0,h3)r3=M3,ae=0;else{C=V9;return}for(;a5=($+1160|0)+(ae<<2)|0,f5=e[a5>>2]|0,J2=p+(f5<<2)|0,I5=e[J2>>2]|0,n5=(I5|0)==0,F5=($+2184|0)+(ae<<2)|0,n5?(e5=e[F5>>2]|0,c5=p+(e5<<2)|0,v5=e[c5>>2]|0,z5=(v5|0)==0,z5?W5=r3:Ke=52):Ke=52,(Ke|0)==52&&(Ke=0,e[J2>>2]=1,i3=e[F5>>2]|0,C5=p+(i3<<2)|0,e[C5>>2]=1,o0=e[d2>>2]|0,W5=o0),I3=ae+1|0,d3=(I3|0)<(W5|0),d3;)r3=W5,ae=I3;C=V9}function Ub(t,s,A,$,g){t=t|0,s=+s,A=A|0,$=+$,g=+g;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0;for(et=C,C=C+32480|0,j3=et+32256|0,De=et+1792|0,xe=et,M=A<<2,D=M,F=C,C=C+((1*D|0)+15&-16)|0,s2=Re(68)|0,g4(De|0,0,30464)|0,M3=$>0,g9=$<0,Le=0;;){for(h4=Le<<2,A4=0;o5=A4+h4|0,E5=(o5|0)<88,E5?(r5=1272+(o5<<2)|0,z5=+o[r5>>2],je=z5):je=-30,x3=o5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+o[U6>>2],te=je>Y6,te?l4=Y6:l4=je):(ge=je>-30,ge?l4=-30:l4=je),_6=o5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,oe=+o[O6>>2],he=l4>oe,he?Te=oe:Te=l4):(O3=l4>-30,O3?Te=-30:Te=l4),ne=o5+3|0,Be=(ne|0)<88,Be?(de=1272+(ne<<2)|0,fe=+o[de>>2],Ve=Te>fe,Ve?j4=fe:j4=Te):(ye=Te>-30,ye?j4=-30:j4=Te),w6=j3+(A4<<2)|0,o[w6>>2]=j4,q6=A4+1|0,Ot=(q6|0)==56,!Ot;)A4=q6;if(f9=(De+(Le*1792|0)|0)+448|0,G=2792+(Le*1344|0)|0,c9(f9|0,G|0,224)|0,J=(De+(Le*1792|0)|0)+672|0,m0=(2792+(Le*1344|0)|0)+224|0,c9(J|0,m0|0,224)|0,Q0=(De+(Le*1792|0)|0)+896|0,k0=(2792+(Le*1344|0)|0)+448|0,c9(Q0|0,k0|0,224)|0,o1=(De+(Le*1792|0)|0)+1120|0,g1=(2792+(Le*1344|0)|0)+672|0,c9(o1|0,g1|0,224)|0,S1=(De+(Le*1792|0)|0)+1344|0,G1=(2792+(Le*1344|0)|0)+896|0,c9(S1|0,G1|0,224)|0,h2=(De+(Le*1792|0)|0)+1568|0,l2=(2792+(Le*1344|0)|0)+1120|0,c9(h2|0,l2|0,224)|0,O2=De+(Le*1792|0)|0,c9(O2|0,G|0,224)|0,t5=(De+(Le*1792|0)|0)+224|0,c9(t5|0,G|0,224)|0,M3)for(At=0;;){if(g9)for(Bt=0;p9=16-Bt|0,L8=(p9|0)>-1,$8=0-p9|0,ze=L8?p9:$8,r9=+(ze|0),Fe=r9*g,ve=Fe+$,J6=ve<0,m=J6?0:ve,Ae=m>0,d=Ae?0:m,w9=((De+(Le*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,M9=+o[w9>>2],u9=M9+d,o[w9>>2]=u9,R9=Bt+1|0,Yt=(R9|0)==56,!Yt;)Bt=R9;else for(ct=0;h3=16-ct|0,s8=(h3|0)>-1,Zt=0-h3|0,N6=s8?h3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,Qe=F6<0,E=Qe?0:F6,ae=((De+(Le*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Ye=+o[ae>>2],we=Ye+E,o[ae>>2]=we,Q9=ct+1|0,Vt=(Q9|0)==56,!Vt;)ct=Q9;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(g9)for(yt=0;n4=16-yt|0,M8=(n4|0)>-1,l8=0-n4|0,v9=M8?n4:l8,H9=+(v9|0),Ke=H9*g,V9=Ke+$,h9=V9>0,p=h9?0:V9,E9=((De+(Le*1792|0)|0)+(Mt*224|0)|0)+(yt<<2)|0,v4=+o[E9>>2],Ze=v4+p,o[E9>>2]=Ze,ke=yt+1|0,t8=(ke|0)==56,!t8;)yt=ke;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,V4=E8?k4:A8,nt=+(V4|0),Y9=nt*g,Y4=Y9+$,z9=((De+(Le*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+o[z9>>2],st=R4+Y4,o[z9>>2]=st,n9=lt+1|0,qt=(n9|0)==56,!qt;)lt=n9;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(F9=t+(Le<<2)|0,G9=+o[F9>>2],q9=G9,J9=0;;){for(C9=(J9|0)<2,T6=+(J9|0),k=T6*10,v=70-k,K9=C9?50:v,Oe=K9+q9,d9=Oe,Et=0;T9=((De+(Le*1792|0)|0)+(J9*224|0)|0)+(Et<<2)|0,s9=+o[T9>>2],d4=s9+d9,o[T9>>2]=d4,f4=Et+1|0,O9=(f4|0)==56,!O9;)Et=f4;for(k9=xe+(J9*224|0)|0,c9(k9|0,j3|0,224)|0,o4=+(J9|0),P9=o4*10,I4=70-P9,Lt=0;;)if(Se=(xe+(J9*224|0)|0)+(Lt<<2)|0,I6=+o[Se>>2],z4=I4+I6,o[Se>>2]=z4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;S9=((De+(Le*1792|0)|0)+(J9*224|0)|0)+(at<<2)|0,I9=+o[S9>>2],z6=(xe+(J9*224|0)|0)+(at<<2)|0,F4=+o[z6>>2],T4=I9>F4,T4&&(o[z6>>2]=I9),ot=at+1|0,N4=(ot|0)==56,!N4;)at=ot;if(m9=J9+1|0,x8=(m9|0)==8,x8){U4=1;break}else J9=m9}for(;;){for(x9=U4+-1|0,G4=0;;)if(mt=(xe+(x9*224|0)|0)+(G4<<2)|0,O=+o[mt>>2],q=(xe+(U4*224|0)|0)+(G4<<2)|0,H=+o[q>>2],K=O>2]=O),t0=G4+1|0,d8=(t0|0)==56,d8){K4=0;break}else G4=t0;for(;Z=(xe+(U4*224|0)|0)+(K4<<2)|0,A0=+o[Z>>2],j=((De+(Le*1792|0)|0)+(U4*224|0)|0)+(K4<<2)|0,r0=+o[j>>2],o0=A0>2]=A0),s0=K4+1|0,a4=(s0|0)==56,!a4;)K4=s0;if(Y=U4+1|0,Ht=(Y|0)==8,Ht)break;U4=Y}if(d0=Le+1|0,xt=(d0|0)==17,xt)break;Le=d0}for(_e=s,U9=(A|0)>0,s4=A^-1,b4=0;;){for(i0=Re(32)|0,e0=s2+(b4<<2)|0,e[e0>>2]=i0,h0=+(b4|0),c0=h0*.5,$0=h0*.34657350182533264,l0=$0+4.135165354540845,X=+Yn(+l0),g0=X/_e,I0=+oA(+g0),n0=~~I0,f0=+(n0|0),p0=f0*s,C0=p0+1,S0=C0,y0=+rn(+S0),D0=y0*2.885390043258667,E0=D0+-11.931568145751953,w0=+vC(+E0),B0=~~w0,x0=n0+1|0,Z0=+(x0|0),R0=Z0*s,v0=R0,G0=+rn(+v0),U0=G0*2.885390043258667,O0=U0+-11.931568145751953,H0=+oA(+O0),K0=~~H0,N0=(B0|0)>(b4|0),p8=N0?b4:B0,M0=(p8|0)<0,wt=M0?0:p8,P0=(K0|0)>16,y=P0?16:K0,W0=(wt|0)>(y|0),J0=b4+1|0,V0=(J0|0)<17,j0=c0+3.9657840728759766,$4=0;;){if(q0=Re(232)|0,Y0=i0+($4<<2)|0,e[Y0>>2]=q0,U9)for($t=0;z0=F+($t<<2)|0,o[z0>>2]=999,r1=$t+1|0,be=(r1|0)==(A|0),!be;)$t=r1;if(!W0)for(p4=wt;;){for(L0=+(p4|0),s1=L0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),h1=f1*.125,A1=h1+s1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,X0=+Yn(+$1),B1=X0/_e,p1=~~B1,Q1=A1+4.028284072875977,C1=Q1*.6931470036506653,y1=+Yn(+C1),v1=y1/_e,k1=v1+1,L1=~~k1,M1=(p1|0)<0,B=M1?0:p1,b1=(B|0)>(A|0),a8=b1?A:B,_1=(a8|0)<(D4|0),W9=_1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(A|0),Wt=F1?A:r8,P1=(W9|0)<(Wt|0),D1=(W9|0)<(A|0),jt=P1&D1,jt)for(O1=((De+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,X1=+o[O1>>2],x1=(D4|0)<(A|0),J1=x1?D4:A,H1=J1^-1,V1=(p1|0)>0,L=p1^-1,Y1=V1?L:-1,z1=(Y1|0)<(H1|0),Z9=z1?H1:Y1,t2=Z9^-1,o2=(L1|0)>0,R=L1^-1,e2=o2?R:-1,q1=(e2|0)<(s4|0),c8=q1?s4:e2,Z1=c8-Z9|0,I2=Z9+A|0,A2=I2^-1,C2=Z1>>>0>A2>>>0,Tt=C2?Z1:A2,$2=t2-Tt|0,a9=W9;;)if(W1=F+(a9<<2)|0,f2=+o[W1>>2],g2=f2>X1,g2&&(o[W1>>2]=X1),n2=a9+1|0,pt=(n2|0)==($2|0),pt){J4=$2;break}else a9=n2;else J4=W9;if(u2=Ct+1|0,zt=(u2|0)==56,zt){W4=J4;break}else Ct=u2,D4=J4}if(d1=(W4|0)<(A|0),d1)for(u1=((De+(p4*1792|0)|0)+($4*224|0)|0)+220|0,E1=+o[u1>>2],P4=W4;i2=F+(P4<<2)|0,a2=+o[i2>>2],m2=a2>E1,m2&&(o[i2>>2]=E1),r2=P4+1|0,Kt=(r2|0)==(A|0),!Kt;)P4=r2;if(k2=p4+1|0,D2=(p4|0)<(y|0),D2)p4=k2;else break}if(V0){for(Rt=0,E4=0;;){if(q2=+(Rt|0),K2=q2*.125,U2=K2+c0,V2=U2+3.9032840728759766,Z2=V2*.6931470036506653,A5=+Yn(+Z2),Y2=A5/_e,N1=~~Y2,T5=U2+4.028284072875977,i5=T5*.6931470036506653,L5=+Yn(+i5),j2=L5/_e,m5=j2+1,D5=~~m5,V5=(N1|0)<0,b=V5?0:N1,u5=(b|0)>(A|0),C3=u5?A:b,b2=(C3|0)<(E4|0),Z4=b2?C3:E4,B5=(D5|0)<0,n8=B5?0:D5,F2=(n8|0)>(A|0),C8=F2?A:n8,R2=(Z4|0)<(C8|0),Q2=(Z4|0)<(A|0),ut=R2&Q2,ut)for(y5=((De+(J0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,N5=+o[y5>>2],p5=(E4|0)<(A|0),M5=p5?E4:A,q5=M5^-1,R5=(N1|0)>0,_=N1^-1,z2=R5?_:-1,$5=(z2|0)<(q5|0),ht=$5?q5:z2,h5=ht^-1,Q5=(D5|0)>0,Q=D5^-1,T1=Q5?Q:-1,_5=(T1|0)<(s4|0),Ft=_5?s4:T1,d5=Ft-ht|0,l5=ht+A|0,X2=l5^-1,d2=d5>>>0>X2>>>0,X4=d2?d5:X2,w5=h5-X4|0,b9=Z4;;)if(a5=F+(b9<<2)|0,f5=+o[a5>>2],J2=f5>N5,J2&&(o[a5>>2]=N5),I5=b9+1|0,_8=(I5|0)==(w5|0),_8){gt=w5;break}else b9=I5;else gt=Z4;if(n5=Rt+1|0,e8=(n5|0)==56,e8){_4=gt;break}else Rt=n5,E4=gt}if(M2=(_4|0)<(A|0),M2)for(p2=((De+(J0*1792|0)|0)+($4*224|0)|0)+220|0,W2=+o[p2>>2],Qt=_4;F5=F+(Qt<<2)|0,e5=+o[F5>>2],c5=e5>W2,c5&&(o[F5>>2]=W2),T2=Qt+1|0,I8=(T2|0)==(A|0),!I8;)Qt=T2}for(S2=i0+($4<<2)|0,y2=i0+($4<<2)|0,G2=i0+($4<<2)|0,m4=0;;){I3=+(m4|0),d3=I3*.125,W5=j0+d3,r3=W5*.6931470036506653,a3=+Yn(+r3),y3=a3/_e,G5=~~y3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,e6=w3+(f3<<2)|0,o[e6>>2]=-999;else if(V3=(G5|0)<(A|0),V3){a6=F+(G5<<2)|0,G3=e[a6>>2]|0,Y3=m4+2|0,g3=e[y2>>2]|0,u3=g3+(Y3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,o[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=q0+8|0,i3=+o[v5>>2],C5=i3>-200;do if(C5)o9=0;else if(K5=q0+12|0,H5=+o[K5>>2],Y5=H5>-200,Y5)o9=1;else if(D3=q0+16|0,A6=+o[D3>>2],r6=A6>-200,r6)o9=2;else if(K3=q0+20|0,j5=+o[K3>>2],J3=j5>-200,J3)o9=3;else if(d6=q0+24|0,m3=+o[d6>>2],x6=m3>-200,x6)o9=4;else if(L6=q0+28|0,M6=+o[L6>>2],S6=M6>-200,S6)o9=5;else if(n6=q0+32|0,f6=+o[n6>>2],b6=f6>-200,b6)o9=6;else if(j6=q0+36|0,k6=+o[j6>>2],R3=k6>-200,R3)o9=7;else if(s6=q0+40|0,o6=+o[s6>>2],B6=o6>-200,B6)o9=8;else if(W3=q0+44|0,F3=+o[W3>>2],Z3=F3>-200,Z3)o9=9;else if(t6=q0+48|0,c6=+o[t6>>2],s3=c6>-200,s3)o9=10;else if(K6=q0+52|0,A3=+o[K6>>2],g6=A3>-200,g6)o9=11;else if(y6=q0+56|0,T3=+o[y6>>2],H6=T3>-200,H6)o9=12;else if($6=q0+60|0,D6=+o[$6>>2],ee=D6>-200,ee)o9=13;else{if(Q6=q0+64|0,X6=+o[Q6>>2],P3=X6>-200,P3){o9=14;break}if(re=q0+68|0,V6=+o[re>>2],se=V6>-200,se){o9=15;break}o9=16}while(!1);for(o[q0>>2]=o9,Jt=55;;){if(b5=Jt+2|0,z3=q0+(b5<<2)|0,U5=+o[z3>>2],l6=U5>-200,l6){o8=Jt;break}if(l3=Jt+-1|0,U3=(l3|0)>17,U3)Jt=l3;else{o8=l3;break}}if(C6=+(o8|0),b3=q0+4|0,o[b3>>2]=C6,L3=$4+1|0,Ut=(L3|0)==8,Ut)break;$4=L3}if(Pt=(J0|0)==17,Pt)break;b4=J0}return C=et,s2|0}function Ly(t,s,A,$,g,d){t=t|0,s=s|0,A=A|0,$=$|0,g=+g,d=d|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0;if(F9=C,k=t<<2,p=k,v=C,C=C+((1*p|0)+15&-16)|0,m=k,$2=C,C=C+((1*m|0)+15&-16)|0,E=k,e5=C,C=C+((1*E|0)+15&-16)|0,y=k,a3=C,C=C+((1*y|0)+15&-16)|0,B=k,t3=C,C=C+((1*B|0)+15&-16)|0,b5=+o[A>>2],A6=b5+g,M6=A6<1,u9=M6?1:A6,B6=u9*u9,_=B6*.5,t0=_*u9,o[v>>2]=_,o[$2>>2]=_,o[e5>>2]=0,o[a3>>2]=t0,o[t3>>2]=0,e0=(t|0)>1,e0)for(O3=1,w6=_,q6=_,ae=0,Ye=0,we=t0,Q9=1;d1=A+(O3<<2)|0,p1=+o[d1>>2],R1=p1+g,Y1=R1<1,_e=Y1?1:R1,W1=_e*_e,k2=W1+w6,U2=W1*Q9,m5=U2+q6,N5=U2*Q9,_5=N5+ae,J2=W1*_e,I5=J2+we,n5=U2*_e,F5=n5+Ye,c5=v+(O3<<2)|0,o[c5>>2]=k2,T2=$2+(O3<<2)|0,o[T2>>2]=m5,v5=e5+(O3<<2)|0,o[v5>>2]=_5,z5=a3+(O3<<2)|0,o[z5>>2]=I5,i3=t3+(O3<<2)|0,o[i3>>2]=F5,C5=O3+1|0,I3=Q9+1,P6=(C5|0)==(t|0),!P6;)O3=C5,w6=k2,q6=m5,ae=_5,Ye=F5,we=I5,Q9=I3;if(p0=e[s>>2]|0,R0=p0>>16,W0=(R0|0)>-1,W0)W5=p0,y6=0,D6=0,X6=1,O6=0,g9=0;else for(G5=p0,w3=R0,oe=0,p9=0;;)if(y3=G5&65535,Z5=v+(y3<<2)|0,x3=+o[Z5>>2],f3=0-w3|0,e6=v+(f3<<2)|0,V3=+o[e6>>2],X5=V3+x3,_3=$2+(y3<<2)|0,a6=+o[_3>>2],G3=$2+(f3<<2)|0,Y3=+o[G3>>2],c3=a6-Y3,g3=e5+(y3<<2)|0,u3=+o[g3>>2],Q3=e5+(f3<<2)|0,K5=+o[Q3>>2],H5=K5+u3,Y5=a3+(y3<<2)|0,z3=+o[Y5>>2],U5=a3+(f3<<2)|0,l6=+o[U5>>2],n3=l6+z3,l3=t3+(y3<<2)|0,U3=+o[l3>>2],C6=t3+(f3<<2)|0,b3=+o[C6>>2],L3=U3-b3,D3=n3*H5,r6=L3*c3,K3=D3-r6,j5=L3*X5,M3=n3*c3,h3=j5-M3,J3=H5*X5,d6=c3*c3,m3=J3-d6,x6=h3*p9,L6=x6+K3,S6=L6/m3,n6=S6<0,se=n6?0:S6,f6=se-g,b6=$+(oe<<2)|0,o[b6>>2]=f6,N6=oe+1|0,j6=p9+1,k6=s+(N6<<2)|0,R3=e[k6>>2]|0,s6=R3>>16,o6=(s6|0)>-1,o6){W5=R3,y6=K3,D6=h3,X6=m3,O6=N6,g9=j6;break}else G5=R3,w3=s6,oe=N6,p9=j6;if(d3=W5&65535,r3=(d3|0)<(t|0),r3)for(b=W5,t6=d3,ne=O6,r9=g9;;)if(F3=b>>16,Z3=v+(t6<<2)|0,R6=+o[Z3>>2],c6=v+(F3<<2)|0,s3=+o[c6>>2],K6=R6-s3,A3=$2+(t6<<2)|0,g6=+o[A3>>2],Q=$2+(F3<<2)|0,L=+o[Q>>2],R=g6-L,M=e5+(t6<<2)|0,F=+o[M>>2],G=e5+(F3<<2)|0,O=+o[G>>2],q=F-O,H=a3+(t6<<2)|0,K=+o[H>>2],Z=a3+(F3<<2)|0,A0=+o[Z>>2],j=K-A0,r0=t3+(t6<<2)|0,o0=+o[r0>>2],J=t3+(F3<<2)|0,s0=+o[J>>2],Y=o0-s0,d0=j*q,i0=Y*R,h0=d0-i0,c0=Y*K6,$0=j*R,l0=c0-$0,X=q*K6,m0=R*R,g0=X-m0,I0=l0*r9,n0=I0+h0,f0=n0/g0,C0=f0<0,ge=C0?0:f0,S0=ge-g,y0=$+(ne<<2)|0,o[y0>>2]=S0,D0=ne+1|0,E0=r9+1,Q0=s+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0&65535,x0=(B0|0)<(t|0),x0)b=w0,t6=B0,ne=D0,r9=E0;else{T3=h0,G6=l0,P3=g0,he=D0,ze=E0;break}else T3=y6,G6=D6,P3=X6,he=O6,ze=g9;if(W3=(he|0)<(t|0),W3)for(Be=he,Fe=ze;Z0=Fe*G6,v0=Z0+T3,G0=v0/P3,U0=G0<0,U6=U0?0:G0,O0=U6-g,H0=$+(Be<<2)|0,o[H0>>2]=O0,k0=Be+1|0,K0=Fe+1,_6=(k0|0)==(t|0),!_6;)Be=k0,Fe=K0;if(N0=(d|0)<1,N0){C=F9;return}if(M0=(d|0)/2&-1,P0=M0-d|0,J0=(P0|0)>-1,J0)H6=T3,ee=G6,re=P3,ye=0,ve=0;else for(V0=d-M0|0,z0=M0,s1=P0,Qe=0,J6=0;;)if(o1=v+(z0<<2)|0,r1=+o[o1>>2],L0=0-s1|0,u1=v+(L0<<2)|0,E1=+o[u1>>2],f1=E1+r1,h1=$2+(z0<<2)|0,A1=+o[h1>>2],g1=$2+(L0<<2)|0,a1=+o[g1>>2],$1=A1-a1,X0=e5+(z0<<2)|0,B1=+o[X0>>2],Q1=e5+(L0<<2)|0,C1=+o[Q1>>2],y1=C1+B1,v1=a3+(z0<<2)|0,k1=+o[v1>>2],S1=a3+(L0<<2)|0,L1=+o[S1>>2],M1=L1+k1,b1=t3+(z0<<2)|0,_1=+o[b1>>2],F1=t3+(L0<<2)|0,P1=+o[F1>>2],D1=_1-P1,O1=M1*y1,X1=D1*$1,G1=O1-X1,x1=D1*f1,J1=M1*$1,H1=x1-J1,V1=y1*f1,z1=$1*$1,t2=V1-z1,o2=H1*J6,e2=o2+G1,q1=e2/t2,h2=q1-g,Z1=$+(Qe<<2)|0,I2=+o[Z1>>2],A2=h2>2]=h2),C2=Qe+1|0,f2=J6+1,g2=M0+C2|0,n2=g2-d|0,te=(C2|0)==(V0|0),te){H6=G1,ee=H1,re=t2,ye=V0,ve=f2;break}else z0=g2,s1=n2,Qe=C2,J6=f2;if(j0=ye+M0|0,q0=(j0|0)<(t|0),q0)for(Y0=t-M0|0,D=j0,fe=ye,w9=ve;;)if(s2=D-d|0,l2=v+(D<<2)|0,i2=+o[l2>>2],a2=v+(s2<<2)|0,m2=+o[a2>>2],r2=i2-m2,D2=$2+(D<<2)|0,S2=+o[D2>>2],y2=$2+(s2<<2)|0,G2=+o[y2>>2],M2=S2-G2,O2=e5+(D<<2)|0,p2=+o[O2>>2],W2=e5+(s2<<2)|0,q2=+o[W2>>2],K2=p2-q2,V2=a3+(D<<2)|0,Z2=+o[V2>>2],A5=a3+(s2<<2)|0,Y2=+o[A5>>2],N1=Z2-Y2,t5=t3+(D<<2)|0,T5=+o[t5>>2],i5=t3+(s2<<2)|0,L5=+o[i5>>2],j2=T5-L5,D5=N1*K2,V5=j2*M2,u5=D5-V5,b2=j2*r2,B5=N1*M2,o5=b2-B5,F2=K2*r2,R2=M2*M2,Q2=F2-R2,y5=o5*w9,p5=y5+u5,M5=p5/Q2,q5=M5-g,R5=$+(fe<<2)|0,z2=+o[R5>>2],E5=q5>2]=q5),$5=fe+1|0,h5=w9+1,Q5=$5+M0|0,F6=($5|0)==(Y0|0),F6){$6=u5,Q6=o5,V6=Q2,de=Y0,Ae=h5;break}else D=Q5,fe=$5,w9=h5;else $6=H6,Q6=ee,V6=re,de=ye,Ae=ve;if(u2=(de|0)<(t|0),u2)Ve=de,M9=Ae;else{C=F9;return}for(;T1=M9*Q6,d5=T1+$6,l5=d5/V6,X2=l5-g,d2=$+(Ve<<2)|0,w5=+o[d2>>2],r5=X2>2]=X2),a5=Ve+1|0,f5=M9+1,Y6=(a5|0)==(t|0),!Y6;)Ve=a5,M9=f5;C=F9}function Pb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0;if(d1=C,d=A<<2,$=d,p=C,C=C+((1*$|0)+15&-16)|0,g=d,L=C,C=C+((1*g|0)+15&-16)|0,A0=(A|0)>0,A0)k0=0,V0=0;else{C=d1;return}for(;;){x0=(V0|0)<2;do if(x0)v0=p+(V0<<2)|0,e[v0>>2]=k0,m=t+(k0<<2)|0,E=e[m>>2]|0,y=L+(V0<<2)|0,e[y>>2]=E,z0=V0;else{for(Z0=t+(k0<<2)|0,R0=+o[Z0>>2],j0=V0;;){if(B=j0+-1|0,b=L+(B<<2)|0,D=+o[b>>2],k=R0>2]|0,M=R+s|0,F=(k0|0)<(M|0),G=(j0|0)>1,M0=G&F,!M0){Y0=j0,s1=12;break}if(O=j0+-2|0,q=L+(O<<2)|0,H=+o[q>>2],K=!(D<=H),K){Y0=j0,s1=12;break}if(t0=p+(O<<2)|0,Z=e[t0>>2]|0,j=Z+s|0,r0=(k0|0)<(j|0),r0)j0=B;else{Y0=j0,s1=12;break}}if((s1|0)==8){s1=0,v=p+(q0<<2)|0,e[v>>2]=k0,_=L+(q0<<2)|0,o[_>>2]=R0,z0=q0;break}else if((s1|0)==12){s1=0,o0=p+(Y0<<2)|0,e[o0>>2]=k0,J=L+(Y0<<2)|0,o[J>>2]=R0,z0=Y0;break}}while(!1);if(o1=z0+1|0,s0=k0+1|0,H0=(s0|0)==(A|0),H0){r1=z0,L0=o1;break}else k0=s0,V0=o1}if(c0=(r1|0)>-1,!c0){C=d1;return}for(S0=s+1|0,K0=0,P0=0;;){if(Y=(K0|0)<(r1|0),Y?(d0=K0+1|0,i0=L+(d0<<2)|0,e0=+o[i0>>2],h0=L+(K0<<2)|0,$0=+o[h0>>2],l0=e0>$0,l0?(X=p+(d0<<2)|0,m0=e[X>>2]|0,G0=m0):s1=17):s1=17,(s1|0)==17&&(s1=0,g0=p+(K0<<2)|0,I0=e[g0>>2]|0,n0=S0+I0|0,G0=n0),f0=(G0|0)>(A|0),N0=f0?A:G0,p0=(P0|0)<(N0|0),p0)for(C0=L+(K0<<2)|0,y0=e[C0>>2]|0,D0=(G0|0)<(A|0),E0=D0?G0:A,J0=P0;;)if(Q0=t+(J0<<2)|0,e[Q0>>2]=y0,w0=J0+1|0,U0=(w0|0)==(E0|0),U0){W0=E0;break}else J0=w0;else W0=P0;if(B0=K0+1|0,O0=(B0|0)==(L0|0),O0)break;K0=B0,P0=W0}C=d1}function My(t,s,A,$,g,d,p,m,E){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,m=m|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0;if(h2=C,M=m<<2,_=M,F=C,C=C+((1*_|0)+15&-16)|0,o0=t+500|0,X=e[o0>>2]|0,E0=(X|0)==0,E0?k1=m:(H0=t+504|0,Y0=e[H0>>2]|0,A1=Y0-p|0,k1=A1),F1=(k1|0)>(m|0),z1=F1?m:k1,G=(z1|0)>0,G)for(O=(d|0)==0,q=(k1|0)<(m|0),H=q?k1:m,H1=0;;){O?q1=9:(A0=d+(H1<<2)|0,j=e[A0>>2]|0,r0=(j|0)==0,r0&&(q1=9));do if((q1|0)==9)if(q1=0,J=$+(H1<<2)|0,s0=+o[J>>2],Y=g+(H1<<2)|0,d0=+o[Y>>2],i0=s0/d0,e0=A+(H1<<2)|0,h0=+o[e0>>2],c0=h0<0,$0=i0,l0=+Hn(+$0),m0=+z7(l0),c0){g0=-m0,I0=~~g0,n0=E+(H1<<2)|0,e[n0>>2]=I0;break}else{f0=~~m0,p0=E+(H1<<2)|0,e[p0>>2]=f0;break}while(!1);if(C0=H1+1|0,x1=(C0|0)==(H|0),x1){J1=H;break}else H1=C0}else J1=0;if(K=(J1|0)<(m|0),!K)return v=0,C=h2,+v;for(t0=(d|0)!=0,Z=s-p|0,y=0,P1=0,V1=J1;;){t0?(S0=d+(V1<<2)|0,y0=e[S0>>2]|0,D0=(y0|0)==0,D0?q1=15:(B=y,D1=P1)):q1=15;do if((q1|0)==15)if(q1=0,Q0=$+(V1<<2)|0,w0=+o[Q0>>2],B0=g+(V1<<2)|0,x0=+o[B0>>2],Z0=w0/x0,R0=!(Z0<.25),v0=(V1|0)<(Z|0),t2=t0&v0,o2=R0|t2,o2){k0=A+(V1<<2)|0,K0=+o[k0>>2],N0=K0<0,M0=Z0,P0=+Hn(+M0),W0=+z7(P0),J0=-W0,L=N0?J0:W0,Q=~~L,V0=E+(V1<<2)|0,e[V0>>2]=Q,j0=s5(Q,Q)|0,q0=+(j0|0),o1=+o[B0>>2],z0=q0*o1,o[Q0>>2]=z0,B=y,D1=P1;break}else{G0=Z0+y,U0=P1+1|0,O0=F+(P1<<2)|0,e[O0>>2]=Q0,B=G0,D1=U0;break}while(!1);if(r1=V1+1|0,G1=(r1|0)==(m|0),G1){b=B,O1=D1;break}else y=B,P1=D1,V1=r1}if(L0=(O1|0)==0,L0||(Pu(F,O1,4,9),s1=(O1|0)>0,!s1))return v=b,C=h2,+v;for(d1=$,u1=t+512|0,E1=+c1[u1>>3],D=b,Y1=0;;)if(f1=F+(Y1<<2)|0,h1=e[f1>>2]|0,g1=h1,a1=g1-d1|0,$1=a1>>2,X0=D,B1=!(X0>=E1),B1?(k=D,R=0,e2=0):(p1=A+($1<<2)|0,Q1=e[p1>>2]|0,C1=Q1&-2147483648,y1=C1|1065353216,v1=(e[w2>>2]=y1,+o[w2>>2]),S1=~~v1,L1=D+-1,M1=g+($1<<2)|0,b1=+o[M1>>2],k=L1,R=S1,e2=b1),_1=E+($1<<2)|0,e[_1>>2]=R,o[h1>>2]=e2,R1=Y1+1|0,X1=(R1|0)==(O1|0),X1){v=k;break}else D=k,Y1=R1;return C=h2,+v}function Ob(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0;return D=C,A=e[t>>2]|0,$=+o[A>>2],g=e[s>>2]|0,d=+o[g>>2],p=$d,y=E&1,B=m-y|0,B|0}function qb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Hb(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0;if(r0=C,A=(t|0)==0,!A){if($=t+4|0,v=e[$>>2]|0,F=(v|0)>0,G=t+20|0,F)for(M=v,Z=0;O=e[G>>2]|0,q=O+(Z<<2)|0,H=e[q>>2]|0,K=(H|0)==0,K?d=M:(E2(H),s=e[$>>2]|0,d=s),t0=Z+1|0,g=(t0|0)<(d|0),g;)M=d,Z=t0;if(p=e[G>>2]|0,E2(p),m=t+24|0,E=e[m>>2]|0,y=(E|0)>0,B=t+28|0,y)for(A0=0;b=e[B>>2]|0,D=b+(A0<<2)|0,k=e[D>>2]|0,E2(k),_=A0+1|0,Q=e[m>>2]|0,L=(_|0)<(Q|0),L;)A0=_;R=e[B>>2]|0,E2(R),E2(t)}}function Vb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0;if(f0=C,g=e[t>>2]|0,H2(s,g,24),d=t+4|0,Q=e[d>>2]|0,H2(s,Q,24),Z=t+8|0,Y=e[Z>>2]|0,d0=Y+-1|0,H2(s,d0,24),i0=t+12|0,e0=e[i0>>2]|0,h0=e0+-1|0,H2(s,h0,6),c0=t+20|0,p=e[c0>>2]|0,H2(s,p,8),m=e[i0>>2]|0,E=(m|0)>0,!!E){for(y=t+24|0,$0=0,X=0;;){if(D=y+(X<<2)|0,k=e[D>>2]|0,v=H8(k)|0,_=(v|0)>3,L=e[D>>2]|0,_?(H2(s,L,3),H2(s,1,1),R=e[D>>2]|0,M=R>>3,H2(s,M,5)):H2(s,L,4),F=e[D>>2]|0,G=(F|0)==0,G)g0=0;else for(A=F,I0=0;;)if(O=A&1,q=O+I0|0,H=A>>>1,K=(H|0)==0,K){g0=q;break}else A=H,I0=q;if(t0=g0+$0|0,A0=X+1|0,j=e[i0>>2]|0,r0=(A0|0)<(j|0),r0)$0=t0,X=A0;else{$=t0;break}}if(B=($|0)>0,!!B)for(b=t+280|0,m0=0;o0=b+(m0<<2)|0,J=e[o0>>2]|0,H2(s,J,8),s0=m0+1|0,l0=(s0|0)==($|0),!l0;)m0=s0}}function Yb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0;a1=C,p=l9(1,2840)|0,m=t+28|0,R=e[m>>2]|0,j=r4(s,24)|0,e[p>>2]=j,$0=r4(s,24)|0,y0=p+4|0,e[y0>>2]=$0,U0=r4(s,24)|0,j0=U0+1|0,Y0=p+8|0,e[Y0>>2]=j0,o1=r4(s,6)|0,E=o1+1|0,y=p+12|0,e[y>>2]=E,B=r4(s,8)|0,b=p+20|0,e[b>>2]=B,D=(B|0)<0;e:do if(D)g1=26;else{if(k=(o1|0)>-1,k){for(v=p+24|0,r1=0,d1=0;;){if(L=r4(s,3)|0,M=r4(s,1)|0,F=(M|0)<0,F){g1=26;break e}if(G=(M|0)==0,G)L0=L;else{if(O=r4(s,5)|0,q=(O|0)<0,q){g1=26;break e}H=O<<3,K=H|L,L0=K}if(t0=v+(d1<<2)|0,e[t0>>2]=L0,Z=(L0|0)==0,Z)h1=0;else for($=L0,A1=0;;)if(A0=$&1,r0=A0+A1|0,o0=$>>>1,J=(o0|0)==0,J){h1=r0;break}else $=o0,A1=r0;if(s0=h1+r1|0,Y=d1+1|0,d0=e[y>>2]|0,i0=(Y|0)<(d0|0),i0)r1=s0,d1=Y;else{d=s0;break}}if(_=(d|0)>0,_)for(Q=p+280|0,u1=0;;){if(e0=r4(s,8)|0,h0=(e0|0)<0,h0)break e;if(c0=Q+(u1<<2)|0,e[c0>>2]=e0,l0=u1+1|0,X=(l0|0)<(d|0),X)u1=l0;else{q0=_,z0=d;break}}else q0=0,z0=d}else q0=0,z0=0;if(m0=e[b>>2]|0,g0=R+24|0,I0=e[g0>>2]|0,n0=(m0|0)<(I0|0),n0){if(q0)for(f0=p+280|0,E1=0;;){if(S0=f0+(E1<<2)|0,D0=e[S0>>2]|0,E0=(D0|0)<(I0|0),!E0||(Q0=(R+1824|0)+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0+12|0,x0=e[B0>>2]|0,Z0=(x0|0)==0,p0=E1+1|0,Z0))break e;if(C0=(p0|0)<(z0|0),C0)E1=p0;else break}if(R0=(R+1824|0)+(m0<<2)|0,v0=e[R0>>2]|0,G0=v0+4|0,O0=e[G0>>2]|0,H0=e[v0>>2]|0,k0=(H0|0)<1,!k0){for(K0=e[y>>2]|0,s1=H0,f1=1;;){if(P0=s5(K0,f1)|0,W0=(P0|0)>(O0|0),W0)break e;if(N0=s1+-1|0,M0=(s1|0)>1,M0)s1=N0,f1=P0;else{g=P0;break}}return J0=p+16|0,e[J0>>2]=g,A=p,A|0}}}while(!1);return(g1|0)==26&&(V0=(p|0)==0,V0)?(A=0,A|0):(E2(p),A=0,A|0)}function zb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0;if(k1=C,d=l9(1,44)|0,p=t+4|0,L=e[p>>2]|0,A0=L+28|0,c0=e[A0>>2]|0,e[d>>2]=s,S0=s+12|0,G0=e[S0>>2]|0,V0=d+4|0,e[V0>>2]=G0,o1=c0+2848|0,z0=e[o1>>2]|0,m=d+12|0,e[m>>2]=z0,E=z0,y=s+20|0,B=e[y>>2]|0,b=E+(B*56|0)|0,D=d+16|0,e[D>>2]=b,k=e[b>>2]|0,v=l9(G0,4)|0,_=d+20|0,e[_>>2]=v,Q=(G0|0)>0,Q)for(R=s+24|0,M=s+280|0,r1=0,h1=0,p1=0;;){if(F=R+(h1<<2)|0,G=e[F>>2]|0,O=H8(G)|0,q=(O|0)==0,q)d1=r1,Q1=p1;else if(H=(O|0)>(p1|0),$=H?O:p1,K=l9(O,4)|0,t0=v+(h1<<2)|0,e[t0>>2]=K,Z=(O|0)>0,Z)for(j=e[F>>2]|0,r0=v+(h1<<2)|0,L0=r1,$1=0;;)if(o0=1<<$1,J=j&o0,s0=(J|0)==0,s0?s1=L0:(Y=e[o1>>2]|0,d0=L0+1|0,i0=M+(L0<<2)|0,e0=e[i0>>2]|0,h0=Y+(e0*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=h0,s1=d0),X=$1+1|0,E1=(X|0)==(O|0),E1){d1=s1,Q1=$;break}else L0=s1,$1=X;else d1=r1,Q1=$;if(m0=h1+1|0,g0=(m0|0)<(G0|0),g0)r1=d1,h1=m0,p1=Q1;else{B1=Q1;break}}else B1=0;if(I0=d+24|0,e[I0>>2]=1,n0=(k|0)>0,n0){for(p0=1,A1=0;;)if(f0=s5(p0,G0)|0,C0=A1+1|0,u1=(C0|0)==(k|0),u1){A=f0;break}else p0=f0,A1=C0;e[I0>>2]=A,E0=A}else E0=1;if(y0=d+8|0,e[y0>>2]=B1,D0=E0<<2,Q0=Re(D0)|0,w0=d+28|0,e[w0>>2]=Q0,B0=(E0|0)>0,!B0)return d|0;if(x0=k<<2,!n0){for(g1=0;J0=Re(x0)|0,j0=Q0+(g1<<2)|0,e[j0>>2]=J0,q0=g1+1|0,Y0=(q0|0)<(E0|0),Y0;)g1=q0;return d|0}for(Z0=e[w0>>2]|0,a1=0;;){for(M0=Re(x0)|0,P0=Q0+(a1<<2)|0,e[P0>>2]=M0,W0=Z0+(a1<<2)|0,K0=e[W0>>2]|0,g=E0,X0=0,y1=a1;C1=(g|0)/(G0|0)&-1,U0=(y1|0)/(C1|0)&-1,O0=s5(U0,C1)|0,H0=y1-O0|0,k0=K0+(X0<<2)|0,e[k0>>2]=U0,N0=X0+1|0,f1=(N0|0)==(k|0),!f1;)g=C1,X0=N0,y1=H0;if(R0=a1+1|0,v0=(R0|0)<(E0|0),v0)a1=R0;else break}return d|0}function Kb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0;if(G=C,d=(g|0)>0,d)Q=0,L=0;else return 0;for(;;)if(p=$+(Q<<2)|0,m=e[p>>2]|0,E=(m|0)==0,E?R=L:(y=A+(Q<<2)|0,B=e[y>>2]|0,b=L+1|0,D=A+(L<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){M=R;break}else Q=k,L=R;return v=(M|0)==0,v||Ry(t,s,A,M,2),0}function Jb(t,s,A,$,g,d,p,m){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,m=m|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0;if(H=C,E=(d|0)>0,E)M=0,F=0;else return 0;for(;;)if(y=g+(M<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b?G=F:(D=$+(M<<2)|0,k=e[D>>2]|0,v=F+1|0,_=$+(F<<2)|0,e[_>>2]=k,G=v),Q=M+1|0,R=(Q|0)==(d|0),R){O=G;break}else M=Q,F=G;return L=(O|0)==0,L||Fy(t,A,$,O,p),0}function Wb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,m=(g|0)>0,m)s1=0,p1=0;else return d=0,d|0;for(;;)if(E=$+(s1<<2)|0,M=e[E>>2]|0,r0=(M|0)==0,r0?Q1=p1:(l0=A+(s1<<2)|0,D0=e[l0>>2]|0,O0=p1+1|0,W0=A+(p1<<2)|0,e[W0>>2]=D0,Q1=O0),J0=s1+1|0,Y0=(J0|0)==(g|0),Y0){C1=Q1;break}else s1=J0,p1=Q1;if(V0=(C1|0)==0,V0)return d=0,d|0;if(y=e[s>>2]|0,B=y+8|0,b=e[B>>2]|0,D=y+12|0,k=e[D>>2]|0,v=y+4|0,_=e[v>>2]|0,Q=e[y>>2]|0,L=_-Q|0,R=(L|0)/(b|0)&-1,F=C1<<2,G=W8(t,F)|0,O=+(b|0),q=100/O,H=q,K=(C1|0)>0,K)for(t0=R<<2,d1=0;J=W8(t,t0)|0,s0=G+(d1<<2)|0,e[s0>>2]=J,g4(J|0,0,t0|0)|0,Y=d1+1|0,L0=(Y|0)==(C1|0),!L0;)d1=Y;if(Z=(R|0)>0,Z)for(A0=(b|0)>0,j=k+-1|0,o0=(k|0)>1,u1=0;;){if(d0=s5(u1,b)|0,i0=e[y>>2]|0,e0=i0+d0|0,K)for(f1=0;;){if(A0)for(h0=A+(f1<<2)|0,c0=e[h0>>2]|0,q0=0,h1=0,$1=0;;)if($0=e0+h1|0,X=c0+($0<<2)|0,m0=e[X>>2]|0,E1=(m0|0)>-1,X0=0-m0|0,g0=E1?m0:X0,I0=(g0|0)>($1|0),p=I0?g0:$1,n0=g0+q0|0,f0=h1+1|0,o1=(f0|0)==(b|0),o1){j0=n0,a1=p;break}else q0=n0,h1=f0,$1=p;else j0=0,a1=0;p0=+(j0|0),C0=p0*H,S0=~~C0;e:do if(o0)for(g1=0;;){if(y0=(y+2328|0)+(g1<<2)|0,E0=e[y0>>2]|0,Q0=(a1|0)>(E0|0),!Q0&&(w0=(y+2584|0)+(g1<<2)|0,B0=e[w0>>2]|0,x0=(B0|0)<0,Z0=(S0|0)<(B0|0),B1=x0|Z0,B1)){A1=g1;break e}if(R0=g1+1|0,v0=(R0|0)<(j|0),v0)g1=R0;else{A1=R0;break}}else A1=0;while(!1);if(G0=G+(f1<<2)|0,U0=e[G0>>2]|0,H0=U0+(u1<<2)|0,e[H0>>2]=A1,k0=f1+1|0,z0=(k0|0)==(C1|0),z0)break;f1=k0}if(K0=u1+1|0,r1=(K0|0)==(R|0),r1)break;u1=K0}return N0=s+40|0,M0=e[N0>>2]|0,P0=M0+1|0,e[N0>>2]=P0,d=G,d|0}function Zb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0;if(G=C,d=(g|0)>0,d)Q=0,L=0;else return 0;for(;;)if(p=$+(Q<<2)|0,m=e[p>>2]|0,E=(m|0)==0,E?R=L:(y=A+(Q<<2)|0,B=e[y>>2]|0,b=L+1|0,D=A+(L<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){M=R;break}else Q=k,L=R;return v=(M|0)==0,v||Ry(t,s,A,M,3),0}function jb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0;if(X0=C,E=(g|0)>0,E)P0=0,a1=0;else return d=0,d|0;for(;;)if(y=$+(P0<<2)|0,F=e[y>>2]|0,f1=(F|0)!=0,o0=f1&1,A1=o0+a1|0,X=P0+1|0,K0=(X|0)==(g|0),K0){g1=A1;break}else P0=X,a1=A1;if(h1=(g1|0)==0,h1)return d=0,d|0;if(E0=e[s>>2]|0,Z0=E0+8|0,R0=e[Z0>>2]|0,v0=E0+12|0,G0=e[v0>>2]|0,B=E0+4|0,b=e[B>>2]|0,D=e[E0>>2]|0,k=b-D|0,v=(k|0)/(R0|0)&-1,_=W8(t,4)|0,Q=v<<2,L=W8(t,Q)|0,e[_>>2]=L,g4(L|0,0,Q|0)|0,R=(v|0)>0,R)for(M=e[E0>>2]|0,G=(M|0)/(g|0)&-1,O=(R0|0)>0,q=G0+-1|0,H=(G0|0)>1,K=e[_>>2]|0,t0=(g|0)>1,W0=0,z0=G;;){if(O)for(Z=e[A>>2]|0,O0=0,j0=0,L0=z0,d1=0;;){if(A0=Z+(L0<<2)|0,j=e[A0>>2]|0,J0=(j|0)>-1,u1=0-j|0,r0=J0?j:u1,J=(r0|0)>(d1|0),m=J?r0:d1,t0)for(k0=O0,o1=1;;)if(s0=A+(o1<<2)|0,Y=e[s0>>2]|0,d0=Y+(L0<<2)|0,i0=e[d0>>2]|0,V0=(i0|0)>-1,E1=0-i0|0,e0=V0?i0:E1,h0=(e0|0)>(k0|0),p=h0?e0:k0,c0=o1+1|0,N0=(c0|0)==(g|0),N0){H0=p;break}else k0=p,o1=c0;else H0=O0;if($0=L0+1|0,l0=j0+g|0,m0=(l0|0)<(R0|0),m0)O0=H0,j0=l0,L0=$0,d1=m;else{U0=H0,r1=$0,s1=m;break}}else U0=0,r1=z0,s1=0;e:do if(H)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,I0=e[g0>>2]|0,n0=(s1|0)>(I0|0),!n0&&(f0=(E0+2584|0)+(Y0<<2)|0,p0=e[f0>>2]|0,C0=(U0|0)>(p0|0),!C0)){q0=Y0;break e}if(S0=Y0+1|0,y0=(S0|0)<(q|0),y0)Y0=S0;else{q0=S0;break}}else q0=0;while(!1);if(D0=K+(W0<<2)|0,e[D0>>2]=q0,Q0=W0+1|0,M0=(Q0|0)==(v|0),M0)break;W0=Q0,z0=r1}return w0=s+40|0,B0=e[w0>>2]|0,x0=B0+1|0,e[w0>>2]=x0,d=_,d|0}function Xb(t,s,A,$,g,d,p,m){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,m=m|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0;if(c0=C,C=C+16|0,e0=c0,E=s+36|0,y=e[E>>2]|0,F=(y|0)/2&-1,G=d<<2,O=s5(G,F)|0,q=W8(s,O)|0,e[e0>>2]=q,H=(d|0)>0,!H)return C=c0,0;for(K=(y|0)>1,j=0,i0=0;;){if(t0=$+(j<<2)|0,Z=e[t0>>2]|0,B=g+(j<<2)|0,b=e[B>>2]|0,J=(b|0)!=0,D=J&1,Y=D+i0|0,K)for(r0=0,o0=j;k=Z+(r0<<2)|0,v=e[k>>2]|0,_=q+(o0<<2)|0,e[_>>2]=v,Q=r0+1|0,L=o0+d|0,R=(Q|0)<(F|0),R;)r0=Q,o0=L;if(M=j+1|0,A0=(M|0)==(d|0),A0){d0=Y;break}else j=M,i0=Y}return s0=(d0|0)==0,s0?(C=c0,0):(Fy(t,A,e0,1,p),C=c0,0)}function eD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;if(S1=C,m=e[s>>2]|0,E=m+8|0,M=e[E>>2]|0,r0=s+16|0,l0=e[r0>>2]|0,D0=e[l0>>2]|0,O0=t+36|0,q0=e[O0>>2]|0,h1=s5(q0,g)|0,A1=h1>>1,y=m+4|0,B=e[y>>2]|0,b=(B|0)<(A1|0),d=b?B:A1,D=e[m>>2]|0,k=d-D|0,v=(k|0)>0,!v)return 0;_=(k|0)/(M|0)&-1,Q=D0+-1|0,L=Q+_|0,R=(L|0)/(D0|0)&-1,F=R<<2,G=W8(t,F)|0,O=(g|0)>0;e:do if(O)for(a1=0;;){if(q=$+(a1<<2)|0,H=e[q>>2]|0,K=(H|0)==0,!K){g1=a1;break e}if(t0=a1+1|0,Z=(t0|0)<(g|0),Z)a1=t0;else{g1=t0;break}}else g1=0;while(!1);if(A0=(g1|0)==(g|0),A0||(j=s+8|0,o0=e[j>>2]|0,J=(o0|0)>0,!J))return 0;s0=(_|0)>0,Y=t+4|0,d0=m+16|0,i0=s+28|0,e0=(D0|0)>0,h0=s+20|0,f1=o0,v1=0;e:for(;;){if(s0){for(c0=(v1|0)==0,$0=1<>2]|0,m0=sE(X,Y)|0,g0=(m0|0)==-1,g0){k1=23;break e}if(I0=e[d0>>2]|0,n0=(m0|0)<(I0|0),!n0){k1=23;break e}if(f0=e[i0>>2]|0,p0=f0+(m0<<2)|0,C0=e[p0>>2]|0,S0=G+(Q1<<2)|0,e[S0>>2]=C0,y0=(C0|0)==0,y0){k1=23;break e}}if(E0=($1|0)<(_|0),y1=e0&E0,y1)for(Q0=G+(Q1<<2)|0,B1=$1,p1=0;;){if(w0=e[Q0>>2]|0,B0=w0+(p1<<2)|0,x0=e[B0>>2]|0,Z0=(m+24|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0&$0,G0=(v0|0)==0,!G0&&(U0=e[h0>>2]|0,H0=U0+(x0<<2)|0,k0=e[H0>>2]|0,K0=k0+(v1<<2)|0,N0=e[K0>>2]|0,M0=(N0|0)==0,!M0&&(P0=s5(B1,M)|0,W0=e[m>>2]|0,J0=W0+P0|0,V0=ob(N0,A,J0,g,Y,M)|0,j0=(V0|0)==-1,j0))){k1=23;break e}if(Y0=p1+1|0,o1=B1+1|0,z0=(Y0|0)<(D0|0),r1=(o1|0)<(_|0),C1=z0&r1,C1)B1=o1,p1=Y0;else{X0=o1;break}}else X0=$1;if(L0=Q1+1|0,s1=(X0|0)<(_|0),s1)$1=X0,Q1=L0;else break}p=e[j>>2]|0,E1=p}else E1=f1;if(d1=v1+1|0,u1=(d1|0)<(E1|0),u1)f1=E1,v1=d1;else{k1=23;break}}return(k1|0)==23,0}function Ry(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0;if(t2=C,y=e[s>>2]|0,B=y+8|0,G=e[B>>2]|0,J=s+16|0,m0=e[J>>2]|0,Q0=e[m0>>2]|0,k0=t+36|0,o1=e[k0>>2]|0,g1=o1>>1,S1=y+4|0,b=e[S1>>2]|0,D=(b|0)<(g1|0),d=D?b:g1,k=e[y>>2]|0,v=d-k|0,_=(v|0)>0,!_){C=t2;return}if(Q=(v|0)/(G|0)&-1,L=$<<2,p=L,R=C,C=C+((1*p|0)+15&-16)|0,M=($|0)>0,M)for(F=Q0+-1|0,O=F+Q|0,q=(O|0)/(Q0|0)&-1,H=q<<2,P1=0;d0=W8(t,H)|0,i0=R+(P1<<2)|0,e[i0>>2]=d0,e0=P1+1|0,M1=(e0|0)==($|0),!M1;)P1=e0;if(K=s+8|0,t0=e[K>>2]|0,Z=(t0|0)>0,!Z){C=t2;return}A0=(Q|0)>0,j=t+4|0,r0=y+16|0,o0=s+28|0,s0=(Q0|0)>0,Y=s+20|0,E=M^1,Y1=0;e:for(;;){if(A0)for(h0=1<>2]|0,z0=sE(Y0,j)|0,r1=(z0|0)==-1,r1){z1=25;break e}if(L0=e[r0>>2]|0,s1=(z0|0)<(L0|0),!s1){z1=25;break e}if(d1=e[o0>>2]|0,u1=d1+(z0<<2)|0,E1=e[u1>>2]|0,f1=R+(D1<<2)|0,h1=e[f1>>2]|0,A1=h1+(x1<<2)|0,e[A1>>2]=E1,a1=(E1|0)==0,j0=D1+1|0,a1){z1=25;break e}if(q0=(j0|0)<($|0),q0)D1=j0;else break}c0=(b1|0)<(Q|0),V1=s0&c0;t:do if(V1){if(M)F1=b1,G1=0;else for(R1=b1,X1=0;;)if($1=X1+1|0,X0=R1+1|0,B1=($1|0)<(Q0|0),p1=(X0|0)<(Q|0),J1=B1&p1,J1)R1=X0,X1=$1;else{_1=X0;break t}for(;;){for(f0=s5(F1,G)|0,O1=0;;){if(I0=e[y>>2]|0,n0=I0+f0|0,p0=R+(O1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,y0=e[S0>>2]|0,D0=y0+(G1<<2)|0,E0=e[D0>>2]|0,w0=(y+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,x0=B0&h0,Z0=(x0|0)==0,!Z0&&(R0=e[Y>>2]|0,v0=R0+(E0<<2)|0,G0=e[v0>>2]|0,U0=G0+(Y1<<2)|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0&&(K0=A+(O1<<2)|0,N0=e[K0>>2]|0,M0=N0+(n0<<2)|0,P0=GC[g&3](O0,M0,j,G)|0,W0=(P0|0)==-1,W0))){z1=25;break e}if(J0=O1+1|0,V0=(J0|0)<($|0),V0)O1=J0;else break}if($0=G1+1|0,l0=F1+1|0,X=($0|0)<(Q0|0),g0=(l0|0)<(Q|0),H1=X&g0,H1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,C1=(_1|0)<(Q|0),C1)b1=_1,x1=Q1;else break}if(y1=Y1+1|0,v1=e[K>>2]|0,k1=(y1|0)<(v1|0),k1)Y1=y1;else{z1=25;break}}if((z1|0)==25){C=t2;return}}function Fy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0;if(Q6=C,C=C+1088|0,s3=Q6+1056|0,U5=Q6+1024|0,K6=Q6+512|0,A3=Q6,Q=e[s>>2]|0,L=Q+8|0,g2=e[L>>2]|0,K2=Q+12|0,j2=e[K2>>2]|0,y5=s+16|0,T1=e[y5>>2]|0,I5=e[T1>>2]|0,d3=Q+4|0,V3=e[d3>>2]|0,R=e[Q>>2]|0,j=V3-R|0,$0=(j|0)/(g2|0)&-1,g4(K6|0,0,512)|0,g4(A3|0,0,512)|0,y0=s+8|0,U0=e[y0>>2]|0,j0=(U0|0)>0,!j0){C=Q6;return}for(f1=($0|0)>0,y1=($|0)>0,D1=(I5|0)>1,o2=s+36|0,n2=(I5|0)>0,D2=s+20|0,S2=s+32|0,y2=0-I5|0,k2=U0,g6=0;;){if(f1){for(G2=(g6|0)==0,M2=1<>2]|0,q5=M5+(j5<<2)|0,R5=e[q5>>2]|0,z2=e[y5>>2]|0,E5=z2+4|0,$5=e[E5>>2]|0,h5=(R5|0)<($5|0),h5&&(Q5=Gu(z2,R5,t)|0,_5=e[o2>>2]|0,d5=_5+Q5|0,e[o2>>2]=d5),l5=k6+1|0,l6=(l5|0)==($|0),l6)break e;k6=l5}for(;;){for(b2=g+(R3<<2)|0,m5=e[b2>>2]|0,B5=m5+(j5<<2)|0,o5=e[B5>>2]|0,B6=1,$6=o5;;)if(t5=s5($6,j2)|0,T5=B6+j5|0,i5=(T5|0)<($0|0),i5?(L5=m5+(T5<<2)|0,D5=e[L5>>2]|0,V5=D5+t5|0,D6=V5):D6=t5,u5=B6+1|0,L3=(u5|0)==(I5|0),L3){G6=D6;break}else B6=u5,$6=D6;if(W2=e[y5>>2]|0,q2=W2+4|0,U2=e[q2>>2]|0,V2=(G6|0)<(U2|0),V2&&(Z2=Gu(W2,G6,t)|0,A5=e[o2>>2]|0,Y2=A5+Z2|0,e[o2>>2]=Y2),N1=R3+1|0,D3=(N1|0)==($|0),D3)break;R3=N1}}while(!1);if(F2=(j5|0)<($0|0),R6=n2&F2,R6){for(R2=j5-$0|0,Q2=R2>>>0>>0,H6=Q2?y2:R2,N5=0-H6|0,d6=j5,W3=0;;){if(X2=s5(d6,g2)|0,d2=e[Q>>2]|0,w5=d2+X2|0,y1)for(o6=0;;){if(r5=g+(o6<<2)|0,a5=e[r5>>2]|0,f5=a5+(d6<<2)|0,J2=e[f5>>2]|0,G2&&(n5=A3+(J2<<2)|0,F5=e[n5>>2]|0,e5=F5+g2|0,e[n5>>2]=e5),c5=(Q+24|0)+(J2<<2)|0,T2=e[c5>>2]|0,v5=T2&M2,z5=(v5|0)==0,!z5&&(i3=e[D2>>2]|0,C5=i3+(J2<<2)|0,I3=e[C5>>2]|0,W5=I3+(g6<<2)|0,r3=e[W5>>2]|0,a3=(r3|0)==0,!a3)){if(y3=A+(o6<<2)|0,G5=e[y3>>2]|0,Z5=e[r3>>2]|0,x3=(g2|0)/(Z5|0)&-1,f3=(x3|0)>0,f3){for(w3=r3+48|0,e6=r3+52|0,X5=r3+44|0,_3=r3+12|0,t3=r3+4|0,M=Z5,b5=0,h3=0;;){a6=s5(h3,Z5)|0,D=a6+w5|0,G3=G5+(D<<2)|0,Y3=e[w3>>2]|0,c3=e[e6>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[s3>>2]=0,e[s3+4>>2]=0,e[s3+8>>2]=0,e[s3+12>>2]=0,e[s3+16>>2]=0,e[s3+20>>2]=0,e[s3+24>>2]=0,e[s3+28>>2]=0,Q3=(c3|0)==1,F=(M|0)>0;do if(Q3){if(!F){n6=0;break}for(H=g3+-1|0,m3=0,S6=0,Z3=M;;)if(C0=Z3+-1|0,_=D+C0|0,S0=G5+(_<<2)|0,D0=e[S0>>2]|0,E0=D0-Y3|0,Q0=(E0|0)<(u3|0),Q0?(w0=u3-E0|0,B0=w0<<1,x0=B0+-1|0,G0=x0):(Z0=E0-u3|0,R0=Z0<<1,G0=R0),v0=s5(S6,g3)|0,O0=(G0|0)<0,H0=(G0|0)>=(g3|0),k0=H0?H:G0,K0=O0?0:k0,N0=K0+v0|0,M0=s3+(C0<<2)|0,e[M0>>2]=D0,P0=m3+1|0,r6=(P0|0)==(M|0),r6){n6=N0;break}else m3=P0,S6=N0,Z3=C0}else{if(!F){n6=0;break}for(G=c3>>1,O=G-Y3|0,q=g3+-1|0,M3=0,M6=0,F3=M;;)if(K=F3+-1|0,v=D+K|0,t0=G5+(v<<2)|0,Z=e[t0>>2]|0,A0=O+Z|0,r0=(A0|0)/(c3|0)&-1,o0=(r0|0)<(u3|0),o0?(J=u3-r0|0,s0=J<<1,Y=s0+-1|0,h0=Y):(d0=r0-u3|0,i0=d0<<1,h0=i0),e0=s5(M6,g3)|0,c0=(h0|0)<0,l0=(h0|0)>=(g3|0),X=l0?q:h0,m0=c0?0:X,g0=m0+e0|0,I0=s5(r0,c3)|0,n0=I0+Y3|0,f0=s3+(K<<2)|0,e[f0>>2]=n0,p0=M3+1|0,K3=(p0|0)==(M|0),K3){n6=g0;break}else M3=p0,M6=g0,F3=K}while(!1);W0=e[_3>>2]|0,J0=W0+8|0,V0=e[J0>>2]|0,q0=V0+n6|0,Y0=f[q0>>0]|0,o1=Y0<<24>>24<1;do if(o1){if(e[U5>>2]=0,e[U5+4>>2]=0,e[U5+8>>2]=0,e[U5+12>>2]=0,e[U5+16>>2]=0,e[U5+20>>2]=0,e[U5+24>>2]=0,e[U5+28>>2]=0,z0=g3+-1|0,r1=s5(z0,c3)|0,L0=r1+Y3|0,s1=e[t3>>2]|0,d1=(s1|0)>0,d1)K5=-1,x6=0,f6=n6;else{N6=n6;break}for(;;){u1=V0+x6|0,E1=f[u1>>0]|0,h1=E1<<24>>24>0;do if(h1){if(F)for(j6=0,T3=0;;)if(A1=U5+(j6<<2)|0,g1=e[A1>>2]|0,k=D+j6|0,a1=G5+(k<<2)|0,$1=e[a1>>2]|0,X0=g1-$1|0,B1=s5(X0,X0)|0,p1=B1+T3|0,Q1=j6+1|0,A6=(Q1|0)==(M|0),A6){y6=p1;break}else j6=Q1,T3=p1;else y6=0;if(C1=(K5|0)==-1,v1=(y6|0)<(K5|0),t6=C1|v1,!t6){H5=K5,b6=f6;break}e[s3>>2]=e[U5>>2]|0,e[s3+4>>2]=e[U5+4>>2]|0,e[s3+8>>2]=e[U5+8>>2]|0,e[s3+12>>2]=e[U5+12>>2]|0,e[s3+16>>2]=e[U5+16>>2]|0,e[s3+20>>2]=e[U5+20>>2]|0,e[s3+24>>2]=e[U5+24>>2]|0,e[s3+28>>2]=e[U5+28>>2]|0,H5=y6,b6=x6}else H5=K5,b6=f6;while(!1);if(k1=e[U5>>2]|0,S1=(k1|0)<(L0|0),S1)p=U5,m=k1;else for(M1=U5,s6=0;;)if(L1=s6+1|0,e[M1>>2]=0,b1=U5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(L0|0),R1){p=b1,m=_1;break}else M1=b1,s6=L1;if(F1=(m|0)>-1,F1?(P1=m+c3|0,e[p>>2]=P1,X1=P1):X1=m,O1=0-X1|0,e[p>>2]=O1,G1=x6+1|0,n3=(G1|0)==(s1|0),n3){N6=b6;break}else K5=H5,x6=G1,f6=b6}}else N6=n6;while(!1);if(x1=(N6|0)>-1,c6=F&x1,c6)for(d=G3,L6=0;J1=s3+(L6<<2)|0,H1=e[J1>>2]|0,V1=d+4|0,Y1=e[d>>2]|0,z1=Y1-H1|0,e[d>>2]=z1,t2=L6+1|0,l3=(t2|0)==(M|0),!l3;)d=V1,L6=t2;if(e2=Gu(r3,N6,t)|0,q1=e2+b5|0,h2=h3+1|0,U3=(h2|0)==(x3|0),U3){E=q1;break}y=e[r3>>2]|0,M=y,b5=q1,h3=h2}B=e[r5>>2]|0,C2=B,Y5=E}else C2=a5,Y5=0;Z1=e[S2>>2]|0,I2=Z1+Y5|0,e[S2>>2]=I2,A2=C2+(d6<<2)|0,$2=e[A2>>2]|0,W1=K6+($2<<2)|0,f2=e[W1>>2]|0,u2=f2+Y5|0,e[W1>>2]=u2}if(s2=o6+1|0,C6=(s2|0)==($|0),C6)break;o6=s2}if(l2=W3+1|0,i2=d6+1|0,b3=(l2|0)==(N5|0),b3)break;d6=i2,W3=l2}O2=j5-H6|0,J3=O2}else J3=j5;if(p2=(J3|0)<($0|0),p2)j5=J3;else break}b=e[y0>>2]|0,r2=b}else r2=k2;if(a2=g6+1|0,m2=(a2|0)<(r2|0),m2)k2=r2,g6=a2;else break}C=Q6}function H8(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0;if(y=C,A=(t|0)==0,A)p=0;else for(s=t,m=0;;)if($=s>>>1,g=m+1|0,d=($|0)==0,d){p=g;break}else s=$,m=g;return p|0}function Ty(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0;f2=C,C=C+144|0,q1=f2,E=(A|0)!=0,y=E?A:s,F=y<<2,o0=Re(F)|0,g4(q1|0,0,132)|0,X=(s|0)>0;do if(X){E0=q1+4|0,H0=(A|0)==0,Y0=H0&1,k1=0,D1=0;e:for(;;){A1=t+D1|0,v1=f[A1>>0]|0,B=v1<<24>>24,b=v1<<24>>24>0;t:do if(b){if(D=q1+(B<<2)|0,k=e[D>>2]|0,v=v1<<24>>24>31,_=k>>>B,Q=(_|0)==0,h2=v|Q,!h2){W1=5;break e}L=o0+(k1<<2)|0,e[L>>2]=k,R=q1+(B<<2)|0,M=k&1,G=(M|0)==0;i:do if(G)for(J=k,s0=R,J1=B;;){if(r0=J+1|0,e[s0>>2]=r0,Y=J1+-1|0,d0=(J1|0)>1,!d0)break i;if(d=q1+(Y<<2)|0,m=e[d>>2]|0,i0=q1+(Y<<2)|0,e0=m&1,h0=(e0|0)==0,h0)J=m,s0=i0,J1=Y;else{g=i0,x1=Y,W1=8;break}}else g=R,x1=B,W1=8;while(!1);do if((W1|0)==8)if(W1=0,q=(x1|0)==1,q){H=e[E0>>2]|0,K=H+1|0,e[E0>>2]=K;break}else{t0=x1+-1|0,Z=q1+(t0<<2)|0,A0=e[Z>>2]|0,j=A0<<1,e[g>>2]=j;break}while(!1);if(z1=B+1|0,O=(z1|0)<33,O)for(R1=k,V1=B,t2=z1;;){if(c0=q1+(t2<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){p=1;break t}if(g0=q1+(V1<<2)|0,I0=e[g0>>2]|0,n0=I0<<1,e[c0>>2]=n0,H1=t2+1|0,f0=(H1|0)<33,f0)Y1=t2,R1=$0,t2=H1,V1=Y1;else{p=1;break}}else p=1}else p=Y0;while(!1);if(S1=k1+p|0,p0=D1+1|0,C0=(p0|0)<(s|0),C0)k1=S1,D1=p0;else{L1=S1,W1=16;break}}if((W1|0)==5)return E2(o0),$=0,C=f2,$|0;if((W1|0)==16){if(Z1=(L1|0)==1,!Z1){O1=1,W1=27;break}if(S0=q1+8|0,y0=e[S0>>2]|0,D0=(y0|0)==2,D0)break;O1=1,W1=27;break}}else O1=1,W1=27;while(!1);e:do if((W1|0)==27){for(;W1=0,j0=q1+(O1<<2)|0,q0=e[j0>>2]|0,o1=32-O1|0,z0=-1>>>o1,r1=q0&z0,L0=(r1|0)==0,J0=O1+1|0,!!L0;)if(V0=(J0|0)<33,V0)O1=J0,W1=27;else break e;return E2(o0),$=0,C=f2,$|0}while(!1);if(!X)return $=o0,C=f2,$|0;if(E)b1=0,G1=0;else{for(M1=0,X1=0;;){if(s1=t+X1|0,d1=f[s1>>0]|0,u1=d1<<24>>24>0,u1)for(E1=o0+(M1<<2)|0,f1=e[E1>>2]|0,h1=d1<<24>>24,o2=0,C2=0;;)if(g1=C2<<1,a1=f1>>>o2,$1=a1&1,X0=$1|g1,B1=o2+1|0,p1=(B1|0)<(h1|0),p1)o2=B1,C2=X0;else{I2=X0;break}else I2=0;if(Q1=M1+1|0,C1=o0+(M1<<2)|0,e[C1>>2]=I2,y1=X1+1|0,F1=(y1|0)==(s|0),F1){$=o0;break}else M1=Q1,X1=y1}return C=f2,$|0}for(;;){if(Q0=t+G1|0,w0=f[Q0>>0]|0,B0=w0<<24>>24>0,B0)for(W0=o0+(b1<<2)|0,O0=e[W0>>2]|0,P0=w0<<24>>24,e2=0,$2=0;;)if(G0=$2<<1,U0=O0>>>e2,k0=U0&1,K0=k0|G0,N0=e2+1|0,M0=(N0|0)<(P0|0),M0)e2=N0,$2=K0;else{A2=K0;break}else A2=0;if(x0=w0<<24>>24==0,x0?_1=b1:(Z0=b1+1|0,R0=o0+(b1<<2)|0,e[R0>>2]=A2,_1=Z0),v0=G1+1|0,P1=(v0|0)==(s|0),P1){$=o0;break}else b1=_1,G1=v0}return C=f2,$|0}function tD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0;if(J=C,$=t+4|0,g=e[$>>2]|0,_=e[t>>2]|0,Q=(_|0)>0,!Q)for(;;);for(L=+(g|0),R=L,M=+(_|0),F=1/M,G=F,O=+Fu(+R,+G),d=+oA(+O),p=~~d,Z=p;;){for(D=Z+1|0,q=1,H=1,K=0;;)if(B=s5(q,Z)|0,b=s5(H,D)|0,k=K+1|0,v=(k|0)<(_|0),v)q=B,H=b,K=k;else{s=B,A=b;break}if(m=(s|0)<=(g|0),E=(A|0)>(g|0),t0=m&E,t0){r0=Z;break}y=(s|0)>(g|0),j=y?-1:1,A0=Z+j|0,Z=A0}return r0|0}function iD(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0;if(z5=C,y=t+12|0,B=e[y>>2]|0,E=B+-1|0,n5=E>>>0<2,!n5)return d=0,d|0;if(z0=t+16|0,a1=e[z0>>2]|0,L1=a1&2097151,x1=+(L1|0),Z1=a1>>>21,l2=Z1&1023,O2=(a1|0)<0,t5=-x1,$=O2?t5:x1,b=l2+-788|0,O=+AE($,b),s0=O,g0=t+20|0,w0=e[g0>>2]|0,K0=w0&2097151,j0=+(K0|0),q0=w0>>>21,Y0=q0&1023,o1=(w0|0)<0,r1=-j0,g=o1?r1:j0,L0=Y0+-788|0,s1=+AE(g,L0),d1=s1,u1=e[t>>2]|0,E1=s5(u1,s)|0,f1=l9(E1,4)|0,(B|0)==1){if(v1=t+4|0,k1=e[v1>>2]|0,S1=(u1|0)>0,!S1)for(;;);for(M1=+(k1|0),b1=M1,_1=+(u1|0),R1=1/_1,F1=R1,P1=+Fu(+b1,+F1),D1=+oA(+P1),O1=~~D1,c5=O1;;){for(I2=c5+1|0,o5=1,F2=1,E5=0;;)if(q1=s5(o5,c5)|0,h2=s5(F2,I2)|0,A2=E5+1|0,p5=(A2|0)==(u1|0),p5){p=q1,m=h2;break}else o5=q1,F2=h2,E5=A2;if(X1=(p|0)<=(k1|0),G1=(m|0)>(k1|0),I5=G1&X1,I5){T2=c5;break}e2=(p|0)>(k1|0),e5=e2?-1:1,F5=e5+c5|0,c5=F5}if(J1=(k1|0)>0,!J1)return d=f1,d|0;for(H1=(A|0)==0,V1=t+8|0,Y1=t+32|0,z1=d1,t2=s0,o2=t+28|0,R2=0,T1=0;;){if(H1)if(g2=e[Y1>>2]|0,n2=e[o2>>2]|0,u2=(n2|0)==0,s2=s5(u1,R2)|0,u2)for(Q5=1,X2=0;;)if(L5=(T1|0)/(Q5|0)&-1,j2=(L5|0)%(T2|0)&-1,m5=g2+(j2<<2)|0,D5=e[m5>>2]|0,V5=+(D5|0),z2=+rr(+V5),u5=z2,b2=u5*z1,B5=t2+b2,D=B5,k=s2+X2|0,v=f1+(k<<2)|0,o[v>>2]=D,_=s5(Q5,T2)|0,Q=X2+1|0,L=(Q|0)<(u1|0),L)Q5=_,X2=Q;else{v5=21;break}else for($5=1,d5=0,r5=0;;)if(R=(T1|0)/($5|0)&-1,M=(R|0)%(T2|0)&-1,F=g2+(M<<2)|0,G=e[F>>2]|0,q=+(G|0),q5=+rr(+q),H=q5,K=H*z1,t0=r5,Z=t0+t2,A0=Z+K,j=A0,r0=s2+d5|0,o0=f1+(r0<<2)|0,o[o0>>2]=j,J=s5($5,T2)|0,Y=d5+1|0,d0=(Y|0)<(u1|0),d0)$5=J,d5=Y,r5=j;else{v5=21;break}else if(C2=e[V1>>2]|0,$2=C2+T1|0,W1=f[$2>>0]|0,f2=W1<<24>>24==0,f2)Q2=R2;else for(i2=e[Y1>>2]|0,a2=e[o2>>2]|0,m2=(a2|0)==0,r2=A+(R2<<2)|0,k2=e[r2>>2]|0,D2=s5(k2,u1)|0,h5=1,l5=0,a5=0;;)if(S2=(T1|0)/(h5|0)&-1,y2=(S2|0)%(T2|0)&-1,G2=i2+(y2<<2)|0,M2=e[G2>>2]|0,p2=+(M2|0),R5=+rr(+p2),W2=R5,q2=W2*z1,K2=a5,U2=K2+t2,V2=U2+q2,Z2=V2,w5=m2?a5:Z2,A5=D2+l5|0,Y2=f1+(A5<<2)|0,o[Y2>>2]=Z2,N1=s5(h5,T2)|0,T5=l5+1|0,i5=(T5|0)<(u1|0),i5)h5=N1,l5=T5,a5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,i0=R2+1|0,Q2=i0),e0=T1+1|0,h0=(e0|0)<(k1|0),h0)R2=Q2,T1=e0;else{d=f1;break}}return d|0}else if((B|0)==2){if(h1=t+4|0,A1=e[h1>>2]|0,g1=(A1|0)>0,!g1)return d=f1,d|0;for($1=(A|0)!=0,X0=t+8|0,B1=t+32|0,p1=d1,Q1=s0,C1=t+28|0,y1=(u1|0)>0,y5=0,_5=0;;){if($1?(c0=e[X0>>2]|0,$0=c0+_5|0,l0=f[$0>>0]|0,X=l0<<24>>24==0,X?N5=y5:v5=25):v5=25,(v5|0)==25){if(v5=0,y1)for(m0=e[B1>>2]|0,I0=e[C1>>2]|0,n0=(I0|0)==0,f0=A+(y5<<2)|0,p0=s5(u1,_5)|0,C0=s5(u1,y5)|0,d2=0,J2=0;S0=p0+d2|0,y0=m0+(S0<<2)|0,D0=e[y0>>2]|0,E0=+(D0|0),M5=+rr(+E0),Q0=M5,B0=Q0*p1,x0=J2,Z0=x0+Q1,R0=Z0+B0,v0=R0,f5=n0?J2:v0,$1?(G0=e[f0>>2]|0,U0=s5(G0,u1)|0,O0=U0+d2|0,H0=f1+(O0<<2)|0,o[H0>>2]=v0):(k0=C0+d2|0,N0=f1+(k0<<2)|0,o[N0>>2]=v0),M0=d2+1|0,P0=(M0|0)<(u1|0),P0;)d2=M0,J2=f5;W0=y5+1|0,N5=W0}if(J0=_5+1|0,V0=(J0|0)<(A1|0),V0)y5=N5,_5=J0;else{d=f1;break}}return d|0}else return d=f1,d|0;return 0}function RC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0;b=C,s=t+36|0,A=e[s>>2]|0,$=(A|0)==0,!$&&(g=t+32|0,d=e[g>>2]|0,p=(d|0)==0,p||E2(d),m=t+8|0,E=e[m>>2]|0,y=(E|0)==0,y||E2(E),E2(t))}function rD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;R=C,s=t+16|0,A=e[s>>2]|0,E=(A|0)==0,E||E2(A),y=t+20|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),D=t+24|0,k=e[D>>2]|0,v=(k|0)==0,v||E2(k),_=t+28|0,$=e[_>>2]|0,g=($|0)==0,g||E2($),d=t+32|0,p=e[d>>2]|0,m=(p|0)==0,m||E2(p),Q=t,M=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(M|0))}function Ny(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;q0=C,V0=t,Y0=V0+56|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0));if(p=t+12|0,e[p>>2]=s,m=s+4|0,R=e[m>>2]|0,j=t+4|0,e[j>>2]=R,$0=t+8|0,e[$0>>2]=R,y0=e[s>>2]|0,e[t>>2]=y0,x0=s+8|0,Z0=e[x0>>2]|0,R0=Ty(Z0,R,0)|0,v0=t+20|0,e[v0>>2]=R0,E=e[m>>2]|0,y=e[s>>2]|0,B=(y|0)>0,!B)for(;;);for(b=+(E|0),D=b,k=+(y|0),v=1/k,_=v,Q=+Fu(+D,+_),L=+oA(+Q),M=~~L,W0=M;;){for(K=W0+1|0,G0=1,U0=1,H0=0;;)if(q=s5(G0,W0)|0,H=s5(U0,K)|0,t0=H0+1|0,O0=(t0|0)==(y|0),O0){g=q,d=H;break}else G0=q,U0=H,H0=t0;if(F=(g|0)<=(E|0),G=(d|0)>(E|0),k0=G&F,k0){J0=W0;break}O=(g|0)>(E|0),P0=O?-1:1,M0=P0+W0|0,W0=M0}return Z=t+44|0,e[Z>>2]=J0,A0=s+16|0,r0=e[A0>>2]|0,o0=r0&2097151,J=+(o0|0),s0=r0>>>21,Y=s0&1023,d0=(r0|0)<0,i0=-J,A=d0?i0:J,e0=Y+-788|0,h0=+AE(A,e0),c0=h0,K0=+Hy(c0),l0=~~K0,X=t+48|0,e[X>>2]=l0,m0=s+20|0,g0=e[m0>>2]|0,I0=g0&2097151,n0=+(I0|0),f0=g0>>>21,p0=f0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,D0=p0+-788|0,E0=+AE($,D0),Q0=E0,N0=+Hy(Q0),w0=~~N0,B0=t+52|0,e[B0>>2]=w0,0}function nD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0;O3=C,_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));if(D=s+4|0,k=e[D>>2]|0,C2=(k|0)>0,C2)for(z2=s+8|0,w5=e[z2>>2]|0,W3=0,G6=0;;)if(v5=w5+W3|0,Z5=f[v5>>0]|0,Y3=Z5<<24>>24>0,l6=Y3&1,E=l6+G6|0,j5=W3+1|0,v=(j5|0)<(k|0),v)W3=j5,G6=E;else{f0=E;break}else f0=0;if(K=t+4|0,e[K>>2]=k,i0=t+8|0,e[i0>>2]=f0,Z0=e[s>>2]|0,e[t>>2]=Z0,P0=(f0|0)>0,!P0)return $=0,C=O3,$|0;if(s1=s+8|0,B1=e[s1>>2]|0,_1=Ty(B1,k,f0)|0,V1=f0<<2,d=V1,$2=C,C=C+((1*d|0)+15&-16)|0,r2=(_1|0)==0,r2){V2=t+16|0,Z2=e[V2>>2]|0,A5=(Z2|0)==0,A5||E2(Z2),Y2=t+20|0,N1=e[Y2>>2]|0,t5=(N1|0)==0,t5||E2(N1),T5=t+24|0,i5=e[T5>>2]|0,L5=(i5|0)==0,L5||E2(i5),m5=t+28|0,D5=e[m5>>2]|0,V5=(D5|0)==0,V5||E2(D5),u5=t+32|0,b2=e[u5>>2]|0,B5=(b2|0)==0,B5||E2(b2),_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));return $=-1,C=O3,$|0}else F3=0;for(;K2=_1+(F3<<2)|0,j2=e[K2>>2]|0,y5=j2>>>16,N5=j2<<16,p5=y5|N5,M5=p5>>>8,q5=M5&16711935,R5=p5<<8,E5=R5&-16711936,$5=q5|E5,h5=$5>>>4,Q5=h5&252645135,T1=$5<<4,_5=T1&-252645136,d5=Q5|_5,l5=d5>>>2,X2=l5&858993459,d2=d5<<2,r5=d2&-858993460,a5=X2|r5,f5=a5>>>1,J2=f5&1431655765,I5=a5<<1,n5=I5&-1431655766,F5=J2|n5,e[K2>>2]=F5,e5=$2+(F3<<2)|0,e[e5>>2]=K2,c5=F3+1|0,j6=(c5|0)==(f0|0),!j6;)F3=c5;for(Pu($2,f0,4,10),p=V1,T2=C,C=C+((1*p|0)+15&-16)|0,z5=Re(V1)|0,i3=t+20|0,e[i3>>2]=z5,C5=_1,Z3=0;;)if(I3=$2+(Z3<<2)|0,d3=e[I3>>2]|0,W5=d3,r3=W5-C5|0,a3=r3>>2,y3=T2+(a3<<2)|0,e[y3>>2]=Z3,G5=Z3+1|0,N6=(G5|0)==(f0|0),N6){t6=0;break}else Z3=G5;for(;x3=_1+(t6<<2)|0,f3=e[x3>>2]|0,w3=T2+(t6<<2)|0,e6=e[w3>>2]|0,V3=z5+(e6<<2)|0,e[V3>>2]=f3,X5=t6+1|0,b6=(X5|0)==(f0|0),!b6;)t6=X5;if(E2(_1),_3=iD(s,f0,T2)|0,t3=t+16|0,e[t3>>2]=_3,a6=Re(V1)|0,G3=t+24|0,e[G3>>2]=a6,c3=e[D>>2]|0,g3=(c3|0)>0,g3)for(y=e[s1>>2]|0,R6=0,Q6=0;;)if(u3=y+R6|0,Q3=f[u3>>0]|0,K5=Q3<<24>>24>0,K5?(H5=Q6+1|0,Y5=T2+(Q6<<2)|0,b5=e[Y5>>2]|0,z3=a6+(b5<<2)|0,e[z3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,n3=(U5|0)<(c3|0),n3)R6=U5,Q6=X6;else{ee=X6;break}else ee=0;if(l3=Re(ee)|0,U3=t+28|0,e[U3>>2]=l3,C6=t+40|0,e[C6>>2]=0,g3){for(B=e[s1>>2]|0,o5=0,L3=B,c6=0,re=0;;)if(b3=L3+c6|0,D3=f[b3>>0]|0,A6=D3<<24>>24>0,A6?(r6=re+1|0,K3=T2+(re<<2)|0,M3=e[K3>>2]|0,h3=e[U3>>2]|0,J3=h3+M3|0,f[J3>>0]=D3,d6=e[s1>>2]|0,m3=d6+c6|0,x6=f[m3>>0]|0,L6=x6<<24>>24,M6=e[C6>>2]|0,S6=(L6|0)>(M6|0),S6?(e[C6>>2]=L6,F2=L6,R2=d6,V6=r6):(F2=M6,R2=d6,V6=r6)):(F2=o5,R2=L3,V6=re),n6=c6+1|0,_=e[D>>2]|0,Q=(n6|0)<(_|0),Q)o5=F2,L3=R2,c6=n6,re=V6;else{m=F2,se=V6;break}if(L=(se|0)==1,L){if(R=(m|0)==1,R)return M=t+36|0,e[M>>2]=1,F=l9(2,4)|0,G=t+32|0,e[G>>2]=F,O=F+4|0,e[O>>2]=1,e[F>>2]=1,$=0,C=O3,$|0;P3=1}else P3=se}else P3=0;if(q=e[i0>>2]|0,H=(q|0)==0,H)U6=-4;else{for(g=q,Y6=0;;)if(t0=g>>>1,Z=Y6+1|0,A0=(t0|0)==0,A0){F6=Y6;break}else g=t0,Y6=Z;ge=F6+-3|0,U6=ge}if(j=t+36|0,r0=(U6|0)<5,A=r0?5:U6,o0=(A|0)>8,te=o0?8:A,e[j>>2]=te,J=1<>2]=s0,d0=(P3|0)>0,d0)for(l0=te,s3=0;;){if(e0=e[U3>>2]|0,h0=e0+s3|0,c0=f[h0>>0]|0,$0=c0<<24>>24,X=(l0|0)<($0|0),X)Q2=l0;else if(m0=e[i3>>2]|0,g0=m0+(s3<<2)|0,I0=e[g0>>2]|0,n0=I0>>>16,p0=I0<<16,C0=n0|p0,S0=C0>>>8,y0=S0&16711935,D0=C0<<8,E0=D0&-16711936,Q0=y0|E0,w0=Q0>>>4,B0=w0&252645135,x0=Q0<<4,R0=x0&-252645136,v0=B0|R0,G0=v0>>>2,U0=G0&858993459,O0=v0<<2,H0=O0&-858993460,k0=U0|H0,K0=k0>>>1,N0=K0&1431655765,M0=k0<<1,W0=M0&-1431655766,J0=N0|W0,V0=l0-$0|0,j0=(V0|0)==31,j0)Q2=l0;else for(q0=s3+1|0,o1=$0,A3=0;;)if(Y0=A3<>2]=q0,L0=A3+1|0,d1=e[j>>2]|0,u1=f[h0>>0]|0,E1=u1<<24>>24,f1=d1-E1|0,h1=1<>>16,k1=y1<<16,S1=v1|k1,L1=S1>>>8,M1=L1&16711935,b1=S1<<8,R1=b1&-16711936,F1=M1|R1,P1=F1>>>4,D1=P1&252645135,O1=F1<<4,X1=O1&-252645136,G1=D1|X1,x1=G1>>>2,J1=x1&858993459,H1=G1<<2,Y1=H1&-858993460,z1=J1|Y1,t2=z1>>>1,o2=t2&1431655765,e2=z1<<1,q1=e2&-1431655766,h2=o2|q1,Z1=s0+(h2<<2)|0,I2=e[Z1>>2]|0,A2=(I2|0)==0,A2){for(y6=g6;;){if(W1=y6+1|0,f2=(W1|0)<(P3|0),!f2){T3=y6;break}if(g2=e[i3>>2]|0,n2=g2+(W1<<2)|0,u2=e[n2>>2]|0,s2=u2>>>0>y1>>>0,s2){T3=y6;break}else y6=W1}l2=(P3|0)>(k6|0);e:do if(l2)for(i2=e[i3>>2]|0,s6=k6;;){if(a2=i2+(s6<<2)|0,m2=e[a2>>2]|0,k2=m2&X0,D2=y1>>>0>>0,D2){R3=s6;break e}if(S2=s6+1|0,y2=(P3|0)>(S2|0),y2)s6=S2;else{R3=S2;break}}else R3=k6;while(!1);G2=P3-R3|0,M2=T3>>>0>32767,O2=G2>>>0>32767,B6=O2?32767:G2,H6=T3<<15,$6=H6|-2147483648,p2=M2?-1073774592:$6,W2=p2|B6,e[Z1>>2]=W2,o6=R3,D6=T3}else o6=k6,D6=g6;if(q2=K6+1|0,U2=(q2|0)<(J|0),!U2){$=0;break}b=e[j>>2]|0,C1=b,k6=o6,K6=q2,g6=D6}return C=O3,$|0}function sD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0;return D=C,A=e[t>>2]|0,$=e[A>>2]|0,g=e[s>>2]|0,d=e[g>>2]|0,p=$>>>0>d>>>0,m=p&1,E=$>>>0>>0,y=E&1,B=m-y|0,B|0}function oD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0;if(Z0=C,y=e[t>>2]|0,B=(y|0)==1,!B&&(G=t+4|0,J=e[G>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,X=l0+4|0,m0=e[X>>2]|0,g0=(m0|0)>0,!!g0)){for(I0=m0+1|0,E=y+-1|0,C0=y,S0=0,y0=y,E0=1;;){b=I0-S0|0,D=l0+(b<<2)|0,k=e[D>>2]|0,v=(y0|0)/(k|0)&-1,_=(y|0)/(y0|0)&-1,Q=s5(_,v)|0,L=k+-1|0,R=s5(_,L)|0,M=C0-R|0,F=1-E0|0;do if((k|0)==2)if(Z=(F|0)==0,A=E+M|0,A0=J+(A<<2)|0,Z){Oy(_,v,s,J,A0),Q0=0;break}else{Oy(_,v,J,s,A0),Q0=F;break}else if((k|0)==4)if(O=M+_|0,q=(F|0)==0,$=E+M|0,H=J+($<<2)|0,g=E+O|0,K=J+(g<<2)|0,d=E+_|0,p=d+O|0,t0=J+(p<<2)|0,q){Py(_,v,s,J,H,K,t0),Q0=0;break}else{Py(_,v,J,s,H,K,t0),Q0=F;break}else if(j=(_|0)==1,D0=j?E0:F,r0=(D0|0)==0,m=E+M|0,o0=J+(m<<2)|0,r0){qy(_,k,v,Q,s,s,s,J,J,o0),Q0=1;break}else{qy(_,k,v,Q,J,J,J,s,s,o0),Q0=0;break}while(!1);if(s0=S0+1|0,f0=(s0|0)==(m0|0),f0){w0=Q0;break}else C0=M,S0=s0,y0=v,E0=Q0}if(Y=(w0|0)!=1,d0=(y|0)>0,B0=d0&Y,B0)p0=0;else return;for(;i0=J+(p0<<2)|0,e0=e[i0>>2]|0,h0=s+(p0<<2)|0,e[h0>>2]=e0,c0=p0+1|0,n0=(c0|0)==(y|0),!n0;)p0=c0}}function Gy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0;if(B1=C,e[t>>2]=s,p=s*3|0,m=l9(p,4)|0,R=t+4|0,e[R>>2]=m,j=l9(32,4)|0,$0=t+8|0,e[$0>>2]=j,y0=(s|0)==1,!y0){Z0=j+8|0,z0=-1,u1=0,E1=s,h1=0;e:for(;;)for(R0=z0+1|0,v0=(R0|0)<4,v0?(G0=25768+(R0<<2)|0,E=e[G0>>2]|0,A1=E):(y=h1+2|0,A1=y),B=(A1|0)!=2,V0=u1,f1=E1;;){if(W0=V0+1|0,b=(f1|0)/(A1|0)&-1,D=s5(b,A1)|0,k=(f1|0)==(D|0),!k){z0=R0,u1=V0,E1=f1,h1=A1;continue e}if(v=V0+2|0,_=j+(v<<2)|0,e[_>>2]=A1,Q=(V0|0)==0,g1=B|Q,!g1){if(L=(V0|0)<1,!L)for(N0=1;M=W0-N0|0,F=M+1|0,G=j+(F<<2)|0,O=e[G>>2]|0,q=M+2|0,H=j+(q<<2)|0,e[H>>2]=O,K=N0+1|0,k0=(K|0)==(W0|0),!k0;)N0=K;e[Z0>>2]=2}if(t0=(b|0)==1,t0){A=Q,J0=W0,j0=V0;break e}else V0=W0,f1=b}if(e[j>>2]=s,Z=j+4|0,e[Z>>2]=J0,A0=+(s|0),r0=6.2831854820251465/A0,$=A^1,o0=(j0|0)>0,a1=o0&$,!!a1)for(J=s+1|0,q0=0,L0=0,s1=1;;){if(s0=L0+2|0,Y=j+(s0<<2)|0,d0=e[Y>>2]|0,i0=s5(d0,s1)|0,e0=(s|0)/(i0|0)&-1,h0=(d0|0)>1,h0){for(c0=(e0|0)>2,l0=d0+-1|0,o1=q0,r1=0,d1=0;;){if(X=d1+s1|0,m0=+(X|0),g0=m0*r0,c0)for(K0=0,M0=o1,P0=2;I0=K0+1,n0=g0*I0,U0=+aA(+n0),g=M0+s|0,f0=m+(g<<2)|0,o[f0>>2]=U0,$1=+Vn(+n0),p0=M0+2|0,d=J+M0|0,C0=m+(d<<2)|0,o[C0>>2]=$1,S0=P0+2|0,D0=(S0|0)<(e0|0),D0;)K0=I0,M0=p0,P0=S0;if(E0=o1+e0|0,Q0=r1+1|0,O0=(Q0|0)==(l0|0),O0)break;o1=E0,r1=Q0,d1=X}w0=s5(e0,l0)|0,B0=w0+q0|0,Y0=B0}else Y0=q0;if(x0=L0+1|0,H0=(x0|0)==(j0|0),H0)break;q0=Y0,L0=x0,s1=i0}}}function Uy(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0;y=C,s=(t|0)==0,!s&&(A=t+4|0,$=e[A>>2]|0,g=($|0)==0,g||E2($),d=t+8|0,p=e[d>>2]|0,m=(p|0)==0,m||E2(p),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function Py(t,s,A,$,g,d,p){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0;var m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0;if(I3=C,m=s5(s,t)|0,E=m<<1,Q1=(s|0)>0,Q1)for(F1=m*3|0,z1=t<<2,W1=z1+-1|0,k2=t<<1,d2=0,a5=m,I5=F1,e5=0,c5=E;U2=A+(a5<<2)|0,m5=+o[U2>>2],N5=A+(I5<<2)|0,y=+o[N5>>2],F=y+m5,o0=A+(e5<<2)|0,X=+o[o0>>2],E0=A+(c5<<2)|0,H0=+o[E0>>2],Y0=H0+X,A1=Y0+F,B1=e5<<2,p1=$+(B1<<2)|0,o[p1>>2]=A1,C1=Y0-F,y1=W1+B1|0,v1=$+(y1<<2)|0,o[v1>>2]=C1,k1=+o[o0>>2],S1=+o[E0>>2],L1=k1-S1,M1=B1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,o[_1>>2]=L1,R1=+o[N5>>2],P1=+o[U2>>2],D1=R1-P1,O1=$+(M1<<2)|0,o[O1>>2]=D1,X1=a5+t|0,G1=I5+t|0,x1=e5+t|0,J1=c5+t|0,H1=d2+1|0,d5=(H1|0)==(s|0),!d5;)d2=H1,a5=X1,I5=G1,e5=x1,c5=J1;if(V1=(t|0)<2,!V1){if(Y1=(t|0)==2,!Y1){if(Q1)for(t2=t<<1,w5=0,f5=0;;){for(n0=f5<<2,f0=n0+t2|0,X2=2,n5=f5,T2=n0,z5=f0;q1=n5+2|0,h2=T2+2|0,Z1=z5+-2|0,I2=q1+m|0,A2=X2+-2|0,C2=g+(A2<<2)|0,$2=+o[C2>>2],f2=I2+-1|0,g2=A+(f2<<2)|0,n2=+o[g2>>2],u2=n2*$2,s2=X2+-1|0,l2=g+(s2<<2)|0,i2=+o[l2>>2],a2=A+(I2<<2)|0,m2=+o[a2>>2],r2=m2*i2,D2=r2+u2,S2=m2*$2,y2=i2*n2,G2=S2-y2,M2=I2+m|0,O2=d+(A2<<2)|0,p2=+o[O2>>2],W2=M2+-1|0,q2=A+(W2<<2)|0,K2=+o[q2>>2],V2=K2*p2,Z2=d+(s2<<2)|0,A5=+o[Z2>>2],Y2=A+(M2<<2)|0,N1=+o[Y2>>2],t5=N1*A5,T5=t5+V2,i5=N1*p2,L5=A5*K2,j2=i5-L5,D5=M2+m|0,V5=p+(A2<<2)|0,u5=+o[V5>>2],b2=D5+-1|0,B5=A+(b2<<2)|0,o5=+o[B5>>2],F2=o5*u5,R2=p+(s2<<2)|0,Q2=+o[R2>>2],y5=A+(D5<<2)|0,p5=+o[y5>>2],M5=p5*Q2,q5=M5+F2,R5=p5*u5,z2=Q2*o5,E5=R5-z2,$5=q5+D2,h5=q5-D2,Q5=E5+G2,T1=G2-E5,B=A+(q1<<2)|0,b=+o[B>>2],D=b+j2,k=b-j2,v=n5+1|0,_=A+(v<<2)|0,Q=+o[_>>2],L=Q+T5,R=Q-T5,M=$5+L,G=T2|1,O=$+(G<<2)|0,o[O>>2]=M,q=Q5+D,H=$+(h2<<2)|0,o[H>>2]=q,K=R-T1,t0=z5+-3|0,Z=$+(t0<<2)|0,o[Z>>2]=K,A0=h5-k,j=$+(Z1<<2)|0,o[j>>2]=A0,r0=T1+R,J=h2+t2|0,s0=J+-1|0,Y=$+(s0<<2)|0,o[Y>>2]=r0,d0=h5+k,i0=$+(J<<2)|0,o[i0>>2]=d0,e0=L-$5,h0=Z1+t2|0,c0=h0+-1|0,$0=$+(c0<<2)|0,o[$0>>2]=e0,l0=Q5-D,m0=$+(h0<<2)|0,o[m0>>2]=l0,g0=X2+2|0,I0=(g0|0)<(t|0),I0;)X2=g0,n5=q1,T2=h2,z5=Z1;if(o2=f5+t|0,e2=w5+1|0,l5=(e2|0)==(s|0),l5)break;w5=e2,f5=o2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,y0=S0+m|0,D0=t<<2,Q0=t<<1,!!Q1)for(w0=y0+E|0,r5=0,J2=y0,F5=w0,v5=t,i3=t;B0=A+(J2<<2)|0,x0=+o[B0>>2],Z0=A+(F5<<2)|0,R0=+o[Z0>>2],v0=R0+x0,G0=v0*-.7071067690849304,U0=x0-R0,O0=U0*.7071067690849304,k0=i3+-1|0,K0=A+(k0<<2)|0,N0=+o[K0>>2],M0=O0+N0,P0=v5+-1|0,W0=$+(P0<<2)|0,o[W0>>2]=M0,J0=+o[K0>>2],V0=J0-O0,j0=v5+Q0|0,q0=j0+-1|0,o1=$+(q0<<2)|0,o[o1>>2]=V0,z0=J2+m|0,r1=A+(z0<<2)|0,L0=+o[r1>>2],s1=G0-L0,d1=$+(v5<<2)|0,o[d1>>2]=s1,u1=+o[r1>>2],E1=u1+G0,f1=$+(j0<<2)|0,o[f1>>2]=E1,h1=J2+t|0,g1=F5+t|0,a1=v5+D0|0,$1=i3+t|0,X0=r5+1|0,_5=(X0|0)==(s|0),!_5;)r5=X0,J2=h1,F5=g1,v5=a1,i3=$1}}function Oy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0;if(D1=C,d=s5(s,t)|0,p=t<<1,L=(s|0)>0,L)for(A0=p+-1|0,B1=0,C1=0,k1=d;c0=A+(C1<<2)|0,S0=+o[c0>>2],G0=A+(k1<<2)|0,V0=+o[G0>>2],E1=V0+S0,A1=C1<<1,m=$+(A1<<2)|0,o[m>>2]=E1,E=+o[c0>>2],y=+o[G0>>2],B=E-y,b=A0+A1|0,D=$+(b<<2)|0,o[D>>2]=B,k=C1+t|0,v=k1+t|0,_=B1+1|0,a1=(_|0)==(s|0),!a1;)B1=_,C1=k,k1=v;if(Q=(t|0)<2,!Q){if(R=(t|0)==2,!R){if(L)for(p1=0,y1=0,S1=d;;){for(K0=y1<<1,N0=K0+p|0,X0=2,M1=S1,_1=N0,R1=y1,F1=K0;O=M1+2|0,q=_1+-2|0,H=R1+2|0,K=F1+2|0,t0=X0+-2|0,Z=g+(t0<<2)|0,j=+o[Z>>2],r0=M1+1|0,o0=A+(r0<<2)|0,J=+o[o0>>2],s0=J*j,Y=X0+-1|0,d0=g+(Y<<2)|0,i0=+o[d0>>2],e0=A+(O<<2)|0,h0=+o[e0>>2],$0=h0*i0,l0=$0+s0,X=h0*j,m0=i0*J,g0=X-m0,I0=A+(H<<2)|0,n0=+o[I0>>2],f0=g0+n0,p0=$+(K<<2)|0,o[p0>>2]=f0,C0=+o[I0>>2],y0=g0-C0,D0=$+(q<<2)|0,o[D0>>2]=y0,E0=R1+1|0,Q0=A+(E0<<2)|0,w0=+o[Q0>>2],B0=w0+l0,x0=F1|1,Z0=$+(x0<<2)|0,o[Z0>>2]=B0,R0=+o[Q0>>2],v0=R0-l0,U0=_1+-3|0,O0=$+(U0<<2)|0,o[O0>>2]=v0,H0=X0+2|0,k0=(H0|0)<(t|0),k0;)X0=H0,M1=O,_1=q,R1=H,F1=K;if(M=y1+t|0,F=S1+t|0,G=p1+1|0,$1=(G|0)==(s|0),$1)break;p1=G,y1=M,S1=F}if(M0=(t|0)%2&-1,P0=(M0|0)==1,P0)return}if(W0=t+-1|0,!!L)for(J0=d+W0|0,Q1=0,v1=t,L1=J0,b1=W0;j0=A+(L1<<2)|0,q0=+o[j0>>2],Y0=-q0,o1=$+(v1<<2)|0,o[o1>>2]=Y0,z0=A+(b1<<2)|0,r1=e[z0>>2]|0,L0=v1+-1|0,s1=$+(L0<<2)|0,e[s1>>2]=r1,d1=v1+p|0,u1=L1+t|0,f1=b1+t|0,h1=Q1+1|0,g1=(h1|0)==(s|0),!g1;)Q1=h1,v1=d1,L1=u1,b1=f1}}function qy(t,s,A,$,g,d,p,m,E,y){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,m=m|0,E=E|0,y=y|0;var B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0;vt=C,D=+(s|0),k=6.2831854820251465/D,pt=+aA(+k),V8=+Vn(+k),C2=s+1|0,b3=C2>>1,Ke=t+-1|0,Y9=Ke>>1,Oe=s5(A,t)|0,Se=s5(s,t)|0,m9=(t|0)==1;e:do if(!m9){if(_8=($|0)>0,_8)for(_4=0;f0=p+(_4<<2)|0,Z0=e[f0>>2]|0,P0=E+(_4<<2)|0,e[P0>>2]=Z0,s1=_4+1|0,Bt=(s1|0)==($|0),!Bt;)_4=s1;if(K=(s|0)>1,K)for(i0=(A|0)>0,wt=1,Z8=0;;){if(B1=Z8+Oe|0,i0)for(l8=0,A9=B1;_1=d+(A9<<2)|0,V1=e[_1>>2]|0,$2=m+(A9<<2)|0,e[$2>>2]=V1,r2=A9+t|0,K2=l8+1|0,o9=(K2|0)==(A|0),!o9;)l8=K2,A9=r2;if(j2=wt+1|0,lt=(j2|0)==(s|0),lt)break;wt=j2,Z8=B1}if(y5=0-t|0,T1=(Y9|0)>(A|0),T1){if(K)for(V3=(A|0)>0,K5=(t|0)>2,C3=y5,je=1,F8=0;;){if(L3=F8+Oe|0,x6=C3+t|0,V3)for(s6=L3-t|0,A3=x6+-1|0,ut=0,N8=s6;;){if(P3=N8+t|0,K5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,w6=Bi+2|0,ve=E4+1|0,n4=y+(ve<<2)|0,H9=+o[n4>>2],V9=Bi+1|0,h9=d+(V9<<2)|0,U9=+o[h9>>2],E9=U9*H9,v4=y+(O3<<2)|0,Ze=+o[v4>>2],ke=d+(w6<<2)|0,k4=+o[ke>>2],V4=k4*Ze,nt=V4+E9,Y4=m+(V9<<2)|0,o[Y4>>2]=nt,z9=+o[n4>>2],s4=+o[ke>>2],R4=s4*z9,st=+o[v4>>2],n9=+o[h9>>2],u4=n9*st,C9=R4-u4,T6=m+(w6<<2)|0,o[T6>>2]=C9,K9=ct+2|0,d9=(K9|0)<(t|0),d9;)ct=K9,E4=O3,Bi=w6;if(T9=ut+1|0,$t=(T9|0)==(A|0),$t)break;ut=T9,N8=P3}if(h4=je+1|0,Ct=(h4|0)==(s|0),Ct)break;C3=x6,je=h4,F8=L3}}else if(K)for(I5=(t|0)>2,d3=(A|0)>0,Z4=y5,l4=1,Y8=0;;){if(s9=Z4+t|0,d4=Y8+Oe|0,I5)for(f4=s9+-1|0,yt=2,gt=f4,$i=d4;;){if(k9=gt+2|0,o4=$i+2|0,d3)for(P9=gt+1|0,I4=y+(P9<<2)|0,I6=y+(k9<<2)|0,ht=0,ti=o4;z4=+o[I4>>2],f9=ti+-1|0,S4=d+(f9<<2)|0,S9=+o[S4>>2],I9=S9*z4,z6=+o[I6>>2],F4=d+(ti<<2)|0,T4=+o[F4>>2],ot=T4*z6,x9=ot+I9,mt=m+(f9<<2)|0,o[mt>>2]=x9,j3=+o[I4>>2],xe=+o[F4>>2],be=xe*j3,O9=+o[I6>>2],a4=+o[S4>>2],d8=a4*O9,N4=be-d8,f8=m+(ti<<2)|0,o[f8>>2]=N4,e8=ti+t|0,I8=ht+1|0,Rt=(I8|0)==(A|0),!Rt;)ht=I8,ti=e8;if(m8=yt+2|0,Ut=(m8|0)<(t|0),Ut)yt=m8,gt=k9,$i=o4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(s|0),m4)break;Z4=s9,l4=Pt,Y8=d4}if(Ot=s5(Oe,s)|0,qt=(Y9|0)<(A|0),t8=(b3|0)>1,!qt){if(!t8)break;for(i8=(A|0)>0,x8=(t|0)>2,j4=1,dt=0,Hi=Ot;;){if(Q0=dt+Oe|0,w0=Hi-Oe|0,i8)for(Z9=0,li=Q0,ci=w0;;){if(x8)for(D4=2,ii=li,Si=ci;B0=ii+2|0,x0=Si+2|0,R0=ii+1|0,v0=m+(R0<<2)|0,G0=+o[v0>>2],U0=Si+1|0,O0=m+(U0<<2)|0,H0=+o[O0>>2],k0=H0+G0,K0=d+(R0<<2)|0,o[K0>>2]=k0,N0=m+(B0<<2)|0,M0=+o[N0>>2],W0=m+(x0<<2)|0,J0=+o[W0>>2],V0=M0-J0,j0=d+(U0<<2)|0,o[j0>>2]=V0,q0=+o[N0>>2],Y0=+o[W0>>2],o1=Y0+q0,z0=d+(B0<<2)|0,o[z0>>2]=o1,r1=+o[O0>>2],L0=+o[v0>>2],d1=r1-L0,u1=d+(x0<<2)|0,o[u1>>2]=d1,E1=D4+2|0,f1=(E1|0)<(t|0),f1;)D4=E1,ii=B0,Si=x0;if(h1=li+t|0,A1=ci+t|0,g1=Z9+1|0,J9=(g1|0)==(A|0),J9)break;Z9=g1,li=h1,ci=A1}if(a1=j4+1|0,U4=(a1|0)==(b3|0),U4)break e;j4=a1,dt=Q0,Hi=w0}}if(t8)for(_=(t|0)>2,Q=(A|0)>0,Te=1,j8=0,qi=Ot;;){if(L=j8+Oe|0,R=qi-Oe|0,_)for(p4=2,yi=L,vi=R;;){if(M=yi+2|0,F=vi+2|0,Q)for(G=F-t|0,O=M-t|0,Ft=0,Zi=O,f7=G;q=Zi+t|0,H=f7+t|0,t0=q+-1|0,Z=m+(t0<<2)|0,A0=+o[Z>>2],j=H+-1|0,r0=m+(j<<2)|0,o0=+o[r0>>2],J=o0+A0,s0=d+(t0<<2)|0,o[s0>>2]=J,Y=m+(q<<2)|0,d0=+o[Y>>2],e0=m+(H<<2)|0,h0=+o[e0>>2],c0=d0-h0,$0=d+(j<<2)|0,o[$0>>2]=c0,l0=+o[Y>>2],X=+o[e0>>2],m0=X+l0,g0=d+(q<<2)|0,o[g0>>2]=m0,I0=+o[r0>>2],n0=+o[Z>>2],p0=I0-n0,C0=d+(H<<2)|0,o[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(A|0),!Mt;)Ft=S0,Zi=q,f7=H;if(y0=p4+2|0,D0=(y0|0)<(t|0),D0)p4=y0,yi=M,vi=F;else break}if(E0=Te+1|0,At=(E0|0)==(b3|0),At)break;Te=E0,j8=L,qi=R}}while(!1);if(v=($|0)>0,v)for(b9=0;$1=E+(b9<<2)|0,X0=e[$1>>2]|0,p1=p+(b9<<2)|0,e[p1>>2]=X0,Q1=b9+1|0,Jt=(Q1|0)==($|0),!Jt;)b9=Q1;if(C1=s5($,s)|0,y1=(b3|0)>1,y1){for(v1=(A|0)>0,Wt=1,Nt=0,Vi=C1;;){if(k1=Nt+Oe|0,S1=Vi-Oe|0,v1)for(L1=S1-t|0,M1=k1-t|0,c8=0,g7=M1,h7=L1;b1=g7+t|0,R1=h7+t|0,F1=m+(b1<<2)|0,P1=+o[F1>>2],D1=m+(R1<<2)|0,O1=+o[D1>>2],X1=O1+P1,G1=d+(b1<<2)|0,o[G1>>2]=X1,x1=+o[D1>>2],J1=+o[F1>>2],H1=x1-J1,Y1=d+(R1<<2)|0,o[Y1>>2]=H1,z1=c8+1|0,A4=(z1|0)==(A|0),!A4;)c8=z1,g7=b1,h7=R1;if(t2=Wt+1|0,o8=(t2|0)==(b3|0),o8)break;Wt=t2,Nt=k1,Vi=S1}if(o2=s+-1|0,e2=s5(o2,$)|0,y1){for(q1=(b3|0)>2,Ht=0,Yt=1,et=1,T8=0,Ei=C1;;){if(h2=T8+$|0,Z1=Ei-$|0,I2=Yt*pt,A2=Ht*V8,W1=I2-A2,f2=Ht*pt,g2=Yt*V8,n2=g2+f2,v)for(Qt=0,zi=h2,ui=Z1,Xi=e2,ni=$;u2=p+(Qt<<2)|0,s2=+o[u2>>2],l2=ni+1|0,i2=p+(ni<<2)|0,a2=+o[i2>>2],m2=a2*W1,k2=m2+s2,D2=zi+1|0,S2=E+(zi<<2)|0,o[S2>>2]=k2,y2=Xi+1|0,G2=p+(Xi<<2)|0,M2=+o[G2>>2],O2=M2*n2,p2=ui+1|0,W2=E+(ui<<2)|0,o[W2>>2]=O2,q2=Qt+1|0,E8=(q2|0)==($|0),!E8;)Qt=q2,zi=D2,ui=p2,Xi=y2,ni=l2;if(q1)for(Vt=n2,_t=W1,C8=2,Ki=$,z8=e2;;){if(U2=Ki+$|0,V2=z8-$|0,Z2=_t*W1,A5=Vt*n2,Y2=Z2-A5,N1=Vt*W1,t5=_t*n2,T5=t5+N1,v)for(a8=0,bi=h2,xi=Z1,Li=U2,G8=V2;i5=Li+1|0,L5=p+(Li<<2)|0,m5=+o[L5>>2],D5=m5*Y2,V5=bi+1|0,u5=E+(bi<<2)|0,b2=+o[u5>>2],B5=b2+D5,o[u5>>2]=B5,o5=G8+1|0,F2=p+(G8<<2)|0,R2=+o[F2>>2],Q2=R2*T5,N5=xi+1|0,p5=E+(xi<<2)|0,M5=+o[p5>>2],q5=M5+Q2,o[p5>>2]=q5,R5=a8+1|0,L8=(R5|0)==($|0),!L8;)a8=R5,bi=V5,xi=N5,Li=i5,G8=o5;if(z2=C8+1|0,s8=(z2|0)==(b3|0),s8)break;Vt=T5,_t=Y2,C8=z2,Ki=U2,z8=V2}if(E5=et+1|0,M8=(E5|0)==(b3|0),M8)break;Ht=n2,Yt=W1,et=E5,T8=h2,Ei=Z1}if(y1)for(A8=1,Xt=0;;){if($5=Xt+$|0,v)for(W9=0,X8=$5;h5=X8+1|0,Q5=p+(X8<<2)|0,_5=+o[Q5>>2],d5=E+(W9<<2)|0,l5=+o[d5>>2],X2=l5+_5,o[d5>>2]=X2,d2=W9+1|0,p8=(d2|0)==($|0),!p8;)W9=d2,X8=h5;if(w5=A8+1|0,b4=(w5|0)==(b3|0),b4)break;A8=w5,Xt=$5}}}if(r5=(t|0)<(A|0),r5){if(J2=(t|0)>0,J2)for(n5=(A|0)>0,W4=0;;){if(n5)for(X4=0,C4=W4,ei=W4;W5=m+(C4<<2)|0,r3=e[W5>>2]|0,a3=g+(ei<<2)|0,e[a3>>2]=r3,y3=C4+t|0,G5=ei+Se|0,Z5=X4+1|0,G4=(Z5|0)==(A|0),!G4;)X4=Z5,C4=y3,ei=G5;if(x3=W4+1|0,at=(x3|0)==(t|0),at)break;W4=x3}}else if(a5=(A|0)>0,a5)for(f5=(t|0)>0,Tt=0,O4=0,Ci=0;;){if(f5)for(J4=0,Yi=O4,Ji=Ci;F5=Yi+1|0,e5=m+(Yi<<2)|0,c5=e[e5>>2]|0,T2=Ji+1|0,v5=g+(Ji<<2)|0,e[v5>>2]=c5,z5=J4+1|0,Lt=(z5|0)==(t|0),!Lt;)J4=z5,Yi=F5,Ji=T2;if(i3=O4+t|0,C5=Ci+Se|0,I3=Tt+1|0,Le=(I3|0)==(A|0),Le)break;Tt=I3,O4=i3,Ci=C5}if(f3=t<<1,w3=s5(Oe,s)|0,y1)for(e6=(A|0)>0,$8=1,R8=0,Qi=0,Wi=w3;;){if(X5=R8+f3|0,_3=Qi+Oe|0,t3=Wi-Oe|0,e6)for(De=0,ri=X5,Di=_3,t7=t3;a6=m+(Di<<2)|0,G3=e[a6>>2]|0,Y3=ri+-1|0,c3=g+(Y3<<2)|0,e[c3>>2]=G3,g3=m+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ri<<2)|0,e[Q3>>2]=u3,H5=ri+Se|0,Y5=Di+t|0,b5=t7+t|0,z3=De+1|0,Et=(z3|0)==(A|0),!Et;)De=z3,ri=H5,Di=Y5,t7=b5;if(U5=$8+1|0,K4=(U5|0)==(b3|0),K4)break;$8=U5,R8=X5,Qi=_3,Wi=t3}if(!m9){if(l6=(Y9|0)<(A|0),n3=0-t|0,!l6){if(!y1)return;for(B=(A|0)<1,b=(t|0)<3,xt=B|b,Zt=1,u8=n3,wi=0,gi=0,d7=w3;;){if(C6=u8+f3|0,D3=wi+f3|0,A6=gi+Oe|0,r6=d7-Oe|0,!xt)for(g8=0,e7=C6,hi=D3,x4=A6,di=r6;;){for(a9=2;d6=t-a9|0,m3=a9+x4|0,L6=m3+-1|0,M6=m+(L6<<2)|0,S6=+o[M6>>2],n6=a9+di|0,f6=n6+-1|0,b6=m+(f6<<2)|0,N6=+o[b6>>2],j6=N6+S6,k6=a9+hi|0,R3=k6+-1|0,o6=g+(R3<<2)|0,o[o6>>2]=j6,B6=+o[M6>>2],W3=+o[b6>>2],F3=B6-W3,Z3=d6+e7|0,t6=Z3+-1|0,R6=g+(t6<<2)|0,o[R6>>2]=F3,c6=m+(m3<<2)|0,s3=+o[c6>>2],K6=m+(n6<<2)|0,g6=+o[K6>>2],y6=g6+s3,T3=g+(k6<<2)|0,o[T3>>2]=y6,H6=+o[K6>>2],$6=+o[c6>>2],D6=H6-$6,G6=g+(Z3<<2)|0,o[G6>>2]=D6,ee=a9+2|0,Q6=(ee|0)<(t|0),Q6;)a9=ee;if(K3=e7+Se|0,j5=hi+Se|0,M3=x4+t|0,h3=di+t|0,J3=g8+1|0,r8=(J3|0)==(A|0),r8)break;g8=J3,e7=K3,hi=j5,x4=M3,di=h3}if(X6=Zt+1|0,n8=(X6|0)==(b3|0),n8)break;Zt=X6,u8=C6,wi=D3,gi=A6,d7=r6}return}if(y1)for(l3=(t|0)>2,U3=(A|0)>0,$4=1,c4=n3,u7=0,ki=0,ji=w3;;){if(re=c4+f3|0,V6=u7+f3|0,se=ki+Oe|0,ge=ji-Oe|0,l3&&(U6=re+t|0,U3))for(P4=2;;){for(R9=P4+ge|0,F9=P4+se|0,G9=P4+V6|0,q9=U6-P4|0,jt=0,_i=q9,K8=G9,Mi=F9,$e=R9;te=Mi+-1|0,_6=m+(te<<2)|0,P6=+o[_6>>2],O6=$e+-1|0,oe=m+(O6<<2)|0,he=+o[oe>>2],ne=he+P6,Be=K8+-1|0,ye=g+(Be<<2)|0,o[ye>>2]=ne,Qe=+o[_6>>2],de=+o[oe>>2],fe=Qe-de,Ve=_i+-1|0,q6=g+(Ve<<2)|0,o[q6>>2]=fe,ae=m+(Mi<<2)|0,Ye=+o[ae>>2],we=m+($e<<2)|0,Q9=+o[we>>2],g9=Q9+Ye,p9=g+(K8<<2)|0,o[p9>>2]=g9,ze=+o[we>>2],r9=+o[ae>>2],Fe=ze-r9,J6=g+(_i<<2)|0,o[J6>>2]=Fe,Ae=_i+Se|0,w9=K8+Se|0,M9=Mi+t|0,u9=$e+t|0,_e=jt+1|0,zt=(_e|0)==(A|0),!zt;)jt=_e,_i=Ae,K8=w9,Mi=M9,$e=u9;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(v9=$4+1|0,Kt=(v9|0)==(b3|0),Kt)break;$4=v9,c4=re,u7=V6,ki=se,ji=ge}}}function aD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0,y8=0,U8=0,sn=0,Sr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,br=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,Dr=0,hn=0,To=0,sr=0,No=0,ls=0,dn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,hs=0,ds=0,Po=0,_r=0,fs=0,p7=0,In=0,xr=0,or=0,Lr=0,J7=0,Mr=0,Is=0,W7=0,D7=0,_7=0,i7=0,x7=0,Rr=0,ar=0,Ar=0,Fr=0,E7=0,Oo=0,fi=0,$l=0,mn=0,pn=0,Ou=0,ll=0,qo=0,qu=0,lA=0,cl=0,Hu=0,Vu=0,Yu=0,cA=0,gl=0,ul=0,gA=0,En=0,hl=0,zu=0,Ho=0,$r=0,Ku=0,Ju=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,dl=0,Tr=0,nh=0,sh=0,fl=0,oh=0,uA=0,Vo=0,hA=0,ah=0,Ah=0,dA=0,Il=0,ml=0,pl=0,fA=0,El=0,Yo=0,$h=0,lh=0,Cl=0,ch=0,gh=0,Bl=0,uh=0,hh=0,yl=0,Ql=0,wl=0,vl=0,kl=0,Cn=0,dh=0,Sl=0,fh=0,bl=0,Dl=0,Ih=0,mh=0,ph=0,IA=0,_l=0,xl=0,ms=0,Ll=0,mA=0,Eh=0,Ml=0,Ch=0,Rl=0,Bh=0,yh=0,Fl=0,Tl=0,Qh=0,zo=0,wh=0,pA=0,Nl=0,Gl=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Ko=0,Ul=0,Pl=0,Ol=0,Jo=0,xh=0,ql=0,Lh=0,Hl=0,Mh=0,Rh=0,Vl=0,EA=0,Fh=0,Th=0,Wo=0,Nh=0,Zo=0,Gh=0,CA=0,Uh=0,Ph=0,Oh=0,Yl=0,qh=0,Hh=0,Vh=0,Yh=0,zl=0,Kl=0,lr=0,Jl=0,jo=0,BA=0,yA=0,Bn=0,Wl=0,yn=0,zh=0,Zl=0,Kh=0,Jh=0,Wh=0,Zh=0,Xo=0,QA=0,Nr=0,jh=0,Xh=0,jl=0,wA=0,Xl=0,ec=0,ed=0,tc=0,td=0,vA=0,id=0,rd=0,Je=0,nd=0,ic=0,sd=0,od=0,kA=0,ad=0,SA=0,rc=0,Ad=0,$d=0,nc=0,sc=0,ld=0,bA=0,DA=0,oc=0,ac=0,cd=0,Ac=0,_A=0,gd=0,$c=0,ud=0,hd=0,dd=0,fd=0,lc=0,cc=0,xA=0,ea=0,gc=0,Id=0,uc=0,hc=0,md=0,pd=0,Ed=0,dc=0,Cd=0,Bd=0,yd=0,Qd=0,wd=0,vd=0,fc=0,kd=0,Ic=0,Sd=0,Qn=0,bd=0,mc=0,Dd=0,ps=0,pc=0,LA=0,_d=0,ta=0,MA=0,xd=0,RA=0,Ec=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,Cc=0,Nd=0,Gd=0,Ud=0,ia=0,Es=0,FA=0,Pd=0,TA=0,Od=0,qd=0,Hd=0,Bc=0,Vd=0,Yd=0,zd=0,Kd=0,Jd=0,ra=0,Wd=0,Zd=0,yc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,Qc=0,B7=0,wc=0,NA=0,rf=0,r7=0,Cs=0,nf=0,sf=0,of=0,af=0,Af=0,vc=0,$f=0,lf=0,kc=0,cf=0,gf=0,Bs=0,GA=0,uf=0,Sc=0,hf=0,df=0,na=0,ff=0,If=0,bc=0,Dc=0,mf=0,pf=0,wn=0,Ef=0,Cf=0,vn=0,Bf=0,_c=0,yf=0,Qf=0,ys=0,xc=0,wf=0,Lc=0,vf=0,cr=0,UA=0,kf=0,Mc=0,Rc=0,Sf=0,bf=0,Fc=0,Df=0,_f=0,xf=0,Tc=0,Lf=0,Qs=0,Mf=0,kn=0,Rf=0,Ff=0,PA=0,Tf=0,OA=0,qA=0,Nf=0,Nc=0,Gc=0,Gf=0,Uc=0,Pc=0,Oc=0,Uf=0,qc=0,Hc=0,Pf=0,Of=0,Vc=0,Yc=0,qf=0,zc=0,Kc=0,Hf=0,Vf=0,Jc=0,HA=0,Wc=0,Zc=0,jc=0,Xc=0,Yf=0,zf=0,Kf=0,Jf=0,Wf=0,Zf=0,jf=0,Xf=0,eg=0,VA=0,eI=0,tI=0,iI=0,tg=0,ig=0,rI=0,rg=0,YA=0,sa=0,ng=0,nI=0,sI=0,oI=0,aI=0,sg=0,oa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,hI=0,dI=0,og=0,fI=0,II=0,mI=0,pI=0,aa=0,ag=0,EI=0,CI=0,Sn=0,Ag=0,$g=0,zA=0,BI=0,lg=0,yI=0,cg=0,gg=0,QI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,KA=0,bI=0,DI=0,_I=0,xI=0,ug=0,LI=0,hg=0,MI=0,RI=0,dg=0,Gr=0,fg=0,Ig=0,FI=0,mg=0,$a=0,TI=0,NI=0,GI=0,la=0,pg=0,UI=0,PI=0,Eg=0,OI=0,qI=0,JA=0,ca=0,HI=0,VI=0,YI=0,Cg=0,Bg=0,yg=0,zI=0,KI=0,ws=0,JI=0,Qg=0,WI=0,WA=0,wg=0,ZI=0,jI=0,XI=0,em=0,vg=0,tm=0,im=0,kg=0,ga=0,rm=0,nm=0,sm=0,vs=0,Sg=0,bg=0,om=0,Dg=0,_g=0,L7=0,xg=0,gr=0,am=0,Am=0,$m=0,lm=0,ZA=0,ua=0,Lg=0,Mg=0,cm=0,ha=0,ks=0,gm=0,da=0,jA=0,um=0,XA=0,hm=0,dm=0,Rg=0,fa=0,Fg=0,fm=0,Im=0,mm=0,pm=0,Tg=0,Em=0,si=0,D9=0,n7=0,Cm=0,Ng=0,Gg=0,e$=0,Bm=0,Ur=0,Ss=0,ym=0,Qm=0,Ug=0,t$=0,wm=0,Pg=0,Og=0,qg=0,i$=0,r$=0,Hg=0,bs=0,n$=0,Vg=0,vm=0,bn=0,km=0,Yg=0,Ia=0,Sm=0,zg=0,M7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,R7=0,Rm=0,Fm=0,Tm=0,Kg=0,y7=0,ma=0,s$=0,Jg=0,Wg=0,Nm=0,Zg=0,jg=0,Gm=0,Um=0,Xg=0,eu=0,Pm=0,Om=0,tu=0,qm=0,Ds=0,pa=0,Ea=0,Hm=0,o$=0,Vm=0,Ym=0,iu=0,_s=0,zm=0,Km=0,a$=0,A$=0,Ca=0,$$=0,l$=0,ur=0,Pr=0,Or=0,c$=0,g$=0,xs=0,hr=0,Dn=0,Jm=0,dr=0,_n=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ru=0,nu=0,Qa=0,u$=0,Ni=0,wa=0,qr=0,h$=0,Zm=0,d$=0,jm=0,f$=0,su=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,xn=0,tt=0,L9=0,ou=0,ip=0,I$=0,au=0,rp=0,np=0,ba=0,sp=0,op=0,ap=0,Ap=0,Au=0,$p=0,lp=0,cp=0,s7=0,Da=0,Ln=0,m$=0,Ls=0,Ms=0,oi=0,Rs=0,$u=0,lu=0,_a=0,Fs=0,Ts=0,Ns=0,gp=0,Gs=0,fr=0,cu=0,Hr=0,o7=0,p$=0,E$=0,Z7=0,C$=0,B$=0,y$=0,Vr=0,h6=0,xa=0,Yr=0,gu=0,L4=0,Q$=0,kt=0,Us=0,Mn=0,Rn=0,qe=0,Fn=0,zr=0,j9=0,w$=0,OC=0,up=0,cE=0,gE=0,qC=0,hp=0,eQ=0,tQ=0,iQ=0,rQ=0,nQ=0,sQ=0,oQ=0,aQ=0,AQ=0,$Q=0,lQ=0,cQ=0,HC=0,VC=0,gQ=0,uQ=0,hQ=0,uu=0,uE=0,Q7=0,hu=0,du=0,fu=0,Iu=0,dp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,yp=0,Qp=0,hE=0,La=0,Ir=0,v$=0,mu=0,k$=0,YC=0,Ma=0,wp=0,S$=0,dE=0,fE=0,vp=0,IE=0,mE=0,pE=0,EE=0,CE=0,BE=0,yE=0,zC=0,KC=0,JC=0,WC=0,ZC=0,Ra=0,Fa=0,Ta=0,Na=0,dQ=0,mr=0,$9=0,FD=0,Ga=0,QE=0;if(FD=C,I0=t+28|0,n0=e[I0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,Is=e[ui>>2]|0,Ul=(Is|0)==0,s=Ul&1,ps=n0+3496|0,Uc=+c1[ps>>3],Cg=Uc>-80,Cg?c1[ps>>3]=-80:(Um=Uc<-200,Um&&(c1[ps>>3]=-200)),f0=n0+3512|0,j2=+c1[f0>>3],A3=j2>0,A3?c1[f0>>3]=0:(v9=j2<-99999,v9&&(c1[f0>>3]=-99999)),V4=n0+3396|0,T6=e[V4>>2]|0,P9=(T6|0)==0,P9))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+c1[N4>>3],Et=T6+24|0,M8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,$4=~~i8,jt=M8+($4<<2)|0,V8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ci=e[Xt>>2]|0,e[n0>>2]=V8,vi=n0+4|0,e[vi>>2]=Ci,z8=(V8|0)==(Ci|0),ni=T6+144|0,B8=e[ni>>2]|0,lo=(B8|0)>0,lo){for(Io=T6+136|0,Co=T6+140|0,ss=T6+148|0,sr=i8,Nr=n0,hE=0;;){if(_o=~~sr,ds=e[Io>>2]|0,W7=e[Co>>2]|0,fi=e[ss>>2]|0,Vu=fi+(hE<<2)|0,Ku=e[Vu>>2]|0,Tr=l9(1,1120)|0,Il=Ku+(_o<<2)|0,Bl=e[Il>>2]|0,fh=W7+(Bl*1120|0)|0,c9(Tr|0,fh|0,1120)|0,mA=e[Tr>>2]|0,wh=(mA|0)>0,wh){for(Pl=Tr+4|0,uE=0,yE=-1;;)if(_A=Pl+(uE<<2)|0,gc=e[_A>>2]|0,Qd=(gc|0)>(yE|0),A0=Qd?gc:yE,pc=uE+1|0,lQ=(pc|0)==(mA|0),lQ){j=A0;break}else uE=pc,yE=A0;if(Fh=(j|0)<0,!Fh){for(qh=Tr+256|0,Bn=Nr+24|0,id=Tr+192|0,Ad=Tr+320|0,k$=0,pE=-1;;){if(Rc=qh+(k$<<2)|0,kn=e[Rc>>2]|0,Pc=(kn|0)>(pE|0),t0=Pc?kn:pE,Kc=e[Bn>>2]|0,Kf=Kc+kn|0,e[Rc>>2]=Kf,tg=id+(k$<<2)|0,sg=e[tg>>2]|0,fI=(sg|0)==31,fI)EE=t0;else for(_e=sg,IE=0,BE=t0;;)if(zA=(Ad+(k$<<5)|0)+(IE<<2)|0,Aa=e[zA>>2]|0,dg=(Aa|0)>(BE|0),Z=dg?Aa:BE,pg=(Aa|0)>-1,pg?(Bg=e[Bn>>2]|0,jI=Bg+Aa|0,e[zA>>2]=jI,o0=e[tg>>2]|0,jA=o0):jA=_e,vs=IE+1|0,$m=1<>2]|0,rf=e[Zd>>2]|0,kc=e[Bn>>2]|0,If=kc+1|0,e[Bn>>2]=If,yf=(Nr+1824|0)+(kc<<2)|0,e[yf>>2]=rf,oQ=(CE|0)==0,!oQ))for(YC=0;r$=YC+1|0,i0=e[Il>>2]|0,zg=ds+(i0<<2)|0,Tm=e[zg>>2]|0,Xg=Tm+(r$<<2)|0,Vm=e[Xg>>2]|0,ur=e[Bn>>2]|0,Wm=ur+1|0,e[Bn>>2]=Wm,wa=(Nr+1824|0)+(ur<<2)|0,e[wa>>2]=Vm,sQ=(r$|0)==(CE|0),!sQ;)YC=r$}}if(ka=Nr+16|0,np=e[ka>>2]|0,Da=(Nr+800|0)+(np<<2)|0,e[Da>>2]=1,Ts=e[ka>>2]|0,C$=(Nr+1056|0)+(Ts<<2)|0,e[C$>>2]=Tr,p0=e[ka>>2]|0,R0=p0+1|0,e[ka>>2]=R0,W0=hE+1|0,d1=e[ni>>2]|0,p1=(W0|0)<(d1|0),!p1)break;r0=+c1[N4>>3],l0=e[I0>>2]|0,sr=r0,Nr=l0,hE=W0}m0=e[I0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,Y1=+c1[R1>>3],$2=T6+124|0,r2=e[$2>>2]|0,K2=T6+128|0,m5=e[K2>>2]|0,N5=~~Y1,_5=+(N5|0),n5=Y1-_5,W5=X5+2868|0,H5=m5+(N5<<3)|0,L3=+c1[H5>>3],x6=~~L3,s6=r2+(x6*492|0)|0,c9(W5|0,s6|0,492)|0,g6=+c1[H5>>3],re=1-n5,O6=g6*re,q6=N5+1|0,J6=m5+(q6<<3)|0,R9=+c1[J6>>3],F9=R9*n5,G9=F9+O6,q9=~~G9,n4=+(q9|0),H9=G9-n4,Ke=H9==0,V9=(q9|0)>0,zC=V9&Ke,m=zC?1:H9,h9=zC<<31>>31,F=h9+q9|0,U9=1-m,E9=F+1|0,v4=(r2+(F*492|0)|0)+4|0,Ze=+o[v4>>2],ke=Ze,k4=U9*ke,nt=(r2+(E9*492|0)|0)+4|0,Y9=+o[nt>>2],Y4=Y9,z9=m*Y4,s4=k4+z9,R4=s4,st=X5+2872|0,o[st>>2]=R4,n9=(r2+(F*492|0)|0)+32|0,u4=+o[n9>>2],C9=u4,K9=U9*C9,Oe=(r2+(E9*492|0)|0)+32|0,d9=+o[Oe>>2],T9=d9,h4=m*T9,s9=K9+h4,d4=s9,f4=X5+2900|0,o[f4>>2]=d4,k9=(r2+(F*492|0)|0)+8|0,o4=+o[k9>>2],I4=o4,Se=U9*I4,I6=(r2+(E9*492|0)|0)+8|0,z4=+o[I6>>2],f9=z4,S4=m*f9,S9=Se+S4,I9=S9,z6=X5+2876|0,o[z6>>2]=I9,F4=(r2+(F*492|0)|0)+36|0,ot=+o[F4>>2],m9=ot,x9=U9*m9,mt=(r2+(E9*492|0)|0)+36|0,j3=+o[mt>>2],xe=j3,be=xe*m,O9=be+x9,a4=O9,d8=X5+2904|0,o[d8>>2]=a4,f8=(r2+(F*492|0)|0)+12|0,_8=+o[f8>>2],e8=_8,I8=e8*U9,m8=(r2+(E9*492|0)|0)+12|0,Ut=+o[m8>>2],Pt=Ut,Ot=Pt*m,qt=Ot+I8,t8=qt,x8=X5+2880|0,o[x8>>2]=t8,Ht=(r2+(F*492|0)|0)+40|0,Vt=+o[Ht>>2],Yt=Vt,_t=Yt*U9,xt=(r2+(E9*492|0)|0)+40|0,pt=+o[xt>>2],zt=pt,Kt=zt*m,r8=Kt+_t,K4=r8,G4=X5+2908|0,o[G4>>2]=K4,at=(r2+(F*492|0)|0)+16|0,Lt=+o[at>>2],Le=Lt,p8=Le*U9,b4=(r2+(E9*492|0)|0)+16|0,E8=+o[b4>>2],L8=E8,s8=L8*m,A4=s8+p8,o8=A4,Jt=X5+2884|0,o[Jt>>2]=o8,Mt=(r2+(F*492|0)|0)+44|0,At=+o[Mt>>2],J9=At,U4=J9*U9,$t=(r2+(E9*492|0)|0)+44|0,Ct=+o[$t>>2],Rt=Ct,o9=Rt*m,lt=o9+U4,Bt=lt,ct=X5+2912|0,o[ct>>2]=Bt,yt=X5+3512|0,p4=+c1[yt>>3],D4=p4,J4=X5+2936|0,o[J4>>2]=D4,W4=T6+132|0,a9=e[W4>>2]|0,E4=n0+3472|0,gt=+c1[E4>>3],_4=gt,b9=~~_4,Qt=+(b9|0),a8=_4-Qt,W9=a8,C3=e[I0>>2]|0,Z4=(a9|0)==0;e:do if(Z4)wt=C3+4|0,je=e[C3>>2]|0,l4=C3+3240|0,e[l4>>2]=je,Te=e[wt>>2]|0,j4=C3+3300|0,e[j4>>2]=Te,Wt=C3+3244|0,e[Wt>>2]=je,C8=C3+3304|0,e[C8>>2]=Te,A8=C3+3248|0,e[A8>>2]=je,$8=C3+3308|0,e[$8>>2]=Te,Zt=C3+3252|0,e[Zt>>2]=je,l8=C3+3312|0,e[l8>>2]=Te,ut=C3+3256|0,e[ut>>2]=je,ht=C3+3316|0,e[ht>>2]=Te,Ft=C3+3260|0,e[Ft>>2]=je,Z9=C3+3320|0,e[Z9>>2]=Te,c8=C3+3264|0,e[c8>>2]=je,Tt=C3+3324|0,e[Tt>>2]=Te,X4=C3+3268|0,e[X4>>2]=je,De=C3+3328|0,e[De>>2]=Te,g8=C3+3272|0,e[g8>>2]=je,et=C3+3332|0,e[et>>2]=Te,Z8=C3+3276|0,e[Z8>>2]=je,R8=C3+3336|0,e[R8>>2]=Te,u8=C3+3280|0,e[u8>>2]=je,F8=C3+3340|0,e[F8>>2]=Te,c4=C3+3284|0,e[c4>>2]=je,Y8=C3+3344|0,e[Y8>>2]=Te,j8=C3+3288|0,e[j8>>2]=je,dt=C3+3348|0,e[dt>>2]=Te,Nt=C3+3292|0,e[Nt>>2]=je,T8=C3+3352|0,e[T8>>2]=Te,O4=C3+3296|0,e[O4>>2]=je,C4=C3+3356|0,e[C4>>2]=Te;else{A9=C3+3120|0,N8=a9+(b9*240|0)|0,mr=A9,Ga=N8,QE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(QE|0));$i=C3+3180|0,qi=(a9+(b9*240|0)|0)+60|0,mr=$i,Ga=qi,QE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(QE|0));if(Hi=n0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(X8=1-W9,ei=b9+1|0,Bi=t+8|0,ti=C3+4|0,s0=e[Bi>>2]|0,yi=+(s0|0),Ir=0;;){if(li=((a9+(b9*240|0)|0)+120|0)+(Ir<<2)|0,g7=+o[li>>2],Yi=g7,Qi=Yi*X8,wi=((a9+(ei*240|0)|0)+120|0)+(Ir<<2)|0,u7=+o[wi>>2],ci=u7,h7=ci*W9,zi=h7+Qi,Ki=zi,Ji=Ki,Wi=Ji*1e3,gi=Wi/yi,ki=e[C3>>2]|0,Zi=+(ki|0),ii=Zi*gi,ri=~~ii,d7=(C3+3e3|0)+(Ir<<2)|0,e[d7>>2]=ri,ji=e[ti>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(C3+3060|0)+(Ir<<2)|0,e[bi>>2]=Xi,Di=~~Ki,e7=(C3+2940|0)+(Ir<<2)|0,e[e7>>2]=Di,_i=((a9+(b9*240|0)|0)+180|0)+(Ir<<2)|0,xi=+o[_i>>2],t7=xi,hi=t7*X8,K8=((a9+(ei*240|0)|0)+180|0)+(Ir<<2)|0,Li=+o[K8>>2],x4=Li,Mi=x4*W9,G8=Mi+hi,di=G8,$e=di,vt=$e*1e3,y8=vt/yi,U8=e[C3>>2]|0,sn=+(U8|0),Sr=sn*y8,ao=~~Sr,zn=(C3+3240|0)+(Ir<<2)|0,e[zn>>2]=ao,Ao=e[ti>>2]|0,Kn=+(Ao|0),$o=Kn*y8,Jn=~~$o,co=(C3+3300|0)+(Ir<<2)|0,e[co>>2]=Jn,on=Ir+1|0,AQ=(on|0)==15,AQ)break e;Ir=on}for(go=(a9+(b9*240|0)|0)+148|0,uo=+o[go>>2],ho=uo,Wn=1-W9,fo=ho*Wn,Zn=b9+1|0,jn=(a9+(Zn*240|0)|0)+148|0,an=+o[jn>>2],Xn=an,An=Xn*W9,es=An+fo,ts=es,mo=ts,po=mo*1e3,Eo=t+8|0,$n=C3+4|0,is=~~ts,d0=e[Eo>>2]|0,br=+(d0|0),ln=po/br,mu=0;Bo=e[C3>>2]|0,yo=+(Bo|0),cn=yo*ln,I7=~~cn,rs=(C3+3e3|0)+(mu<<2)|0,e[rs>>2]=I7,Qo=e[$n>>2]|0,wo=+(Qo|0),ns=wo*ln,os=~~ns,vo=(C3+3060|0)+(mu<<2)|0,e[vo>>2]=os,m7=(C3+2940|0)+(mu<<2)|0,e[m7>>2]=is,gn=mu+1|0,cQ=(gn|0)==15,!cQ;)mu=gn;for(ko=(a9+(b9*240|0)|0)+208|0,as=+o[ko>>2],So=as,bo=So*Wn,Do=(a9+(Zn*240|0)|0)+208|0,As=+o[Do>>2],xo=As,Lo=xo*W9,Mo=Lo+bo,$s=Mo,Ro=$s,Fo=Ro*1e3,un=Fo/br,wp=0;Dr=e[C3>>2]|0,hn=+(Dr|0),To=hn*un,No=~~To,ls=(C3+3240|0)+(wp<<2)|0,e[ls>>2]=No,dn=e[$n>>2]|0,cs=+(dn|0),fn=cs*un,Go=~~fn,gs=(C3+3300|0)+(wp<<2)|0,e[gs>>2]=Go,us=wp+1|0,aQ=(us|0)==15,!aQ;)wp=us}while(!1);for(Uo=+c1[N4>>3],hs=T6+92|0,Po=e[hs>>2]|0,_r=T6+100|0,fs=e[_r>>2]|0,p7=T6+108|0,In=e[p7>>2]|0,xr=e[I0>>2]|0,or=xr+2852|0,Lr=e[or>>2]|0,J7=~~Uo,Mr=xr+28|0,D7=e[Mr>>2]|0,_7=(D7|0)>0,_7||(e[Mr>>2]=1),i7=(Lr|0)==0,i7?(x7=l9(1,520)|0,e[or>>2]=x7,Ra=x7):Ra=Lr,c9(Ra|0,25784,520)|0,e[Ra>>2]=0,Rr=xr+3460|0,ar=e[Rr>>2]|0,Ar=(ar|0)==0,Ar||(Fr=Ra+500|0,e[Fr>>2]=1,E7=Po+(J7<<2)|0,Oo=e[E7>>2]|0,$l=Ra+504|0,e[$l>>2]=Oo,mn=fs+(J7<<2)|0,pn=e[mn>>2]|0,Ou=Ra+508|0,e[Ou>>2]=pn,ll=In+(J7<<3)|0,qo=+c1[ll>>3],qu=Ra+512|0,c1[qu>>3]=qo),lA=+c1[N4>>3],cl=e[hs>>2]|0,Hu=e[_r>>2]|0,Yu=e[p7>>2]|0,cA=e[I0>>2]|0,gl=cA+2856|0,ul=e[gl>>2]|0,gA=~~lA,En=cA+28|0,hl=e[En>>2]|0,zu=(hl|0)>1,zu||(e[En>>2]=2),Ho=(ul|0)==0,Ho?($r=l9(1,520)|0,e[gl>>2]=$r,Fa=$r):Fa=ul,c9(Fa|0,25784,520)|0,e[Fa>>2]=0,Ju=cA+3460|0,Wu=e[Ju>>2]|0,Zu=(Wu|0)==0,Zu||(ju=Fa+500|0,e[ju>>2]=1,Xu=cl+(gA<<2)|0,eh=e[Xu>>2]|0,th=Fa+504|0,e[th>>2]=eh,ih=Hu+(gA<<2)|0,rh=e[ih>>2]|0,dl=Fa+508|0,e[dl>>2]=rh,nh=Yu+(gA<<3)|0,sh=+c1[nh>>3],fl=Fa+512|0,c1[fl>>3]=sh),z8||(oh=+c1[N4>>3],uA=T6+96|0,Vo=e[uA>>2]|0,hA=T6+104|0,ah=e[hA>>2]|0,Ah=e[p7>>2]|0,dA=e[I0>>2]|0,ml=dA+2860|0,pl=e[ml>>2]|0,fA=~~oh,El=dA+28|0,Yo=e[El>>2]|0,$h=(Yo|0)>2,$h||(e[El>>2]=3),lh=(pl|0)==0,lh?(Cl=l9(1,520)|0,e[ml>>2]=Cl,Ta=Cl):Ta=pl,c9(Ta|0,25784,520)|0,e[Ta>>2]=1,ch=dA+3460|0,gh=e[ch>>2]|0,uh=(gh|0)==0,uh||(hh=Ta+500|0,e[hh>>2]=1,yl=Vo+(fA<<2)|0,Ql=e[yl>>2]|0,wl=Ta+504|0,e[wl>>2]=Ql,vl=ah+(fA<<2)|0,kl=e[vl>>2]|0,Cn=Ta+508|0,e[Cn>>2]=kl,dh=Ah+(fA<<3)|0,Sl=+c1[dh>>3],bl=Ta+512|0,c1[bl>>3]=Sl),Dl=+c1[N4>>3],Ih=e[uA>>2]|0,mh=e[hA>>2]|0,ph=e[p7>>2]|0,IA=e[I0>>2]|0,_l=IA+2864|0,xl=e[_l>>2]|0,ms=~~Dl,Ll=IA+28|0,Eh=e[Ll>>2]|0,Ml=(Eh|0)>3,Ml||(e[Ll>>2]=4),Ch=(xl|0)==0,Ch?(Rl=l9(1,520)|0,e[_l>>2]=Rl,Na=Rl):Na=xl,c9(Na|0,25784,520)|0,e[Na>>2]=1,Bh=IA+3460|0,yh=e[Bh>>2]|0,Fl=(yh|0)==0,Fl||(Tl=Na+500|0,e[Tl>>2]=1,Qh=Ih+(ms<<2)|0,zo=e[Qh>>2]|0,pA=Na+504|0,e[pA>>2]=zo,Nl=mh+(ms<<2)|0,Gl=e[Nl>>2]|0,vh=Na+508|0,e[vh>>2]=Gl,kh=ph+(ms<<3)|0,Sh=+c1[kh>>3],bh=Na+512|0,c1[bh>>3]=Sh)),Dh=(n0+3528|0)+(s<<5)|0,_h=+c1[Dh>>3],Ko=T6+32|0,Ol=e[Ko>>2]|0,Jo=T6+36|0,xh=e[Jo>>2]|0,ql=T6+44|0,Lh=e[ql>>2]|0,oE(t,_h,0,Ol,xh,Lh),Hl=n0+3560|0,Mh=+c1[Hl>>3],Rh=e[Ko>>2]|0,Vl=e[Jo>>2]|0,EA=T6+52|0,Th=e[EA>>2]|0,oE(t,Mh,1,Rh,Vl,Th),z8||(Wo=n0+3592|0,Nh=+c1[Wo>>3],Zo=e[Ko>>2]|0,Gh=e[Jo>>2]|0,CA=e[EA>>2]|0,oE(t,Nh,2,Zo,Gh,CA),Uh=n0+3624|0,Ph=+c1[Uh>>3],Oh=e[Ko>>2]|0,Yl=e[Jo>>2]|0,Hh=T6+48|0,Vh=e[Hh>>2]|0,oE(t,Ph,3,Oh,Yl,Vh)),Yh=((n0+3528|0)+(s<<5)|0)+24|0,zl=+c1[Yh>>3],Kl=T6+80|0,lr=e[Kl>>2]|0,Jl=T6+84|0,jo=e[Jl>>2]|0,BA=~~zl,yA=+(BA|0),Wl=zl-yA,yn=e[I0>>2]|0,zh=yn+2852|0,Zl=e[zh>>2]|0,Kh=jo+(BA<<3)|0,Jh=+c1[Kh>>3],Wh=1-Wl,Zh=Jh*Wh,Xo=BA+1|0,QA=jo+(Xo<<3)|0,jh=+c1[QA>>3],Xh=jh*Wl,jl=Xh+Zh,wA=~~jl,Xl=+(wA|0),ec=jl-Xl,ed=ec==0,tc=(wA|0)>0,KC=tc&ed,$=KC?1:ec,td=KC<<31>>31,G=td+wA|0,vA=1-$,rd=G+1|0,hu=0;Je=(lr+(G*160|0)|0)+(hu<<2)|0,nd=e[Je>>2]|0,ic=+(nd|0),sd=ic*vA,od=(lr+(rd*160|0)|0)+(hu<<2)|0,kA=e[od>>2]|0,ad=+(kA|0),SA=ad*$,rc=SA+sd,$d=rc,nc=(Zl+336|0)+(hu<<2)|0,o[nc>>2]=$d,sc=hu+1|0,tQ=(sc|0)==40,!tQ;)hu=sc;for(ld=n0+3584|0,bA=+c1[ld>>3],DA=~~bA,oc=+(DA|0),ac=bA-oc,cd=yn+2856|0,Ac=e[cd>>2]|0,gd=jo+(DA<<3)|0,$c=+c1[gd>>3],ud=1-ac,hd=$c*ud,dd=DA+1|0,fd=jo+(dd<<3)|0,lc=+c1[fd>>3],cc=lc*ac,xA=cc+hd,ea=~~xA,Id=+(ea|0),uc=xA-Id,hc=uc==0,md=(ea|0)>0,JC=md&hc,g=JC?1:uc,pd=JC<<31>>31,O=pd+ea|0,Ed=1-g,dc=O+1|0,du=0;Cd=(lr+(O*160|0)|0)+(du<<2)|0,Bd=e[Cd>>2]|0,yd=+(Bd|0),wd=yd*Ed,vd=(lr+(dc*160|0)|0)+(du<<2)|0,fc=e[vd>>2]|0,kd=+(fc|0),Ic=kd*g,Sd=Ic+wd,Qn=Sd,bd=(Ac+336|0)+(du<<2)|0,o[bd>>2]=Qn,mc=du+1|0,iQ=(mc|0)==40,!iQ;)du=mc;if(!z8){for(Dd=n0+3616|0,LA=+c1[Dd>>3],_d=T6+88|0,ta=e[_d>>2]|0,MA=~~LA,xd=+(MA|0),RA=LA-xd,Ec=yn+2860|0,Ld=e[Ec>>2]|0,Md=ta+(MA<<3)|0,Rd=+c1[Md>>3],Td=1-RA,Cc=Rd*Td,Nd=MA+1|0,Gd=ta+(Nd<<3)|0,Ud=+c1[Gd>>3],ia=Ud*RA,Es=ia+Cc,FA=~~Es,Pd=+(FA|0),TA=Es-Pd,qd=TA==0,Hd=(FA|0)>0,WC=Hd&qd,d=WC?1:TA,Bc=WC<<31>>31,q=Bc+FA|0,Vd=1-d,Yd=q+1|0,fu=0;zd=(lr+(q*160|0)|0)+(fu<<2)|0,Kd=e[zd>>2]|0,Jd=+(Kd|0),ra=Jd*Vd,Wd=(lr+(Yd*160|0)|0)+(fu<<2)|0,yc=e[Wd>>2]|0,jd=+(yc|0),Xd=jd*d,ef=Xd+ra,tf=ef,C7=(Ld+336|0)+(fu<<2)|0,o[C7>>2]=tf,Qc=fu+1|0,rQ=(Qc|0)==40,!rQ;)fu=Qc;for(B7=n0+3648|0,wc=+c1[B7>>3],NA=~~wc,r7=+(NA|0),Cs=wc-r7,nf=yn+2864|0,sf=e[nf>>2]|0,of=ta+(NA<<3)|0,af=+c1[of>>3],Af=1-Cs,vc=af*Af,$f=NA+1|0,lf=ta+($f<<3)|0,cf=+c1[lf>>3],gf=cf*Cs,Bs=gf+vc,GA=~~Bs,uf=+(GA|0),Sc=Bs-uf,hf=Sc==0,df=(GA|0)>0,ZC=df&hf,p=ZC?1:Sc,na=ZC<<31>>31,H=na+GA|0,ff=1-p,bc=H+1|0,Iu=0;Dc=(lr+(H*160|0)|0)+(Iu<<2)|0,mf=e[Dc>>2]|0,pf=+(mf|0),wn=pf*ff,Ef=(lr+(bc*160|0)|0)+(Iu<<2)|0,Cf=e[Ef>>2]|0,vn=+(Cf|0),Bf=vn*p,_c=Bf+wn,Qf=_c,ys=(sf+336|0)+(Iu<<2)|0,o[ys>>2]=Qf,xc=Iu+1|0,nQ=(xc|0)==40,!nQ;)Iu=xc}for(wf=((n0+3528|0)+(s<<5)|0)+8|0,Lc=+c1[wf>>3],vf=T6+40|0,cr=e[vf>>2]|0,UA=~~Lc,kf=+(UA|0),Mc=Lc-kf,Sf=cr+(UA<<2)|0,bf=e[Sf>>2]|0,Fc=+(bf|0),Df=1-Mc,_f=Fc*Df,xf=UA+1|0,Tc=cr+(xf<<2)|0,Lf=e[Tc>>2]|0,Qs=+(Lf|0),Mf=Qs*Mc,Rf=Mf+_f,Ff=Rf,PA=Zl+32|0,o[PA>>2]=Ff,Tf=n0+3568|0,OA=+c1[Tf>>3],qA=~~OA,Nf=+(qA|0),Nc=OA-Nf,Gc=cr+(qA<<2)|0,Gf=e[Gc>>2]|0,Oc=+(Gf|0),Uf=1-Nc,qc=Oc*Uf,Hc=qA+1|0,Pf=cr+(Hc<<2)|0,Of=e[Pf>>2]|0,Vc=+(Of|0),Yc=Vc*Nc,qf=Yc+qc,zc=qf,Hf=Ac+32|0,o[Hf>>2]=zc,z8||(Vf=n0+3600|0,Jc=+c1[Vf>>3],HA=~~Jc,Wc=+(HA|0),Zc=Jc-Wc,jc=yn+2860|0,Xc=e[jc>>2]|0,Yf=cr+(HA<<2)|0,zf=e[Yf>>2]|0,Jf=+(zf|0),Wf=1-Zc,Zf=Jf*Wf,jf=HA+1|0,Xf=cr+(jf<<2)|0,eg=e[Xf>>2]|0,VA=+(eg|0),eI=VA*Zc,tI=eI+Zf,iI=tI,ig=Xc+32|0,o[ig>>2]=iI,rI=n0+3632|0,rg=+c1[rI>>3],YA=~~rg,sa=+(YA|0),ng=rg-sa,nI=yn+2864|0,sI=e[nI>>2]|0,oI=cr+(YA<<2)|0,aI=e[oI>>2]|0,oa=+(aI|0),AI=1-ng,$I=oa*AI,lI=YA+1|0,cI=cr+(lI<<2)|0,gI=e[cI>>2]|0,uI=+(gI|0),hI=uI*ng,dI=hI+$I,og=dI,II=sI+32|0,o[II>>2]=og),mI=((n0+3528|0)+(s<<5)|0)+16|0,pI=+c1[mI>>3],aa=T6+76|0,ag=e[aa>>2]|0,EI=T6+60|0,CI=e[EI>>2]|0,Sn=T6+56|0,Ag=e[Sn>>2]|0,Ul?lg=0:($g=n0+3408|0,BI=+c1[$g>>3],lg=BI),aE(t,pI,0,ag,CI,Ag,lg),yI=n0+3576|0,cg=+c1[yI>>3],gg=e[aa>>2]|0,QI=T6+64|0,wI=e[QI>>2]|0,vI=e[Sn>>2]|0,aE(t,cg,1,gg,wI,vI,0),z8?(ws=e[I0>>2]|0,JI=ws+2852|0,Qg=e[JI>>2]|0,WI=ws+3496|0,WA=+c1[WI>>3],wg=WA,ZI=Qg+4|0,o[ZI>>2]=wg,XI=ws+3504|0,em=+c1[XI>>3],vg=em,tm=Qg+8|0,o[tm>>2]=vg,im=ws+2856|0,kg=e[im>>2]|0,ga=kg+4|0,o[ga>>2]=wg,rm=kg+8|0,o[rm>>2]=vg,gr=ws):(kI=n0+3608|0,SI=+c1[kI>>3],KA=e[aa>>2]|0,bI=T6+68|0,DI=e[bI>>2]|0,_I=e[Sn>>2]|0,aE(t,SI,2,KA,DI,_I,0),xI=n0+3640|0,ug=+c1[xI>>3],LI=e[aa>>2]|0,hg=T6+72|0,MI=e[hg>>2]|0,RI=e[Sn>>2]|0,aE(t,ug,3,LI,MI,RI,0),Gr=e[I0>>2]|0,fg=Gr+2852|0,Ig=e[fg>>2]|0,FI=Gr+3496|0,mg=+c1[FI>>3],$a=mg,TI=Ig+4|0,o[TI>>2]=$a,NI=Gr+3504|0,GI=+c1[NI>>3],la=GI,UI=Ig+8|0,o[UI>>2]=la,PI=Gr+2856|0,Eg=e[PI>>2]|0,OI=Eg+4|0,o[OI>>2]=$a,qI=Eg+8|0,o[qI>>2]=la,JA=Gr+2860|0,ca=e[JA>>2]|0,HI=ca+4|0,o[HI>>2]=$a,VI=ca+8|0,o[VI>>2]=la,YI=Gr+2864|0,yg=e[YI>>2]|0,zI=yg+4|0,o[zI>>2]=$a,KI=yg+8|0,o[KI>>2]=la,gr=Gr),nm=+c1[N4>>3],sm=T6+152|0,Sg=e[sm>>2]|0,bg=~~nm,om=Sg+(bg<<3)|0,Dg=e[om>>2]|0,_g=(Sg+(bg<<3)|0)+4|0,L7=e[_g>>2]|0,xg=e[gr>>2]|0,am=gr+4|0,Am=e[am>>2]|0,lm=(xg|0)==(Am|0),A=lm?1:2,ZA=gr+8|0,ua=gr+12|0,Lg=t+8|0,Mg=t+4|0,Q7=0;;){if(cm=l9(1,3208)|0,ha=(gr+544|0)+(Q7<<2)|0,e[ha>>2]=cm,ks=l9(1,16)|0,gm=(gr+32|0)+(Q7<<2)|0,e[gm>>2]=ks,da=26304+(Q7<<4)|0,e[ks>>2]=e[da>>2]|0,e[ks+4>>2]=e[da+4>>2]|0,e[ks+8>>2]=e[da+8>>2]|0,e[ks+12>>2]=e[da+12>>2]|0,um=e[ZA>>2]|0,XA=(Q7|0)<(um|0),XA||(hm=Q7+1|0,e[ZA>>2]=hm),dm=(gr+288|0)+(Q7<<2)|0,e[dm>>2]=0,Rg=e[ha>>2]|0,fa=Dg+(Q7*3208|0)|0,c9(Rg|0,fa|0,3208)|0,Fg=e[ua>>2]|0,fm=(Q7|0)<(Fg|0),fm||(Im=Q7+1|0,e[ua>>2]=Im),mm=e[fa>>2]|0,Tg=(mm|0)>0,Tg)for(fE=0;;){Em=((Dg+(Q7*3208|0)|0)+1092|0)+(fE<<2)|0,si=e[Em>>2]|0,D9=e[I0>>2]|0,n7=Re(2840)|0,Cm=(D9+1568|0)+(si<<2)|0,e[Cm>>2]=n7,Ng=(L7+(si<<5)|0)+12|0,Gg=e[Ng>>2]|0,c9(n7|0,Gg|0,2840)|0,e$=D9+20|0,Bm=e[e$>>2]|0,Ss=(Bm|0)>(si|0),Ss||(ym=si+1|0,e[e$>>2]=ym),Qm=(L7+(si<<5)|0)+8|0,Ug=e[Qm>>2]|0,t$=n7+8|0,e[t$>>2]=Ug,wm=L7+(si<<5)|0,Pg=e[wm>>2]|0,Og=(D9+1312|0)+(si<<2)|0,e[Og>>2]=Pg,qg=D9+3420|0,i$=e[qg>>2]|0,Hg=(i$|0)==0,bs=n7+12|0,n$=e[bs>>2]|0,Vg=(n$|0)>0;do if(Hg){if(Vg)for(Yg=(L7+(si<<5)|0)+24|0,Ia=e[Yg>>2]|0,Sm=n7+24|0,Ma=0;;)if(dr=Sm+(Ma<<2)|0,_n=Ia+(Ma<<4)|0,Ri=e[_n>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[dr>>2]|0,Ba=Ti|1,e[dr>>2]=Ba),ya=(Ia+(Ma<<4)|0)+4|0,ru=e[ya>>2]|0,nu=(ru|0)==0,nu||(b2=e[dr>>2]|0,B5=b2|2,e[dr>>2]=B5),o5=(Ia+(Ma<<4)|0)+8|0,F2=e[o5>>2]|0,R2=(F2|0)==0,R2||(Q2=e[dr>>2]|0,y5=Q2|4,e[dr>>2]=y5),p5=(Ia+(Ma<<4)|0)+12|0,M5=e[p5>>2]|0,q5=(M5|0)==0,q5||(R5=e[dr>>2]|0,z2=R5|8,e[dr>>2]=z2),E5=Ma+1|0,$5=e[bs>>2]|0,h5=(E5|0)<($5|0),h5)Ma=E5;else{Sa=$5;break}else Sa=n$;Qa=(L7+(si<<5)|0)+16|0,u$=e[Qa>>2]|0,Ni=D9+24|0,qr=e[Ni>>2]|0,h$=(qr|0)>0,Zm=u$;e:do if(h$)for(Qp=0;;){if(d$=(D9+1824|0)+(Qp<<2)|0,jm=e[d$>>2]|0,f$=(jm|0)==(u$|0),f$){M=Qp;break e}if(su=Qp+1|0,va=(su|0)<(qr|0),va)Qp=su;else{$9=116;break}}else $9=116;while(!1);if(($9|0)==116&&($9=0,Xm=qr+1|0,e[Ni>>2]=Xm,M=qr),ep=n7+20|0,e[ep>>2]=M,tp=(D9+1824|0)+(M<<2)|0,e[tp>>2]=Zm,xn=(Sa|0)>0,!xn)break;for(tt=(L7+(si<<5)|0)+24|0,L9=n7+280|0,zr=0,S$=0;;){if(ou=e[tt>>2]|0,ip=ou+(S$<<4)|0,I$=e[ip>>2]|0,au=(I$|0)==0,rp=I$,au)Ls=ou,up=zr;else{ba=e[Ni>>2]|0,sp=(ba|0)>0;e:do if(sp)for(pp=0;;){if(op=(D9+1824|0)+(pp<<2)|0,ap=e[op>>2]|0,Ap=(ap|0)==(I$|0),Ap){R=pp;break e}if(Au=pp+1|0,$p=(Au|0)<(ba|0),$p)pp=Au;else{$9=123;break}}else $9=123;while(!1);($9|0)==123&&($9=0,lp=ba+1|0,e[Ni>>2]=lp,R=ba),cp=zr+1|0,s7=L9+(zr<<2)|0,e[s7>>2]=R,Ln=(D9+1824|0)+(R<<2)|0,e[Ln>>2]=rp,c0=e[tt>>2]|0,Ls=c0,up=cp}if(m$=(Ls+(S$<<4)|0)+4|0,Ms=e[m$>>2]|0,oi=(Ms|0)==0,Rs=Ms,oi)C2=Ls,j9=up;else{J1=e[Ni>>2]|0,H1=(J1|0)>0;e:do if(H1)for(fp=0;;){if(V1=(D9+1824|0)+(fp<<2)|0,z1=e[V1>>2]|0,t2=(z1|0)==(Ms|0),t2){_=fp;break e}if(o2=fp+1|0,e2=(o2|0)<(J1|0),e2)fp=o2;else{$9=147;break}}else $9=147;while(!1);($9|0)==147&&($9=0,q1=J1+1|0,e[Ni>>2]=q1,_=J1),h2=up+1|0,Z1=L9+(up<<2)|0,e[Z1>>2]=_,I2=(D9+1824|0)+(_<<2)|0,e[I2>>2]=Rs,$0=e[tt>>2]|0,C2=$0,j9=h2}if(A2=(C2+(S$<<4)|0)+8|0,W1=e[A2>>2]|0,f2=(W1|0)==0,g2=W1,f2)M2=C2,w$=j9;else{n2=e[Ni>>2]|0,u2=(n2|0)>0;e:do if(u2)for(Ip=0;;){if(s2=(D9+1824|0)+(Ip<<2)|0,l2=e[s2>>2]|0,i2=(l2|0)==(W1|0),i2){Q=Ip;break e}if(a2=Ip+1|0,m2=(a2|0)<(n2|0),m2)Ip=a2;else{$9=153;break}}else $9=153;while(!1);($9|0)==153&&($9=0,k2=n2+1|0,e[Ni>>2]=k2,Q=n2),D2=j9+1|0,S2=L9+(j9<<2)|0,e[S2>>2]=Q,y2=(D9+1824|0)+(Q<<2)|0,e[y2>>2]=g2,X=e[tt>>2]|0,M2=X,w$=D2}if(G2=(M2+(S$<<4)|0)+12|0,O2=e[G2>>2]|0,p2=(O2|0)==0,W2=O2,p2)OC=w$;else{q2=e[Ni>>2]|0,U2=(q2|0)>0;e:do if(U2)for(mp=0;;){if(V2=(D9+1824|0)+(mp<<2)|0,Z2=e[V2>>2]|0,A5=(Z2|0)==(O2|0),A5){L=mp;break e}if(Y2=mp+1|0,N1=(Y2|0)<(q2|0),N1)mp=Y2;else{$9=159;break}}else $9=159;while(!1);($9|0)==159&&($9=0,t5=q2+1|0,e[Ni>>2]=t5,L=q2),T5=w$+1|0,i5=L9+(w$<<2)|0,e[i5>>2]=L,L5=(D9+1824|0)+(L<<2)|0,e[L5>>2]=W2,OC=T5}if(D5=S$+1|0,V5=e[bs>>2]|0,u5=(D5|0)<(V5|0),u5)zr=OC,S$=D5;else break}}else{if(Vg)for(vm=(L7+(si<<5)|0)+28|0,bn=e[vm>>2]|0,km=n7+24|0,La=0;;)if(M7=km+(La<<2)|0,bm=bn+(La<<4)|0,Dm=e[bm>>2]|0,_m=(Dm|0)==0,_m||(xm=e[M7>>2]|0,Lm=xm|1,e[M7>>2]=Lm),Mm=(bn+(La<<4)|0)+4|0,R7=e[Mm>>2]|0,Rm=(R7|0)==0,Rm||(l6=e[M7>>2]|0,n3=l6|2,e[M7>>2]=n3),l3=(bn+(La<<4)|0)+8|0,U3=e[l3>>2]|0,C6=(U3|0)==0,C6||(b3=e[M7>>2]|0,D3=b3|4,e[M7>>2]=D3),A6=(bn+(La<<4)|0)+12|0,r6=e[A6>>2]|0,K3=(r6|0)==0,K3||(j5=e[M7>>2]|0,M3=j5|8,e[M7>>2]=M3),h3=La+1|0,J3=e[bs>>2]|0,d6=(h3|0)<(J3|0),d6)La=h3;else{tu=J3;break}else tu=n$;Fm=(L7+(si<<5)|0)+20|0,Kg=e[Fm>>2]|0,y7=D9+24|0,ma=e[y7>>2]|0,s$=(ma|0)>0,Jg=Kg;e:do if(s$)for(dp=0;;){if(Wg=(D9+1824|0)+(dp<<2)|0,Nm=e[Wg>>2]|0,Zg=(Nm|0)==(Kg|0),Zg){B=dp;break e}if(jg=dp+1|0,Gm=(jg|0)<(ma|0),Gm)dp=jg;else{$9=100;break}}else $9=100;while(!1);if(($9|0)==100&&($9=0,eu=ma+1|0,e[y7>>2]=eu,B=ma),Pm=n7+20|0,e[Pm>>2]=B,Om=(D9+1824|0)+(B<<2)|0,e[Om>>2]=Jg,qm=(tu|0)>0,!qm)break;for(Ds=(L7+(si<<5)|0)+28|0,pa=n7+280|0,Us=0,v$=0;;){if(Ea=e[Ds>>2]|0,Hm=Ea+(v$<<4)|0,o$=e[Hm>>2]|0,Ym=(o$|0)==0,iu=o$,Ym)xs=Ea,Fn=Us;else{_s=e[y7>>2]|0,zm=(_s|0)>0;e:do if(zm)for(yp=0;;){if(Km=(D9+1824|0)+(yp<<2)|0,a$=e[Km>>2]|0,A$=(a$|0)==(o$|0),A$){v=yp;break e}if(Ca=yp+1|0,$$=(Ca|0)<(_s|0),$$)yp=Ca;else{$9=107;break}}else $9=107;while(!1);($9|0)==107&&($9=0,l$=_s+1|0,e[y7>>2]=l$,v=_s),Pr=Us+1|0,Or=pa+(Us<<2)|0,e[Or>>2]=v,c$=(D9+1824|0)+(v<<2)|0,e[c$>>2]=iu,J=e[Ds>>2]|0,xs=J,Fn=Pr}if(g$=(xs+(v$<<4)|0)+4|0,hr=e[g$>>2]|0,Dn=(hr|0)==0,Jm=hr,Dn)F5=xs,Mn=Fn;else{Q5=e[y7>>2]|0,T1=(Q5|0)>0;e:do if(T1)for(Ep=0;;){if(d5=(D9+1824|0)+(Ep<<2)|0,l5=e[d5>>2]|0,X2=(l5|0)==(hr|0),X2){b=Ep;break e}if(d2=Ep+1|0,w5=(d2|0)<(Q5|0),w5)Ep=d2;else{$9=171;break}}else $9=171;while(!1);($9|0)==171&&($9=0,r5=Q5+1|0,e[y7>>2]=r5,b=Q5),a5=Fn+1|0,f5=pa+(Fn<<2)|0,e[f5>>2]=b,J2=(D9+1824|0)+(b<<2)|0,e[J2>>2]=Jm,e0=e[Ds>>2]|0,F5=e0,Mn=a5}if(I5=(F5+(v$<<4)|0)+8|0,e5=e[I5>>2]|0,c5=(e5|0)==0,T2=e5,c5)f3=F5,Rn=Mn;else{v5=e[y7>>2]|0,z5=(v5|0)>0;e:do if(z5)for(Cp=0;;){if(i3=(D9+1824|0)+(Cp<<2)|0,C5=e[i3>>2]|0,I3=(C5|0)==(e5|0),I3){D=Cp;break e}if(d3=Cp+1|0,r3=(d3|0)<(v5|0),r3)Cp=d3;else{$9=177;break}}else $9=177;while(!1);($9|0)==177&&($9=0,a3=v5+1|0,e[y7>>2]=a3,D=v5),y3=Mn+1|0,G5=pa+(Mn<<2)|0,e[G5>>2]=D,Z5=(D9+1824|0)+(D<<2)|0,e[Z5>>2]=T2,h0=e[Ds>>2]|0,f3=h0,Rn=y3}if(x3=(f3+(v$<<4)|0)+12|0,w3=e[x3>>2]|0,e6=(w3|0)==0,V3=w3,e6)qe=Rn;else{_3=e[y7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(Bp=0;;){if(a6=(D9+1824|0)+(Bp<<2)|0,G3=e[a6>>2]|0,Y3=(G3|0)==(w3|0),Y3){k=Bp;break e}if(c3=Bp+1|0,g3=(c3|0)<(_3|0),g3)Bp=c3;else{$9=183;break}}else $9=183;while(!1);($9|0)==183&&($9=0,u3=_3+1|0,e[y7>>2]=u3,k=_3),Q3=Rn+1|0,K5=pa+(Rn<<2)|0,e[K5>>2]=k,Y5=(D9+1824|0)+(k<<2)|0,e[Y5>>2]=V3,qe=Q3}if(b5=v$+1|0,z3=e[bs>>2]|0,U5=(b5|0)<(z3|0),U5)Us=qe,v$=b5;else break}}while(!1);$u=D9+3480|0,lu=+c1[$u>>3],_a=lu*1e3,Fs=(D9+1056|0)+(Q7<<2)|0,Ns=e[Fs>>2]|0,gp=e[Lg>>2]|0,Gs=+(gp|0),fr=Gs*.5,cu=D9+(Q7<<2)|0,Hr=e[cu>>2]|0,o7=Hr>>1,p$=_a>fr,HC=p$?fr:_a,E$=HC/fr,Z7=+(o7|0),B$=Z7*E$,y$=~~B$,Vr=Ns+1116|0,e[Vr>>2]=y$,h6=(L7+(si<<5)|0)+4|0,xa=e[h6>>2]|0;do if((xa|0)==2)uu=250;else if((xa|0)==1){if(Yr=e[qg>>2]|0,gu=(Yr|0)==0,L4=D9+2996|0,Q$=D9+2968|0,hQ=gu?Q$:L4,uQ=e[hQ>>2]|0,gQ=+(uQ|0),VC=gQ*1e3,kt=VC>fr,!kt){uu=VC;break}uu=fr}else uu=HC;while(!1);C0=e[Og>>2]|0,S0=(C0|0)==2;do if(S0){if(y0=D9+12|0,D0=e[y0>>2]|0,E0=(D0|0)>0,E0)for(dE=0;;){if(Q0=(D9+544|0)+(dE<<2)|0,w0=e[Q0>>2]|0,B0=e[w0>>2]|0,x0=(B0|0)>0,x0)for(vp=0;;){Z0=(w0+1092|0)+(vp<<2)|0,v0=e[Z0>>2]|0,G0=(v0|0)==(si|0);do if(G0){if(U0=e[Mg>>2]|0,O0=(U0|0)>0,O0)qC=0,mE=0;else{hp=0;break}for(;;)if(H0=(w0+4|0)+(mE<<2)|0,k0=e[H0>>2]|0,K0=(k0|0)==(vp|0),N0=K0&1,K=N0+qC|0,M0=mE+1|0,eQ=(M0|0)==(U0|0),eQ){hp=K;break}else qC=K,mE=M0}else hp=0;while(!1);if(P0=vp+1|0,J0=(P0|0)<(B0|0),V0=(hp|0)==0,j0=J0&V0,j0)vp=P0;else{gE=hp;break}}else gE=0;if(q0=dE+1|0,Y0=(q0|0)<(D0|0),o1=(gE|0)==0,z0=Y0&o1,z0)dE=q0;else{cE=gE;break}}else cE=0;if(r1=uu/fr,L0=+(cE|0),s1=L0*Z7,u1=s1*r1,E1=e[t$>>2]|0,f1=+(E1|0),h1=u1/f1,A1=h1+.9,g1=~~A1,a1=s5(g1,E1)|0,$1=n7+4|0,e[$1>>2]=a1,X0=s5(cE,o7)|0,B1=(a1|0)>(X0|0),!B1){Y=$1,X1=a1,x1=E1;break}Q1=(X0|0)%(E1|0)&-1,C1=X0-Q1|0,e[$1>>2]=C1,Y=$1,X1=C1,x1=E1}else{if(y1=uu/fr,v1=y1*Z7,k1=e[t$>>2]|0,S1=+(k1|0),L1=v1/S1,M1=L1+.9,b1=~~M1,_1=s5(b1,k1)|0,F1=n7+4|0,e[F1>>2]=_1,P1=(_1|0)>(o7|0),!P1){Y=F1,X1=_1,x1=k1;break}D1=(o7|0)%(k1|0)&-1,O1=o7-D1|0,e[F1>>2]=O1,Y=F1,X1=O1,x1=k1}while(!1);if(G1=(X1|0)==0,G1&&(e[Y>>2]=x1),m3=fE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)fE=m3;else break}if(S6=Q7+1|0,n6=(S6|0)<(A|0),n6)Q7=S6;else break}return f6=n0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(k6=e[I0>>2]|0,R3=k6+3396|0,o6=e[R3>>2]|0,B6=k6+3400|0,W3=+c1[B6>>3],F3=~~W3,Z3=+(F3|0),t6=W3-Z3,R6=o6+4|0,c6=e[R6>>2]|0,s3=(c6|0)==0,s3?y=-1:(K6=e[Mg>>2]|0,y6=c6+(F3<<3)|0,T3=+c1[y6>>3],H6=1-t6,$6=T3*H6,D6=F3+1|0,G6=c6+(D6<<3)|0,ee=+c1[G6>>3],Q6=ee*t6,X6=Q6+$6,P3=+(K6|0),V6=X6*P3,dQ=~~V6,y=dQ),se=t+16|0,e[se>>2]=y),ge=n0+3424|0,U6=e[ge>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=n0+3440|0,te=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=te,P6=(b6|0)==0,P6?g0=0:(O3=n0+3444|0,oe=e[O3>>2]|0,he=+(oe|0),ne=+(b6|0),Be=he/ne,ye=~~Be,g0=ye),Qe=t+24|0,e[Qe>>2]=g0,de=n0+3420|0,fe=e[de>>2]|0,Ve=(fe|0)==0,Ve?(E=0,E|0):(w6=e[f6>>2]|0,ae=n0+3360|0,e[ae>>2]=w6,Ye=e[ge>>2]|0,we=n0+3364|0,e[we>>2]=Ye,Q9=e[F6>>2]|0,g9=n0+3368|0,e[g9>>2]=Q9,p9=n0+3444|0,ze=e[p9>>2]|0,r9=n0+3372|0,e[r9>>2]=ze,Fe=n0+3448|0,ve=+c1[Fe>>3],Ae=n0+3376|0,c1[Ae>>3]=ve,w9=n0+3432|0,M9=+c1[w9>>3],u9=n0+3384|0,c1[u9>>3]=M9,E=0,E|0)}function AD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=+$;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0;if(K=C,m=(A|0)<1,m)d=-131;else if(E=t+28|0,Q=e[E>>2]|0,L=$,R=L+1e-7,M=R,F=!(M>=1),p=F?M:.9998999834060669,G=Q+3416|0,o[G>>2]=p,O=p,q=Q+3400|0,y=$D(s,A,O,0,q)|0,B=Q+3396|0,e[B>>2]=y,b=(y|0)==0,b)d=-130;else return lD(t,s,A),D=Q+3420|0,e[D>>2]=0,k=Q+3464|0,e[k>>2]=1,v=aD(t)|0,_=(v|0)==0,_?(g=0,g|0):(xC(t),g=v,g|0);return xC(t),g=d,g|0}function oE(t,s,A,$,g,d){t=t|0,s=+s,A=A|0,$=$|0,g=g|0,d=d|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;for(v1=C,p=~~s,m=+(p|0),R=s-m,j=t+28|0,$0=e[j>>2]|0,y0=($0+2852|0)+(A<<2)|0,U0=e[y0>>2]|0,j0=$+(p*20|0)|0,f1=e[j0>>2]|0,p1=+(f1|0),E=1-R,y=p1*E,B=p+1|0,b=$+(B*20|0)|0,D=e[b>>2]|0,k=+(D|0),v=k*R,_=v+y,Q=_,L=U0+12|0,o[L>>2]=Q,M=($+(p*20|0)|0)+4|0,F=e[M>>2]|0,G=+(F|0),O=G*E,q=($+(B*20|0)|0)+4|0,H=e[q>>2]|0,K=+(H|0),t0=K*R,Z=t0+O,A0=Z,r0=U0+16|0,o[r0>>2]=A0,o0=($+(p*20|0)|0)+8|0,J=e[o0>>2]|0,s0=+(J|0),Y=s0*E,d0=($+(B*20|0)|0)+8|0,i0=e[d0>>2]|0,e0=+(i0|0),h0=e0*R,c0=h0+Y,l0=c0,X=U0+20|0,o[X>>2]=l0,m0=($+(p*20|0)|0)+12|0,g0=+o[m0>>2],I0=g0,n0=I0*E,f0=($+(B*20|0)|0)+12|0,p0=+o[f0>>2],C0=p0,S0=C0*R,D0=S0+n0,E0=D0,Q0=U0+24|0,o[Q0>>2]=E0,w0=($+(p*20|0)|0)+16|0,B0=+o[w0>>2],x0=B0,Z0=x0*E,R0=($+(B*20|0)|0)+16|0,v0=+o[R0>>2],G0=v0,O0=G0*R,H0=O0+Z0,k0=H0,K0=U0+28|0,o[K0>>2]=k0,N0=g+(p<<2)|0,M0=e[N0>>2]|0,P0=+(M0|0),W0=P0*E,J0=g+(B<<2)|0,V0=e[J0>>2]|0,q0=+(V0|0),Y0=q0*R,o1=Y0+W0,z0=o1,r1=U0+496|0,o[r1>>2]=z0,C1=0;L0=(d+(p*68|0)|0)+(C1<<2)|0,s1=e[L0>>2]|0,d1=+(s1|0),u1=d1*E,E1=(d+(B*68|0)|0)+(C1<<2)|0,h1=e[E1>>2]|0,A1=+(h1|0),g1=A1*R,a1=g1+u1,$1=a1,X0=(U0+36|0)+(C1<<2)|0,o[X0>>2]=$1,B1=C1+1|0,Q1=(B1|0)==17,!Q1;)C1=B1}function aE(t,s,A,$,g,d,p){t=t|0,s=+s,A=A|0,$=$|0,g=g|0,d=d|0,p=+p;var m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;for(S2=C,k=~~s,v=+(k|0),d0=s-v,n0=t+28|0,x0=e[n0>>2]|0,M0=(x0+2852|0)+(A<<2)|0,L0=e[M0>>2]|0,X0=$+(k<<2)|0,b1=e[X0>>2]|0,H1=+(b1|0),_=1-d0,t0=H1*_,Z=k+1|0,A0=$+(Z<<2)|0,j=e[A0>>2]|0,r0=+(j|0),o0=r0*d0,J=o0+t0,s0=J,Y=L0+108|0,o[Y>>2]=s0,i0=d+(A*12|0)|0,e0=e[i0>>2]|0,h0=L0+120|0,e[h0>>2]=e0,c0=(d+(A*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=L0+124|0,e[l0>>2]=$0,X=(d+(A*12|0)|0)+8|0,m0=e[X>>2]|0,g0=L0+128|0,e[g0>>2]=m0,n2=0;;)if(I0=(g+(k*204|0)|0)+(n2<<2)|0,f0=e[I0>>2]|0,p0=+(f0|0),C0=p0*_,S0=(g+(Z*204|0)|0)+(n2<<2)|0,y0=e[S0>>2]|0,D0=+(y0|0),E0=D0*d0,Q0=E0+C0,w0=Q0,B0=(L0+132|0)+(n2<<2)|0,o[B0>>2]=w0,Z0=n2+1|0,W1=(Z0|0)==17,W1){u2=0;break}else n2=Z0;for(;;)if(M1=((g+(k*204|0)|0)+68|0)+(u2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*_,P1=((g+(Z*204|0)|0)+68|0)+(u2<<2)|0,D1=e[P1>>2]|0,O1=+(D1|0),X1=O1*d0,G1=X1+F1,x1=G1,J1=(L0+200|0)+(u2<<2)|0,o[J1>>2]=x1,V1=u2+1|0,f2=(V1|0)==17,f2){s2=0;break}else u2=V1;for(;Y1=((g+(k*204|0)|0)+136|0)+(s2<<2)|0,z1=e[Y1>>2]|0,t2=+(z1|0),o2=t2*_,e2=((g+(Z*204|0)|0)+136|0)+(s2<<2)|0,q1=e[e2>>2]|0,h2=+(q1|0),Z1=h2*d0,I2=Z1+o2,Q=I2,L=(L0+268|0)+(s2<<2)|0,o[L>>2]=Q,R=s2+1|0,g2=(R|0)==17,!g2;)s2=R;for(M=L0+132|0,F=+o[M>>2],k0=F+6,G=L0+132|0,O=F,q=O+p,H=q,K=H>2]=k2,R0=1;m=(L0+132|0)+(R0<<2)|0,B=+o[m>>2],v0=(L0+132|0)+(R0<<2)|0,G0=B,U0=G0+p,O0=U0,H0=O0>2]=l2,K0=R0+1|0,A2=(K0|0)==17,!A2;)R0=K0;for(N0=L0+200|0,P0=+o[N0>>2],W0=P0+6,J0=L0+200|0,V0=P0,j0=V0+p,q0=j0,Y0=q0>2]=a2,o1=1;E=(L0+200|0)+(o1<<2)|0,b=+o[E>>2],z0=(L0+200|0)+(o1<<2)|0,r1=b,s1=r1+p,d1=s1,u1=d1>2]=i2,E1=o1+1|0,C2=(E1|0)==17,!C2;)o1=E1;for(f1=L0+268|0,h1=+o[f1>>2],A1=h1+6,g1=L0+268|0,a1=h1,$1=a1+p,B1=$1,p1=B1>2]=r2,Q1=1;y=(L0+268|0)+(Q1<<2)|0,D=+o[y>>2],C1=(L0+268|0)+(Q1<<2)|0,y1=D,v1=y1+p,k1=v1,S1=k1>2]=m2,L1=Q1+1|0,$2=(L1|0)==17,!$2;)Q1=L1}function $D(t,s,A,$,g){t=t|0,s=s|0,A=+A,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;S1=C,k=($|0)==0;e:do if(k){for(J=26336,X0=0;;){if(o0=e[J>>2]|0,s0=o0+12|0,Y=e[s0>>2]|0,d0=(Y|0)==-1,e0=(Y|0)==(t|0),C1=d0|e0,C1&&(h0=o0+16|0,c0=e[h0>>2]|0,$0=(c0|0)>(s|0),!$0&&(l0=o0+20|0,X=e[l0>>2]|0,m0=(X|0)<(s|0),!m0&&(g0=e[o0>>2]|0,I0=o0+8|0,n0=e[I0>>2]|0,p0=+c1[n0>>3],C0=p0>A,!C0&&(D0=n0+(g0<<3)|0,E0=+c1[D0>>3],Q0=E0>2]|0,Z0=i0+12|0,P0=e[Z0>>2]|0,s1=(P0|0)==-1,A1=(P0|0)==(t|0),y1=s1|A1,y1&&(g1=i0+16|0,_=e[g1>>2]|0,Q=(_|0)>(s|0),!Q&&(L=i0+20|0,R=e[L>>2]|0,M=(R|0)<(s|0),!M&&(F=e[i0>>2]|0,G=i0+4|0,O=e[G>>2]|0,q=+c1[O>>3],H=K>3],A0=K>Z,!A0))))){p=K,m=F,E=f0,y=O,h1=q;break e}if($1=B1+1|0,j=26336+($1<<2)|0,r0=($1|0)==17,r0){d=0;break}else f0=j,B1=$1}return d|0}while(!1);w0=(m|0)>0;e:do if(w0)for(x0=h1,Q1=0;;){if(B0=!(p>=x0),D=Q1+1|0,!B0&&(R0=y+(D<<3)|0,v0=+c1[R0>>3],G0=p>3],x0=b,Q1=D}else p1=0;while(!1);return O0=(p1|0)==(m|0),O0?(H0=+(m|0),k0=H0+-.001,v1=k0):(K0=y+(p1<<3)|0,N0=+c1[K0>>3],M0=N0,W0=p1+1|0,J0=y+(W0<<3)|0,V0=+c1[J0>>3],j0=V0,q0=M0,Y0=p-q0,o1=j0-M0,z0=o1,r1=Y0/z0,L0=r1,d1=+(p1|0),u1=L0+d1,E1=u1,v1=E1),c1[g>>3]=v1,f1=e[E>>2]|0,d=f1,d|0}function lD(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0;L0=C,m=t+28|0,E=e[m>>2]|0,M=E+3396|0,r0=e[M>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=s,D0=t+8|0,e[D0>>2]=A,O0=E+3456|0,e[O0>>2]=1,q0=E+3460|0,e[q0>>2]=1,o1=E+3400|0,z0=+c1[o1>>3],y=~~z0,B=+(y|0),b=z0-B,D=E+3472|0,c1[D>>3]=z0,k=E+3488|0,v=e[k>>2]|0,_=(v|0)==0,_?(Q=r0+120|0,L=e[Q>>2]|0,R=L+(y<<3)|0,F=+c1[R>>3],G=1-b,O=F*G,q=y+1|0,H=L+(q<<3)|0,K=+c1[H>>3],t0=K*b,Z=t0+O,A0=E+3480|0,c1[A0>>3]=Z,g=q,d=G):($=1-b,p=y+1|0,g=p,d=$),j=r0+112|0,o0=e[j>>2]|0,J=o0+(y<<2)|0,s0=e[J>>2]|0,Y=+(s0|0),d0=Y*d,i0=o0+(g<<2)|0,e0=e[i0>>2]|0,h0=+(e0|0),c0=h0*b,$0=c0+d0,X=E+3496|0,c1[X>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,I0=g0+(y<<2)|0,n0=e[I0>>2]|0,f0=+(n0|0),p0=f0*d,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,y0=+(S0|0),E0=y0*b,Q0=E0+p0,w0=E+3504|0,c1[w0>>3]=Q0,B0=E+3512|0,c1[B0>>3]=-6,x0=E+3520|0,c1[x0>>3]=z0,Z0=E+3528|0,c1[Z0>>3]=z0,R0=E+3536|0,c1[R0>>3]=z0,v0=E+3544|0,c1[v0>>3]=z0,G0=E+3552|0,c1[G0>>3]=z0,U0=E+3560|0,c1[U0>>3]=z0,H0=E+3568|0,c1[H0>>3]=z0,k0=E+3576|0,c1[k0>>3]=z0,K0=E+3584|0,c1[K0>>3]=z0,N0=E+3592|0,c1[N0>>3]=z0,M0=E+3600|0,c1[M0>>3]=z0,P0=E+3608|0,c1[P0>>3]=z0,W0=E+3616|0,c1[W0>>3]=z0,J0=E+3624|0,c1[J0>>3]=z0,V0=E+3632|0,c1[V0>>3]=z0,j0=E+3640|0,c1[j0>>3]=z0,Y0=E+3648|0,c1[Y0>>3]=z0}function cD(t,s,A,$,g,d){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0;var p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0;if(V0=C,m=(g|0)!=0,E=m?$:0,M=m?d:0,r0=s+(E<<2)|0,l0=e[r0>>2]|0,D0=520336+(l0<<2)|0,x0=e[D0>>2]|0,Z0=s+(M<<2)|0,R0=e[Z0>>2]|0,v0=520336+(R0<<2)|0,y=e[v0>>2]|0,B=A+(g<<2)|0,b=e[B>>2]|0,D=A+(E<<2)|0,k=e[D>>2]|0,v=A+(M<<2)|0,_=e[v>>2]|0,Q=(b|0)/4&-1,L=(k|0)/4&-1,R=Q-L|0,F=(k|0)/2&-1,G=R+F|0,O=(b|0)/2&-1,q=O+Q|0,p=(_|0)/-4&-1,H=q+p|0,K=(_|0)/2&-1,t0=H+K|0,Z=(R|0)>0,Z?(A0=Q-L|0,j=A0<<2,g4(t|0,0,j|0)|0,U0=R):U0=0,o0=(U0|0)<(G|0),o0)for(J=Q+F|0,s0=J-U0|0,Y=s0-L|0,O0=U0,K0=0;h0=x0+(K0<<2)|0,c0=+o[h0>>2],$0=t+(O0<<2)|0,X=+o[$0>>2],m0=X*c0,o[$0>>2]=m0,g0=O0+1|0,I0=K0+1|0,G0=(I0|0)==(Y|0),!G0;)O0=g0,K0=I0;if(d0=(_|0)>1,d0){for(i0=H+1|0,e0=(t0|0)>(i0|0),k0=H,M0=K;N0=M0+-1|0,C0=y+(N0<<2)|0,S0=+o[C0>>2],y0=t+(k0<<2)|0,E0=+o[y0>>2],Q0=E0*S0,o[y0>>2]=Q0,w0=k0+1|0,B0=(w0|0)<(t0|0),B0;)k0=w0,M0=N0;W0=e0?t0:i0,H0=W0}else H0=H;n0=(b|0)>(H0|0),n0&&(P0=t+(H0<<2)|0,f0=b-H0|0,p0=f0<<2,g4(P0|0,0,p0|0)|0)}function gD(t,s,A){t=t|0,s=+s,A=+A;var $=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0;if(X=C,C=C+64|0,$0=X+32|0,c0=X,$=Re(688)|0,g=$+408|0,wb(g),_=~~s,AD(g,t,_,A)|0,t0=$+440|0,Bb(t0),yb(t0,553008,553016),s0=$+456|0,eb(s0,g)|0,Y=$+568|0,jS(s0,Y)|0,d0=dy(0)|0,pD(d0),i0=ED()|0,qS($,i0)|0,e0=$+680|0,e[e0>>2]=0,h0=$+684|0,e[h0>>2]=0,d=$+360|0,vb(s0,t0,d,$0,c0)|0,nE($,d)|0,nE($,$0)|0,nE($,c0)|0,p=$+392|0,m=Iy($,p)|0,E=(m|0)==0,E)return C=X,$|0;for(y=$+396|0,B=$+404|0,b=$+400|0;D=e[h0>>2]|0,k=e[y>>2]|0,v=k+D|0,Q=e[B>>2]|0,L=v+Q|0,R=(L|0)==0,R||(G=e[e0>>2]|0,O=K7(G,L)|0,e[e0>>2]=O,q=e[h0>>2]|0,H=O+q|0,K=e[p>>2]|0,Z=e[y>>2]|0,c9(H|0,K|0,Z|0)|0,A0=Z+q|0,e[h0>>2]=A0,j=O+A0|0,r0=e[b>>2]|0,o0=e[B>>2]|0,c9(j|0,r0|0,o0|0)|0,J=o0+A0|0,e[h0>>2]=J),M=Iy($,p)|0,F=(M|0)==0,!F;);return C=X,$|0}function uD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0;E=C,HS(t)|0,s=t+568|0,XS(s)|0,A=t+456|0,Cy(A),$=t+440|0,Qb($),g=t+408|0,xC(g),d=t+680|0,p=e[d>>2]|0,E2(p),E2(t)}function hD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0;return d=C,A=t+456|0,$=By(A,s)|0,$|0}function dD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0;if(X=C,A=t+456|0,tb(A,s)|0,$=t+568|0,v=yy(A,$)|0,K=(v|0)==1,!!K)for(d0=t+360|0,i0=t+392|0,e0=t+684|0,h0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(KS($,0)|0,ZS($)|0,E=Ey(A,d0)|0,y=(E|0)==0,!y)for(;;){if(nE(t,d0)|0,D=my(t,i0)|0,k=(D|0)==0,!k)for(;_=e[e0>>2]|0,Q=e[h0>>2]|0,L=Q+_|0,R=e[c0>>2]|0,M=L+R|0,F=(M|0)==0,F||(q=e[$0>>2]|0,H=K7(q,M)|0,e[$0>>2]=H,t0=e[e0>>2]|0,Z=H+t0|0,A0=e[g>>2]|0,j=e[h0>>2]|0,c9(Z|0,A0|0,j|0)|0,r0=j+t0|0,e[e0>>2]=r0,o0=H+r0|0,J=e[d>>2]|0,s0=e[c0>>2]|0,c9(o0|0,J|0,s0|0)|0,Y=s0+r0|0,e[e0>>2]=Y),G=my(t,i0)|0,O=(G|0)==0,!O;);if(B=Ey(A,d0)|0,b=(B|0)==0,b)break}if(p=yy(A,$)|0,m=(p|0)==1,!m)break}}function fD(t){t=t|0;var s=0,A=0,$=0,g=0;return g=C,s=t+684|0,A=e[s>>2]|0,A|0}function ID(t){t=t|0;var s=0,A=0,$=0,g=0,d=0;return d=C,s=t+684|0,e[s>>2]=0,A=t+680|0,$=e[A>>2]|0,$|0}function AE(t,s){t=+t,s=s|0;var A=0,$=0,g=0;return g=C,A=+mD(t,s),+A}function Pu(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0;if(U3=C,C=C+688|0,n3=U3+424|0,W5=U3+192|0,t3=U3,s0=s5(A,s)|0,Y=(s0|0)==0,Y){C=U3;return}for(j=s0-A|0,Y1=t3+4|0,e[Y1>>2]=A,e[t3>>2]=A,r2=A,m5=A,x3=2;$2=r2+A|0,U2=$2+m5|0,N5=t3+(x3<<2)|0,e[N5>>2]=U2,_5=U2>>>0>>0,n5=x3+1|0,_5;)k2=m5,m5=U2,x3=n5,r2=k2;if(d0=0-A|0,n0=t+j|0,x0=(j|0)>0,x0)for(M0=(A|0)==0,L0=n0,b1=1,Z2=0,G5=t,H5=1;;){X0=b1&3,J1=(X0|0)==3;do if(J1){e[W5>>2]=G5,H1=(H5|0)>1;e:do if(H1){for(B=H5,Q=G5,q1=G5,X5=1;;){if(V1=Q+d0|0,z1=B+-2|0,t2=t3+(z1<<2)|0,o2=e[t2>>2]|0,U5=o2+A|0,r0=0-U5|0,e2=Q+r0|0,h2=pi[$&15](q1,e2)|0,Z1=(h2|0)>-1,Z1&&(I2=pi[$&15](q1,V1)|0,A2=(I2|0)>-1,A2)){f3=X5;break}if(C2=pi[$&15](e2,V1)|0,W1=(C2|0)>-1,f2=X5+1|0,g2=W5+(X5<<2)|0,W1?(e[g2>>2]=e2,n2=B+-1|0,d=e2,E=n2):(e[g2>>2]=V1,d=V1,E=z1),u2=(E|0)>1,!u2){f3=f2;break}K=e[W5>>2]|0,B=E,Q=d,q1=K,X5=f2}if(s2=(f3|0)<2,!s2&&(l2=W5+(f3<<2)|0,e[l2>>2]=n3,!M0))for(v=A,q2=n3;;){for(p2=v>>>0>256,a2=p2?256:v,W2=e[W5>>2]|0,c9(q2|0,W2|0,a2|0)|0,M2=W2,e6=0;D2=W5+(e6<<2)|0,S2=e6+1|0,y2=W5+(S2<<2)|0,G2=e[y2>>2]|0,c9(M2|0,G2|0,a2|0)|0,O2=M2+a2|0,e[D2>>2]=O2,r3=(S2|0)==(f3|0),!r3;)M2=G2,e6=S2;if(i2=(v|0)==(a2|0),i2)break e;m2=v-a2|0,Z=e[l2>>2]|0,v=m2,q2=Z}}while(!1);K2=b1>>>2,V2=Z2<<30,A5=K2|V2,Y2=Z2>>>2,N1=H5+2|0,l0=A5,x1=Y2,Y5=N1}else{if(t5=H5+-1|0,T5=t3+(t5<<2)|0,i5=e[T5>>2]|0,L5=G5,j2=L0-L5|0,D5=i5>>>0>>0,D5){e[W5>>2]=G5,V5=(H5|0)>1;e:do if(V5){for(b=H5,L=G5,R2=G5,_3=1;;){if(u5=L+d0|0,b2=b+-2|0,B5=t3+(b2<<2)|0,o5=e[B5>>2]|0,l6=o5+A|0,o0=0-l6|0,F2=L+o0|0,Q2=pi[$&15](R2,F2)|0,y5=(Q2|0)>-1,y5&&(p5=pi[$&15](R2,u5)|0,M5=(p5|0)>-1,M5)){w3=_3;break}if(q5=pi[$&15](F2,u5)|0,R5=(q5|0)>-1,z2=_3+1|0,E5=W5+(_3<<2)|0,R5?(e[E5>>2]=F2,$5=b+-1|0,p=F2,y=$5):(e[E5>>2]=u5,p=u5,y=b2),h5=(y|0)>1,!h5){w3=z2;break}t0=e[W5>>2]|0,b=y,L=p,R2=t0,_3=z2}if(Q5=(w3|0)<2,!Q5&&(T1=W5+(w3<<2)|0,e[T1>>2]=n3,!M0))for(_=A,e5=n3;;){for(I5=_>>>0>256,l5=I5?256:_,F5=e[W5>>2]|0,c9(e5|0,F5|0,l5|0)|0,f5=F5,V3=0;d2=W5+(V3<<2)|0,w5=V3+1|0,r5=W5+(w5<<2)|0,a5=e[r5>>2]|0,c9(f5|0,a5|0,l5|0)|0,J2=f5+l5|0,e[d2>>2]=J2,a3=(w5|0)==(w3|0),!a3;)f5=a5,V3=w5;if(d5=(_|0)==(l5|0),d5)break e;X2=_-l5|0,A0=e[T1>>2]|0,_=X2,e5=A0}}while(!1)}else $E(G5,A,$,b1,Z2,H5,0,t3);if(c5=(H5|0)==1,c5){T2=Z2<<1,v5=b1>>>31,z5=v5|T2,i3=b1<<1,l0=i3,x1=z5,Y5=0;break}else{C5=t5>>>0>31,I3=H5+-33|0,g=C5?0:b1,R=C5?b1:Z2,M=C5?I3:t5,d3=R<>>i0,h0=e0|d3,c0=g<>>0>>0,m0)b1=$0,Z2=x1,G5=X,H5=Y5;else{O=x1,q=$0,y3=X,K5=Y5;break}}else O=0,q=1,y3=t,K5=1;if($E(y3,A,$,q,O,K5,0,t3),g0=(K5|0)==1,I0=(q|0)==1,Q3=I0&g0,f0=(O|0)==0,u3=f0&Q3,u3){C=U3;return}else S0=q,v0=O,Z5=y3,b5=K5;for(;;){if(p0=(b5|0)<2,!p0){Y0=v0<<2,o1=S0>>>30,z0=o1|Y0,r1=b5+-2|0,s1=S0<<1,d1=s1&2147483646,u1=o1<<31,E1=d1|u1,f1=E1^3,h1=z0>>>1,A1=t3+(r1<<2)|0,g1=e[A1>>2]|0,z3=g1+A|0,J=0-z3|0,a1=Z5+J|0,$1=b5+-1|0,$E(a1,A,$,f1,h1,$1,1,t3),B1=h1<<1,p1=o1&1,Q1=B1|p1,C1=f1<<1,y1=C1|1,v1=Z5+d0|0,$E(v1,A,$,y1,Q1,r1,1,t3),S0=y1,v0=Q1,Z5=v1,b5=r1;continue}C0=S0+-1|0,y0=(C0|0)==0;do if(y0)q0=32,l3=56;else{if(D0=C0&1,E0=(D0|0)==0,E0){for(D=C0,a6=0;;)if(Q0=a6+1|0,w0=D>>>1,B0=w0&1,Z0=(B0|0)==0,Z0)D=w0,a6=Q0;else{F=Q0;break}R0=(F|0)==0,R0?l3=51:J0=F}else l3=51;if((l3|0)==51){if(l3=0,G0=(v0|0)==0,G0){q0=64,l3=56;break}if(U0=v0&1,O0=(U0|0)==0,O0)k=v0,G3=0;else{m=0,S1=S0,_1=v0,D1=0;break}for(;;)if(H0=G3+1|0,k0=k>>>1,K0=k0&1,N0=(K0|0)==0,N0)k=k0,G3=H0;else{G=H0,Y3=G3;break}if(P0=Y3+33|0,W0=(G|0)==0,W0){m=0,S1=S0,_1=v0,D1=0;break}else J0=P0}V0=J0>>>0>31,V0?(q0=J0,l3=56):(m=J0,S1=S0,_1=v0,D1=J0)}while(!1);if((l3|0)==56&&(l3=0,j0=q0+-32|0,m=j0,S1=v0,_1=0,D1=q0),k1=S1>>>m,L1=32-m|0,M1=_1<>>m,P1=D1+b5|0,H=Z5+d0|0,O1=(P1|0)==1,X1=(R1|0)==1,c3=X1&O1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,Z5=H,b5=P1}C=U3}function $E(t,s,A,$,g,d,p,m){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,m=m|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0;Q2=C,C=C+720|0,F2=Q2+456|0,V2=Q2+228|0,U2=Q2,e[U2>>2]=t,Y=0-s|0,d0=($|0)!=1,v0=(g|0)!=0,J0=v0|d0;e:do if(J0)if(u1=m+(d<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,z1=t+F1|0,W1=pi[A&15](z1,t)|0,k2=(W1|0)<1,k2)B=t,R=d,H=p,Y2=1,R2=18;else for(k=t,O=d,K=p,B0=z1,Y0=g,L5=1,b2=$;;){if(i0=(K|0)==0,f0=(O|0)>1,u5=i0&f0,u5){if(D0=k+Y|0,E0=O+-2|0,Q0=m+(E0<<2)|0,w0=e[Q0>>2]|0,x0=pi[A&15](D0,B0)|0,Z0=(x0|0)>-1,Z0){b=k,M=O,t5=L5;break e}if(B5=w0+s|0,J=0-B5|0,R0=k+J|0,G0=pi[A&15](R0,B0)|0,U0=(G0|0)>-1,U0){b=k,M=O,t5=L5;break e}}O0=L5+1|0,H0=U2+(L5<<2)|0,e[H0>>2]=B0,k0=b2+-1|0,K0=(k0|0)==0;do if(K0)$1=32,R2=15;else{if(N0=k0&1,M0=(N0|0)==0,M0){for(Q=k0,m5=0;;)if(P0=m5+1|0,W0=Q>>>1,V0=W0&1,j0=(V0|0)==0,j0)Q=W0,m5=P0;else{t0=P0;break}q0=(t0|0)==0,q0?R2=10:A1=t0}else R2=10;if((R2|0)==10){if(R2=0,o1=(Y0|0)==0,o1){$1=64,R2=15;break}if(z0=Y0&1,r1=(z0|0)==0,r1)L=Y0,D5=0;else{y=0,B1=b2,y1=Y0,L1=0;break}for(;;)if(L0=D5+1|0,s1=L>>>1,d1=s1&1,E1=(d1|0)==0,E1)L=s1,D5=L0;else{Z=L0,V5=D5;break}if(f1=V5+33|0,h1=(Z|0)==0,h1){y=0,B1=b2,y1=Y0,L1=0;break}else A1=f1}g1=A1>>>0>31,g1?($1=A1,R2=15):(y=A1,B1=b2,y1=Y0,L1=A1)}while(!1);if((R2|0)==15&&(R2=0,a1=$1+-32|0,y=a1,B1=Y0,y1=0,L1=$1),X0=B1>>>y,p1=32-y|0,C1=y1<>>y,S1=L1+O|0,M1=(v1|0)!=1,b1=(k1|0)!=0,_1=b1|M1,!_1){b=B0,M=S1,t5=O0;break e}if(A0=e[U2>>2]|0,R1=m+(S1<<2)|0,P1=e[R1>>2]|0,D1=0-P1|0,O1=B0+D1|0,X1=pi[A&15](O1,A0)|0,G1=(X1|0)<1,G1){B=B0,R=S1,H=0,Y2=O0,R2=18;break}else v=B0,O=S1,K=0,B0=O1,Y0=k1,L5=O0,b2=v1,k=v}else B=t,R=d,H=p,Y2=1,R2=18;while(!1);if((R2|0)==18)if(x1=(H|0)==0,x1)b=B,M=R,t5=Y2;else{C=Q2;return}J1=(t5|0)<2;e:do if(!J1&&(H1=U2+(t5<<2)|0,e[H1>>2]=F2,V1=(s|0)==0,!V1))for(G=s,f2=F2;;){for(C2=G>>>0>256,t2=C2?256:G,$2=e[U2>>2]|0,c9(f2|0,$2|0,t2|0)|0,I2=$2,i5=0;e2=U2+(i5<<2)|0,q1=i5+1|0,h2=U2+(q1<<2)|0,Z1=e[h2>>2]|0,c9(I2|0,Z1|0,t2|0)|0,A2=I2+t2|0,e[e2>>2]=A2,A5=(q1|0)==(t5|0),!A5;)I2=Z1,i5=q1;if(Y1=(G|0)==(t2|0),Y1)break e;o2=G-t2|0,o0=e[H1>>2]|0,G=o2,f2=o0}while(!1);e[V2>>2]=b,g2=(M|0)>1;e:do if(g2){for(_=M,q=b,a2=b,j2=1;;){if(n2=q+Y|0,u2=_+-2|0,s2=m+(u2<<2)|0,l2=e[s2>>2]|0,o5=l2+s|0,s0=0-o5|0,i2=q+s0|0,m2=pi[A&15](a2,i2)|0,r2=(m2|0)>-1,r2&&(D2=pi[A&15](a2,n2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(y2=pi[A&15](i2,n2)|0,G2=(y2|0)>-1,M2=j2+1|0,O2=V2+(j2<<2)|0,G2?(e[O2>>2]=i2,p2=_+-1|0,E=i2,D=p2):(e[O2>>2]=n2,E=n2,D=u2),W2=(D|0)>1,!W2){N1=M2;break}j=e[V2>>2]|0,_=D,q=E,a2=j,j2=M2}if(q2=(N1|0)<2,q2)y0=F2;else if(K2=V2+(N1<<2)|0,e[K2>>2]=F2,e0=(s|0)==0,e0)y0=F2;else for(F=s,S0=F2;;){for(p0=F>>>0>256,c0=p0?256:F,C0=e[V2>>2]|0,c9(S0|0,C0|0,c0|0)|0,I0=C0,T5=0;l0=V2+(T5<<2)|0,X=T5+1|0,m0=V2+(X<<2)|0,g0=e[m0>>2]|0,c9(I0|0,g0|0,c0|0)|0,n0=I0+c0|0,e[l0>>2]=n0,Z2=(X|0)==(N1|0),!Z2;)I0=g0,T5=X;if(h0=(F|0)==(c0|0),h0){y0=F2;break e}$0=F-c0|0,r0=e[K2>>2]|0,F=$0,S0=r0}}else y0=F2;while(!1);C=Q2}function z7(t){t=+t;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;return M=C,c1[w2>>3]=t,A=e[w2>>2]|0,$=e[w2+4>>2]|0,y=$&2146435072,B=y>>>0>1126170624,b=!1,D=(y|0)==1126170624,k=D&b,v=B|k,v?(s=t,+s):(_=($|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,d=t+4503599627370496,p=d+-4503599627370496,L=_?g:p,m=L==0,m?(E=_?-0:0,s=E,+s):(s=L,+s))}function Hy(t){t=+t;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return v=C,A=(o[w2>>2]=t,e[w2>>2]|0),$=A&2130706432,g=$>>>0>1249902592,g?(s=t,+s):(d=(A|0)<0,p=t+-8388608,m=p+8388608,E=t+8388608,y=E+-8388608,D=d?m:y,B=D==0,B?(b=d?-0:0,s=b,+s):(s=D,+s))}function mD(t,s){t=+t,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0;return t0=C,d=(s|0)>1023,d?(p=t*898846567431158e293,Q=s+-1023|0,L=(Q|0)>1023,L?(R=p*898846567431158e293,M=s+-2046|0,F=(M|0)>1023,A=F?1023:M,$=A,H=R):($=Q,H=p)):(G=(s|0)<-1022,G?(O=t*22250738585072014e-324,q=s+1022|0,m=(q|0)<-1022,m?(E=O*22250738585072014e-324,y=s+2044|0,B=(y|0)<-1022,g=B?-1022:y,$=g,H=E):($=q,H=O)):($=s,H=t)),b=$+1023|0,D=zy(b|0,0,52)|0,k=Z6,e[w2>>2]=D,e[w2+4>>2]=k,v=+c1[w2>>3],_=H*v,+_}function pD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0;m=C,s=t+-1|0,A=553040,$=A,e[$>>2]=s,g=A+4|0,d=g,e[d>>2]=0}function ED(){var t=0,s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,t=553040,s=t,E=e[s>>2]|0,y=t+4|0,B=y,b=e[B>>2]|0,D=QD(E|0,b|0,1284865837,1481765933)|0,k=Z6,v=ro(D|0,k|0,1,0)|0,_=Z6,A=553040,$=A,e[$>>2]=v,g=A+4|0,d=g,e[d>>2]=_,p=no(v|0,_|0,33)|0,m=Z6,p|0}function Re(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0,y8=0,U8=0,sn=0,Sr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,br=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,Dr=0,hn=0,To=0,sr=0,No=0,ls=0,dn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,hs=0,ds=0,Po=0,_r=0,fs=0,p7=0,In=0,xr=0,or=0,Lr=0,J7=0,Mr=0,Is=0,W7=0,D7=0,_7=0,i7=0,x7=0,Rr=0,ar=0,Ar=0,Fr=0,E7=0,Oo=0,fi=0,$l=0,mn=0,pn=0,Ou=0,ll=0,qo=0,qu=0,lA=0,cl=0,Hu=0,Vu=0,Yu=0,cA=0,gl=0,ul=0,gA=0,En=0,hl=0,zu=0,Ho=0,$r=0,Ku=0,Ju=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,dl=0,Tr=0,nh=0,sh=0,fl=0,oh=0,uA=0,Vo=0,hA=0,ah=0,Ah=0,dA=0,Il=0,ml=0,pl=0,fA=0,El=0,Yo=0,$h=0,lh=0,Cl=0,ch=0,gh=0,Bl=0,uh=0,hh=0,yl=0,Ql=0,wl=0,vl=0,kl=0,Cn=0,dh=0,Sl=0,fh=0,bl=0,Dl=0,Ih=0,mh=0,ph=0,IA=0,_l=0,xl=0,ms=0,Ll=0,mA=0,Eh=0,Ml=0,Ch=0,Rl=0,Bh=0,yh=0,Fl=0,Tl=0,Qh=0,zo=0,wh=0,pA=0,Nl=0,Gl=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Ko=0,Ul=0,Pl=0,Ol=0,Jo=0,xh=0,ql=0,Lh=0,Hl=0,Mh=0,Rh=0,Vl=0,EA=0,Fh=0,Th=0,Wo=0,Nh=0,Zo=0,Gh=0,CA=0,Uh=0,Ph=0,Oh=0,Yl=0,qh=0,Hh=0,Vh=0,Yh=0,zl=0,Kl=0,lr=0,Jl=0,jo=0,BA=0,yA=0,Bn=0,Wl=0,yn=0,zh=0,Zl=0,Kh=0,Jh=0,Wh=0,Zh=0,Xo=0,QA=0,Nr=0,jh=0,Xh=0,jl=0,wA=0,Xl=0,ec=0,ed=0,tc=0,td=0,vA=0,id=0,rd=0,Je=0,nd=0,ic=0,sd=0,od=0,kA=0,ad=0,SA=0,rc=0,Ad=0,$d=0,nc=0,sc=0,ld=0,bA=0,DA=0,oc=0,ac=0,cd=0,Ac=0,_A=0,gd=0,$c=0,ud=0,hd=0,dd=0,fd=0,lc=0,cc=0,xA=0,ea=0,gc=0,Id=0,uc=0,hc=0,md=0,pd=0,Ed=0,dc=0,Cd=0,Bd=0,yd=0,Qd=0,wd=0,vd=0,fc=0,kd=0,Ic=0,Sd=0,Qn=0,bd=0,mc=0,Dd=0,ps=0,pc=0,LA=0,_d=0,ta=0,MA=0,xd=0,RA=0,Ec=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,Cc=0,Nd=0,Gd=0,Ud=0,ia=0,Es=0,FA=0,Pd=0,TA=0,Od=0,qd=0,Hd=0,Bc=0,Vd=0,Yd=0,zd=0,Kd=0,Jd=0,ra=0,Wd=0,Zd=0,yc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,Qc=0,B7=0,wc=0,NA=0,rf=0,r7=0,Cs=0,nf=0,sf=0,of=0,af=0,Af=0,vc=0,$f=0,lf=0,kc=0,cf=0,gf=0,Bs=0,GA=0,uf=0,Sc=0,hf=0,df=0,na=0,ff=0,If=0,bc=0,Dc=0,mf=0,pf=0,wn=0,Ef=0,Cf=0,vn=0,Bf=0,_c=0,yf=0,Qf=0,ys=0,xc=0,wf=0,Lc=0,vf=0,cr=0,UA=0,kf=0,Mc=0,Rc=0,Sf=0,bf=0,Fc=0,Df=0,_f=0,xf=0,Tc=0,Lf=0,Qs=0,Mf=0,kn=0,Rf=0,Ff=0,PA=0,Tf=0,OA=0,qA=0,Nf=0,Nc=0,Gc=0,Gf=0,Uc=0,Pc=0,Oc=0,Uf=0,qc=0,Hc=0,Pf=0,Of=0,Vc=0,Yc=0,qf=0,zc=0,Kc=0,Hf=0,Vf=0,Jc=0,HA=0,Wc=0,Zc=0,jc=0,Xc=0,Yf=0,zf=0,Kf=0,Jf=0,Wf=0,Zf=0,jf=0,Xf=0,eg=0,VA=0,eI=0,tI=0,iI=0,tg=0,ig=0,rI=0,rg=0,YA=0,sa=0,ng=0,nI=0,sI=0,oI=0,aI=0,sg=0,oa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,hI=0,dI=0,og=0,fI=0,II=0,mI=0,pI=0,aa=0,ag=0,EI=0,CI=0,Sn=0,Ag=0,$g=0,zA=0,BI=0,lg=0,yI=0,cg=0,gg=0,QI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,KA=0,bI=0,DI=0,_I=0,xI=0,ug=0,LI=0,hg=0,MI=0,RI=0,dg=0,Gr=0,fg=0,Ig=0,FI=0,mg=0,$a=0,TI=0,NI=0,GI=0,la=0,pg=0,UI=0,PI=0,Eg=0,OI=0,qI=0,JA=0,ca=0,HI=0,VI=0,YI=0,Cg=0,Bg=0,yg=0,zI=0,KI=0,ws=0,JI=0,Qg=0,WI=0,WA=0,wg=0,ZI=0,jI=0,XI=0,em=0,vg=0,tm=0,im=0,kg=0,ga=0,rm=0,nm=0,sm=0,vs=0,Sg=0,bg=0,om=0,Dg=0,_g=0,L7=0,xg=0,gr=0,am=0,Am=0,$m=0,lm=0,ZA=0,ua=0,Lg=0,Mg=0,cm=0,ha=0,ks=0,gm=0,da=0,jA=0,um=0,XA=0,hm=0,dm=0,Rg=0,fa=0,Fg=0,fm=0,Im=0,mm=0,pm=0,Tg=0,Em=0,si=0,D9=0,n7=0,Cm=0,Ng=0,Gg=0,e$=0,Bm=0,Ur=0,Ss=0,ym=0,Qm=0,Ug=0,t$=0,wm=0,Pg=0,Og=0,qg=0,i$=0,r$=0,Hg=0,bs=0,n$=0,Vg=0,vm=0,bn=0,km=0,Yg=0,Ia=0,Sm=0,zg=0,M7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,R7=0,Rm=0,Fm=0,Tm=0,Kg=0,y7=0,ma=0,s$=0,Jg=0,Wg=0,Nm=0,Zg=0,jg=0,Gm=0,Um=0,Xg=0,eu=0,Pm=0,Om=0,tu=0,qm=0,Ds=0,pa=0,Ea=0,Hm=0,o$=0,Vm=0,Ym=0,iu=0,_s=0,zm=0,Km=0,a$=0,A$=0,Ca=0,$$=0,l$=0,ur=0,Pr=0,Or=0,c$=0,g$=0,xs=0,hr=0,Dn=0,Jm=0,dr=0,_n=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ru=0,nu=0,Qa=0,u$=0,Ni=0,wa=0,qr=0,h$=0,Zm=0,d$=0,jm=0,f$=0,su=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,xn=0,tt=0,L9=0,ou=0,ip=0,I$=0,au=0,rp=0,np=0,ba=0,sp=0,op=0,ap=0,Ap=0,Au=0,$p=0,lp=0,cp=0,s7=0,Da=0,Ln=0,m$=0,Ls=0,Ms=0,oi=0,Rs=0,$u=0,lu=0,_a=0,Fs=0,Ts=0,Ns=0,gp=0,Gs=0,fr=0,cu=0,Hr=0,o7=0,p$=0,E$=0,Z7=0,C$=0,B$=0,y$=0,Vr=0,h6=0,xa=0,Yr=0,gu=0,L4=0,Q$=0,kt=0,Us=0,Mn=0,Rn=0,qe=0,Fn=0,zr=0,j9=0,w$=0;w$=C,W1=t>>>0<245;do if(W1){if(f2=t>>>0<11,p9=t+11|0,J9=p9&-8,x4=f2?16:J9,qo=x4>>>3,CA=e[138262]|0,ia=CA>>>qo,Zc=ia&3,kg=(Zc|0)==0,!kg){g2=ia&1,f3=g2^1,g3=f3+qo|0,l3=g3<<1,h3=553088+(l3<<2)|0,S0=l3+2|0,N6=553088+(S0<<2)|0,R6=e[N6>>2]|0,G6=R6+8|0,F6=e[G6>>2]|0,Qe=(h3|0)==(F6|0);do if(Qe)ze=1<>>0>>0,d4&&v2(),S9=F6+12|0,be=e[S9>>2]|0,Pt=(be|0)==(R6|0),Pt){e[S9>>2]=h3,e[N6>>2]=F6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=R6+4|0,e[U4>>2]=p8,w0=pt|4,D4=R6+w0|0,W9=e[D4>>2]|0,A8=W9|1,e[D4>>2]=A8,tt=G6,tt|0}if(X4=e[138264]|0,j8=x4>>>0>X4>>>0,j8){if(Hi=(ia|0)==0,!Hi){Yi=ia<>>12,un=So&16,gs=rs>>>un,or=gs>>>5,ar=or&8,qu=ar|un,hl=gs>>>ar,th=hl>>>2,hA=th&4,lh=qu|hA,kl=hl>>>hA,_l=kl>>>1,Fl=_l&2,bh=lh|Fl,Hl=kl>>>Fl,Uh=Hl>>>1,Jl=Uh&1,Wh=bh|Jl,ed=Hl>>>Jl,kA=Wh+ed|0,oc=kA<<1,lc=553088+(oc<<2)|0,O1=oc+2|0,dc=553088+(O1<<2)|0,Qn=e[dc>>2]|0,RA=Qn+8|0,Es=e[RA>>2]|0,Kd=(lc|0)==(Es|0);do if(Kd)Qc=1<>>0>>0,cr&&v2(),Tc=Es+12|0,Nf=e[Tc>>2]|0,Of=(Nf|0)==(Qn|0),Of){e[Tc>>2]=lc,e[dc>>2]=Es,v=e[138264]|0,ca=v;break}else v2();while(!1);return jc=kA<<3,VA=jc-x4|0,nI=x4|3,uI=Qn+4|0,e[uI>>2]=nI,CI=Qn+x4|0,wI=VA|1,t2=x4|4,LI=Qn+t2|0,e[LI>>2]=wI,TI=Qn+jc|0,e[TI>>2]=VA,Qg=(ca|0)==0,Qg||(ga=e[138267]|0,xg=ca>>>3,ha=xg<<1,Fg=553088+(ha<<2)|0,Ng=e[138262]|0,Pg=1<>2]|0,y2=e[138266]|0,A5=n2>>>0>>0,A5?v2():(H=Ds,Ca=n2)),e[H>>2]=ga,u5=Ca+12|0,e[u5>>2]=ga,q5=ga+8|0,e[q5>>2]=Ca,X2=ga+12|0,e[X2>>2]=Fg),e[138264]=VA,e[138267]=CI,tt=RA,tt|0}if(c5=e[138263]|0,y3=(c5|0)==0,y3)L9=x4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,e6=w3>>>12,V3=e6&16,X5=w3>>>V3,_3=X5>>>5,t3=_3&8,a6=t3|V3,G3=X5>>>t3,Y3=G3>>>2,c3=Y3&4,u3=a6|c3,Q3=G3>>>c3,K5=Q3>>>1,H5=K5&2,Y5=u3|H5,b5=Q3>>>H5,z3=b5>>>1,U5=z3&1,l6=Y5|U5,n3=b5>>>U5,U3=l6+n3|0,C6=553352+(U3<<2)|0,b3=e[C6>>2]|0,L3=b3+4|0,D3=e[L3>>2]|0,A6=D3&-8,r6=A6-x4|0,Da=r6,E$=b3,Q$=b3;;){if(K3=E$+16|0,j5=e[K3>>2]|0,M3=(j5|0)==0,M3)if(J3=E$+20|0,d6=e[J3>>2]|0,m3=(d6|0)==0,m3){Ln=Da,kt=Q$;break}else L6=d6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,n6=S6-x4|0,f6=n6>>>0>>0,J=f6?n6:Da,$2=f6?L6:Q$,Da=J,E$=L6,Q$=$2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),k6=kt+x4|0,R3=kt>>>0>>0,R3||v2(),s6=kt+24|0,o6=e[s6>>2]|0,B6=kt+12|0,W3=e[B6>>2]|0,F3=(W3|0)==(kt|0);do if(F3){if(H6=kt+20|0,$6=e[H6>>2]|0,D6=($6|0)==0,D6)if(ee=kt+16|0,Q6=e[ee>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else hr=Q6,Ba=ee;else hr=$6,Ba=H6;for(;;){if(P3=hr+20|0,re=e[P3>>2]|0,V6=(re|0)==0,!V6){hr=re,Ba=P3;continue}if(se=hr+16|0,ge=e[se>>2]|0,U6=(ge|0)==0,U6){dr=hr,nu=Ba;break}else hr=ge,Ba=se}if(Y6=nu>>>0>>0,Y6)v2();else{e[nu>>2]=0,Ri=dr;break}}else if(Z3=kt+8|0,t6=e[Z3>>2]|0,c6=t6>>>0>>0,c6&&v2(),s3=t6+12|0,K6=e[s3>>2]|0,A3=(K6|0)==(kt|0),A3||v2(),g6=W3+8|0,y6=e[g6>>2]|0,T3=(y6|0)==(kt|0),T3){e[s3>>2]=W3,e[g6>>2]=t6,Ri=W3;break}else v2();while(!1);te=(o6|0)==0;do if(!te){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,oe=(kt|0)==(O6|0),oe){if(e[O3>>2]=Ri,Xm=(Ri|0)==0,Xm){he=1<>>0>>0,fe&&v2(),Ve=o6+16|0,w6=e[Ve>>2]|0,q6=(w6|0)==(kt|0),q6?e[Ve>>2]=Ri:(ae=o6+20|0,e[ae>>2]=Ri),Ye=(Ri|0)==0,Ye)break;we=e[138266]|0,Q9=Ri>>>0>>0,Q9&&v2(),g9=Ri+24|0,e[g9>>2]=o6,r9=kt+16|0,Fe=e[r9>>2]|0,ve=(Fe|0)==0;do if(!ve)if(J6=Fe>>>0>>0,J6)v2();else{Ae=Ri+16|0,e[Ae>>2]=Fe,w9=Fe+24|0,e[w9>>2]=Ri;break}while(!1);if(M9=kt+20|0,u9=e[M9>>2]|0,_e=(u9|0)==0,!_e)if(R9=e[138266]|0,G9=u9>>>0>>0,G9)v2();else{q9=Ri+20|0,e[q9>>2]=u9,n4=u9+24|0,e[n4>>2]=Ri;break}}while(!1);return v9=Ln>>>0<16,v9?(H9=Ln+x4|0,Ke=H9|3,V9=kt+4|0,e[V9>>2]=Ke,X1=H9+4|0,h9=kt+X1|0,U9=e[h9>>2]|0,E9=U9|1,e[h9>>2]=E9):(Ze=x4|3,ke=kt+4|0,e[ke>>2]=Ze,k4=Ln|1,m0=x4|4,V4=kt+m0|0,e[V4>>2]=k4,I0=Ln+x4|0,nt=kt+I0|0,e[nt>>2]=Ln,Y9=e[138264]|0,Y4=(Y9|0)==0,Y4||(z9=e[138267]|0,s4=Y9>>>3,R4=s4<<1,n9=553088+(R4<<2)|0,u4=e[138262]|0,C9=1<>2]|0,h4=e[138266]|0,s9=T9>>>0

>>0,s9?v2():(O=d9,A$=T9)),e[O>>2]=z9,f4=A$+12|0,e[f4>>2]=z9,k9=z9+8|0,e[k9>>2]=A$,o4=z9+12|0,e[o4>>2]=n9),e[138264]=Ln,e[138267]=k6),P9=kt+8|0,tt=P9,tt|0}}else L9=x4}else if(I4=t>>>0>4294967231,I4)L9=-1;else if(Se=t+11|0,I6=Se&-8,z4=e[138263]|0,f9=(z4|0)==0,f9)L9=I6;else{S4=0-I6|0,I9=Se>>>8,z6=(I9|0)==0,z6?xn=0:(F4=I6>>>0>16777215,F4?xn=31:(T4=I9+1048320|0,ot=T4>>>16,m9=ot&8,x9=I9<>>16,xe=j3&4,O9=xe|m9,a4=x9<>>16,f8=N4&2,_8=O9|f8,e8=14-_8|0,I8=a4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,x8=i8|Ot,xn=x8)),Ht=553352+(xn<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ms=S4,C$=0,Rn=0,j9=86;else for(_t=(xn|0)==31,xt=xn>>>1,zt=25-xt|0,Kt=_t?0:zt,r8=I6<>2]|0,K4=Et&-8,G4=K4-I6|0,at=G4>>>0>>0,at)if(Lt=(K4|0)==(I6|0),Lt){Rs=G4,Vr=Z7,zr=Z7,j9=90;break e}else Ls=G4,Mn=Z7;else Ls=m$,Mn=Us;if(Le=Z7+20|0,b4=e[Le>>2]|0,E8=_a>>>31,L8=(Z7+16|0)+(E8<<2)|0,s8=e[L8>>2]|0,M8=(b4|0)==0,A4=(b4|0)==(s8|0),sp=M8|A4,lu=sp?$u:b4,o8=(s8|0)==0,Jt=_a<<1,o8){Ms=Ls,C$=lu,Rn=Mn,j9=86;break}else m$=Ls,$u=lu,_a=Jt,Z7=s8,Us=Mn}while(!1);if((j9|0)==86){if(Mt=(C$|0)==0,At=(Rn|0)==0,rp=Mt&At,rp){if($t=2<>>12,p4=yt&16,J4=ct>>>p4,W4=J4>>>5,a9=W4&8,P4=a9|p4,E4=J4>>>a9,gt=E4>>>2,_4=gt&4,b9=P4|_4,Qt=E4>>>_4,a8=Qt>>>1,C3=a8&2,Z4=b9|C3,wt=Qt>>>C3,$4=wt>>>1,je=$4&1,l4=Z4|je,Te=wt>>>je,j4=l4+Te|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,B$=C8,Fn=0}else B$=C$,Fn=Rn;$8=(B$|0)==0,$8?(oi=Ms,qe=Fn):(Rs=Ms,Vr=B$,zr=Fn,j9=90)}if((j9|0)==90)for(;;){if(j9=0,Zt=Vr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,ht=ut>>>0>>0,s0=ht?ut:Rs,y$=ht?Vr:zr,Ft=Vr+16|0,Z9=e[Ft>>2]|0,c8=(Z9|0)==0,!c8){Rs=s0,Vr=Z9,zr=y$,j9=90;continue}if(Tt=Vr+20|0,De=e[Tt>>2]|0,g8=(De|0)==0,g8){oi=s0,qe=y$;break}else Rs=s0,Vr=De,zr=y$,j9=90}if(et=(qe|0)==0,et)L9=I6;else if(V8=e[138264]|0,Z8=V8-I6|0,R8=oi>>>0>>0,R8){u8=e[138266]|0,F8=qe>>>0>>0,F8&&v2(),c4=qe+I6|0,Y8=qe>>>0>>0,Y8||v2(),dt=qe+24|0,Nt=e[dt>>2]|0,T8=qe+12|0,Xt=e[T8>>2]|0,O4=(Xt|0)==(qe|0);do if(O4){if(ei=qe+20|0,Bi=e[ei>>2]|0,ti=(Bi|0)==0,ti)if(yi=qe+16|0,li=e[yi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else _n=li,Qa=yi;else _n=Bi,Qa=ei;for(;;){if(Qi=_n+20|0,wi=e[Qi>>2]|0,u7=(wi|0)==0,!u7){_n=wi,Qa=Qi;continue}if(vi=_n+16|0,ci=e[vi>>2]|0,h7=(ci|0)==0,h7){Wm=_n,u$=Qa;break}else _n=ci,Qa=vi}if(zi=u$>>>0>>0,zi)v2();else{e[u$>>2]=0,Ti=Wm;break}}else if(C4=qe+8|0,A9=e[C4>>2]|0,N8=A9>>>0>>0,N8&&v2(),$i=A9+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(qe|0),Vi||v2(),Ei=Xt+8|0,X8=e[Ei>>2]|0,Ci=(X8|0)==(qe|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=A9,Ti=Xt;break}else v2();while(!1);Ki=(Nt|0)==0;do if(!Ki){if(Ji=qe+28|0,Wi=e[Ji>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ii=(qe|0)==(Zi|0),ii){if(e[ki>>2]=Ti,ka=(Ti|0)==0,ka){ui=1<>>0>>0,f7&&v2(),Si=Nt+16|0,bi=e[Si>>2]|0,Di=(bi|0)==(qe|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ni=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,hi=qe+16|0,K8=e[hi>>2]|0,Li=(K8|0)==0;do if(!Li)if(G8=K8>>>0>>0,G8)v2();else{di=Ti+16|0,e[di>>2]=K8,$e=K8+24|0,e[$e>>2]=Ti;break}while(!1);if(B8=qe+20|0,vt=e[B8>>2]|0,y8=(vt|0)==0,!y8)if(U8=e[138266]|0,sn=vt>>>0>>0,sn)v2();else{Sr=Ti+20|0,e[Sr>>2]=vt,ao=vt+24|0,e[ao>>2]=Ti;break}}while(!1);Ao=oi>>>0<16;e:do if(Ao)Kn=oi+I6|0,$o=Kn|3,lo=qe+4|0,e[lo>>2]=$o,d1=Kn+4|0,Jn=qe+d1|0,co=e[Jn>>2]|0,on=co|1,e[Jn>>2]=on;else{if(go=I6|3,uo=qe+4|0,e[uo>>2]=go,ho=oi|1,l0=I6|4,fo=qe+l0|0,e[fo>>2]=ho,C0=oi+I6|0,Zn=qe+C0|0,e[Zn>>2]=oi,jn=oi>>>3,Io=oi>>>0<256,Io){an=jn<<1,Xn=553088+(an<<2)|0,An=e[138262]|0,es=1<>2]|0,Co=e[138266]|0,br=is>>>0>>0,br?v2():(G=$n,l$=is)),e[G>>2]=c4,ln=l$+12|0,e[ln>>2]=c4,Y0=I6+8|0,Bo=qe+Y0|0,e[Bo>>2]=l$,z0=I6+12|0,yo=qe+z0|0,e[yo>>2]=Xn;break}if(cn=oi>>>8,I7=(cn|0)==0,I7?Pr=0:(Qo=oi>>>0>16777215,Qo?Pr=31:(wo=cn+1048320|0,ns=wo>>>16,ss=ns&8,os=cn<>>16,gn=m7&4,ko=gn|ss,as=os<>>16,As=Do&2,_o=ko|As,xo=14-_o|0,Lo=as<>>15,$s=xo+Mo|0,Ro=$s<<1,Fo=$s+7|0,Dr=oi>>>Fo,hn=Dr&1,To=hn|Ro,Pr=To)),sr=553352+(Pr<<2)|0,f1=I6+28|0,No=qe+f1|0,e[No>>2]=Pr,M1=I6+16|0,ls=qe+M1|0,x1=I6+20|0,dn=qe+x1|0,e[dn>>2]=0,e[ls>>2]=0,cs=e[138263]|0,fn=1<>2]=c4,Y1=I6+24|0,hs=qe+Y1|0,e[hs>>2]=sr,o2=I6+12|0,ds=qe+o2|0,e[ds>>2]=c4,q1=I6+8|0,Po=qe+q1|0,e[Po>>2]=c4;break}_r=e[sr>>2]|0,fs=_r+4|0,p7=e[fs>>2]|0,In=p7&-8,xr=(In|0)==(oi|0);t:do if(xr)Ni=_r;else{for(Lr=(Pr|0)==31,J7=Pr>>>1,Mr=25-J7|0,Is=Lr?0:Mr,W7=oi<>>31,E7=(h$+16|0)+(Fr<<2)|0,i7=e[E7>>2]|0,Oo=(i7|0)==0,Oo){k=E7,Zm=h$;break}if(D7=c$<<1,_7=i7+4|0,x7=e[_7>>2]|0,Rr=x7&-8,Ar=(Rr|0)==(oi|0),Ar){Ni=i7;break t}else c$=D7,h$=i7}if(fi=e[138266]|0,$l=k>>>0>>0,$l)v2();else{e[k>>2]=c4,E0=I6+24|0,mn=qe+E0|0,e[mn>>2]=Zm,H0=I6+12|0,pn=qe+H0|0,e[pn>>2]=c4,V0=I6+8|0,Ou=qe+V0|0,e[Ou>>2]=c4;break e}}while(!1);if(ll=Ni+8|0,lA=e[ll>>2]|0,cl=e[138266]|0,Hu=lA>>>0>=cl>>>0,ou=Ni>>>0>=cl>>>0,Vu=Hu&ou,Vu){Yu=lA+12|0,e[Yu>>2]=c4,e[ll>>2]=c4,h2=I6+8|0,cA=qe+h2|0,e[cA>>2]=lA,I2=I6+12|0,gl=qe+I2|0,e[gl>>2]=Ni,y0=I6+24|0,ul=qe+y0|0,e[ul>>2]=0;break}else v2()}while(!1);return gA=qe+8|0,tt=gA,tt|0}else L9=I6}while(!1);if(En=e[138264]|0,zu=En>>>0>>0,!zu)return Ho=En-L9|0,$r=e[138267]|0,Ku=Ho>>>0>15,Ku?(Ju=$r+L9|0,e[138267]=Ju,e[138264]=Ho,Wu=Ho|1,E1=L9+4|0,Zu=$r+E1|0,e[Zu>>2]=Wu,ju=$r+En|0,e[ju>>2]=Ho,Xu=L9|3,eh=$r+4|0,e[eh>>2]=Xu):(e[138264]=0,e[138267]=0,ih=En|3,rh=$r+4|0,e[rh>>2]=ih,g0=En+4|0,dl=$r+g0|0,Tr=e[dl>>2]|0,nh=Tr|1,e[dl>>2]=nh),sh=$r+8|0,tt=sh,tt|0;if(fl=e[138265]|0,oh=fl>>>0>L9>>>0,oh)return uA=fl-L9|0,e[138265]=uA,Vo=e[138268]|0,ah=Vo+L9|0,e[138268]=ah,Ah=uA|1,Y=L9+4|0,dA=Vo+Y|0,e[dA>>2]=Ah,Il=L9|3,ml=Vo+4|0,e[ml>>2]=Il,pl=Vo+8|0,tt=pl,tt|0;fA=e[138380]|0,El=(fA|0)==0;do if(El)if(Yo=LS(30)|0,$h=Yo+-1|0,Cl=$h&Yo,ch=(Cl|0)==0,ch){e[138382]=Yo,e[138381]=Yo,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,gh=dy(0)|0,Bl=gh&-16,uh=Bl^1431655768,e[138380]=uh;break}else v2();while(!1);if(hh=L9+48|0,yl=e[138382]|0,Ql=L9+47|0,wl=yl+Ql|0,vl=0-yl|0,Cn=wl&vl,dh=Cn>>>0>L9>>>0,!dh||(Sl=e[138372]|0,fh=(Sl|0)==0,!fh&&(bl=e[138370]|0,Dl=bl+Cn|0,Ih=Dl>>>0<=bl>>>0,mh=Dl>>>0>Sl>>>0,ba=Ih|mh,ba)))return tt=0,tt|0;ph=e[138373]|0,IA=ph&4,xl=(IA|0)==0;e:do if(xl){ms=e[138268]|0,Ll=(ms|0)==0;t:do if(Ll)j9=174;else{for(Fs=553496;;){if(mA=e[Fs>>2]|0,Eh=mA>>>0>ms>>>0,!Eh&&(Ml=Fs+4|0,Ch=e[Ml>>2]|0,Rl=mA+Ch|0,Bh=Rl>>>0>ms>>>0,Bh)){b=Fs,D=Ml;break}if(yh=Fs+8|0,Tl=e[yh>>2]|0,Qh=(Tl|0)==0,Qh){j9=174;break t}else Fs=Tl}if(Fh=e[138265]|0,Th=wl-Fh|0,Wo=Th&vl,Nh=Wo>>>0<2147483647,Nh)if(Zo=Oi(Wo|0)|0,Gh=e[b>>2]|0,Ph=e[D>>2]|0,Oh=Gh+Ph|0,Yl=(Zo|0)==(Oh|0),s=Yl?Wo:0,Yl)if(qh=(Zo|0)==-1,qh)Yr=s;else{h6=Zo,L4=s,j9=194;break e}else va=Zo,o7=Wo,xa=s,j9=184;else Yr=0}while(!1);do if((j9|0)==174)if(zo=Oi(0)|0,wh=(zo|0)==-1,wh)Yr=0;else if(pA=zo,Nl=e[138381]|0,Gl=Nl+-1|0,vh=Gl&pA,kh=(vh|0)==0,kh?Hr=Cn:(Sh=Gl+pA|0,Dh=0-Nl|0,_h=Sh&Dh,Ko=Cn-pA|0,Ul=Ko+_h|0,Hr=Ul),Pl=e[138370]|0,Ol=Pl+Hr|0,Jo=Hr>>>0>L9>>>0,xh=Hr>>>0<2147483647,np=Jo&xh,np){if(ql=e[138372]|0,Lh=(ql|0)==0,!Lh&&(Mh=Ol>>>0<=Pl>>>0,Rh=Ol>>>0>ql>>>0,op=Mh|Rh,op)){Yr=0;break}if(Vl=Oi(Hr|0)|0,EA=(Vl|0)==(zo|0),cu=EA?Hr:0,EA){h6=zo,L4=cu,j9=194;break e}else va=Vl,o7=Hr,xa=cu,j9=184}else Yr=0;while(!1);t:do if((j9|0)==184){Hh=0-o7|0,Vh=(va|0)!=-1,Yh=o7>>>0<2147483647,Ap=Yh&Vh,zl=hh>>>0>o7>>>0,$p=zl&Ap;do if($p)if(Kl=e[138382]|0,lr=Ql-o7|0,jo=lr+Kl|0,BA=0-Kl|0,yA=jo&BA,Bn=yA>>>0<2147483647,Bn)if(Wl=Oi(yA|0)|0,yn=(Wl|0)==-1,yn){Oi(Hh|0)|0,Yr=xa;break t}else{zh=yA+o7|0,p$=zh;break}else p$=o7;else p$=o7;while(!1);if(Zl=(va|0)==-1,Zl)Yr=xa;else{h6=va,L4=p$,j9=194;break e}}while(!1);Kh=e[138373]|0,Jh=Kh|4,e[138373]=Jh,gu=Yr,j9=191}else gu=0,j9=191;while(!1);if((j9|0)==191&&(Zh=Cn>>>0<2147483647,Zh&&(Xo=Oi(Cn|0)|0,QA=Oi(0)|0,Nr=(Xo|0)!=-1,jh=(QA|0)!=-1,ap=Nr&jh,Xh=Xo>>>0>>0,lp=Xh&ap,lp&&(jl=QA,wA=Xo,Xl=jl-wA|0,ec=L9+40|0,tc=Xl>>>0>ec>>>0,C2=tc?Xl:gu,tc&&(h6=Xo,L4=C2,j9=194)))),(j9|0)==194){td=e[138370]|0,vA=td+L4|0,e[138370]=vA,id=e[138371]|0,rd=vA>>>0>id>>>0,rd&&(e[138371]=vA),Je=e[138268]|0,nd=(Je|0)==0;e:do if(nd){for(ic=e[138266]|0,sd=(ic|0)==0,od=h6>>>0>>0,cp=sd|od,cp&&(e[138266]=h6),e[138374]=h6,e[138375]=L4,e[138377]=0,ad=e[138380]|0,e[138271]=ad,e[138270]=-1,Sa=0;SA=Sa<<1,rc=553088+(SA<<2)|0,d0=SA+3|0,Ad=553088+(d0<<2)|0,e[Ad>>2]=rc,n0=SA+2|0,$d=553088+(n0<<2)|0,e[$d>>2]=rc,nc=Sa+1|0,tp=(nc|0)==32,!tp;)Sa=nc;sc=L4+-40|0,ld=h6+8|0,bA=ld,DA=bA&7,ac=(DA|0)==0,cd=0-bA|0,Ac=cd&7,_A=ac?0:Ac,gd=h6+_A|0,$c=sc-_A|0,e[138268]=gd,e[138265]=$c,ud=$c|1,e0=_A+4|0,hd=h6+e0|0,e[hd>>2]=ud,h1=L4+-36|0,dd=h6+h1|0,e[dd>>2]=40,fd=e[138384]|0,e[138269]=fd}else{for(Ns=553496;;){if(cc=e[Ns>>2]|0,xA=Ns+4|0,ea=e[xA>>2]|0,gc=cc+ea|0,Id=(h6|0)==(gc|0),Id){E=cc,y=xA,B=ea,gp=Ns,j9=204;break}if(uc=Ns+8|0,hc=e[uc>>2]|0,md=(hc|0)==0,md)break;Ns=hc}if((j9|0)==204&&(pd=gp+12|0,Ed=e[pd>>2]|0,Cd=Ed&8,Bd=(Cd|0)==0,Bd&&(yd=Je>>>0>=E>>>0,Qd=Je>>>0
>>0,Au=Qd&yd,Au))){wd=B+L4|0,e[y>>2]=wd,vd=e[138265]|0,fc=vd+L4|0,kd=Je+8|0,Ic=kd,Sd=Ic&7,bd=(Sd|0)==0,mc=0-Ic|0,Dd=mc&7,ps=bd?0:Dd,pc=Je+ps|0,LA=fc-ps|0,e[138268]=pc,e[138265]=LA,_d=LA|1,c0=ps+4|0,ta=Je+c0|0,e[ta>>2]=_d,a1=fc+4|0,MA=Je+a1|0,e[MA>>2]=40,xd=e[138384]|0,e[138269]=xd;break}for(Ec=e[138266]|0,Ld=h6>>>0>>0,Ld?(e[138266]=h6,ys=h6):ys=Ec,Md=h6+L4|0,Gs=553496;;){if(Rd=e[Gs>>2]|0,Fd=(Rd|0)==(Md|0),Fd){m=Gs,fr=Gs,j9=212;break}if(Td=Gs+8|0,Cc=e[Td>>2]|0,Nd=(Cc|0)==0,Nd){Ts=553496;break}else Gs=Cc}if((j9|0)==212)if(Gd=fr+12|0,Ud=e[Gd>>2]|0,FA=Ud&8,Pd=(FA|0)==0,Pd){e[m>>2]=h6,TA=fr+4|0,Od=e[TA>>2]|0,qd=Od+L4|0,e[TA>>2]=qd,Hd=h6+8|0,Bc=Hd,Vd=Bc&7,Yd=(Vd|0)==0,zd=0-Bc|0,Jd=zd&7,ra=Yd?0:Jd,Wd=h6+ra|0,B0=L4+8|0,Zd=h6+B0|0,yc=Zd,jd=yc&7,Xd=(jd|0)==0,ef=0-yc|0,tf=ef&7,C7=Xd?0:tf,x0=C7+L4|0,B7=h6+x0|0,wc=B7,NA=Wd,rf=wc-NA|0,$0=ra+L9|0,r7=h6+$0|0,Cs=rf-L9|0,nf=L9|3,p0=ra+4|0,sf=h6+p0|0,e[sf>>2]=nf,of=(B7|0)==(Je|0);t:do if(of)af=e[138265]|0,vc=af+Cs|0,e[138265]=vc,e[138268]=r7,$f=vc|1,V1=$0+4|0,lf=h6+V1|0,e[lf>>2]=$f;else{if(kc=e[138267]|0,cf=(B7|0)==(kc|0),cf){gf=e[138264]|0,Bs=gf+Cs|0,e[138264]=Bs,e[138267]=r7,GA=Bs|1,J1=$0+4|0,uf=h6+J1|0,e[uf>>2]=GA,H1=Bs+$0|0,Sc=h6+H1|0,e[Sc>>2]=Bs;break}if($1=L4+4|0,Z0=$1+C7|0,df=h6+Z0|0,na=e[df>>2]|0,ff=na&3,If=(ff|0)==1,If){bc=na&-8,Dc=na>>>3,mf=na>>>0<256;i:do if(mf){P1=C7|8,W0=P1+L4|0,pf=h6+W0|0,wn=e[pf>>2]|0,D1=L4+12|0,J0=D1+C7|0,Ef=h6+J0|0,vn=e[Ef>>2]|0,Bf=Dc<<1,_c=553088+(Bf<<2)|0,yf=(wn|0)==(_c|0);do if(!yf){if(Qf=wn>>>0>>0,Qf&&v2(),xc=wn+12|0,wf=e[xc>>2]|0,Lc=(wf|0)==(B7|0),Lc)break;v2()}while(!1);if(vf=(vn|0)==(wn|0),vf){UA=1<>>0>>0,bf&&v2(),Fc=vn+8|0,Df=e[Fc>>2]|0,_f=(Df|0)==(B7|0),_f){q=Fc;break}v2()}while(!1);xf=wn+12|0,e[xf>>2]=vn,e[q>>2]=wn}else{R1=C7|24,R0=R1+L4|0,Lf=h6+R0|0,Qs=e[Lf>>2]|0,z1=L4+12|0,v0=z1+C7|0,Mf=h6+v0|0,kn=e[Mf>>2]|0,Rf=(kn|0)==(B7|0);do if(Rf){if(e2=C7|16,M0=$1+e2|0,Pc=h6+M0|0,Oc=e[Pc>>2]|0,Uf=(Oc|0)==0,Uf)if(P0=e2+L4|0,qc=h6+P0|0,Hc=e[qc>>2]|0,Pf=(Hc|0)==0,Pf){Fi=0;break}else Dn=Hc,ya=qc;else Dn=Oc,ya=Pc;for(;;){if(Vc=Dn+20|0,Yc=e[Vc>>2]|0,qf=(Yc|0)==0,!qf){Dn=Yc,ya=Vc;continue}if(zc=Dn+16|0,Kc=e[zc>>2]|0,Hf=(Kc|0)==0,Hf){Jm=Dn,ru=ya;break}else Dn=Kc,ya=zc}if(Vf=ru>>>0>>0,Vf)v2();else{e[ru>>2]=0,Fi=Jm;break}}else if(F1=C7|8,G0=F1+L4|0,Ff=h6+G0|0,PA=e[Ff>>2]|0,Tf=PA>>>0>>0,Tf&&v2(),OA=PA+12|0,qA=e[OA>>2]|0,Nc=(qA|0)==(B7|0),Nc||v2(),Gc=kn+8|0,Gf=e[Gc>>2]|0,Uc=(Gf|0)==(B7|0),Uc){e[OA>>2]=kn,e[Gc>>2]=PA,Fi=kn;break}else v2();while(!1);if(Jc=(Qs|0)==0,Jc)break;b1=L4+28|0,U0=b1+C7|0,HA=h6+U0|0,Wc=e[HA>>2]|0,Xc=553352+(Wc<<2)|0,Yf=e[Xc>>2]|0,zf=(B7|0)==(Yf|0);do if(zf){if(e[Xc>>2]=Fi,ep=(Fi|0)==0,!ep)break;Kf=1<>>0>>0,Xf&&v2(),eg=Qs+16|0,eI=e[eg>>2]|0,tI=(eI|0)==(B7|0),tI?e[eg>>2]=Fi:(iI=Qs+20|0,e[iI>>2]=Fi),tg=(Fi|0)==0,tg)break i;while(!1);ig=e[138266]|0,rI=Fi>>>0>>0,rI&&v2(),rg=Fi+24|0,e[rg>>2]=Qs,_1=C7|16,O0=_1+L4|0,YA=h6+O0|0,sa=e[YA>>2]|0,ng=(sa|0)==0;do if(!ng)if(sI=sa>>>0>>0,sI)v2();else{oI=Fi+16|0,e[oI>>2]=sa,aI=sa+24|0,e[aI>>2]=Fi;break}while(!1);if(K0=$1+_1|0,sg=h6+K0|0,oa=e[sg>>2]|0,AI=(oa|0)==0,AI)break;if($I=e[138266]|0,lI=oa>>>0<$I>>>0,lI)v2();else{cI=Fi+20|0,e[cI>>2]=oa,gI=oa+24|0,e[gI>>2]=Fi;break}}while(!1);A2=bc|C7,N0=A2+L4|0,hI=h6+N0|0,dI=bc+Cs|0,au=hI,s7=dI}else au=B7,s7=Cs;if(og=au+4|0,fI=e[og>>2]|0,II=fI&-2,e[og>>2]=II,mI=s7|1,D0=$0+4|0,pI=h6+D0|0,e[pI>>2]=mI,Q0=s7+$0|0,aa=h6+Q0|0,e[aa>>2]=s7,ag=s7>>>3,EI=s7>>>0<256,EI){Sn=ag<<1,Ag=553088+(Sn<<2)|0,$g=e[138262]|0,zA=1<>2]|0,QI=e[138266]|0,vI=gg>>>0>>0,!vI){F=cg,$$=gg;break}v2()}while(!1);e[F>>2]=r7,kI=$$+12|0,e[kI>>2]=r7,v1=$0+8|0,SI=h6+v1|0,e[SI>>2]=$$,k1=$0+12|0,Aa=h6+k1|0,e[Aa>>2]=Ag;break}KA=s7>>>8,bI=(KA|0)==0;do if(bI)Or=0;else{if(DI=s7>>>0>16777215,DI){Or=31;break}_I=KA+1048320|0,xI=_I>>>16,ug=xI&8,hg=KA<>>16,dg=RI&4,Gr=dg|ug,fg=hg<>>16,mg=FI&2,$a=Gr|mg,NI=14-$a|0,GI=fg<>>15,pg=NI+la|0,UI=pg<<1,PI=pg+7|0,Eg=s7>>>PI,OI=Eg&1,qI=OI|UI,Or=qI}while(!1);if(JA=553352+(Or<<2)|0,k0=$0+28|0,HI=h6+k0|0,e[HI>>2]=Or,j0=$0+16|0,VI=h6+j0|0,q0=$0+20|0,YI=h6+q0|0,e[YI>>2]=0,e[VI>>2]=0,Cg=e[138263]|0,Bg=1<>2]=r7,o1=$0+24|0,ws=h6+o1|0,e[ws>>2]=JA,r1=$0+12|0,JI=h6+r1|0,e[JI>>2]=r7,s1=$0+8|0,WI=h6+s1|0,e[WI>>2]=r7;break}WA=e[JA>>2]|0,wg=WA+4|0,ZI=e[wg>>2]|0,jI=ZI&-8,XI=(jI|0)==(s7|0);i:do if(XI)qr=WA;else{for(em=(Or|0)==31,vg=Or>>>1,tm=25-vg|0,im=em?0:tm,rm=s7<>>31,_g=(d$+16|0)+(Dg<<2)|0,vs=e[_g>>2]|0,L7=(vs|0)==0,L7){A=_g,jm=d$;break}if(nm=xs<<1,sm=vs+4|0,Sg=e[sm>>2]|0,bg=Sg&-8,om=(bg|0)==(s7|0),om){qr=vs;break i}else xs=nm,d$=vs}if(gr=e[138266]|0,am=A>>>0>>0,am)v2();else{e[A>>2]=r7,Q1=$0+24|0,Am=h6+Q1|0,e[Am>>2]=jm,C1=$0+12|0,$m=h6+C1|0,e[$m>>2]=r7,y1=$0+8|0,lm=h6+y1|0,e[lm>>2]=r7;break t}}while(!1);if(ZA=qr+8|0,ua=e[ZA>>2]|0,Lg=e[138266]|0,Mg=ua>>>0>=Lg>>>0,I$=qr>>>0>=Lg>>>0,cm=Mg&I$,cm){ks=ua+12|0,e[ks>>2]=r7,e[ZA>>2]=r7,X0=$0+8|0,gm=h6+X0|0,e[gm>>2]=ua,B1=$0+12|0,da=h6+B1|0,e[da>>2]=qr,p1=$0+24|0,jA=h6+p1|0,e[jA>>2]=0;break}else v2()}while(!1);return u1=ra|8,um=h6+u1|0,tt=um,tt|0}else Ts=553496;for(;;){if(XA=e[Ts>>2]|0,hm=XA>>>0>Je>>>0,!hm&&(dm=Ts+4|0,Rg=e[dm>>2]|0,fa=XA+Rg|0,fm=fa>>>0>Je>>>0,fm)){g=XA,d=Rg,p=fa;break}Im=Ts+8|0,mm=e[Im>>2]|0,Ts=mm}if(h0=d+-47|0,f0=d+-39|0,pm=g+f0|0,Tg=pm,Em=Tg&7,si=(Em|0)==0,D9=0-Tg|0,n7=D9&7,Cm=si?0:n7,g1=h0+Cm|0,Gg=g+g1|0,e$=Je+16|0,Bm=Gg>>>0>>0,Ur=Bm?Je:Gg,Ss=Ur+8|0,ym=L4+-40|0,Qm=h6+8|0,Ug=Qm,t$=Ug&7,wm=(t$|0)==0,Og=0-Ug|0,qg=Og&7,i$=wm?0:qg,r$=h6+i$|0,Hg=ym-i$|0,e[138268]=r$,e[138265]=Hg,bs=Hg|1,i0=i$+4|0,n$=h6+i0|0,e[n$>>2]=bs,A1=L4+-36|0,Vg=h6+A1|0,e[Vg>>2]=40,vm=e[138384]|0,e[138269]=vm,bn=Ur+4|0,e[bn>>2]=27,e[Ss>>2]=e[138374]|0,e[Ss+4>>2]=e[138375]|0,e[Ss+8>>2]=e[138376]|0,e[Ss+12>>2]=e[138377]|0,e[138374]=h6,e[138375]=L4,e[138377]=0,e[138376]=Ss,Yg=Ur+28|0,e[Yg>>2]=7,Ia=Ur+32|0,Sm=Ia>>>0

>>0,Sm)for(M7=Yg;zg=M7+4|0,e[zg>>2]=7,bm=M7+8|0,Dm=bm>>>0

>>0,Dm;)M7=zg;if(_m=(Ur|0)==(Je|0),!_m){if(xm=Ur,Lm=Je,R7=xm-Lm|0,Rm=e[bn>>2]|0,Fm=Rm&-2,e[bn>>2]=Fm,Tm=R7|1,Kg=Je+4|0,e[Kg>>2]=Tm,e[Ur>>2]=R7,y7=R7>>>3,ma=R7>>>0<256,ma){s$=y7<<1,Jg=553088+(s$<<2)|0,Wg=e[138262]|0,Zg=1<>2]|0,Pm=e[138266]|0,Om=eu>>>0>>0,Om?v2():(M=Xg,a$=eu)),e[M>>2]=Je,tu=a$+12|0,e[tu>>2]=Je,qm=Je+8|0,e[qm>>2]=a$,pa=Je+12|0,e[pa>>2]=Jg;break}if(Ea=R7>>>8,Hm=(Ea|0)==0,Hm?ur=0:(o$=R7>>>0>16777215,o$?ur=31:(Vm=Ea+1048320|0,Ym=Vm>>>16,iu=Ym&8,_s=Ea<>>16,u2=Km&4,s2=u2|iu,l2=_s<>>16,m2=a2&2,r2=s2|m2,k2=14-r2|0,D2=l2<>>15,G2=k2+S2|0,M2=G2<<1,O2=G2+7|0,p2=R7>>>O2,W2=p2&1,q2=W2|M2,ur=q2)),K2=553352+(ur<<2)|0,U2=Je+28|0,e[U2>>2]=ur,V2=Je+20|0,e[V2>>2]=0,e[e$>>2]=0,Z2=e[138263]|0,Y2=1<>2]=Je,i5=Je+24|0,e[i5>>2]=K2,L5=Je+12|0,e[L5>>2]=Je,j2=Je+8|0,e[j2>>2]=Je;break}m5=e[K2>>2]|0,D5=m5+4|0,V5=e[D5>>2]|0,b2=V5&-8,B5=(b2|0)==(R7|0);t:do if(B5)wa=m5;else{for(o5=(ur|0)==31,F2=ur>>>1,R2=25-F2|0,Q2=o5?0:R2,y5=R7<>>31,h5=(f$+16|0)+($5<<2)|0,M5=e[h5>>2]|0,Q5=(M5|0)==0,Q5){$=h5,su=f$;break}if(N5=g$<<1,p5=M5+4|0,R5=e[p5>>2]|0,z2=R5&-8,E5=(z2|0)==(R7|0),E5){wa=M5;break t}else g$=N5,f$=M5}if(T1=e[138266]|0,_5=$>>>0>>0,_5)v2();else{e[$>>2]=Je,d5=Je+24|0,e[d5>>2]=su,l5=Je+12|0,e[l5>>2]=Je,d2=Je+8|0,e[d2>>2]=Je;break e}}while(!1);if(w5=wa+8|0,r5=e[w5>>2]|0,a5=e[138266]|0,f5=r5>>>0>=a5>>>0,ip=wa>>>0>=a5>>>0,J2=f5&ip,J2){I5=r5+12|0,e[I5>>2]=Je,e[w5>>2]=Je,n5=Je+8|0,e[n5>>2]=r5,F5=Je+12|0,e[F5>>2]=wa,e5=Je+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(T2=e[138265]|0,v5=T2>>>0>L9>>>0,v5)return z5=T2-L9|0,e[138265]=z5,i3=e[138268]|0,C5=i3+L9|0,e[138268]=C5,I3=z5|1,X=L9+4|0,d3=i3+X|0,e[d3>>2]=I3,W5=L9|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=hy()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0;if(N4=C,s0=(t|0)==0,!s0){Y=t+-8|0,W2=e[138266]|0,k6=Y>>>0>>0,k6&&v2(),_6=t+-4|0,fe=e[_6>>2]|0,r9=fe&3,G9=(r9|0)==1,G9&&v2(),Ze=fe&-8,y=Ze+-8|0,n9=t+y|0,d0=fe&1,n0=(d0|0)==0;do if(n0){if(x0=e[Y>>2]|0,M0=(r9|0)==0,M0)return;if(Q=-8-x0|0,L0=t+Q|0,X0=x0+Ze|0,b1=L0>>>0>>0,b1&&v2(),H1=e[138267]|0,A2=(L0|0)==(H1|0),A2){if(t0=Ze+-4|0,c0=t+t0|0,$0=e[c0>>2]|0,l0=$0&3,X=(l0|0)==3,!X){j3=L0,xe=X0;break}e[138264]=X0,m0=$0&-2,e[c0>>2]=m0,g0=X0|1,L=Q+4|0,I0=t+L|0,e[I0>>2]=g0,e[n9>>2]=X0;return}if(a2=x0>>>3,q2=x0>>>0<256,q2){if(Z=Q+8|0,L5=t+Z|0,Q2=e[L5>>2]|0,A0=Q+12|0,Q5=t+A0|0,J2=e[Q5>>2]|0,I3=a2<<1,e6=553088+(I3<<2)|0,Q3=(Q2|0)==(e6|0),Q3||(C6=Q2>>>0>>0,C6&&v2(),d6=Q2+12|0,R3=e[d6>>2]|0,K6=(R3|0)==(L0|0),K6||v2()),X6=(J2|0)==(Q2|0),X6){V6=1<>>0>>0,F6&&v2(),te=J2+8|0,P6=e[te>>2]|0,O3=(P6|0)==(L0|0),O3?g=te:v2()),O6=Q2+12|0,e[O6>>2]=J2,e[g>>2]=Q2,j3=L0,xe=X0;break}R=Q+24|0,oe=t+R|0,he=e[oe>>2]|0,M=Q+12|0,ne=t+M|0,Be=e[ne>>2]|0,ye=(Be|0)==(L0|0);do if(ye){if(G=Q+20|0,g9=t+G|0,p9=e[g9>>2]|0,ze=(p9|0)==0,ze)if(F=Q+16|0,Fe=t+F|0,ve=e[Fe>>2]|0,J6=(ve|0)==0,J6){Se=0;break}else P9=ve,S4=Fe;else P9=p9,S4=g9;for(;;){if(Ae=P9+20|0,w9=e[Ae>>2]|0,M9=(w9|0)==0,!M9){P9=w9,S4=Ae;continue}if(u9=P9+16|0,_e=e[u9>>2]|0,R9=(_e|0)==0,R9){I4=P9,S9=S4;break}else P9=_e,S4=u9}if(F9=S9>>>0>>0,F9)v2();else{e[S9>>2]=0,Se=I4;break}}else if(K=Q+8|0,Qe=t+K|0,de=e[Qe>>2]|0,Ve=de>>>0>>0,Ve&&v2(),w6=de+12|0,q6=e[w6>>2]|0,ae=(q6|0)==(L0|0),ae||v2(),Ye=Be+8|0,we=e[Ye>>2]|0,Q9=(we|0)==(L0|0),Q9){e[w6>>2]=Be,e[Ye>>2]=de,Se=Be;break}else v2();while(!1);if(q9=(he|0)==0,q9)j3=L0,xe=X0;else{if(O=Q+28|0,n4=t+O|0,v9=e[n4>>2]|0,H9=553352+(v9<<2)|0,Ke=e[H9>>2]|0,V9=(L0|0)==(Ke|0),V9){if(e[H9>>2]=Se,m9=(Se|0)==0,m9){h9=1<>>0>>0,k4&&v2(),V4=he+16|0,nt=e[V4>>2]|0,Y9=(nt|0)==(L0|0),Y9?e[V4>>2]=Se:(Y4=he+20|0,e[Y4>>2]=Se),z9=(Se|0)==0,z9){j3=L0,xe=X0;break}s4=e[138266]|0,R4=Se>>>0>>0,R4&&v2(),st=Se+24|0,e[st>>2]=he,q=Q+16|0,u4=t+q|0,C9=e[u4>>2]|0,T6=(C9|0)==0;do if(!T6)if(K9=C9>>>0>>0,K9)v2();else{Oe=Se+16|0,e[Oe>>2]=C9,d9=C9+24|0,e[d9>>2]=Se;break}while(!1);if(H=Q+20|0,T9=t+H|0,h4=e[T9>>2]|0,s9=(h4|0)==0,s9)j3=L0,xe=X0;else if(d4=e[138266]|0,i0=h4>>>0>>0,i0)v2();else{e0=Se+20|0,e[e0>>2]=h4,h0=h4+24|0,e[h0>>2]=Se,j3=L0,xe=X0;break}}}else j3=Y,xe=Ze;while(!1);if(f0=j3>>>0>>0,f0||v2(),_=Ze+-4|0,p0=t+_|0,C0=e[p0>>2]|0,S0=C0&1,y0=(S0|0)==0,y0&&v2(),D0=C0&2,E0=(D0|0)==0,E0){if(Q0=e[138268]|0,w0=(n9|0)==(Q0|0),w0){if(B0=e[138265]|0,Z0=B0+xe|0,e[138265]=Z0,e[138268]=j3,R0=Z0|1,v0=j3+4|0,e[v0>>2]=R0,G0=e[138267]|0,U0=(j3|0)==(G0|0),!U0)return;e[138267]=0,e[138264]=0;return}if(O0=e[138267]|0,H0=(n9|0)==(O0|0),H0){k0=e[138264]|0,K0=k0+xe|0,e[138264]=K0,e[138267]=j3,N0=K0|1,P0=j3+4|0,e[P0>>2]=N0,W0=j3+K0|0,e[W0>>2]=K0;return}J0=C0&-8,V0=J0+xe|0,j0=C0>>>3,q0=C0>>>0<256;do if(q0){if(Y0=t+Ze|0,o1=e[Y0>>2]|0,v=Ze|4,z0=t+v|0,r1=e[z0>>2]|0,s1=j0<<1,d1=553088+(s1<<2)|0,u1=(o1|0)==(d1|0),u1||(E1=e[138266]|0,f1=o1>>>0>>0,f1&&v2(),h1=o1+12|0,A1=e[h1>>2]|0,g1=(A1|0)==(n9|0),g1||v2()),a1=(r1|0)==(o1|0),a1){$1=1<>>0>>0,v1&&v2(),k1=r1+8|0,S1=e[k1>>2]|0,L1=(S1|0)==(n9|0),L1?$=k1:v2()),M1=o1+12|0,e[M1>>2]=r1,e[$>>2]=o1}else{j=Ze+16|0,_1=t+j|0,R1=e[_1>>2]|0,r0=Ze|4,F1=t+r0|0,P1=e[F1>>2]|0,D1=(P1|0)==(n9|0);do if(D1){if(J=Ze+12|0,e2=t+J|0,q1=e[e2>>2]|0,h2=(q1|0)==0,h2)if(o0=Ze+8|0,Z1=t+o0|0,I2=e[Z1>>2]|0,C2=(I2|0)==0,C2){f9=0;break}else I6=I2,I9=Z1;else I6=q1,I9=e2;for(;;){if($2=I6+20|0,W1=e[$2>>2]|0,f2=(W1|0)==0,!f2){I6=W1,I9=$2;continue}if(g2=I6+16|0,n2=e[g2>>2]|0,u2=(n2|0)==0,u2){z4=I6,z6=I9;break}else I6=n2,I9=g2}if(s2=e[138266]|0,l2=z6>>>0>>0,l2)v2();else{e[z6>>2]=0,f9=z4;break}}else if(O1=t+Ze|0,X1=e[O1>>2]|0,G1=e[138266]|0,x1=X1>>>0>>0,x1&&v2(),J1=X1+12|0,V1=e[J1>>2]|0,Y1=(V1|0)==(n9|0),Y1||v2(),z1=P1+8|0,t2=e[z1>>2]|0,o2=(t2|0)==(n9|0),o2){e[J1>>2]=P1,e[z1>>2]=X1,f9=P1;break}else v2();while(!1);if(i2=(R1|0)==0,!i2){if(b=Ze+20|0,m2=t+b|0,r2=e[m2>>2]|0,k2=553352+(r2<<2)|0,D2=e[k2>>2]|0,S2=(n9|0)==(D2|0),S2){if(e[k2>>2]=f9,x9=(f9|0)==0,x9){y2=1<>>0>>0,K2&&v2(),U2=R1+16|0,V2=e[U2>>2]|0,Z2=(V2|0)==(n9|0),Z2?e[U2>>2]=f9:(A5=R1+20|0,e[A5>>2]=f9),Y2=(f9|0)==0,Y2)break;N1=e[138266]|0,t5=f9>>>0>>0,t5&&v2(),T5=f9+24|0,e[T5>>2]=R1,D=Ze+8|0,i5=t+D|0,j2=e[i5>>2]|0,m5=(j2|0)==0;do if(!m5)if(D5=j2>>>0>>0,D5)v2();else{V5=f9+16|0,e[V5>>2]=j2,u5=j2+24|0,e[u5>>2]=f9;break}while(!1);if(k=Ze+12|0,b2=t+k|0,B5=e[b2>>2]|0,o5=(B5|0)==0,!o5)if(F2=e[138266]|0,R2=B5>>>0>>0,R2)v2();else{y5=f9+20|0,e[y5>>2]=B5,N5=B5+24|0,e[N5>>2]=f9;break}}}while(!1);if(p5=V0|1,M5=j3+4|0,e[M5>>2]=p5,q5=j3+V0|0,e[q5>>2]=V0,R5=e[138267]|0,z2=(j3|0)==(R5|0),z2){e[138264]=V0;return}else be=V0}else E5=C0&-2,e[p0>>2]=E5,$5=xe|1,h5=j3+4|0,e[h5>>2]=$5,T1=j3+xe|0,e[T1>>2]=xe,be=xe;if(_5=be>>>3,d5=be>>>0<256,d5){l5=_5<<1,X2=553088+(l5<<2)|0,d2=e[138262]|0,w5=1<<_5,r5=d2&w5,a5=(r5|0)==0,a5?(f5=d2|w5,e[138262]=f5,A=l5+2|0,p=553088+(A<<2)|0,d=p,f4=X2):(B=l5+2|0,I5=553088+(B<<2)|0,n5=e[I5>>2]|0,F5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(d=I5,f4=n5)),e[d>>2]=j3,c5=f4+12|0,e[c5>>2]=j3,T2=j3+8|0,e[T2>>2]=f4,v5=j3+12|0,e[v5>>2]=X2;return}z5=be>>>8,i3=(z5|0)==0,i3?k9=0:(C5=be>>>0>16777215,C5?k9=31:(d3=z5+1048320|0,W5=d3>>>16,r3=W5&8,a3=z5<>>16,Z5=G5&4,x3=Z5|r3,f3=a3<>>16,X5=V3&2,_3=x3|X5,t3=14-_3|0,a6=f3<>>15,Y3=t3+G3|0,c3=Y3<<1,g3=Y3+7|0,u3=be>>>g3,K5=u3&1,H5=K5|c3,k9=H5)),Y5=553352+(k9<<2)|0,b5=j3+28|0,e[b5>>2]=k9,z3=j3+16|0,U5=j3+20|0,e[U5>>2]=0,e[z3>>2]=0,l6=e[138263]|0,n3=1<>2]=j3,L3=j3+24|0,e[L3>>2]=Y5,D3=j3+12|0,e[D3>>2]=j3,A6=j3+8|0,e[A6>>2]=j3;else{r6=e[Y5>>2]|0,K3=r6+4|0,j5=e[K3>>2]|0,M3=j5&-8,h3=(M3|0)==(be|0);t:do if(h3)F4=r6;else{for(J3=(k9|0)==31,m3=k9>>>1,x6=25-m3|0,L6=J3?0:x6,M6=be<>>31,o6=(T4+16|0)+(s6<<2)|0,f6=e[o6>>2]|0,B6=(f6|0)==0,B6){s=o6,ot=T4;break}if(S6=o4<<1,n6=f6+4|0,b6=e[n6>>2]|0,N6=b6&-8,j6=(N6|0)==(be|0),j6){F4=f6;break t}else o4=S6,T4=f6}if(W3=e[138266]|0,F3=s>>>0>>0,F3)v2();else{e[s>>2]=j3,Z3=j3+24|0,e[Z3>>2]=ot,t6=j3+12|0,e[t6>>2]=j3,R6=j3+8|0,e[R6>>2]=j3;break e}}while(!1);if(c6=F4+8|0,s3=e[c6>>2]|0,A3=e[138266]|0,g6=s3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,y6=g6&mt,y6){T3=s3+12|0,e[T3>>2]=j3,e[c6>>2]=j3,H6=j3+8|0,e[H6>>2]=s3,$6=j3+12|0,e[$6>>2]=F4,D6=j3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,ee=G6+-1|0,e[138270]=ee,Q6=(ee|0)==0,Q6)a4=553504;else return;for(;O9=e[a4>>2]|0,P3=(O9|0)==0,re=O9+8|0,!P3;)a4=re;e[138270]=-1}}function l9(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,$=(t|0)==0,$?_=0:(g=s5(s,t)|0,m=s|t,E=m>>>0>65535,E?(y=(g>>>0)/(t>>>0)&-1,B=(y|0)==(s|0),A=B?g:-1,_=A):_=g),b=Re(_)|0,D=(b|0)==0,D||(k=b+-4|0,v=e[k>>2]|0,d=v&3,p=(d|0)==0,p)||g4(b|0,0,_|0)|0,b|0}function K7(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0;return Z=C,A=(t|0)==0,A?($=Re(s)|0,K=$,K|0):(v=s>>>0>4294967231,v?(R=hy()|0,e[R>>2]=12,K=0,K|0):(M=s>>>0<11,F=s+11|0,G=F&-8,O=M?16:G,q=t+-8|0,H=CD(q,O)|0,g=(H|0)==0,g?(p=Re(s)|0,m=(p|0)==0,m?(K=0,K|0):(E=t+-4|0,y=e[E>>2]|0,B=y&-8,b=y&3,D=(b|0)==0,k=D?8:4,_=B-k|0,Q=_>>>0>>0,L=Q?_:s,c9(p|0,t|0,L|0)|0,E2(t),K=p,K|0)):(d=H+8|0,K=d,K|0)))}function CD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0;if(Z5=C,q=t+4|0,H=e[q>>2]|0,D1=H&-8,o2=t+D1|0,g2=e[138266]|0,S2=H&3,I3=t>>>0>=g2>>>0,d3=(S2|0)!=1,W5=d3&I3,Z2=t>>>0>>0,r3=W5&Z2,r3||v2(),L=D1|4,V5=t+L|0,M5=e[V5>>2]|0,l5=M5&1,K=(l5|0)==0,K&&v2(),i0=(S2|0)==0,i0)return f0=s>>>0<256,f0?(C5=0,C5|0):(Z0=s+4|0,P0=D1>>>0>>0,!P0&&(s1=D1-s|0,B1=e[138382]|0,_1=B1<<1,F1=s1>>>0>_1>>>0,!F1)?(C5=t,C5|0):(C5=0,C5|0));if(P1=D1>>>0>>0,!P1)return O1=D1-s|0,X1=O1>>>0>15,X1?(G1=t+s|0,x1=H&1,J1=x1|s,H1=J1|2,e[q>>2]=H1,Q=s+4|0,V1=t+Q|0,Y1=O1|3,e[V1>>2]=Y1,z1=e[V5>>2]|0,t2=z1|1,e[V5>>2]=t2,Vy(G1,O1),C5=t,C5|0):(C5=t,C5|0);if(e2=e[138268]|0,q1=(o2|0)==(e2|0),q1)return h2=e[138265]|0,Z1=h2+D1|0,I2=Z1>>>0>s>>>0,I2?(A2=Z1-s|0,C2=t+s|0,$2=H&1,W1=$2|s,f2=W1|2,e[q>>2]=f2,_=s+4|0,n2=t+_|0,u2=A2|1,e[n2>>2]=u2,e[138268]=C2,e[138265]=A2,C5=t,C5|0):(C5=0,C5|0);if(s2=e[138267]|0,l2=(o2|0)==(s2|0),l2)return i2=e[138264]|0,a2=i2+D1|0,m2=a2>>>0>>0,m2?(C5=0,C5|0):(r2=a2-s|0,k2=r2>>>0>15,k2?(D2=t+s|0,y2=t+a2|0,G2=H&1,M2=G2|s,O2=M2|2,e[q>>2]=O2,D=s+4|0,p2=t+D|0,W2=r2|1,e[p2>>2]=W2,e[y2>>2]=r2,v=a2+4|0,q2=t+v|0,K2=e[q2>>2]|0,U2=K2&-2,e[q2>>2]=U2,a3=D2,y3=r2):(V2=H&1,A5=V2|a2,Y2=A5|2,e[q>>2]=Y2,b=a2+4|0,N1=t+b|0,t5=e[N1>>2]|0,T5=t5|1,e[N1>>2]=T5,a3=0,y3=0),e[138264]=y3,e[138267]=a3,C5=t,C5|0);if(i5=M5&2,L5=(i5|0)==0,!L5||(j2=M5&-8,m5=j2+D1|0,D5=m5>>>0>>0,D5))return C5=0,C5|0;u5=m5-s|0,b2=M5>>>3,B5=M5>>>0<256;do if(B5){if(y=D1+8|0,o5=t+y|0,F2=e[o5>>2]|0,B=D1+12|0,R2=t+B|0,Q2=e[R2>>2]|0,y5=b2<<1,N5=553088+(y5<<2)|0,p5=(F2|0)==(N5|0),p5||(q5=F2>>>0>>0,q5&&v2(),R5=F2+12|0,z2=e[R5>>2]|0,E5=(z2|0)==(o2|0),E5||v2()),$5=(Q2|0)==(F2|0),$5){h5=1<>>0>>0,X2&&v2(),d2=Q2+8|0,w5=e[d2>>2]|0,r5=(w5|0)==(o2|0),r5?$=d2:v2()),a5=F2+12|0,e[a5>>2]=Q2,e[$>>2]=F2}else{g=D1+24|0,f5=t+g|0,J2=e[f5>>2]|0,k=D1+12|0,I5=t+k|0,n5=e[I5>>2]|0,F5=(n5|0)==(o2|0);do if(F5){if(M=D1+20|0,d0=t+M|0,e0=e[d0>>2]|0,h0=(e0|0)==0,h0)if(R=D1+16|0,c0=t+R|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){T2=0;break}else e5=$0,v5=c0;else e5=e0,v5=d0;for(;;){if(X=e5+20|0,m0=e[X>>2]|0,g0=(m0|0)==0,!g0){e5=m0,v5=X;continue}if(I0=e5+16|0,n0=e[I0>>2]|0,p0=(n0|0)==0,p0){c5=e5,z5=v5;break}else e5=n0,v5=I0}if(C0=z5>>>0>>0,C0)v2();else{e[z5>>2]=0,T2=c5;break}}else if(E=D1+8|0,t0=t+E|0,Z=e[t0>>2]|0,A0=Z>>>0>>0,A0&&v2(),j=Z+12|0,r0=e[j>>2]|0,o0=(r0|0)==(o2|0),o0||v2(),J=n5+8|0,s0=e[J>>2]|0,Y=(s0|0)==(o2|0),Y){e[j>>2]=n5,e[J>>2]=Z,T2=n5;break}else v2();while(!1);if(S0=(J2|0)==0,!S0){if(d=D1+28|0,y0=t+d|0,D0=e[y0>>2]|0,E0=553352+(D0<<2)|0,Q0=e[E0>>2]|0,w0=(o2|0)==(Q0|0),w0){if(e[E0>>2]=T2,i3=(T2|0)==0,i3){B0=1<>>0>>0,U0&&v2(),O0=J2+16|0,H0=e[O0>>2]|0,k0=(H0|0)==(o2|0),k0?e[O0>>2]=T2:(K0=J2+20|0,e[K0>>2]=T2),N0=(T2|0)==0,N0)break;M0=e[138266]|0,W0=T2>>>0>>0,W0&&v2(),J0=T2+24|0,e[J0>>2]=J2,p=D1+16|0,V0=t+p|0,j0=e[V0>>2]|0,q0=(j0|0)==0;do if(!q0)if(Y0=j0>>>0>>0,Y0)v2();else{o1=T2+16|0,e[o1>>2]=j0,z0=j0+24|0,e[z0>>2]=T2;break}while(!1);if(m=D1+20|0,r1=t+m|0,L0=e[r1>>2]|0,d1=(L0|0)==0,!d1)if(u1=e[138266]|0,E1=L0>>>0>>0,E1)v2();else{f1=T2+20|0,e[f1>>2]=L0,h1=L0+24|0,e[h1>>2]=T2;break}}}while(!1);return A1=u5>>>0<16,A1?(g1=H&1,a1=m5|g1,$1=a1|2,e[q>>2]=$1,O=m5|4,X0=t+O|0,p1=e[X0>>2]|0,Q1=p1|1,e[X0>>2]=Q1,C5=t,C5|0):(C1=t+s|0,y1=H&1,v1=y1|s,k1=v1|2,e[q>>2]=k1,F=s+4|0,S1=t+F|0,L1=u5|3,e[S1>>2]=L1,G=m5|4,M1=t+G|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,Vy(C1,u5),C5=t,C5|0)}function Vy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0;S9=C,e0=t+s|0,h0=t+4|0,V2=e[h0>>2]|0,B6=V2&1,X6=(B6|0)==0;do if(X6){if(P6=e[t>>2]|0,Ve=V2&3,Fe=(Ve|0)==0,Fe)return;if(q9=0-P6|0,ke=t+q9|0,c0=P6+s|0,S0=e[138266]|0,G0=ke>>>0>>0,G0&&v2(),V0=e[138267]|0,E1=(ke|0)==(V0|0),E1){if(k=s+4|0,n9=t+k|0,$0=e[n9>>2]|0,l0=$0&3,X=(l0|0)==3,!X){A=ke,$=c0;break}e[138264]=c0,m0=$0&-2,e[n9>>2]=m0,g0=c0|1,M=4-P6|0,I0=t+M|0,e[I0>>2]=g0,e[e0>>2]=c0;return}if(C1=P6>>>3,P1=P6>>>0<256,P1){if(j=8-P6|0,t2=t+j|0,f2=e[t2>>2]|0,r0=12-P6|0,D2=t+r0|0,Z2=e[D2>>2]|0,V5=C1<<1,M5=553088+(V5<<2)|0,l5=(f2|0)==(M5|0),l5||(e5=f2>>>0>>0,e5&&v2(),a3=f2+12|0,t3=e[a3>>2]|0,b5=(t3|0)==(ke|0),b5||v2()),A6=(Z2|0)==(f2|0),A6){M6=1<>>0>>0,H6&&v2(),$6=Z2+8|0,D6=e[$6>>2]|0,G6=(D6|0)==(ke|0),G6?E=$6:v2()),ee=f2+12|0,e[ee>>2]=Z2,e[E>>2]=f2,A=ke,$=c0;break}F=24-P6|0,Q6=t+F|0,P3=e[Q6>>2]|0,G=12-P6|0,re=t+G|0,V6=e[re>>2]|0,se=(V6|0)==(ke|0);do if(se){if(O=16-P6|0,q=O+4|0,he=t+q|0,ne=e[he>>2]|0,Be=(ne|0)==0,Be)if(ye=t+O|0,Qe=e[ye>>2]|0,de=(Qe|0)==0,de){d9=0;break}else K9=Qe,d4=ye;else K9=ne,d4=he;for(;;){if(fe=K9+20|0,w6=e[fe>>2]|0,q6=(w6|0)==0,!q6){K9=w6,d4=fe;continue}if(ae=K9+16|0,Ye=e[ae>>2]|0,we=(Ye|0)==0,we){Oe=K9,f4=d4;break}else K9=Ye,d4=ae}if(Q9=f4>>>0>>0,Q9)v2();else{e[f4>>2]=0,d9=Oe;break}}else if(A0=8-P6|0,ge=t+A0|0,U6=e[ge>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,te=e[F6>>2]|0,_6=(te|0)==(ke|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,oe=(O6|0)==(ke|0),oe){e[F6>>2]=V6,e[O3>>2]=U6,d9=V6;break}else v2();while(!1);if(g9=(P3|0)==0,g9)A=ke,$=c0;else{if(K=28-P6|0,p9=t+K|0,ze=e[p9>>2]|0,r9=553352+(ze<<2)|0,ve=e[r9>>2]|0,J6=(ke|0)==(ve|0),J6){if(e[r9>>2]=d9,I6=(d9|0)==0,I6){Ae=1<>>0<_e>>>0,R9&&v2(),F9=P3+16|0,G9=e[F9>>2]|0,n4=(G9|0)==(ke|0),n4?e[F9>>2]=d9:(v9=P3+20|0,e[v9>>2]=d9),H9=(d9|0)==0,H9){A=ke,$=c0;break}Ke=e[138266]|0,V9=d9>>>0>>0,V9&&v2(),h9=d9+24|0,e[h9>>2]=P3,t0=16-P6|0,U9=t+t0|0,E9=e[U9>>2]|0,v4=(E9|0)==0;do if(!v4)if(Ze=E9>>>0>>0,Ze)v2();else{k4=d9+16|0,e[k4>>2]=E9,V4=E9+24|0,e[V4>>2]=d9;break}while(!1);if(Z=t0+4|0,nt=t+Z|0,Y9=e[nt>>2]|0,Y4=(Y9|0)==0,Y4)A=ke,$=c0;else if(z9=e[138266]|0,s4=Y9>>>0>>0,s4)v2();else{R4=d9+20|0,e[R4>>2]=Y9,st=Y9+24|0,e[st>>2]=d9,A=ke,$=c0;break}}}else A=t,$=s;while(!1);if(n0=e[138266]|0,f0=e0>>>0>>0,f0&&v2(),v=s+4|0,p0=t+v|0,C0=e[p0>>2]|0,y0=C0&2,D0=(y0|0)==0,D0){if(E0=e[138268]|0,Q0=(e0|0)==(E0|0),Q0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=A,x0=B0|1,Z0=A+4|0,e[Z0>>2]=x0,R0=e[138267]|0,v0=(A|0)==(R0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(U0=e[138267]|0,O0=(e0|0)==(U0|0),O0){H0=e[138264]|0,k0=H0+$|0,e[138264]=k0,e[138267]=A,K0=k0|1,N0=A+4|0,e[N0>>2]=K0,M0=A+k0|0,e[M0>>2]=k0;return}P0=C0&-8,W0=P0+$|0,J0=C0>>>3,j0=C0>>>0<256;do if(j0){if(L=s+8|0,q0=t+L|0,Y0=e[q0>>2]|0,R=s+12|0,o1=t+R|0,z0=e[o1>>2]|0,r1=J0<<1,L0=553088+(r1<<2)|0,s1=(Y0|0)==(L0|0),s1||(d1=Y0>>>0>>0,d1&&v2(),u1=Y0+12|0,f1=e[u1>>2]|0,h1=(f1|0)==(e0|0),h1||v2()),A1=(z0|0)==(Y0|0),A1){g1=1<>>0>>0,p1&&v2(),Q1=z0+8|0,y1=e[Q1>>2]|0,v1=(y1|0)==(e0|0),v1?m=Q1:v2()),k1=Y0+12|0,e[k1>>2]=z0,e[m>>2]=Y0}else{H=s+24|0,S1=t+H|0,L1=e[S1>>2]|0,o0=s+12|0,M1=t+o0|0,b1=e[M1>>2]|0,_1=(b1|0)==(e0|0);do if(_1){if(s0=s+20|0,V1=t+s0|0,Y1=e[V1>>2]|0,z1=(Y1|0)==0,z1)if(J=s+16|0,o2=t+J|0,e2=e[o2>>2]|0,q1=(e2|0)==0,q1){s9=0;break}else T9=e2,k9=o2;else T9=Y1,k9=V1;for(;;){if(h2=T9+20|0,Z1=e[h2>>2]|0,I2=(Z1|0)==0,!I2){T9=Z1,k9=h2;continue}if(A2=T9+16|0,C2=e[A2>>2]|0,$2=(C2|0)==0,$2){h4=T9,o4=k9;break}else T9=C2,k9=A2}if(W1=o4>>>0>>0,W1)v2();else{e[o4>>2]=0,s9=h4;break}}else if(Q=s+8|0,R1=t+Q|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),O1=F1+12|0,X1=e[O1>>2]|0,G1=(X1|0)==(e0|0),G1||v2(),x1=b1+8|0,J1=e[x1>>2]|0,H1=(J1|0)==(e0|0),H1){e[O1>>2]=b1,e[x1>>2]=F1,s9=b1;break}else v2();while(!1);if(g2=(L1|0)==0,!g2){if(d0=s+28|0,n2=t+d0|0,u2=e[n2>>2]|0,s2=553352+(u2<<2)|0,l2=e[s2>>2]|0,i2=(e0|0)==(l2|0),i2){if(e[s2>>2]=s9,z4=(s9|0)==0,z4){a2=1<>>0>>0,y2&&v2(),G2=L1+16|0,M2=e[G2>>2]|0,O2=(M2|0)==(e0|0),O2?e[G2>>2]=s9:(p2=L1+20|0,e[p2>>2]=s9),W2=(s9|0)==0,W2)break;q2=e[138266]|0,K2=s9>>>0>>0,K2&&v2(),U2=s9+24|0,e[U2>>2]=L1,i0=s+16|0,A5=t+i0|0,Y2=e[A5>>2]|0,N1=(Y2|0)==0;do if(!N1)if(t5=Y2>>>0>>0,t5)v2();else{T5=s9+16|0,e[T5>>2]=Y2,i5=Y2+24|0,e[i5>>2]=s9;break}while(!1);if(_=s+20|0,L5=t+_|0,j2=e[L5>>2]|0,m5=(j2|0)==0,!m5)if(D5=e[138266]|0,u5=j2>>>0>>0,u5)v2();else{b2=s9+20|0,e[b2>>2]=j2,B5=j2+24|0,e[B5>>2]=s9;break}}}while(!1);if(o5=W0|1,F2=A+4|0,e[F2>>2]=o5,R2=A+W0|0,e[R2>>2]=W0,Q2=e[138267]|0,y5=(A|0)==(Q2|0),y5){e[138264]=W0;return}else g=W0}else N5=C0&-2,e[p0>>2]=N5,p5=$|1,q5=A+4|0,e[q5>>2]=p5,R5=A+$|0,e[R5>>2]=$,g=$;if(z2=g>>>3,E5=g>>>0<256,E5){$5=z2<<1,h5=553088+($5<<2)|0,Q5=e[138262]|0,T1=1<>2]|0,r5=e[138266]|0,a5=w5>>>0>>0,a5?v2():(y=d2,u4=w5)),e[y>>2]=A,f5=u4+12|0,e[f5>>2]=A,J2=A+8|0,e[J2>>2]=u4,I5=A+12|0,e[I5>>2]=h5;return}if(n5=g>>>8,F5=(n5|0)==0,F5?C9=0:(c5=g>>>0>16777215,c5?C9=31:(T2=n5+1048320|0,v5=T2>>>16,z5=v5&8,i3=n5<>>16,d3=I3&4,W5=d3|z5,r3=i3<>>16,Z5=G5&2,x3=W5|Z5,f3=14-x3|0,w3=r3<>>15,V3=f3+e6|0,X5=V3<<1,_3=V3+7|0,a6=g>>>_3,G3=a6&1,Y3=G3|X5,C9=Y3)),c3=553352+(C9<<2)|0,g3=A+28|0,e[g3>>2]=C9,u3=A+16|0,Q3=A+20|0,e[Q3>>2]=0,e[u3>>2]=0,K5=e[138263]|0,H5=1<>2]=A,l6=A+24|0,e[l6>>2]=c3,n3=A+12|0,e[n3>>2]=A,l3=A+8|0,e[l3>>2]=A;return}U3=e[c3>>2]|0,C6=U3+4|0,b3=e[C6>>2]|0,L3=b3&-8,D3=(L3|0)==(g|0);e:do if(D3)P9=U3;else{for(r6=(C9|0)==31,K3=C9>>>1,j5=25-K3|0,M3=r6?0:j5,h3=g<>>31,f6=(I4+16|0)+(n6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){d=f6,Se=I4;break}if(J3=T6<<1,d6=m3+4|0,x6=e[d6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){P9=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=d>>>0>>0,j6&&v2(),e[d>>2]=A,k6=A+24|0,e[k6>>2]=Se,R3=A+12|0,e[R3>>2]=A,s6=A+8|0,e[s6>>2]=A;return}while(!1);o6=P9+8|0,F3=e[o6>>2]|0,Z3=e[138266]|0,t6=F3>>>0>=Z3>>>0,f9=P9>>>0>=Z3>>>0,R6=t6&f9,R6||v2(),c6=F3+12|0,e[c6>>2]=A,e[o6>>2]=A,s3=A+8|0,e[s3>>2]=F3,K6=A+12|0,e[K6>>2]=P9,A3=A+24|0,e[A3>>2]=0}function BD(){e[6410]=We}function g4(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0;if($=t+A|0,(A|0)>=20){if(s=s&255,p=t&3,g=s|s<<8|s<<16|s<<24,d=$&-4,p)for(p=t+4-p|0;(t|0)<(p|0);)f[t>>0]=s,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=s,t=t+1|0;return t-A|0}function al(t){t=t|0;var s=0;for(s=t;f[s>>0]|0;)s=s+1|0;return s-t|0}function Yy(t,s){t=t|0,s=s|0;var A=0,$=0;$=t+(al(t)|0)|0;do f[$+A>>0]=f[s+A>>0],A=A+1|0;while(f[s+(A-1)>>0]|0);return t|0}function zy(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>>32-A,t<>>0,d=s+$+(g>>>0>>0|0)>>>0,Z6=d,g|0|0}function no(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>>A,t>>>A|(s&$)<<32-A):(Z6=0,s>>>A-32|0)}function c9(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;if((A|0)>=4096)return xS(t|0,s|0,A|0)|0;if($=t|0,(t&3)==(s&3)){for(;t&3;){if(!(A|0))return $|0;f[t>>0]=f[s>>0]|0,t=t+1|0,s=s+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[s>>2]|0,t=t+4|0,s=s+4|0,A=A-4|0}for(;(A|0)>0;)f[t>>0]=f[s>>0]|0,t=t+1|0,s=s+1|0,A=A-1|0;return $|0}function $A(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;if((s|0)<(t|0)&(t|0)<(s+A|0)){for($=t,s=s+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,s=s-1|0,A=A-1|0,f[t>>0]=f[s>>0]|0;t=$}else c9(t,s,A)|0;return t|0}function FC(t,s){t=t|0,s=s|0;var A=0;do f[(t+A|0)>>0]=f[(s+A|0)>>0],A=A+1|0;while(f[s+(A-1)>>0]|0);return t|0}function so(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0;return g=t-A>>>0,d=s-$>>>0,d=s-$-(A>>>0>t>>>0|0)>>>0,Z6=d,g|0|0}function Z_(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>A,t>>>A|(s&$)<<32-A):(Z6=(s|0)<0?-1:0,s>>A-32|0)}function Ky(t){t=t|0;var s=0;return s=f[Ue+(t&255)>>0]|0,(s|0)<8?s|0:(s=f[Ue+(t>>8&255)>>0]|0,(s|0)<8?s+8|0:(s=f[Ue+(t>>16&255)>>0]|0,(s|0)<8?s+16|0:(f[Ue+(t>>>24)>>0]|0)+24|0))}function yD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,m=0,E=0;return A=t&65535,$=s&65535,g=s5($,A)|0,d=t>>>16,p=(g>>>16)+(s5($,d)|0)|0,m=s>>>16,E=s5(m,A)|0,Z6=((p>>>16)+(s5(m,d)|0)|0)+(((p&65535)+E|0)>>>16)|0,0|(p+E<<16|g&65535)|0}function j_(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return g=s>>31|((s|0)<0?-1:0)<<1,d=((s|0)<0?-1:0)>>31|((s|0)<0?-1:0)<<1,p=$>>31|(($|0)<0?-1:0)<<1,m=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=so(g^t,d^s,g,d)|0,y=Z6,B=so(p^A,m^$,p,m)|0,b=p^g,D=m^d,k=lE(E,y,B,Z6,0)|0,v=so(k^b,Z6^D,b,D)|0,v|0}function X_(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return v=C,C=C+8|0,g=v|0,d=s>>31|((s|0)<0?-1:0)<<1,p=((s|0)<0?-1:0)>>31|((s|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,y=so(d^t,p^s,d,p)|0,B=Z6,b=so(m^A,E^$,m,E)|0,lE(y,B,b,Z6,g)|0,D=so(e[g>>2]^d,e[g+4>>2]^p,d,p)|0,k=Z6,C=v,Z6=k,D|0}function QD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,m=0,E=0;return g=t,d=A,p=yD(g,d)|0,m=Z6,E=s5(s,d)|0,Z6=((s5($,g)|0)+E|0)+m|m&0,0|p&-1|0}function ex(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0;return g=lE(t,s,A,$,0)|0,g|0}function tx(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,lE(t,s,A,$,g)|0,C=d,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function lE(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,m=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,F=0,G=0,O=0,q=0,H=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,S0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0;if(d=t,p=s,m=p,E=A,y=$,B=y,!(m|0))return b=(g|0)!=0,B|0?b?(e[g>>2]=t&-1,e[g+4>>2]=s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0):(b&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,N0=(d>>>0)/(E>>>0)>>>0,Z6=M0,N0|0);D=(B|0)==0;do if(E|0){if(!D){if(Z=io(B|0)|0,A0=Z-(io(m|0)|0)|0,A0>>>0<=31){j=A0+1|0,r0=31-A0|0,o0=A0-31>>31,i0=j,d0=d>>>(j>>>0)&o0|m<>>(j>>>0)&o0,s0=0,J=d<>2]=0|t&-1,e[g+4>>2]=p|s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0)}if(R=E-1|0,R&E|0){F=(io(E|0)|0)+33|0,G=F-(io(m|0)|0)|0,O=64-G|0,q=32-G|0,H=q>>31,K=G-32|0,t0=K>>31,i0=G,d0=q-1>>31&m>>>(K>>>0)|(m<>>(G>>>0))&t0,Y=t0&m>>>(G>>>0),s0=d<>>(K>>>0))&H|d<>31;break}return g|0&&(e[g>>2]=R&d,e[g+4>>2]=0),(E|0)==1?(M0=p|s&0,N0=0|t&-1,Z6=M0,N0|0):(M=Ky(E|0)|0,M0=0|m>>>(M>>>0),N0=m<<32-M|d>>>(M>>>0)|0,Z6=M0,N0|0)}else{if(D)return g|0&&(e[g>>2]=(m>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,N0=(m>>>0)/(E>>>0)>>>0,Z6=M0,N0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(m>>>0)%(B>>>0)),M0=0,N0=(m>>>0)/(B>>>0)>>>0,Z6=M0,N0|0;if(k=B-1|0,!(k&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=k&m|s&0),M0=0,N0=m>>>((Ky(B|0)|0)>>>0),Z6=M0,N0|0;if(v=io(B|0)|0,_=v-(io(m|0)|0)|0,_>>>0<=30){Q=_+1|0,L=31-_|0,i0=Q,d0=m<>>(Q>>>0),Y=m>>>(Q>>>0),s0=0,J=d<>2]=0|t&-1,e[g+4>>2]=p|s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0)}while(!1);if(!(i0|0))O0=J,U0=s0,G0=Y,v0=d0,R0=0,Z0=0;else{for(e0=0|A&-1,h0=y|$&0,c0=ro(e0|0,h0|0,-1,-1)|0,$0=Z6,n0=J,I0=s0,g0=Y,m0=d0,X=i0,l0=0;f0=I0>>>31|n0<<1,p0=l0|I0<<1,C0=0|(m0<<1|n0>>>31),S0=m0>>>31|g0<<1|0,so(c0,$0,C0,S0)|0,y0=Z6,D0=y0>>31|((y0|0)<0?-1:0)<<1,E0=D0&1,Q0=so(C0,S0,D0&e0,(((y0|0)<0?-1:0)>>31|((y0|0)<0?-1:0)<<1)&h0)|0,w0=Q0,B0=Z6,x0=X-1|0,x0|0;)n0=f0,I0=p0,g0=B0,m0=w0,X=x0,l0=E0;O0=f0,U0=p0,G0=B0,v0=w0,R0=0,Z0=E0}return H0=U0,k0=0,K0=O0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=G0|0),M0=(0|H0)>>>31|K0<<1|(k0<<1|H0>>>31)&0|R0,N0=(H0<<1|0)&-2|Z0,Z6=M0,N0|0}function wD(t,s,A,$,g){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,GC[t&3](s|0,A|0,$|0,g|0)|0}function vD(t,s){t=t|0,s=s|0,oo[t&7](s|0)}function kD(t,s,A){t=t|0,s=s|0,A=A|0,UC[t&3](s|0,A|0)}function SD(t,s){return t=t|0,s=s|0,Zy[t&1](s|0)|0}function bD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0,jy[t&1](s|0,A|0,$|0)}function DD(t,s,A,$,g,d,p,m,E){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,m=m|0,E=E|0,Xy[t&3](s|0,A|0,$|0,g|0,d|0,p|0,m|0,E|0)|0}function _D(t,s,A){return t=t|0,s=s|0,A=A|0,pi[t&15](s|0,A|0)|0}function xD(t,s,A,$,g,d){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,PC[t&7](s|0,A|0,$|0,g|0,d|0)|0}function LD(t,s,A,$){return t=t|0,s=s|0,A=A|0,$=$|0,nn(0),0}function TC(t){t=t|0,nn(1)}function Jy(t,s){t=t|0,s=s|0,nn(2)}function MD(t){return t=t|0,nn(3),0}function RD(t,s,A){t=t|0,s=s|0,A=A|0,nn(4)}function Wy(t,s,A,$,g,d,p,m){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,m=m|0,nn(5),0}function Al(t,s){return t=t|0,s=s|0,nn(6),0}function NC(t,s,A,$,g){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,nn(7),0}var GC=[LD,Eb,nb,sb],oo=[TC,Ib,mb,Db,qb,Hb,TC,TC],UC=[Jy,hb,Vb,Jy],Zy=[MD,_b],jy=[RD,Sb],Xy=[Wy,Jb,Xb,Wy],pi=[Al,db,fb,pb,bb,xb,Yb,zb,Cb,Ob,sD,Al,Al,Al,Al,Al],PC=[NC,Kb,Wb,Zb,jb,eD,NC,NC];return{_memmove:$A,_strlen:al,_strcat:Yy,_free:E2,_i64Add:ro,_encoder_clear:uD,_encoder_transfer_data:ID,_encoder_data_len:fD,_memset:g4,_malloc:Re,_memcpy:c9,_encoder_init:gD,_encoder_process:dD,_bitshift64Lshr:no,_bitshift64Shl:zy,_strcpy:FC,_encoder_analysis_buffer:hD,runPostSets:BD,stackAlloc:RS,stackSave:FS,stackRestore:TS,establishStackSpace:NS,setThrew:GS,setTempRet0:US,getTempRet0:PS,dynCall_iiiii:wD,dynCall_vi:vD,dynCall_vii:kD,dynCall_ii:SD,dynCall_viii:bD,dynCall_iiiiiiiii:DD,dynCall_iii:_D,dynCall_iiiiii:xD}}(n.asmGlobalArg,n.asmLibraryArg,P7),v_=n.runPostSets=t9.runPostSets,fS=n._strlen=t9._strlen,IS=n._strcat=t9._strcat,QC=n._free=t9._free,k_=n._encoder_init=t9._encoder_init,mS=n._i64Add=t9._i64Add,pS=n._memmove=t9._memmove,S_=n._encoder_transfer_data=t9._encoder_transfer_data,b_=n._encoder_process=t9._encoder_process,D_=n._encoder_data_len=t9._encoder_data_len,ES=n._memset=t9._memset,Ru=n._malloc=t9._malloc,CS=n._memcpy=t9._memcpy,__=n._encoder_clear=t9._encoder_clear,BS=n._bitshift64Lshr=t9._bitshift64Lshr,x_=n._encoder_analysis_buffer=t9._encoder_analysis_buffer,yS=n._strcpy=t9._strcpy,QS=n._bitshift64Shl=t9._bitshift64Shl,L_=n.dynCall_iiiii=t9.dynCall_iiiii,M_=n.dynCall_vi=t9.dynCall_vi,R_=n.dynCall_vii=t9.dynCall_vii,F_=n.dynCall_ii=t9.dynCall_ii,T_=n.dynCall_viii=t9.dynCall_viii,N_=n.dynCall_iiiiiiiii=t9.dynCall_iiiiiiiii,G_=n.dynCall_iii=t9.dynCall_iii,U_=n.dynCall_iiiiii=t9.dynCall_iiiiii;w.stackAlloc=t9.stackAlloc,w.stackSave=t9.stackSave,w.stackRestore=t9.stackRestore,w.establishStackSpace=t9.establishStackSpace,w.setTempRet0=t9.setTempRet0,w.getTempRet0=t9.getTempRet0;var P_=function(){var r={math:{}};r.math.Long=function(W,_0){this.low_=W|0,this.high_=_0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(W){if(-128<=W&&W<128){var _0=r.math.Long.IntCache_[W];if(_0)return _0}var t1=new r.math.Long(W|0,W<0?-1:0);return-128<=W&&W<128&&(r.math.Long.IntCache_[W]=t1),t1},r.math.Long.fromNumber=function(W){return isNaN(W)||!isFinite(W)?r.math.Long.ZERO:W<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:W+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:W<0?r.math.Long.fromNumber(-W).negate():new r.math.Long(W%r.math.Long.TWO_PWR_32_DBL_|0,W/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(W,_0){return new r.math.Long(W,_0)},r.math.Long.fromString=function(W,_0){if(W.length==0)throw Error("number format error: empty string");var t1=_0||10;if(t1<2||36=0)throw Error('number format error: interior "-" character: '+W);for(var B2=r.math.Long.fromNumber(Math.pow(t1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var W=this.high_!=0?this.high_:this.low_,_0=31;_0>0&&!(W&1<<_0);_0--);return this.high_!=0?_0+33:_0+1},r.math.Long.prototype.isZero=function(){return this.high_==0&&this.low_==0},r.math.Long.prototype.isNegative=function(){return this.high_<0},r.math.Long.prototype.isOdd=function(){return(this.low_&1)==1},r.math.Long.prototype.equals=function(W){return this.high_==W.high_&&this.low_==W.low_},r.math.Long.prototype.notEquals=function(W){return this.high_!=W.high_||this.low_!=W.low_},r.math.Long.prototype.lessThan=function(W){return this.compare(W)<0},r.math.Long.prototype.lessThanOrEqual=function(W){return this.compare(W)<=0},r.math.Long.prototype.greaterThan=function(W){return this.compare(W)>0},r.math.Long.prototype.greaterThanOrEqual=function(W){return this.compare(W)>=0},r.math.Long.prototype.compare=function(W){if(this.equals(W))return 0;var _0=this.isNegative(),t1=W.isNegative();return _0&&!t1?-1:!_0&&t1?1:this.subtract(W).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(W){var _0=this.high_>>>16,t1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=W.high_>>>16,N3=W.high_&65535,ie=W.low_>>>16,He=W.low_&65535,Pe=0,i4=0,Ai=0,nr=0;return nr+=e3+He,Ai+=nr>>>16,nr&=65535,Ai+=B2+ie,i4+=Ai>>>16,Ai&=65535,i4+=t1+N3,Pe+=i4>>>16,i4&=65535,Pe+=_0+O5,Pe&=65535,r.math.Long.fromBits(Ai<<16|nr,Pe<<16|i4)},r.math.Long.prototype.subtract=function(W){return this.add(W.negate())},r.math.Long.prototype.multiply=function(W){if(this.isZero())return r.math.Long.ZERO;if(W.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return W.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(W.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return W.isNegative()?this.negate().multiply(W.negate()):this.negate().multiply(W).negate();if(W.isNegative())return this.multiply(W.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&W.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*W.toNumber());var _0=this.high_>>>16,t1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=W.high_>>>16,N3=W.high_&65535,ie=W.low_>>>16,He=W.low_&65535,Pe=0,i4=0,Ai=0,nr=0;return nr+=e3*He,Ai+=nr>>>16,nr&=65535,Ai+=B2*He,i4+=Ai>>>16,Ai&=65535,Ai+=e3*ie,i4+=Ai>>>16,Ai&=65535,i4+=t1*He,Pe+=i4>>>16,i4&=65535,i4+=B2*ie,Pe+=i4>>>16,i4&=65535,i4+=e3*N3,Pe+=i4>>>16,i4&=65535,Pe+=_0*He+t1*ie+B2*N3+e3*O5,Pe&=65535,r.math.Long.fromBits(Ai<<16|nr,Pe<<16|i4)},r.math.Long.prototype.div=function(W){if(W.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(W.equals(r.math.Long.ONE)||W.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(W.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var _0=this.shiftRight(1),t1=_0.div(W).shiftLeft(1);if(t1.equals(r.math.Long.ZERO))return W.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(W.multiply(t1)),B2=t1.add(O5.div(W));return B2}else if(W.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return W.isNegative()?this.negate().div(W.negate()):this.negate().div(W).negate();if(W.isNegative())return this.div(W.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(W);){for(var t1=Math.max(1,Math.floor(O5.toNumber()/W.toNumber())),N3=Math.ceil(Math.log(t1)/Math.LN2),ie=N3<=48?1:Math.pow(2,N3-48),He=r.math.Long.fromNumber(t1),Pe=He.multiply(W);Pe.isNegative()||Pe.greaterThan(O5);)t1-=ie,He=r.math.Long.fromNumber(t1),Pe=He.multiply(W);He.isZero()&&(He=r.math.Long.ONE),e3=e3.add(He),O5=O5.subtract(Pe)}return e3},r.math.Long.prototype.modulo=function(W){return this.subtract(this.div(W).multiply(W))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(W){return r.math.Long.fromBits(this.low_&W.low_,this.high_&W.high_)},r.math.Long.prototype.or=function(W){return r.math.Long.fromBits(this.low_|W.low_,this.high_|W.high_)},r.math.Long.prototype.xor=function(W){return r.math.Long.fromBits(this.low_^W.low_,this.high_^W.high_)},r.math.Long.prototype.shiftLeft=function(W){if(W&=63,W==0)return this;var _0=this.low_;if(W<32){var t1=this.high_;return r.math.Long.fromBits(_0<>>32-W)}else return r.math.Long.fromBits(0,_0<>>W|_0<<32-W,_0>>W)}else return r.math.Long.fromBits(_0>>W-32,_0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(W){if(W&=63,W==0)return this;var _0=this.high_;if(W<32){var t1=this.low_;return r.math.Long.fromBits(t1>>>W|_0<<32-W,_0>>>W)}else return W==32?r.math.Long.fromBits(_0,0):r.math.Long.fromBits(_0>>>W-32,0)};var c={appName:"Modern Browser"},h,f=0xdeadbeefcafe,z=(f&16777215)==15715070;function e(W,_0,t1){W!=null&&(typeof W=="number"?this.fromNumber(W,_0,t1):_0==null&&typeof W!="string"?this.fromString(W,256):this.fromString(W,_0))}function e1(){return new e(null)}function n1(W,_0,t1,B2,e3,O5){for(;--O5>=0;){var N3=_0*this[W++]+t1[B2]+e3;e3=Math.floor(N3/67108864),t1[B2++]=N3&67108863}return e3}function x2(W,_0,t1,B2,e3,O5){for(var N3=_0&32767,ie=_0>>15;--O5>=0;){var He=this[W]&32767,Pe=this[W++]>>15,i4=ie*He+Pe*N3;He=N3*He+((i4&32767)<<15)+t1[B2]+(e3&1073741823),e3=(He>>>30)+(i4>>>15)+ie*Pe+(e3>>>30),t1[B2++]=He&1073741823}return e3}function o(W,_0,t1,B2,e3,O5){for(var N3=_0&16383,ie=_0>>14;--O5>=0;){var He=this[W]&16383,Pe=this[W++]>>14,i4=ie*He+Pe*N3;He=N3*He+((i4&16383)<<14)+t1[B2]+e3,e3=(He>>28)+(i4>>14)+ie*Pe,t1[B2++]=He&268435455}return e3}z&&c.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,h=30):z&&c.appName!="Netscape"?(e.prototype.am=n1,h=26):(e.prototype.am=o,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--_0)W[_0]=this[_0];W.t=this.t,W.s=this.s}function Dt(W){this.t=1,this.s=W<0?-1:0,W>0?this[0]=W:W<-1?this[0]=W+DV:this.t=0}function i9(W){var _0=e1();return _0.fromInt(W),_0}function It(W,_0){var t1;if(_0==16)t1=4;else if(_0==8)t1=3;else if(_0==256)t1=8;else if(_0==2)t1=1;else if(_0==32)t1=5;else if(_0==4)t1=2;else{this.fromRadix(W,_0);return}this.t=0,this.s=0;for(var B2=W.length,e3=!1,O5=0;--B2>=0;){var N3=t1==8?W[B2]&255:We(W,B2);if(N3<0){W.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=N3:O5+t1>this.DB?(this[this.t-1]|=(N3&(1<>this.DB-O5):this[this.t-1]|=N3<=this.DB&&(O5-=this.DB)}t1==8&&W[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==W;)--this.t}function V7(W){if(this.s<0)return"-"+this.negate().toString(W);var _0;if(W==16)_0=4;else if(W==8)_0=3;else if(W==2)_0=1;else if(W==32)_0=5;else if(W==4)_0=2;else return this.toRadix(W);var t1=(1<<_0)-1,B2,e3=!1,O5="",N3=this.t,ie=this.DB-N3*this.DB%_0;if(N3-- >0)for(ie>ie)>0&&(e3=!0,O5=Ue(B2));N3>=0;)ie<_0?(B2=(this[N3]&(1<>(ie+=this.DB-_0)):(B2=this[N3]>>(ie-=_0)&t1,ie<=0&&(ie+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=Ue(B2));return e3?O5:"0"}function Y7(){var W=e1();return e.ZERO.subTo(this,W),W}function kr(){return this.s<0?this.negate():this}function nl(W){var _0=this.s-W.s;if(_0!=0)return _0;var t1=this.t;if(_0=t1-W.t,_0!=0)return this.s<0?-_0:_0;for(;--t1>=0;)if((_0=this[t1]-W[t1])!=0)return _0;return 0}function iE(W){var _0=1,t1;return(t1=W>>>16)!=0&&(W=t1,_0+=16),(t1=W>>8)!=0&&(W=t1,_0+=8),(t1=W>>4)!=0&&(W=t1,_0+=4),(t1=W>>2)!=0&&(W=t1,_0+=2),(t1=W>>1)!=0&&(W=t1,_0+=1),_0}function zB(){return this.t<=0?0:this.DB*(this.t-1)+iE(this[this.t-1]^this.s&this.DM)}function KB(W,_0){var t1;for(t1=this.t-1;t1>=0;--t1)_0[t1+W]=this[t1];for(t1=W-1;t1>=0;--t1)_0[t1]=0;_0.t=this.t+W,_0.s=this.s}function JB(W,_0){for(var t1=W;t1=0;--ie)_0[ie+O5+1]=this[ie]>>B2|N3,N3=(this[ie]&e3)<=0;--ie)_0[ie]=0;_0[O5]=N3,_0.t=this.t+O5+1,_0.s=this.s,_0.clamp()}function ZB(W,_0){_0.s=this.s;var t1=Math.floor(W/this.DB);if(t1>=this.t){_0.t=0;return}var B2=W%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var N3=t1+1;N3>B2;B2>0&&(_0[this.t-t1-1]|=(this.s&O5)<>=this.DB;if(W.t>=this.DB;B2+=this.s}else{for(B2+=this.s;t1>=this.DB;B2-=W.s}_0.s=B2<0?-1:0,B2<-1?_0[t1++]=this.DV+B2:B2>0&&(_0[t1++]=B2),_0.t=t1,_0.clamp()}function jB(W,_0){var t1=this.abs(),B2=W.abs(),e3=t1.t;for(_0.t=e3+B2.t;--e3>=0;)_0[e3]=0;for(e3=0;e3=0;)W[t1]=0;for(t1=0;t1<_0.t-1;++t1){var B2=_0.am(t1,_0[t1],W,2*t1,0,1);(W[t1+_0.t]+=_0.am(t1+1,2*_0[t1],W,2*t1+1,B2,_0.t-t1-1))>=_0.DV&&(W[t1+_0.t]-=_0.DV,W[t1+_0.t+1]=1)}W.t>0&&(W[W.t-1]+=_0.am(t1,_0[t1],W,2*t1,0,1)),W.s=0,W.clamp()}function ey(W,_0,t1){var B2=W.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(He,O5),e3.lShiftTo(He,t1)):(B2.copyTo(O5),e3.copyTo(t1));var Pe=O5.t,i4=O5[Pe-1];if(i4!=0){var Ai=i4*(1<1?O5[Pe-2]>>this.F2:0),nr=this.FV/Ai,gy=(1<=0&&(t1[t1.t++]=1,t1.subTo(Oi,t1)),e.ONE.dlShiftTo(Pe,Oi),Oi.subTo(O5,O5);O5.t=0;){var rE=t1[--AA]==i4?this.DM:Math.floor(t1[AA]*nr+(t1[AA-1]+uy)*gy);if((t1[AA]+=O5.am(0,rE,t1,Tu,0,Pe))0&&t1.rShiftTo(He,t1),N3<0&&e.ZERO.subTo(t1,t1)}}}function ty(W){var _0=e1();return this.abs().divRemTo(W,null,_0),this.s<0&&_0.compareTo(e.ZERO)>0&&W.subTo(_0,_0),_0}function sA(W){this.m=W}function iy(W){return W.s<0||W.compareTo(this.m)>=0?W.mod(this.m):W}function ry(W){return W}function ny(W){W.divRemTo(this.m,null,W)}function sy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}function oA(W,_0){W.squareTo(_0),this.reduce(_0)}sA.prototype.convert=iy,sA.prototype.revert=ry,sA.prototype.reduce=ny,sA.prototype.mulTo=sy,sA.prototype.sqrTo=oA;function rr(){if(this.t<1)return 0;var W=this[0];if(!(W&1))return 0;var _0=W&3;return _0=_0*(2-(W&15)*_0)&15,_0=_0*(2-(W&255)*_0)&255,_0=_0*(2-((W&65535)*_0&65535))&65535,_0=_0*(2-W*_0%this.DV)%this.DV,_0>0?this.DV-_0:-_0}function Hn(W){this.m=W,this.mp=W.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(_0,_0),_0}function aA(W){var _0=e1();return W.copyTo(_0),this.reduce(_0),_0}function Vn(W){for(;W.t<=this.mt2;)W[W.t++]=0;for(var _0=0;_0>15)*this.mpl&this.um)<<15)&W.DM;for(t1=_0+this.m.t,W[t1]+=this.m.am(0,B2,W,_0,0,this.m.t);W[t1]>=W.DV;)W[t1]-=W.DV,W[++t1]++}W.clamp(),W.drShiftTo(this.m.t,W),W.compareTo(this.m)>=0&&W.subTo(this.m,W)}function oy(W,_0){W.squareTo(_0),this.reduce(_0)}function ay(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}Hn.prototype.convert=Fu,Hn.prototype.revert=aA,Hn.prototype.reduce=Vn,Hn.prototype.mulTo=ay,Hn.prototype.sqrTo=oy;function Ay(){return(this.t>0?this[0]&1:this.s)==0}function to(W,_0){if(W>4294967295||W<1)return e.ONE;var t1=e1(),B2=e1(),e3=_0.convert(this),O5=iE(W)-1;for(e3.copyTo(t1);--O5>=0;)if(_0.sqrTo(t1,B2),(W&1<0)_0.mulTo(B2,e3,t1);else{var N3=t1;t1=B2,B2=N3}return _0.revert(t1)}function $y(W,_0){var t1;return W<256||_0.isEven()?t1=new sA(_0):t1=new Hn(_0),this.exp(W,t1)}e.prototype.copyTo=y9,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=KB,e.prototype.drShiftTo=JB,e.prototype.lShiftTo=WB,e.prototype.rShiftTo=ZB,e.prototype.subTo=Z6,e.prototype.multiplyTo=jB,e.prototype.squareTo=XB,e.prototype.divRemTo=ey,e.prototype.invDigit=rr,e.prototype.isEven=Ay,e.prototype.exp=to,e.prototype.toString=V7,e.prototype.negate=Y7,e.prototype.abs=kr,e.prototype.compareTo=nl,e.prototype.bitLength=zB,e.prototype.mod=ty,e.prototype.modPowInt=$y,e.ZERO=i9(0),e.ONE=i9(1);function Yn(W,_0){this.fromInt(0),_0==null&&(_0=10);for(var t1=this.chunkSize(_0),B2=Math.pow(_0,t1),e3=!1,O5=0,N3=0,ie=0;ie=t1&&(this.dMultiply(B2),this.dAddOffset(N3,0),O5=0,N3=0)}O5>0&&(this.dMultiply(Math.pow(_0,O5)),this.dAddOffset(N3,0)),e3&&e.ZERO.subTo(this,this)}function rn(W){return Math.floor(Math.LN2*this.DB/Math.log(W))}function vC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function s5(W){this[this.t]=this.am(0,W-1,this,0,0,this.t),++this.t,this.clamp()}function ly(W,_0){if(W!=0){for(;this.t<=_0;)this[this.t++]=0;for(this[_0]+=W;this[_0]>=this.DV;)this[_0]-=this.DV,++_0>=this.t&&(this[this.t++]=0),++this[_0]}}function io(W){if(W==null&&(W=10),this.signum()==0||W<2||W>36)return"0";var _0=this.chunkSize(W),t1=Math.pow(W,_0),B2=i9(t1),e3=e1(),O5=e1(),N3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)N3=(t1+O5.intValue()).toString(W).substr(1)+N3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(W)+N3}function nn(){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(W.t>=this.DB;B2+=this.s}else{for(B2+=this.s;t1>=this.DB;B2+=W.s}_0.s=B2<0?-1:0,B2>0?_0[t1++]=B2:B2<-1&&(_0[t1++]=this.DV+B2),_0.t=t1,_0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=rn,e.prototype.signum=vC,e.prototype.dMultiply=s5,e.prototype.dAddOffset=ly,e.prototype.toRadix=io,e.prototype.intValue=nn,e.prototype.addTo=cy;var c7={abs:function(W,_0){var t1=new r.math.Long(W,_0),B2;t1.isNegative()?B2=t1.negate():B2=t1,Ge[bt>>2]=B2.low_,Ge[bt+4>>2]=B2.high_},ensureTemps:function(){c7.ensuredTemps||(c7.ensuredTemps=!0,c7.two32=new e,c7.two32.fromString("4294967296",10),c7.two64=new e,c7.two64.fromString("18446744073709551616",10),c7.temp1=new e,c7.temp2=new e)},lh2bignum:function(W,_0){var t1=new e;t1.fromString(_0.toString(),10);var B2=new e;t1.multiplyTo(c7.two32,B2);var e3=new e;e3.fromString(W.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(W,_0,t1){var B2=new r.math.Long(W,_0).toString();if(t1&&B2[0]=="-"){c7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,c7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(W,_0,t1,B2,e3){c7.ensureTemps();var O5=new e;O5.fromString(W,_0);var N3=new e;N3.fromString(t1,10);var ie=new e;if(ie.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var He=new e;O5.addTo(c7.two64,He),O5=He}var Pe=!1;O5.compareTo(N3)<0?(O5=N3,Pe=!0):O5.compareTo(ie)>0&&(O5=ie,Pe=!0);var i4=r.math.Long.fromString(O5.toString());if(Ge[bt>>2]=i4.low_,Ge[bt+4>>2]=i4.high_,Pe)throw"range error"}};return c7}();function nA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}nA.prototype=new Error,nA.prototype.constructor=nA;var qB,tE=null,wS=!1;q7=function r(){n.calledRun||wC(),n.calledRun||(q7=r)},n.callMain=n.callMain=function(c){N9(k8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),N9(Jp.length==0,"cannot call main when preRun functions remain to be called"),c=c||[],Ws();var h=c.length+1;function f(){for(var n1=0;n1<3;n1++)z.push(0)}var z=[B3(tn(n.thisProgram),"i8",tA)];f();for(var e=0;e0||(Lu(),k8>0)||n.calledRun)return;function c(){n.calledRun||(n.calledRun=!0,!P&&(Ws(),MB(),l&&tE!==null&&n.printErr("pre-main prep time: "+(Date.now()-tE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&YB&&n.callMain(r),Z$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),c()},1)):c()}n.run=n.run=wC;function HB(r,c){if(!(c&&n.noExitRuntime))throw n.noExitRuntime||(P=!0,F0=r,S7=qB,Wp(),n.onExit&&n.onExit(r)),u?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):x&&typeof quit=="function"&&quit(r),new nA(r)}n.exit=n.exit=HB;var VB=[];function eo(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",P=!0,F0=1;var c=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+r+") at "+Yp()+c;throw VB&&VB.forEach(function(f){h=f(h,r)}),h}if(n.abort=n.abort=eo,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var YB=!0;n.noInitialRun&&(YB=!1),wC();var vS=n._encoder_init,kS=n._encoder_clear,SS=n._encoder_analysis_buffer,bS=n._encoder_process,DS=n._encoder_data_len,_S=n._encoder_transfer_data,b7=n.HEAPU8,tl=n.HEAPU32,il=n.HEAPF32,rl=function(r,c,h){this.numChannels=c,this.oggBuffers=[],this.encoder=vS(this.numChannels,r,h)};rl.prototype.encode=function(r){for(var c=r[0].length,h=SS(this.encoder,c)>>2,f=0;f>2);this.process(c)},rl.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},rl.prototype.cancel=rl.prototype.cleanup=function(){kS(this.encoder),delete this.encoder,delete this.oggBuffers},rl.prototype.process=function(r){bS(this.encoder,r);var c=DS(this.encoder);if(c>0){var h=_S(this.encoder);this.oggBuffers.push(new Uint8Array(b7.subarray(h,h+c)))}},uC.OggVorbisEncoder=rl}};typeof window<"u"&&window===self&&uC.init();function Mk(n,i,a,l){let u=new uC.OggVorbisEncoder(a,i,l);u.encode(n);let I=u.finish(),x=I.reduce((N,b0)=>N+b0.length,0),V=new Uint8Array(x),T=0;for(let N of I)V.set(N,T),T+=N.length;return V}var hC=class{constructor(i,a){let l=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),l.classList.remove("hidden")}),document.body.addEventListener("dragend",()=>{l.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{if(u.preventDefault(),l.classList.add("hidden"),!u.dataTransfer.files[0])return;let I=[];for(let x of u.dataTransfer.files){let V=x.name,T=await x.arrayBuffer(),N=T.slice(0,4),b0=new TextDecoder;if(b0.decode(N)==="RIFF"){let w=T.slice(8,12);if(b0.decode(w)==="RMID"){I.push({binary:T,altName:V});continue}a(T);continue}I.push({binary:T,altName:V})}i(I)})}};async function Rk(){let n="locale.exportAudio.formats.formats.dls.warning.";e4(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"font-weight: bold"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let a=i.div.querySelector("input[trim-toggle='1']").checked;_9(i.id),F7("%cExporting DLS...",I1.info);let l=await this.seq.getMIDI(),u=Hs(l.embeddedSoundFont||this.soundFont);Pa(l,await this.synth.getSynthesizerSnapshot()),a&&wu(u,l);try{let I=u.writeDLS(),x=new Blob([I.buffer],{type:"audio/dls"});this.saveBlob(x,`${u.soundFontInfo.INAM||"unnamed"}.dls`)}catch(I){me("Failed to export DLS: ",I),e4(this.localeManager.getLocaleString("locale.error"),[{type:"text",textContent:I,attributes:{style:"font-weight: bold; color: red"}}])}ue()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var p_=!1,Br=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(i,a,l,u=p_){this.localeManager=l,this.context=i,this.enableDebug=u,this.isExporting=!1,this.compressionFunc=Mk;let I;this.ready=new Promise(x=>I=x),this.initializeContext(i,a).then(()=>{I()})}saveBlob(i,a){let l=URL.createObjectURL(i),u=document.createElement("a");u.href=l,u.download=a,u.click(),x5(u)}async initializeContext(i,a){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let U of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(U,"innerText",U.getAttribute("translate-path"));for(let U of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(U,"innerText",U.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(U,"title",U.getAttribute("translate-path-title")+".description");this.soundFont=a;let u=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Lk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let I=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=I+u,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let x=new URL(I+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),T=await(await fetch(x)).arrayBuffer();this.impulseResponseRaw=T,this.impulseResponse=await i.decodeAudioData(T.slice(0,T.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new pu(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",U=>{this.sfError&&this.sfError(U.message)}),await this.synth.isReady,this.midHandler=new KE,this.wml=new JE(this.synth),this.keyboard=new Dp(this.channelColors,this.synth);let N=document.getElementById("note_canvas");N.width=window.innerWidth*window.devicePixelRatio,N.height=window.innerHeight*window.devicePixelRatio,this.renderer=new N7(this.channelColors,this.synth,N,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let b0=!1,w=()=>{if(N.width=window.innerWidth*window.devicePixelRatio,N.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),pr){if(window.innerWidth/window.innerHeight>1){if(!b0){let U=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");b0=!0,U.parentElement.insertBefore(P,U)}}else if(b0){let U=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");b0=!1,U.parentElement.insertBefore(U,P)}}this.renderer.render(!1,!0)};w(),window.addEventListener("resize",w.bind(this)),window.addEventListener("orientationchange",w.bind(this)),pr&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Zr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new eC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ps(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI,this.renderer),this.settingsUI=new v7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager,this.audioDelay),this.dropFileHandler=new hC(async U=>{if(U.length===0)return;await this.context.resume(),this.play(U);let P=U[0].altName;P>20&&(P=P.substring(0,21)+"..."),document.getElementById("file_upload").textContent=P;let F0=document.getElementById("export_button");F0.style.display="flex",F0.onclick=this.exportSong.bind(this),window.isLocalEdition||(document.getElementById("demo_song").style.display="none")},U=>{this.reloadSf(U)}),document.addEventListener("keydown",U=>{if(!U.ctrlKey)switch(U.key.toLowerCase()){case O8.cinematicMode:this.seq&&this.seq.pause();let P=window.prompt(`Cinematic mode activated! - Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),P===null)return;N.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${P}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case O8.videoMode:this.seq&&this.seq.pause();let F0=window.prompt(`Video mode! +`));if(!c)return null;r.input=tn(c,!0)}return r.input.shift()},put_char:function(r,c){c===null||c===10?(n.print(Ys(r.output,0)),r.output=[]):c!=0&&r.output.push(c)},flush:function(r){r.output&&r.output.length>0&&(n.print(Ys(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,c){c===null||c===10?(n.printErr(Ys(r.output,0)),r.output=[]):c!=0&&r.output.push(c)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Ys(r.output,0)),r.output=[])}}},Me={ops_table:null,mount:function(r){return Me.createNode(null,"/",16895,0)},createNode:function(r,c,h,f){if(S.isBlkdev(h)||S.isFIFO(h))throw new S.ErrnoError(N2.EPERM);Me.ops_table||(Me.ops_table={dir:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,lookup:Me.node_ops.lookup,mknod:Me.node_ops.mknod,rename:Me.node_ops.rename,unlink:Me.node_ops.unlink,rmdir:Me.node_ops.rmdir,readdir:Me.node_ops.readdir,symlink:Me.node_ops.symlink},stream:{llseek:Me.stream_ops.llseek}},file:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:{llseek:Me.stream_ops.llseek,read:Me.stream_ops.read,write:Me.stream_ops.write,allocate:Me.stream_ops.allocate,mmap:Me.stream_ops.mmap,msync:Me.stream_ops.msync}},link:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr,readlink:Me.node_ops.readlink},stream:{}},chrdev:{node:{getattr:Me.node_ops.getattr,setattr:Me.node_ops.setattr},stream:S.chrdev_stream_ops}});var z=S.createNode(r,c,h,f);return S.isDir(z.mode)?(z.node_ops=Me.ops_table.dir.node,z.stream_ops=Me.ops_table.dir.stream,z.contents={}):S.isFile(z.mode)?(z.node_ops=Me.ops_table.file.node,z.stream_ops=Me.ops_table.file.stream,z.usedBytes=0,z.contents=null):S.isLink(z.mode)?(z.node_ops=Me.ops_table.link.node,z.stream_ops=Me.ops_table.link.stream):S.isChrdev(z.mode)&&(z.node_ops=Me.ops_table.chrdev.node,z.stream_ops=Me.ops_table.chrdev.stream),z.timestamp=Date.now(),r&&(r.contents[c]=z),z},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var c=[],h=0;hr.contents.length&&(r.contents=Me.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var h=r.contents?r.contents.buffer.byteLength:0;if(h>=c)return;var f=1024*1024;c=Math.max(c,h*(h0&&r.contents.set(z.subarray(0,r.usedBytes),0);return}for(!r.contents&&c>0&&(r.contents=[]);r.contents.lengthc)r.contents.length=c;else for(;r.contents.length=r.node.usedBytes)return 0;var e1=Math.min(r.node.usedBytes-z,f);if(N9(e1>=0),e1>8&&e.subarray)c.set(e.subarray(z,z+e1),h);else for(var n1=0;n10||z+fP5.timestamp)&&(z.push(S5),f++)});var e=[];if(Object.keys(c.entries).forEach(function(S5){var w2=c.entries[S5],P5=r.entries[S5];P5||(e.push(S5),f++)}),!f)return h(null);var e1=!1,n1=0,x2=r.type==="remote"?r.db:c.db,o=x2.transaction([S8.DB_STORE_NAME],"readwrite"),c1=o.objectStore(S8.DB_STORE_NAME);function C(S5){if(S5)return C.errored?void 0:(C.errored=!0,h(S5));if(++n1>=f)return h(null)}o.onerror=function(S5){C(this.error),S5.preventDefault()},z.sort().forEach(function(S5){c.type==="local"?S8.loadRemoteEntry(c1,S5,function(w2,P5){if(w2)return C(w2);S8.storeLocalEntry(S5,P5,C)}):S8.loadLocalEntry(S5,function(w2,P5){if(w2)return C(w2);S8.storeRemoteEntry(c1,S5,P5,C)})}),e.sort().reverse().forEach(function(S5){c.type==="local"?S8.removeLocalEntry(S5,C):S8.removeRemoteEntry(c1,S5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return N9(u),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,c,h,f){if(!S.isDir(h)&&!S.isFile(h)&&!S.isLink(h))throw new S.ErrnoError(N2.EINVAL);var z=S.createNode(r,c,h);return z.node_ops=ft.node_ops,z.stream_ops=ft.stream_ops,z},getMode:function(r){var c;try{c=b8.lstatSync(r),ft.isWindows&&(c.mode=c.mode|(c.mode&146)>>1)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}return c.mode},realPath:function(r){for(var c=[];r.parent!==r;)c.push(r.name),r=r.parent;return c.push(r.mount.opts.root),c.reverse(),Ie.join.apply(null,c)},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(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var c=ft.realPath(r),h;try{h=b8.lstatSync(c)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}return ft.isWindows&&!h.blksize&&(h.blksize=4096),ft.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(r,c){var h=ft.realPath(r);try{if(c.mode!==void 0&&(b8.chmodSync(h,c.mode),r.mode=c.mode),c.timestamp!==void 0){var f=new Date(c.timestamp);b8.utimesSync(h,f,f)}c.size!==void 0&&b8.truncateSync(h,c.size)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},lookup:function(r,c){var h=Ie.join2(ft.realPath(r),c),f=ft.getMode(h);return ft.createNode(r,c,f)},mknod:function(r,c,h,f){var z=ft.createNode(r,c,h,f),e=ft.realPath(z);try{S.isDir(z.mode)?b8.mkdirSync(e,z.mode):b8.writeFileSync(e,"",{mode:z.mode})}catch(e1){throw e1.code?new S.ErrnoError(N2[e1.code]):e1}return z},rename:function(r,c,h){var f=ft.realPath(r),z=Ie.join2(ft.realPath(c),h);try{b8.renameSync(f,z)}catch(e){throw e.code?new S.ErrnoError(N2[e.code]):e}},unlink:function(r,c){var h=Ie.join2(ft.realPath(r),c);try{b8.unlinkSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},rmdir:function(r,c){var h=Ie.join2(ft.realPath(r),c);try{b8.rmdirSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},readdir:function(r){var c=ft.realPath(r);try{return b8.readdirSync(c)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},symlink:function(r,c,h){var f=Ie.join2(ft.realPath(r),c);try{b8.symlinkSync(h,f)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},readlink:function(r){var c=ft.realPath(r);try{return c=b8.readlinkSync(c),c=OB.relative(OB.resolve(r.mount.opts.root),c),c}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}}},stream_ops:{open:function(r){var c=ft.realPath(r.node);try{S.isFile(r.node.mode)&&(r.nfd=b8.openSync(c,ft.flagsToPermissionString(r.flags)))}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},close:function(r){try{S.isFile(r.node.mode)&&r.nfd&&b8.closeSync(r.nfd)}catch(c){throw c.code?new S.ErrnoError(N2[c.code]):c}},read:function(r,c,h,f,z){if(f===0)return 0;var e=new Buffer(f),e1;try{e1=b8.readSync(r.nfd,e,0,f,z)}catch(x2){throw new S.ErrnoError(N2[x2.code])}if(e1>0)for(var n1=0;n18)throw new S.ErrnoError(N2.ELOOP);for(var z=Ie.normalizeArray(r.split("/").filter(function(S5){return!!S5}),!1),e=S.root,e1="/",n1=0;n140)throw new S.ErrnoError(N2.ELOOP)}}return{path:e1,node:e}},getPath:function(r){for(var c;;){if(S.isRoot(r)){var h=r.mount.mountpoint;return c?h[h.length-1]!=="/"?h+"/"+c:h+c:h}c=c?r.name+"/"+c:r.name,r=r.parent}},hashName:function(r,c){for(var h=0,f=0;f>>0)%S.nameTable.length},hashAddNode:function(r){var c=S.hashName(r.parent.id,r.name);r.name_next=S.nameTable[c],S.nameTable[c]=r},hashRemoveNode:function(r){var c=S.hashName(r.parent.id,r.name);if(S.nameTable[c]===r)S.nameTable[c]=r.name_next;else for(var h=S.nameTable[c];h;){if(h.name_next===r){h.name_next=r.name_next;break}h=h.name_next}},lookupNode:function(r,c){var h=S.mayLookup(r);if(h)throw new S.ErrnoError(h,r);for(var f=S.hashName(r.id,c),z=S.nameTable[f];z;z=z.name_next){var e=z.name;if(z.parent.id===r.id&&e===c)return z}return S.lookup(r,c)},createNode:function(r,c,h,f){if(!S.FSNode){S.FSNode=function(n1,x2,o,c1){n1||(n1=this),this.parent=n1,this.mount=n1.mount,this.mounted=null,this.id=S.nextInode++,this.name=x2,this.mode=o,this.node_ops={},this.stream_ops={},this.rdev=c1},S.FSNode.prototype={};var z=365,e=146;Object.defineProperties(S.FSNode.prototype,{read:{get:function(){return(this.mode&z)===z},set:function(n1){n1?this.mode|=z:this.mode&=~z}},write:{get:function(){return(this.mode&e)===e},set:function(n1){n1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return S.isDir(this.mode)}},isDevice:{get:function(){return S.isChrdev(this.mode)}}})}var e1=new S.FSNode(r,c,h,f);return S.hashAddNode(e1),e1},destroyNode:function(r){S.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&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(r){var c=S.flagModes[r];if(typeof c>"u")throw new Error("Unknown file open mode: "+r);return c},flagsToPermissionString:function(r){var c=r&2097155,h=["r","w","rw"][c];return r&512&&(h+="w"),h},nodePermissions:function(r,c){return S.ignorePermissions?0:c.indexOf("r")!==-1&&!(r.mode&292)||c.indexOf("w")!==-1&&!(r.mode&146)||c.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var c=S.nodePermissions(r,"x");return c||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,c){try{var h=S.lookupNode(r,c);return N2.EEXIST}catch{}return S.nodePermissions(r,"wx")},mayDelete:function(r,c,h){var f;try{f=S.lookupNode(r,c)}catch(e){return e.errno}var z=S.nodePermissions(r,"wx");if(z)return z;if(h){if(!S.isDir(f.mode))return N2.ENOTDIR;if(S.isRoot(f)||S.getPath(f)===S.cwd())return N2.EBUSY}else if(S.isDir(f.mode))return N2.EISDIR;return 0},mayOpen:function(r,c){return r?S.isLink(r.mode)?N2.ELOOP:S.isDir(r.mode)&&(c&2097155||c&512)?N2.EISDIR:S.nodePermissions(r,S.flagsToPermissionString(c)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,c){r=r||0,c=c||S.MAX_OPEN_FDS;for(var h=r;h<=c;h++)if(!S.streams[h])return h;throw new S.ErrnoError(N2.EMFILE)},getStream:function(r){return S.streams[r]},createStream:function(r,c,h){S.FSStream||(S.FSStream=function(){},S.FSStream.prototype={},Object.defineProperties(S.FSStream.prototype,{object:{get:function(){return this.node},set:function(e1){this.node=e1}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new S.FSStream;for(var z in r)f[z]=r[z];r=f;var e=S.nextfd(c,h);return r.fd=e,S.streams[e]=r,r},closeStream:function(r){S.streams[r]=null},getStreamFromPtr:function(r){return S.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var c=S.getDevice(r.node.rdev);r.stream_ops=c.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new S.ErrnoError(N2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,c){return r<<8|c},registerDevice:function(r,c){S.devices[r]={stream_ops:c}},getDevice:function(r){return S.devices[r]},getMounts:function(r){for(var c=[],h=[r];h.length;){var f=h.pop();c.push(f),h.push.apply(h,f.mounts)}return c},syncfs:function(r,c){typeof r=="function"&&(c=r,r=!1);var h=S.getMounts(S.root.mount),f=0;function z(e){if(e)return z.errored?void 0:(z.errored=!0,c(e));++f>=h.length&&c(null)}h.forEach(function(e){if(!e.type.syncfs)return z(null);e.type.syncfs(e,r,z)})},mount:function(r,c,h){var f=h==="/",z=!h,e;if(f&&S.root)throw new S.ErrnoError(N2.EBUSY);if(!f&&!z){var e1=S.lookupPath(h,{follow_mount:!1});if(h=e1.path,e=e1.node,S.isMountpoint(e))throw new S.ErrnoError(N2.EBUSY);if(!S.isDir(e.mode))throw new S.ErrnoError(N2.ENOTDIR)}var n1={type:r,opts:c,mountpoint:h,mounts:[]},x2=r.mount(n1);return x2.mount=n1,n1.root=x2,f?S.root=x2:e&&(e.mounted=n1,e.mount&&e.mount.mounts.push(n1)),x2},unmount:function(r){var c=S.lookupPath(r,{follow_mount:!1});if(!S.isMountpoint(c.node))throw new S.ErrnoError(N2.EINVAL);var h=c.node,f=h.mounted,z=S.getMounts(f);Object.keys(S.nameTable).forEach(function(e1){for(var n1=S.nameTable[e1];n1;){var x2=n1.name_next;z.indexOf(n1.mount)!==-1&&S.destroyNode(n1),n1=x2}}),h.mounted=null;var e=h.mount.mounts.indexOf(f);N9(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(r,c){return r.node_ops.lookup(r,c)},mknod:function(r,c,h){var f=S.lookupPath(r,{parent:!0}),z=f.node,e=Ie.basename(r);if(!e||e==="."||e==="..")throw new S.ErrnoError(N2.EINVAL);var e1=S.mayCreate(z,e);if(e1)throw new S.ErrnoError(e1);if(!z.node_ops.mknod)throw new S.ErrnoError(N2.EPERM);return z.node_ops.mknod(z,e,c,h)},create:function(r,c){return c=c!==void 0?c:438,c&=4095,c|=32768,S.mknod(r,c,0)},mkdir:function(r,c){return c=c!==void 0?c:511,c&=1023,c|=16384,S.mknod(r,c,0)},mkdev:function(r,c,h){return typeof h>"u"&&(h=c,c=438),c|=8192,S.mknod(r,c,h)},symlink:function(r,c){if(!Ie.resolve(r))throw new S.ErrnoError(N2.ENOENT);var h=S.lookupPath(c,{parent:!0}),f=h.node;if(!f)throw new S.ErrnoError(N2.ENOENT);var z=Ie.basename(c),e=S.mayCreate(f,z);if(e)throw new S.ErrnoError(e);if(!f.node_ops.symlink)throw new S.ErrnoError(N2.EPERM);return f.node_ops.symlink(f,z,r)},rename:function(r,c){var h=Ie.dirname(r),f=Ie.dirname(c),z=Ie.basename(r),e=Ie.basename(c),e1,n1,x2;try{e1=S.lookupPath(r,{parent:!0}),n1=e1.node,e1=S.lookupPath(c,{parent:!0}),x2=e1.node}catch{throw new S.ErrnoError(N2.EBUSY)}if(!n1||!x2)throw new S.ErrnoError(N2.ENOENT);if(n1.mount!==x2.mount)throw new S.ErrnoError(N2.EXDEV);var o=S.lookupNode(n1,z),c1=Ie.relative(r,f);if(c1.charAt(0)!==".")throw new S.ErrnoError(N2.EINVAL);if(c1=Ie.relative(c,h),c1.charAt(0)!==".")throw new S.ErrnoError(N2.ENOTEMPTY);var C;try{C=S.lookupNode(x2,e)}catch{}if(o!==C){var S5=S.isDir(o.mode),w2=S.mayDelete(n1,z,S5);if(w2)throw new S.ErrnoError(w2);if(w2=C?S.mayDelete(x2,e,S5):S.mayCreate(x2,e),w2)throw new S.ErrnoError(w2);if(!n1.node_ops.rename)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(o)||C&&S.isMountpoint(C))throw new S.ErrnoError(N2.EBUSY);if(x2!==n1&&(w2=S.nodePermissions(n1,"w"),w2))throw new S.ErrnoError(w2);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(r,c)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+c+"') threw an exception: "+P5.message)}S.hashRemoveNode(o);try{n1.node_ops.rename(o,x2,e)}catch(P5){throw P5}finally{S.hashAddNode(o)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(r,c)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+c+"') threw an exception: "+P5.message)}}},rmdir:function(r){var c=S.lookupPath(r,{parent:!0}),h=c.node,f=Ie.basename(r),z=S.lookupNode(h,f),e=S.mayDelete(h,f,!0);if(e)throw new S.ErrnoError(e);if(!h.node_ops.rmdir)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(z))throw new S.ErrnoError(N2.EBUSY);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e1.message)}h.node_ops.rmdir(h,f),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e1.message)}},readdir:function(r){var c=S.lookupPath(r,{follow:!0}),h=c.node;if(!h.node_ops.readdir)throw new S.ErrnoError(N2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(r){var c=S.lookupPath(r,{parent:!0}),h=c.node,f=Ie.basename(r),z=S.lookupNode(h,f),e=S.mayDelete(h,f,!1);if(e)throw e===N2.EISDIR&&(e=N2.EPERM),new S.ErrnoError(e);if(!h.node_ops.unlink)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(z))throw new S.ErrnoError(N2.EBUSY);try{S.trackingDelegate.willDeletePath&&S.trackingDelegate.willDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+e1.message)}h.node_ops.unlink(h,f),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(r)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+e1.message)}},readlink:function(r){var c=S.lookupPath(r),h=c.node;if(!h)throw new S.ErrnoError(N2.ENOENT);if(!h.node_ops.readlink)throw new S.ErrnoError(N2.EINVAL);return Ie.resolve(S.getPath(c.node.parent),h.node_ops.readlink(h))},stat:function(r,c){var h=S.lookupPath(r,{follow:!c}),f=h.node;if(!f)throw new S.ErrnoError(N2.ENOENT);if(!f.node_ops.getattr)throw new S.ErrnoError(N2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return S.stat(r,!0)},chmod:function(r,c,h){var f;if(typeof r=="string"){var z=S.lookupPath(r,{follow:!h});f=z.node}else f=r;if(!f.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);f.node_ops.setattr(f,{mode:c&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,c){S.chmod(r,c,!0)},fchmod:function(r,c){var h=S.getStream(r);if(!h)throw new S.ErrnoError(N2.EBADF);S.chmod(h.node,c)},chown:function(r,c,h,f){var z;if(typeof r=="string"){var e=S.lookupPath(r,{follow:!f});z=e.node}else z=r;if(!z.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);z.node_ops.setattr(z,{timestamp:Date.now()})},lchown:function(r,c,h){S.chown(r,c,h,!0)},fchown:function(r,c,h){var f=S.getStream(r);if(!f)throw new S.ErrnoError(N2.EBADF);S.chown(f.node,c,h)},truncate:function(r,c){if(c<0)throw new S.ErrnoError(N2.EINVAL);var h;if(typeof r=="string"){var f=S.lookupPath(r,{follow:!0});h=f.node}else h=r;if(!h.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);if(S.isDir(h.mode))throw new S.ErrnoError(N2.EISDIR);if(!S.isFile(h.mode))throw new S.ErrnoError(N2.EINVAL);var z=S.nodePermissions(h,"w");if(z)throw new S.ErrnoError(z);h.node_ops.setattr(h,{size:c,timestamp:Date.now()})},ftruncate:function(r,c){var h=S.getStream(r);if(!h)throw new S.ErrnoError(N2.EBADF);if(!(h.flags&2097155))throw new S.ErrnoError(N2.EINVAL);S.truncate(h.node,c)},utime:function(r,c,h){var f=S.lookupPath(r,{follow:!0}),z=f.node;z.node_ops.setattr(z,{timestamp:Math.max(c,h)})},open:function(r,c,h,f,z){if(r==="")throw new S.ErrnoError(N2.ENOENT);c=typeof c=="string"?S.modeStringToFlags(c):c,h=typeof h>"u"?438:h,c&64?h=h&4095|32768:h=0;var e;if(typeof r=="object")e=r;else{r=Ie.normalize(r);try{var e1=S.lookupPath(r,{follow:!(c&131072)});e=e1.node}catch{}}var n1=!1;if(c&64)if(e){if(c&128)throw new S.ErrnoError(N2.EEXIST)}else e=S.mknod(r,h,0),n1=!0;if(!e)throw new S.ErrnoError(N2.ENOENT);if(S.isChrdev(e.mode)&&(c&=-513),!n1){var x2=S.mayOpen(e,c);if(x2)throw new S.ErrnoError(x2)}c&512&&S.truncate(e,0),c&=-641;var o=S.createStream({node:e,path:S.getPath(e),flags:c,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,z);o.stream_ops.open&&o.stream_ops.open(o),n.logReadFiles&&!(c&1)&&(S.readFiles||(S.readFiles={}),r in S.readFiles||(S.readFiles[r]=1,n.printErr("read file: "+r)));try{if(S.trackingDelegate.onOpenFile){var c1=0;(c&2097155)!==1&&(c1|=S.tracking.openFlags.READ),c&2097155&&(c1|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(r,c1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return o},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(c){throw c}finally{S.closeStream(r.fd)}},llseek:function(r,c,h){if(!r.seekable||!r.stream_ops.llseek)throw new S.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,c,h),r.ungotten=[],r.position},read:function(r,c,h,f,z){if(f<0||z<0)throw new S.ErrnoError(N2.EINVAL);if((r.flags&2097155)===1)throw new S.ErrnoError(N2.EBADF);if(S.isDir(r.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!r.stream_ops.read)throw new S.ErrnoError(N2.EINVAL);var e=!0;if(typeof z>"u")z=r.position,e=!1;else if(!r.seekable)throw new S.ErrnoError(N2.ESPIPE);var e1=r.stream_ops.read(r,c,h,f,z);return e||(r.position+=e1),e1},write:function(r,c,h,f,z,e){if(f<0||z<0)throw new S.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(S.isDir(r.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!r.stream_ops.write)throw new S.ErrnoError(N2.EINVAL);r.flags&1024&&S.llseek(r,0,2);var e1=!0;if(typeof z>"u")z=r.position,e1=!1;else if(!r.seekable)throw new S.ErrnoError(N2.ESPIPE);var n1=r.stream_ops.write(r,c,h,f,z,e);e1||(r.position+=n1);try{r.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return n1},allocate:function(r,c,h){if(c<0||h<=0)throw new S.ErrnoError(N2.EINVAL);if(!(r.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(!S.isFile(r.node.mode)&&!S.isDir(node.mode))throw new S.ErrnoError(N2.ENODEV);if(!r.stream_ops.allocate)throw new S.ErrnoError(N2.EOPNOTSUPP);r.stream_ops.allocate(r,c,h)},mmap:function(r,c,h,f,z,e,e1){if((r.flags&2097155)===1)throw new S.ErrnoError(N2.EACCES);if(!r.stream_ops.mmap)throw new S.ErrnoError(N2.ENODEV);return r.stream_ops.mmap(r,c,h,f,z,e,e1)},msync:function(r,c,h,f,z){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,c,h,f,z)},munmap:function(r){return 0},ioctl:function(r,c,h){if(!r.stream_ops.ioctl)throw new S.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,c,h)},readFile:function(r,c){if(c=c||{},c.flags=c.flags||"r",c.encoding=c.encoding||"binary",c.encoding!=="utf8"&&c.encoding!=="binary")throw new Error('Invalid encoding type "'+c.encoding+'"');var h,f=S.open(r,c.flags),z=S.stat(r),e=z.size,e1=new Uint8Array(e);return S.read(f,e1,0,e,0),c.encoding==="utf8"?h=Ys(e1,0):c.encoding==="binary"&&(h=e1),S.close(f),h},writeFile:function(r,c,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 f=S.open(r,h.flags,h.mode);if(h.encoding==="utf8"){var z=new Uint8Array(zs(c)+1),e=Un(c,z,0,z.length);S.write(f,z,0,e,0,h.canOwn)}else h.encoding==="binary"&&S.write(f,c,0,c.length,0,h.canOwn);S.close(f)},cwd:function(){return S.currentPath},chdir:function(r){var c=S.lookupPath(r,{follow:!0});if(!S.isDir(c.node.mode))throw new S.ErrnoError(N2.ENOTDIR);var h=S.nodePermissions(c.node,"x");if(h)throw new S.ErrnoError(h);S.currentPath=c.path},createDefaultDirectories:function(){S.mkdir("/tmp"),S.mkdir("/home"),S.mkdir("/home/web_user")},createDefaultDevices:function(){S.mkdir("/dev"),S.registerDevice(S.makedev(1,3),{read:function(){return 0},write:function(h,f,z,e,e1){return e}}),S.mkdev("/dev/null",S.makedev(1,3)),qn.register(S.makedev(5,0),qn.default_tty_ops),qn.register(S.makedev(6,0),qn.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var r;if(typeof crypto<"u"){var c=new Uint8Array(1);r=function(){return crypto.getRandomValues(c),c[0]}}else u?r=void 0:r=function(){return Math.random()*256|0};S.createDevice("/dev","random",r),S.createDevice("/dev","urandom",r),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?S.createDevice("/dev","stdin",n.stdin):S.symlink("/dev/tty","/dev/stdin"),n.stdout?S.createDevice("/dev","stdout",null,n.stdout):S.symlink("/dev/tty","/dev/stdout"),n.stderr?S.createDevice("/dev","stderr",null,n.stderr):S.symlink("/dev/tty1","/dev/stderr");var r=S.open("/dev/stdin","r");Ge[qk>>2]=S.getPtrForStream(r),N9(r.fd===0,"invalid handle for stdin ("+r.fd+")");var c=S.open("/dev/stdout","w");Ge[Hk>>2]=S.getPtrForStream(c),N9(c.fd===1,"invalid handle for stdout ("+c.fd+")");var h=S.open("/dev/stderr","w");Ge[Vk>>2]=S.getPtrForStream(h),N9(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(c,h){this.node=h,this.setErrno=function(f){this.errno=f;for(var z in N2)if(N2[z]===f){this.code=z;break}},this.setErrno(c),this.message=Ok[c]},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[N2.ENOENT].forEach(function(r){S.genericErrors[r]=new S.ErrnoError(r),S.genericErrors[r].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(Me,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices()},init:function(r,c,h){N9(!S.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)"),S.init.initialized=!0,S.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=c||n.stdout,n.stderr=h||n.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;for(var r=0;rthis.length-1||S5<0)){var w2=S5%this.chunkSize,P5=S5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(S5){this.getter=S5},e.prototype.cacheLength=function(){var S5=new XMLHttpRequest;if(S5.open("HEAD",h,!1),S5.send(null),!(S5.status>=200&&S5.status<300||S5.status===304))throw new Error("Couldn't load "+h+". Status: "+S5.status);var w2=Number(S5.getResponseHeader("Content-length")),P5,Ue=(P5=S5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",We=1024*1024;Ue||(We=w2);var y9=function(i9,It){if(i9>It)throw new Error("invalid range ("+i9+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var t4=new XMLHttpRequest;if(t4.open("GET",h,!1),w2!==We&&t4.setRequestHeader("Range","bytes="+i9+"-"+It),typeof Uint8Array<"u"&&(t4.responseType="arraybuffer"),t4.overrideMimeType&&t4.overrideMimeType("text/plain; charset=x-user-defined"),t4.send(null),!(t4.status>=200&&t4.status<300||t4.status===304))throw new Error("Couldn't load "+h+". Status: "+t4.status);return t4.response!==void 0?new Uint8Array(t4.response||[]):tn(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(i9){var It=i9*We,t4=(i9+1)*We-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[i9]>"u"&&(Dt.chunks[i9]=y9(It,t4)),typeof Dt.chunks[i9]>"u")throw new Error("doXHR failed!");return Dt.chunks[i9]}),this._length=w2,this._chunkSize=We,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!m)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var e1=new e;Object.defineProperty(e1,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(e1,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var n1={isDevice:!1,contents:e1}}else var n1={isDevice:!1,url:h};var x2=S.createFile(r,c,n1,f,z);n1.contents?x2.contents=n1.contents:n1.url&&(x2.contents=null,x2.url=n1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var o={},c1=Object.keys(x2.stream_ops);return c1.forEach(function(C){var S5=x2.stream_ops[C];o[C]=function(){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);return S5.apply(null,arguments)}}),o.read=function(S5,w2,P5,Ue,We){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);var y9=S5.node.contents;if(We>=y9.length)return 0;var Dt=Math.min(y9.length-We,Ue);if(N9(Dt>=0),y9.slice)for(var i9=0;i9=0;f--){var z=r[f];z==="."?r.splice(f,1):z===".."?(r.splice(f,1),h++):h&&(r.splice(f,1),h--)}if(c)for(;h--;h)r.unshift("..");return r},normalize:function(r){var c=r.charAt(0)==="/",h=r.substr(-1)==="/";return r=Ie.normalizeArray(r.split("/").filter(function(f){return!!f}),!c).join("/"),!r&&!c&&(r="."),r&&h&&(r+="/"),(c?"/":"")+r},dirname:function(r){var c=Ie.splitPath(r),h=c[0],f=c[1];return!h&&!f?".":(f&&(f=f.substr(0,f.length-1)),h+f)},basename:function(r){if(r==="/")return"/";var c=r.lastIndexOf("/");return c===-1?r:r.substr(c+1)},extname:function(r){return Ie.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return Ie.normalize(r.join("/"))},join2:function(r,c){return Ie.normalize(r+"/"+c)},resolve:function(){for(var r="",c=!1,h=arguments.length-1;h>=-1&&!c;h--){var f=h>=0?arguments[h]:S.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,c=f.charAt(0)==="/"}return r=Ie.normalizeArray(r.split("/").filter(function(z){return!!z}),!c).join("/"),(c?"/":"")+r||"."},relative:function(r,c){r=Ie.resolve(r).substr(1),c=Ie.resolve(c).substr(1);function h(o){for(var c1=0;c1=0&&o[C]==="";C--);return c1>C?[]:o.slice(c1,C-c1+1)}for(var f=h(r.split("/")),z=h(c.split("/")),e=Math.min(f.length,z.length),e1=e,n1=0;n10){var n1=Date.now(),x2=K1.mainLoop.queue.shift();if(x2.func(x2.arg),K1.mainLoop.remainingBlockers){var o=K1.mainLoop.remainingBlockers,c1=o%1==0?o-1:Math.floor(o);x2.counted?K1.mainLoop.remainingBlockers=c1:(c1=c1+.5,K1.mainLoop.remainingBlockers=(8*o+c1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-n1)+" ms"),K1.mainLoop.updateStatus(),setTimeout(K1.mainLoop.runner,0);return}if(!(e1&&K1.mainLoop.currentFrameNumber%K1.mainLoop.timingValue!=0){K1.mainLoop.scheduler();return}K1.mainLoop.method==="timeout"&&n.ctx&&(n.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!"),K1.mainLoop.method=""),K1.mainLoop.runIter(function(){typeof f<"u"?w.dynCall("vi",r,[f]):w.dynCall("v",r)}),!(e0?Xp(0,1e3/c):Xp(1,1),K1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var K1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){K1.mainLoop.scheduler=null,K1.mainLoop.currentlyRunningMainloop++},resume:function(){K1.mainLoop.currentlyRunningMainloop++;var r=K1.mainLoop.timingMode,c=K1.mainLoop.timingValue,h=K1.mainLoop.func;K1.mainLoop.func=null,UB(h,0,!1,K1.mainLoop.arg,!0),Xp(r,c),K1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",c=K1.mainLoop.remainingBlockers,h=K1.mainLoop.expectedBlockers;c?c"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,e1,n1,x2){var o=null;if(K1.hasBlobConstructor)try{o=new Blob([e],{type:K1.getMimetype(e1)}),o.size!==e.length&&(o=new Blob([new Uint8Array(e).buffer],{type:K1.getMimetype(e1)}))}catch(w2){w.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!o){var c1=new K1.BlobBuilder;c1.append(new Uint8Array(e).buffer),o=c1.getBlob()}var C=K1.URLObject.createObjectURL(o),S5=new Image;S5.onload=function(){N9(S5.complete,"Image "+e1+" could not be decoded");var P5=document.createElement("canvas");P5.width=S5.width,P5.height=S5.height;var Ue=P5.getContext("2d");Ue.drawImage(S5,0,0),n.preloadedImages[e1]=P5,K1.URLObject.revokeObjectURL(C),n1&&n1(e)},S5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},S5.src=C},n.preloadPlugins.push(r);var c={};c.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},c.handle=function(e,e1,n1,x2){var o=!1;function c1(Ue){o||(o=!0,n.preloadedAudios[e1]=Ue,n1&&n1(e))}function C(){o||(o=!0,n.preloadedAudios[e1]=new Audio,x2&&x2())}if(K1.hasBlobConstructor){try{var S5=new Blob([e],{type:K1.getMimetype(e1)})}catch{return C()}var w2=K1.URLObject.createObjectURL(S5),P5=new Audio;P5.addEventListener("canplaythrough",function(){c1(P5)},!1),P5.onerror=function(We){if(o)return;console.log("warning: browser could not fully decode audio "+e1+", trying slower base64 approach");function y9(Dt){for(var i9="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",V7=0,Y7=0,kr=0;kr=6;){var nl=V7>>Y7-6&63;Y7-=6,t4+=i9[nl]}return Y7==2?(t4+=i9[(V7&3)<<4],t4+=It+It):Y7==4&&(t4+=i9[(V7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+e1.substr(-3)+";base64,"+y9(e),c1(P5)},P5.src=w2,K1.safeSetTimeout(function(){c1(P5)},1e4)}else return C()},n.preloadPlugins.push(c);var h=n.canvas;function f(){K1.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",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&h.addEventListener("click",function(z){!K1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),z.preventDefault())},!1))},createContext:function(r,c,h,f){if(c&&n.ctx&&r==n.canvas)return n.ctx;var z,e;if(c){var e1={antialias:!1,alpha:!1};if(f)for(var n1 in f)e1[n1]=f[n1];e=GL.createContext(r,e1),e&&(z=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else z=r.getContext("2d");return z?(h&&(c||N9(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=z,c&&GL.makeContextCurrent(e),n.useWebGL=c,K1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),K1.init()),z):null},destroyContext:function(r,c,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,c,h){K1.lockPointer=r,K1.resizeCanvas=c,K1.vrDevice=h,typeof K1.lockPointer>"u"&&(K1.lockPointer=!0),typeof K1.resizeCanvas>"u"&&(K1.resizeCanvas=!1),typeof K1.vrDevice>"u"&&(K1.vrDevice=null);var f=n.canvas;function z(){K1.isFullScreen=!1;var e1=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===e1?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),K1.lockPointer&&f.requestPointerLock(),K1.isFullScreen=!0,K1.resizeCanvas&&K1.setFullScreenCanvasSize()):(e1.parentNode.insertBefore(f,e1),e1.parentNode.removeChild(e1),K1.resizeCanvas&&K1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(K1.isFullScreen),K1.updateCanvasDimensions(f)}K1.fullScreenHandlersInstalled||(K1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",z,!1),document.addEventListener("mozfullscreenchange",z,!1),document.addEventListener("webkitfullscreenchange",z,!1),document.addEventListener("MSFullscreenChange",z,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),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(r){var c=Date.now();if(K1.nextRAF===0)K1.nextRAF=c+1e3/60;else for(;c+2>=K1.nextRAF;)K1.nextRAF+=1e3/60;var h=Math.max(K1.nextRAF-c,0);setTimeout(r,h)},requestAnimationFrame:function(c){typeof window>"u"?K1.fakeRequestAnimationFrame(c):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||K1.fakeRequestAnimationFrame),window.requestAnimationFrame(c))},safeCallback:function(r){return function(){if(!P)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){K1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(K1.allowAsyncCallbacks=!0,K1.queuedAsyncCallbacks.length>0){var r=K1.queuedAsyncCallbacks;K1.queuedAsyncCallbacks=[],r.forEach(function(c){c()})}},safeRequestAnimationFrame:function(r){return K1.requestAnimationFrame(function(){P||(K1.allowAsyncCallbacks?r():K1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,c){return n.noExitRuntime=!0,setTimeout(function(){P||(K1.allowAsyncCallbacks?r():K1.queuedAsyncCallbacks.push(r))},c)},safeSetInterval:function(r,c){return n.noExitRuntime=!0,setInterval(function(){P||K1.allowAsyncCallbacks&&r()},c)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var c=0;switch(r.type){case"DOMMouseScroll":c=r.detail;break;case"mousewheel":c=r.wheelDelta;break;case"wheel":c=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return c},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(K1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?K1.mouseMovementX=K1.mouseMovementY=0:(K1.mouseMovementX=K1.getMovementX(r),K1.mouseMovementY=K1.getMovementY(r)),typeof SDL<"u"?(K1.mouseX=SDL.mouseX+K1.mouseMovementX,K1.mouseY=SDL.mouseY+K1.mouseMovementY):(K1.mouseX+=K1.mouseMovementX,K1.mouseY+=K1.mouseMovementY);else{var c=n.canvas.getBoundingClientRect(),h=n.canvas.width,f=n.canvas.height,z=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var e1=r.touch;if(e1===void 0)return;var n1=e1.pageX-(z+c.left),x2=e1.pageY-(e+c.top);n1=n1*(h/c.width),x2=x2*(f/c.height);var o={x:n1,y:x2};if(r.type==="touchstart")K1.lastTouches[e1.identifier]=o,K1.touches[e1.identifier]=o;else if(r.type==="touchend"||r.type==="touchmove"){var c1=K1.touches[e1.identifier];c1||(c1=o),K1.lastTouches[e1.identifier]=c1,K1.touches[e1.identifier]=o}return}var C=r.pageX-(z+c.left),S5=r.pageY-(e+c.top);C=C*(h/c.width),S5=S5*(f/c.height),K1.mouseMovementX=C-K1.mouseX,K1.mouseMovementY=S5-K1.mouseY,K1.mouseX=C,K1.mouseY=S5}},xhrLoad:function(r,c,h){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?c(f.response):h()},f.onerror=h,f.send(null)},asyncLoad:function(r,c,h,f){K1.xhrLoad(r,function(z){N9(z,'Loading data file "'+r+'" failed (no arrayBuffer).'),c(new Uint8Array(z)),f||wr("al "+r)},function(z){if(h)h();else throw'Loading data file "'+r+'" failed.'}),f||On("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;K1.resizeListeners.forEach(function(c){c(r.width,r.height)})},setCanvasSize:function(r,c,h){var f=n.canvas;K1.updateCanvasDimensions(f,r,c),h||K1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=tl[SDL.screen+w.QUANTUM_SIZE*0>>2];r=r|8388608,Ge[SDL.screen+w.QUANTUM_SIZE*0>>2]=r}K1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=tl[SDL.screen+w.QUANTUM_SIZE*0>>2];r=r&-8388609,Ge[SDL.screen+w.QUANTUM_SIZE*0>>2]=r}K1.updateResizeListeners()},updateCanvasDimensions:function(r,c,h){c&&h?(r.widthNative=c,r.heightNative=h):(c=r.widthNative,h=r.heightNative);var f=c,z=h;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/z>2]=c),c}function oS(){n.printErr("missing function: floor0_exportbundle"),eo(-1)}if(js=w.staticAlloc(4),Ge[js>>2]=0,n.requestFullScreen=function(c,h,f){K1.requestFullScreen(c,h,f)},n.requestAnimationFrame=function(c){K1.requestAnimationFrame(c)},n.setCanvasSize=function(c,h,f){K1.setCanvasSize(c,h,f)},n.pauseMainLoop=function(){K1.mainLoop.pause()},n.resumeMainLoop=function(){K1.mainLoop.resume()},n.getUserMedia=function(){K1.getUserMedia()},n.createContext=function(c,h,f,z){return K1.createContext(c,h,f,z)},S.staticInit(),J$.unshift(function(){!n.noFSInit&&!S.init.initialized&&S.init()}),Du.push(function(){S.ignorePermissions=!1}),W$.push(function(){S.quit()}),n.FS_createFolder=S.createFolder,n.FS_createPath=S.createPath,n.FS_createDataFile=S.createDataFile,n.FS_createPreloadedFile=S.createPreloadedFile,n.FS_createLazyFile=S.createLazyFile,n.FS_createLink=S.createLink,n.FS_createDevice=S.createDevice,J$.unshift(function(){qn.init()}),W$.push(function(){qn.shutdown()}),u)var b8=void 0,OB=void 0;bu=S7=w.alignMemory(Xr),V$=!0,Y$=bu+Kp,z$=U7=w.alignMemory(Y$),N9(z$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function W_(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function US(t){t=t|0,Z6=t}function PS(){return Z6|0}function kC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0;p=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,s=Re(256)|0,A=t+8|0,e[A>>2]=s,$=t+12|0,e[$>>2]=s,f[s>>0]=0,g=t+16|0,e[g>>2]=256}function OS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;M=C,A=s>>3,$=t+12|0,B=e[$>>2]|0,b=(B|0)==0,!b&&(D=A<<3,k=s-D|0,v=t+8|0,_=e[v>>2]|0,Q=_+A|0,e[$>>2]=Q,L=t+4|0,e[L>>2]=k,e[t>>2]=A,g=8+(k<<2)|0,d=e[g>>2]|0,p=f[Q>>0]|0,I=p&255,E=I&d,y=E&255,f[Q>>0]=y)}function H2(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;Y0=C,d=A>>>0>32;do if(!d){if(p=e[t>>2]|0,L=t+16|0,A0=e[L>>2]|0,c0=A0+-4|0,b0=(p|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,b0)q=g;else{if(G0=(g|0)==0,G0)return;if(J0=(A0|0)>2147483391,J0||(V0=t+8|0,j0=e[V0>>2]|0,I=A0+256|0,E=K7(j0,I)|0,y=(E|0)==0,y))break;e[V0>>2]=E,B=e[L>>2]|0,b=B+256|0,e[L>>2]=b,D=e[t>>2]|0,k=E+D|0,e[$>>2]=k,q=k}v=8+(A<<2)|0,_=e[v>>2]|0,Q=_&s,R=t+4|0,M=e[R>>2]|0,N=M+A|0,G=Q<>0]|0,V=O&255,K=V|G,t0=K&255,f[q>>0]=t0,Z=(N|0)>7;do if(Z&&(j=e[R>>2]|0,r0=8-j|0,o0=Q>>>r0,J=o0&255,s0=e[$>>2]|0,Y=s0+1|0,f[Y>>0]=J,d0=(N|0)>15,d0&&(i0=e[R>>2]|0,e0=16-i0|0,h0=Q>>>e0,$0=h0&255,l0=e[$>>2]|0,X=l0+2|0,f[X>>0]=$0,m0=(N|0)>23,m0&&(g0=e[R>>2]|0,I0=24-g0|0,n0=Q>>>I0,f0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=f0,y0=(N|0)>31,y0))))if(D0=e[R>>2]|0,E0=(D0|0)==0,E0){R0=e[$>>2]|0,v0=R0+4|0,f[v0>>0]=0;break}else{Q0=32-D0|0,w0=Q>>>Q0,B0=w0&255,x0=e[$>>2]|0,Z0=x0+4|0,f[Z0>>0]=B0;break}while(!1);U0=(N|0)/8&-1,O0=e[t>>2]|0,H0=O0+U0|0,e[t>>2]=H0,k0=e[$>>2]|0,K0=k0+U0|0,e[$>>2]=K0,N0=N&7,e[R>>2]=N0;return}while(!1);M0=t+8|0,P0=e[M0>>2]|0,W0=(P0|0)==0,W0||E2(P0),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 SC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0;d=C,s=t+8|0,A=e[s>>2]|0,$=(A|0)==0,$||E2(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 mi(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;y=C,s=t+12|0,A=e[s>>2]|0,$=(A|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[s>>2]=d,p=d,f[p>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function bC(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,$=s>>>0>32,$)return A=-1,A|0;if(g=8+(s<<2)|0,_=e[g>>2]|0,t0=t+4|0,e0=e[t0>>2]|0,p0=e0+s|0,b0=e[t>>2]|0,y0=t+16|0,D0=e[y0>>2]|0,E0=D0+-4|0,d=(b0|0)<(E0|0),!d){if(p=p0+7|0,I=p>>3,E=D0-I|0,y=(b0|0)>(E|0),y)return A=-1,A|0;if(B=(p0|0)==0,B)return A=0,A|0}return b=t+12|0,D=e[b>>2]|0,k=f[D>>0]|0,v=k&255,Q=v>>>e0,L=(p0|0)>8,L?(R=D+1|0,M=f[R>>0]|0,N=M&255,G=8-e0|0,O=N<16,V?(K=D+2|0,Z=f[K>>0]|0,A0=Z&255,j=16-e0|0,r0=A0<24,J?(s0=D+3|0,Y=f[s0>>0]|0,d0=Y&255,i0=24-e0|0,h0=d0<>0]|0,g0=m0&255,I0=32-e0|0,n0=g0<>2]|0,b=$+s|0,D=e[t>>2]|0,k=t+16|0,v=e[k>>2]|0,_=b+7|0,Q=_>>3,L=v-Q|0,R=(D|0)>(L|0),R){B=t+12|0,e[B>>2]=0,e[t>>2]=v,M=1,e[A>>2]=M;return}else{g=(b|0)/8&-1,d=t+12|0,p=e[d>>2]|0,I=p+g|0,e[d>>2]=I,E=D+g|0,e[t>>2]=E,y=b&7,M=y,e[A>>2]=M;return}}function r4(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0;M0=C,E=s>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,d=t,p=I,v0=g;else{if(y=8+(s<<2)|0,N=e[y>>2]|0,o0=t+4|0,X=e[o0>>2]|0,E0=X+s|0,G0=e[t>>2]|0,U0=t+16|0,O0=e[U0>>2]|0,H0=O0+-4|0,B=(G0|0)<(H0|0),!B){if(b=E0+7|0,D=b>>3,k=O0-D|0,v=(G0|0)>(k|0),v){d=t,p=o0,v0=O0;break}if(_=(E0|0)==0,_)return A=0,A|0}return Q=t+12|0,L=e[Q>>2]|0,R=f[L>>0]|0,M=R&255,G=M>>>X,O=(E0|0)>8,O?(q=L+1|0,V=f[q>>0]|0,K=V&255,t0=8-X|0,Z=K<16,j?(r0=L+2|0,J=f[r0>>0]|0,s0=J&255,Y=16-X|0,d0=s0<24,e0?(h0=L+3|0,c0=f[h0>>0]|0,$0=c0&255,l0=24-X|0,m0=$0<>0]|0,C0=p0&255,b0=32-X|0,y0=C0<>2]=B0,x0=G0+w0|0,e[t>>2]=x0,Z0=E0&7,e[o0>>2]=Z0,A=Q0,A|0}while(!1);return R0=t+12|0,e[R0>>2]=0,e[d>>2]=v0,e[p>>2]=1,A=-1,A|0}function D8(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0;return E=C,s=e[t>>2]|0,A=t+4|0,$=e[A>>2]|0,g=$+7|0,d=(g|0)/8&-1,p=d+s|0,p|0}function fy(t){t=t|0;var s=0,A=0,$=0,g=0;return g=C,s=t+8|0,A=e[s>>2]|0,A|0}function qS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0;if(O=C,g=(t|0)==0,g)return A=-1,A|0;g4(t|0,0,360)|0,d=t+4|0,e[d>>2]=16384,D=t+24|0,e[D>>2]=1024,k=Re(16384)|0,e[t>>2]=k,v=Re(4096)|0,_=t+16|0,e[_>>2]=v,Q=Re(8192)|0,L=t+20|0,e[L>>2]=Q,R=(k|0)==0;do if(R)I=v;else{if(M=(v|0)==0,p=(Q|0)==0,N=p|M,N){E2(k),$=e[_>>2]|0,I=$;break}return b=t+336|0,e[b>>2]=s,A=0,A|0}while(!1);return E=(I|0)==0,E||E2(I),y=e[L>>2]|0,B=(y|0)==0,B||E2(y),g4(t|0,0,360)|0,A=-1,A|0}function HS(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0;return b=C,s=(t|0)==0,s||(A=e[t>>2]|0,$=(A|0)==0,$||E2(A),g=t+16|0,d=e[g>>2]|0,p=(d|0)==0,p||E2(d),I=t+20|0,E=e[I>>2]|0,y=(E|0)==0,y||E2(E),g4(t|0,0,360)|0),0}function VS(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0;if(O0=C,s=(t|0)==0,!s){if(A=e[t>>2]|0,k=A+22|0,f[k>>0]=0,V=e[t>>2]|0,d0=V+23|0,f[d0>>0]=0,n0=e[t>>2]|0,D0=n0+24|0,f[D0>>0]=0,E0=e[t>>2]|0,Q0=E0+25|0,f[Q0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(d=e[t>>2]|0,x0=0,v0=0;;)if(b=x0<<8,D=x0>>>24,v=d+v0|0,_=f[v>>0]|0,Q=_&255,L=Q^D,R=144+(L<<2)|0,M=e[R>>2]|0,N=M^b,G=v0+1|0,O=(G|0)<($|0),O)x0=N,v0=G;else{B0=N;break}else B0=0;if(p=t+12|0,I=e[p>>2]|0,E=(I|0)>0,E)for(y=t+8|0,B=e[y>>2]|0,R0=B0,G0=0;;)if(q=R0<<8,K=R0>>>24,t0=B+G0|0,Z=f[t0>>0]|0,A0=Z&255,j=A0^K,r0=144+(j<<2)|0,o0=e[r0>>2]|0,J=o0^q,s0=G0+1|0,Y=(s0|0)<(I|0),Y)R0=J,G0=s0;else{Z0=J;break}else Z0=B0;i0=Z0&255,e0=e[t>>2]|0,h0=e0+22|0,f[h0>>0]=i0,c0=Z0>>>8,$0=c0&255,l0=e[t>>2]|0,X=l0+23|0,f[X>>0]=$0,m0=Z0>>>16,g0=m0&255,I0=e[t>>2]|0,f0=I0+24|0,f[f0>>0]=g0,p0=Z0>>>24,C0=p0&255,b0=e[t>>2]|0,y0=b0+25|0,f[y0>>0]=C0}}function YS(t,s,A,$,g,d){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0;var p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(x0=e[t>>2]|0,M0=(x0|0)==0,M0))return I=-1,I|0;if(L0=(s|0)==0,L0)return I=0,I|0;X0=(A|0)>0;e:do if(X0){for(m2=0,k2=0;;){if(b1=(s+(k2<<3)|0)+4|0,H1=e[b1>>2]|0,A2=(H1|0)<0,v=2147483647-H1|0,K=(m2|0)>(v|0),G2=A2|K,G2){I=-1;break}if(i0=H1+m2|0,c0=k2+1|0,$0=(c0|0)<(A|0),$0)m2=i0,k2=c0;else{a2=i0;break e}}return I|0}else a2=0;while(!1);l0=(a2|0)/255&-1,X=l0+1|0,m0=t+12|0,g0=e[m0>>2]|0,I0=(g0|0)==0,k=t+8|0,I0||(f0=e[k>>2]|0,p0=f0-g0|0,e[k>>2]=p0,C0=(f0|0)==(g0|0),C0||(b0=x0+g0|0,$A(x0|0,b0|0,p0|0)|0),e[m0>>2]=0),y0=t+4|0,D0=e[y0>>2]|0,E0=D0-a2|0,Q0=e[k>>2]|0,w0=(E0|0)>(Q0|0);do if(!w0){if(B0=2147483647-a2|0,Z0=(D0|0)>(B0|0),Z0)return R0=e[t>>2]|0,v0=(R0|0)==0,v0||E2(R0),G0=t+16|0,U0=e[G0>>2]|0,O0=(U0|0)==0,O0||E2(U0),H0=t+20|0,k0=e[H0>>2]|0,K0=(k0|0)==0,K0||E2(k0),g4(t|0,0,360)|0,I=-1,I|0;if(N0=D0+a2|0,P0=(N0|0)<2147482623,W0=N0+1024|0,p=P0?W0:N0,J0=e[t>>2]|0,V0=K7(J0,p)|0,j0=(V0|0)==0,!j0){e[y0>>2]=p,e[t>>2]=V0;break}return q0=e[t>>2]|0,Y0=(q0|0)==0,Y0||E2(q0),o1=t+16|0,z0=e[o1>>2]|0,r1=(z0|0)==0,r1||E2(z0),s1=t+20|0,d1=e[s1>>2]|0,u1=(d1|0)==0,u1||E2(d1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(E1=zS(t,X)|0,f1=(E1|0)==0,!f1)return I=-1,I|0;if(X0)for(y=e[k>>2]|0,k1=y,D2=0;y1=e[t>>2]|0,v1=y1+k1|0,S1=s+(D2<<3)|0,L1=e[S1>>2]|0,M1=(s+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,c9(v1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[k>>2]|0,P1=F1+R1|0,e[k>>2]=P1,D1=D2+1|0,r2=(D1|0)==(A|0),!r2;)k1=P1,D2=D1;if(h1=(a2|0)>254,A1=t+28|0,g1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,h1){for(B1=t+352|0,p1=t+20|0,Q1=e[p1>>2]|0,C1=(l0|0)>1,y2=0;O1=g1+y2|0,X1=$1+(O1<<2)|0,e[X1>>2]=255,G1=B1,x1=G1,J1=e[x1>>2]|0,V1=G1+4|0,Y1=V1,z1=e[Y1>>2]|0,t2=Q1+(O1<<3)|0,o2=t2,e2=o2,e[e2>>2]=J1,q1=o2+4|0,h2=q1,e[h2>>2]=z1,Z1=y2+1|0,I2=(Z1|0)<(l0|0),I2;)y2=Z1;M2=C1?l0:1,B=B1,g2=Q1,S2=M2}else E=t+20|0,b=e[E>>2]|0,D=t+352|0,B=D,g2=b,S2=0;return C2=(a2|0)%255&-1,$2=g1+S2|0,W1=$1+($2<<2)|0,e[W1>>2]=C2,f2=g2+($2<<3)|0,n2=f2,u2=n2,e[u2>>2]=g,s2=n2+4|0,l2=s2,e[l2>>2]=d,i2=B,_=i2,e[_>>2]=g,Q=i2+4|0,L=Q,e[L>>2]=d,R=$1+(g1<<2)|0,M=e[R>>2]|0,N=M|256,e[R>>2]=N,G=g1+X|0,e[A1>>2]=G,O=t+344|0,q=O,V=q,t0=e[V>>2]|0,Z=q+4|0,A0=Z,j=e[A0>>2]|0,r0=ro(t0|0,j|0,1,0)|0,o0=Z6,J=O,s0=J,e[s0>>2]=r0,Y=J+4|0,d0=Y,e[d0>>2]=o0,e0=($|0)==0,e0?(I=0,I|0):(h0=t+328|0,e[h0>>2]=1,I=0,I|0)}function nE(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0;return R=C,C=C+16|0,Q=R,A=e[s>>2]|0,e[Q>>2]=A,$=s+4|0,E=e[$>>2]|0,y=Q+4|0,e[y>>2]=E,B=s+12|0,b=e[B>>2]|0,D=s+16|0,k=D,v=k,_=e[v>>2]|0,g=k+4|0,d=g,p=e[d>>2]|0,I=YS(t,Q,1,b,_,p)|0,C=R,I|0}function Iy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0;return g=C,A=py(t,s,1,4096)|0,A|0}function my(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0;return R=C,d=(t|0)==0,d||(p=e[t>>2]|0,I=(p|0)==0,I)?(A=0,A|0):(E=t+328|0,y=e[E>>2]|0,B=(y|0)==0,$=t+28|0,g=e[$>>2]|0,Q=(g|0)==0,B?Q?_=0:(b=t+332|0,D=e[b>>2]|0,k=(D|0)==0,k?L=7:_=0):Q?_=0:L=7,(L|0)==7&&(_=1),v=py(t,s,_,4096)|0,A=v,A|0)}function zS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0;return f0=C,g=t+24|0,d=e[g>>2]|0,Q=d-s|0,Z=t+28|0,h0=e[Z>>2]|0,l0=(Q|0)>(h0|0),l0?($=0,$|0):(X=2147483647-s|0,m0=(d|0)>(X|0),m0?(g0=e[t>>2]|0,I0=(g0|0)==0,I0||E2(g0),p=t+16|0,I=e[p>>2]|0,E=(I|0)==0,E||E2(I),y=t+20|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),g4(t|0,0,360)|0,$=-1,$|0):(D=d+s|0,k=(D|0)<2147483615,v=D+32|0,A=k?v:D,_=t+16|0,L=e[_>>2]|0,R=A<<2,M=K7(L,R)|0,N=(M|0)==0,N?(G=e[t>>2]|0,O=(G|0)==0,O||E2(G),q=e[_>>2]|0,V=(q|0)==0,V||E2(q),K=t+20|0,t0=e[K>>2]|0,A0=(t0|0)==0,A0||E2(t0),g4(t|0,0,360)|0,$=-1,$|0):(e[_>>2]=M,j=t+20|0,r0=e[j>>2]|0,o0=A<<3,J=K7(r0,o0)|0,s0=(J|0)==0,s0?(Y=e[t>>2]|0,d0=(Y|0)==0,d0||E2(Y),i0=e[_>>2]|0,e0=(i0|0)==0,e0||E2(i0),c0=e[j>>2]|0,$0=(c0|0)==0,$0||E2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[j>>2]=J,e[g>>2]=A,$=0,$|0))))}function py(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0;if(b5=C,Q=t+28|0,L=e[Q>>2]|0,d1=(L|0)>255,g=d1?255:L,p1=(t|0)==0,p1||(R1=e[t>>2]|0,Y1=(R1|0)==0,$2=(g|0)==0,_3=$2|Y1,_3))return d=0,d|0;r2=t+332|0,K2=e[r2>>2]|0,j2=(K2|0)==0;e:do if(j2)for(y0=t+16|0,g3=0;;){if(U0=(g3|0)<(g|0),!U0){I=A,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,K5=g3,Y5=14;break e}if(j0=e[y0>>2]|0,z0=j0+(g3<<2)|0,r1=e[z0>>2]|0,L0=r1&255,s1=(L0|0)==255,u1=g3+1|0,s1)g3=u1;else{I=A,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,K5=u1,Y5=14;break}}else if(R=(g|0)>0,R){for(j=t+16|0,$0=t+20|0,y5=0,_5=-1,d5=-1,l5=-1,X2=-1,d2=-1,w5=-1,r5=-1,a5=-1,t3=0,G3=0,Q3=0;;){if(E1=(y5|0)>($|0),f1=(t3|0)>3,V3=E1&f1,V3){p=1,q5=_5,R5=d5,z2=l5,E5=X2,$5=d2,h5=w5,Q5=r5,T1=a5,u3=Q3;break}if(h1=e[j>>2]|0,A1=h1+(Q3<<2)|0,g1=e[A1>>2]|0,a1=g1&255,$1=a1+y5|0,X0=(a1|0)==255,X0?(f5=_5,J2=d5,I5=l5,n5=X2,F5=d2,e5=w5,c5=r5,T2=a5,a6=0,Y3=G3):(B1=e[$0>>2]|0,Q1=B1+(Q3<<3)|0,C1=Q1,y1=C1,v1=e[y1>>2]|0,k1=C1+4|0,S1=k1,L1=e[S1>>2]|0,M1=G3+1|0,b1=v1&255,_1=no(v1|0,L1|0,8)|0,F1=Z6,P1=_1&255,D1=no(v1|0,L1|0,16)|0,O1=Z6,X1=D1&255,G1=no(v1|0,L1|0,24)|0,x1=Z6,J1=G1&255,H1=L1&255,V1=no(v1|0,L1|0,40)|0,z1=Z6,t2=V1&255,o2=no(v1|0,L1|0,48)|0,e2=Z6,q1=o2&255,h2=no(v1|0,L1|0,56)|0,Z1=Z6,I2=h2&255,f5=b1,J2=X1,I5=J1,n5=H1,F5=t2,e5=q1,c5=I2,T2=P1,a6=M1,Y3=M1),A2=Q3+1|0,C2=(A2|0)<(g|0),C2)y5=$1,_5=f5,d5=J2,l5=I5,X2=n5,d2=F5,w5=e5,r5=c5,a5=T2,t3=a6,G3=Y3,Q3=A2;else{p=A,q5=f5,R5=J2,z2=I5,E5=n5,$5=F5,h5=e5,Q5=c5,T1=T2,u3=A2;break}}W1=(u3|0)==255,W1?(a3=q5,y3=R5,G5=z2,Z5=E5,x3=$5,f3=h5,w3=Q5,e6=T1,H5=255):(I=p,v5=q5,z5=R5,i3=z2,C5=E5,I3=$5,d3=h5,W5=Q5,r3=T1,K5=u3,Y5=14)}else I=A,v5=-1,z5=-1,i3=-1,C5=-1,I3=-1,d3=-1,W5=-1,r3=-1,K5=0,Y5=14;while(!1);if((Y5|0)==14){if(f2=(I|0)==0,f2)return d=0,d|0;a3=v5,y3=z5,G5=i3,Z5=C5,x3=I3,f3=d3,w3=W5,e6=r3,H5=K5}if(g2=t+40|0,f[g2>>0]=79,f[g2+1>>0]=103,f[g2+2>>0]=103,f[g2+3>>0]=83,n2=t+44|0,f[n2>>0]=0,u2=t+45|0,f[u2>>0]=0,s2=t+16|0,l2=e[s2>>2]|0,i2=e[l2>>2]|0,a2=i2>>>8,b=a2&1,m2=b^1,k2=m2|2,E=j2?k2:m2,c3=E&255,f[u2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,y2=(S2|0)!=0,G2=(L|0)==(H5|0),X5=y2&G2,X5&&(y=j2?k2:m2,M2=y|4,O2=M2&255,f[u2>>0]=O2),e[r2>>2]=1,p2=t+46|0,f[p2>>0]=a3,W2=t+47|0,f[W2>>0]=e6,q2=t+48|0,f[q2>>0]=y3,U2=t+49|0,f[U2>>0]=G5,V2=t+50|0,f[V2>>0]=Z5,Z2=t+51|0,f[Z2>>0]=x3,A5=t+52|0,f[A5>>0]=f3,Y2=t+53|0,f[Y2>>0]=w3,N1=t+336|0,t5=e[N1>>2]|0,T5=t5&255,i5=t+54|0,f[i5>>0]=T5,L5=t5>>>8,m5=L5&255,D5=t+55|0,f[D5>>0]=m5,V5=t5>>>16,u5=V5&255,b2=t+56|0,f[b2>>0]=u5,B5=t5>>>24,o5=B5&255,F2=t+57|0,f[F2>>0]=o5,R2=t+340|0,Q2=e[R2>>2]|0,M=(Q2|0)==-1,M?(e[R2>>2]=0,G=0):G=Q2,N=G+1|0,e[R2>>2]=N,O=G&255,q=t+58|0,f[q>>0]=O,V=G>>>8,K=V&255,t0=t+59|0,f[t0>>0]=K,Z=G>>>16,A0=Z&255,r0=t+60|0,f[r0>>0]=A0,o0=G>>>24,J=o0&255,s0=t+61|0,f[s0>>0]=J,Y=t+62|0,d0=H5&255,i0=t+66|0,f[Y>>0]=0,f[Y+1>>0]=0,f[Y+2>>0]=0,f[Y+3>>0]=0,f[i0>>0]=d0,e0=(H5|0)>0,e0){if(h0=e[l2>>2]|0,c0=h0&255,l0=t+67|0,f[l0>>0]=c0,X=h0&255,M5=(H5|0)==1,M5)B=X;else for(g0=1,D0=X;;)if(D=e[s2>>2]|0,m0=D+(g0<<2)|0,I0=e[m0>>2]|0,n0=I0&255,f0=g0+27|0,p0=(t+40|0)+f0|0,f[p0>>0]=n0,C0=I0&255,b0=C0+D0|0,E0=g0+1|0,p5=(E0|0)==(H5|0),p5){B=b0;break}else g0=E0,D0=b0;k=e[t>>2]|0,v=e[Q>>2]|0,_=e[s2>>2]|0,v0=k,k0=v,N0=_,N5=B}else v0=R1,k0=L,N0=l2,N5=0;return e[s>>2]=g2,Q0=H5+27|0,w0=t+324|0,e[w0>>2]=Q0,B0=s+4|0,e[B0>>2]=Q0,x0=t+12|0,Z0=e[x0>>2]|0,R0=v0+Z0|0,G0=s+8|0,e[G0>>2]=R0,O0=s+12|0,e[O0>>2]=N5,H0=k0-H5|0,e[Q>>2]=H0,K0=N0+(H5<<2)|0,M0=H0<<2,$A(N0|0,K0|0,M0|0)|0,P0=t+20|0,W0=e[P0>>2]|0,J0=W0+(H5<<3)|0,V0=e[Q>>2]|0,q0=V0<<3,$A(W0|0,J0|0,q0|0)|0,Y0=e[x0>>2]|0,o1=Y0+N5|0,e[x0>>2]=o1,VS(s),d=1,d|0}function KS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0;return z0=C,$=t+104|0,g=e[$>>2]|0,_=t+88|0,t0=g+12|0,e[_>>2]=0,e[_+4>>2]=0,e[_+8>>2]=0,e[_+12>>2]=0,e0=e[t0>>2]|0,mi(e0),p0=g+16|0,R0=e[p0>>2]|0,mi(R0),W0=g+20|0,q0=e[W0>>2]|0,mi(q0),Y0=g+24|0,d=e[Y0>>2]|0,mi(d),p=g+28|0,I=e[p>>2]|0,mi(I),E=g+32|0,y=e[E>>2]|0,mi(y),B=g+36|0,b=e[B>>2]|0,mi(b),D=g+40|0,k=e[D>>2]|0,mi(k),v=g+44|0,Q=e[v>>2]|0,mi(Q),L=g+48|0,R=e[L>>2]|0,mi(R),M=g+52|0,N=e[M>>2]|0,mi(N),G=g+56|0,O=e[G>>2]|0,mi(O),q=g+60|0,V=e[q>>2]|0,mi(V),K=g+64|0,Z=e[K>>2]|0,mi(Z),A0=g+68|0,j=e[A0>>2]|0,mi(j),r0=e[6416]|0,o0=r0+12|0,J=e[o0>>2]|0,s0=Zy[J&1](t)|0,Y=(s0|0)==0,Y?(d0=(s|0)==0,d0?(A=0,A|0):(i0=Nu(t)|0,h0=(i0|0)==0,h0?(c0=t+4|0,$0=fy(c0)|0,e[s>>2]=$0,l0=D8(c0)|0,X=s+4|0,e[X>>2]=l0,m0=s+8|0,e[m0>>2]=0,g0=t+44|0,I0=e[g0>>2]|0,n0=s+12|0,e[n0>>2]=I0,f0=t+48|0,C0=f0,b0=C0,y0=e[b0>>2]|0,D0=C0+4|0,E0=D0,Q0=e[E0>>2]|0,w0=s+16|0,B0=w0,x0=B0,e[x0>>2]=y0,Z0=B0+4|0,v0=Z0,e[v0>>2]=Q0,G0=t+56|0,U0=G0,O0=U0,H0=e[O0>>2]|0,k0=U0+4|0,K0=k0,N0=e[K0>>2]|0,M0=s+24|0,P0=M0,J0=P0,e[J0>>2]=H0,V0=P0+4|0,j0=V0,e[j0>>2]=N0,A=0,A|0):(A=-131,A|0))):(A=s0,A|0)}function JS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0;y0=C,A=t+28|0,$=e[A>>2]|0,C0=s,D0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(D0|0));v=$+3372|0,K=e[v>>2]|0,i0=(K|0)>0,i0&&(g0=t+8|0,I0=e[g0>>2]|0,n0=e[$>>2]|0,f0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(n0|0)&-1,p=s+24|0,e[p>>2]=d,e[s>>2]=1,I=$+3360|0,E=e[I>>2]|0,y=+(E|0),B=+(f0|0),b=y*B,D=+(I0|0),k=b/D,_=+z7(k),Q=~~_,L=s+12|0,e[L>>2]=Q,R=$+3364|0,M=e[R>>2]|0,N=+(M|0),G=N*B,O=G/D,q=+z7(O),V=~~q,t0=s+16|0,e[t0>>2]=V,Z=$+3368|0,A0=e[Z>>2]|0,j=+(A0|0),r0=j*B,o0=r0/D,J=+z7(o0),s0=~~J,Y=s+20|0,e[Y>>2]=s0,d0=s+32|0,c1[d0>>3]=7,e0=+(K|0),h0=$+3376|0,c0=+c1[h0>>3],$0=e0*c0,l0=~~$0,X=s+8|0,e[X>>2]=l0,m0=s+4|0,e[m0>>2]=l0)}function WS(t){t=t|0;var s=0,A=0,$=0,g=0;$=C,s=t,g=s+48|0;do e[s>>2]=0,s=s+4|0;while((s|0)<(g|0))}function Nu(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0;return B=C,A=t+64|0,$=e[A>>2]|0,g=$+104|0,d=e[g>>2]|0,p=d+80|0,I=e[p>>2]|0,E=(I|0)!=0,s=E&1,s|0}function ZS(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0;if(R6=C,y=t+104|0,B=e[y>>2]|0,Z1=t+64|0,b2=e[Z1>>2]|0,R5=b2+104|0,d2=e[R5>>2]|0,T2=b2+4|0,G5=e[T2>>2]|0,G3=G5+28|0,U5=e[G3>>2]|0,b=d2+112|0,O=+c1[b>>3],s0=+z7(O),g0=~~s0,w0=(B+12|0)+(g0<<2)|0,K0=e[w0>>2]|0,z0=D8(K0)|0,a1=z0<<3,L1=t+28|0,x1=e[L1>>2]|0,I2=(x1|0)==0,i2=d2+96|0,p2=e[i2>>2]|0,I2?(T5=d2+100|0,L5=e[T5>>2]|0,Y=p2,D0=T5,B0=L5):(j2=d2+104|0,m5=e[j2>>2]|0,D5=d2+100|0,V5=e[D5>>2]|0,u5=s5(m5,p2)|0,B5=s5(m5,V5)|0,Y=u5,D0=D5,B0=B5),o5=U5+(x1<<2)|0,F2=e[o5>>2]|0,R2=F2>>1,Q2=U5+3372|0,y5=e[Q2>>2]|0,N5=+(y5|0),p5=U5+3376|0,M5=+c1[p5>>3],q5=N5*M5,z2=~~q5,E5=d2+80|0,$5=e[E5>>2]|0,h5=($5|0)==0,Q5=d2+120|0,h5)return T1=e[Q5>>2]|0,_5=(T1|0)==0,_5?(e[Q5>>2]=t,A=0,A|0):(A=-1,A|0);if(e[Q5>>2]=t,d5=d2+92|0,l5=e[d5>>2]|0,X2=(l5|0)>0,X2){I2?c5=l5:(w5=d2+104|0,r5=e[w5>>2]|0,a5=s5(r5,l5)|0,c5=a5),f5=U5+3384|0,J2=+c1[f5>>3],I5=15/J2,n5=d2+84|0,F5=e[n5>>2]|0,e5=a1-c5|0,v5=F5+e5|0,z5=(v5|0)>(z2|0);e:do if(z5)if(i3=(g0|0)>0,C5=(a1|0)>(c5|0),M6=C5&i3,M6)if(I3=a1-c5|0,d3=I3+F5|0,W5=(d3|0)>(z2|0),W5)for(K3=g0;;){if(r3=K3+-1|0,a3=(B+12|0)+(r3<<2)|0,y3=e[a3>>2]|0,Z5=D8(y3)|0,x3=Z5<<3,f3=(K3|0)>1,w3=(x3|0)>(c5|0),L6=w3&f3,!L6){j5=r3;break e}if(I=e[n5>>2]|0,e6=x3-c5|0,V3=e6+I|0,X5=(V3|0)>(z2|0),X5)K3=r3;else{j5=r3;break}}else j5=g0;else j5=g0;else if(_3=(v5|0)<(z2|0),_3)if(t3=g0+1|0,a6=(t3|0)<15,Y3=(a1|0)<(c5|0),n6=Y3&a6,n6)if(c3=a1-c5|0,g3=c3+F5|0,u3=(g3|0)<(z2|0),u3)for(K5=t3;;){if(Q3=(B+12|0)+(K5<<2)|0,H5=e[Q3>>2]|0,Y5=D8(H5)|0,b5=Y5<<3,z3=K5+1|0,l6=(z3|0)<15,n3=(b5|0)<(c5|0),S6=n3&l6,!S6){j5=K5;break e}if(p=e[n5>>2]|0,l3=b5-c5|0,U3=l3+p|0,C6=(U3|0)<(z2|0),C6)K5=z3;else{j5=K5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+c1[b>>3],D3=b3-L3,A6=+z7(D3),r6=+(R2|0),D=A6/r6,k=G5+8|0,v=e[k>>2]|0,_=+(v|0),Q=_*D,L=-I5,R=QI5,R3=M?I5:k6,N=R3/_,G=N*r6,q=G+L3,c1[b>>3]=q,V=+z7(q),K=~~V,t0=(B+12|0)+(K<<2)|0,Z=e[t0>>2]|0,A0=D8(Z)|0,j=A0<<3,E=e[i2>>2]|0,r0=E,M3=K,s6=j}else r0=p2,M3=g0,s6=a1;o0=(r0|0)>0,J=(s6|0)<(Y|0),f6=J&o0;e:do if(f6)if(d0=d2+88|0,i0=e[d0>>2]|0,e0=s6-Y|0,h0=e0+i0|0,c0=(h0|0)<0,c0)for(h3=M3,o6=s6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){J3=$0,B6=o6;break e}if(X=(B+12|0)+($0<<2)|0,m0=e[X>>2]|0,I0=D8(m0)|0,n0=I0<<3,f0=e[d0>>2]|0,p0=n0-Y|0,C0=p0+f0|0,b0=(C0|0)<0,b0)h3=$0,o6=n0;else{J3=$0,B6=n0;break}}else J3=M3,B6=s6;else J3=M3,B6=s6;while(!1);y0=e[D0>>2]|0,E0=(y0|0)>0,Q0=(B6|0)>(B0|0),b6=Q0&E0;e:do if(b6)if(x0=d2+88|0,Z0=e[x0>>2]|0,R0=B6-B0|0,v0=R0+Z0|0,G0=e[Q2>>2]|0,U0=(v0|0)>(G0|0),U0)for(d6=J3,W3=B6;;){if(O0=d6+-1|0,H0=(d6|0)<1,H0){m3=O0,F3=W3;break e}if(k0=(B+12|0)+(O0<<2)|0,N0=e[k0>>2]|0,M0=D8(N0)|0,P0=M0<<3,W0=e[x0>>2]|0,J0=P0-B0|0,V0=J0+W0|0,j0=e[Q2>>2]|0,q0=(V0|0)>(j0|0),q0)d6=O0,W3=P0;else{m3=O0,F3=P0;break}}else m3=J3,F3=B6;else m3=J3,F3=B6;while(!1);if(Y0=(m3|0)<0,Y0)o1=e[Q2>>2]|0,r1=d2+88|0,L0=e[r1>>2]|0,s1=o1+B0|0,d1=s1-L0|0,u1=(d1|0)/8&-1,E1=d2+124|0,e[E1>>2]=0,f1=B+12|0,h1=e[f1>>2]|0,A1=D8(h1)|0,g1=(A1|0)>(u1|0),g1?($1=e[f1>>2]|0,X0=u1<<3,OS($1,X0),B1=e[f1>>2]|0,p1=D8(B1)|0,Q1=p1<<3,Z3=Q1):Z3=F3;else{if(C1=d2+88|0,y1=e[C1>>2]|0,v1=Y+7|0,k1=v1-y1|0,S1=(k1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=d2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=D8(R1)|0,P1=S1-F1|0,D1=(P1|0)>0,O1=e[_1>>2]|0,D1)for(G1=O1,x6=P1;;)if(X1=x6+-1|0,H2(G1,0,8),J1=(x6|0)>1,H1=e[_1>>2]|0,J1)G1=H1,x6=X1;else{d=H1;break}else d=O1;V1=D8(d)|0,Y1=V1<<3,Z3=Y1}z1=e[i2>>2]|0,t2=(z1|0)>0,t2?t6=37:(o2=e[D0>>2]|0,e2=(o2|0)>0,e2&&(t6=37));do if((t6|0)==37){if(q1=(B0|0)>0,h2=(Z3|0)>(B0|0),N6=q1&h2,N6){A2=Z3-B0|0,C2=d2+88|0,$2=e[C2>>2]|0,W1=A2+$2|0,e[C2>>2]=W1;break}if(f2=(Y|0)>0,g2=(Z3|0)<(Y|0),j6=f2&g2,j6){n2=Z3-Y|0,u2=d2+88|0,s2=e[u2>>2]|0,l2=n2+s2|0,e[u2>>2]=l2;break}if(a2=d2+88|0,m2=e[a2>>2]|0,r2=(m2|0)>(z2|0),r2)if(q1){k2=Z3-B0|0,D2=m2+k2|0,S2=(D2|0)<(z2|0),s=S2?z2:D2,e[a2>>2]=s;break}else{e[a2>>2]=z2;break}else if(f2){y2=Z3-Y|0,G2=m2+y2|0,M2=(G2|0)>(z2|0),$=M2?z2:G2,e[a2>>2]=$;break}else{e[a2>>2]=z2;break}}while(!1);return O2=e[d5>>2]|0,W2=(O2|0)>0,W2?(q2=e[L1>>2]|0,K2=(q2|0)==0,K2?Y2=O2:(U2=d2+104|0,V2=e[U2>>2]|0,Z2=s5(V2,O2)|0,Y2=Z2),A5=Z3-Y2|0,N1=d2+84|0,t5=e[N1>>2]|0,i5=A5+t5|0,e[N1>>2]=i5,A=0,A|0):(A=0,A|0)}function Ey(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,_=g+120|0,t0=e[_>>2]|0,e0=(t0|0)==0,e0?(A=0,A|0):(p0=(s|0)==0,p0||(C0=t0+104|0,b0=e[C0>>2]|0,y0=t0+64|0,D0=e[y0>>2]|0,d=D0+104|0,p=e[d>>2]|0,I=p+80|0,E=e[I>>2]|0,Q0=(E|0)==0,Q0?E0=7:(y=g+124|0,B=e[y>>2]|0,E0=B),b=(b0+12|0)+(E0<<2)|0,D=e[b>>2]|0,k=fy(D)|0,e[s>>2]=k,v=e[b>>2]|0,Q=D8(v)|0,L=s+4|0,e[L>>2]=Q,R=s+8|0,e[R>>2]=0,M=t0+44|0,N=e[M>>2]|0,G=s+12|0,e[G>>2]=N,O=t0+48|0,q=O,V=q,K=e[V>>2]|0,Z=q+4|0,A0=Z,j=e[A0>>2]|0,r0=s+16|0,o0=r0,J=o0,e[J>>2]=K,s0=o0+4|0,Y=s0,e[Y>>2]=j,d0=t0+56|0,i0=d0,h0=i0,c0=e[h0>>2]|0,$0=i0+4|0,l0=$0,X=e[l0>>2]|0,m0=s+24|0,g0=m0,I0=g0,e[I0>>2]=c0,n0=g0+4|0,f0=n0,e[f0>>2]=X),e[_>>2]=0,A=1,A|0)}function jS(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0;G=C,M=s,O=M+112|0;do e[M>>2]=0,M=M+4|0;while((M|0)<(O|0));if(A=s+64|0,e[A>>2]=t,$=s+76|0,e[$>>2]=0,y=s+68|0,e[y>>2]=0,B=e[t>>2]|0,b=(B|0)==0,b)return 0;for(D=l9(1,72)|0,k=s+104|0,e[k>>2]=D,v=D+4|0,o[v>>2]=-9999,_=s+4|0,Q=D+12|0,g=D+40|0,R=0;;)if(d=(R|0)==7,d){e[g>>2]=_,kC(_),R=8;continue}else{if(p=l9(1,20)|0,I=Q+(R<<2)|0,e[I>>2]=p,kC(p),E=R+1|0,L=(E|0)==15,L)break;R=E;continue}return 0}function W8(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0;return Z=C,A=s+7|0,$=A&-8,v=t+72|0,M=e[v>>2]|0,N=M+$|0,G=t+76|0,O=e[G>>2]|0,q=(N|0)>(O|0),V=t+68|0,K=e[V>>2]|0,q?(g=(K|0)==0,g||(d=K,p=Re(8)|0,I=t+80|0,E=e[I>>2]|0,y=E+M|0,e[I>>2]=y,B=t+84|0,b=e[B>>2]|0,D=p+4|0,e[D>>2]=b,e[p>>2]=d,e[B>>2]=p),e[G>>2]=$,k=Re($)|0,e[V>>2]=k,e[v>>2]=0,Q=k,L=0,_=Q+L|0,R=L+$|0,e[v>>2]=R,_|0):(Q=K,L=M,_=Q+L|0,R=L+$|0,e[v>>2]=R,_|0)}function XS(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0;if(i0=C,$=t+104|0,g=e[$>>2]|0,_=t+84|0,V=e[_>>2]|0,K=(V|0)==0,!K)for(s0=V;t0=s0+4|0,Z=e[t0>>2]|0,A0=e[s0>>2]|0,E2(A0),E2(s0),j=(Z|0)==0,!j;)s0=Z;if(r0=t+80|0,d=e[r0>>2]|0,p=(d|0)==0,s=t+68|0,A=e[s>>2]|0,p?Q=A:(I=t+76|0,E=e[I>>2]|0,y=E+d|0,B=K7(A,y)|0,e[s>>2]=B,b=e[r0>>2]|0,D=e[I>>2]|0,k=D+b|0,e[I>>2]=k,e[r0>>2]=0,Q=B),v=t+72|0,e[v>>2]=0,e[_>>2]=0,L=(Q|0)==0,L||E2(Q),R=(g|0)==0,R){Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}else J=0;for(;;){if(M=(g+12|0)+(J<<2)|0,N=e[M>>2]|0,SC(N),G=(J|0)==7,G){J=8;continue}if(O=e[M>>2]|0,E2(O),q=J+1|0,o0=(q|0)==15,o0)break;J=q}E2(g),Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}function eb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,$=ib(t,s,1)|0,g=($|0)==0,g?(E=t+104|0,y=e[E>>2]|0,B=Mb(s)|0,b=y+60|0,e[b>>2]=B,D=l9(1,180)|0,e[y>>2]=D,ab(D,s),k=y+80|0,JS(s,k),v=t+64|0,_=v,d=_,e[d>>2]=3,p=_+4|0,I=p,e[I>>2]=0,A=0,A|0):(A=1,A|0)}function Cy(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0;if(q2=C,B=(t|0)==0,!B){if(b=t+4|0,w0=e[b>>2]|0,K0=(w0|0)!=0,K0?(z0=w0+28|0,a1=e[z0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,Z1=(x1|0)!=0,Z1){if(l2=e[x1>>2]|0,D=(l2|0)==0,D||(Ab(l2),q=e[x1>>2]|0,E2(q)),Y=x1+12|0,I0=e[Y>>2]|0,C0=(I0|0)==0,C0||(b0=e[I0>>2]|0,MC(b0),y0=e[Y>>2]|0,D0=e[y0>>2]|0,E2(D0),E0=e[Y>>2]|0,E2(E0)),Q0=x1+16|0,B0=e[Q0>>2]|0,x0=(B0|0)==0,x0||(Z0=e[B0>>2]|0,MC(Z0),R0=e[Q0>>2]|0,v0=e[R0>>2]|0,E2(v0),G0=e[Q0>>2]|0,E2(G0)),U0=x1+48|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0){if(N0=(k0|0)==0,N0)C1=O0;else if(M0=k0+16|0,P0=e[M0>>2]|0,W0=(P0|0)>0,W0){if(J0=k0+800|0,V0=e[J0>>2]|0,j0=25640+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+16|0,o1=e[Y0>>2]|0,r1=e[O0>>2]|0,oo[o1&7](r1),L0=e[M0>>2]|0,s1=(L0|0)>1,s1)for(u1=1;s=e[U0>>2]|0,d1=J0+(u1<<2)|0,E1=e[d1>>2]|0,f1=25640+(E1<<2)|0,h1=e[f1>>2]|0,A1=h1+16|0,g1=e[A1>>2]|0,$1=s+(u1<<2)|0,X0=e[$1>>2]|0,oo[g1&7](X0),B1=u1+1|0,p1=e[M0>>2]|0,Q1=(B1|0)<(p1|0),Q1;)u1=B1;A=e[U0>>2]|0,C1=A}else C1=O0;E2(C1)}if(y1=x1+52|0,v1=e[y1>>2]|0,k1=(v1|0)==0,!k1){if(S1=(k0|0)==0,S1)W1=v1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,P1=25648+(F1<<2)|0,D1=e[P1>>2]|0,O1=D1+16|0,X1=e[O1>>2]|0,G1=e[v1>>2]|0,oo[X1&7](G1),J1=e[M1>>2]|0,H1=(J1|0)>1,H1)for(Y1=1;$=e[y1>>2]|0,V1=R1+(Y1<<2)|0,z1=e[V1>>2]|0,t2=25648+(z1<<2)|0,o2=e[t2>>2]|0,e2=o2+16|0,q1=e[e2>>2]|0,h2=$+(Y1<<2)|0,I2=e[h2>>2]|0,oo[q1&7](I2),A2=Y1+1|0,C2=e[M1>>2]|0,$2=(A2|0)<(C2|0),$2;)Y1=A2;g=e[y1>>2]|0,W1=g}else W1=v1;E2(W1)}if(f2=x1+56|0,g2=e[f2>>2]|0,n2=(g2|0)==0,!n2){if(u2=(k0|0)==0,u2)M2=g2;else if(s2=k0+28|0,i2=e[s2>>2]|0,a2=(i2|0)>0,a2){if(Dy(g2),m2=e[s2>>2]|0,r2=(m2|0)>1,r2)for(D2=1;d=e[f2>>2]|0,k2=d+(D2*52|0)|0,Dy(k2),S2=D2+1|0,y2=e[s2>>2]|0,G2=(S2|0)<(y2|0),G2;)D2=S2;p=e[f2>>2]|0,M2=p}else M2=g2;E2(M2)}k=x1+60|0,v=e[k>>2]|0,_=(v|0)==0,_||Rb(v),Q=x1+80|0,WS(Q),L=x1+20|0,Uy(L),R=x1+32|0,Uy(R)}if(M=t+8|0,N=e[M>>2]|0,G=(N|0)==0,!G){if(K0)if(O=w0+4|0,V=e[O>>2]|0,K=(V|0)>0,K){for(Z=N,p0=V,O2=0;t0=Z+(O2<<2)|0,A0=e[t0>>2]|0,j=(A0|0)==0,j?J=p0:(E2(A0),E=e[O>>2]|0,J=E),r0=O2+1|0,o0=(r0|0)<(J|0),!!o0;)I=e[M>>2]|0,Z=I,p0=J,O2=r0;y=e[M>>2]|0,s0=y}else s0=N;else s0=N;E2(s0),d0=t+12|0,i0=e[d0>>2]|0,e0=(i0|0)==0,e0||E2(i0)}Z1&&(h0=x1+64|0,c0=e[h0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,X=e[l0>>2]|0,m0=(X|0)==0,m0||E2(X),g0=x1+72|0,n0=e[g0>>2]|0,f0=(n0|0)==0,f0||E2(n0),E2(x1)),p2=t,K2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(K2|0))}}function By(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0;if(K0=C,I=t+4|0,E=e[I>>2]|0,M=t+104|0,r0=e[M>>2]|0,l0=r0+64|0,D0=e[l0>>2]|0,v0=(D0|0)==0,v0||E2(D0),e[l0>>2]=0,G0=r0+68|0,U0=e[G0>>2]|0,O0=(U0|0)==0,O0||E2(U0),e[G0>>2]=0,y=r0+72|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),e[y>>2]=0,D=t+20|0,k=e[D>>2]|0,v=k+s|0,_=t+16|0,Q=e[_>>2]|0,L=(v|0)<(Q|0),L)A=E+4|0,d=e[A>>2]|0,s0=d,k0=11;else if(R=s<<1,N=k+R|0,e[_>>2]=N,G=E+4|0,O=e[G>>2]|0,q=(O|0)>0,q)if(V=t+8|0,K=e[V>>2]|0,t0=e[K>>2]|0,Z=N<<2,A0=K7(t0,Z)|0,j=e[V>>2]|0,e[j>>2]=A0,o0=e[G>>2]|0,J=(o0|0)>1,J)for($0=1;;)if($=e[_>>2]|0,h0=e[V>>2]|0,c0=h0+($0<<2)|0,X=e[c0>>2]|0,m0=$<<2,g0=K7(X,m0)|0,I0=e[V>>2]|0,n0=I0+($0<<2)|0,e[n0>>2]=g0,f0=$0+1|0,p0=e[G>>2]|0,C0=(f0|0)<(p0|0),C0)$0=f0;else{s0=p0,k0=11;break}else s0=o0,k0=11;if((k0|0)==11&&(Y=(s0|0)>0,Y)){for(d0=t+8|0,i0=e[D>>2]|0,e0=t+12|0,H0=0;;)if(b0=e[d0>>2]|0,y0=b0+(H0<<2)|0,E0=e[y0>>2]|0,Q0=E0+(i0<<2)|0,w0=e[e0>>2]|0,B0=w0+(H0<<2)|0,e[B0>>2]=Q0,x0=H0+1|0,Z0=(x0|0)<(s0|0),Z0)H0=x0;else{g=e0;break}return R0=e[g>>2]|0,R0|0}return p=t+12|0,g=p,R0=e[g>>2]|0,R0|0}function tb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0;if(V0=C,I=t+4|0,E=e[I>>2]|0,M=E+28|0,r0=e[M>>2]|0,l0=(s|0)<1,!l0)return b0=t+20|0,y0=e[b0>>2]|0,E0=y0+s|0,Q0=t+16|0,w0=e[Q0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=V0,$|0):(e[b0>>2]=E0,x0=t+28|0,Z0=e[x0>>2]|0,R0=(Z0|0)==0,!R0||(v0=t+48|0,G0=e[v0>>2]|0,U0=E0-G0|0,H0=r0+4|0,k0=e[H0>>2]|0,K0=(U0|0)>(k0|0),!K0)?($=0,C=V0,$|0):(Qy(t),$=0,C=V0,$|0));if(D0=C,C=C+128|0,O0=t+28|0,N0=e[O0>>2]|0,M0=(N0|0)==0,M0&&Qy(t),P0=r0+4|0,y=e[P0>>2]|0,B=y*3|0,By(t,B)|0,b=t+20|0,D=e[b>>2]|0,k=t+32|0,e[k>>2]=D,v=e[P0>>2]|0,_=v*3|0,Q=D+_|0,e[b>>2]=Q,L=E+4|0,R=e[L>>2]|0,N=(R|0)>0,!N)return $=0,C=V0,$|0;for(G=t+8|0,O=D,W0=0;;){if(q=(O|0)>64,q?(V=e[P0>>2]|0,K=(O|0)>(V|0),A=K?V:O,t0=e[G>>2]|0,Z=t0+(W0<<2)|0,A0=e[Z>>2]|0,d=O-A|0,j=A0+(d<<2)|0,+wy(j,D0,A,32),o0=e[G>>2]|0,J=o0+(W0<<2)|0,s0=e[J>>2]|0,Y=e[k>>2]|0,d0=s0+(Y<<2)|0,p=Y+-32|0,i0=s0+(p<<2)|0,e0=e[b>>2]|0,h0=e0-Y|0,vy(D0,i0,32,d0,h0)):(c0=e[G>>2]|0,$0=c0+(W0<<2)|0,X=e[$0>>2]|0,m0=X+(O<<2)|0,g0=e[b>>2]|0,I0=g0-O|0,n0=I0<<2,g4(m0|0,0,n0|0)|0),f0=W0+1|0,p0=e[L>>2]|0,C0=(f0|0)<(p0|0),!C0){$=0;break}g=e[k>>2]|0,O=g,W0=f0}return C=V0,$|0}function yy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0;if(g9=C,b=t+4|0,D=e[b>>2]|0,A2=D+28|0,b5=e[A2>>2]|0,A6=t+104|0,M6=e[A6>>2]|0,B6=M6+60|0,y6=e[B6>>2]|0,V6=t+48|0,oe=e[V6>>2]|0,k=t+40|0,V=e[k>>2]|0,d0=b5+(V<<2)|0,n0=e[d0>>2]|0,x0=(n0|0)/2&-1,M0=oe-x0|0,L0=s+104|0,X0=e[L0>>2]|0,b1=t+28|0,H1=e[b1>>2]|0,C2=(H1|0)==0,C2||(m2=t+32|0,q2=e[m2>>2]|0,L5=(q2|0)==-1,L5))return $=0,$|0;Q2=$b(t)|0,Q5=(Q2|0)==-1;do if(Q5){if(J2=e[m2>>2]|0,I3=(J2|0)==0,I3)return $=0,$|0;e6=t+44|0,e[e6>>2]=0,d=e6,K3=0;break}else if(Q3=e[b5>>2]|0,z3=b5+4|0,U5=e[z3>>2]|0,l6=(Q3|0)==(U5|0),n3=t+44|0,l6){e[n3>>2]=0,d=n3,K3=0;break}else{e[n3>>2]=Q2,d=n3,K3=Q2;break}while(!1);if(l3=e[V6>>2]|0,U3=e[k>>2]|0,C6=b5+(U3<<2)|0,b3=e[C6>>2]|0,L3=(b3|0)/4&-1,D3=L3+l3|0,r6=b5+(K3<<2)|0,j5=e[r6>>2]|0,M3=(j5|0)/4&-1,h3=D3+M3|0,J3=(j5|0)/2&-1,d6=h3+J3|0,m3=t+20|0,x6=e[m3>>2]|0,L6=(x6|0)<(d6|0),L6)return $=0,$|0;if(S6=s+84|0,n6=e[S6>>2]|0,f6=(n6|0)==0,!f6)for(we=n6;b6=we+4|0,N6=e[b6>>2]|0,j6=e[we>>2]|0,E2(j6),E2(we),k6=(N6|0)==0,!k6;)we=N6;R3=s+80|0,s6=e[R3>>2]|0,o6=(s6|0)==0,o6||(W3=s+68|0,F3=e[W3>>2]|0,Z3=s+76|0,t6=e[Z3>>2]|0,R6=t6+s6|0,c6=K7(F3,R6)|0,e[W3>>2]=c6,s3=e[R3>>2]|0,K6=e[Z3>>2]|0,A3=K6+s3|0,e[Z3>>2]=A3,e[R3>>2]=0),g6=s+72|0,e[g6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,$6=s+24|0,e[$6>>2]=H6,D6=e[k>>2]|0,G6=s+28|0,e[G6>>2]=D6,ee=e[d>>2]|0,Q6=s+32|0,e[Q6>>2]=ee,X6=(D6|0)==0;do if(X6)if(ge=lb(t)|0,U6=(ge|0)==0,Y6=X0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,re=(ee|0)==0,Ye=P3|re,se=X0+8|0,Ye){e[se>>2]=0;break}else{e[se>>2]=1;break}while(!1);F6=s+64|0,e[F6>>2]=t,te=t+64|0,_6=te,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,he=O6,ne=e[he>>2]|0,Be=ro(O3|0,ne|0,1,0)|0,ye=Z6,Qe=te,de=Qe,e[de>>2]=Be,fe=Qe+4|0,Ve=fe,e[Ve>>2]=ye,w6=s+56|0,q6=w6,v=q6,e[v>>2]=O3,_=q6+4|0,Q=_,e[Q>>2]=ne,L=t+56|0,R=L,M=R,N=e[M>>2]|0,G=R+4|0,O=G,q=e[O>>2]|0,K=s+48|0,t0=K,Z=t0,e[Z>>2]=N,A0=t0+4|0,j=A0,e[j>>2]=q,r0=e[k>>2]|0,o0=b5+(r0<<2)|0,J=e[o0>>2]|0,s0=s+36|0,e[s0>>2]=J,Y=X0+4|0,i0=+o[Y>>2],e0=+o[y6>>2],h0=i0>e0,h0?(o[y6>>2]=i0,c0=i0):c0=e0,$0=+Nb(c0,t),o[y6>>2]=$0,o[Y>>2]=$0,l0=D+4|0,X=e[l0>>2]|0,m0=X<<2,g0=m0+7|0,I0=g0&-8,f0=e[g6>>2]|0,p0=I0+f0|0,C0=s+76|0,b0=e[C0>>2]|0,y0=(p0|0)>(b0|0),D0=s+68|0,E0=e[D0>>2]|0,y0?(Q0=(E0|0)==0,Q0||(w0=E0,B0=Re(8)|0,Z0=e[R3>>2]|0,R0=Z0+f0|0,e[R3>>2]=R0,v0=e[S6>>2]|0,G0=B0+4|0,e[G0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=I0,U0=Re(I0)|0,e[D0>>2]=U0,e[g6>>2]=0,g=e[l0>>2]|0,H0=U0,k0=0,P0=g,q0=I0):(H0=E0,k0=f0,P0=X,q0=b0),O0=H0+k0|0,K0=k0+I0|0,e[g6>>2]=K0,e[s>>2]=O0,N0=P0<<2,W0=N0+7|0,J0=W0&-8,V0=J0+K0|0,j0=(V0|0)>(q0|0),j0?(Y0=(H0|0)==0,Y0||(o1=H0,z0=Re(8)|0,r1=e[R3>>2]|0,s1=r1+K0|0,e[R3>>2]=s1,d1=e[S6>>2]|0,u1=z0+4|0,e[u1>>2]=d1,e[z0>>2]=o1,e[S6>>2]=z0),e[C0>>2]=J0,E1=Re(J0)|0,e[D0>>2]=E1,e[g6>>2]=0,p=e[l0>>2]|0,h1=E1,A1=0,a1=p,Y5=J0):(h1=H0,A1=K0,a1=P0,Y5=q0),f1=h1+A1|0,g1=A1+J0|0,e[g6>>2]=g1,e[X0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(B1=t+8|0,S1=g1,M1=Y5,_1=h1,ae=0;;){if(p1=e[s0>>2]|0,Q1=p1+M0|0,C1=Q1<<2,y1=C1+7|0,v1=y1&-8,k1=v1+S1|0,L1=(k1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,P1=Re(8)|0,D1=e[R3>>2]|0,O1=D1+S1|0,e[R3>>2]=O1,X1=e[S6>>2]|0,G1=P1+4|0,e[G1>>2]=X1,e[P1>>2]=F1,e[S6>>2]=P1),e[C0>>2]=v1,x1=Re(v1)|0,e[D0>>2]=x1,e[g6>>2]=0,V1=x1,Y1=0):(V1=_1,Y1=S1),J1=V1+Y1|0,z1=Y1+v1|0,e[g6>>2]=z1,t2=e[X0>>2]|0,o2=t2+(ae<<2)|0,e[o2>>2]=J1,e2=e[X0>>2]|0,q1=e2+(ae<<2)|0,h2=e[q1>>2]|0,Z1=e[B1>>2]|0,I2=Z1+(ae<<2)|0,$2=e[I2>>2]|0,c9(h2|0,$2|0,C1|0)|0,W1=e[X0>>2]|0,f2=W1+(ae<<2)|0,g2=e[f2>>2]|0,n2=g2+(M0<<2)|0,u2=e[s>>2]|0,s2=u2+(ae<<2)|0,e[s2>>2]=n2,l2=ae+1|0,i2=e[l0>>2]|0,a2=(l2|0)<(i2|0),!a2)break e;I=e[g6>>2]|0,E=e[C0>>2]|0,y=e[D0>>2]|0,S1=I,M1=E,_1=y,ae=l2}while(!1);if(r2=e[m2>>2]|0,k2=(r2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(r2|0),!S2))return e[m2>>2]=-1,y2=s+44|0,e[y2>>2]=1,$=1,$|0;if(G2=b5+4|0,M2=e[G2>>2]|0,O2=(M2|0)/2&-1,p2=h3-O2|0,W2=(p2|0)>0,!W2)return $=1,$|0;if(K2=e[M6>>2]|0,cb(K2,p2),U2=e[m3>>2]|0,V2=U2-p2|0,e[m3>>2]=V2,Z2=e[l0>>2]|0,A5=(Z2|0)>0,A5&&(Y2=t+8|0,N1=e[Y2>>2]|0,t5=e[N1>>2]|0,T5=t5+(p2<<2)|0,i5=V2<<2,$A(t5|0,T5|0,i5|0)|0,j2=e[l0>>2]|0,m5=(j2|0)>1,m5))for(u5=1;B=e[m3>>2]|0,D5=e[Y2>>2]|0,V5=D5+(u5<<2)|0,b2=e[V5>>2]|0,B5=b2+(p2<<2)|0,o5=B<<2,$A(b2|0,B5|0,o5|0)|0,F2=u5+1|0,R2=e[l0>>2]|0,y5=(F2|0)<(R2|0),y5;)u5=F2;return N5=e[k>>2]|0,e[T3>>2]=N5,p5=e[d>>2]|0,e[k>>2]=p5,e[V6>>2]=O2,M5=e[m2>>2]|0,q5=(M5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,V3=L,X5=V3,_3=e[X5>>2]|0,t3=V3+4|0,a6=t3,G3=e[a6>>2]|0,Y3=ro(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=L,u3=g3,e[u3>>2]=Y3,K5=g3+4|0,H5=K5,e[H5>>2]=c3,$=1,$|0):(R5=M5-p2|0,z2=(R5|0)<1,A=z2?-1:R5,e[m2>>2]=A,E5=(A|0)>(O2|0),E5?(c5=(p2|0)<0,T2=c5<<31>>31,v5=L,z5=v5,i3=e[z5>>2]|0,C5=v5+4|0,d3=C5,W5=e[d3>>2]|0,r3=ro(i3|0,W5|0,p2|0,T2|0)|0,a3=Z6,y3=L,G5=y3,e[G5>>2]=r3,Z5=y3+4|0,x3=Z5,e[x3>>2]=a3,$=1,$|0):($5=A+p2|0,h5=$5-O2|0,T1=(h5|0)<0,_5=T1<<31>>31,d5=L,l5=d5,X2=e[l5>>2]|0,d2=d5+4|0,w5=d2,r5=e[w5>>2]|0,a5=ro(X2|0,r5|0,h5|0,_5|0)|0,f5=Z6,I5=L,n5=I5,e[n5>>2]=a5,F5=I5+4|0,e5=F5,e[e5>>2]=f5,$=1,$|0))}function ib(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0;if(n5=C,y=s+28|0,B=e[y>>2]|0,k1=(B|0)==0,k1||(X1=B+8|0,q1=e[X1>>2]|0,u2=(q1|0)<1,u2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,R5=e[b2>>2]|0,b=(R5|0)<(G2|0),b))return $=1,$|0;O=B+3656|0,s0=e[O>>2]|0,J2=t,F5=J2+112|0;do e[J2>>2]=0,J2=J2+4|0;while((J2|0)<(F5|0));g0=l9(1,136)|0,w0=t+104|0,e[w0>>2]=g0,K0=t+4|0,e[K0>>2]=s,z0=e[X1>>2]|0,a1=z0+-1|0,y1=H8(a1)|0,v1=g0+44|0,e[v1>>2]=y1,S1=l9(1,4)|0,L1=g0+12|0,e[L1>>2]=S1,M1=l9(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=l9(1,20)|0,e[S1>>2]=_1,R1=l9(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,P1=F1>>s0,LC(_1,P1),D1=e[b1>>2]|0,O1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>s0,LC(O1,x1),J1=e[B>>2]|0,H1=H8(J1)|0,V1=H1+-7|0,Y1=g0+4|0,e[Y1>>2]=V1,z1=e[b2>>2]|0,t2=H8(z1)|0,o2=t2+-7|0,e2=g0+8|0,e[e2>>2]=o2,h2=(A|0)==0;e:do if(h2){if(Q2=B+2848|0,y5=e[Q2>>2]|0,N5=(y5|0)==0,N5&&(p5=B+24|0,M5=e[p5>>2]|0,q5=l9(M5,56)|0,e[Q2>>2]=q5,z2=e[p5>>2]|0,E5=(z2|0)>0,E5)){for(Q1=z2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,h5=e[$5>>2]|0,Q5=(h5|0)==0,Q5){T1=Q1;break}if(d5=e[Q2>>2]|0,l5=d5+(w5*56|0)|0,X2=nD(l5,h5)|0,D=(X2|0)==0,!D){I5=20;break}if(k=e[$5>>2]|0,RC(k),e[$5>>2]=0,v=w5+1|0,_=e[p5>>2]|0,Q=(v|0)<(_|0),Q)Q1=_,w5=v;else break e}if((I5|0)==20&&(I=e[p5>>2]|0,T1=I),_5=(T1|0)>0,_5)for(C1=T1,f5=0;A1=(B+1824|0)+(f5<<2)|0,g1=e[A1>>2]|0,$1=(g1|0)==0,$1?p1=C1:(RC(g1),e[A1>>2]=0,E=e[p5>>2]|0,p1=E),X0=f5+1|0,B1=(X0|0)<(p1|0),B1;)C1=p1,f5=X0;return Cy(t),$=-1,$|0}}else{if(Z1=g0+20|0,I2=e[B>>2]|0,Gy(Z1,I2),A2=g0+32|0,C2=e[b2>>2]|0,Gy(A2,C2),$2=B+2848|0,W1=e[$2>>2]|0,f2=(W1|0)==0,f2&&(g2=B+24|0,n2=e[g2>>2]|0,s2=l9(n2,56)|0,e[$2>>2]=s2,l2=e[g2>>2]|0,i2=(l2|0)>0,i2&&(a2=B+1824|0,m2=e[a2>>2]|0,Ny(s2,m2)|0,r2=e[g2>>2]|0,k2=(r2|0)>1,k2)))for(S2=1;g=e[$2>>2]|0,D2=g+(S2*56|0)|0,y2=(B+1824|0)+(S2<<2)|0,M2=e[y2>>2]|0,Ny(D2,M2)|0,O2=S2+1|0,p2=e[g2>>2]|0,W2=(O2|0)<(p2|0),W2;)S2=O2;q2=B+28|0,K2=e[q2>>2]|0,U2=l9(K2,52)|0,V2=g0+56|0,e[V2>>2]=U2,Z2=e[q2>>2]|0,A5=(Z2|0)>0;t:do if(A5)for(N1=B+2868|0,t5=s+8|0,i5=U2,d2=0;;){if(T5=i5+(d2*52|0)|0,L5=(B+2852|0)+(d2<<2)|0,j2=e[L5>>2]|0,m5=e[j2>>2]|0,D5=B+(m5<<2)|0,V5=e[D5>>2]|0,u5=(V5|0)/2&-1,B5=e[t5>>2]|0,Tb(T5,j2,N1,u5,B5),o5=d2+1|0,F2=e[q2>>2]|0,R2=(o5|0)<(F2|0),!R2)break t;d=e[V2>>2]|0,i5=d,d2=o5}while(!1);e[t>>2]=1}while(!1);if(L=e[b2>>2]|0,R=t+16|0,e[R>>2]=L,M=s+4|0,N=e[M>>2]|0,G=N<<2,q=Re(G)|0,V=t+8|0,e[V>>2]=q,K=Re(G)|0,t0=t+12|0,e[t0>>2]=K,Z=(N|0)>0,Z&&(A0=l9(L,4)|0,e[q>>2]=A0,j=(N|0)>1,j))for(J=1;p=e[V>>2]|0,r0=l9(L,4)|0,o0=p+(J<<2)|0,e[o0>>2]=r0,Y=J+1|0,d0=(Y|0)<(N|0),d0;)J=Y;if(i0=t+36|0,e[i0>>2]=0,e0=t+40|0,e[e0>>2]=0,h0=e[b2>>2]|0,c0=(h0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,X=B+16|0,m0=e[X>>2]|0,I0=l9(m0,4)|0,n0=g0+48|0,e[n0>>2]=I0,f0=B+20|0,p0=e[f0>>2]|0,C0=l9(p0,4)|0,b0=g0+52|0,e[b0>>2]=C0,y0=e[X>>2]|0,D0=(y0|0)>0,D0)for(r5=0;B0=(B+800|0)+(r5<<2)|0,x0=e[B0>>2]|0,Z0=25640+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0+8|0,G0=e[v0>>2]|0,U0=(B+1056|0)+(r5<<2)|0,O0=e[U0>>2]|0,H0=pi[G0&15](t,O0)|0,k0=e[n0>>2]|0,N0=k0+(r5<<2)|0,e[N0>>2]=H0,M0=r5+1|0,P0=e[X>>2]|0,W0=(M0|0)<(P0|0),W0;)r5=M0;if(E0=e[f0>>2]|0,Q0=(E0|0)>0,Q0)a5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(a5<<2)|0,V0=e[J0>>2]|0,j0=25648+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+8|0,o1=e[Y0>>2]|0,r1=(B+1568|0)+(a5<<2)|0,L0=e[r1>>2]|0,s1=pi[o1&15](t,L0)|0,d1=e[b0>>2]|0,u1=d1+(a5<<2)|0,e[u1>>2]=s1,E1=a5+1|0,f1=e[f0>>2]|0,h1=(E1|0)<(f1|0),h1)a5=E1;else{$=0;break}return $|0}function Qy(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0;if(R0=C,C=C+64|0,g=R0,d=t+20|0,Q=e[d>>2]|0,Z=Q<<2,s=Z,h0=C,C=C+((1*s|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,y0=t+48|0,D0=e[y0>>2]|0,E0=Q-D0|0,Q0=(E0|0)>32,!Q0){C=R0;return}if(p=t+4|0,I=e[p>>2]|0,E=I+4|0,y=e[E>>2]|0,B=(y|0)>0,!B){C=R0;return}for(b=t+8|0,D=Q,w0=0;;){if(k=(D|0)>0,k)for(v=e[b>>2]|0,_=v+(w0<<2)|0,L=e[_>>2]|0,B0=0;R=B0^-1,M=D+R|0,N=L+(M<<2)|0,G=e[N>>2]|0,O=h0+(B0<<2)|0,e[O>>2]=G,q=B0+1|0,V=(D|0)>(q|0),V;)B0=q;if(K=e[y0>>2]|0,t0=D-K|0,+wy(h0,g,t0,16),A0=e[d>>2]|0,j=e[y0>>2]|0,A=A0-j|0,r0=h0+(A<<2)|0,$=A+-16|0,o0=h0+($<<2)|0,vy(g,o0,16,r0,j),J=e[d>>2]|0,s0=(J|0)>0,s0)for(Y=e[b>>2]|0,d0=Y+(w0<<2)|0,i0=e[d0>>2]|0,x0=0;e0=h0+(x0<<2)|0,c0=e[e0>>2]|0,$0=x0^-1,l0=J+$0|0,X=i0+(l0<<2)|0,e[X>>2]=c0,m0=x0+1|0,g0=(J|0)>(m0|0),g0;)x0=m0;if(I0=w0+1|0,n0=e[p>>2]|0,f0=n0+4|0,p0=e[f0>>2]|0,b0=(I0|0)<(p0|0),b0)D=J,w0=I0;else break}C=R0}function rb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0;l2=C,H2(s,5653314,24),p=e[t>>2]|0,H2(s,p,16),I=t+4|0,V=e[I>>2]|0,H2(s,V,24),d0=e[I>>2]|0,n0=(d0|0)>1;e:do if(n0)for(x0=t+8|0,M0=e[x0>>2]|0,g=f[M0>>0]|0,L0=g,q1=1;;){if(X0=L0<<24>>24==0,X0){e2=q1;break e}if(b1=M0+q1|0,E=f[b1>>0]|0,_=E<<24>>24>24,_){e2=q1;break e}if(Q=q1+1|0,L=(Q|0)<(d0|0),L)L0=E,q1=Q;else{e2=Q;break}}else e2=1;while(!1);R=(e2|0)==(d0|0);e:do if(R){if(H2(s,1,1),M=t+8|0,N=e[M>>2]|0,G=f[N>>0]|0,O=G<<24>>24,q=O+-1|0,H2(s,q,5),K=e[I>>2]|0,t0=(K|0)>1,t0)for(v=K,V1=0,Z1=1;;){if(Z=e[M>>2]|0,A0=Z+Z1|0,j=f[A0>>0]|0,r0=Z1+-1|0,o0=Z+r0|0,J=f[o0>>0]|0,s0=j<<24>>24>J<<24>>24,s0)for(Y=J<<24>>24,i0=j<<24>>24,c0=v,Y1=V1,g2=Y;;)if(e0=Z1-Y1|0,h0=c0-Y1|0,$0=H8(h0)|0,H2(s,e0,$0),l0=g2+1|0,o2=(l0|0)==(i0|0),d=e[I>>2]|0,o2){g0=d,z1=Z1;break}else c0=d,Y1=Z1,g2=l0;else g0=v,z1=V1;if(X=Z1+1|0,m0=(X|0)<(g0|0),m0)v=g0,V1=z1,Z1=X;else{$=g0,H1=z1,h2=X;break}}else $=K,H1=0,h2=1;I0=h2-H1|0,f0=$-H1|0,p0=H8(f0)|0,H2(s,I0,p0)}else{H2(s,0,1),C0=e[I>>2]|0,b0=(C0|0)>0;t:do if(b0)for(y0=t+8|0,D0=e[y0>>2]|0,A2=0;;){if(E0=D0+A2|0,Q0=f[E0>>0]|0,w0=Q0<<24>>24==0,w0){I2=A2;break t}if(B0=A2+1|0,Z0=(B0|0)<(C0|0),Z0)A2=B0;else{I2=B0;break}}else I2=0;while(!1);if(R0=(I2|0)==(C0|0),R0){if(H2(s,0,1),v0=e[I>>2]|0,G0=(v0|0)>0,!G0)break;for(U0=t+8|0,C2=0;;)if(O0=e[U0>>2]|0,H0=O0+C2|0,k0=f[H0>>0]|0,K0=k0<<24>>24,N0=K0+-1|0,H2(s,N0,5),P0=C2+1|0,W0=e[I>>2]|0,J0=(P0|0)<(W0|0),J0)C2=P0;else break e}if(H2(s,1,1),V0=e[I>>2]|0,j0=(V0|0)>0,j0)for(q0=t+8|0,$2=0;Y0=e[q0>>2]|0,o1=Y0+$2|0,z0=f[o1>>0]|0,r1=z0<<24>>24==0,r1?H2(s,0,1):(H2(s,1,1),s1=e[q0>>2]|0,d1=s1+$2|0,u1=f[d1>>0]|0,E1=u1<<24>>24,f1=E1+-1|0,H2(s,f1,5)),h1=$2+1|0,A1=e[I>>2]|0,g1=(h1|0)<(A1|0),g1;)$2=h1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,H2(s,$1,4),B1=e[a1>>2]|0,(B1|0)==2|(B1|0)==1)s2=28;else if(B1|0)return A=-1,A|0;do if((s2|0)==28){if(p1=t+32|0,Q1=e[p1>>2]|0,C1=(Q1|0)==0,C1)return A=-1,A|0;if(y1=t+16|0,v1=e[y1>>2]|0,H2(s,v1,32),k1=t+20|0,S1=e[k1>>2]|0,H2(s,S1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,H2(s,_1,4),R1=t+28|0,F1=e[R1>>2]|0,H2(s,F1,1),P1=e[a1>>2]|0,(P1|0)==1)D1=tD(t)|0,u2=D1;else if((P1|0)==2)O1=e[I>>2]|0,X1=e[t>>2]|0,G1=s5(X1,O1)|0,u2=G1;else break;if(x1=(u2|0)>0,x1)for(W1=0;J1=e[p1>>2]|0,y=J1+(W1<<2)|0,B=e[y>>2]|0,f2=(B|0)>-1,n2=0-B|0,b=f2?B:n2,D=e[L1>>2]|0,H2(s,b,D),k=W1+1|0,t2=(k|0)==(u2|0),!t2;)W1=k}while(!1);return A=0,A|0}function Gu(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0;return t0=C,g=(s|0)<0,g||(d=t+12|0,Q=e[d>>2]|0,R=Q+4|0,M=e[R>>2]|0,N=(M|0)>(s|0),!N)?($=0,$|0):(G=t+20|0,O=e[G>>2]|0,q=O+(s<<2)|0,V=e[q>>2]|0,p=Q+8|0,I=e[p>>2]|0,E=I+s|0,y=f[E>>0]|0,B=y<<24>>24,H2(A,V,B),b=e[d>>2]|0,D=b+8|0,k=e[D>>2]|0,v=k+s|0,_=f[v>>0]|0,L=_<<24>>24,$=L,$|0)}function sE(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0;return k=C,$=t+8|0,g=e[$>>2]|0,d=(g|0)>0,!d||(p=Uu(t,s)|0,I=(p|0)>-1,!I)?(A=-1,A|0):(E=t+24|0,y=e[E>>2]|0,B=y+(p<<2)|0,b=e[B>>2]|0,A=b,A|0)}function nb(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0;if(n0=C,E=t+8|0,y=e[E>>2]|0,N=(y|0)>0,!N)return g=0,C=n0,g|0;o0=e[t>>2]|0,s0=($|0)/(o0|0)&-1,Y=s0<<2,d=Y,d0=C,C=C+((1*d|0)+15&-16)|0,i0=(s0|0)>0;e:do if(i0){for(e0=t+16|0,l0=0;;){if(q=Uu(t,A)|0,V=(q|0)==-1,V){g=-1;break}if(K=e[e0>>2]|0,t0=e[t>>2]|0,Z=s5(t0,q)|0,A0=K+(Z<<2)|0,j=d0+(l0<<2)|0,e[j>>2]=A0,r0=l0+1|0,J=(r0|0)<(s0|0),J)l0=r0;else{h0=t0;break e}}return C=n0,g|0}else h0=o0;while(!1);if(p=(h0|0)<1,I=i0^1,c0=p|I,c0)return g=0,C=n0,g|0;for(X=0,g0=0;;){for(m0=0;k=d0+(m0<<2)|0,v=e[k>>2]|0,_=v+(X<<2)|0,Q=+o[_>>2],L=m0+g0|0,R=s+(L<<2)|0,M=+o[R>>2],G=M+Q,o[R>>2]=G,O=m0+1|0,$0=(O|0)==(s0|0),!$0;)m0=O;if(B=X+1|0,b=g0+s0|0,D=(B|0)<(h0|0),D)X=B,g0=b;else{g=0;break}}return C=n0,g|0}function sb(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0;if(t5=C,Z=t+8|0,A0=e[Z>>2]|0,I0=(A0|0)>0,!I0)return g=0,g|0;if(B0=e[t>>2]|0,N0=(B0|0)>8,N0){if(M1=($|0)>0,!M1)return g=0,g|0;for(J1=t+16|0,i2=0;;){if(i0=Uu(t,A)|0,e0=(i0|0)==-1,e0){g=-1,N1=29;break}if(h0=e[J1>>2]|0,c0=e[t>>2]|0,$0=s5(c0,i0)|0,l0=(c0|0)>0,l0){for(X=(c0|0)>1,Y2=X?c0:1,m2=i2,p2=0;m0=p2+1|0,t0=p2+$0|0,g0=h0+(t0<<2)|0,n0=+o[g0>>2],f0=m2+1|0,p0=s+(m2<<2)|0,C0=+o[p0>>2],b0=C0+n0,o[p0>>2]=b0,y0=(m0|0)<(c0|0),y0;)m2=f0,p2=m0;I2=i2+Y2|0,a2=I2}else a2=i2;if(j=(a2|0)<($|0),j)i2=a2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(r1=t+16|0,$1=($|0)>0,$1)r2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(J=Uu(t,A)|0,s0=(J|0)==-1,s0){g=-1,N1=29;break e}switch(Y=e[r1>>2]|0,d0=e[t>>2]|0,d0|0){case 4:{B=J,Q=Y,N1=19;break t}case 3:{b=J,L=Y,N1=21;break t}case 7:{I=J,k=Y,N1=13;break t}case 6:{E=J,v=Y,N1=15;break t}case 8:{d=Y,p=J,N1=12;break t}case 5:{y=J,_=Y,N1=17;break t}case 1:{W1=J,g2=Y,O2=r2,A5=0;break t}case 2:{D=J,R=Y,N1=23;break t}default:}}if((N1|0)==12?(N1=0,D0=p<<3,E0=d+(D0<<2)|0,Q0=+o[E0>>2],w0=r2+1|0,x0=s+(r2<<2)|0,Z0=+o[x0>>2],R0=Z0+Q0,o[x0>>2]=R0,U0=D0,H0=d,k2=w0,W2=1,N1=14):(N1|0)==13?(N1=0,v0=I*7|0,U0=v0,H0=k,k2=r2,W2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,j0=J0,Y0=v,D2=r2,q2=0,N1=16):(N1|0)==17?(N1=0,u1=y*5|0,f1=u1,A1=_,S2=r2,K2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,y1=Q1,k1=Q,y2=r2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=b*3|0,D1=F1,X1=L,G2=r2,V2=0,N1=22):(N1|0)==23&&(N1=0,z1=D<<1,o2=z1,q1=R,M2=r2,Z2=0,N1=24),(N1|0)==14&&(N1=0,G0=W2+1|0,K=W2+U0|0,O0=H0+(K<<2)|0,k0=+o[O0>>2],K0=k2+1|0,M0=s+(k2<<2)|0,P0=+o[M0>>2],W0=P0+k0,o[M0>>2]=W0,j0=U0,Y0=H0,D2=K0,q2=G0,N1=16),(N1|0)==16&&(N1=0,V0=q2+1|0,V=q2+j0|0,q0=Y0+(V<<2)|0,o1=+o[q0>>2],z0=D2+1|0,L0=s+(D2<<2)|0,s1=+o[L0>>2],d1=s1+o1,o[L0>>2]=d1,f1=j0,A1=Y0,S2=z0,K2=V0,N1=18),(N1|0)==18&&(N1=0,E1=K2+1|0,q=K2+f1|0,h1=A1+(q<<2)|0,g1=+o[h1>>2],a1=S2+1|0,X0=s+(S2<<2)|0,B1=+o[X0>>2],p1=B1+g1,o[X0>>2]=p1,y1=f1,k1=A1,y2=a1,U2=E1,N1=20),(N1|0)==20&&(N1=0,C1=U2+1|0,O=U2+y1|0,v1=k1+(O<<2)|0,S1=+o[v1>>2],L1=y2+1|0,b1=s+(y2<<2)|0,_1=+o[b1>>2],R1=_1+S1,o[b1>>2]=R1,D1=y1,X1=k1,G2=L1,V2=C1,N1=22),(N1|0)==22&&(N1=0,P1=V2+1|0,G=V2+D1|0,O1=X1+(G<<2)|0,G1=+o[O1>>2],x1=G2+1|0,H1=s+(G2<<2)|0,V1=+o[H1>>2],Y1=V1+G1,o[H1>>2]=Y1,o2=D1,q1=X1,M2=x1,Z2=P1,N1=24),(N1|0)==24&&(N1=0,t2=Z2+1|0,N=Z2+o2|0,e2=q1+(N<<2)|0,h2=+o[e2>>2],Z1=M2+1|0,A2=s+(M2<<2)|0,C2=+o[A2>>2],$2=C2+h2,o[A2>>2]=$2,W1=o2,g2=q1,O2=Z1,A5=t2),M=A5+W1|0,f2=g2+(M<<2)|0,n2=+o[f2>>2],u2=O2+1|0,s2=s+(O2<<2)|0,l2=+o[s2>>2],r0=l2+n2,o[s2>>2]=r0,o0=(u2|0)<($|0),o0)r2=u2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function ob(t,s,A,$,g,d){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0;var p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0;if(I0=C,B=t+8|0,b=e[B>>2]|0,O=(b|0)>0,!O||(r0=(A|0)/($|0)&-1,o0=d+A|0,J=(o0|0)/($|0)&-1,s0=(r0|0)<(J|0),!s0))return I=0,I|0;for(Y=t+16|0,e0=0,$0=r0;;){if(i0=Uu(t,g)|0,D=(i0|0)==-1,D){I=-1,g0=8;break}if(k=e[Y>>2]|0,v=e[t>>2]|0,_=s5(v,i0)|0,Q=(v|0)>0,Q)for(c0=e0,X=$0,m0=0;;)if(y=m0+_|0,L=k+(y<<2)|0,R=+o[L>>2],M=c0+1|0,N=s+(c0<<2)|0,G=e[N>>2]|0,q=G+(X<<2)|0,V=+o[q>>2],K=V+R,o[q>>2]=K,t0=(M|0)==($|0),Z=t0&1,E=Z+X|0,p=t0?0:M,A0=m0+1|0,j=(A0|0)<(v|0),j)c0=p,X=E,m0=A0;else{h0=p,l0=E;break}else h0=e0,l0=$0;if(d0=(l0|0)<(J|0),d0)e0=h0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Uu(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0;p1=C,g=t+40|0,d=e[g>>2]|0,Q=t+36|0,Z=e[Q>>2]|0,h0=bC(s,Z)|0,C0=(h0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,d1=J0+(h0<<2)|0,u1=e[d1>>2]|0,p=(u1|0)<0,p){I=u1>>>15,E=I&32767,y=t+8|0,B=e[y>>2]|0,b=u1&32767,D=B-b|0,E1=D,h1=E;break}return k=u1+-1|0,v=t+28|0,_=e[v>>2]|0,L=_+k|0,R=f[L>>0]|0,M=R<<24>>24,DC(s,M),A=k,A|0}else N=t+8|0,G=e[N>>2]|0,E1=G,h1=0;while(!1);if(O=bC(s,d)|0,q=(O|0)<0,V=(d|0)>1,K=q&V,K)for(X0=d;;)if(t0=X0+-1|0,A0=bC(s,t0)|0,j=(A0|0)<0,r0=(t0|0)>1,o0=j&r0,o0)X0=t0;else{$=j,a1=A0,$1=t0;break}else $=q,a1=O,$1=d;if($)return A=-1,A|0;if(J=a1>>>16,s0=a1<<16,Y=J|s0,d0=Y>>>8,i0=d0&16711935,e0=Y<<8,c0=e0&-16711936,$0=i0|c0,l0=$0>>>4,X=l0&252645135,m0=$0<<4,g0=m0&-252645136,I0=X|g0,n0=I0>>>2,f0=n0&858993459,p0=I0<<2,b0=p0&-858993460,y0=f0|b0,D0=y0>>>1,E0=D0&1431655765,Q0=y0<<1,w0=Q0&-1431655766,B0=E0|w0,x0=E1-h1|0,Z0=(x0|0)>1,Z0)for(R0=t+20|0,G0=e[R0>>2]|0,O0=x0,f1=E1,g1=h1;;)if(U0=O0>>1,H0=U0+g1|0,k0=G0+(H0<<2)|0,K0=e[k0>>2]|0,N0=K0>>>0>B0>>>0,M0=N0?0:U0,P0=M0+g1|0,W0=N0?U0:0,V0=f1-W0|0,j0=V0-P0|0,q0=(j0|0)>1,q0)O0=j0,f1=V0,g1=P0;else{A1=P0;break}else A1=h1;return Y0=t+28|0,o1=e[Y0>>2]|0,z0=o1+A1|0,r1=f[z0>>0]|0,L0=r1<<24>>24,s1=(L0|0)>($1|0),s1?(DC(s,$1),A=-1,A|0):(DC(s,L0),A=A1,A|0)}function ab(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0;for(d1=C,y=s+28|0,B=e[y>>2]|0,G=s+4|0,J=e[G>>2]|0,m0=t+4|0,e[m0>>2]=128,Q0=t+8|0,e[Q0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,V0=t+12|0,e[V0>>2]=J0,e[t>>2]=J,j0=t+164|0,e[j0>>2]=128,b=B+4|0,D=e[b>>2]|0,k=(D|0)/2&-1,v=t+176|0,e[v>>2]=k,_=l9(128,4)|0,Q=t+36|0,e[Q>>2]=_,L=t+16|0,LC(L,128),R=e[Q>>2]|0,z0=0;M=+(z0|0),N=M*.024736950028266088,O=+Vn(+N),q=O,V=R+(z0<<2)|0,K=q*q,o[V>>2]=K,t0=z0+1|0,o1=(t0|0)==128,!o1;)z0=t0;for(Z=t+40|0,e[Z>>2]=2,A0=t+44|0,e[A0>>2]=4,j=t+56|0,e[j>>2]=4,r0=t+60|0,e[r0>>2]=5,o0=t+72|0,e[o0>>2]=6,s0=t+76|0,e[s0>>2]=6,Y=t+88|0,e[Y>>2]=9,d0=t+92|0,e[d0>>2]=8,i0=t+104|0,e[i0>>2]=13,e0=t+108|0,e[e0>>2]=8,h0=t+120|0,e[h0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,L0=0;;){if(X=g0<<2,I0=Re(X)|0,n0=((t+40|0)+(L0<<4)|0)+8|0,e[n0>>2]=I0,f0=(g0|0)>0,f0){for(p0=+(g0|0),C0=((t+40|0)+(L0<<4)|0)+12|0,E=+o[C0>>2],R0=E,r1=0;;)if(b0=+(r1|0),y0=b0+.5,D0=y0/p0,E0=D0*3.141592653589793,w0=+Vn(+E0),B0=w0,x0=I0+(r1<<2)|0,o[x0>>2]=B0,Z0=R0+B0,v0=r1+1|0,q0=(v0|0)==(g0|0),q0){A=Z0;break}else R0=Z0,r1=v0;o[C0>>2]=A,p=C0,U0=A}else g=((t+40|0)+(L0<<4)|0)+12|0,I=+o[g>>2],p=g,U0=I;if(G0=1/U0,o[p>>2]=G0,O0=L0+1|0,Y0=(O0|0)==7,Y0)break;$=((t+40|0)+(O0<<4)|0)+4|0,d=e[$>>2]|0,g0=d,L0=O0}H0=J*7|0,K0=l9(H0,144)|0,N0=t+152|0,e[N0>>2]=K0,M0=e[j0>>2]|0,P0=l9(M0,4)|0,W0=t+160|0,e[W0>>2]=P0}function Ab(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0;q=C,s=t+16|0,MC(s),A=t+48|0,k=e[A>>2]|0,E2(k),_=t+64|0,Q=e[_>>2]|0,E2(Q),L=t+80|0,R=e[L>>2]|0,E2(R),M=t+96|0,N=e[M>>2]|0,E2(N),G=t+112|0,$=e[G>>2]|0,E2($),g=t+128|0,d=e[g>>2]|0,E2(d),p=t+144|0,I=e[p>>2]|0,E2(I),E=t+36|0,y=e[E>>2]|0,E2(y),B=t+152|0,b=e[B>>2]|0,E2(b),D=t+160|0,v=e[D>>2]|0,E2(v),g4(t|0,0,180)|0}function $b(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0;if(t2=C,d=t+4|0,p=e[d>>2]|0,N=p+28|0,o0=e[N>>2]|0,X=o0+2868|0,E0=t+104|0,H0=e[E0>>2]|0,Y0=e[H0>>2]|0,A1=Y0+168|0,k1=e[A1>>2]|0,I=Y0+8|0,b=e[I>>2]|0,D=(k1|0)/(b|0)&-1,k=t+20|0,v=e[k>>2]|0,_=(v|0)/(b|0)&-1,Q=_+-4|0,L=(D|0)<0,s=L?0:D,R=_+2|0,M=Y0+164|0,G=e[M>>2]|0,O=(R|0)>(G|0),O&&(e[M>>2]=R,q=Y0+160|0,V=e[q>>2]|0,K=R<<2,t0=K7(V,K)|0,e[q>>2]=t0),Z=(s|0)<(Q|0),Z)for(A0=Y0+156|0,j=Y0+160|0,r0=t+8|0,J=Y0+40|0,s0=Y0+152|0,x1=s;;){if(Y=e[A0>>2]|0,d0=Y+1|0,i0=(Y|0)>23,$=i0?24:d0,e[A0>>2]=$,e0=e[Y0>>2]|0,h0=(e0|0)>0,h0){for(G1=0,Y1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,I0=e[g0>>2]|0,n0=e[I>>2]|0,f0=s5(n0,x1)|0,p0=I0+(f0<<2)|0,C0=e[s0>>2]|0,b0=G1*7|0,y0=C0+(b0*144|0)|0,D0=gb(Y0,X,p0,J,y0)|0,Q0=D0|Y1,w0=G1+1|0,B0=e[Y0>>2]|0,x0=(w0|0)<(B0|0),x0)G1=w0,Y1=Q0;else{g=Q0;break}Z0=x1+2|0,R0=e[j>>2]|0,v0=R0+(Z0<<2)|0,e[v0>>2]=0,G0=g&1,U0=(G0|0)==0,U0||(O0=R0+(x1<<2)|0,e[O0>>2]=1,k0=x1+1|0,K0=R0+(k0<<2)|0,e[K0>>2]=1),N0=g&2,M0=(N0|0)==0,M0||(P0=R0+(x1<<2)|0,e[P0>>2]=1,W0=(x1|0)>0,W0&&(J0=x1+-1|0,V0=R0+(J0<<2)|0,e[V0>>2]=1)),j0=g&4,q0=(j0|0)==0,q0||(e[A0>>2]=-1)}else c0=x1+2|0,$0=e[j>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(o1=x1+1|0,X1=(o1|0)==(Q|0),X1)break;x1=o1}if(z0=e[I>>2]|0,r1=s5(z0,Q)|0,e[A1>>2]=r1,L0=t+48|0,s1=e[L0>>2]|0,d1=t+40|0,u1=e[d1>>2]|0,E1=o0+(u1<<2)|0,f1=e[E1>>2]|0,h1=(f1|0)/4&-1,g1=h1+s1|0,a1=o0+4|0,$1=e[a1>>2]|0,X0=($1|0)/2&-1,B1=g1+X0|0,p1=e[o0>>2]|0,Q1=(p1|0)/4&-1,C1=B1+Q1|0,y1=Y0+176|0,v1=e[y1>>2]|0,S1=r1-z0|0,L1=(v1|0)<(S1|0),!L1)return A=-1,A|0;for(M1=Y0+160|0,J1=v1;;){if(R1=(J1|0)<(C1|0),!R1){A=1,z1=22;break}if(e[y1>>2]=J1,F1=(J1|0)/(z0|0)&-1,P1=e[M1>>2]|0,D1=P1+(F1<<2)|0,O1=e[D1>>2]|0,E=(O1|0)!=0,y=(J1|0)>(s1|0),V1=y&E,b1=z0+J1|0,V1){H1=J1,z1=21;break}if(_1=(b1|0)<(S1|0),_1)J1=b1;else{A=-1,z1=22;break}}return(z1|0)==21?(B=Y0+172|0,e[B>>2]=H1,A=0,A|0):(z1|0)==22?A|0:0}function lb(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0;if(Q0=C,g=t+104|0,d=e[g>>2]|0,Q=e[d>>2]|0,Z=t+4|0,h0=e[Z>>2]|0,g0=h0+28|0,I0=e[g0>>2]|0,n0=t+48|0,f0=e[n0>>2]|0,p0=t+40|0,p=e[p0>>2]|0,I=I0+(p<<2)|0,E=e[I>>2]|0,y=(E|0)/4&-1,B=f0-y|0,b=y+f0|0,D=(p|0)==0,D?(V=e[I0>>2]|0,K=(V|0)/4&-1,A=K,$=K):(k=t+36|0,v=e[k>>2]|0,_=I0+(v<<2)|0,L=e[_>>2]|0,R=(L|0)/4&-1,M=t+44|0,N=e[M>>2]|0,G=I0+(N<<2)|0,O=e[G>>2]|0,q=(O|0)/4&-1,A=q,$=R),C0=B-$|0,b0=b+A|0,t0=Q+172|0,A0=e[t0>>2]|0,j=(A0|0)>=(C0|0),r0=(A0|0)<(b0|0),D0=j&r0,D0)return s=1,s|0;if(o0=Q+8|0,J=e[o0>>2]|0,s0=(C0|0)/(J|0)&-1,Y=(b0|0)/(J|0)&-1,d0=(s0|0)<(Y|0),!d0)return s=0,s|0;for(i0=Q+160|0,e0=e[i0>>2]|0,y0=s0;;){if(l0=e0+(y0<<2)|0,X=e[l0>>2]|0,m0=(X|0)==0,c0=y0+1|0,!m0){s=1,E0=9;break}if($0=(c0|0)<(Y|0),$0)y0=c0;else{s=0,E0=9;break}}return(E0|0)==9?s|0:0}function cb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0;if(V=C,A=t+168|0,$=e[A>>2]|0,v=t+8|0,Q=e[v>>2]|0,L=($|0)/(Q|0)&-1,R=L+2|0,M=(s|0)/(Q|0)&-1,N=t+160|0,G=e[N>>2]|0,O=G+(M<<2)|0,g=R-M|0,d=g<<2,$A(G|0,O|0,d|0)|0,p=e[A>>2]|0,I=p-s|0,e[A>>2]=I,E=t+172|0,y=e[E>>2]|0,B=(y|0)>-1,!B){D=t+176|0,k=e[D>>2]|0,_=k-s|0,e[D>>2]=_;return}b=y-s|0,e[E>>2]=b,D=t+176|0,k=e[D>>2]|0,_=k-s|0,e[D>>2]=_}function gb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0;if(m3=C,Z=t+4|0,A0=e[Z>>2]|0,u2=t+12|0,G2=+o[u2>>2],Y2=A0<<2,L=Y2,b2=C,C=C+((1*L|0)+15&-16)|0,R5=t+156|0,d2=e[R5>>2]|0,T2=(d2|0)>5,G5=(d2|0)/2&-1,d=T2?G5:2,j=s+60|0,$0=+o[j>>2],y0=G5+-2|0,U0=+(y0|0),j0=$0-U0,f1=j0<0,C6=f1?0:j0,y1=C6>$0,b3=y1?$0:C6,D1=(A0|0)>0,D1)for(o2=t+36|0,g2=e[o2>>2]|0,Y5=0;s2=A+(Y5<<2)|0,l2=+o[s2>>2],i2=g2+(Y5<<2)|0,a2=+o[i2>>2],m2=a2*l2,r2=b2+(Y5<<2)|0,o[r2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(A0|0),!Q3;)Y5=k2;D2=t+16|0,ky(D2,b2,b2),S2=+o[b2>>2],y2=S2*S2,M2=y2,O2=b2+4|0,p2=+o[O2>>2],W2=p2,q2=W2*W2,K2=q2*.7,U2=K2+M2,V2=b2+8|0,Z2=+o[V2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=U2+t5,i5=T5,L5=g+140|0,j2=e[L5>>2]|0,m5=(j2|0)==0,m5?(D5=g+136|0,V5=+o[D5>>2],u5=V5+i5,B5=g+132|0,o[B5>>2]=u5,o[D5>>2]=i5,O=B5,z2=u5):(o5=g+132|0,F2=+o[o5>>2],R2=F2+i5,o[o5>>2]=R2,Q2=g+136|0,y5=+o[Q2>>2],N5=y5+i5,o[Q2>>2]=N5,O=o5,z2=R2),p5=(g+72|0)+(j2<<2)|0,M5=+o[p5>>2],q5=z2-M5,o[O>>2]=q5,o[p5>>2]=i5,E5=e[L5>>2]|0,$5=E5+1|0,h5=(E5|0)>13,p=h5?0:$5,e[L5>>2]=p,Q5=(A0|0)/2&-1,T1=(A0|0)>1;e:do if(T1)for(_5=z2*.0625,d5=(o[w2>>2]=_5,e[w2>>2]|0),l5=d5&2147483647,X2=+(l5>>>0),w5=X2*7177114298428933e-22,r5=w5+-764.6162109375,a5=r5,f5=a5*.5,J2=f5+-15,I5=J2,R=I5,G0=S2,b5=0;;){if(v0=G0*G0,O0=b5|1,H0=b2+(O0<<2)|0,k0=+o[H0>>2],K0=k0*k0,N0=K0+v0,M0=(o[w2>>2]=N0,e[w2>>2]|0),P0=M0&2147483647,W0=+(P0>>>0),J0=W0*35885571492144663e-23,V0=J0+-382.30810546875,q0=V0>1,z0=b2+(o1<<2)|0,o[z0>>2]=t0,r1=b5+2|0,L0=(r1|0)<(Q5|0),!L0)break e;s1=R+-8,N=b2+(r1<<2)|0,G=+o[N>>2],R=s1,G0=G,b5=r1}while(!1);if(n5=(d|0)>0,n5)l3=0,K3=0;else{for(n3=0,r6=0;;){if(d1=($+(n3<<4)|0)+4|0,u1=e[d1>>2]|0,E1=(u1|0)>0,E1)for(h1=$+(n3<<4)|0,A1=e[h1>>2]|0,g1=($+(n3<<4)|0)+8|0,a1=e[g1>>2]|0,c3=0,z3=0;;)if($1=A1+z3|0,X0=b2+($1<<2)|0,B1=+o[X0>>2],p1=a1+(z3<<2)|0,Q1=+o[p1>>2],C1=Q1*B1,v1=C1+c3,k1=z3+1|0,S1=(k1|0)<(u1|0),S1)c3=v1,z3=k1;else{G3=v1;break}else G3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+o[L1>>2],b1=M1*G3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,y=F1?16:-1,I=y+R1|0,P1=(g+(n3*144|0)|0)+(I<<2)|0,O1=+o[P1>>2],X1=b1O1,b=x1?O1:b1,J1=b+-99999,H1=G1+99999,V1=(g+(n3*144|0)|0)+(R1<<2)|0,o[V1>>2]=b1,Y1=e[_1>>2]|0,z1=Y1+1|0,t2=(Y1|0)>15,_=t2?0:z1,e[_1>>2]=_,e2=(s+4|0)+(n3<<2)|0,q1=+o[e2>>2],h2=q1+b3,Z1=H1>h2,I2=r6|5,j5=Z1?I2:r6,A2=(s+32|0)+(n3<<2)|0,C2=+o[A2>>2],$2=C2-b3,W1=J1<$2,f2=j5|2,h3=W1?f2:j5,n2=n3+1|0,u3=(n2|0)==7,u3){A6=h3;break}else n3=n2,r6=h3}return C=m3,A6|0}for(;;){if(F5=($+(l3<<4)|0)+4|0,e5=e[F5>>2]|0,c5=(e5|0)>0,c5)for(b0=$+(l3<<4)|0,c0=e[b0>>2]|0,D0=($+(l3<<4)|0)+8|0,g0=e[D0>>2]|0,g3=0,U5=0;;)if(h0=c0+U5|0,l0=b2+(h0<<2)|0,X=+o[l0>>2],m0=g0+(U5<<2)|0,I0=+o[m0>>2],n0=I0*X,f0=n0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=f0,U5=p0;else{Y3=f0;break}else Y3=0;for(E0=($+(l3<<4)|0)+12|0,Q0=+o[E0>>2],d3=Q0*Y3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,x0=+o[B0>>2],Z0=d3x0,D=R0?x0:d3,l6=0,U3=E,L3=-99999,D3=99999;;)if(o0=(U3|0)<1,v=o0?16:-1,k=v+U3|0,J=(g+(l3*144|0)|0)+(k<<2)|0,s0=+o[J>>2],Y=L3s0,q=i0?s0:D3,e0=l6+1|0,K5=(e0|0)==(d|0),K5){M=d0,V=q;break}else l6=e0,U3=k,L3=d0,D3=q;if(v5=D-V,z5=i3-M,C5=(g+(l3*144|0)|0)+(I3<<2)|0,o[C5>>2]=d3,W5=e[r3>>2]|0,a3=W5+1|0,y3=(W5|0)>15,Q=y3?0:a3,e[r3>>2]=Q,Z5=(s+4|0)+(l3<<2)|0,x3=+o[Z5>>2],f3=x3+b3,w3=z5>f3,e6=K3|5,M3=w3?e6:K3,V3=(s+32|0)+(l3<<2)|0,X5=+o[V3>>2],_3=X5-b3,t3=v5<_3,a6=M3|2,J3=t3?a6:M3,r0=l3+1|0,H5=(r0|0)==7,H5){A6=J3;break}else l3=r0,K3=J3}return C=m3,A6|0}function sl(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0;if(A9=C,C=C+4912|0,z6=A9+1328|0,S9=A9+1064|0,I9=A9+804|0,Pt=A9+544|0,F4=A9+284|0,t8=A9+24|0,$8=A9+20|0,Zt=A9+16|0,Ot=A9+12|0,qt=A9+8|0,T4=A9+4|0,ot=A9,A0=s+1296|0,j=e[A0>>2]|0,y2=s+1288|0,n6=e[y2>>2]|0,O3=s+1284|0,w6=e[O3>>2]|0,ve=(w6|0)>0,ve){for(mt=0;n4=S9+(mt<<2)|0,e[n4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(w6|0),!S4;)mt=k4;if(ve){for(j3=0;C9=I9+(j3<<2)|0,e[C9>>2]=-200,r0=j3+1|0,f9=(r0|0)==(w6|0),!f9;)j3=r0;if(ve){for(l0=w6<<2,g4(Pt|0,0,l0|0)|0,xe=0;D0=F4+(xe<<2)|0,e[D0>>2]=1,O0=xe+1|0,z4=(O0|0)==(w6|0),!z4;)xe=O0;if(ve){if(h1=w6<<2,g4(t8|0,-1,h1|0)|0,v1=(w6|0)>1,!v1)return A4=0,C=A9,A4|0;for(O1=n6+-1|0,e2=j+1112|0,n2=w6+-1|0,G=e[s>>2]|0,v9=G,be=0,b4=0;;){R9=be+1|0,F9=s+(R9<<2)|0,G9=e[F9>>2]|0,q9=z6+(be*56|0)|0,O4=q9,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[q9>>2]=v9,H9=(z6+(be*56|0)|0)+4|0,e[H9>>2]=G9,Ke=(G9|0)<(n6|0),o8=Ke?G9:O1,V9=(o8|0)<(v9|0),V9)_t=0,n8=0,Mt=0,Rt=0,yt=0,P4=0,a8=0,je=0,jt=0,Tt=0,Z8=0,j8=0;else for(x9=v9,pt=0,K4=0,J9=0,o9=0,D4=0,gt=0,C3=0,Te=0,ht=0,De=0,u8=0,Nt=0;;){h9=$+(x9<<2)|0,K=+o[h9>>2],U9=K*7.314285755157471,E9=U9+1023.5,v4=~~E9,Ze=(v4|0)>1023,ke=(v4|0)<0,p=ke?0:v4,b=Ze?1023:p,V4=(b|0)==0;do if(V4)Kt=pt,at=K4,$t=J9,Bt=o9,W4=D4,b9=gt,wt=C3,Wt=Te,Z9=ht,et=De,c4=u8,Xt=Nt;else if(nt=A+(x9<<2)|0,Y9=+o[nt>>2],Y4=+o[e2>>2],z9=Y4+Y9,s4=!(z9>=K),s4){h4=x9+gt|0,s9=b+Nt|0,d4=s5(x9,x9)|0,f4=d4+o9|0,k9=s5(b,b)|0,o0=k9+De|0,J=s5(b,x9)|0,s0=J+Te|0,Y=K4+1|0,Kt=pt,at=Y,$t=J9,Bt=f4,W4=D4,b9=h4,wt=C3,Wt=s0,Z9=ht,et=o0,c4=u8,Xt=s9;break}else{R4=x9+D4|0,st=b+u8|0,n9=s5(x9,x9)|0,u4=n9+J9|0,T6=s5(b,b)|0,K9=T6+ht|0,Oe=s5(b,x9)|0,d9=Oe+C3|0,T9=pt+1|0,Kt=T9,at=K4,$t=u4,Bt=o9,W4=R4,b9=gt,wt=d9,Wt=Te,Z9=K9,et=De,c4=st,Xt=Nt;break}while(!1);if(d0=x9+1|0,i0=(x9|0)<(o8|0),i0)x9=d0,pt=Kt,K4=at,J9=$t,o9=Bt,D4=W4,gt=b9,C3=wt,Te=Wt,ht=Z9,De=et,u8=c4,Nt=Xt;else{_t=Kt,n8=at,Mt=$t,Rt=Bt,yt=W4,P4=b9,a8=wt,je=Wt,jt=Z9,Tt=et,Z8=c4,j8=Xt;break}}if(e0=(z6+(be*56|0)|0)+8|0,e[e0>>2]=yt,h0=(z6+(be*56|0)|0)+12|0,e[h0>>2]=Z8,c0=(z6+(be*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(be*56|0)|0)+20|0,e[$0>>2]=jt,X=(z6+(be*56|0)|0)+24|0,e[X>>2]=a8,m0=(z6+(be*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(be*56|0)|0)+32|0,e[g0>>2]=P4,I0=(z6+(be*56|0)|0)+36|0,e[I0>>2]=j8,n0=(z6+(be*56|0)|0)+40|0,e[n0>>2]=Rt,f0=(z6+(be*56|0)|0)+44|0,e[f0>>2]=Tt,p0=(z6+(be*56|0)|0)+48|0,e[p0>>2]=je,C0=(z6+(be*56|0)|0)+52|0,e[C0>>2]=n8,b0=_t+b4|0,I6=(R9|0)==(n2|0),I6){E8=b0;break}else v9=G9,be=R9,b4=b0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(q0=(w6|0)==0,!q0)return A4=0,C=A9,A4|0;G2=z6+4|0,O4=z6,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[G2>>2]=n6,Y2=(n6|0)<1,Y2)Yt=0,r8=0,Jt=0,Ct=0,ct=0,a9=0,Qt=0,$4=0,l8=0,c8=0,V8=0,Y8=0;else for(b2=j+1112|0,m9=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,W9=0,l4=0,ut=0,X4=0,R8=0,dt=0;;){R5=$+(m9<<2)|0,V=+o[R5>>2],d2=V*7.314285755157471,T2=d2+1023.5,G5=~~T2,G3=(G5|0)>1023,U5=(G5|0)<0,d=U5?0:G5,B=G3?1023:d,K3=(B|0)==0;do if(K3)zt=xt,G4=Et,U4=At,lt=m4,J4=p4,_4=E4,Z4=W9,j4=l4,Ft=ut,g8=X4,F8=R8,T8=dt;else if(f6=A+(m9<<2)|0,Z3=+o[f6>>2],$6=+o[b2>>2],ge=$6+Z3,U6=!(ge>=V),U6){Be=m9+E4|0,ye=B+dt|0,Qe=s5(m9,m9)|0,de=Qe+m4|0,fe=s5(B,B)|0,Ve=fe+X4|0,q6=s5(B,m9)|0,ae=q6+l4|0,Ye=Et+1|0,zt=xt,G4=Ye,U4=At,lt=de,J4=p4,_4=Be,Z4=W9,j4=ae,Ft=ut,g8=Ve,F8=R8,T8=ye;break}else{Y6=m9+p4|0,F6=B+R8|0,te=s5(m9,m9)|0,_6=te+At|0,P6=s5(B,B)|0,O6=P6+ut|0,oe=s5(B,m9)|0,he=oe+W9|0,ne=xt+1|0,zt=ne,G4=Et,U4=_6,lt=m4,J4=Y6,_4=E4,Z4=he,j4=l4,Ft=O6,g8=X4,F8=F6,T8=dt;break}while(!1);if(we=m9+1|0,Se=(we|0)==(n6|0),Se){Yt=zt,r8=G4,Jt=U4,Ct=lt,ct=J4,a9=_4,Qt=Z4,$4=j4,l8=Ft,c8=g8,V8=F8,Y8=T8;break}else m9=we,xt=zt,Et=G4,At=U4,m4=lt,p4=J4,E4=_4,W9=Z4,l4=j4,ut=Ft,X4=g8,R8=F8,dt=T8}Q9=z6+8|0,e[Q9>>2]=ct,g9=z6+12|0,e[g9>>2]=V8,p9=z6+16|0,e[p9>>2]=Jt,ze=z6+20|0,e[ze>>2]=l8,r9=z6+24|0,e[r9>>2]=Qt,Fe=z6+28|0,e[Fe>>2]=Yt,J6=z6+32|0,e[J6>>2]=a9,Ae=z6+36|0,e[Ae>>2]=Y8,w9=z6+40|0,e[w9>>2]=Ct,M9=z6+44|0,e[M9>>2]=c8,u9=z6+48|0,e[u9>>2]=$4,_e=z6+52|0,e[_e>>2]=r8,E8=Yt}if(y0=(E8|0)==0,y0)return A4=0,C=A9,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=w6+-1|0,_C(z6,E0,$8,Zt,j)|0,Q0=e[$8>>2]|0,e[S9>>2]=Q0,e[I9>>2]=Q0,w0=e[Zt>>2]|0,B0=I9+4|0,e[B0>>2]=w0,x0=S9+4|0,e[x0>>2]=w0,Z0=(w6|0)>2;do if(Z0){R0=j+1112|0,v0=j+1096|0,G0=j+1100|0,U0=j+1104|0,O9=2;e:for(;;){H0=(s+520|0)+(O9<<2)|0,k0=e[H0>>2]|0,K0=Pt+(k0<<2)|0,N0=e[K0>>2]|0,M0=F4+(k0<<2)|0,P0=e[M0>>2]|0,W0=t8+(N0<<2)|0,J0=e[W0>>2]|0,V0=(J0|0)==(P0|0);t:do if(!V0){if(j0=(s+520|0)+(N0<<2)|0,Y0=e[j0>>2]|0,o1=(s+520|0)+(P0<<2)|0,z0=e[o1>>2]|0,e[W0>>2]=P0,r1=(j+836|0)+(N0<<2)|0,L0=e[r1>>2]|0,s1=(j+836|0)+(P0<<2)|0,d1=e[s1>>2]|0,u1=S9+(N0<<2)|0,E1=e[u1>>2]|0,f1=(E1|0)<0,A1=I9+(N0<<2)|0,g1=e[A1>>2]|0,f1?v=g1:(a1=(g1|0)<0,a1?v=E1:($1=g1+E1|0,X0=$1>>1,v=X0)),B1=S9+(P0<<2)|0,p1=e[B1>>2]|0,Q1=(p1|0)<0,C1=I9+(P0<<2)|0,y1=e[C1>>2]|0,Q1?Q=y1:(k1=(y1|0)<0,k1?Q=p1:(S1=y1+p1|0,L1=S1>>1,Q=L1)),M1=(v|0)==-1,b1=(Q|0)==-1,L8=M1|b1,L8){C4=38;break e}_1=Q-v|0,R1=d1-L0|0,N4=(_1|0)>-1,Le=0-_1|0,F1=N4?_1:Le,P1=(_1|0)/(R1|0)&-1,D1=_1>>31,X1=D1|1,G1=$+(L0<<2)|0,Z=+o[G1>>2],x1=Z*7.314285755157471,J1=x1+1023.5,H1=~~J1,V1=(H1|0)>1023,Y1=(H1|0)<0,I=Y1?0:H1,D=V1?1023:I,z1=s5(P1,R1)|0,f8=(z1|0)>-1,p8=0-z1|0,t2=f8?z1:p8,o2=F1-t2|0,q1=v-D|0,h2=s5(q1,q1)|0,Z1=A+(L0<<2)|0,I2=+o[Z1>>2],A2=+o[R0>>2],C2=A2+I2,$2=!(C2>=Z),$2?C4=42:(W1=+(v|0),f2=+o[v0>>2],g2=f2+W1,u2=+(D|0),s2=g2>2],i2=W1-l2,a2=i2>u2,a2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=L0+1|0,r2=(m2|0)<(d1|0),r2)for(p2=m2,o4=0,x8=h2,Vt=1,C8=v;;){if(k2=o4+o2|0,D2=(k2|0)<(R1|0),S2=D2?0:X1,M2=D2?0:R1,P9=k2-M2|0,N=C8+P1|0,A8=N+S2|0,O2=$+(p2<<2)|0,t0=+o[O2>>2],W2=t0*7.314285755157471,q2=W2+1023.5,K2=~~q2,U2=(K2|0)>1023,V2=(K2|0)<0,E=V2?0:K2,_=U2?1023:E,Z2=A8-_|0,A5=s5(Z2,Z2)|0,N1=A5+x8|0,t5=Vt+1|0,T5=A+(p2<<2)|0,i5=+o[T5>>2],L5=i5+A2,j2=L5>=t0,m5=(_|0)!=0,s8=j2&m5,s8&&(D5=+(A8|0),V5=+o[v0>>2],u5=V5+D5,B5=+(_|0),o5=u5>2],R2=D5-F2,Q2=R2>B5,Q2)))break i;if(y5=p2+1|0,N5=(y5|0)<(d1|0),N5)p2=y5,o4=P9,x8=N1,Vt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=h2,Ht=1;if(p5=+o[v0>>2],M5=p5*p5,q5=+(Ht|0),z2=M5/q5,E5=+o[U0>>2],$5=z2>E5,!$5&&(h5=+o[G0>>2],Q5=h5*h5,T1=Q5/q5,_5=T1>E5,!_5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),X2=l5>E5,X2)))break;g3=S9+(O9<<2)|0,e[g3>>2]=-200,u3=I9+(O9<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[ot>>2]=-200,w5=z6+(Y0*56|0)|0,r5=k0-Y0|0,a5=_C(w5,r5,Ot,qt,j)|0,f5=z6+(k0*56|0)|0,J2=z0-k0|0,I5=_C(f5,J2,T4,ot,j)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=v,F5=e[T4>>2]|0,e[qt>>2]=F5),e5=(I5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[ot>>2]=Q,n5)){v5=S9+(O9<<2)|0,e[v5>>2]=-200,z5=I9+(O9<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,C5=(N0|0)==0,C5&&(e[S9>>2]=i3),I3=e[qt>>2]|0,d3=S9+(O9<<2)|0,e[d3>>2]=I3,W5=e[T4>>2]|0,r3=I9+(O9<<2)|0,e[r3>>2]=W5,a3=e[ot>>2]|0,e[B1>>2]=a3,y3=(P0|0)==1,y3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(_8=e8+-1|0,e6=F4+(_8<<2)|0,V3=e[e6>>2]|0,X5=(V3|0)==(P0|0),!X5)break i;if(e[e6>>2]=O9,_3=(e8|0)>1,_3)e8=_8;else break}while(!1);if(m8=k0+1|0,w3=(m8|0)<(w6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,a6=e[t3>>2]|0,Y3=(a6|0)==(N0|0),!Y3)break t;if(e[t3>>2]=O9,I8=Ut+1|0,c3=(I8|0)<(w6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=O9+1|0,K5=(Q3|0)<(w6|0),K5)O9=Q3;else{C4=68;break}}if((C4|0)==38)MS(1);else if((C4|0)==68){O=e[S9>>2]|0,q=e[I9>>2]|0,b5=O,l6=q;break}}else b5=Q0,l6=Q0;while(!1);if(H5=w6<<2,Y5=W8(t,H5)|0,z3=(b5|0)<0,z3?k=l6:(n3=(l6|0)<0,n3?k=b5:(l3=l6+b5|0,U3=l3>>1,k=U3)),e[Y5>>2]=k,C6=e[x0>>2]|0,b3=(C6|0)<0,L3=e[B0>>2]|0,b3?R=L3:(D3=(L3|0)<0,D3?R=C6:(A6=L3+C6|0,r6=A6>>1,R=r6)),j5=Y5+4|0,e[j5>>2]=R,Z0)a4=2;else return A4=Y5,C=A9,A4|0;for(;;)if(M3=a4+-2|0,h3=(s+1032|0)+(M3<<2)|0,J3=e[h3>>2]|0,d6=(s+780|0)+(M3<<2)|0,m3=e[d6>>2]|0,x6=(j+836|0)+(J3<<2)|0,L6=e[x6>>2]|0,M6=(j+836|0)+(m3<<2)|0,S6=e[M6>>2]|0,b6=Y5+(J3<<2)|0,N6=e[b6>>2]|0,j6=Y5+(m3<<2)|0,k6=e[j6>>2]|0,R3=(j+836|0)+(a4<<2)|0,s6=e[R3>>2]|0,o6=N6&32767,B6=k6&32767,W3=B6-o6|0,F3=S6-L6|0,d8=(W3|0)>-1,Lt=0-W3|0,t6=d8?W3:Lt,R6=s6-L6|0,c6=s5(t6,R6)|0,s3=(c6|0)/(F3|0)&-1,K6=(W3|0)<0,A3=0-s3|0,M=K6?A3:s3,L=M+o6|0,g6=S9+(a4<<2)|0,y6=e[g6>>2]|0,T3=(y6|0)<0,H6=I9+(a4<<2)|0,D6=e[H6>>2]|0,T3?y=D6:(G6=(D6|0)<0,G6?y=y6:(ee=D6+y6|0,Q6=ee>>1,y=Q6)),X6=(y|0)<0,P3=(L|0)==(y|0),M8=X6|P3,re=L|32768,g=M8?re:y,V6=Y5+(a4<<2)|0,e[V6>>2]=g,se=a4+1|0,I4=(se|0)==(w6|0),I4){A4=Y5;break}else a4=se;return C=A9,A4|0}function Gt(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0;if(h0=C,d=s+1284|0,p=e[d>>2]|0,L=(A|0)!=0,t0=($|0)!=0,d0=L&t0,!d0)return i0=0,i0|0;if(Z=p<<2,A0=W8(t,Z)|0,j=(p|0)>0,!j)return i0=A0,i0|0;for(r0=65536-g|0,Y=0;;)if(o0=A+(Y<<2)|0,J=e[o0>>2]|0,I=J&32767,E=s5(I,r0)|0,y=$+(Y<<2)|0,B=e[y>>2]|0,b=B&32767,D=s5(b,g)|0,k=E+32768|0,v=k+D|0,_=v>>16,Q=A0+(Y<<2)|0,e[Q>>2]=_,R=e[o0>>2]|0,M=R&32768,N=(M|0)==0,N||(G=e[y>>2]|0,O=G&32768,q=(O|0)==0,q||(V=_|32768,e[Q>>2]=V)),K=Y+1|0,s0=(K|0)==(p|0),s0){i0=A0;break}else Y=K;return i0|0}function ub(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0;if(O6=C,C=C+336|0,U6=O6+64|0,h3=O6+32|0,P3=O6,_=A+1296|0,Q=e[_>>2]|0,f2=A+1284|0,F2=e[f2>>2]|0,$5=s+64|0,a5=e[$5>>2]|0,i3=a5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,L=l3+2848|0,A0=e[L>>2]|0,c0=($|0)==0,c0)return H2(t,0,1),T5=s+36|0,i5=e[T5>>2]|0,L5=(i5|0)/2&-1,j2=L5<<2,g4(g|0,0,j2|0)|0,p=0,C=O6,p|0;if(b0=(F2|0)>0,b0)for(G0=Q+832|0,B6=0;V0=$+(B6<<2)|0,E1=e[V0>>2]|0,C1=E1&32767,P1=e[G0>>2]|0,(P1|0)==4?(Z2=C1>>>4,Y6=Z2):(P1|0)==1?(t2=C1>>>2,Y6=t2):(P1|0)==2?(g2=C1>>>3,Y6=g2):(P1|0)==3?(S2=(C1>>>0)/12&-1,Y6=S2):Y6=C1,m5=E1&32768,D5=m5|Y6,e[V0>>2]=D5,V5=B6+1|0,k6=(V5|0)==(F2|0),!k6;)B6=V5;if(u5=e[$>>2]|0,e[U6>>2]=u5,b2=$+4|0,B5=e[b2>>2]|0,o5=U6+4|0,e[o5>>2]=B5,R2=(F2|0)>2,Q2=A+1292|0,R2){for(W3=2;;){if(y5=W3+-2|0,N5=(A+1032|0)+(y5<<2)|0,p5=e[N5>>2]|0,M5=(A+780|0)+(y5<<2)|0,q5=e[M5>>2]|0,R5=(Q+836|0)+(p5<<2)|0,z2=e[R5>>2]|0,E5=(Q+836|0)+(q5<<2)|0,h5=e[E5>>2]|0,Q5=$+(p5<<2)|0,T1=e[Q5>>2]|0,_5=$+(q5<<2)|0,d5=e[_5>>2]|0,l5=(Q+836|0)+(W3<<2)|0,X2=e[l5>>2]|0,d2=T1&32767,w5=d5&32767,r5=w5-d2|0,f5=h5-z2|0,Z3=(r5|0)>-1,re=0-r5|0,J2=Z3?r5:re,I5=X2-z2|0,n5=s5(J2,I5)|0,F5=(n5|0)/(f5|0)&-1,e5=(r5|0)<0,c5=0-F5|0,E=e5?c5:F5,I=E+d2|0,T2=$+(W3<<2)|0,v5=e[T2>>2]|0,z5=v5&32768,C5=(z5|0)!=0,I3=(v5|0)==(I|0),ge=C5|I3,ge)d3=I|32768,e[T2>>2]=d3,W5=U6+(W3<<2)|0,e[W5>>2]=0;else{r3=e[Q2>>2]|0,a3=r3-I|0,y3=(a3|0)<(I|0),d=y3?a3:I,G5=v5-I|0,Z5=(G5|0)<0;do if(Z5)if(x3=0-d|0,w3=(G5|0)<(x3|0),w3){e6=G5^-1,V3=d+e6|0,F6=V3;break}else{X5=G5<<1,_3=X5^-1,F6=_3;break}else if(t3=(d|0)>(G5|0),t3){G3=G5<<1,F6=G3;break}else{a6=d+G5|0,F6=a6;break}while(!1);Y3=U6+(W3<<2)|0,e[Y3>>2]=F6,e[Q5>>2]=d2,c3=e[_5>>2]|0,u3=c3&32767,e[_5>>2]=u3}if(Q3=W3+1|0,j6=(Q3|0)==(F2|0),j6)break;W3=Q3}b=e[U6>>2]|0,D=e[o5>>2]|0,A6=b,M3=D}else A6=u5,M3=B5;if(H2(t,1,1),K5=A+1308|0,H5=e[K5>>2]|0,Y5=H5+1|0,e[K5>>2]=Y5,b5=e[Q2>>2]|0,z3=b5+-1|0,U5=H8(z3)|0,l6=U5<<1,n3=A+1304|0,U3=e[n3>>2]|0,C6=U3+l6|0,e[n3>>2]=C6,b3=e[Q2>>2]|0,L3=b3+-1|0,D3=H8(L3)|0,H2(t,A6,D3),r6=e[Q2>>2]|0,K3=r6+-1|0,j5=H8(K3)|0,H2(t,M3,j5),R=e[Q>>2]|0,M=(R|0)>0,M)for(N=A+1300|0,F3=0,c6=2;;){if(G=(Q+4|0)+(F3<<2)|0,O=e[G>>2]|0,q=(Q+128|0)+(O<<2)|0,V=e[q>>2]|0,K=(Q+192|0)+(O<<2)|0,t0=e[K>>2]|0,Z=1<>2]=0,e[h3+4>>2]=0,e[h3+8>>2]=0,e[h3+12>>2]=0,e[h3+16>>2]=0,e[h3+20>>2]=0,e[h3+24>>2]=0,e[h3+28>>2]=0,j=(t0|0)==0,!j){if(e[P3>>2]=0,e[P3+4>>2]=0,e[P3+8>>2]=0,e[P3+12>>2]=0,e[P3+16>>2]=0,e[P3+20>>2]=0,e[P3+24>>2]=0,e[P3+28>>2]=0,r0=(t0|0)==31,!r0)for(A3=0;f0=((Q+320|0)+(O<<5)|0)+(A3<<2)|0,p0=e[f0>>2]|0,C0=(p0|0)<0,C0?v=1:(y0=(l3+1824|0)+(p0<<2)|0,D0=e[y0>>2]|0,E0=D0+4|0,Q0=e[E0>>2]|0,v=Q0),w0=P3+(A3<<2)|0,e[w0>>2]=v,B0=A3+1|0,x0=(B0|0)<(Z|0),x0;)A3=B0;o0=(V|0)>0;e:do if(o0){if(r0)for(J3=0,x6=0,g6=0;;)if(Z0=h3+(g6<<2)|0,R0=e[Z0>>2]|0,v0=R0<>2]|0,H6=0;;){if(J=P3+(H6<<2)|0,s0=e[J>>2]|0,d0=(Y|0)<(s0|0),d0){$6=H6,O3=31;break}if(i0=H6+1|0,e0=(i0|0)<(Z|0),e0)H6=i0;else{O3=33;break}}if((O3|0)==31?(O3=0,h0=h3+(y6<<2)|0,e[h0>>2]=$6,l0=$6):(O3|0)==33&&(O3=0,y=h3+(y6<<2)|0,k=e[y>>2]|0,l0=k),$0=l0<>2]|0,N0=A0+(K0*56|0)|0,M0=Gu(N0,m3,t)|0,P0=e[N>>2]|0,W0=P0+M0|0,e[N>>2]=W0}if(J0=(V|0)>0,J0)for(T3=0;j0=h3+(T3<<2)|0,q0=e[j0>>2]|0,Y0=((Q+320|0)+(O<<5)|0)+(q0<<2)|0,o1=e[Y0>>2]|0,z0=(o1|0)>-1,z0&&(r1=T3+c6|0,L0=U6+(r1<<2)|0,s1=e[L0>>2]|0,d1=(A0+(o1*56|0)|0)+4|0,u1=e[d1>>2]|0,f1=(s1|0)<(u1|0),f1&&(h1=A0+(o1*56|0)|0,A1=Gu(h1,s1,t)|0,g1=e[n3>>2]|0,a1=g1+A1|0,e[n3>>2]=a1)),$1=T3+1|0,b6=($1|0)==(V|0),!b6;)T3=$1;if(X0=V+c6|0,B1=F3+1|0,p1=e[Q>>2]|0,Q1=(B1|0)<(p1|0),Q1)F3=B1,c6=X0;else break}if(y1=e[$>>2]|0,v1=Q+832|0,k1=e[v1>>2]|0,S1=s5(k1,y1)|0,L1=s+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[f2>>2]|0,D1=(F1|0)>1,D1)for(s6=0,s3=1,D6=0,Q6=S1;;){if(J1=(A+260|0)+(s3<<2)|0,H1=e[J1>>2]|0,V1=$+(H1<<2)|0,Y1=e[V1>>2]|0,z1=Y1&32767,o2=(z1|0)==(Y1|0),o2)if(e2=e[v1>>2]|0,q1=s5(e2,Y1)|0,h2=(Q+836|0)+(H1<<2)|0,Z1=e[h2>>2]|0,I2=q1-Q6|0,A2=Z1-D6|0,t6=(I2|0)>-1,V6=0-I2|0,C2=t6?I2:V6,$2=(I2|0)/(A2|0)&-1,W1=I2>>31,n2=W1|1,u2=s5($2,A2)|0,R6=(u2|0)>-1,se=0-u2|0,s2=R6?u2:se,l2=C2-s2|0,i2=(R1|0)>(Z1|0),te=i2?Z1:R1,a2=(te|0)>(D6|0),a2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),r2=D6+1|0,k2=(r2|0)<(te|0),k2)for(p2=r2,M6=0,_6=Q6;;)if(D2=M6+l2|0,y2=(D2|0)<(A2|0),G2=y2?0:n2,M2=y2?0:A2,S6=D2-M2|0,B=_6+$2|0,P6=B+G2|0,O2=g+(p2<<2)|0,e[O2>>2]=P6,W2=p2+1|0,f6=(W2|0)==(te|0),f6){o6=Z1,G6=Z1,X6=q1;break}else p2=W2,M6=S6,_6=P6;else o6=Z1,G6=Z1,X6=q1;else o6=s6,G6=D6,X6=Q6;if(q2=s3+1|0,K2=e[f2>>2]|0,U2=(q2|0)<(K2|0),U2)s6=o6,s3=q2,D6=G6,Q6=X6;else{R3=o6,ee=X6;break}}else R3=0,ee=S1;if(O1=s+36|0,X1=e[O1>>2]|0,G1=(X1|0)/2&-1,x1=(R3|0)<(G1|0),x1)K6=R3;else return p=1,C=O6,p|0;for(;;)if(V2=g+(K6<<2)|0,e[V2>>2]=ee,A5=K6+1|0,Y2=e[O1>>2]|0,N1=(Y2|0)/2&-1,t5=(A5|0)<(N1|0),t5)K6=A5;else{p=1;break}return C=O6,p|0}function _C(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0;if(A5=C,y=e[t>>2]|0,B=s+-1|0,$0=(t+(B*56|0)|0)+4|0,y0=e[$0>>2]|0,U0=(s|0)>0,U0)for(j0=g+1108|0,f1=+o[j0>>2],n2=0,i2=0,m2=0,S2=0,O2=0,K2=0;;)if(y1=(t+(i2*56|0)|0)+52|0,D1=e[y1>>2]|0,o2=(t+(i2*56|0)|0)+28|0,b=e[o2>>2]|0,O=b+D1|0,J=+(O|0),s0=J*f1,Y=b+1|0,d0=+(Y|0),i0=s0/d0,e0=i0,h0=e0+1,c0=(t+(i2*56|0)|0)+32|0,l0=e[c0>>2]|0,X=+(l0|0),m0=(t+(i2*56|0)|0)+8|0,g0=e[m0>>2]|0,I0=+(g0|0),n0=I0*h0,f0=X+S2,p0=f0+n0,C0=(t+(i2*56|0)|0)+36|0,b0=e[C0>>2]|0,D0=+(b0|0),E0=(t+(i2*56|0)|0)+12|0,Q0=e[E0>>2]|0,w0=+(Q0|0),B0=w0*h0,x0=D0+K2,Z0=x0+B0,R0=(t+(i2*56|0)|0)+40|0,v0=e[R0>>2]|0,G0=+(v0|0),O0=(t+(i2*56|0)|0)+16|0,H0=e[O0>>2]|0,k0=+(H0|0),K0=k0*h0,N0=G0+m2,M0=N0+K0,P0=(t+(i2*56|0)|0)+48|0,W0=e[P0>>2]|0,J0=+(W0|0),V0=(t+(i2*56|0)|0)+24|0,q0=e[V0>>2]|0,Y0=+(q0|0),o1=Y0*h0,z0=J0+O2,r1=z0+o1,L0=+(D1|0),s1=+(b|0),d1=h0*s1,u1=L0+n2,E1=u1+d1,h1=i2+1|0,l2=(h1|0)==(s|0),l2){g2=E1,a2=M0,D2=p0,M2=r1,q2=Z0;break}else n2=E1,i2=h1,m2=M0,S2=p0,O2=r1,K2=Z0;else g2=0,a2=0,D2=0,M2=0,q2=0;return A1=e[A>>2]|0,g1=(A1|0)>-1,g1?(a1=+(y|0),$1=D2+a1,X0=+(A1|0),B1=X0+q2,p1=s5(y,y)|0,Q1=+(p1|0),C1=a2+Q1,v1=s5(A1,y)|0,k1=+(v1|0),S1=k1+M2,L1=g2+1,u2=L1,r2=C1,y2=$1,p2=S1,U2=B1):(u2=g2,r2=a2,y2=D2,p2=M2,U2=q2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(y0|0),R1=y2+_1,F1=+(M1|0),P1=F1+U2,O1=s5(y0,y0)|0,X1=+(O1|0),G1=r2+X1,x1=s5(M1,y0)|0,J1=+(x1|0),H1=J1+p2,V1=u2+1,s2=V1,k2=G1,G2=R1,W2=H1,V2=P1):(s2=u2,k2=r2,G2=y2,W2=p2,V2=U2),Y1=k2*s2,z1=G2*G2,t2=Y1-z1,e2=t2>0,e2?(q1=V2*k2,h2=G2*W2,Z1=q1-h2,I2=Z1/t2,A2=W2*s2,C2=G2*V2,$2=A2-C2,W1=$2/t2,f2=+(y|0),D=W1*f2,k=D+I2,v=+z7(k),_=~~v,e[A>>2]=_,Q=+(y0|0),L=W1*Q,R=L+I2,M=+z7(R),N=~~M,e[$>>2]=N,G=e[A>>2]|0,q=(G|0)>1023,q?(e[A>>2]=1023,p=e[$>>2]|0,V=p,r0=1023):(V=N,r0=G),K=(V|0)>1023,K?(e[$>>2]=1023,I=e[A>>2]|0,t0=I,o0=1023):(t0=r0,o0=V),Z=(t0|0)<0,Z?(e[A>>2]=0,E=e[$>>2]|0,A0=E):A0=o0,j=(A0|0)<0,j?(e[$>>2]=0,d=0,d|0):(d=0,d|0)):(e[A>>2]=0,e[$>>2]=0,d=1,d|0)}function hb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0;if(L0=C,p=t+836|0,I=t+840|0,R=e[I>>2]|0,j=e[t>>2]|0,H2(s,j,5),$0=e[t>>2]|0,y0=($0|0)>0,y0){for(U0=t+4|0,W0=0,z0=-1;;)if(B=U0+(W0<<2)|0,b=e[B>>2]|0,H2(s,b,4),D=e[B>>2]|0,k=(z0|0)<(D|0),A=k?D:z0,v=W0+1|0,_=e[t>>2]|0,Q=(v|0)<(_|0),Q)W0=v,z0=A;else{$=A;break}if(H0=($|0)>-1,H0)for(k0=t+128|0,K0=t+192|0,E=t+256|0,y=t+320|0,J0=0;;){if(L=k0+(J0<<2)|0,M=e[L>>2]|0,N=M+-1|0,H2(s,N,3),G=K0+(J0<<2)|0,O=e[G>>2]|0,H2(s,O,2),q=e[G>>2]|0,V=(q|0)==0,V?(j0=0,r1=8):(K=E+(J0<<2)|0,t0=e[K>>2]|0,H2(s,t0,8),g=e[G>>2]|0,Z=(g|0)==31,Z||(j0=0,r1=8)),(r1|0)==8)for(;r1=0,A0=(y+(J0<<5)|0)+(j0<<2)|0,r0=e[A0>>2]|0,o0=r0+1|0,H2(s,o0,8),J=j0+1|0,s0=e[G>>2]|0,Y=1<>2]|0,c0=h0+-1|0,H2(s,c0,2),l0=R+-1|0,X=H8(l0)|0,H2(s,X,4),m0=H8(l0)|0,g0=e[t>>2]|0,I0=(g0|0)>0,!!I0)for(n0=t+4|0,f0=t+128|0,O0=g0,N0=0,V0=0,q0=0;;){if(p0=n0+(V0<<2)|0,C0=e[p0>>2]|0,b0=f0+(C0<<2)|0,D0=e[b0>>2]|0,E0=D0+N0|0,Q0=(q0|0)<(E0|0),Q0){for(o1=q0;w0=o1+2|0,B0=p+(w0<<2)|0,x0=e[B0>>2]|0,H2(s,x0,m0),Z0=o1+1|0,M0=(Z0|0)==(E0|0),!M0;)o1=Z0;d=e[t>>2]|0,G0=d,Y0=E0}else G0=O0,Y0=q0;if(R0=V0+1|0,v0=(R0|0)<(G0|0),v0)O0=G0,N0=E0,V0=R0,q0=Y0;else break}}function db(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0;Z1=C,C=C+272|0,q1=Z1,_=t+28|0,Q=e[_>>2]|0,Z=l9(1,1120)|0,h0=r4(s,5)|0,e[Z>>2]=h0,C0=(h0|0)>0;e:do if(C0){for(v0=Z+4|0,X1=0,o2=-1;;){if(M=r4(s,4)|0,N=v0+(X1<<2)|0,e[N>>2]=M,G=(M|0)<0,G)break e;if(O=(o2|0)<(M|0),g=O?M:o2,q=X1+1|0,V=e[Z>>2]|0,K=(q|0)<(V|0),K)X1=q,o2=g;else{d=g;break}}if(J0=(d|0)>-1,J0)for(u1=Z+128|0,Q1=Z+192|0,F1=Z+256|0,L=Q+24|0,R=Z+320|0,G1=0;;){if(t0=r4(s,3)|0,A0=t0+1|0,j=u1+(G1<<2)|0,e[j>>2]=A0,r0=r4(s,2)|0,o0=Q1+(G1<<2)|0,e[o0>>2]=r0,J=(r0|0)<0,J||(s0=(r0|0)==0,s0?(p=F1+(G1<<2)|0,I=e[p>>2]|0,i0=I):(Y=r4(s,8)|0,d0=F1+(G1<<2)|0,e[d0>>2]=Y,i0=Y),e0=(i0|0)<0,e0)||(c0=e[L>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[o0>>2]|0,X=(l0|0)==31,!X)for(V1=0;;){if(f0=r4(s,8)|0,p0=f0+-1|0,b0=(R+(G1<<5)|0)+(V1<<2)|0,e[b0>>2]=p0,y0=(f0|0)<0,y0||(D0=e[L>>2]|0,E0=(f0|0)>(D0|0),I0=V1+1|0,E0))break e;if(m0=e[o0>>2]|0,g0=1<>2]=x0,R0=r4(s,4)|0,G0=(R0|0)<0,!G0)){if(U0=e[Z>>2]|0,O0=(U0|0)>0,O0)for(H0=Z+4|0,k0=Z+128|0,K0=Z+836|0,N0=1<>2]|0,W0=k0+(P0<<2)|0,V0=e[W0>>2]|0,j0=V0+O1|0,q0=(j0|0)>63,q0)break e;if(Y0=(Y1|0)<(j0|0),Y0){for(t2=Y1;;){if(o1=r4(s,R0)|0,z0=t2+2|0,r1=K0+(z0<<2)|0,e[r1>>2]=o1,L0=(o1|0)>-1,s1=(o1|0)<(N0|0),e2=L0&s1,!e2)break e;if(d1=t2+1|0,E1=(d1|0)<(j0|0),E1)t2=d1;else{$=d1;break}}B=e[Z>>2]|0,A1=B,z1=$}else A1=P1,z1=Y1;if(f1=x1+1|0,h1=(f1|0)<(A1|0),h1)P1=A1,O1=j0,x1=f1,Y1=z1;else{E=K0,y=N0,D1=j0;break}}else k=Z+836|0,v=1<>2]=0,g1=Z+840|0,e[g1>>2]=y,a1=D1+2|0,$1=(D1|0)>-2,$1)for(J1=0;X0=E+(J1<<2)|0,B1=q1+(J1<<2)|0,e[B1>>2]=X0,p1=J1+1|0,C1=(p1|0)<(a1|0),C1;)J1=p1;Pu(q1,a1,4,8),y1=(a1|0)>1;t:do if(y1){for(b=e[q1>>2]|0,D=e[b>>2]|0,b1=D,H1=1;S1=q1+(H1<<2)|0,L1=e[S1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),v1=H1+1|0,!_1;)if(k1=(v1|0)<(a1|0),k1)b1=M1,H1=v1;else break t;if(R1=(Z|0)==0,R1)A=0;else break e;return C=Z1,A|0}while(!1);return A=Z,C=Z1,A|0}while(!1);return E2(Z),A=0,C=Z1,A|0}function fb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=l9(1,1312)|0,g=$+1296|0,e[g>>2]=s,_=s+836|0,t0=s+840|0,e0=e[t0>>2]|0,p0=$+1288|0,e[p0>>2]=e0,R0=e[s>>2]|0,W0=(R0|0)>0,W0){for(z0=s+4|0,d=s+128|0,f1=0,S1=0;;)if(p=z0+(f1<<2)|0,I=e[p>>2]|0,E=d+(I<<2)|0,y=e[E>>2]|0,B=y+S1|0,b=f1+1|0,D=(b|0)<(R0|0),D)f1=b,S1=B;else{A=B;break}k=A+2|0,v=$+1284|0,e[v>>2]=k,Q=(A|0)>-2,Q?(G=k,k1=A,_1=7):(Pu(b1,k,4,8),v1=A)}else o1=$+1284|0,e[o1>>2]=2,G=2,k1=0,_1=7;if((_1|0)==7){for(h1=0;L=_+(h1<<2)|0,R=b1+(h1<<2)|0,e[R>>2]=L,M=h1+1|0,N=(M|0)<(G|0),N;)h1=M;for(Pu(b1,G,4,8),O=_,q=$+260|0,A1=0;Z=b1+(A1<<2)|0,A0=e[Z>>2]|0,j=A0,r0=j-O|0,o0=r0>>2,J=q+(A1<<2)|0,e[J>>2]=o0,s0=A1+1|0,Y=(s0|0)<(G|0),Y;)A1=s0;for(V=$+260|0,K=$+520|0,g1=0;i0=V+(g1<<2)|0,h0=e[i0>>2]|0,c0=K+(h0<<2)|0,e[c0>>2]=g1,$0=g1+1|0,l0=($0|0)<(G|0),l0;)g1=$0;for(d0=$+260|0,a1=0;;)if(X=d0+(a1<<2)|0,m0=e[X>>2]|0,g0=_+(m0<<2)|0,I0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=I0,f0=a1+1|0,C0=(f0|0)<(G|0),C0)a1=f0;else{v1=k1;break}}if(b0=s+832|0,y0=e[b0>>2]|0,(y0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(y0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(y0|0)==1?(D0=$+1292|0,e[D0>>2]=256):(y0|0)==3&&(Q0=$+1292|0,e[Q0>>2]=86),B0=(v1|0)>0,!B0)return C=R1,$|0;for(x0=$+1032|0,Z0=$+780|0,$1=0;;){for(v0=$1+2|0,G0=_+(v0<<2)|0,U0=e[G0>>2]|0,O0=e[p0>>2]|0,L0=1,u1=O0,X0=0,B1=0,C1=0;;)if(H0=_+(X0<<2)|0,k0=e[H0>>2]|0,K0=(k0|0)>(C1|0),N0=(k0|0)<(U0|0),L1=K0&N0,p1=L1?X0:B1,y1=L1?k0:C1,M0=(k0|0)<(u1|0),P0=(k0|0)>(U0|0),M1=M0&P0,s1=M1?X0:L0,E1=M1?k0:u1,J0=X0+1|0,V0=(J0|0)<(v0|0),V0)L0=s1,u1=E1,X0=J0,B1=p1,C1=y1;else{d1=s1,Q1=p1;break}if(j0=x0+($1<<2)|0,e[j0>>2]=Q1,q0=Z0+($1<<2)|0,e[q0>>2]=d1,Y0=$1+1|0,r1=(Y0|0)==(v1|0),r1)break;$1=Y0}return C=R1,$|0}function Ib(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function mb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function pb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;if(S2=C,d=s+1296|0,p=e[d>>2]|0,l0=t+64|0,D0=e[l0>>2]|0,O0=D0+4|0,q0=e[O0>>2]|0,h1=q0+28|0,v1=e[h1>>2]|0,O1=v1+2848|0,e2=e[O1>>2]|0,I=t+4|0,R=r4(I,1)|0,j=(R|0)==1,!j)return A=0,A|0;Y=s+1284|0,d0=e[Y>>2]|0,i0=d0<<2,e0=W8(t,i0)|0,h0=s+1292|0,c0=e[h0>>2]|0,$0=c0+-1|0,X=H8($0)|0,m0=r4(I,X)|0,e[e0>>2]=m0,g0=e[h0>>2]|0,I0=g0+-1|0,n0=H8(I0)|0,f0=r4(I,n0)|0,p0=e0+4|0,e[p0>>2]=f0,C0=e[p>>2]|0,b0=(C0|0)>0;e:do if(b0){s2=0,a2=2;t:for(;;){if(B0=(p+4|0)+(s2<<2)|0,x0=e[B0>>2]|0,Z0=(p+128|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=(p+192|0)+(x0<<2)|0,G0=e[v0>>2]|0,U0=1<>2]|0,N0=e2+(K0*56|0)|0,M0=sE(N0,I)|0,P0=(M0|0)==-1,P0){A=0,D2=25;break}else n2=M0;if(W0=(R0|0)>0,W0)for(J0=U0+-1|0,u2=n2,m2=0;;){if(V0=u2&J0,j0=((p+320|0)+(x0<<5)|0)+(V0<<2)|0,Y0=e[j0>>2]|0,o1=u2>>G0,z0=(Y0|0)>-1,z0){if(r1=e2+(Y0*56|0)|0,L0=sE(r1,I)|0,s1=m2+a2|0,d1=e0+(s1<<2)|0,e[d1>>2]=L0,u1=(L0|0)==-1,u1){A=0,D2=25;break t}}else E1=m2+a2|0,f1=e0+(E1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,g1=(A1|0)<(R0|0),g1)u2=o1,m2=A1;else break}if(a1=R0+a2|0,$1=s2+1|0,X0=e[p>>2]|0,B1=($1|0)<(X0|0),B1)s2=$1,a2=a1;else break e}if((D2|0)==25)return A|0}while(!1);if(y0=e[Y>>2]|0,E0=(y0|0)>2,!E0)return A=e0,A|0;for(Q0=s+1032|0,w0=s+780|0,l2=2;;){if(p1=l2+-2|0,Q1=Q0+(p1<<2)|0,C1=e[Q1>>2]|0,y1=(p+836|0)+(C1<<2)|0,k1=e[y1>>2]|0,S1=w0+(p1<<2)|0,L1=e[S1>>2]|0,M1=(p+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=e0+(C1<<2)|0,R1=e[_1>>2]|0,F1=e0+(L1<<2)|0,P1=e[F1>>2]|0,D1=(p+836|0)+(l2<<2)|0,X1=e[D1>>2]|0,G1=R1&32767,x1=P1&32767,J1=x1-G1|0,H1=b1-k1|0,i2=(J1|0)>-1,r2=0-J1|0,V1=i2?J1:r2,Y1=X1-k1|0,z1=s5(V1,Y1)|0,t2=(z1|0)/(H1|0)&-1,o2=(J1|0)<0,q1=0-t2|0,g=o2?q1:t2,$=g+G1|0,h2=e[h0>>2]|0,Z1=h2-$|0,I2=e0+(l2<<2)|0,A2=e[I2>>2]|0,C2=(A2|0)==0,C2)r0=$|32768,e[I2>>2]=r0;else{$2=(Z1|0)<($|0),W1=$2?Z1:$,f2=W1<<1,g2=(A2|0)<(f2|0);do if(g2)if(D=A2&1,k=(D|0)==0,k){L=A2>>1,k2=L;break}else{v=A2+1|0,_=v>>1,Q=0-_|0,k2=Q;break}else if(E=(Z1|0)>($|0),E){y=A2-$|0,k2=y;break}else{B=A2-Z1|0,b=B^-1,k2=b;break}while(!1);M=k2+$|0,N=M&32767,e[I2>>2]=N,G=e[Q1>>2]|0,O=e0+(G<<2)|0,q=e[O>>2]|0,V=q&32767,e[O>>2]=V,K=e[S1>>2]|0,t0=e0+(K<<2)|0,Z=e[t0>>2]|0,A0=Z&32767,e[t0>>2]=A0}if(o0=l2+1|0,J=e[Y>>2]|0,s0=(o0|0)<(J|0),s0)l2=o0;else{A=e0;break}}return A|0}function Eb(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0;if(D1=C,p=s+1296|0,I=e[p>>2]|0,R=t+64|0,j=e[R>>2]|0,$0=j+4|0,y0=e[$0>>2]|0,U0=y0+28|0,j0=e[U0>>2]|0,u1=t+28|0,E1=e[u1>>2]|0,E=j0+(E1<<2)|0,y=e[E>>2]|0,B=(y|0)/2&-1,b=(A|0)==0,b)return d1=B<<2,g4($|0,0,d1|0)|0,g=0,g|0;if(D=e[A>>2]|0,k=I+832|0,v=e[k>>2]|0,_=s5(v,D)|0,Q=(_|0)<0,L=(_|0)>255,M=L?255:_,N=Q?0:M,G=s+1284|0,O=e[G>>2]|0,q=(O|0)>1,q)for(V=s+260|0,$1=0,Q1=1,y1=0,S1=N;;){if(A0=V+(Q1<<2)|0,r0=e[A0>>2]|0,o0=A+(r0<<2)|0,J=e[o0>>2]|0,s0=J&32767,Y=(s0|0)==(J|0),Y)if(d0=(I+836|0)+(r0<<2)|0,i0=e[d0>>2]|0,e0=s5(v,J)|0,h0=(e0|0)<0,c0=(e0|0)>255,l0=c0?255:e0,X=h0?0:l0,m0=X-S1|0,g0=i0-y1|0,B1=(m0|0)>-1,M1=0-m0|0,I0=B1?m0:M1,n0=(m0|0)/(g0|0)&-1,f0=m0>>31,p0=f0|1,C0=s5(n0,g0)|0,p1=(C0|0)>-1,b1=0-C0|0,b0=p1?C0:b1,D0=I0-b0|0,E0=(B|0)>(i0|0),_1=E0?i0:B,Q0=(_1|0)>(y1|0),Q0&&(w0=1768+(S1<<2)|0,B0=+o[w0>>2],x0=$+(y1<<2)|0,Z0=+o[x0>>2],R0=Z0*B0,o[x0>>2]=R0),v0=y1+1|0,G0=(v0|0)<(_1|0),G0)for(W0=v0,f1=0,R1=S1;;)if(O0=f1+D0|0,H0=(O0|0)<(g0|0),k0=H0?0:p0,K0=H0?0:g0,h1=O0-K0|0,d=R1+n0|0,F1=d+k0|0,N0=1768+(F1<<2)|0,M0=+o[N0>>2],P0=$+(W0<<2)|0,J0=+o[P0>>2],V0=J0*M0,o[P0>>2]=V0,q0=W0+1|0,g1=(q0|0)==(_1|0),g1){X0=i0,v1=i0,L1=X;break}else W0=q0,f1=h1,R1=F1;else X0=i0,v1=i0,L1=X;else X0=$1,v1=y1,L1=S1;if(Y0=Q1+1|0,o1=(Y0|0)<(O|0),o1)$1=X0,Q1=Y0,y1=v1,S1=L1;else{a1=X0,k1=L1;break}}else a1=0,k1=N;if(K=(a1|0)<(B|0),!K)return g=1,g|0;for(t0=1768+(k1<<2)|0,Z=+o[t0>>2],C1=a1;;)if(z0=$+(C1<<2)|0,r1=+o[z0>>2],L0=r1*Z,o[z0>>2]=L0,s1=C1+1|0,A1=(s1|0)==(B|0),A1){g=1;break}else C1=s1;return g|0}function Cb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0;return E=C,A=e[t>>2]|0,$=e[A>>2]|0,g=e[s>>2]|0,d=e[g>>2]|0,p=$-d|0,p|0}function Bb(t){t=t|0;var s=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 yb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0;h0=C,g=al(s|0)|0,d=al(A|0)|0,Q=g+2|0,Z=Q+d|0,$=Z,j=C,C=C+((1*$|0)+15&-16)|0,FC(j|0,s|0)|0,i0=al(j|0)|0,d0=j+i0|0,f[d0>>0]=61,f[d0+1>>0]=0,Yy(j|0,A|0)|0,r0=e[t>>2]|0,o0=t+8|0,J=e[o0>>2]|0,s0=J<<2,Y=s0+8|0,p=K7(r0,Y)|0,e[t>>2]=p,I=t+4|0,E=e[I>>2]|0,y=e[o0>>2]|0,B=y<<2,b=B+8|0,D=K7(E,b)|0,e[I>>2]=D,k=al(j|0)|0,v=e[o0>>2]|0,_=D+(v<<2)|0,e[_>>2]=k,L=k+1|0,R=Re(L)|0,M=e[t>>2]|0,N=M+(v<<2)|0,e[N>>2]=R,G=e[t>>2]|0,O=G+(v<<2)|0,q=e[O>>2]|0,FC(q|0,j|0)|0,V=e[o0>>2]|0,K=V+1|0,e[o0>>2]=K,t0=e[t>>2]|0,A0=t0+(K<<2)|0,e[A0>>2]=0,C=h0}function Qb(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0;if(Z=C,g=(t|0)==0,!g){if(d=e[t>>2]|0,Q=(d|0)==0,!Q){if(R=t+8|0,M=e[R>>2]|0,N=(M|0)>0,N){for(L=M,O=d,K=0;G=O+(K<<2)|0,q=e[G>>2]|0,V=(q|0)==0,V?E=L:(E2(q),A=e[R>>2]|0,E=A),p=K+1|0,I=(p|0)<(E|0),!!I;)s=e[t>>2]|0,L=E,O=s,K=p;$=e[t>>2]|0,y=$}else y=d;E2(y)}B=t+4|0,b=e[B>>2]|0,D=(b|0)==0,D||E2(b),k=t+12|0,v=e[k>>2]|0,_=(v|0)==0,_||E2(v),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function wb(t){t=t|0;var s=0,A=0,$=0,g=0;g=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,s=l9(1,3664)|0,A=t+28|0,e[A>>2]=s}function xC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,d=t+28|0,p=e[d>>2]|0,L=(p|0)==0,L){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(A0=p+8|0,c0=e[A0>>2]|0,b0=(c0|0)>0,b0)for(f1=c0,$1=0;a1=(p+32|0)+($1<<2)|0,I=e[a1>>2]|0,E=(I|0)==0,E?b=f1:(E2(I),s=e[A0>>2]|0,b=s),y=$1+1|0,B=(y|0)<(b|0),B;)f1=b,$1=y;if(G0=p+12|0,V0=e[G0>>2]|0,E1=(V0|0)>0,E1)for(h1=V0,X0=0;_=(p+544|0)+(X0<<2)|0,Q=e[_>>2]|0,R=(Q|0)==0,R?Z=h1:(M=(p+288|0)+(X0<<2)|0,N=e[M>>2]|0,G=25664+(N<<2)|0,O=e[G>>2]|0,q=O+8|0,V=e[q>>2]|0,oo[V&7](Q),A=e[G0>>2]|0,Z=A),K=X0+1|0,t0=(K|0)<(Z|0),t0;)h1=Z,X0=K;if(D=p+16|0,k=e[D>>2]|0,v=(k|0)>0,v)for(A1=k,B1=0;J=(p+1056|0)+(B1<<2)|0,s0=e[J>>2]|0,Y=(s0|0)==0,Y?g0=A1:(d0=(p+800|0)+(B1<<2)|0,i0=e[d0>>2]|0,e0=25640+(i0<<2)|0,h0=e[e0>>2]|0,$0=h0+12|0,l0=e[$0>>2]|0,oo[l0&7](s0),$=e[D>>2]|0,g0=$),X=B1+1|0,m0=(X|0)<(g0|0),m0;)A1=g0,B1=X;if(j=p+20|0,r0=e[j>>2]|0,o0=(r0|0)>0,o0)for(g1=r0,p1=0;C0=(p+1568|0)+(p1<<2)|0,y0=e[C0>>2]|0,D0=(y0|0)==0,D0?U0=g1:(E0=(p+1312|0)+(p1<<2)|0,Q0=e[E0>>2]|0,w0=25648+(Q0<<2)|0,B0=e[w0>>2]|0,x0=B0+12|0,Z0=e[x0>>2]|0,oo[Z0&7](y0),g=e[j>>2]|0,U0=g),R0=p1+1|0,v0=(R0|0)<(U0|0),v0;)g1=U0,p1=R0;if(I0=p+24|0,n0=e[I0>>2]|0,f0=(n0|0)>0,p0=p+2848|0,f0)for(Q1=0;O0=(p+1824|0)+(Q1<<2)|0,H0=e[O0>>2]|0,k0=(H0|0)==0,k0||RC(H0),K0=e[p0>>2]|0,N0=(K0|0)==0,N0||(M0=K0+(Q1*56|0)|0,rD(M0)),P0=Q1+1|0,W0=e[I0>>2]|0,J0=(P0|0)<(W0|0),J0;)Q1=P0;if(j0=e[p0>>2]|0,q0=(j0|0)==0,q0||E2(j0),Y0=p+28|0,o1=e[Y0>>2]|0,z0=(o1|0)>0,z0)for(C1=0;r1=(p+2852|0)+(C1<<2)|0,L0=e[r1>>2]|0,Fb(L0),s1=C1+1|0,d1=e[Y0>>2]|0,u1=(s1|0)<(d1|0),u1;)C1=s1;E2(p),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 vb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0;if(X2=C,C=C+32|0,T1=X2,E=t+4|0,y=e[E>>2]|0,g1=t+104|0,S1=e[g1>>2]|0,G1=(S1|0)==0,G1)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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,d=-129,C=X2,d|0;if(h2=y+4|0,s2=e[h2>>2]|0,M2=(s2|0)<1,M2)_5=-129,l5=27;else if(kC(T1),N1=y+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)_5=-130,l5=27;else if(G=e[B5>>2]|0,J=(G|0)<64,J)_5=-130,l5=27;else if(m0=B5+4|0,Q0=e[m0>>2]|0,k0=(Q0|0)<(G|0),k0)_5=-130,l5=27;else{H2(T1,1,8),H2(T1,118,8),H2(T1,111,8),H2(T1,114,8),H2(T1,98,8),H2(T1,105,8),H2(T1,115,8),H2(T1,0,32),o1=e[h2>>2]|0,H2(T1,o1,8),f1=y+8|0,h1=e[f1>>2]|0,H2(T1,h1,32),A1=y+12|0,a1=e[A1>>2]|0,H2(T1,a1,32),$1=y+16|0,X0=e[$1>>2]|0,H2(T1,X0,32),B1=y+20|0,p1=e[B1>>2]|0,H2(T1,p1,32),Q1=e[B5>>2]|0,C1=Q1+-1|0,y1=H8(C1)|0,H2(T1,y1,4),v1=e[m0>>2]|0,k1=v1+-1|0,L1=H8(k1)|0,H2(T1,L1,4),H2(T1,1,1),M1=S1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=D8(T1)|0,F1=Re(R1)|0,e[M1>>2]=F1,P1=T1+8|0,D1=e[P1>>2]|0,O1=D8(T1)|0,c9(F1|0,D1|0,O1|0)|0,X1=e[M1>>2]|0,e[A>>2]=X1,x1=D8(T1)|0,J1=A+4|0,e[J1>>2]=x1,H1=A+8|0,e[H1>>2]=1,V1=A+12|0,e[V1>>2]=0,e[V1+4>>2]=0,e[V1+8>>2]=0,e[V1+12>>2]=0,e[V1+16>>2]=0,mi(T1),kb(T1,s),Y1=S1+68|0,z1=e[Y1>>2]|0,t2=(z1|0)==0,t2||E2(z1),o2=D8(T1)|0,e2=Re(o2)|0,e[Y1>>2]=e2,q1=e[P1>>2]|0,Z1=D8(T1)|0,c9(e2|0,q1|0,Z1|0)|0,I2=e[Y1>>2]|0,e[$>>2]=I2,A2=D8(T1)|0,C2=$+4|0,e[C2>>2]=A2,$2=$+8|0,W1=$+24|0,e[$2>>2]=0,e[$2+4>>2]=0,e[$2+8>>2]=0,e[$2+12>>2]=0,f2=W1,g2=f2,e[g2>>2]=1,n2=f2+4|0,u2=n2,e[u2>>2]=0,mi(T1),l2=e[N1>>2]|0,i2=(l2|0)==0;e:do if(!i2){if(H2(T1,5,8),H2(T1,118,8),H2(T1,111,8),H2(T1,114,8),H2(T1,98,8),H2(T1,105,8),H2(T1,115,8),a2=l2+24|0,m2=e[a2>>2]|0,r2=m2+-1|0,H2(T1,r2,8),k2=e[a2>>2]|0,D2=(k2|0)>0,D2)for(z2=0;;){if(O2=(l2+1824|0)+(z2<<2)|0,p2=e[O2>>2]|0,W2=rb(p2,T1)|0,q2=(W2|0)==0,y2=z2+1|0,!q2)break e;if(S2=e[a2>>2]|0,G2=(y2|0)<(S2|0),G2)z2=y2;else break}if(H2(T1,0,6),H2(T1,0,16),K2=l2+16|0,U2=e[K2>>2]|0,V2=U2+-1|0,H2(T1,V2,6),Z2=e[K2>>2]|0,A5=(Z2|0)>0,A5)for(E5=0;;){if(Y2=(l2+800|0)+(E5<<2)|0,t5=e[Y2>>2]|0,H2(T1,t5,16),T5=e[Y2>>2]|0,i5=25640+(T5<<2)|0,L5=e[i5>>2]|0,j2=e[L5>>2]|0,m5=(j2|0)==0,m5)break e;if(D5=(l2+1056|0)+(E5<<2)|0,V5=e[D5>>2]|0,UC[j2&3](V5,T1),u5=E5+1|0,b2=e[K2>>2]|0,o5=(u5|0)<(b2|0),o5)E5=u5;else break}if(F2=l2+20|0,R2=e[F2>>2]|0,Q2=R2+-1|0,H2(T1,Q2,6),y5=e[F2>>2]|0,N5=(y5|0)>0,N5)for($5=0;p5=(l2+1312|0)+($5<<2)|0,M5=e[p5>>2]|0,H2(T1,M5,16),q5=e[p5>>2]|0,R5=25648+(q5<<2)|0,b=e[R5>>2]|0,D=e[b>>2]|0,k=(l2+1568|0)+($5<<2)|0,v=e[k>>2]|0,UC[D&3](v,T1),_=$5+1|0,Q=e[F2>>2]|0,L=(_|0)<(Q|0),L;)$5=_;if(R=l2+12|0,M=e[R>>2]|0,N=M+-1|0,H2(T1,N,6),O=e[R>>2]|0,q=(O|0)>0,q)for(h5=0;V=(l2+288|0)+(h5<<2)|0,K=e[V>>2]|0,H2(T1,K,16),t0=e[V>>2]|0,Z=25664+(t0<<2)|0,A0=e[Z>>2]|0,j=e[A0>>2]|0,r0=(l2+544|0)+(h5<<2)|0,o0=e[r0>>2]|0,jy[j&1](y,o0,T1),s0=h5+1|0,Y=e[R>>2]|0,d0=(s0|0)<(Y|0),d0;)h5=s0;if(i0=l2+8|0,e0=e[i0>>2]|0,h0=e0+-1|0,H2(T1,h0,6),c0=e[i0>>2]|0,$0=(c0|0)>0,$0)for(Q5=0;l0=(l2+32|0)+(Q5<<2)|0,X=e[l0>>2]|0,g0=e[X>>2]|0,H2(T1,g0,1),I0=e[l0>>2]|0,n0=I0+4|0,f0=e[n0>>2]|0,H2(T1,f0,16),p0=e[l0>>2]|0,C0=p0+8|0,b0=e[C0>>2]|0,H2(T1,b0,16),y0=e[l0>>2]|0,D0=y0+12|0,E0=e[D0>>2]|0,H2(T1,E0,8),w0=Q5+1|0,B0=e[i0>>2]|0,x0=(w0|0)<(B0|0),x0;)Q5=w0;return H2(T1,1,1),Z0=S1+72|0,R0=e[Z0>>2]|0,v0=(R0|0)==0,v0||E2(R0),G0=D8(T1)|0,U0=Re(G0)|0,e[Z0>>2]=U0,O0=e[P1>>2]|0,H0=D8(T1)|0,c9(U0|0,O0|0,H0|0)|0,K0=e[Z0>>2]|0,e[g>>2]=K0,N0=D8(T1)|0,M0=g+4|0,e[M0>>2]=N0,P0=g+8|0,W0=g+24|0,e[P0>>2]=0,e[P0+4>>2]=0,e[P0+8>>2]=0,e[P0+12>>2]=0,J0=W0,V0=J0,e[V0>>2]=2,j0=J0+4|0,q0=j0,e[q0>>2]=0,SC(T1),d=0,C=X2,d|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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,I=M1,d5=-130}return(l5|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[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,p=S1+64|0,I=p,d5=_5),SC(T1),Y0=e[I>>2]|0,z0=(Y0|0)==0,z0||E2(Y0),r1=S1+68|0,L0=e[r1>>2]|0,s1=(L0|0)==0,s1||E2(L0),d1=S1+72|0,u1=e[d1>>2]|0,E1=(u1|0)==0,E1||E2(u1),e[I>>2]=0,e[r1>>2]=0,e[d1>>2]=0,d=d5,C=X2,d|0}function kb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0;for($0=C,H2(t,3,8),H2(t,118,8),H2(t,111,8),H2(t,114,8),H2(t,98,8),H2(t,105,8),H2(t,115,8),H2(t,44,32),A=1200,g=44;p=g+-1|0,I=A+1|0,R=f[A>>0]|0,j=R<<24>>24,H2(t,j,8),J=(p|0)==0,!J;)A=I,g=p;if(s0=s+8|0,Y=e[s0>>2]|0,H2(t,Y,32),d0=e[s0>>2]|0,i0=(d0|0)>0,!i0){H2(t,1,1);return}for(e0=s+4|0,h0=0;;){if(E=e[s>>2]|0,y=E+(h0<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b)H2(t,0,32);else if(D=e[e0>>2]|0,k=D+(h0<<2)|0,v=e[k>>2]|0,H2(t,v,32),_=e[e0>>2]|0,Q=_+(h0<<2)|0,L=e[Q>>2]|0,M=(L|0)==0,!M)for(N=e[s>>2]|0,G=N+(h0<<2)|0,O=e[G>>2]|0,$=O,d=L;q=d+-1|0,V=$+1|0,K=f[$>>0]|0,t0=K<<24>>24,H2(t,t0,8),Z=(q|0)==0,!Z;)$=V,d=q;if(A0=h0+1|0,r0=e[s0>>2]|0,o0=(A0|0)<(r0|0),o0)h0=A0;else break}H2(t,1,1)}function wy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0;if(z1=C,E=$+1|0,y=E<<3,g=y,N=C,C=C+((1*g|0)+15&-16)|0,o0=$<<3,d=o0,X=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)q=0;else{for(H0=$;;){if(Y0=(H0|0)<(A|0),Y0)for(Q1=0,R1=H0;;)if(A1=t+(R1<<2)|0,B1=+o[A1>>2],B=B1,b=R1-H0|0,D=t+(b<<2)|0,k=+o[D>>2],v=k,_=v*B,Q=_+Q1,L=R1+1|0,_1=(L|0)==(A|0),_1){p1=Q;break}else Q1=Q,R1=L;else p1=0;if(R=N+(H0<<3)|0,c1[R>>3]=p1,M=H0+-1|0,G=(H0|0)==0,G)break;H0=M}I=+c1[N>>3],q=I}if(O=q*1.0000000001,V=q*1e-9,K=V+1e-10,t0=($|0)>0,t0)y1=O,F1=0;else return S1=O,X0=S1,C=z1,+X0;for(;;){if(D1=F1+1|0,Z=y1>3],Y=-s0,d0=(F1|0)>0,d0){for(O1=0,H1=Y;;)if(h0=X+(O1<<3)|0,c0=+c1[h0>>3],$0=F1-O1|0,l0=N+($0<<3)|0,m0=+c1[l0>>3],g0=m0*c0,I0=H1-g0,n0=O1+1|0,b1=(n0|0)==(F1|0),b1){p=I0;break}else O1=n0,H1=I0;if(f0=p/y1,p0=X+(F1<<3)|0,c1[p0>>3]=f0,C0=(F1|0)/2&-1,b0=(F1|0)>1,b0){for(y0=F1+-1|0,D0=(C0|0)>1,G1=0;Q0=X+(G1<<3)|0,w0=+c1[Q0>>3],B0=y0-G1|0,x0=X+(B0<<3)|0,Z0=+c1[x0>>3],R0=Z0*f0,v0=R0+w0,c1[Q0>>3]=v0,G0=w0*f0,U0=+c1[x0>>3],O0=U0+G0,c1[x0>>3]=O0,k0=G1+1|0,K0=(k0|0)<(C0|0),K0;)G1=k0;V1=D0?C0:1,V0=f0,X1=V1}else V0=f0,X1=0}else i0=Y/y1,e0=X+(F1<<3)|0,c1[e0>>3]=i0,V0=i0,X1=0;if(N0=F1&1,M0=(N0|0)==0,M0||(P0=X+(X1<<3)|0,W0=+c1[P0>>3],J0=W0*V0,j0=J0+W0,c1[P0>>3]=j0),q0=V0*V0,o1=1-q0,z0=o1*y1,r1=(D1|0)<($|0),r1)y1=z0,F1=D1;else{k1=z0;break}}if((Y1|0)==8&&(A0=X+(P1<<3)|0,j=$-P1|0,r0=j<<3,g4(A0|0,0,r0|0)|0,k1=v1),t0)C1=.99,x1=0;else return S1=k1,X0=S1,C=z1,+X0;for(;L0=X+(x1<<3)|0,s1=+c1[L0>>3],d1=s1*C1,c1[L0>>3]=d1,u1=C1*.99,E1=x1+1|0,M1=(E1|0)==($|0),!M1;)C1=u1,x1=E1;if(t0)J1=0;else return S1=k1,X0=S1,C=z1,+X0;for(;;)if(f1=X+(J1<<3)|0,h1=+c1[f1>>3],g1=h1,a1=s+(J1<<2)|0,o[a1>>2]=g1,$1=J1+1|0,L1=($1|0)==($|0),L1){S1=k1;break}else J1=$1;return X0=S1,C=z1,+X0}function vy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0;if(e0=C,I=g+A|0,E=I<<2,d=E,M=C,C=C+((1*d|0)+15&-16)|0,G=(s|0)==0,O=(A|0)>0,G?O&&(V=A<<2,g4(M|0,0,V|0)|0):O&&(q=A<<2,c9(M|0,s|0,q|0)|0),K=(g|0)>0,!K){C=e0;return}if(t0=(A|0)>0,t0)r0=0,o0=A;else{Z=g<<2,g4(M|0,0,Z|0)|0,g4($|0,0,Z|0)|0,C=e0;return}for(;;){for(s0=r0,Y=A,d0=0;;)if(D=s0+1|0,k=M+(s0<<2)|0,v=+o[k>>2],_=Y+-1|0,Q=t+(_<<2)|0,L=+o[Q>>2],R=L*v,N=d0-R,A0=(D|0)==(o0|0),A0){p=N;break}else s0=D,Y=_,d0=N;if(y=M+(o0<<2)|0,o[y>>2]=p,B=$+(r0<<2)|0,o[B>>2]=p,b=r0+1|0,J=o0+1|0,j=(b|0)==(g|0),j)break;r0=b,o0=J}C=e0}function Sb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,g=e[s>>2]|0,d=(g|0)>1,d?(H2(A,1,1),Q=e[s>>2]|0,Z=Q+-1|0,H2(A,Z,4)):H2(A,0,1),h0=s+1156|0,p0=e[h0>>2]|0,C0=(p0|0)>0,C0){if(H2(A,1,1),b0=e[h0>>2]|0,y0=b0+-1|0,H2(A,y0,8),D0=e[h0>>2]|0,p=(D0|0)>0,p)for(I=s+1160|0,E=t+4|0,y=s+2184|0,E0=0;B=I+(E0<<2)|0,b=e[B>>2]|0,D=e[E>>2]|0,k=D+-1|0,v=H8(k)|0,H2(A,b,v),_=y+(E0<<2)|0,L=e[_>>2]|0,R=e[E>>2]|0,M=R+-1|0,N=H8(M)|0,H2(A,L,N),G=E0+1|0,O=e[h0>>2]|0,q=(G|0)<(O|0),q;)E0=G}else H2(A,0,1);if(H2(A,0,2),V=e[s>>2]|0,K=(V|0)>1,K){if(t0=t+4|0,A0=e[t0>>2]|0,j=(A0|0)>0,j){for(r0=s+4|0,Q0=0;d0=r0+(Q0<<2)|0,i0=e[d0>>2]|0,H2(A,i0,4),e0=Q0+1|0,c0=e[t0>>2]|0,$0=(e0|0)<(c0|0),$0;)Q0=e0;$=e[s>>2]|0,o0=$,B0=13}}else o0=V,B0=13;if(!((B0|0)==13&&(J=(o0|0)>0,!J)))for(s0=s+1028|0,Y=s+1092|0,w0=0;H2(A,0,8),l0=s0+(w0<<2)|0,X=e[l0>>2]|0,H2(A,X,8),m0=Y+(w0<<2)|0,g0=e[m0>>2]|0,H2(A,g0,8),I0=w0+1|0,n0=e[s>>2]|0,f0=(I0|0)<(n0|0),f0;)w0=I0}function bb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0;a1=C,g=l9(1,3208)|0,d=t+28|0,Q=e[d>>2]|0,g4(g|0,0,3208)|0,Z=t+4|0,h0=e[Z>>2]|0,C0=(h0|0)<1;e:do if(C0)g1=24;else if(v0=r4(s,1)|0,J0=(v0|0)<0,J0)g1=24;else{if(z0=(v0|0)==0,z0)e[g>>2]=1;else if(r1=r4(s,4)|0,p=r1+1|0,e[g>>2]=p,I=(r1|0)<0,I)break;if(E=r4(s,1)|0,y=(E|0)<0,!y){if(B=(E|0)==0,!B){if(b=r4(s,8)|0,D=b+1|0,k=g+1156|0,e[k>>2]=D,v=(b|0)<0,v)break;for(_=g+1160|0,L=g+2184|0,$=e[Z>>2]|0,O=$,L0=0;;){if(G=O+-1|0,q=H8(G)|0,V=r4(s,q)|0,K=_+(L0<<2)|0,e[K>>2]=V,t0=e[Z>>2]|0,A0=t0+-1|0,j=H8(A0)|0,r0=r4(s,j)|0,o0=L+(L0<<2)|0,e[o0>>2]=r0,J=r0|V,s0=(J|0)<0,Y=(V|0)==(r0|0),u1=Y|s0,u1||(d0=e[Z>>2]|0,i0=(V|0)<(d0|0),e0=(r0|0)<(d0|0),E1=i0&e0,M=L0+1|0,!E1))break e;if(R=e[k>>2]|0,N=(M|0)<(R|0),N)O=d0,L0=M;else break}}if(c0=r4(s,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,X=(l0|0)>1,X){if(m0=e[Z>>2]|0,g0=(m0|0)>0,g0)for(I0=g+4|0,s1=0;;){if(B0=r4(s,4)|0,x0=I0+(s1<<2)|0,e[x0>>2]=B0,Z0=e[g>>2]|0,R0=(B0|0)>=(Z0|0),G0=(B0|0)<0,f1=G0|R0,Q0=s1+1|0,f1)break e;if(E0=e[Z>>2]|0,w0=(Q0|0)<(E0|0),w0)s1=Q0;else{n0=Z0,g1=17;break}}}else n0=l0,g1=17;if((g1|0)==17&&(f0=(n0|0)>0,!f0))return A=g,A|0;for(p0=g+1028|0,b0=Q+16|0,y0=g+1092|0,D0=Q+20|0,d1=0;;){if(r4(s,8)|0,k0=r4(s,8)|0,K0=p0+(d1<<2)|0,e[K0>>2]=k0,N0=e[b0>>2]|0,M0=(k0|0)>=(N0|0),P0=(k0|0)<0,h1=P0|M0,h1||(W0=r4(s,8)|0,V0=y0+(d1<<2)|0,e[V0>>2]=W0,j0=e[D0>>2]|0,q0=(W0|0)>=(j0|0),Y0=(W0|0)<0,A1=Y0|q0,O0=d1+1|0,A1))break e;if(U0=e[g>>2]|0,H0=(O0|0)<(U0|0),H0)d1=O0;else{A=g;break}}return A|0}}}while(!1);return(g1|0)==24&&(o1=(g|0)==0,o1)?(A=0,A|0):(E2(g),A=0,A|0)}function Db(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function _b(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0,y8=0,U8=0,sn=0,Sr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,br=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,Dr=0,hn=0,To=0,sr=0,No=0,ls=0,dn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,hs=0,ds=0,Po=0,_r=0,fs=0,p7=0,In=0,xr=0,or=0,Lr=0,J7=0,Mr=0,Is=0,W7=0,D7=0,_7=0,i7=0,x7=0,Rr=0,ar=0,Ar=0,Fr=0,E7=0,Oo=0,fi=0,$l=0,mn=0,pn=0;if(mn=C,L=t+64|0,R=e[L>>2]|0,n2=R+4|0,K3=e[n2>>2]|0,T9=K3+28|0,Z9=e[T9>>2]|0,Bo=R+104|0,m7=e[Bo>>2]|0,Mo=t+104|0,dn=e[Mo>>2]|0,M=t+36|0,r0=e[M>>2]|0,l0=K3+4|0,D0=e[l0>>2]|0,O0=D0<<2,$=O0,q0=C,C=C+((1*$|0)+15&-16)|0,h1=W8(t,O0)|0,v1=e[l0>>2]|0,O1=v1<<2,e2=W8(t,O1)|0,u2=e[l0>>2]|0,G2=u2<<2,Y2=W8(t,G2)|0,b2=dn+4|0,R5=+o[b2>>2],d2=e[l0>>2]|0,T2=d2<<2,g=T2,G5=C,C=C+((1*g|0)+15&-16)|0,G3=dn+8|0,U5=e[G3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,Z3=(Z9+544|0)+(f6<<2)|0,$6=e[Z3>>2]|0,U6=m7+56|0,Be=e[U6>>2]|0,Q9=(f6|0)!=0,u9=Q9?2:0,_=u9+U5|0,h9=Be+(_*52|0)|0,z9=t+40|0,e[z9>>2]=f6,h4=(d2|0)>0,h4)for(f9=+(r0|0),j3=4/f9,m8=(o[w2>>2]=j3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),b9=ct*7177114298428933e-22,j4=b9+-764.6162109375,c8=j4,c4=c8+.345,$i=c4,li=m7+4|0,Ji=t+24|0,f7=t+32|0,K8=$i+-764.6162109375,sn=r0+-1|0,go=(sn|0)>1,es=$i+-382.30810546875,Mr=R5,W7=0;;){if(yo=e[t>>2]|0,cn=yo+(W7<<2)|0,I7=e[cn>>2]|0,rs=W8(t,Lt)|0,Qo=e2+(W7<<2)|0,e[Qo>>2]=rs,wo=W8(t,Lt)|0,ns=h1+(W7<<2)|0,e[ns>>2]=wo,ss=e[Ji>>2]|0,os=e[j5>>2]|0,vo=e[f7>>2]|0,cD(I7,li,Z9,ss,os,vo),gn=e[j5>>2]|0,ko=(m7+12|0)+(gn<<2)|0,as=e[ko>>2]|0,So=e[as>>2]|0,bo=e[ns>>2]|0,ky(So,I7,bo),Do=e[j5>>2]|0,As=(m7+20|0)+(Do*12|0)|0,oD(As,I7),_o=e[I7>>2]|0,xo=_o&2147483647,Lo=+(xo>>>0),$s=Lo*7177114298428933e-22,Ro=K8+$s,Fo=Ro,un=Fo+.345,Dr=un,o[I7>>2]=Dr,hn=G5+(W7<<2)|0,o[hn>>2]=Dr,go)for(K=Dr,Rr=1;;)if(To=I7+(Rr<<2)|0,sr=+o[To>>2],No=sr*sr,ls=Rr+1|0,cs=I7+(ls<<2)|0,fn=+o[cs>>2],Go=fn*fn,gs=Go+No,us=(o[w2>>2]=gs,e[w2>>2]|0),Uo=us&2147483647,hs=+(Uo>>>0),ds=hs*35885571492144663e-23,Po=es+ds,_r=Po,N=_r+.345,G=N,O=ls>>1,q=I7+(O<<2)|0,o[q>>2]=G,V=G>K,V?(o[hn>>2]=G,br=G):br=K,t0=Rr+2|0,Z=(t0|0)<(sn|0),Z)K=br,Rr=t0;else{j=br;break}else j=Dr;if(A0=j>0,A0?(o[hn>>2]=0,J=0):J=j,o0=J>Mr,Is=o0?J:Mr,s0=W7+1|0,Y=e[l0>>2]|0,d0=(s0|0)<(Y|0),d0)Mr=Is,W7=s0;else{y=Lt,b=_t,J7=Is;break}}else D=(r0|0)/2&-1,k=D<<2,y=k,b=D,J7=R5;i0=W8(t,y)|0,e0=W8(t,y)|0,h0=e[l0>>2]|0,c0=(h0|0)>0;e:do if(c0){if($0=(r0|0)>1,X=m7+48|0,$0)_7=0;else{for(D7=0;;){o6=($6+4|0)+(D7<<2)|0,B6=e[o6>>2]|0,W3=h1+(D7<<2)|0,F3=e[W3>>2]|0,t6=e[t>>2]|0,R6=t6+(D7<<2)|0,c6=e[R6>>2]|0,s3=c6+(b<<2)|0,e[z9>>2]=f6,K6=W8(t,60)|0,A3=Y2+(D7<<2)|0,e[A3>>2]=K6,fi=K6,pn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(pn|0));if(_y(h9,s3,i0),g6=G5+(D7<<2)|0,y6=+o[g6>>2],xy(h9,c6,e0,J7,y6),ol(h9,i0,e0,1,c6,F3,s3),T3=($6+1028|0)+(B6<<2)|0,H6=e[T3>>2]|0,D6=(Z9+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,ee=(G6|0)==1,!ee){A=-1;break}if(Q6=e[X>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,re=sl(t,P3,s3,c6)|0,V6=e[A3>>2]|0,se=V6+28|0,e[se>>2]=re,ge=Nu(t)|0,Y6=(ge|0)==0,Y6||(F6=e[A3>>2]|0,te=F6+28|0,_6=e[te>>2]|0,P6=(_6|0)==0,P6||(ol(h9,i0,e0,2,c6,F3,s3),O3=e[T3>>2]|0,O6=e[X>>2]|0,oe=O6+(O3<<2)|0,he=e[oe>>2]|0,ne=sl(t,he,s3,c6)|0,ye=e[A3>>2]|0,Qe=ye+56|0,e[Qe>>2]=ne,ol(h9,i0,e0,0,c6,F3,s3),de=e[T3>>2]|0,fe=e[X>>2]|0,Ve=fe+(de<<2)|0,w6=e[Ve>>2]|0,q6=sl(t,w6,s3,c6)|0,ae=e[A3>>2]|0,e[ae>>2]=q6,Ye=e[T3>>2]|0,we=e[X>>2]|0,g9=we+(Ye<<2)|0,p9=e[g9>>2]|0,ze=e[A3>>2]|0,r9=e[ze>>2]|0,Fe=ze+28|0,ve=e[Fe>>2]|0,J6=Gt(t,p9,r9,ve,9362)|0,Ae=e[A3>>2]|0,w9=Ae+4|0,e[w9>>2]=J6,M9=e[T3>>2]|0,_e=e[X>>2]|0,R9=_e+(M9<<2)|0,F9=e[R9>>2]|0,G9=e[A3>>2]|0,q9=e[G9>>2]|0,n4=G9+28|0,v9=e[n4>>2]|0,H9=Gt(t,F9,q9,v9,18724)|0,Ke=e[A3>>2]|0,V9=Ke+8|0,e[V9>>2]=H9,U9=e[T3>>2]|0,E9=e[X>>2]|0,v4=E9+(U9<<2)|0,Ze=e[v4>>2]|0,ke=e[A3>>2]|0,k4=e[ke>>2]|0,V4=ke+28|0,nt=e[V4>>2]|0,Y9=Gt(t,Ze,k4,nt,28086)|0,Y4=e[A3>>2]|0,s4=Y4+12|0,e[s4>>2]=Y9,R4=e[T3>>2]|0,st=e[X>>2]|0,n9=st+(R4<<2)|0,u4=e[n9>>2]|0,C9=e[A3>>2]|0,T6=e[C9>>2]|0,K9=C9+28|0,Oe=e[K9>>2]|0,d9=Gt(t,u4,T6,Oe,37449)|0,s9=e[A3>>2]|0,d4=s9+16|0,e[d4>>2]=d9,f4=e[T3>>2]|0,k9=e[X>>2]|0,o4=k9+(f4<<2)|0,P9=e[o4>>2]|0,I4=e[A3>>2]|0,Se=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,S4=Gt(t,P9,Se,z4,46811)|0,S9=e[A3>>2]|0,I9=S9+20|0,e[I9>>2]=S4,z6=e[T3>>2]|0,F4=e[X>>2]|0,T4=F4+(z6<<2)|0,ot=e[T4>>2]|0,m9=e[A3>>2]|0,x9=e[m9>>2]|0,mt=m9+28|0,xe=e[mt>>2]|0,be=Gt(t,ot,x9,xe,56173)|0,O9=e[A3>>2]|0,a4=O9+24|0,e[a4>>2]=be,d8=e[T3>>2]|0,N4=e[X>>2]|0,f8=N4+(d8<<2)|0,_8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,_8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,x8=e[T3>>2]|0,Ht=e[X>>2]|0,Vt=Ht+(x8<<2)|0,Yt=e[Vt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,zt=e[pt>>2]|0,Kt=xt+56|0,r8=e[Kt>>2]|0,n8=Gt(t,Yt,zt,r8,18724)|0,Et=e[A3>>2]|0,K4=Et+36|0,e[K4>>2]=n8,G4=e[T3>>2]|0,at=e[X>>2]|0,Le=at+(G4<<2)|0,p8=e[Le>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,L8=e[E8>>2]|0,s8=b4+56|0,M8=e[s8>>2]|0,A4=Gt(t,p8,L8,M8,28086)|0,o8=e[A3>>2]|0,Jt=o8+40|0,e[Jt>>2]=A4,At=e[T3>>2]|0,J9=e[X>>2]|0,U4=J9+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,o9=Ct+56|0,lt=e[o9>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,yt=e[A3>>2]|0,p4=yt+44|0,e[p4>>2]=Bt,D4=e[T3>>2]|0,J4=e[X>>2]|0,W4=J4+(D4<<2)|0,a9=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,_4=P4+56|0,Qt=e[_4>>2]|0,a8=Gt(t,a9,gt,Qt,46811)|0,W9=e[A3>>2]|0,C3=W9+48|0,e[C3>>2]=a8,Z4=e[T3>>2]|0,wt=e[X>>2]|0,$4=wt+(Z4<<2)|0,je=e[$4>>2]|0,l4=e[A3>>2]|0,Te=l4+28|0,Wt=e[Te>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,je,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=D7+1|0,ut=e[l0>>2]|0,ht=(jt|0)<(ut|0),ht)D7=jt;else{B=X,Tt=ut;break e}}return C=mn,A|0}for(;;){N6=($6+4|0)+(_7<<2)|0,C0=e[N6>>2]|0,j6=h1+(_7<<2)|0,f0=e[j6>>2]|0,k6=e[t>>2]|0,R3=k6+(_7<<2)|0,n0=e[R3>>2]|0,m0=n0+(b<<2)|0,e[z9>>2]=f6,s6=W8(t,60)|0,v0=Y2+(_7<<2)|0,e[v0>>2]=s6,fi=s6,pn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(pn|0));for(ar=0;r6=f0+(ar<<2)|0,M3=e[r6>>2]|0,h3=M3&2147483647,J3=+(h3>>>0),d6=J3*7177114298428933e-22,m3=d6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,Q=ar+b|0,S6=n0+(Q<<2)|0,o[S6>>2]=M6,n6=ar+1|0,b6=(n6|0)<(b|0),b6;)ar=n6;if(_y(h9,m0,i0),g0=G5+(_7<<2)|0,I0=+o[g0>>2],xy(h9,n0,e0,J7,I0),ol(h9,i0,e0,1,n0,f0,m0),p0=($6+1028|0)+(C0<<2)|0,b0=e[p0>>2]|0,y0=(Z9+800|0)+(b0<<2)|0,E0=e[y0>>2]|0,Q0=(E0|0)==1,!Q0){A=-1;break}if(w0=e[X>>2]|0,B0=w0+(b0<<2)|0,x0=e[B0>>2]|0,Z0=sl(t,x0,m0,n0)|0,R0=e[v0>>2]|0,G0=R0+28|0,e[G0>>2]=Z0,U0=Nu(t)|0,H0=(U0|0)==0,H0||(k0=e[v0>>2]|0,K0=k0+28|0,N0=e[K0>>2]|0,M0=(N0|0)==0,M0||(ol(h9,i0,e0,2,n0,f0,m0),P0=e[p0>>2]|0,W0=e[X>>2]|0,J0=W0+(P0<<2)|0,V0=e[J0>>2]|0,j0=sl(t,V0,m0,n0)|0,Y0=e[v0>>2]|0,o1=Y0+56|0,e[o1>>2]=j0,ol(h9,i0,e0,0,n0,f0,m0),z0=e[p0>>2]|0,r1=e[X>>2]|0,L0=r1+(z0<<2)|0,s1=e[L0>>2]|0,d1=sl(t,s1,m0,n0)|0,u1=e[v0>>2]|0,e[u1>>2]=d1,E1=e[p0>>2]|0,f1=e[X>>2]|0,A1=f1+(E1<<2)|0,g1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,X0=a1+28|0,B1=e[X0>>2]|0,p1=Gt(t,g1,$1,B1,9362)|0,Q1=e[v0>>2]|0,C1=Q1+4|0,e[C1>>2]=p1,y1=e[p0>>2]|0,k1=e[X>>2]|0,S1=k1+(y1<<2)|0,L1=e[S1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,P1=e[v0>>2]|0,D1=P1+8|0,e[D1>>2]=F1,X1=e[p0>>2]|0,G1=e[X>>2]|0,x1=G1+(X1<<2)|0,J1=e[x1>>2]|0,H1=e[v0>>2]|0,V1=e[H1>>2]|0,Y1=H1+28|0,z1=e[Y1>>2]|0,t2=Gt(t,J1,V1,z1,28086)|0,o2=e[v0>>2]|0,q1=o2+12|0,e[q1>>2]=t2,h2=e[p0>>2]|0,Z1=e[X>>2]|0,I2=Z1+(h2<<2)|0,A2=e[I2>>2]|0,C2=e[v0>>2]|0,$2=e[C2>>2]|0,W1=C2+28|0,f2=e[W1>>2]|0,g2=Gt(t,A2,$2,f2,37449)|0,s2=e[v0>>2]|0,l2=s2+16|0,e[l2>>2]=g2,i2=e[p0>>2]|0,a2=e[X>>2]|0,m2=a2+(i2<<2)|0,r2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,y2=e[S2>>2]|0,M2=Gt(t,r2,D2,y2,46811)|0,O2=e[v0>>2]|0,p2=O2+20|0,e[p2>>2]=M2,W2=e[p0>>2]|0,q2=e[X>>2]|0,K2=q2+(W2<<2)|0,U2=e[K2>>2]|0,V2=e[v0>>2]|0,Z2=e[V2>>2]|0,A5=V2+28|0,N1=e[A5>>2]|0,t5=Gt(t,U2,Z2,N1,56173)|0,T5=e[v0>>2]|0,i5=T5+24|0,e[i5>>2]=t5,L5=e[p0>>2]|0,j2=e[X>>2]|0,m5=j2+(L5<<2)|0,D5=e[m5>>2]|0,V5=e[v0>>2]|0,u5=V5+28|0,B5=e[u5>>2]|0,o5=V5+56|0,F2=e[o5>>2]|0,R2=Gt(t,D5,B5,F2,9362)|0,Q2=e[v0>>2]|0,y5=Q2+32|0,e[y5>>2]=R2,N5=e[p0>>2]|0,p5=e[X>>2]|0,M5=p5+(N5<<2)|0,q5=e[M5>>2]|0,z2=e[v0>>2]|0,E5=z2+28|0,$5=e[E5>>2]|0,h5=z2+56|0,Q5=e[h5>>2]|0,T1=Gt(t,q5,$5,Q5,18724)|0,_5=e[v0>>2]|0,d5=_5+36|0,e[d5>>2]=T1,l5=e[p0>>2]|0,X2=e[X>>2]|0,w5=X2+(l5<<2)|0,r5=e[w5>>2]|0,a5=e[v0>>2]|0,f5=a5+28|0,J2=e[f5>>2]|0,I5=a5+56|0,n5=e[I5>>2]|0,F5=Gt(t,r5,J2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=F5,v5=e[p0>>2]|0,z5=e[X>>2]|0,i3=z5+(v5<<2)|0,C5=e[i3>>2]|0,I3=e[v0>>2]|0,d3=I3+28|0,W5=e[d3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,y3=Gt(t,C5,W5,a3,37449)|0,Z5=e[v0>>2]|0,x3=Z5+44|0,e[x3>>2]=y3,f3=e[p0>>2]|0,w3=e[X>>2]|0,e6=w3+(f3<<2)|0,V3=e[e6>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,a6=X5+56|0,Y3=e[a6>>2]|0,c3=Gt(t,V3,t3,Y3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,K5=e[X>>2]|0,H5=K5+(Q3<<2)|0,Y5=e[H5>>2]|0,b5=e[v0>>2]|0,z3=b5+28|0,l6=e[z3>>2]|0,n3=b5+56|0,l3=e[n3>>2]|0,U3=Gt(t,Y5,l6,l3,56173)|0,C6=e[v0>>2]|0,b3=C6+52|0,e[b3>>2]=U3)),L3=_7+1|0,D3=e[l0>>2]|0,A6=(L3|0)<(D3|0),A6)_7=L3;else{B=X,Tt=D3;break e}}return C=mn,A|0}else v=m7+48|0,B=v,Tt=h0;while(!1);for(o[b2>>2]=J7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,p=Ft,De=C,C=C+((1*p|0)+15&-16)|0,g8=Nu(t)|0,et=(g8|0)!=0,V8=et?0:7,Z8=m7+44|0,R8=t+24|0,u8=t+32|0,F8=Z9+2868|0,Y8=m7+52|0,E7=V8;;){if(j8=(dn+12|0)+(E7<<2)|0,dt=e[j8>>2]|0,H2(dt,0,1),Nt=e[Z8>>2]|0,H2(dt,f6,Nt),T8=e[j5>>2]|0,Xt=(T8|0)==0,Xt||(O4=e[R8>>2]|0,H2(dt,O4,1),C4=e[u8>>2]|0,H2(dt,C4,1)),A9=e[l0>>2]|0,N8=(A9|0)>0,N8)for(i7=0;;)if(qi=($6+4|0)+(i7<<2)|0,Hi=e[qi>>2]|0,Vi=e2+(i7<<2)|0,Ei=e[Vi>>2]|0,X8=($6+1028|0)+(Hi<<2)|0,Ci=e[X8>>2]|0,ei=e[B>>2]|0,Bi=ei+(Ci<<2)|0,ti=e[Bi>>2]|0,yi=Y2+(i7<<2)|0,g7=e[yi>>2]|0,Yi=g7+(E7<<2)|0,Qi=e[Yi>>2]|0,wi=ub(dt,t,ti,Qi,Ei)|0,u7=q0+(i7<<2)|0,e[u7>>2]=wi,vi=i7+1|0,ci=e[l0>>2]|0,h7=(vi|0)<(ci|0),h7)i7=vi;else{I=ci;break}else I=A9;if(zi=e[j5>>2]|0,Ki=((Z9+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ki>>2]|0,Gb(E7,F8,h9,$6,h1,e2,q0,Wi,I),gi=e[$6>>2]|0,ki=(gi|0)>0,ki)for(x7=0;;){if(Zi=($6+1092|0)+(x7<<2)|0,ii=e[Zi>>2]|0,ui=e[l0>>2]|0,z8=(ui|0)>0,z8)for(ln=ui,p7=0,Ar=0;;)if(ri=($6+4|0)+(Ar<<2)|0,d7=e[ri>>2]|0,ji=(d7|0)==(x7|0),ji?(Si=De+(p7<<2)|0,Xi=q0+(Ar<<2)|0,bi=e[Xi>>2]|0,Oo=(bi|0)!=0,s=Oo&1,e[Si>>2]=s,Di=e2+(Ar<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ni=X4+(p7<<2)|0,e[ni>>2]=e7,E=e[l0>>2]|0,hi=E,In=_i):(hi=ln,In=p7),xi=Ar+1|0,t7=(xi|0)<(hi|0),t7)ln=hi,p7=In,Ar=xi;else{fs=In;break}else fs=0;if(Li=(Z9+1312|0)+(ii<<2)|0,x4=e[Li>>2]|0,Mi=25648+(x4<<2)|0,G8=e[Mi>>2]|0,di=G8+20|0,$e=e[di>>2]|0,B8=e[Y8>>2]|0,vt=B8+(ii<<2)|0,y8=e[vt>>2]|0,U8=PC[$e&7](t,y8,X4,De,fs)|0,Sr=e[l0>>2]|0,ao=(Sr|0)>0,ao)for(or=0,Fr=0;;)if(zn=($6+4|0)+(Fr<<2)|0,Ao=e[zn>>2]|0,Kn=(Ao|0)==(x7|0),Kn?($o=e2+(Fr<<2)|0,lo=e[$o>>2]|0,Jn=or+1|0,co=X4+(or<<2)|0,e[co>>2]=lo,Lr=Jn):Lr=or,on=Fr+1|0,uo=(on|0)<(Sr|0),uo)or=Lr,Fr=on;else{xr=Lr;break}else xr=0;if(ho=e[Li>>2]|0,Wn=25648+(ho<<2)|0,fo=e[Wn>>2]|0,Zn=fo+24|0,jn=e[Zn>>2]|0,Io=e[Y8>>2]|0,an=Io+(ii<<2)|0,Xn=e[an>>2]|0,Xy[jn&3](dt,t,Xn,X4,De,xr,U8,x7)|0,An=x7+1|0,ts=e[$6>>2]|0,mo=(An|0)<(ts|0),mo)x7=An;else break}if(po=E7+1|0,Eo=Nu(t)|0,$n=(Eo|0)!=0,is=$n?14:7,Co=(E7|0)<(is|0),Co)E7=po;else{A=0;break}}return C=mn,A|0}function xb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0;if(T2=C,D=t+64|0,k=e[D>>2]|0,Q1=k+4|0,F1=e[Q1>>2]|0,z1=F1+28|0,W1=e[z1>>2]|0,k2=k+104|0,U2=e[k2>>2]|0,m5=t+28|0,N5=e[m5>>2]|0,v=W1+(N5<<2)|0,K=e[v>>2]|0,i0=t+36|0,e[i0>>2]=K,f0=F1+4|0,Z0=e[f0>>2]|0,P0=Z0<<2,g=P0,s1=C,C=C+((1*g|0)+15&-16)|0,d=P0,X0=C,C=C+((1*d|0)+15&-16)|0,p=P0,B1=C,C=C+((1*p|0)+15&-16)|0,I=P0,p1=C,C=C+((1*I|0)+15&-16)|0,C1=e[f0>>2]|0,y1=(C1|0)>0,y1)for(v1=s+4|0,k1=s+1028|0,S1=U2+48|0,L1=K<<1,M1=L1&2147483646,X2=0;;)if(O1=v1+(X2<<2)|0,X1=e[O1>>2]|0,G1=k1+(X1<<2)|0,x1=e[G1>>2]|0,J1=(W1+800|0)+(x1<<2)|0,H1=e[J1>>2]|0,V1=25640+(H1<<2)|0,Y1=e[V1>>2]|0,t2=Y1+20|0,o2=e[t2>>2]|0,e2=e[S1>>2]|0,q1=e2+(x1<<2)|0,h2=e[q1>>2]|0,Z1=pi[o2&15](t,h2)|0,I2=p1+(X2<<2)|0,e[I2>>2]=Z1,A2=B1+(X2<<2)|0,e5=(Z1|0)!=0,A=e5&1,e[A2>>2]=A,C2=e[t>>2]|0,$2=C2+(X2<<2)|0,f2=e[$2>>2]|0,g4(f2|0,0,M1|0)|0,g2=X2+1|0,n2=e[f0>>2]|0,u2=(g2|0)<(n2|0),u2)X2=g2;else{a1=n2;break}else a1=C1;if(b1=s+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(P1=s+1160|0,D1=s+2184|0,d2=0;r2=P1+(d2<<2)|0,D2=e[r2>>2]|0,S2=B1+(D2<<2)|0,y2=e[S2>>2]|0,G2=(y2|0)==0,M2=D1+(d2<<2)|0,O2=e[M2>>2]|0,G2?(p2=B1+(O2<<2)|0,W2=e[p2>>2]|0,q2=(W2|0)==0,q2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,K2=B1+(O2<<2)|0,e[K2>>2]=1),V2=d2+1|0,Z2=(V2|0)<(_1|0),Z2;)d2=V2;if(s2=e[s>>2]|0,l2=(s2|0)>0,l2){for(i2=s+1092|0,a2=U2+52|0,m2=s+4|0,A5=a1,w5=0;;){if(Y2=(A5|0)>0,Y2)for($1=A5,d5=0,I5=0;;)if(N1=m2+(I5<<2)|0,t5=e[N1>>2]|0,T5=(t5|0)==(w5|0),T5?(i5=B1+(I5<<2)|0,L5=e[i5>>2]|0,j2=X0+(d5<<2)|0,F5=(L5|0)!=0,$=F5&1,e[j2>>2]=$,D5=e[t>>2]|0,V5=D5+(I5<<2)|0,u5=e[V5>>2]|0,b2=d5+1|0,B5=s1+(d5<<2)|0,e[B5>>2]=u5,B=e[f0>>2]|0,R2=B,l5=b2):(R2=$1,l5=d5),o5=I5+1|0,F2=(o5|0)<(R2|0),F2)$1=R2,d5=l5,I5=o5;else{_5=l5;break}else _5=0;if(Q2=i2+(w5<<2)|0,y5=e[Q2>>2]|0,p5=(W1+1312|0)+(y5<<2)|0,M5=e[p5>>2]|0,q5=25648+(M5<<2)|0,R5=e[q5>>2]|0,z2=R5+28|0,E5=e[z2>>2]|0,$5=e[a2>>2]|0,h5=$5+(y5<<2)|0,Q5=e[h5>>2]|0,PC[E5&7](t,Q5,s1,X0,_5)|0,T1=w5+1|0,_=e[s>>2]|0,Q=(T1|0)<(_|0),!Q)break;y=e[f0>>2]|0,A5=y,w5=T1}b=e[b1>>2]|0,L=b}else L=_1;if(R=(L|0)>0,R)for(M=s+1160|0,N=e[t>>2]|0,G=s+2184|0,O=(K|0)/2&-1,q=(K|0)>1,a5=L;;){if(r5=a5+-1|0,o0=M+(r5<<2)|0,J=e[o0>>2]|0,s0=N+(J<<2)|0,Y=e[s0>>2]|0,d0=G+(r5<<2)|0,e0=e[d0>>2]|0,h0=N+(e0<<2)|0,c0=e[h0>>2]|0,q)for(n5=0;;){$0=Y+(n5<<2)|0,l0=+o[$0>>2],X=c0+(n5<<2)|0,m0=+o[X>>2],g0=l0>0,I0=m0>0;do if(g0)if(I0){o[$0>>2]=l0,n0=l0-m0,o[X>>2]=n0;break}else{o[X>>2]=l0,p0=m0+l0,o[$0>>2]=p0;break}else if(I0){o[$0>>2]=l0,C0=m0+l0,o[X>>2]=C0;break}else{o[X>>2]=l0,b0=l0-m0,o[$0>>2]=b0;break}while(!1);if(y0=n5+1|0,D0=(y0|0)<(O|0),D0)n5=y0;else break}if(V=(a5|0)>1,V)a5=r5;else break}if(t0=e[f0>>2]|0,Z=(t0|0)>0,!Z)return C=T2,0;for(A0=s+4|0,j=s+1028|0,r0=U2+48|0,f5=0;;)if(Q0=e[t>>2]|0,w0=Q0+(f5<<2)|0,B0=e[w0>>2]|0,x0=A0+(f5<<2)|0,R0=e[x0>>2]|0,v0=j+(R0<<2)|0,G0=e[v0>>2]|0,U0=(W1+800|0)+(G0<<2)|0,O0=e[U0>>2]|0,H0=25640+(O0<<2)|0,k0=e[H0>>2]|0,K0=k0+24|0,N0=e[K0>>2]|0,M0=e[r0>>2]|0,W0=M0+(G0<<2)|0,J0=e[W0>>2]|0,V0=p1+(f5<<2)|0,j0=e[V0>>2]|0,GC[N0&3](t,J0,j0,B0)|0,q0=f5+1|0,Y0=e[f0>>2]|0,o1=(q0|0)<(Y0|0),o1)f5=q0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=T2,0;for(J2=0;z0=e[t>>2]|0,r1=z0+(J2<<2)|0,L0=e[r1>>2]|0,d1=e[m5>>2]|0,u1=(U2+12|0)+(d1<<2)|0,E1=e[u1>>2]|0,f1=e[E1>>2]|0,Lb(f1,L0,L0),h1=J2+1|0,A1=e[f0>>2]|0,g1=(h1|0)<(A1|0),g1;)J2=h1;return C=T2,0}function LC(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0;if(b1=C,A=(s|0)/4&-1,$=A<<2,v=Re($)|0,K=A+s|0,i0=K<<2,f0=Re(i0)|0,Z0=s>>1,P0=+(s|0),s1=P0,B1=+rn(+s1),g=B1*1.4426950408889634,d=+z7(g),p=~~d,I=t+4|0,e[I>>2]=p,e[t>>2]=s,E=t+8|0,e[E>>2]=f0,y=t+12|0,e[y>>2]=v,B=(s|0)>3,!B){X0=4/P0,p1=t+16|0,o[p1>>2]=X0;return}for(b=+(s|0),D=3.141592653589793/b,k=s<<1,_=+(k|0),Q=3.141592653589793/_,v1=0;G=v1<<2,O=+(G|0),q=D*O,V=+aA(+q),t0=V,Z=v1<<1,A0=f0+(Z<<2)|0,o[A0>>2]=t0,j=+Vn(+q),r0=j,o0=-r0,J=Z|1,s0=f0+(J<<2)|0,o[s0>>2]=o0,Y=+(J|0),d0=Q*Y,e0=+aA(+d0),h0=e0,c0=Z+Z0|0,$0=f0+(c0<<2)|0,o[$0>>2]=h0,l0=+Vn(+d0),X=l0,m0=c0+1|0,g0=f0+(m0<<2)|0,o[g0>>2]=X,I0=v1+1|0,n0=(I0|0)<(A|0),n0;)v1=I0;if(L=(s|0)/8&-1,R=(s|0)>7,!R){X0=4/P0,p1=t+16|0,o[p1>>2]=X0;return}for(M=+(s|0),N=3.141592653589793/M,k1=0;p0=k1<<2,C0=p0|2,b0=+(C0|0),y0=N*b0,D0=+aA(+y0),E0=D0*.5,Q0=E0,w0=k1<<1,B0=w0+s|0,x0=f0+(B0<<2)|0,o[x0>>2]=Q0,R0=+Vn(+y0),v0=R0*-.5,G0=v0,U0=B0+1|0,O0=f0+(U0<<2)|0,o[O0>>2]=G0,H0=k1+1|0,k0=(H0|0)<(L|0),k0;)k1=H0;if(K0=p+-1|0,N0=1<>2]=X0;return}for(;;){for(j0=J0,Q1=0,L1=0;;)if(V0=j0&S1,q0=(V0|0)==0,Y0=1<>z0,L0=(r1|0)==0,L0){y1=C1;break}else j0=r1,Q1=C1,L1=z0;if(d1=y1^-1,u1=M0&d1,E1=u1+-1|0,f1=S1<<1,h1=v+(f1<<2)|0,e[h1>>2]=E1,A1=f1|1,g1=v+(A1<<2)|0,e[g1>>2]=y1,a1=S1+1|0,$1=(a1|0)<(L|0),$1)S1=a1;else break}X0=4/P0,p1=t+16|0,o[p1>>2]=X0}function MC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;y=C,s=(t|0)==0,!s&&(A=t+8|0,$=e[A>>2]|0,g=($|0)==0,g||E2($),d=t+12|0,p=e[d>>2]|0,I=(p|0)==0,I||E2(p),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 Lb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0;for(J3=C,p=e[t>>2]|0,I=p>>1,e2=p>>2,$=I+-7|0,W2=s+($<<2)|0,g=I+e2|0,i5=A+(g<<2)|0,R2=t+8|0,h5=e[R2>>2]|0,f5=h5+(e2<<2)|0,u3=f5,H5=W2,L3=i5;C5=L3+-16|0,w3=H5+8|0,E=+o[w3>>2],M=u3+12|0,r0=+o[M>>2],l0=E*r0,D0=-l0,O0=+o[H5>>2],q0=u3+8|0,h1=+o[q0>>2],v1=h1*O0,O1=D0-v1,o[C5>>2]=O1,q1=+o[H5>>2],u2=+o[M>>2],k2=u2*q1,D2=+o[w3>>2],S2=+o[q0>>2],y2=S2*D2,G2=k2-y2,M2=L3+-12|0,o[M2>>2]=G2,O2=H5+24|0,p2=+o[O2>>2],q2=u3+4|0,K2=+o[q2>>2],U2=p2*K2,V2=-U2,Z2=H5+16|0,A5=+o[Z2>>2],Y2=+o[u3>>2],N1=Y2*A5,t5=V2-N1,T5=L3+-8|0,o[T5>>2]=t5,L5=+o[Z2>>2],j2=+o[q2>>2],m5=j2*L5,D5=+o[O2>>2],V5=+o[u3>>2],u5=V5*D5,b2=m5-u5,B5=L3+-4|0,o[B5>>2]=b2,o5=H5+-32|0,F2=u3+16|0,Q2=o5>>>0>>0,!Q2;)u3=F2,H5=o5,L3=C5;for(y5=A+(I<<2)|0,d=I+-8|0,N5=s+(d<<2)|0,Q3=f5,Y5=N5,D3=i5;p5=Q3+-16|0,M5=Y5+16|0,q5=+o[M5>>2],R5=Q3+-4|0,z2=+o[R5>>2],E5=z2*q5,$5=Y5+24|0,Q5=+o[$5>>2],T1=Q3+-8|0,_5=+o[T1>>2],d5=_5*Q5,l5=d5+E5,o[D3>>2]=l5,X2=+o[M5>>2],d2=+o[T1>>2],w5=d2*X2,r5=+o[$5>>2],a5=+o[R5>>2],J2=a5*r5,I5=w5-J2,n5=D3+4|0,o[n5>>2]=I5,F5=+o[Y5>>2],e5=Q3+-12|0,c5=+o[e5>>2],T2=c5*F5,v5=Y5+8|0,z5=+o[v5>>2],i3=+o[p5>>2],I3=i3*z5,d3=I3+T2,W5=D3+8|0,o[W5>>2]=d3,r3=+o[Y5>>2],a3=+o[p5>>2],y3=a3*r3,G5=+o[v5>>2],Z5=+o[e5>>2],x3=Z5*G5,f3=y3-x3,e6=D3+12|0,o[e6>>2]=f3,V3=Y5+-32|0,X5=D3+16|0,_3=V3>>>0>>0,!_3;)Q3=p5,Y5=V3,D3=X5;for(l6=t+4|0,n3=e[l6>>2]|0,Sy(n3,h5,y5,I),l3=e[t>>2]|0,U3=e[R2>>2]|0,C6=t+12|0,b3=e[C6>>2]|0,by(l3,U3,b3,A),t3=e[R2>>2]|0,a6=t3+(I<<2)|0,K5=a6,b5=A,A6=i5,j5=i5;G3=A6+-16|0,Y3=+o[b5>>2],c3=K5+4|0,g3=+o[c3>>2],y=g3*Y3,B=b5+4|0,b=+o[B>>2],D=+o[K5>>2],k=D*b,v=y-k,_=A6+-4|0,o[_>>2]=v,Q=+o[b5>>2],L=+o[K5>>2],R=L*Q,N=+o[B>>2],G=+o[c3>>2],O=G*N,q=R+O,V=-q,o[j5>>2]=V,K=b5+8|0,t0=+o[K>>2],Z=K5+12|0,A0=+o[Z>>2],j=A0*t0,o0=b5+12|0,J=+o[o0>>2],s0=K5+8|0,Y=+o[s0>>2],d0=Y*J,i0=j-d0,e0=A6+-8|0,o[e0>>2]=i0,h0=+o[K>>2],c0=+o[s0>>2],$0=c0*h0,X=+o[o0>>2],m0=+o[Z>>2],g0=m0*X,I0=$0+g0,n0=-I0,f0=j5+4|0,o[f0>>2]=n0,p0=b5+16|0,C0=+o[p0>>2],b0=K5+20|0,y0=+o[b0>>2],E0=y0*C0,Q0=b5+20|0,w0=+o[Q0>>2],B0=K5+16|0,x0=+o[B0>>2],Z0=x0*w0,R0=E0-Z0,v0=A6+-12|0,o[v0>>2]=R0,G0=+o[p0>>2],U0=+o[B0>>2],H0=U0*G0,k0=+o[Q0>>2],K0=+o[b0>>2],N0=K0*k0,M0=H0+N0,P0=-M0,W0=j5+8|0,o[W0>>2]=P0,J0=b5+24|0,V0=+o[J0>>2],j0=K5+28|0,Y0=+o[j0>>2],o1=Y0*V0,z0=b5+28|0,r1=+o[z0>>2],L0=K5+24|0,s1=+o[L0>>2],d1=s1*r1,u1=o1-d1,o[G3>>2]=u1,E1=+o[J0>>2],f1=+o[L0>>2],A1=f1*E1,g1=+o[z0>>2],a1=+o[j0>>2],$1=a1*g1,X0=A1+$1,B1=-X0,p1=j5+12|0,o[p1>>2]=B1,Q1=j5+16|0,C1=b5+32|0,y1=K5+32|0,k1=C1>>>0>>0,k1;)K5=y1,b5=C1,A6=G3,j5=Q1;for(S1=A+(e2<<2)|0,z3=i5,r6=S1,M3=S1;;)if(L1=r6+-16|0,M1=z3+-16|0,b1=z3+-4|0,_1=+o[b1>>2],R1=r6+-4|0,o[R1>>2]=_1,F1=-_1,o[M3>>2]=F1,P1=z3+-8|0,D1=+o[P1>>2],X1=r6+-8|0,o[X1>>2]=D1,G1=-D1,x1=M3+4|0,o[x1>>2]=G1,J1=z3+-12|0,H1=+o[J1>>2],V1=r6+-12|0,o[V1>>2]=H1,Y1=-H1,z1=M3+8|0,o[z1>>2]=Y1,t2=+o[M1>>2],o[L1>>2]=t2,o2=-t2,h2=M3+12|0,o[h2>>2]=o2,Z1=M3+16|0,I2=Z1>>>0>>0,I2)z3=M1,r6=L1,M3=Z1;else{U5=i5,K3=i5;break}for(;A2=K3+-16|0,C2=U5+12|0,$2=e[C2>>2]|0,e[A2>>2]=$2,W1=U5+8|0,f2=e[W1>>2]|0,g2=K3+-12|0,e[g2>>2]=f2,n2=U5+4|0,s2=e[n2>>2]|0,l2=K3+-8|0,e[l2>>2]=s2,i2=e[U5>>2]|0,a2=K3+-4|0,e[a2>>2]=i2,m2=U5+16|0,r2=A2>>>0>y5>>>0,r2;)U5=m2,K3=A2}function ky(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0;if(z5=C,k=e[t>>2]|0,v=k>>1,o1=k>>2,g1=k>>3,S1=k<<2,$=S1,G1=C,C=C+((1*$|0)+15&-16)|0,h2=G1+(v<<2)|0,g=v+o1|0,s2=s+(g<<2)|0,M2=t+8|0,N1=e[M2>>2]|0,_=N1+(v<<2)|0,t0=(g1|0)>0,t0){for(d=g+1|0,e0=s+(d<<2)|0,p0=g1+-1|0,R0=p0>>>1,W0=R0<<1,V0=v+-2|0,j0=V0-W0|0,q0=g+-4|0,Y0=R0<<2,z0=q0-Y0|0,o5=_,M5=0,f5=s2,F5=e0;r1=f5+-16|0,L0=o5+-8|0,s1=f5+-8|0,d1=+o[s1>>2],u1=+o[F5>>2],E1=u1+d1,f1=+o[r1>>2],h1=F5+8|0,A1=+o[h1>>2],a1=A1+f1,$1=o5+-4|0,X0=+o[$1>>2],B1=a1*X0,p1=+o[L0>>2],Q1=p1*E1,C1=Q1+B1,b=M5+v|0,y1=G1+(b<<2)|0,o[y1>>2]=C1,v1=+o[L0>>2],k1=v1*a1,L1=+o[$1>>2],M1=L1*E1,b1=k1-M1,_1=M5|1,D=_1+v|0,R1=G1+(D<<2)|0,o[R1>>2]=b1,F1=F5+16|0,P1=M5+2|0,D1=(P1|0)<(g1|0),D1;)o5=L0,M5=P1,f5=r1,F5=F1;O1=W0+2|0,d2=N1+(j0<<2)|0,w5=s+(z0<<2)|0,Y2=j0,B5=d2,p5=O1,a5=w5}else Y2=v,B5=_,p5=0,a5=s2;if(X1=s+4|0,x1=v-g1|0,J1=(p5|0)<(x1|0),J1){for(H1=v+-1|0,V1=H1-p5|0,Y1=V1-g1|0,z1=Y1>>>1,t2=z1<<1,o2=p5+t2|0,e2=z1<<2,q1=e2+5|0,Z1=-2-t2|0,R2=B5,R5=p5,J2=a5,c5=X1;I2=R2+-8|0,A2=J2+-16|0,C2=J2+-8|0,$2=+o[C2>>2],W1=+o[c5>>2],f2=$2-W1,g2=+o[A2>>2],n2=c5+8|0,u2=+o[n2>>2],l2=g2-u2,i2=R2+-4|0,a2=+o[i2>>2],m2=l2*a2,r2=+o[I2>>2],k2=r2*f2,D2=k2+m2,E=R5+v|0,S2=G1+(E<<2)|0,o[S2>>2]=D2,y2=+o[I2>>2],G2=y2*l2,O2=+o[i2>>2],p2=O2*f2,W2=G2-p2,q2=R5|1,y=q2+v|0,K2=G1+(y<<2)|0,o[K2>>2]=W2,U2=c5+16|0,V2=R5+2|0,Z2=(V2|0)<(x1|0),Z2;)R2=I2,R5=V2,J2=A2,c5=U2;A5=o2+2|0,l5=s+(q1<<2)|0,B=Y2+Z1|0,X2=N1+(B<<2)|0,F2=X2,q5=A5,e5=l5}else F2=B5,q5=p5,e5=X1;if(t5=(q5|0)<(v|0),t5)for(T5=s+(k<<2)|0,Q2=F2,z2=q5,I5=T5,T2=e5;i5=Q2+-8|0,L5=I5+-16|0,j2=I5+-8|0,m5=+o[j2>>2],D5=-m5,V5=+o[T2>>2],u5=D5-V5,b2=+o[L5>>2],Q=-b2,L=T2+8|0,R=+o[L>>2],M=Q-R,N=Q2+-4|0,G=+o[N>>2],O=M*G,q=+o[i5>>2],V=q*u5,K=V+O,p=z2+v|0,Z=G1+(p<<2)|0,o[Z>>2]=K,A0=+o[i5>>2],j=A0*M,r0=+o[N>>2],o0=r0*u5,J=j-o0,s0=z2|1,I=s0+v|0,Y=G1+(I<<2)|0,o[Y>>2]=J,d0=T2+16|0,i0=z2+2|0,h0=(i0|0)<(v|0),h0;)Q2=i5,z2=i0,I5=L5,T2=d0;if($5=t+4|0,h5=e[$5>>2]|0,Sy(h5,N1,h2,v),d5=e[t>>2]|0,Q5=e[M2>>2]|0,T1=t+12|0,_5=e[T1>>2]|0,by(d5,Q5,_5,G1),c0=(o1|0)>0,!c0){C=z5;return}for($0=A+(v<<2)|0,l0=e[M2>>2]|0,X=l0+(v<<2)|0,m0=t+16|0,y5=X,E5=0,r5=G1,n5=$0;g0=n5+-4|0,I0=+o[r5>>2],n0=+o[y5>>2],f0=n0*I0,C0=r5+4|0,b0=+o[C0>>2],y0=y5+4|0,D0=+o[y0>>2],E0=D0*b0,Q0=E0+f0,w0=+o[m0>>2],B0=Q0*w0,x0=A+(E5<<2)|0,o[x0>>2]=B0,Z0=+o[r5>>2],v0=+o[y0>>2],G0=v0*Z0,U0=+o[C0>>2],O0=+o[y5>>2],H0=O0*U0,k0=G0-H0,K0=+o[m0>>2],N0=k0*K0,o[g0>>2]=N0,M0=r5+8|0,P0=y5+8|0,J0=E5+1|0,N5=(J0|0)==(o1|0),!N5;)y5=P0,E5=J0,r5=M0,n5=g0;C=z5}function Sy(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0,y8=0,U8=0,sn=0,Sr=0;if(Sr=C,C0=t+-6|0,b0=(t|0)>6,b0)for(I=$+-8|0,V5=A+(I<<2)|0,T3=$>>1,B=T3+-8|0,e8=A+(B<<2)|0,g=s,B8=V5,y8=e8;dt=B8+24|0,Vi=+o[dt>>2],Qi=y8+24|0,ki=+o[Qi>>2],bi=Vi-ki,y0=B8+28|0,U0=+o[y0>>2],j0=y8+28|0,f1=+o[j0>>2],y1=U0-f1,D1=ki+Vi,o[dt>>2]=D1,o2=+o[j0>>2],g2=o2+U0,o[y0>>2]=g2,S2=g+4|0,Z2=+o[S2>>2],u5=Z2*y1,q5=+o[g>>2],X2=q5*bi,c5=X2+u5,o[Qi>>2]=c5,y3=+o[g>>2],a6=y3*y1,z3=+o[S2>>2],r6=z3*bi,S6=a6-r6,o[j0>>2]=S6,W3=B8+16|0,H6=+o[W3>>2],ge=y8+16|0,ne=+o[ge>>2],we=H6-ne,M9=B8+20|0,V9=+o[M9>>2],Y4=y8+20|0,d9=+o[Y4>>2],I6=V9-d9,x9=ne+H6,o[W3>>2]=x9,I8=+o[Y4>>2],Yt=I8+V9,o[M9>>2]=Yt,at=g+20|0,Jt=+o[at>>2],Bt=Jt*I6,_4=g+16|0,Te=+o[_4>>2],Ft=Te*we,u8=Ft+Bt,o[ge>>2]=u8,j8=+o[_4>>2],Nt=j8*I6,T8=+o[at>>2],Xt=T8*we,O4=Nt-Xt,o[Y4>>2]=O4,C4=B8+8|0,A9=+o[C4>>2],N8=y8+8|0,$i=+o[N8>>2],qi=A9-$i,Hi=B8+12|0,Ei=+o[Hi>>2],X8=y8+12|0,Ci=+o[X8>>2],ei=Ei-Ci,Bi=$i+A9,o[C4>>2]=Bi,ti=+o[X8>>2],yi=ti+Ei,o[Hi>>2]=yi,li=g+36|0,g7=+o[li>>2],Yi=g7*ei,wi=g+32|0,u7=+o[wi>>2],vi=u7*qi,ci=vi+Yi,o[N8>>2]=ci,h7=+o[wi>>2],zi=h7*ei,Ki=+o[li>>2],Ji=Ki*qi,Wi=zi-Ji,o[X8>>2]=Wi,gi=+o[B8>>2],Zi=+o[y8>>2],ii=gi-Zi,ui=B8+4|0,z8=+o[ui>>2],ri=y8+4|0,d7=+o[ri>>2],ji=z8-d7,f7=Zi+gi,o[B8>>2]=f7,Si=+o[ri>>2],Xi=Si+z8,o[ui>>2]=Xi,Di=g+52|0,e7=+o[Di>>2],_i=e7*ji,ni=g+48|0,xi=+o[ni>>2],t7=xi*ii,hi=t7+_i,o[y8>>2]=hi,K8=+o[ni>>2],Li=K8*ji,x4=+o[Di>>2],D0=x4*ii,E0=Li-D0,o[ri>>2]=E0,Q0=B8+-32|0,w0=y8+-32|0,B0=g+64|0,x0=w0>>>0>>0,!x0;)g=B0,B8=Q0,y8=w0;if(Z0=(C0|0)>1,Z0)for(G8=1;;){if(R0=1<>G8,O0=4<>1,b=H0+-8|0,q=O0+1|0,d0=O0<<1,$0=d0|1,m0=O0*3|0,I0=m0+1|0,f0=O0<<2,di=0;;){for(K0=s5(di,G0)|0,N0=A+(K0<<2)|0,p=E+K0|0,M0=A+(p<<2)|0,h0=b+K0|0,P0=A+(h0<<2)|0,d=s,vt=M0,U8=P0;W0=vt+24|0,J0=+o[W0>>2],V0=U8+24|0,q0=+o[V0>>2],Y0=J0-q0,o1=vt+28|0,z0=+o[o1>>2],r1=U8+28|0,L0=+o[r1>>2],s1=z0-L0,d1=q0+J0,o[W0>>2]=d1,u1=+o[r1>>2],E1=u1+z0,o[o1>>2]=E1,h1=d+4|0,A1=+o[h1>>2],g1=A1*s1,a1=+o[d>>2],$1=a1*Y0,X0=$1+g1,o[V0>>2]=X0,B1=+o[d>>2],p1=B1*s1,Q1=+o[h1>>2],C1=Q1*Y0,v1=p1-C1,o[r1>>2]=v1,k1=d+(O0<<2)|0,S1=vt+16|0,L1=+o[S1>>2],M1=U8+16|0,b1=+o[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+o[R1>>2],P1=U8+20|0,O1=+o[P1>>2],X1=F1-O1,G1=b1+L1,o[S1>>2]=G1,x1=+o[P1>>2],J1=x1+F1,o[R1>>2]=J1,H1=d+(q<<2)|0,V1=+o[H1>>2],Y1=V1*X1,z1=+o[k1>>2],t2=z1*_1,e2=t2+Y1,o[M1>>2]=e2,q1=+o[k1>>2],h2=q1*X1,Z1=+o[H1>>2],I2=Z1*_1,A2=h2-I2,o[P1>>2]=A2,C2=d+(d0<<2)|0,$2=vt+8|0,W1=+o[$2>>2],f2=U8+8|0,n2=+o[f2>>2],u2=W1-n2,s2=vt+12|0,l2=+o[s2>>2],i2=U8+12|0,a2=+o[i2>>2],m2=l2-a2,r2=n2+W1,o[$2>>2]=r2,k2=+o[i2>>2],D2=k2+l2,o[s2>>2]=D2,y2=d+($0<<2)|0,G2=+o[y2>>2],M2=G2*m2,O2=+o[C2>>2],p2=O2*u2,W2=p2+M2,o[f2>>2]=W2,q2=+o[C2>>2],K2=q2*m2,U2=+o[y2>>2],V2=U2*u2,A5=K2-V2,o[i2>>2]=A5,Y2=d+(m0<<2)|0,N1=+o[vt>>2],t5=+o[U8>>2],T5=N1-t5,i5=vt+4|0,L5=+o[i5>>2],j2=U8+4|0,m5=+o[j2>>2],D5=L5-m5,b2=t5+N1,o[vt>>2]=b2,B5=+o[j2>>2],o5=B5+L5,o[i5>>2]=o5,F2=d+(I0<<2)|0,R2=+o[F2>>2],Q2=R2*D5,y5=+o[Y2>>2],N5=y5*T5,p5=N5+Q2,o[U8>>2]=p5,M5=+o[Y2>>2],R5=M5*D5,z2=+o[F2>>2],E5=z2*T5,$5=R5-E5,o[j2>>2]=$5,h5=d+(f0<<2)|0,Q5=vt+-32|0,T1=U8+-32|0,_5=T1>>>0>>0,!_5;)d=h5,vt=Q5,U8=T1;if(d5=di+1|0,l5=(d5|0)<(R0|0),l5)di=d5;else break}if(d2=G8+1|0,Mi=(d2|0)==(C0|0),Mi)break;G8=d2}if(k0=($|0)>0,k0)$e=0;else return;for(;w5=A+($e<<2)|0,y=$e|30,r5=A+(y<<2)|0,a5=+o[r5>>2],O=$e|14,f5=A+(O<<2)|0,J2=+o[f5>>2],I5=a5-J2,Y=$e|31,n5=A+(Y<<2)|0,F5=+o[n5>>2],c0=$e|15,e5=A+(c0<<2)|0,T2=+o[e5>>2],v5=F5-T2,z5=J2+a5,o[r5>>2]=z5,i3=T2+F5,o[n5>>2]=i3,o[f5>>2]=I5,o[e5>>2]=v5,l0=$e|28,C5=A+(l0<<2)|0,I3=+o[C5>>2],X=$e|12,d3=A+(X<<2)|0,W5=+o[d3>>2],r3=I3-W5,g0=$e|29,a3=A+(g0<<2)|0,G5=+o[a3>>2],n0=$e|13,Z5=A+(n0<<2)|0,x3=+o[Z5>>2],f3=G5-x3,w3=W5+I3,o[C5>>2]=w3,e6=x3+G5,o[a3>>2]=e6,V3=r3*.9238795042037964,X5=f3*.3826834261417389,_3=V3-X5,o[d3>>2]=_3,t3=r3*.3826834261417389,G3=f3*.9238795042037964,Y3=G3+t3,o[Z5>>2]=Y3,p0=$e|26,c3=A+(p0<<2)|0,g3=+o[c3>>2],D=$e|10,u3=A+(D<<2)|0,Q3=+o[u3>>2],K5=g3-Q3,k=$e|27,H5=A+(k<<2)|0,Y5=+o[H5>>2],v=$e|11,b5=A+(v<<2)|0,U5=+o[b5>>2],l6=Y5-U5,n3=Q3+g3,o[c3>>2]=n3,l3=U5+Y5,o[H5>>2]=l3,U3=K5-l6,C6=U3*.7071067690849304,o[u3>>2]=C6,b3=l6+K5,L3=b3*.7071067690849304,o[b5>>2]=L3,_=$e|24,D3=A+(_<<2)|0,A6=+o[D3>>2],Q=$e|8,K3=A+(Q<<2)|0,j5=+o[K3>>2],M3=A6-j5,L=$e|25,h3=A+(L<<2)|0,J3=+o[h3>>2],R=$e|9,d6=A+(R<<2)|0,m3=+o[d6>>2],x6=J3-m3,L6=j5+A6,o[D3>>2]=L6,M6=m3+J3,o[h3>>2]=M6,n6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=n6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,k6=N6+j6,M=$e|22,R3=A+(M<<2)|0,s6=+o[R3>>2],N=$e|6,o6=A+(N<<2)|0,B6=+o[o6>>2],F3=s6-B6,G=$e|7,Z3=A+(G<<2)|0,t6=+o[Z3>>2],V=$e|23,R6=A+(V<<2)|0,c6=+o[R6>>2],s3=t6-c6,K6=B6+s6,o[R3>>2]=K6,A3=c6+t6,o[R6>>2]=A3,o[o6>>2]=s3,o[Z3>>2]=F3,K=$e|4,g6=A+(K<<2)|0,y6=+o[g6>>2],t0=$e|20,$6=A+(t0<<2)|0,D6=+o[$6>>2],G6=y6-D6,Z=$e|5,ee=A+(Z<<2)|0,Q6=+o[ee>>2],A0=$e|21,X6=A+(A0<<2)|0,P3=+o[X6>>2],re=Q6-P3,V6=D6+y6,o[$6>>2]=V6,se=P3+Q6,o[X6>>2]=se,U6=re*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,te=re*.3826834261417389,_6=G6*.9238795042037964,P6=te-_6,j=$e|2,O3=A+(j<<2)|0,O6=+o[O3>>2],r0=$e|18,oe=A+(r0<<2)|0,he=+o[oe>>2],Be=O6-he,o0=$e|3,ye=A+(o0<<2)|0,Qe=+o[ye>>2],J=$e|19,de=A+(J<<2)|0,fe=+o[de>>2],Ve=Qe-fe,w6=he+O6,o[oe>>2]=w6,q6=fe+Qe,o[de>>2]=q6,ae=Ve+Be,Ye=ae*.7071067690849304,Q9=Ve-Be,g9=Q9*.7071067690849304,p9=+o[w5>>2],s0=$e|16,ze=A+(s0<<2)|0,r9=+o[ze>>2],Fe=p9-r9,i0=$e|1,ve=A+(i0<<2)|0,J6=+o[ve>>2],e0=$e|17,Ae=A+(e0<<2)|0,w9=+o[Ae>>2],u9=J6-w9,_e=r9+p9,o[ze>>2]=_e,R9=w9+J6,o[Ae>>2]=R9,F9=u9*.3826834261417389,G9=Fe*.9238795042037964,q9=F9+G9,n4=u9*.9238795042037964,v9=Fe*.3826834261417389,H9=n4-v9,Ke=H9-k6,h9=q9-b6,U9=q9+b6,E9=H9+k6,v4=h9+Ke,Ze=Ke-h9,ke=+o[b5>>2],k4=g9-ke,V4=+o[u3>>2],nt=V4-Ye,Y9=V4+Ye,z9=ke+g9,s4=+o[d3>>2],R4=s4-F6,st=+o[Z5>>2],n9=st-P6,u4=s4+F6,C9=st+P6,T6=R4-n9,K9=n9+R4,Oe=+o[f5>>2],T9=Oe-s3,h4=+o[e5>>2],s9=h4-F3,d4=s3+Oe,f4=F3+h4,k9=T9+k4,o4=T9-k4,P9=T6+v4,I4=P9*.7071067690849304,Se=T6-v4,z4=Se*.7071067690849304,f9=I4+k9,o[o6>>2]=f9,S4=k9-I4,o[g6>>2]=S4,S9=K9-Ze,I9=S9*.7071067690849304,z6=s9-nt,F4=I9+o4,o[w5>>2]=F4,T4=o4-I9,o[O3>>2]=T4,ot=K9+Ze,m9=ot*.7071067690849304,mt=s9+nt,j3=z6+z4,o[ye>>2]=j3,xe=z6-z4,o[ve>>2]=xe,be=mt+m9,o[Z3>>2]=be,O9=mt-m9,o[ee>>2]=O9,a4=d4+Y9,d8=d4-Y9,N4=U9+u4,f8=u4-U9,_8=a4+N4,o[f5>>2]=_8,m8=a4-N4,o[d3>>2]=m8,Ut=C9-E9,Pt=f4-z9,Ot=d8+Ut,o[K3>>2]=Ot,qt=d8-Ut,o[u3>>2]=qt,t8=C9+E9,i8=f4+z9,x8=Pt+f8,o[b5>>2]=x8,Ht=Pt-f8,o[d6>>2]=Ht,Vt=i8+t8,o[e5>>2]=Vt,_t=i8-t8,o[Z5>>2]=_t,xt=+o[h3>>2],pt=R9-xt,zt=+o[D3>>2],Kt=_e-zt,r8=zt+_e,n8=xt+R9,Et=Kt+pt,K4=pt-Kt,G4=+o[de>>2],Lt=+o[H5>>2],Le=G4-Lt,p8=+o[c3>>2],b4=+o[oe>>2],E8=p8-b4,L8=b4+p8,s8=Lt+G4,M8=+o[C5>>2],A4=+o[$6>>2],o8=M8-A4,Mt=+o[a3>>2],At=+o[X6>>2],J9=Mt-At,U4=A4+M8,$t=At+Mt,Ct=o8-J9,Rt=J9+o8,m4=+o[r5>>2],o9=+o[R3>>2],lt=m4-o9,ct=+o[n5>>2],yt=+o[R6>>2],p4=ct-yt,D4=o9+m4,J4=yt+ct,W4=lt+Le,a9=lt-Le,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,b9=gt*.7071067690849304,Qt=E4+W4,o[R3>>2]=Qt,a8=W4-E4,o[$6>>2]=a8,W9=Rt-K4,C3=W9*.7071067690849304,Z4=p4-E8,wt=C3+a9,o[ze>>2]=wt,$4=a9-C3,o[oe>>2]=$4,je=Rt+K4,l4=je*.7071067690849304,j4=p4+E8,Wt=Z4+b9,o[de>>2]=Wt,C8=Z4-b9,o[Ae>>2]=C8,A8=j4+l4,o[R6>>2]=A8,$8=j4-l4,o[X6>>2]=$8,Zt=D4+L8,l8=D4-L8,jt=U4+r8,ut=U4-r8,ht=Zt+jt,o[r5>>2]=ht,Z9=Zt-jt,o[C5>>2]=Z9,c8=$t-n8,Tt=J4-s8,X4=l8+c8,o[D3>>2]=X4,De=l8-c8,o[c3>>2]=De,g8=$t+n8,et=J4+s8,V8=Tt+ut,o[H5>>2]=V8,Z8=Tt-ut,o[h3>>2]=Z8,R8=et+g8,o[n5>>2]=R8,F8=et-g8,o[a3>>2]=F8,c4=$e+32|0,Y8=(c4|0)<($|0),Y8;)$e=c4}function by(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0;for(Q1=C,D=t>>1,k=$+(D<<2)|0,V=s+(t<<2)|0,a1=V,$1=A,X0=$,B1=k;d0=e[$1>>2]|0,g=d0+D|0,n0=$+(g<<2)|0,x0=$1+4|0,M0=e[x0>>2]|0,d=M0+D|0,L0=$+(d<<2)|0,p=g+1|0,A1=$+(p<<2)|0,g1=+o[A1>>2],I=d+1|0,v=$+(I<<2)|0,_=+o[v>>2],Q=g1-_,L=+o[n0>>2],R=+o[L0>>2],M=R+L,N=+o[a1>>2],G=M*N,O=a1+4|0,q=+o[O>>2],K=q*Q,t0=K+G,Z=q*M,A0=N*Q,j=Z-A0,r0=B1+-16|0,o0=_+g1,J=o0*.5,s0=L-R,Y=s0*.5,i0=t0+J,o[X0>>2]=i0,e0=J-t0,h0=B1+-8|0,o[h0>>2]=e0,c0=j+Y,$0=X0+4|0,o[$0>>2]=c0,l0=j-Y,X=B1+-4|0,o[X>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+D|0,I0=$+(E<<2)|0,f0=$1+12|0,p0=e[f0>>2]|0,y=p0+D|0,C0=$+(y<<2)|0,B=E+1|0,b0=$+(B<<2)|0,y0=+o[b0>>2],b=y+1|0,D0=$+(b<<2)|0,E0=+o[D0>>2],Q0=y0-E0,w0=+o[I0>>2],B0=+o[C0>>2],Z0=B0+w0,R0=a1+8|0,v0=+o[R0>>2],G0=Z0*v0,U0=a1+12|0,O0=+o[U0>>2],H0=O0*Q0,k0=H0+G0,K0=O0*Z0,N0=v0*Q0,P0=K0-N0,W0=E0+y0,J0=W0*.5,V0=w0-B0,j0=V0*.5,q0=k0+J0,Y0=X0+8|0,o[Y0>>2]=q0,o1=J0-k0,o[r0>>2]=o1,z0=P0+j0,r1=X0+12|0,o[r1>>2]=z0,s1=P0-j0,d1=B1+-12|0,o[d1>>2]=s1,u1=a1+16|0,E1=$1+16|0,f1=X0+16|0,h1=f1>>>0>>0,h1;)a1=u1,$1=E1,X0=f1,B1=r0}function Mb(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0;return B=C,s=t+28|0,A=e[s>>2]|0,$=A+2868|0,g=l9(1,36)|0,d=t+4|0,p=e[d>>2]|0,I=g+4|0,e[I>>2]=p,o[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Rb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,!s&&E2(t)}function Fb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Tb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0;ae=C,w6=t,Ye=w6+48|0;do e[w6>>2]=0,w6=w6+4|0;while((w6|0)<(Ye|0));L=e[A>>2]|0,R=t+36|0,e[R>>2]=L,n2=+(L|0),i3=n2*8,f3=i3,g3=+rn(+f3),l3=g3*1.4426950408889634,h3=+z7(l3),N6=h3+-1,R6=~~N6,M=t+32|0,e[M>>2]=R6,r0=+(g|0),l0=r0*.25,D0=l0,O0=D0*.5,q0=+($|0),h1=O0/q0,v1=+rn(+h1),O1=v1*1.4426950216293335,e2=O1+-5.965784072875977,u2=R6+1|0,G2=1<>2]=c5,v5=+($|0),z5=v5+.25,C5=z5*r0,I3=C5,d3=I3*.5,W5=d3/q0,r3=+rn(+W5),a3=r3*1.4426950216293335,y3=a3+-5.965784072875977,G5=Y2*y3,Z5=G5+.5,x3=~~Z5,w3=1-c5|0,e6=w3+x3|0,V3=t+40|0,e[V3>>2]=e6,X5=$<<2,_3=Re(X5)|0,t3=t+16|0,e[t3>>2]=_3,a6=Re(X5)|0,G3=t+20|0,e[G3>>2]=a6,Y3=Re(X5)|0,c3=t+24|0,e[c3>>2]=Y3,u3=t+4|0,e[u3>>2]=s,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,K5=t+48|0,o[K5>>2]=1,H5=(g|0)<26e3;do if(H5)o[K5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){o[K5>>2]=.9399999976158142;break}b5=(g|0)>46e3,b5&&(o[K5>>2]=1.274999976158142)}while(!1);z3=q0*2,U5=+(g|0),l6=($|0)>0,b3=l6,te=0,ne=0;e:for(;;){for(y=b3^1,_6=te;;){if(D3=_6+1|0,A6=+(D3|0),r6=A6*.08664337545633316,K3=r6+2.7488713472395148,j5=+Yn(+K3),M3=z3*j5,J3=M3/U5,d6=+z7(J3),m3=~~d6,E=(m3|0)<=(ne|0),ee=E|y,!ee){p=D3,I=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{he=ne;break e}}for(L6=1272+(P6<<2)|0,M6=+o[L6>>2],S6=1272+(p<<2)|0,n6=+o[S6>>2],f6=n6-M6,b6=I-ne|0,j6=+(b6|0),k6=f6/j6,R3=ne-I|0,s6=ne-$|0,o6=R3>>>0>s6>>>0,Ve=o6?R3:s6,n3=ne-Ve|0,G6=M6,Be=ne;B6=G6+100,W3=_3+(Be<<2)|0,o[W3>>2]=B6,F3=G6+k6,Z3=Be+1|0,V6=(Z3|0)==(n3|0),!V6;)G6=F3,Be=Z3;if(U3=(n3|0)<($|0),C6=(p|0)<87,C6)b3=U3,te=p,ne=n3;else{he=n3;break}}if(L3=(he|0)<($|0),L3)for(ye=he;H6=ye+-1|0,$6=_3+(H6<<2)|0,D6=e[$6>>2]|0,N=_3+(ye<<2)|0,e[N>>2]=D6,G=ye+1|0,re=(G|0)==($|0),!re;)ye=G;if(t6=($|0)>0,t6){for(c6=$<<1,s3=(g|0)/(c6|0)&-1,K6=s+120|0,A3=e[K6>>2]|0,g6=s+124|0,y6=s+116|0,T3=s+112|0,U6=1,O3=0,Qe=-99;;){Z=s5(s3,O3)|0,A0=+(Z|0),j=A0*.0007399999885819852,o0=j,J=+to(+o0),s0=J*13.100000381469727,Y=s5(Z,Z)|0,d0=+(Y|0),i0=d0*18499999754340024e-24,e0=i0,h0=+to(+e0),c0=h0*2.240000009536743,$0=c0+s0,X=A0*9999999747378752e-20,m0=X,g0=$0+m0,I0=g0,n0=A3+Qe|0,f0=(n0|0)<(O3|0);e:do if(f0)for(p0=+o[T3>>2],C0=I0-p0,b0=C0,fe=Qe;;){if(y0=s5(fe,s3)|0,E0=+(y0|0),Q0=E0*.0007399999885819852,w0=Q0,B0=+to(+w0),x0=B0*13.100000381469727,Z0=s5(y0,y0)|0,R0=+(Z0|0),v0=R0*18499999754340024e-24,G0=v0,U0=+to(+G0),H0=U0*2.240000009536743,k0=E0*9999999747378752e-20,K0=k0,N0=x0+K0,M0=N0+H0,P0=M0($|0);e:do if(W0)Y6=U6;else for(J0=e[g6>>2]|0,V0=J0+O3|0,F6=U6;;){if(z0=(F6|0)<(V0|0),!z0&&(r1=s5(F6,s3)|0,L0=+(r1|0),s1=L0*.0007399999885819852,d1=s1,u1=+to(+d1),E1=u1*13.100000381469727,f1=s5(r1,r1)|0,A1=+(f1|0),g1=A1*18499999754340024e-24,a1=g1,$1=+to(+a1),X0=$1*2.240000009536743,B1=L0*9999999747378752e-20,p1=B1,Q1=E1+p1,C1=Q1+X0,y1=+o[y6>>2],k1=y1+I0,S1=k1,L1=C1>2]=F1,D1=O3+1|0,P3=(D1|0)==($|0),P3)break;U6=Y6,O3=D1,Qe=de}if(t6)for(O=U5*.5,q=e[M>>2]|0,V=q+1|0,K=1<>2]=q1,Z1=O6+1|0,X6=(Z1|0)==($|0),X6){k=O;break}else O6=Z1;else q6=19}else q6=19;if((q6|0)==19&&(Q=U5*.5,k=Q),I2=s+36|0,A2=k/q0,C2=A2,$2=s+24|0,W1=+o[$2>>2],f2=s+28|0,g2=+o[f2>>2],s2=Ub(I2,C2,$,W1,g2)|0,l2=t+8|0,e[l2>>2]=s2,i2=Re(12)|0,a2=t+12|0,e[a2>>2]=i2,m2=Re(X5)|0,e[i2>>2]=m2,r2=Re(X5)|0,k2=i2+4|0,e[k2>>2]=r2,D2=Re(X5)|0,S2=i2+8|0,e[S2>>2]=D2,!!t6)for(y2=e[u3>>2]|0,D=e[i2>>2]|0,B=i2+4|0,v=e[B>>2]|0,b=i2+8|0,_=e[b>>2]|0,oe=0;M2=+(oe|0),O2=M2+.5,p2=O2*U5,W2=p2/z3,q2=+rn(+W2),K2=q2*2.885390043258667,U2=K2+-11.931568145751953,V2=U2,Z2=V2<0,se=Z2?0:V2,d=se>=16,ge=d?16:se,A5=~~ge,N1=+(A5|0),t5=ge-N1,T5=t5,i5=1-T5,L5=A5+1|0,j2=(y2+132|0)+(A5<<2)|0,m5=+o[j2>>2],D5=m5,V5=D5*i5,u5=(y2+132|0)+(L5<<2)|0,B5=+o[u5>>2],o5=B5*t5,F2=o5,R2=F2+V5,Q2=R2,y5=D+(oe<<2)|0,o[y5>>2]=Q2,N5=(y2+200|0)+(A5<<2)|0,p5=+o[N5>>2],M5=p5,q5=M5*i5,z2=(y2+200|0)+(L5<<2)|0,E5=+o[z2>>2],$5=E5*t5,h5=$5,Q5=h5+q5,T1=Q5,_5=v+(oe<<2)|0,o[_5>>2]=T1,d5=(y2+268|0)+(A5<<2)|0,l5=+o[d5>>2],X2=l5,w5=X2*i5,r5=(y2+268|0)+(L5<<2)|0,a5=+o[r5>>2],f5=a5*t5,J2=f5,I5=J2+w5,n5=I5,F5=_+(oe<<2)|0,o[F5>>2]=n5,e5=oe+1|0,Q6=(e5|0)==($|0),!Q6;)oe=e5}function Dy(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;if(q0=C,A=(t|0)==0,!A){if($=t+16|0,v=e[$>>2]|0,K=(v|0)==0,K||E2(v),i0=t+20|0,f0=e[i0>>2]|0,Z0=(f0|0)==0,Z0||E2(f0),N0=t+24|0,M0=e[N0>>2]|0,P0=(M0|0)==0,P0||E2(M0),g=t+8|0,d=e[g>>2]|0,p=(d|0)==0,!p){for(E=d,J0=0;I=E+(J0<<2)|0,y=e[I>>2]|0,B=e[y>>2]|0,E2(B),b=e[g>>2]|0,D=b+(J0<<2)|0,k=e[D>>2]|0,_=k+4|0,Q=e[_>>2]|0,E2(Q),L=e[g>>2]|0,R=L+(J0<<2)|0,M=e[R>>2]|0,N=M+8|0,G=e[N>>2]|0,E2(G),O=e[g>>2]|0,q=O+(J0<<2)|0,V=e[q>>2]|0,t0=V+12|0,Z=e[t0>>2]|0,E2(Z),A0=e[g>>2]|0,j=A0+(J0<<2)|0,r0=e[j>>2]|0,o0=r0+16|0,J=e[o0>>2]|0,E2(J),s0=e[g>>2]|0,Y=s0+(J0<<2)|0,d0=e[Y>>2]|0,e0=d0+20|0,h0=e[e0>>2]|0,E2(h0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,X=l0+24|0,m0=e[X>>2]|0,E2(m0),g0=e[g>>2]|0,I0=g0+(J0<<2)|0,n0=e[I0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),b0=e[g>>2]|0,y0=b0+(J0<<2)|0,D0=e[y0>>2]|0,E2(D0),E0=J0+1|0,W0=(E0|0)==17,!W0;)s=e[g>>2]|0,E=s,J0=E0;Q0=e[g>>2]|0,E2(Q0)}w0=t+12|0,B0=e[w0>>2]|0,x0=(B0|0)==0,x0||(R0=e[B0>>2]|0,E2(R0),v0=e[w0>>2]|0,G0=v0+4|0,U0=e[G0>>2]|0,E2(U0),O0=e[w0>>2]|0,H0=O0+8|0,k0=e[H0>>2]|0,E2(k0),K0=e[w0>>2]|0,E2(K0)),V0=t,Y0=V0+52|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0))}}function _y(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0;if(y0=C,p=e[t>>2]|0,I=p<<2,d=I,R=C,C=C+((1*d|0)+15&-16)|0,j=t+24|0,h0=e[j>>2]|0,Ly(p,h0,s,A,140,-1),c0=(p|0)>0,c0)for(f0=0;$0=s+(f0<<2)|0,l0=+o[$0>>2],X=A+(f0<<2)|0,m0=+o[X>>2],E=l0-m0,y=R+(f0<<2)|0,o[y>>2]=E,B=f0+1|0,I0=(B|0)==(p|0),!I0;)f0=B;if(b=e[j>>2]|0,D=t+4|0,k=e[D>>2]|0,v=k+128|0,_=e[v>>2]|0,Ly(p,b,R,A,0,_),c0)p0=0;else{C=y0;return}for(;L=s+(p0<<2)|0,M=+o[L>>2],N=R+(p0<<2)|0,G=+o[N>>2],O=M-G,o[N>>2]=O,q=p0+1|0,n0=(q|0)==(p|0),!n0;)p0=q;if(!c0){C=y0;return}for(Q=e[D>>2]|0,C0=0;V=A+(C0<<2)|0,K=+o[V>>2],t0=K,Z=t0+.5,A0=~~Z,r0=(A0|0)>39,$=r0?39:A0,o0=($|0)<0,g=o0?0:$,J=R+(C0<<2)|0,s0=+o[J>>2],Y=(Q+336|0)+(g<<2)|0,d0=+o[Y>>2],i0=d0+s0,o[V>>2]=i0,e0=C0+1|0,g0=(e0|0)==(p|0),!g0;)C0=e0;C=y0}function xy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=+$,g=+g;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0;if(C5=C,G=e[t>>2]|0,O=t+40|0,h1=e[O>>2]|0,v1=h1<<2,I=v1,O1=C,C=C+((1*I|0)+15&-16)|0,e2=t+4|0,n2=e[e2>>2]|0,y2=n2+4|0,A5=+o[y2>>2],u5=A5+g,q=(h1|0)>0,q)for($5=0;Y=O1+($5<<2)|0,o[Y>>2]=-9999,I0=$5+1|0,B0=(I0|0)<(h1|0),B0;)$5=I0;if(N0=n2+8|0,r1=+o[N0>>2],d1=u50,u1){for(E1=t+16|0,f1=e[E1>>2]|0,d5=0;A1=f1+(d5<<2)|0,g1=+o[A1>>2],a1=g1+q5,$1=A+(d5<<2)|0,o[$1>>2]=a1,X0=d5+1|0,z2=(X0|0)==(G|0),!z2;)d5=X0;if(B1=t+8|0,p1=e[B1>>2]|0,Q1=n2+496|0,C1=+o[Q1>>2],y1=C1-$,u1)for(k1=t+20|0,S1=e[k1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,h5=0;;){_1=s+(h5<<2)|0,R1=+o[_1>>2],F1=S1+(h5<<2)|0,P1=e[F1>>2]|0,_5=h5,a5=R1;e:for(;;)for(Q5=_5;;){if(D1=Q5+1|0,X1=(D1|0)<(G|0),!X1){b=0,k=D1,T1=Q5,f5=a5;break e}if(G1=S1+(D1<<2)|0,x1=e[G1>>2]|0,J1=(x1|0)==(P1|0),!J1){b=1,k=D1,T1=Q5,f5=a5;break e}if(H1=s+(D1<<2)|0,V1=+o[H1>>2],Y1=V1>a5,Y1){_5=D1,a5=V1;continue e}else Q5=D1}if(z1=f5+6,t2=A+(T1<<2)|0,o2=+o[t2>>2],q1=z1>o2,q1&&(h2=e[L1>>2]|0,Z1=P1>>h2,I2=(Z1|0)>16,p=I2?16:Z1,A2=(p|0)<0,d=A2?0:p,C2=p1+(d<<2)|0,$2=e[C2>>2]|0,W1=e[M1>>2]|0,f2=y1+f5,g2=f2,u2=g2+-30,s2=u2*.10000000149011612,l2=~~s2,i2=(l2|0)<0,a2=i2?0:l2,m2=(a2|0)>7,r2=m2?7:a2,k2=$2+(r2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+o[S2>>2],M2=~~G2,O2=+o[D2>>2],p2=~~O2,W2=(p2|0)<(M2|0),W2))for(q2=S1+(T1<<2)|0,K2=e[q2>>2]|0,U2=e[b1>>2]|0,V2=K2-U2|0,Z2=+(V2|0),Y2=W1>>1,N1=+(Y2|0),t5=O2+-16,T5=+(W1|0),i5=t5*T5,L5=i5-N1,j2=L5+Z2,m5=~~j2,E5=p2,z5=m5;D5=(z5|0)>0,D5&&(N=E5+2|0,V5=D2+(N<<2)|0,b2=+o[V5>>2],B5=b2+f5,o5=O1+(z5<<2)|0,F2=+o[o5>>2],R2=F2>2]=B5)),Q2=z5+W1|0,y5=(Q2|0)<(h1|0),N5=E5+1|0,p5=(N5|0)<(M2|0),c5=p5&y5,c5;)E5=N5,z5=Q2;if(b)h5=k;else{R=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(Q=t+36|0,R=Q),M5=e[R>>2]|0,Pb(O1,M5,h1),V=e[t>>2]|0,K=(V|0)>1;e:do if(K)for(t0=t+20|0,Z=t+28|0,A0=e[t0>>2]|0,j=e[A0>>2]|0,r0=M5>>1,o0=j-r0|0,J=e[Z>>2]|0,s0=o0-J|0,d0=e[e2>>2]|0,i0=d0+32|0,X=1,n0=j,X2=0,T2=s0;;){c0=O1+(T2<<2)|0,$0=+o[c0>>2],l0=A0+(X<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,f0=g0>>1,p0=f0-J|0,C0=+o[i0>>2],b0=$0>C0,J2=b0?C0:$0,y0=(T2|0)<(p0|0);t:do if(y0)for(E=T2,n5=J2;;){for(D0=n5==-9999,y=E;;){if(E0=y+1|0,Q0=O1+(E0<<2)|0,w0=+o[Q0>>2],x0=w0>-9999,x0){if(Z0=w0=(V|0),O0=(n0|0)>(G0|0),F5=U0|O0;t:do if(F5)d2=X2;else for(w5=X2;;){if(H0=A+(w5<<2)|0,k0=+o[H0>>2],K0=k0>2]=I5),M0=w5+1|0,P0=(M0|0)<(V|0),!P0){d2=M0;break t}if(_=A0+(M0<<2)|0,M=e[_>>2]|0,W0=(M|0)>(G0|0),W0){d2=M0;break}else w5=M0}while(!1);if(e0=d2+1|0,h0=(e0|0)<(V|0),!h0){l5=d2;break e}v=A0+(d2<<2)|0,L=e[v>>2]|0,X=e0,n0=L,X2=d2,T2=v5}else l5=0;while(!1);if(J0=e[O>>2]|0,V0=J0+-1|0,j0=O1+(V0<<2)|0,q0=+o[j0>>2],Y0=(l5|0)<(V|0),Y0)r5=l5;else{C=C5;return}for(;o1=A+(r5<<2)|0,z0=+o[o1>>2],L0=z0>2]=q0),s1=r5+1|0,R5=(s1|0)==(V|0),!R5;)r5=s1;C=C5}function ol(t,s,A,$,g,d,p){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0;var I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0;if(R0=C,E=e[t>>2]|0,y=t+4|0,N=e[y>>2]|0,o0=(N+12|0)+($<<2)|0,X=+o[o0>>2],C0=(E|0)>0,!!C0)for(b0=t+48|0,y0=+o[b0>>2],D0=t+12|0,E0=e[D0>>2]|0,B=E0+($<<2)|0,b=e[B>>2]|0,D=N+108|0,k=($|0)==1,v=y0,_=v*.005,Q=v*3e-4,B0=0;L=s+(B0<<2)|0,R=+o[L>>2],M=b+(B0<<2)|0,G=+o[M>>2],O=G+R,q=+o[D>>2],V=O>q,x0=V?q:O,K=A+(B0<<2)|0,t0=+o[K>>2],Z=t0+X,A0=x0>2]=I,k&&(r0=p+(B0<<2)|0,J=+o[r0>>2],s0=x0-J,Y=s0>-17.200000762939453,d0=s0+17.200000762939453,i0=d0,Y?(e0=_*i0,h0=1-e0,c0=h0,$0=c0<0,$0?Q0=9999999747378752e-20:Q0=c0):(l0=Q*i0,m0=1-l0,g0=m0,Q0=g0),I0=d+(B0<<2)|0,n0=+o[I0>>2],f0=n0*Q0,o[I0>>2]=f0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Nb(t,s){t=+t,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0;return q=C,$=s+4|0,g=e[$>>2]|0,v=g+28|0,_=e[v>>2]|0,Q=s+40|0,L=e[Q>>2]|0,R=_+(L<<2)|0,M=e[R>>2]|0,N=(M|0)/2&-1,G=+(N|0),d=g+8|0,p=e[d>>2]|0,I=+(p|0),E=G/I,y=_+2936|0,B=+o[y>>2],b=B*E,D=b+t,k=D<-9999,A=k?-9999:D,+A}function Gb(t,s,A,$,g,d,p,I,E){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0;if(V9=C,c0=e[A>>2]|0,$0=A+4|0,A5=e[$0>>2]|0,e6=A5+500|0,Q3=e[e6>>2]|0,C6=(Q3|0)==0,C6?Z5=16:(d6=A5+508|0,k6=e[d6>>2]|0,Z5=k6),s3=e[A5>>2]|0,Q6=((s+132|0)+(s3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,D0=(s+252|0)+(t<<2)|0,O0=e[D0>>2]|0,q0=1624+(O0<<3)|0,h1=+c1[q0>>3],v1=(s+312|0)+(t<<2)|0,O1=e[v1>>2]|0,e2=E<<2,b=e2,n2=C,C=C+((1*b|0)+15&-16)|0,D=e2,y2=C,C=C+((1*D|0)+15&-16)|0,Q=e2,Y2=C,C=C+((1*Q|0)+15&-16)|0,L=e2,b2=C,C=C+((1*L|0)+15&-16)|0,R=e2,R5=C,C=C+((1*R|0)+15&-16)|0,d2=$+1156|0,T2=(c0|0)>1e3,H9=T2?1696:1624,q9=H9+(O1<<3)|0,G9=+c1[q9>>3],G5=s5(e2,Z5)|0,M=G5,x3=C,C=C+((1*M|0)+15&-16)|0,e[n2>>2]=x3,k=G5,f3=C,C=C+((1*k|0)+15&-16)|0,e[y2>>2]=f3,v=G5,w3=C,C=C+((1*v|0)+15&-16)|0,e[Y2>>2]=w3,_=G5,V3=C,C=C+((1*_|0)+15&-16)|0,e[b2>>2]=V3,X5=(E|0)>1,X5&&(_3=x3+(Z5<<2)|0,t3=n2+4|0,e[t3>>2]=_3,a6=f3+(Z5<<2)|0,G3=y2+4|0,e[G3>>2]=a6,Y3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=Y3,g3=V3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,Be=(E|0)==2,!Be))for(b5=2;G=e[n2>>2]|0,V=e[y2>>2]|0,K=e[Y2>>2]|0,t0=e[b2>>2]|0,Y5=s5(b5,Z5)|0,z3=G+(Y5<<2)|0,U5=n2+(b5<<2)|0,e[U5>>2]=z3,l6=V+(Y5<<2)|0,n3=y2+(b5<<2)|0,e[n3>>2]=l6,l3=K+(Y5<<2)|0,U3=Y2+(b5<<2)|0,e[U3>>2]=l3,b3=t0+(Y5<<2)|0,L3=b2+(b5<<2)|0,e[L3>>2]=b3,D3=b5+1|0,ne=(D3|0)==(E|0),!ne;)b5=D3;if(K5=e[d2>>2]|0,H5=(c0|0)>0,H5)for(A6=e[b2>>2]|0,r6=(E|0)>0,K3=c0^-1,j5=Z5^-1,q6=0,we=K3;;){if(J3=(we|0)>(j5|0),n4=J3?we:j5,m3=n4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),y=L6?x6:Z5,c9(R5|0,p|0,e2|0)|0,g4(A6|0,0,G5|0)|0,r6)for(M6=(y|0)>0,S6=l0-q6|0,Ae=0;;){if(R3=d+(Ae<<2)|0,s6=e[R3>>2]|0,o6=s6+(q6<<2)|0,B6=R5+(Ae<<2)|0,W3=e[B6>>2]|0,F3=(W3|0)==0,F3){if(M6)for(R6=Y2+(Ae<<2)|0,c6=e[R6>>2]|0,K6=n2+(Ae<<2)|0,A3=e[K6>>2]|0,g6=y2+(Ae<<2)|0,y6=e[g6>>2]|0,T3=b2+(Ae<<2)|0,H6=e[T3>>2]|0,ve=0;P0=c6+(ve<<2)|0,o[P0>>2]=1000000013351432e-25,W0=A3+(ve<<2)|0,o[W0>>2]=0,J0=y6+(ve<<2)|0,o[J0>>2]=0,V0=H6+(ve<<2)|0,e[V0>>2]=0,Y=ve+q6|0,j0=s6+(Y<<2)|0,e[j0>>2]=0,Y0=ve+1|0,O6=(Y0|0)==(m3|0),!O6;)ve=Y0}else{if(Z3=Y2+(Ae<<2)|0,t6=e[Z3>>2]|0,M6){for(r9=0;d0=r9+q6|0,$6=s6+(d0<<2)|0,D6=e[$6>>2]|0,G6=1768+(D6<<2)|0,ee=e[G6>>2]|0,X6=t6+(r9<<2)|0,e[X6>>2]=ee,P3=r9+1|0,_6=(P3|0)==(m3|0),!_6;)r9=P3;if(re=g+(Ae<<2)|0,V6=e[re>>2]|0,se=b2+(Ae<<2)|0,ge=e[se>>2]|0,M6){for(ze=0;U6=(ze|0)>=(S6|0),h0=U6?G9:h1,Y6=h0,i0=ze+q6|0,F6=V6+(i0<<2)|0,te=+o[F6>>2],Qe=+rr(+te),X=t6+(ze<<2)|0,m0=+o[X>>2],g0=Qe/m0,I0=ge+(ze<<2)|0,_e=!(g0>2]=B,n0=ze+1|0,P6=(n0|0)==(y|0),!P6;)ze=n0;if(M6)for(f0=n2+(Ae<<2)|0,p0=e[f0>>2]|0,C0=y2+(Ae<<2)|0,b0=e[C0>>2]|0,Fe=0;;)if(y0=Fe+q6|0,E0=V6+(y0<<2)|0,Q0=+o[E0>>2],w0=Q0*Q0,B0=p0+(Fe<<2)|0,o[B0>>2]=w0,x0=b0+(Fe<<2)|0,o[x0>>2]=w0,Z0=+o[E0>>2],R0=Z0<0,R0&&(v0=+o[B0>>2],G0=-v0,o[B0>>2]=G0),U0=t6+(Fe<<2)|0,H0=+o[U0>>2],k0=H0*H0,o[U0>>2]=k0,K0=Fe+1|0,O3=(K0|0)==(m3|0),O3){O=C0,M0=p0;break}else Fe=K0;else Ke=21}else Ke=21}else Ke=21;(Ke|0)==21&&(Ke=0,N=n2+(Ae<<2)|0,Z=e[N>>2]|0,J=y2+(Ae<<2)|0,O=J,M0=Z),N0=e[O>>2]|0,R9=e[$0>>2]|0,+My(R9,l0,M0,N0,t6,0,q6,y,o6)}if(o1=Ae+1|0,oe=(o1|0)==(E|0),oe)break;Ae=o1}if(n6=e[d2>>2]|0,f6=(n6|0)>0,f6)for(b6=(y|0)>0,N6=I-q6|0,j6=l0-q6|0,y3=n6,v9=0;;){if(z0=($+1160|0)+(v9<<2)|0,r1=e[z0>>2]|0,L0=($+2184|0)+(v9<<2)|0,s1=e[L0>>2]|0,d1=d+(r1<<2)|0,u1=e[d1>>2]|0,E1=u1+(q6<<2)|0,f1=d+(s1<<2)|0,A1=e[f1>>2]|0,g1=n2+(r1<<2)|0,a1=e[g1>>2]|0,$1=n2+(s1<<2)|0,X0=e[$1>>2]|0,B1=y2+(r1<<2)|0,p1=e[B1>>2]|0,Q1=y2+(s1<<2)|0,C1=e[Q1>>2]|0,y1=Y2+(r1<<2)|0,k1=e[y1>>2]|0,S1=Y2+(s1<<2)|0,L1=e[S1>>2]|0,M1=b2+(r1<<2)|0,b1=e[M1>>2]|0,_1=b2+(s1<<2)|0,R1=e[_1>>2]|0,F1=R5+(r1<<2)|0,P1=e[F1>>2]|0,D1=(P1|0)==0,X1=R5+(s1<<2)|0,D1?(G1=e[X1>>2]|0,x1=(G1|0)==0,x1?X2=y3:Ke=31):Ke=31,(Ke|0)==31){if(Ke=0,e[X1>>2]=1,e[F1>>2]=1,b6)for(J6=0;;){J1=(J6|0)<(N6|0);do if(J1){if(H1=b1+(J6<<2)|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,z1=R1+(J6<<2)|0,Y1&&(t2=e[z1>>2]|0,o2=(t2|0)==0,o2)){i5=(J6|0)<(j6|0);do if(i5)L5=X0+(J6<<2)|0,j2=+o[L5>>2],m5=a1+(J6<<2)|0,D5=+o[m5>>2],V5=D5+j2,o[m5>>2]=V5,fe=+rr(+V5),u5=p1+(J6<<2)|0,o[u5>>2]=fe,q=L5;else if(B5=a1+(J6<<2)|0,o5=+o[B5>>2],F2=X0+(J6<<2)|0,R2=+o[F2>>2],Q2=R2+o5,y5=Q2<0,ye=+rr(+o5),de=+rr(+R2),N5=de+ye,p5=p1+(J6<<2)|0,o[p5>>2]=N5,y5){M5=-N5,o[B5>>2]=M5,q=F2;break}else{o[B5>>2]=N5,q=F2;break}while(!1);q5=C1+(J6<<2)|0,o[q5>>2]=0,o[q>>2]=0,e[z1>>2]=1,s0=J6+q6|0,z2=A1+(s0<<2)|0,e[z2>>2]=0;break}q1=a1+(J6<<2)|0,h2=+o[q1>>2],Ve=+rr(+h2),Z1=X0+(J6<<2)|0,I2=+o[Z1>>2],w6=+rr(+I2),A2=w6+Ve,o[q1>>2]=A2,C2=p1+(J6<<2)|0,$2=+o[C2>>2],W1=C1+(J6<<2)|0,f2=+o[W1>>2],g2=f2+$2,o[C2>>2]=g2,e[z1>>2]=1,e[H1>>2]=1,e0=J6+q6|0,u2=u1+(e0<<2)|0,s2=e[u2>>2]|0,l2=A1+(e0<<2)|0,i2=e[l2>>2]|0,Q9=(s2|0)>-1,w9=0-s2|0,a2=Q9?s2:w9,g9=(i2|0)>-1,u9=0-i2|0,m2=g9?i2:u9,r2=(a2|0)>(m2|0),r2?(k2=(s2|0)>0,D2=s2-i2|0,S2=i2-s2|0,G2=k2?D2:S2,e[l2>>2]=G2,j=e[u2>>2]|0,q2=j,V2=G2):(M2=(i2|0)>0,O2=s2-i2|0,p2=i2-s2|0,W2=M2?O2:p2,e[l2>>2]=W2,e[u2>>2]=i2,A0=e[l2>>2]|0,q2=i2,V2=A0),p9=(q2|0)>-1,M9=0-q2|0,K2=p9?q2:M9,U2=K2<<1,Z2=(V2|0)<(U2|0),Z2||(N1=0-V2|0,e[l2>>2]=N1,t5=e[u2>>2]|0,T5=0-t5|0,e[u2>>2]=T5)}while(!1);if(E5=k1+(J6<<2)|0,$5=+o[E5>>2],h5=L1+(J6<<2)|0,Q5=+o[h5>>2],T1=Q5+$5,o[h5>>2]=T1,o[E5>>2]=T1,_5=J6+1|0,he=(_5|0)==(m3|0),he)break;J6=_5}F9=e[$0>>2]|0,+My(F9,l0,a1,p1,k1,b1,q6,y,E1),r0=e[d2>>2]|0,X2=r0}if(d5=v9+1|0,l5=(d5|0)<(X2|0),l5)y3=X2,v9=d5;else{a3=X2;break}}else a3=n6;if(w5=q6+Z5|0,r5=(c0|0)>(w5|0),Ye=we+Z5|0,r5)q6=w5,we=Ye;else{M3=a3;break}}else M3=K5;if(h3=(M3|0)>0,h3)r3=M3,ae=0;else{C=V9;return}for(;a5=($+1160|0)+(ae<<2)|0,f5=e[a5>>2]|0,J2=p+(f5<<2)|0,I5=e[J2>>2]|0,n5=(I5|0)==0,F5=($+2184|0)+(ae<<2)|0,n5?(e5=e[F5>>2]|0,c5=p+(e5<<2)|0,v5=e[c5>>2]|0,z5=(v5|0)==0,z5?W5=r3:Ke=52):Ke=52,(Ke|0)==52&&(Ke=0,e[J2>>2]=1,i3=e[F5>>2]|0,C5=p+(i3<<2)|0,e[C5>>2]=1,o0=e[d2>>2]|0,W5=o0),I3=ae+1|0,d3=(I3|0)<(W5|0),d3;)r3=W5,ae=I3;C=V9}function Ub(t,s,A,$,g){t=t|0,s=+s,A=A|0,$=+$,g=+g;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0;for(et=C,C=C+32480|0,j3=et+32256|0,De=et+1792|0,xe=et,M=A<<2,D=M,N=C,C=C+((1*D|0)+15&-16)|0,s2=Re(68)|0,g4(De|0,0,30464)|0,M3=$>0,g9=$<0,Le=0;;){for(h4=Le<<2,A4=0;o5=A4+h4|0,E5=(o5|0)<88,E5?(r5=1272+(o5<<2)|0,z5=+o[r5>>2],je=z5):je=-30,x3=o5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+o[U6>>2],te=je>Y6,te?l4=Y6:l4=je):(ge=je>-30,ge?l4=-30:l4=je),_6=o5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,oe=+o[O6>>2],he=l4>oe,he?Te=oe:Te=l4):(O3=l4>-30,O3?Te=-30:Te=l4),ne=o5+3|0,Be=(ne|0)<88,Be?(de=1272+(ne<<2)|0,fe=+o[de>>2],Ve=Te>fe,Ve?j4=fe:j4=Te):(ye=Te>-30,ye?j4=-30:j4=Te),w6=j3+(A4<<2)|0,o[w6>>2]=j4,q6=A4+1|0,Ot=(q6|0)==56,!Ot;)A4=q6;if(f9=(De+(Le*1792|0)|0)+448|0,G=2792+(Le*1344|0)|0,c9(f9|0,G|0,224)|0,J=(De+(Le*1792|0)|0)+672|0,m0=(2792+(Le*1344|0)|0)+224|0,c9(J|0,m0|0,224)|0,Q0=(De+(Le*1792|0)|0)+896|0,k0=(2792+(Le*1344|0)|0)+448|0,c9(Q0|0,k0|0,224)|0,o1=(De+(Le*1792|0)|0)+1120|0,g1=(2792+(Le*1344|0)|0)+672|0,c9(o1|0,g1|0,224)|0,S1=(De+(Le*1792|0)|0)+1344|0,G1=(2792+(Le*1344|0)|0)+896|0,c9(S1|0,G1|0,224)|0,h2=(De+(Le*1792|0)|0)+1568|0,l2=(2792+(Le*1344|0)|0)+1120|0,c9(h2|0,l2|0,224)|0,O2=De+(Le*1792|0)|0,c9(O2|0,G|0,224)|0,t5=(De+(Le*1792|0)|0)+224|0,c9(t5|0,G|0,224)|0,M3)for(At=0;;){if(g9)for(Bt=0;p9=16-Bt|0,L8=(p9|0)>-1,$8=0-p9|0,ze=L8?p9:$8,r9=+(ze|0),Fe=r9*g,ve=Fe+$,J6=ve<0,I=J6?0:ve,Ae=I>0,d=Ae?0:I,w9=((De+(Le*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,M9=+o[w9>>2],u9=M9+d,o[w9>>2]=u9,R9=Bt+1|0,Yt=(R9|0)==56,!Yt;)Bt=R9;else for(ct=0;h3=16-ct|0,s8=(h3|0)>-1,Zt=0-h3|0,N6=s8?h3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,Qe=F6<0,E=Qe?0:F6,ae=((De+(Le*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Ye=+o[ae>>2],we=Ye+E,o[ae>>2]=we,Q9=ct+1|0,Vt=(Q9|0)==56,!Vt;)ct=Q9;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(g9)for(yt=0;n4=16-yt|0,M8=(n4|0)>-1,l8=0-n4|0,v9=M8?n4:l8,H9=+(v9|0),Ke=H9*g,V9=Ke+$,h9=V9>0,p=h9?0:V9,E9=((De+(Le*1792|0)|0)+(Mt*224|0)|0)+(yt<<2)|0,v4=+o[E9>>2],Ze=v4+p,o[E9>>2]=Ze,ke=yt+1|0,t8=(ke|0)==56,!t8;)yt=ke;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,V4=E8?k4:A8,nt=+(V4|0),Y9=nt*g,Y4=Y9+$,z9=((De+(Le*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+o[z9>>2],st=R4+Y4,o[z9>>2]=st,n9=lt+1|0,qt=(n9|0)==56,!qt;)lt=n9;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(F9=t+(Le<<2)|0,G9=+o[F9>>2],q9=G9,J9=0;;){for(C9=(J9|0)<2,T6=+(J9|0),k=T6*10,v=70-k,K9=C9?50:v,Oe=K9+q9,d9=Oe,Et=0;T9=((De+(Le*1792|0)|0)+(J9*224|0)|0)+(Et<<2)|0,s9=+o[T9>>2],d4=s9+d9,o[T9>>2]=d4,f4=Et+1|0,O9=(f4|0)==56,!O9;)Et=f4;for(k9=xe+(J9*224|0)|0,c9(k9|0,j3|0,224)|0,o4=+(J9|0),P9=o4*10,I4=70-P9,Lt=0;;)if(Se=(xe+(J9*224|0)|0)+(Lt<<2)|0,I6=+o[Se>>2],z4=I4+I6,o[Se>>2]=z4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;S9=((De+(Le*1792|0)|0)+(J9*224|0)|0)+(at<<2)|0,I9=+o[S9>>2],z6=(xe+(J9*224|0)|0)+(at<<2)|0,F4=+o[z6>>2],T4=I9>F4,T4&&(o[z6>>2]=I9),ot=at+1|0,N4=(ot|0)==56,!N4;)at=ot;if(m9=J9+1|0,x8=(m9|0)==8,x8){U4=1;break}else J9=m9}for(;;){for(x9=U4+-1|0,G4=0;;)if(mt=(xe+(x9*224|0)|0)+(G4<<2)|0,O=+o[mt>>2],q=(xe+(U4*224|0)|0)+(G4<<2)|0,V=+o[q>>2],K=O>2]=O),t0=G4+1|0,d8=(t0|0)==56,d8){K4=0;break}else G4=t0;for(;Z=(xe+(U4*224|0)|0)+(K4<<2)|0,A0=+o[Z>>2],j=((De+(Le*1792|0)|0)+(U4*224|0)|0)+(K4<<2)|0,r0=+o[j>>2],o0=A0>2]=A0),s0=K4+1|0,a4=(s0|0)==56,!a4;)K4=s0;if(Y=U4+1|0,Ht=(Y|0)==8,Ht)break;U4=Y}if(d0=Le+1|0,xt=(d0|0)==17,xt)break;Le=d0}for(_e=s,U9=(A|0)>0,s4=A^-1,b4=0;;){for(i0=Re(32)|0,e0=s2+(b4<<2)|0,e[e0>>2]=i0,h0=+(b4|0),c0=h0*.5,$0=h0*.34657350182533264,l0=$0+4.135165354540845,X=+Yn(+l0),g0=X/_e,I0=+oA(+g0),n0=~~I0,f0=+(n0|0),p0=f0*s,C0=p0+1,b0=C0,y0=+rn(+b0),D0=y0*2.885390043258667,E0=D0+-11.931568145751953,w0=+vC(+E0),B0=~~w0,x0=n0+1|0,Z0=+(x0|0),R0=Z0*s,v0=R0,G0=+rn(+v0),U0=G0*2.885390043258667,O0=U0+-11.931568145751953,H0=+oA(+O0),K0=~~H0,N0=(B0|0)>(b4|0),p8=N0?b4:B0,M0=(p8|0)<0,wt=M0?0:p8,P0=(K0|0)>16,y=P0?16:K0,W0=(wt|0)>(y|0),J0=b4+1|0,V0=(J0|0)<17,j0=c0+3.9657840728759766,$4=0;;){if(q0=Re(232)|0,Y0=i0+($4<<2)|0,e[Y0>>2]=q0,U9)for($t=0;z0=N+($t<<2)|0,o[z0>>2]=999,r1=$t+1|0,be=(r1|0)==(A|0),!be;)$t=r1;if(!W0)for(p4=wt;;){for(L0=+(p4|0),s1=L0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),h1=f1*.125,A1=h1+s1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,X0=+Yn(+$1),B1=X0/_e,p1=~~B1,Q1=A1+4.028284072875977,C1=Q1*.6931470036506653,y1=+Yn(+C1),v1=y1/_e,k1=v1+1,L1=~~k1,M1=(p1|0)<0,B=M1?0:p1,b1=(B|0)>(A|0),a8=b1?A:B,_1=(a8|0)<(D4|0),W9=_1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(A|0),Wt=F1?A:r8,P1=(W9|0)<(Wt|0),D1=(W9|0)<(A|0),jt=P1&D1,jt)for(O1=((De+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,X1=+o[O1>>2],x1=(D4|0)<(A|0),J1=x1?D4:A,H1=J1^-1,V1=(p1|0)>0,L=p1^-1,Y1=V1?L:-1,z1=(Y1|0)<(H1|0),Z9=z1?H1:Y1,t2=Z9^-1,o2=(L1|0)>0,R=L1^-1,e2=o2?R:-1,q1=(e2|0)<(s4|0),c8=q1?s4:e2,Z1=c8-Z9|0,I2=Z9+A|0,A2=I2^-1,C2=Z1>>>0>A2>>>0,Tt=C2?Z1:A2,$2=t2-Tt|0,a9=W9;;)if(W1=N+(a9<<2)|0,f2=+o[W1>>2],g2=f2>X1,g2&&(o[W1>>2]=X1),n2=a9+1|0,pt=(n2|0)==($2|0),pt){J4=$2;break}else a9=n2;else J4=W9;if(u2=Ct+1|0,zt=(u2|0)==56,zt){W4=J4;break}else Ct=u2,D4=J4}if(d1=(W4|0)<(A|0),d1)for(u1=((De+(p4*1792|0)|0)+($4*224|0)|0)+220|0,E1=+o[u1>>2],P4=W4;i2=N+(P4<<2)|0,a2=+o[i2>>2],m2=a2>E1,m2&&(o[i2>>2]=E1),r2=P4+1|0,Kt=(r2|0)==(A|0),!Kt;)P4=r2;if(k2=p4+1|0,D2=(p4|0)<(y|0),D2)p4=k2;else break}if(V0){for(Rt=0,E4=0;;){if(q2=+(Rt|0),K2=q2*.125,U2=K2+c0,V2=U2+3.9032840728759766,Z2=V2*.6931470036506653,A5=+Yn(+Z2),Y2=A5/_e,N1=~~Y2,T5=U2+4.028284072875977,i5=T5*.6931470036506653,L5=+Yn(+i5),j2=L5/_e,m5=j2+1,D5=~~m5,V5=(N1|0)<0,b=V5?0:N1,u5=(b|0)>(A|0),C3=u5?A:b,b2=(C3|0)<(E4|0),Z4=b2?C3:E4,B5=(D5|0)<0,n8=B5?0:D5,F2=(n8|0)>(A|0),C8=F2?A:n8,R2=(Z4|0)<(C8|0),Q2=(Z4|0)<(A|0),ut=R2&Q2,ut)for(y5=((De+(J0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,N5=+o[y5>>2],p5=(E4|0)<(A|0),M5=p5?E4:A,q5=M5^-1,R5=(N1|0)>0,_=N1^-1,z2=R5?_:-1,$5=(z2|0)<(q5|0),ht=$5?q5:z2,h5=ht^-1,Q5=(D5|0)>0,Q=D5^-1,T1=Q5?Q:-1,_5=(T1|0)<(s4|0),Ft=_5?s4:T1,d5=Ft-ht|0,l5=ht+A|0,X2=l5^-1,d2=d5>>>0>X2>>>0,X4=d2?d5:X2,w5=h5-X4|0,b9=Z4;;)if(a5=N+(b9<<2)|0,f5=+o[a5>>2],J2=f5>N5,J2&&(o[a5>>2]=N5),I5=b9+1|0,_8=(I5|0)==(w5|0),_8){gt=w5;break}else b9=I5;else gt=Z4;if(n5=Rt+1|0,e8=(n5|0)==56,e8){_4=gt;break}else Rt=n5,E4=gt}if(M2=(_4|0)<(A|0),M2)for(p2=((De+(J0*1792|0)|0)+($4*224|0)|0)+220|0,W2=+o[p2>>2],Qt=_4;F5=N+(Qt<<2)|0,e5=+o[F5>>2],c5=e5>W2,c5&&(o[F5>>2]=W2),T2=Qt+1|0,I8=(T2|0)==(A|0),!I8;)Qt=T2}for(S2=i0+($4<<2)|0,y2=i0+($4<<2)|0,G2=i0+($4<<2)|0,m4=0;;){I3=+(m4|0),d3=I3*.125,W5=j0+d3,r3=W5*.6931470036506653,a3=+Yn(+r3),y3=a3/_e,G5=~~y3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,e6=w3+(f3<<2)|0,o[e6>>2]=-999;else if(V3=(G5|0)<(A|0),V3){a6=N+(G5<<2)|0,G3=e[a6>>2]|0,Y3=m4+2|0,g3=e[y2>>2]|0,u3=g3+(Y3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,o[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=q0+8|0,i3=+o[v5>>2],C5=i3>-200;do if(C5)o9=0;else if(K5=q0+12|0,H5=+o[K5>>2],Y5=H5>-200,Y5)o9=1;else if(D3=q0+16|0,A6=+o[D3>>2],r6=A6>-200,r6)o9=2;else if(K3=q0+20|0,j5=+o[K3>>2],J3=j5>-200,J3)o9=3;else if(d6=q0+24|0,m3=+o[d6>>2],x6=m3>-200,x6)o9=4;else if(L6=q0+28|0,M6=+o[L6>>2],S6=M6>-200,S6)o9=5;else if(n6=q0+32|0,f6=+o[n6>>2],b6=f6>-200,b6)o9=6;else if(j6=q0+36|0,k6=+o[j6>>2],R3=k6>-200,R3)o9=7;else if(s6=q0+40|0,o6=+o[s6>>2],B6=o6>-200,B6)o9=8;else if(W3=q0+44|0,F3=+o[W3>>2],Z3=F3>-200,Z3)o9=9;else if(t6=q0+48|0,c6=+o[t6>>2],s3=c6>-200,s3)o9=10;else if(K6=q0+52|0,A3=+o[K6>>2],g6=A3>-200,g6)o9=11;else if(y6=q0+56|0,T3=+o[y6>>2],H6=T3>-200,H6)o9=12;else if($6=q0+60|0,D6=+o[$6>>2],ee=D6>-200,ee)o9=13;else{if(Q6=q0+64|0,X6=+o[Q6>>2],P3=X6>-200,P3){o9=14;break}if(re=q0+68|0,V6=+o[re>>2],se=V6>-200,se){o9=15;break}o9=16}while(!1);for(o[q0>>2]=o9,Jt=55;;){if(b5=Jt+2|0,z3=q0+(b5<<2)|0,U5=+o[z3>>2],l6=U5>-200,l6){o8=Jt;break}if(l3=Jt+-1|0,U3=(l3|0)>17,U3)Jt=l3;else{o8=l3;break}}if(C6=+(o8|0),b3=q0+4|0,o[b3>>2]=C6,L3=$4+1|0,Ut=(L3|0)==8,Ut)break;$4=L3}if(Pt=(J0|0)==17,Pt)break;b4=J0}return C=et,s2|0}function Ly(t,s,A,$,g,d){t=t|0,s=s|0,A=A|0,$=$|0,g=+g,d=d|0;var p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0;if(F9=C,k=t<<2,p=k,v=C,C=C+((1*p|0)+15&-16)|0,I=k,$2=C,C=C+((1*I|0)+15&-16)|0,E=k,e5=C,C=C+((1*E|0)+15&-16)|0,y=k,a3=C,C=C+((1*y|0)+15&-16)|0,B=k,t3=C,C=C+((1*B|0)+15&-16)|0,b5=+o[A>>2],A6=b5+g,M6=A6<1,u9=M6?1:A6,B6=u9*u9,_=B6*.5,t0=_*u9,o[v>>2]=_,o[$2>>2]=_,o[e5>>2]=0,o[a3>>2]=t0,o[t3>>2]=0,e0=(t|0)>1,e0)for(O3=1,w6=_,q6=_,ae=0,Ye=0,we=t0,Q9=1;d1=A+(O3<<2)|0,p1=+o[d1>>2],R1=p1+g,Y1=R1<1,_e=Y1?1:R1,W1=_e*_e,k2=W1+w6,U2=W1*Q9,m5=U2+q6,N5=U2*Q9,_5=N5+ae,J2=W1*_e,I5=J2+we,n5=U2*_e,F5=n5+Ye,c5=v+(O3<<2)|0,o[c5>>2]=k2,T2=$2+(O3<<2)|0,o[T2>>2]=m5,v5=e5+(O3<<2)|0,o[v5>>2]=_5,z5=a3+(O3<<2)|0,o[z5>>2]=I5,i3=t3+(O3<<2)|0,o[i3>>2]=F5,C5=O3+1|0,I3=Q9+1,P6=(C5|0)==(t|0),!P6;)O3=C5,w6=k2,q6=m5,ae=_5,Ye=F5,we=I5,Q9=I3;if(p0=e[s>>2]|0,R0=p0>>16,W0=(R0|0)>-1,W0)W5=p0,y6=0,D6=0,X6=1,O6=0,g9=0;else for(G5=p0,w3=R0,oe=0,p9=0;;)if(y3=G5&65535,Z5=v+(y3<<2)|0,x3=+o[Z5>>2],f3=0-w3|0,e6=v+(f3<<2)|0,V3=+o[e6>>2],X5=V3+x3,_3=$2+(y3<<2)|0,a6=+o[_3>>2],G3=$2+(f3<<2)|0,Y3=+o[G3>>2],c3=a6-Y3,g3=e5+(y3<<2)|0,u3=+o[g3>>2],Q3=e5+(f3<<2)|0,K5=+o[Q3>>2],H5=K5+u3,Y5=a3+(y3<<2)|0,z3=+o[Y5>>2],U5=a3+(f3<<2)|0,l6=+o[U5>>2],n3=l6+z3,l3=t3+(y3<<2)|0,U3=+o[l3>>2],C6=t3+(f3<<2)|0,b3=+o[C6>>2],L3=U3-b3,D3=n3*H5,r6=L3*c3,K3=D3-r6,j5=L3*X5,M3=n3*c3,h3=j5-M3,J3=H5*X5,d6=c3*c3,m3=J3-d6,x6=h3*p9,L6=x6+K3,S6=L6/m3,n6=S6<0,se=n6?0:S6,f6=se-g,b6=$+(oe<<2)|0,o[b6>>2]=f6,N6=oe+1|0,j6=p9+1,k6=s+(N6<<2)|0,R3=e[k6>>2]|0,s6=R3>>16,o6=(s6|0)>-1,o6){W5=R3,y6=K3,D6=h3,X6=m3,O6=N6,g9=j6;break}else G5=R3,w3=s6,oe=N6,p9=j6;if(d3=W5&65535,r3=(d3|0)<(t|0),r3)for(b=W5,t6=d3,ne=O6,r9=g9;;)if(F3=b>>16,Z3=v+(t6<<2)|0,R6=+o[Z3>>2],c6=v+(F3<<2)|0,s3=+o[c6>>2],K6=R6-s3,A3=$2+(t6<<2)|0,g6=+o[A3>>2],Q=$2+(F3<<2)|0,L=+o[Q>>2],R=g6-L,M=e5+(t6<<2)|0,N=+o[M>>2],G=e5+(F3<<2)|0,O=+o[G>>2],q=N-O,V=a3+(t6<<2)|0,K=+o[V>>2],Z=a3+(F3<<2)|0,A0=+o[Z>>2],j=K-A0,r0=t3+(t6<<2)|0,o0=+o[r0>>2],J=t3+(F3<<2)|0,s0=+o[J>>2],Y=o0-s0,d0=j*q,i0=Y*R,h0=d0-i0,c0=Y*K6,$0=j*R,l0=c0-$0,X=q*K6,m0=R*R,g0=X-m0,I0=l0*r9,n0=I0+h0,f0=n0/g0,C0=f0<0,ge=C0?0:f0,b0=ge-g,y0=$+(ne<<2)|0,o[y0>>2]=b0,D0=ne+1|0,E0=r9+1,Q0=s+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0&65535,x0=(B0|0)<(t|0),x0)b=w0,t6=B0,ne=D0,r9=E0;else{T3=h0,G6=l0,P3=g0,he=D0,ze=E0;break}else T3=y6,G6=D6,P3=X6,he=O6,ze=g9;if(W3=(he|0)<(t|0),W3)for(Be=he,Fe=ze;Z0=Fe*G6,v0=Z0+T3,G0=v0/P3,U0=G0<0,U6=U0?0:G0,O0=U6-g,H0=$+(Be<<2)|0,o[H0>>2]=O0,k0=Be+1|0,K0=Fe+1,_6=(k0|0)==(t|0),!_6;)Be=k0,Fe=K0;if(N0=(d|0)<1,N0){C=F9;return}if(M0=(d|0)/2&-1,P0=M0-d|0,J0=(P0|0)>-1,J0)H6=T3,ee=G6,re=P3,ye=0,ve=0;else for(V0=d-M0|0,z0=M0,s1=P0,Qe=0,J6=0;;)if(o1=v+(z0<<2)|0,r1=+o[o1>>2],L0=0-s1|0,u1=v+(L0<<2)|0,E1=+o[u1>>2],f1=E1+r1,h1=$2+(z0<<2)|0,A1=+o[h1>>2],g1=$2+(L0<<2)|0,a1=+o[g1>>2],$1=A1-a1,X0=e5+(z0<<2)|0,B1=+o[X0>>2],Q1=e5+(L0<<2)|0,C1=+o[Q1>>2],y1=C1+B1,v1=a3+(z0<<2)|0,k1=+o[v1>>2],S1=a3+(L0<<2)|0,L1=+o[S1>>2],M1=L1+k1,b1=t3+(z0<<2)|0,_1=+o[b1>>2],F1=t3+(L0<<2)|0,P1=+o[F1>>2],D1=_1-P1,O1=M1*y1,X1=D1*$1,G1=O1-X1,x1=D1*f1,J1=M1*$1,H1=x1-J1,V1=y1*f1,z1=$1*$1,t2=V1-z1,o2=H1*J6,e2=o2+G1,q1=e2/t2,h2=q1-g,Z1=$+(Qe<<2)|0,I2=+o[Z1>>2],A2=h2>2]=h2),C2=Qe+1|0,f2=J6+1,g2=M0+C2|0,n2=g2-d|0,te=(C2|0)==(V0|0),te){H6=G1,ee=H1,re=t2,ye=V0,ve=f2;break}else z0=g2,s1=n2,Qe=C2,J6=f2;if(j0=ye+M0|0,q0=(j0|0)<(t|0),q0)for(Y0=t-M0|0,D=j0,fe=ye,w9=ve;;)if(s2=D-d|0,l2=v+(D<<2)|0,i2=+o[l2>>2],a2=v+(s2<<2)|0,m2=+o[a2>>2],r2=i2-m2,D2=$2+(D<<2)|0,S2=+o[D2>>2],y2=$2+(s2<<2)|0,G2=+o[y2>>2],M2=S2-G2,O2=e5+(D<<2)|0,p2=+o[O2>>2],W2=e5+(s2<<2)|0,q2=+o[W2>>2],K2=p2-q2,V2=a3+(D<<2)|0,Z2=+o[V2>>2],A5=a3+(s2<<2)|0,Y2=+o[A5>>2],N1=Z2-Y2,t5=t3+(D<<2)|0,T5=+o[t5>>2],i5=t3+(s2<<2)|0,L5=+o[i5>>2],j2=T5-L5,D5=N1*K2,V5=j2*M2,u5=D5-V5,b2=j2*r2,B5=N1*M2,o5=b2-B5,F2=K2*r2,R2=M2*M2,Q2=F2-R2,y5=o5*w9,p5=y5+u5,M5=p5/Q2,q5=M5-g,R5=$+(fe<<2)|0,z2=+o[R5>>2],E5=q5>2]=q5),$5=fe+1|0,h5=w9+1,Q5=$5+M0|0,F6=($5|0)==(Y0|0),F6){$6=u5,Q6=o5,V6=Q2,de=Y0,Ae=h5;break}else D=Q5,fe=$5,w9=h5;else $6=H6,Q6=ee,V6=re,de=ye,Ae=ve;if(u2=(de|0)<(t|0),u2)Ve=de,M9=Ae;else{C=F9;return}for(;T1=M9*Q6,d5=T1+$6,l5=d5/V6,X2=l5-g,d2=$+(Ve<<2)|0,w5=+o[d2>>2],r5=X2>2]=X2),a5=Ve+1|0,f5=M9+1,Y6=(a5|0)==(t|0),!Y6;)Ve=a5,M9=f5;C=F9}function Pb(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0;if(d1=C,d=A<<2,$=d,p=C,C=C+((1*$|0)+15&-16)|0,g=d,L=C,C=C+((1*g|0)+15&-16)|0,A0=(A|0)>0,A0)k0=0,V0=0;else{C=d1;return}for(;;){x0=(V0|0)<2;do if(x0)v0=p+(V0<<2)|0,e[v0>>2]=k0,I=t+(k0<<2)|0,E=e[I>>2]|0,y=L+(V0<<2)|0,e[y>>2]=E,z0=V0;else{for(Z0=t+(k0<<2)|0,R0=+o[Z0>>2],j0=V0;;){if(B=j0+-1|0,b=L+(B<<2)|0,D=+o[b>>2],k=R0>2]|0,M=R+s|0,N=(k0|0)<(M|0),G=(j0|0)>1,M0=G&N,!M0){Y0=j0,s1=12;break}if(O=j0+-2|0,q=L+(O<<2)|0,V=+o[q>>2],K=!(D<=V),K){Y0=j0,s1=12;break}if(t0=p+(O<<2)|0,Z=e[t0>>2]|0,j=Z+s|0,r0=(k0|0)<(j|0),r0)j0=B;else{Y0=j0,s1=12;break}}if((s1|0)==8){s1=0,v=p+(q0<<2)|0,e[v>>2]=k0,_=L+(q0<<2)|0,o[_>>2]=R0,z0=q0;break}else if((s1|0)==12){s1=0,o0=p+(Y0<<2)|0,e[o0>>2]=k0,J=L+(Y0<<2)|0,o[J>>2]=R0,z0=Y0;break}}while(!1);if(o1=z0+1|0,s0=k0+1|0,H0=(s0|0)==(A|0),H0){r1=z0,L0=o1;break}else k0=s0,V0=o1}if(c0=(r1|0)>-1,!c0){C=d1;return}for(b0=s+1|0,K0=0,P0=0;;){if(Y=(K0|0)<(r1|0),Y?(d0=K0+1|0,i0=L+(d0<<2)|0,e0=+o[i0>>2],h0=L+(K0<<2)|0,$0=+o[h0>>2],l0=e0>$0,l0?(X=p+(d0<<2)|0,m0=e[X>>2]|0,G0=m0):s1=17):s1=17,(s1|0)==17&&(s1=0,g0=p+(K0<<2)|0,I0=e[g0>>2]|0,n0=b0+I0|0,G0=n0),f0=(G0|0)>(A|0),N0=f0?A:G0,p0=(P0|0)<(N0|0),p0)for(C0=L+(K0<<2)|0,y0=e[C0>>2]|0,D0=(G0|0)<(A|0),E0=D0?G0:A,J0=P0;;)if(Q0=t+(J0<<2)|0,e[Q0>>2]=y0,w0=J0+1|0,U0=(w0|0)==(E0|0),U0){W0=E0;break}else J0=w0;else W0=P0;if(B0=K0+1|0,O0=(B0|0)==(L0|0),O0)break;K0=B0,P0=W0}C=d1}function My(t,s,A,$,g,d,p,I,E){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0;if(h2=C,M=I<<2,_=M,N=C,C=C+((1*_|0)+15&-16)|0,o0=t+500|0,X=e[o0>>2]|0,E0=(X|0)==0,E0?k1=I:(H0=t+504|0,Y0=e[H0>>2]|0,A1=Y0-p|0,k1=A1),F1=(k1|0)>(I|0),z1=F1?I:k1,G=(z1|0)>0,G)for(O=(d|0)==0,q=(k1|0)<(I|0),V=q?k1:I,H1=0;;){O?q1=9:(A0=d+(H1<<2)|0,j=e[A0>>2]|0,r0=(j|0)==0,r0&&(q1=9));do if((q1|0)==9)if(q1=0,J=$+(H1<<2)|0,s0=+o[J>>2],Y=g+(H1<<2)|0,d0=+o[Y>>2],i0=s0/d0,e0=A+(H1<<2)|0,h0=+o[e0>>2],c0=h0<0,$0=i0,l0=+Hn(+$0),m0=+z7(l0),c0){g0=-m0,I0=~~g0,n0=E+(H1<<2)|0,e[n0>>2]=I0;break}else{f0=~~m0,p0=E+(H1<<2)|0,e[p0>>2]=f0;break}while(!1);if(C0=H1+1|0,x1=(C0|0)==(V|0),x1){J1=V;break}else H1=C0}else J1=0;if(K=(J1|0)<(I|0),!K)return v=0,C=h2,+v;for(t0=(d|0)!=0,Z=s-p|0,y=0,P1=0,V1=J1;;){t0?(b0=d+(V1<<2)|0,y0=e[b0>>2]|0,D0=(y0|0)==0,D0?q1=15:(B=y,D1=P1)):q1=15;do if((q1|0)==15)if(q1=0,Q0=$+(V1<<2)|0,w0=+o[Q0>>2],B0=g+(V1<<2)|0,x0=+o[B0>>2],Z0=w0/x0,R0=!(Z0<.25),v0=(V1|0)<(Z|0),t2=t0&v0,o2=R0|t2,o2){k0=A+(V1<<2)|0,K0=+o[k0>>2],N0=K0<0,M0=Z0,P0=+Hn(+M0),W0=+z7(P0),J0=-W0,L=N0?J0:W0,Q=~~L,V0=E+(V1<<2)|0,e[V0>>2]=Q,j0=s5(Q,Q)|0,q0=+(j0|0),o1=+o[B0>>2],z0=q0*o1,o[Q0>>2]=z0,B=y,D1=P1;break}else{G0=Z0+y,U0=P1+1|0,O0=N+(P1<<2)|0,e[O0>>2]=Q0,B=G0,D1=U0;break}while(!1);if(r1=V1+1|0,G1=(r1|0)==(I|0),G1){b=B,O1=D1;break}else y=B,P1=D1,V1=r1}if(L0=(O1|0)==0,L0||(Pu(N,O1,4,9),s1=(O1|0)>0,!s1))return v=b,C=h2,+v;for(d1=$,u1=t+512|0,E1=+c1[u1>>3],D=b,Y1=0;;)if(f1=N+(Y1<<2)|0,h1=e[f1>>2]|0,g1=h1,a1=g1-d1|0,$1=a1>>2,X0=D,B1=!(X0>=E1),B1?(k=D,R=0,e2=0):(p1=A+($1<<2)|0,Q1=e[p1>>2]|0,C1=Q1&-2147483648,y1=C1|1065353216,v1=(e[w2>>2]=y1,+o[w2>>2]),S1=~~v1,L1=D+-1,M1=g+($1<<2)|0,b1=+o[M1>>2],k=L1,R=S1,e2=b1),_1=E+($1<<2)|0,e[_1>>2]=R,o[h1>>2]=e2,R1=Y1+1|0,X1=(R1|0)==(O1|0),X1){v=k;break}else D=k,Y1=R1;return C=h2,+v}function Ob(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0;return D=C,A=e[t>>2]|0,$=+o[A>>2],g=e[s>>2]|0,d=+o[g>>2],p=$d,y=E&1,B=I-y|0,B|0}function qb(t){t=t|0;var s=0,A=0,$=0;$=C,s=(t|0)==0,s||E2(t)}function Hb(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0;if(r0=C,A=(t|0)==0,!A){if($=t+4|0,v=e[$>>2]|0,N=(v|0)>0,G=t+20|0,N)for(M=v,Z=0;O=e[G>>2]|0,q=O+(Z<<2)|0,V=e[q>>2]|0,K=(V|0)==0,K?d=M:(E2(V),s=e[$>>2]|0,d=s),t0=Z+1|0,g=(t0|0)<(d|0),g;)M=d,Z=t0;if(p=e[G>>2]|0,E2(p),I=t+24|0,E=e[I>>2]|0,y=(E|0)>0,B=t+28|0,y)for(A0=0;b=e[B>>2]|0,D=b+(A0<<2)|0,k=e[D>>2]|0,E2(k),_=A0+1|0,Q=e[I>>2]|0,L=(_|0)<(Q|0),L;)A0=_;R=e[B>>2]|0,E2(R),E2(t)}}function Vb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0;if(f0=C,g=e[t>>2]|0,H2(s,g,24),d=t+4|0,Q=e[d>>2]|0,H2(s,Q,24),Z=t+8|0,Y=e[Z>>2]|0,d0=Y+-1|0,H2(s,d0,24),i0=t+12|0,e0=e[i0>>2]|0,h0=e0+-1|0,H2(s,h0,6),c0=t+20|0,p=e[c0>>2]|0,H2(s,p,8),I=e[i0>>2]|0,E=(I|0)>0,!!E){for(y=t+24|0,$0=0,X=0;;){if(D=y+(X<<2)|0,k=e[D>>2]|0,v=H8(k)|0,_=(v|0)>3,L=e[D>>2]|0,_?(H2(s,L,3),H2(s,1,1),R=e[D>>2]|0,M=R>>3,H2(s,M,5)):H2(s,L,4),N=e[D>>2]|0,G=(N|0)==0,G)g0=0;else for(A=N,I0=0;;)if(O=A&1,q=O+I0|0,V=A>>>1,K=(V|0)==0,K){g0=q;break}else A=V,I0=q;if(t0=g0+$0|0,A0=X+1|0,j=e[i0>>2]|0,r0=(A0|0)<(j|0),r0)$0=t0,X=A0;else{$=t0;break}}if(B=($|0)>0,!!B)for(b=t+280|0,m0=0;o0=b+(m0<<2)|0,J=e[o0>>2]|0,H2(s,J,8),s0=m0+1|0,l0=(s0|0)==($|0),!l0;)m0=s0}}function Yb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0;a1=C,p=l9(1,2840)|0,I=t+28|0,R=e[I>>2]|0,j=r4(s,24)|0,e[p>>2]=j,$0=r4(s,24)|0,y0=p+4|0,e[y0>>2]=$0,U0=r4(s,24)|0,j0=U0+1|0,Y0=p+8|0,e[Y0>>2]=j0,o1=r4(s,6)|0,E=o1+1|0,y=p+12|0,e[y>>2]=E,B=r4(s,8)|0,b=p+20|0,e[b>>2]=B,D=(B|0)<0;e:do if(D)g1=26;else{if(k=(o1|0)>-1,k){for(v=p+24|0,r1=0,d1=0;;){if(L=r4(s,3)|0,M=r4(s,1)|0,N=(M|0)<0,N){g1=26;break e}if(G=(M|0)==0,G)L0=L;else{if(O=r4(s,5)|0,q=(O|0)<0,q){g1=26;break e}V=O<<3,K=V|L,L0=K}if(t0=v+(d1<<2)|0,e[t0>>2]=L0,Z=(L0|0)==0,Z)h1=0;else for($=L0,A1=0;;)if(A0=$&1,r0=A0+A1|0,o0=$>>>1,J=(o0|0)==0,J){h1=r0;break}else $=o0,A1=r0;if(s0=h1+r1|0,Y=d1+1|0,d0=e[y>>2]|0,i0=(Y|0)<(d0|0),i0)r1=s0,d1=Y;else{d=s0;break}}if(_=(d|0)>0,_)for(Q=p+280|0,u1=0;;){if(e0=r4(s,8)|0,h0=(e0|0)<0,h0)break e;if(c0=Q+(u1<<2)|0,e[c0>>2]=e0,l0=u1+1|0,X=(l0|0)<(d|0),X)u1=l0;else{q0=_,z0=d;break}}else q0=0,z0=d}else q0=0,z0=0;if(m0=e[b>>2]|0,g0=R+24|0,I0=e[g0>>2]|0,n0=(m0|0)<(I0|0),n0){if(q0)for(f0=p+280|0,E1=0;;){if(b0=f0+(E1<<2)|0,D0=e[b0>>2]|0,E0=(D0|0)<(I0|0),!E0||(Q0=(R+1824|0)+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0+12|0,x0=e[B0>>2]|0,Z0=(x0|0)==0,p0=E1+1|0,Z0))break e;if(C0=(p0|0)<(z0|0),C0)E1=p0;else break}if(R0=(R+1824|0)+(m0<<2)|0,v0=e[R0>>2]|0,G0=v0+4|0,O0=e[G0>>2]|0,H0=e[v0>>2]|0,k0=(H0|0)<1,!k0){for(K0=e[y>>2]|0,s1=H0,f1=1;;){if(P0=s5(K0,f1)|0,W0=(P0|0)>(O0|0),W0)break e;if(N0=s1+-1|0,M0=(s1|0)>1,M0)s1=N0,f1=P0;else{g=P0;break}}return J0=p+16|0,e[J0>>2]=g,A=p,A|0}}}while(!1);return(g1|0)==26&&(V0=(p|0)==0,V0)?(A=0,A|0):(E2(p),A=0,A|0)}function zb(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0;if(k1=C,d=l9(1,44)|0,p=t+4|0,L=e[p>>2]|0,A0=L+28|0,c0=e[A0>>2]|0,e[d>>2]=s,b0=s+12|0,G0=e[b0>>2]|0,V0=d+4|0,e[V0>>2]=G0,o1=c0+2848|0,z0=e[o1>>2]|0,I=d+12|0,e[I>>2]=z0,E=z0,y=s+20|0,B=e[y>>2]|0,b=E+(B*56|0)|0,D=d+16|0,e[D>>2]=b,k=e[b>>2]|0,v=l9(G0,4)|0,_=d+20|0,e[_>>2]=v,Q=(G0|0)>0,Q)for(R=s+24|0,M=s+280|0,r1=0,h1=0,p1=0;;){if(N=R+(h1<<2)|0,G=e[N>>2]|0,O=H8(G)|0,q=(O|0)==0,q)d1=r1,Q1=p1;else if(V=(O|0)>(p1|0),$=V?O:p1,K=l9(O,4)|0,t0=v+(h1<<2)|0,e[t0>>2]=K,Z=(O|0)>0,Z)for(j=e[N>>2]|0,r0=v+(h1<<2)|0,L0=r1,$1=0;;)if(o0=1<<$1,J=j&o0,s0=(J|0)==0,s0?s1=L0:(Y=e[o1>>2]|0,d0=L0+1|0,i0=M+(L0<<2)|0,e0=e[i0>>2]|0,h0=Y+(e0*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=h0,s1=d0),X=$1+1|0,E1=(X|0)==(O|0),E1){d1=s1,Q1=$;break}else L0=s1,$1=X;else d1=r1,Q1=$;if(m0=h1+1|0,g0=(m0|0)<(G0|0),g0)r1=d1,h1=m0,p1=Q1;else{B1=Q1;break}}else B1=0;if(I0=d+24|0,e[I0>>2]=1,n0=(k|0)>0,n0){for(p0=1,A1=0;;)if(f0=s5(p0,G0)|0,C0=A1+1|0,u1=(C0|0)==(k|0),u1){A=f0;break}else p0=f0,A1=C0;e[I0>>2]=A,E0=A}else E0=1;if(y0=d+8|0,e[y0>>2]=B1,D0=E0<<2,Q0=Re(D0)|0,w0=d+28|0,e[w0>>2]=Q0,B0=(E0|0)>0,!B0)return d|0;if(x0=k<<2,!n0){for(g1=0;J0=Re(x0)|0,j0=Q0+(g1<<2)|0,e[j0>>2]=J0,q0=g1+1|0,Y0=(q0|0)<(E0|0),Y0;)g1=q0;return d|0}for(Z0=e[w0>>2]|0,a1=0;;){for(M0=Re(x0)|0,P0=Q0+(a1<<2)|0,e[P0>>2]=M0,W0=Z0+(a1<<2)|0,K0=e[W0>>2]|0,g=E0,X0=0,y1=a1;C1=(g|0)/(G0|0)&-1,U0=(y1|0)/(C1|0)&-1,O0=s5(U0,C1)|0,H0=y1-O0|0,k0=K0+(X0<<2)|0,e[k0>>2]=U0,N0=X0+1|0,f1=(N0|0)==(k|0),!f1;)g=C1,X0=N0,y1=H0;if(R0=a1+1|0,v0=(R0|0)<(E0|0),v0)a1=R0;else break}return d|0}function Kb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0;if(G=C,d=(g|0)>0,d)Q=0,L=0;else return 0;for(;;)if(p=$+(Q<<2)|0,I=e[p>>2]|0,E=(I|0)==0,E?R=L:(y=A+(Q<<2)|0,B=e[y>>2]|0,b=L+1|0,D=A+(L<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){M=R;break}else Q=k,L=R;return v=(M|0)==0,v||Ry(t,s,A,M,2),0}function Jb(t,s,A,$,g,d,p,I){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0;if(V=C,E=(d|0)>0,E)M=0,N=0;else return 0;for(;;)if(y=g+(M<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b?G=N:(D=$+(M<<2)|0,k=e[D>>2]|0,v=N+1|0,_=$+(N<<2)|0,e[_>>2]=k,G=v),Q=M+1|0,R=(Q|0)==(d|0),R){O=G;break}else M=Q,N=G;return L=(O|0)==0,L||Fy(t,A,$,O,p),0}function Wb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,I=(g|0)>0,I)s1=0,p1=0;else return d=0,d|0;for(;;)if(E=$+(s1<<2)|0,M=e[E>>2]|0,r0=(M|0)==0,r0?Q1=p1:(l0=A+(s1<<2)|0,D0=e[l0>>2]|0,O0=p1+1|0,W0=A+(p1<<2)|0,e[W0>>2]=D0,Q1=O0),J0=s1+1|0,Y0=(J0|0)==(g|0),Y0){C1=Q1;break}else s1=J0,p1=Q1;if(V0=(C1|0)==0,V0)return d=0,d|0;if(y=e[s>>2]|0,B=y+8|0,b=e[B>>2]|0,D=y+12|0,k=e[D>>2]|0,v=y+4|0,_=e[v>>2]|0,Q=e[y>>2]|0,L=_-Q|0,R=(L|0)/(b|0)&-1,N=C1<<2,G=W8(t,N)|0,O=+(b|0),q=100/O,V=q,K=(C1|0)>0,K)for(t0=R<<2,d1=0;J=W8(t,t0)|0,s0=G+(d1<<2)|0,e[s0>>2]=J,g4(J|0,0,t0|0)|0,Y=d1+1|0,L0=(Y|0)==(C1|0),!L0;)d1=Y;if(Z=(R|0)>0,Z)for(A0=(b|0)>0,j=k+-1|0,o0=(k|0)>1,u1=0;;){if(d0=s5(u1,b)|0,i0=e[y>>2]|0,e0=i0+d0|0,K)for(f1=0;;){if(A0)for(h0=A+(f1<<2)|0,c0=e[h0>>2]|0,q0=0,h1=0,$1=0;;)if($0=e0+h1|0,X=c0+($0<<2)|0,m0=e[X>>2]|0,E1=(m0|0)>-1,X0=0-m0|0,g0=E1?m0:X0,I0=(g0|0)>($1|0),p=I0?g0:$1,n0=g0+q0|0,f0=h1+1|0,o1=(f0|0)==(b|0),o1){j0=n0,a1=p;break}else q0=n0,h1=f0,$1=p;else j0=0,a1=0;p0=+(j0|0),C0=p0*V,b0=~~C0;e:do if(o0)for(g1=0;;){if(y0=(y+2328|0)+(g1<<2)|0,E0=e[y0>>2]|0,Q0=(a1|0)>(E0|0),!Q0&&(w0=(y+2584|0)+(g1<<2)|0,B0=e[w0>>2]|0,x0=(B0|0)<0,Z0=(b0|0)<(B0|0),B1=x0|Z0,B1)){A1=g1;break e}if(R0=g1+1|0,v0=(R0|0)<(j|0),v0)g1=R0;else{A1=R0;break}}else A1=0;while(!1);if(G0=G+(f1<<2)|0,U0=e[G0>>2]|0,H0=U0+(u1<<2)|0,e[H0>>2]=A1,k0=f1+1|0,z0=(k0|0)==(C1|0),z0)break;f1=k0}if(K0=u1+1|0,r1=(K0|0)==(R|0),r1)break;u1=K0}return N0=s+40|0,M0=e[N0>>2]|0,P0=M0+1|0,e[N0>>2]=P0,d=G,d|0}function Zb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0;if(G=C,d=(g|0)>0,d)Q=0,L=0;else return 0;for(;;)if(p=$+(Q<<2)|0,I=e[p>>2]|0,E=(I|0)==0,E?R=L:(y=A+(Q<<2)|0,B=e[y>>2]|0,b=L+1|0,D=A+(L<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){M=R;break}else Q=k,L=R;return v=(M|0)==0,v||Ry(t,s,A,M,3),0}function jb(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0;if(X0=C,E=(g|0)>0,E)P0=0,a1=0;else return d=0,d|0;for(;;)if(y=$+(P0<<2)|0,N=e[y>>2]|0,f1=(N|0)!=0,o0=f1&1,A1=o0+a1|0,X=P0+1|0,K0=(X|0)==(g|0),K0){g1=A1;break}else P0=X,a1=A1;if(h1=(g1|0)==0,h1)return d=0,d|0;if(E0=e[s>>2]|0,Z0=E0+8|0,R0=e[Z0>>2]|0,v0=E0+12|0,G0=e[v0>>2]|0,B=E0+4|0,b=e[B>>2]|0,D=e[E0>>2]|0,k=b-D|0,v=(k|0)/(R0|0)&-1,_=W8(t,4)|0,Q=v<<2,L=W8(t,Q)|0,e[_>>2]=L,g4(L|0,0,Q|0)|0,R=(v|0)>0,R)for(M=e[E0>>2]|0,G=(M|0)/(g|0)&-1,O=(R0|0)>0,q=G0+-1|0,V=(G0|0)>1,K=e[_>>2]|0,t0=(g|0)>1,W0=0,z0=G;;){if(O)for(Z=e[A>>2]|0,O0=0,j0=0,L0=z0,d1=0;;){if(A0=Z+(L0<<2)|0,j=e[A0>>2]|0,J0=(j|0)>-1,u1=0-j|0,r0=J0?j:u1,J=(r0|0)>(d1|0),I=J?r0:d1,t0)for(k0=O0,o1=1;;)if(s0=A+(o1<<2)|0,Y=e[s0>>2]|0,d0=Y+(L0<<2)|0,i0=e[d0>>2]|0,V0=(i0|0)>-1,E1=0-i0|0,e0=V0?i0:E1,h0=(e0|0)>(k0|0),p=h0?e0:k0,c0=o1+1|0,N0=(c0|0)==(g|0),N0){H0=p;break}else k0=p,o1=c0;else H0=O0;if($0=L0+1|0,l0=j0+g|0,m0=(l0|0)<(R0|0),m0)O0=H0,j0=l0,L0=$0,d1=I;else{U0=H0,r1=$0,s1=I;break}}else U0=0,r1=z0,s1=0;e:do if(V)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,I0=e[g0>>2]|0,n0=(s1|0)>(I0|0),!n0&&(f0=(E0+2584|0)+(Y0<<2)|0,p0=e[f0>>2]|0,C0=(U0|0)>(p0|0),!C0)){q0=Y0;break e}if(b0=Y0+1|0,y0=(b0|0)<(q|0),y0)Y0=b0;else{q0=b0;break}}else q0=0;while(!1);if(D0=K+(W0<<2)|0,e[D0>>2]=q0,Q0=W0+1|0,M0=(Q0|0)==(v|0),M0)break;W0=Q0,z0=r1}return w0=s+40|0,B0=e[w0>>2]|0,x0=B0+1|0,e[w0>>2]=x0,d=_,d|0}function Xb(t,s,A,$,g,d,p,I){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0;if(c0=C,C=C+16|0,e0=c0,E=s+36|0,y=e[E>>2]|0,N=(y|0)/2&-1,G=d<<2,O=s5(G,N)|0,q=W8(s,O)|0,e[e0>>2]=q,V=(d|0)>0,!V)return C=c0,0;for(K=(y|0)>1,j=0,i0=0;;){if(t0=$+(j<<2)|0,Z=e[t0>>2]|0,B=g+(j<<2)|0,b=e[B>>2]|0,J=(b|0)!=0,D=J&1,Y=D+i0|0,K)for(r0=0,o0=j;k=Z+(r0<<2)|0,v=e[k>>2]|0,_=q+(o0<<2)|0,e[_>>2]=v,Q=r0+1|0,L=o0+d|0,R=(Q|0)<(N|0),R;)r0=Q,o0=L;if(M=j+1|0,A0=(M|0)==(d|0),A0){d0=Y;break}else j=M,i0=Y}return s0=(d0|0)==0,s0?(C=c0,0):(Fy(t,A,e0,1,p),C=c0,0)}function eD(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;if(S1=C,I=e[s>>2]|0,E=I+8|0,M=e[E>>2]|0,r0=s+16|0,l0=e[r0>>2]|0,D0=e[l0>>2]|0,O0=t+36|0,q0=e[O0>>2]|0,h1=s5(q0,g)|0,A1=h1>>1,y=I+4|0,B=e[y>>2]|0,b=(B|0)<(A1|0),d=b?B:A1,D=e[I>>2]|0,k=d-D|0,v=(k|0)>0,!v)return 0;_=(k|0)/(M|0)&-1,Q=D0+-1|0,L=Q+_|0,R=(L|0)/(D0|0)&-1,N=R<<2,G=W8(t,N)|0,O=(g|0)>0;e:do if(O)for(a1=0;;){if(q=$+(a1<<2)|0,V=e[q>>2]|0,K=(V|0)==0,!K){g1=a1;break e}if(t0=a1+1|0,Z=(t0|0)<(g|0),Z)a1=t0;else{g1=t0;break}}else g1=0;while(!1);if(A0=(g1|0)==(g|0),A0||(j=s+8|0,o0=e[j>>2]|0,J=(o0|0)>0,!J))return 0;s0=(_|0)>0,Y=t+4|0,d0=I+16|0,i0=s+28|0,e0=(D0|0)>0,h0=s+20|0,f1=o0,v1=0;e:for(;;){if(s0){for(c0=(v1|0)==0,$0=1<>2]|0,m0=sE(X,Y)|0,g0=(m0|0)==-1,g0){k1=23;break e}if(I0=e[d0>>2]|0,n0=(m0|0)<(I0|0),!n0){k1=23;break e}if(f0=e[i0>>2]|0,p0=f0+(m0<<2)|0,C0=e[p0>>2]|0,b0=G+(Q1<<2)|0,e[b0>>2]=C0,y0=(C0|0)==0,y0){k1=23;break e}}if(E0=($1|0)<(_|0),y1=e0&E0,y1)for(Q0=G+(Q1<<2)|0,B1=$1,p1=0;;){if(w0=e[Q0>>2]|0,B0=w0+(p1<<2)|0,x0=e[B0>>2]|0,Z0=(I+24|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0&$0,G0=(v0|0)==0,!G0&&(U0=e[h0>>2]|0,H0=U0+(x0<<2)|0,k0=e[H0>>2]|0,K0=k0+(v1<<2)|0,N0=e[K0>>2]|0,M0=(N0|0)==0,!M0&&(P0=s5(B1,M)|0,W0=e[I>>2]|0,J0=W0+P0|0,V0=ob(N0,A,J0,g,Y,M)|0,j0=(V0|0)==-1,j0))){k1=23;break e}if(Y0=p1+1|0,o1=B1+1|0,z0=(Y0|0)<(D0|0),r1=(o1|0)<(_|0),C1=z0&r1,C1)B1=o1,p1=Y0;else{X0=o1;break}}else X0=$1;if(L0=Q1+1|0,s1=(X0|0)<(_|0),s1)$1=X0,Q1=L0;else break}p=e[j>>2]|0,E1=p}else E1=f1;if(d1=v1+1|0,u1=(d1|0)<(E1|0),u1)f1=E1,v1=d1;else{k1=23;break}}return(k1|0)==23,0}function Ry(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0;if(t2=C,y=e[s>>2]|0,B=y+8|0,G=e[B>>2]|0,J=s+16|0,m0=e[J>>2]|0,Q0=e[m0>>2]|0,k0=t+36|0,o1=e[k0>>2]|0,g1=o1>>1,S1=y+4|0,b=e[S1>>2]|0,D=(b|0)<(g1|0),d=D?b:g1,k=e[y>>2]|0,v=d-k|0,_=(v|0)>0,!_){C=t2;return}if(Q=(v|0)/(G|0)&-1,L=$<<2,p=L,R=C,C=C+((1*p|0)+15&-16)|0,M=($|0)>0,M)for(N=Q0+-1|0,O=N+Q|0,q=(O|0)/(Q0|0)&-1,V=q<<2,P1=0;d0=W8(t,V)|0,i0=R+(P1<<2)|0,e[i0>>2]=d0,e0=P1+1|0,M1=(e0|0)==($|0),!M1;)P1=e0;if(K=s+8|0,t0=e[K>>2]|0,Z=(t0|0)>0,!Z){C=t2;return}A0=(Q|0)>0,j=t+4|0,r0=y+16|0,o0=s+28|0,s0=(Q0|0)>0,Y=s+20|0,E=M^1,Y1=0;e:for(;;){if(A0)for(h0=1<>2]|0,z0=sE(Y0,j)|0,r1=(z0|0)==-1,r1){z1=25;break e}if(L0=e[r0>>2]|0,s1=(z0|0)<(L0|0),!s1){z1=25;break e}if(d1=e[o0>>2]|0,u1=d1+(z0<<2)|0,E1=e[u1>>2]|0,f1=R+(D1<<2)|0,h1=e[f1>>2]|0,A1=h1+(x1<<2)|0,e[A1>>2]=E1,a1=(E1|0)==0,j0=D1+1|0,a1){z1=25;break e}if(q0=(j0|0)<($|0),q0)D1=j0;else break}c0=(b1|0)<(Q|0),V1=s0&c0;t:do if(V1){if(M)F1=b1,G1=0;else for(R1=b1,X1=0;;)if($1=X1+1|0,X0=R1+1|0,B1=($1|0)<(Q0|0),p1=(X0|0)<(Q|0),J1=B1&p1,J1)R1=X0,X1=$1;else{_1=X0;break t}for(;;){for(f0=s5(F1,G)|0,O1=0;;){if(I0=e[y>>2]|0,n0=I0+f0|0,p0=R+(O1<<2)|0,C0=e[p0>>2]|0,b0=C0+(x1<<2)|0,y0=e[b0>>2]|0,D0=y0+(G1<<2)|0,E0=e[D0>>2]|0,w0=(y+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,x0=B0&h0,Z0=(x0|0)==0,!Z0&&(R0=e[Y>>2]|0,v0=R0+(E0<<2)|0,G0=e[v0>>2]|0,U0=G0+(Y1<<2)|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0&&(K0=A+(O1<<2)|0,N0=e[K0>>2]|0,M0=N0+(n0<<2)|0,P0=GC[g&3](O0,M0,j,G)|0,W0=(P0|0)==-1,W0))){z1=25;break e}if(J0=O1+1|0,V0=(J0|0)<($|0),V0)O1=J0;else break}if($0=G1+1|0,l0=F1+1|0,X=($0|0)<(Q0|0),g0=(l0|0)<(Q|0),H1=X&g0,H1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,C1=(_1|0)<(Q|0),C1)b1=_1,x1=Q1;else break}if(y1=Y1+1|0,v1=e[K>>2]|0,k1=(y1|0)<(v1|0),k1)Y1=y1;else{z1=25;break}}if((z1|0)==25){C=t2;return}}function Fy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0;if(Q6=C,C=C+1088|0,s3=Q6+1056|0,U5=Q6+1024|0,K6=Q6+512|0,A3=Q6,Q=e[s>>2]|0,L=Q+8|0,g2=e[L>>2]|0,K2=Q+12|0,j2=e[K2>>2]|0,y5=s+16|0,T1=e[y5>>2]|0,I5=e[T1>>2]|0,d3=Q+4|0,V3=e[d3>>2]|0,R=e[Q>>2]|0,j=V3-R|0,$0=(j|0)/(g2|0)&-1,g4(K6|0,0,512)|0,g4(A3|0,0,512)|0,y0=s+8|0,U0=e[y0>>2]|0,j0=(U0|0)>0,!j0){C=Q6;return}for(f1=($0|0)>0,y1=($|0)>0,D1=(I5|0)>1,o2=s+36|0,n2=(I5|0)>0,D2=s+20|0,S2=s+32|0,y2=0-I5|0,k2=U0,g6=0;;){if(f1){for(G2=(g6|0)==0,M2=1<>2]|0,q5=M5+(j5<<2)|0,R5=e[q5>>2]|0,z2=e[y5>>2]|0,E5=z2+4|0,$5=e[E5>>2]|0,h5=(R5|0)<($5|0),h5&&(Q5=Gu(z2,R5,t)|0,_5=e[o2>>2]|0,d5=_5+Q5|0,e[o2>>2]=d5),l5=k6+1|0,l6=(l5|0)==($|0),l6)break e;k6=l5}for(;;){for(b2=g+(R3<<2)|0,m5=e[b2>>2]|0,B5=m5+(j5<<2)|0,o5=e[B5>>2]|0,B6=1,$6=o5;;)if(t5=s5($6,j2)|0,T5=B6+j5|0,i5=(T5|0)<($0|0),i5?(L5=m5+(T5<<2)|0,D5=e[L5>>2]|0,V5=D5+t5|0,D6=V5):D6=t5,u5=B6+1|0,L3=(u5|0)==(I5|0),L3){G6=D6;break}else B6=u5,$6=D6;if(W2=e[y5>>2]|0,q2=W2+4|0,U2=e[q2>>2]|0,V2=(G6|0)<(U2|0),V2&&(Z2=Gu(W2,G6,t)|0,A5=e[o2>>2]|0,Y2=A5+Z2|0,e[o2>>2]=Y2),N1=R3+1|0,D3=(N1|0)==($|0),D3)break;R3=N1}}while(!1);if(F2=(j5|0)<($0|0),R6=n2&F2,R6){for(R2=j5-$0|0,Q2=R2>>>0>>0,H6=Q2?y2:R2,N5=0-H6|0,d6=j5,W3=0;;){if(X2=s5(d6,g2)|0,d2=e[Q>>2]|0,w5=d2+X2|0,y1)for(o6=0;;){if(r5=g+(o6<<2)|0,a5=e[r5>>2]|0,f5=a5+(d6<<2)|0,J2=e[f5>>2]|0,G2&&(n5=A3+(J2<<2)|0,F5=e[n5>>2]|0,e5=F5+g2|0,e[n5>>2]=e5),c5=(Q+24|0)+(J2<<2)|0,T2=e[c5>>2]|0,v5=T2&M2,z5=(v5|0)==0,!z5&&(i3=e[D2>>2]|0,C5=i3+(J2<<2)|0,I3=e[C5>>2]|0,W5=I3+(g6<<2)|0,r3=e[W5>>2]|0,a3=(r3|0)==0,!a3)){if(y3=A+(o6<<2)|0,G5=e[y3>>2]|0,Z5=e[r3>>2]|0,x3=(g2|0)/(Z5|0)&-1,f3=(x3|0)>0,f3){for(w3=r3+48|0,e6=r3+52|0,X5=r3+44|0,_3=r3+12|0,t3=r3+4|0,M=Z5,b5=0,h3=0;;){a6=s5(h3,Z5)|0,D=a6+w5|0,G3=G5+(D<<2)|0,Y3=e[w3>>2]|0,c3=e[e6>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[s3>>2]=0,e[s3+4>>2]=0,e[s3+8>>2]=0,e[s3+12>>2]=0,e[s3+16>>2]=0,e[s3+20>>2]=0,e[s3+24>>2]=0,e[s3+28>>2]=0,Q3=(c3|0)==1,N=(M|0)>0;do if(Q3){if(!N){n6=0;break}for(V=g3+-1|0,m3=0,S6=0,Z3=M;;)if(C0=Z3+-1|0,_=D+C0|0,b0=G5+(_<<2)|0,D0=e[b0>>2]|0,E0=D0-Y3|0,Q0=(E0|0)<(u3|0),Q0?(w0=u3-E0|0,B0=w0<<1,x0=B0+-1|0,G0=x0):(Z0=E0-u3|0,R0=Z0<<1,G0=R0),v0=s5(S6,g3)|0,O0=(G0|0)<0,H0=(G0|0)>=(g3|0),k0=H0?V:G0,K0=O0?0:k0,N0=K0+v0|0,M0=s3+(C0<<2)|0,e[M0>>2]=D0,P0=m3+1|0,r6=(P0|0)==(M|0),r6){n6=N0;break}else m3=P0,S6=N0,Z3=C0}else{if(!N){n6=0;break}for(G=c3>>1,O=G-Y3|0,q=g3+-1|0,M3=0,M6=0,F3=M;;)if(K=F3+-1|0,v=D+K|0,t0=G5+(v<<2)|0,Z=e[t0>>2]|0,A0=O+Z|0,r0=(A0|0)/(c3|0)&-1,o0=(r0|0)<(u3|0),o0?(J=u3-r0|0,s0=J<<1,Y=s0+-1|0,h0=Y):(d0=r0-u3|0,i0=d0<<1,h0=i0),e0=s5(M6,g3)|0,c0=(h0|0)<0,l0=(h0|0)>=(g3|0),X=l0?q:h0,m0=c0?0:X,g0=m0+e0|0,I0=s5(r0,c3)|0,n0=I0+Y3|0,f0=s3+(K<<2)|0,e[f0>>2]=n0,p0=M3+1|0,K3=(p0|0)==(M|0),K3){n6=g0;break}else M3=p0,M6=g0,F3=K}while(!1);W0=e[_3>>2]|0,J0=W0+8|0,V0=e[J0>>2]|0,q0=V0+n6|0,Y0=f[q0>>0]|0,o1=Y0<<24>>24<1;do if(o1){if(e[U5>>2]=0,e[U5+4>>2]=0,e[U5+8>>2]=0,e[U5+12>>2]=0,e[U5+16>>2]=0,e[U5+20>>2]=0,e[U5+24>>2]=0,e[U5+28>>2]=0,z0=g3+-1|0,r1=s5(z0,c3)|0,L0=r1+Y3|0,s1=e[t3>>2]|0,d1=(s1|0)>0,d1)K5=-1,x6=0,f6=n6;else{N6=n6;break}for(;;){u1=V0+x6|0,E1=f[u1>>0]|0,h1=E1<<24>>24>0;do if(h1){if(N)for(j6=0,T3=0;;)if(A1=U5+(j6<<2)|0,g1=e[A1>>2]|0,k=D+j6|0,a1=G5+(k<<2)|0,$1=e[a1>>2]|0,X0=g1-$1|0,B1=s5(X0,X0)|0,p1=B1+T3|0,Q1=j6+1|0,A6=(Q1|0)==(M|0),A6){y6=p1;break}else j6=Q1,T3=p1;else y6=0;if(C1=(K5|0)==-1,v1=(y6|0)<(K5|0),t6=C1|v1,!t6){H5=K5,b6=f6;break}e[s3>>2]=e[U5>>2]|0,e[s3+4>>2]=e[U5+4>>2]|0,e[s3+8>>2]=e[U5+8>>2]|0,e[s3+12>>2]=e[U5+12>>2]|0,e[s3+16>>2]=e[U5+16>>2]|0,e[s3+20>>2]=e[U5+20>>2]|0,e[s3+24>>2]=e[U5+24>>2]|0,e[s3+28>>2]=e[U5+28>>2]|0,H5=y6,b6=x6}else H5=K5,b6=f6;while(!1);if(k1=e[U5>>2]|0,S1=(k1|0)<(L0|0),S1)p=U5,I=k1;else for(M1=U5,s6=0;;)if(L1=s6+1|0,e[M1>>2]=0,b1=U5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(L0|0),R1){p=b1,I=_1;break}else M1=b1,s6=L1;if(F1=(I|0)>-1,F1?(P1=I+c3|0,e[p>>2]=P1,X1=P1):X1=I,O1=0-X1|0,e[p>>2]=O1,G1=x6+1|0,n3=(G1|0)==(s1|0),n3){N6=b6;break}else K5=H5,x6=G1,f6=b6}}else N6=n6;while(!1);if(x1=(N6|0)>-1,c6=N&x1,c6)for(d=G3,L6=0;J1=s3+(L6<<2)|0,H1=e[J1>>2]|0,V1=d+4|0,Y1=e[d>>2]|0,z1=Y1-H1|0,e[d>>2]=z1,t2=L6+1|0,l3=(t2|0)==(M|0),!l3;)d=V1,L6=t2;if(e2=Gu(r3,N6,t)|0,q1=e2+b5|0,h2=h3+1|0,U3=(h2|0)==(x3|0),U3){E=q1;break}y=e[r3>>2]|0,M=y,b5=q1,h3=h2}B=e[r5>>2]|0,C2=B,Y5=E}else C2=a5,Y5=0;Z1=e[S2>>2]|0,I2=Z1+Y5|0,e[S2>>2]=I2,A2=C2+(d6<<2)|0,$2=e[A2>>2]|0,W1=K6+($2<<2)|0,f2=e[W1>>2]|0,u2=f2+Y5|0,e[W1>>2]=u2}if(s2=o6+1|0,C6=(s2|0)==($|0),C6)break;o6=s2}if(l2=W3+1|0,i2=d6+1|0,b3=(l2|0)==(N5|0),b3)break;d6=i2,W3=l2}O2=j5-H6|0,J3=O2}else J3=j5;if(p2=(J3|0)<($0|0),p2)j5=J3;else break}b=e[y0>>2]|0,r2=b}else r2=k2;if(a2=g6+1|0,m2=(a2|0)<(r2|0),m2)k2=r2,g6=a2;else break}C=Q6}function H8(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;if(y=C,A=(t|0)==0,A)p=0;else for(s=t,I=0;;)if($=s>>>1,g=I+1|0,d=($|0)==0,d){p=g;break}else s=$,I=g;return p|0}function Ty(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0;f2=C,C=C+144|0,q1=f2,E=(A|0)!=0,y=E?A:s,N=y<<2,o0=Re(N)|0,g4(q1|0,0,132)|0,X=(s|0)>0;do if(X){E0=q1+4|0,H0=(A|0)==0,Y0=H0&1,k1=0,D1=0;e:for(;;){A1=t+D1|0,v1=f[A1>>0]|0,B=v1<<24>>24,b=v1<<24>>24>0;t:do if(b){if(D=q1+(B<<2)|0,k=e[D>>2]|0,v=v1<<24>>24>31,_=k>>>B,Q=(_|0)==0,h2=v|Q,!h2){W1=5;break e}L=o0+(k1<<2)|0,e[L>>2]=k,R=q1+(B<<2)|0,M=k&1,G=(M|0)==0;i:do if(G)for(J=k,s0=R,J1=B;;){if(r0=J+1|0,e[s0>>2]=r0,Y=J1+-1|0,d0=(J1|0)>1,!d0)break i;if(d=q1+(Y<<2)|0,I=e[d>>2]|0,i0=q1+(Y<<2)|0,e0=I&1,h0=(e0|0)==0,h0)J=I,s0=i0,J1=Y;else{g=i0,x1=Y,W1=8;break}}else g=R,x1=B,W1=8;while(!1);do if((W1|0)==8)if(W1=0,q=(x1|0)==1,q){V=e[E0>>2]|0,K=V+1|0,e[E0>>2]=K;break}else{t0=x1+-1|0,Z=q1+(t0<<2)|0,A0=e[Z>>2]|0,j=A0<<1,e[g>>2]=j;break}while(!1);if(z1=B+1|0,O=(z1|0)<33,O)for(R1=k,V1=B,t2=z1;;){if(c0=q1+(t2<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){p=1;break t}if(g0=q1+(V1<<2)|0,I0=e[g0>>2]|0,n0=I0<<1,e[c0>>2]=n0,H1=t2+1|0,f0=(H1|0)<33,f0)Y1=t2,R1=$0,t2=H1,V1=Y1;else{p=1;break}}else p=1}else p=Y0;while(!1);if(S1=k1+p|0,p0=D1+1|0,C0=(p0|0)<(s|0),C0)k1=S1,D1=p0;else{L1=S1,W1=16;break}}if((W1|0)==5)return E2(o0),$=0,C=f2,$|0;if((W1|0)==16){if(Z1=(L1|0)==1,!Z1){O1=1,W1=27;break}if(b0=q1+8|0,y0=e[b0>>2]|0,D0=(y0|0)==2,D0)break;O1=1,W1=27;break}}else O1=1,W1=27;while(!1);e:do if((W1|0)==27){for(;W1=0,j0=q1+(O1<<2)|0,q0=e[j0>>2]|0,o1=32-O1|0,z0=-1>>>o1,r1=q0&z0,L0=(r1|0)==0,J0=O1+1|0,!!L0;)if(V0=(J0|0)<33,V0)O1=J0,W1=27;else break e;return E2(o0),$=0,C=f2,$|0}while(!1);if(!X)return $=o0,C=f2,$|0;if(E)b1=0,G1=0;else{for(M1=0,X1=0;;){if(s1=t+X1|0,d1=f[s1>>0]|0,u1=d1<<24>>24>0,u1)for(E1=o0+(M1<<2)|0,f1=e[E1>>2]|0,h1=d1<<24>>24,o2=0,C2=0;;)if(g1=C2<<1,a1=f1>>>o2,$1=a1&1,X0=$1|g1,B1=o2+1|0,p1=(B1|0)<(h1|0),p1)o2=B1,C2=X0;else{I2=X0;break}else I2=0;if(Q1=M1+1|0,C1=o0+(M1<<2)|0,e[C1>>2]=I2,y1=X1+1|0,F1=(y1|0)==(s|0),F1){$=o0;break}else M1=Q1,X1=y1}return C=f2,$|0}for(;;){if(Q0=t+G1|0,w0=f[Q0>>0]|0,B0=w0<<24>>24>0,B0)for(W0=o0+(b1<<2)|0,O0=e[W0>>2]|0,P0=w0<<24>>24,e2=0,$2=0;;)if(G0=$2<<1,U0=O0>>>e2,k0=U0&1,K0=k0|G0,N0=e2+1|0,M0=(N0|0)<(P0|0),M0)e2=N0,$2=K0;else{A2=K0;break}else A2=0;if(x0=w0<<24>>24==0,x0?_1=b1:(Z0=b1+1|0,R0=o0+(b1<<2)|0,e[R0>>2]=A2,_1=Z0),v0=G1+1|0,P1=(v0|0)==(s|0),P1){$=o0;break}else b1=_1,G1=v0}return C=f2,$|0}function tD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0;if(J=C,$=t+4|0,g=e[$>>2]|0,_=e[t>>2]|0,Q=(_|0)>0,!Q)for(;;);for(L=+(g|0),R=L,M=+(_|0),N=1/M,G=N,O=+Fu(+R,+G),d=+oA(+O),p=~~d,Z=p;;){for(D=Z+1|0,q=1,V=1,K=0;;)if(B=s5(q,Z)|0,b=s5(V,D)|0,k=K+1|0,v=(k|0)<(_|0),v)q=B,V=b,K=k;else{s=B,A=b;break}if(I=(s|0)<=(g|0),E=(A|0)>(g|0),t0=I&E,t0){r0=Z;break}y=(s|0)>(g|0),j=y?-1:1,A0=Z+j|0,Z=A0}return r0|0}function iD(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0;if(z5=C,y=t+12|0,B=e[y>>2]|0,E=B+-1|0,n5=E>>>0<2,!n5)return d=0,d|0;if(z0=t+16|0,a1=e[z0>>2]|0,L1=a1&2097151,x1=+(L1|0),Z1=a1>>>21,l2=Z1&1023,O2=(a1|0)<0,t5=-x1,$=O2?t5:x1,b=l2+-788|0,O=+AE($,b),s0=O,g0=t+20|0,w0=e[g0>>2]|0,K0=w0&2097151,j0=+(K0|0),q0=w0>>>21,Y0=q0&1023,o1=(w0|0)<0,r1=-j0,g=o1?r1:j0,L0=Y0+-788|0,s1=+AE(g,L0),d1=s1,u1=e[t>>2]|0,E1=s5(u1,s)|0,f1=l9(E1,4)|0,(B|0)==1){if(v1=t+4|0,k1=e[v1>>2]|0,S1=(u1|0)>0,!S1)for(;;);for(M1=+(k1|0),b1=M1,_1=+(u1|0),R1=1/_1,F1=R1,P1=+Fu(+b1,+F1),D1=+oA(+P1),O1=~~D1,c5=O1;;){for(I2=c5+1|0,o5=1,F2=1,E5=0;;)if(q1=s5(o5,c5)|0,h2=s5(F2,I2)|0,A2=E5+1|0,p5=(A2|0)==(u1|0),p5){p=q1,I=h2;break}else o5=q1,F2=h2,E5=A2;if(X1=(p|0)<=(k1|0),G1=(I|0)>(k1|0),I5=G1&X1,I5){T2=c5;break}e2=(p|0)>(k1|0),e5=e2?-1:1,F5=e5+c5|0,c5=F5}if(J1=(k1|0)>0,!J1)return d=f1,d|0;for(H1=(A|0)==0,V1=t+8|0,Y1=t+32|0,z1=d1,t2=s0,o2=t+28|0,R2=0,T1=0;;){if(H1)if(g2=e[Y1>>2]|0,n2=e[o2>>2]|0,u2=(n2|0)==0,s2=s5(u1,R2)|0,u2)for(Q5=1,X2=0;;)if(L5=(T1|0)/(Q5|0)&-1,j2=(L5|0)%(T2|0)&-1,m5=g2+(j2<<2)|0,D5=e[m5>>2]|0,V5=+(D5|0),z2=+rr(+V5),u5=z2,b2=u5*z1,B5=t2+b2,D=B5,k=s2+X2|0,v=f1+(k<<2)|0,o[v>>2]=D,_=s5(Q5,T2)|0,Q=X2+1|0,L=(Q|0)<(u1|0),L)Q5=_,X2=Q;else{v5=21;break}else for($5=1,d5=0,r5=0;;)if(R=(T1|0)/($5|0)&-1,M=(R|0)%(T2|0)&-1,N=g2+(M<<2)|0,G=e[N>>2]|0,q=+(G|0),q5=+rr(+q),V=q5,K=V*z1,t0=r5,Z=t0+t2,A0=Z+K,j=A0,r0=s2+d5|0,o0=f1+(r0<<2)|0,o[o0>>2]=j,J=s5($5,T2)|0,Y=d5+1|0,d0=(Y|0)<(u1|0),d0)$5=J,d5=Y,r5=j;else{v5=21;break}else if(C2=e[V1>>2]|0,$2=C2+T1|0,W1=f[$2>>0]|0,f2=W1<<24>>24==0,f2)Q2=R2;else for(i2=e[Y1>>2]|0,a2=e[o2>>2]|0,m2=(a2|0)==0,r2=A+(R2<<2)|0,k2=e[r2>>2]|0,D2=s5(k2,u1)|0,h5=1,l5=0,a5=0;;)if(S2=(T1|0)/(h5|0)&-1,y2=(S2|0)%(T2|0)&-1,G2=i2+(y2<<2)|0,M2=e[G2>>2]|0,p2=+(M2|0),R5=+rr(+p2),W2=R5,q2=W2*z1,K2=a5,U2=K2+t2,V2=U2+q2,Z2=V2,w5=m2?a5:Z2,A5=D2+l5|0,Y2=f1+(A5<<2)|0,o[Y2>>2]=Z2,N1=s5(h5,T2)|0,T5=l5+1|0,i5=(T5|0)<(u1|0),i5)h5=N1,l5=T5,a5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,i0=R2+1|0,Q2=i0),e0=T1+1|0,h0=(e0|0)<(k1|0),h0)R2=Q2,T1=e0;else{d=f1;break}}return d|0}else if((B|0)==2){if(h1=t+4|0,A1=e[h1>>2]|0,g1=(A1|0)>0,!g1)return d=f1,d|0;for($1=(A|0)!=0,X0=t+8|0,B1=t+32|0,p1=d1,Q1=s0,C1=t+28|0,y1=(u1|0)>0,y5=0,_5=0;;){if($1?(c0=e[X0>>2]|0,$0=c0+_5|0,l0=f[$0>>0]|0,X=l0<<24>>24==0,X?N5=y5:v5=25):v5=25,(v5|0)==25){if(v5=0,y1)for(m0=e[B1>>2]|0,I0=e[C1>>2]|0,n0=(I0|0)==0,f0=A+(y5<<2)|0,p0=s5(u1,_5)|0,C0=s5(u1,y5)|0,d2=0,J2=0;b0=p0+d2|0,y0=m0+(b0<<2)|0,D0=e[y0>>2]|0,E0=+(D0|0),M5=+rr(+E0),Q0=M5,B0=Q0*p1,x0=J2,Z0=x0+Q1,R0=Z0+B0,v0=R0,f5=n0?J2:v0,$1?(G0=e[f0>>2]|0,U0=s5(G0,u1)|0,O0=U0+d2|0,H0=f1+(O0<<2)|0,o[H0>>2]=v0):(k0=C0+d2|0,N0=f1+(k0<<2)|0,o[N0>>2]=v0),M0=d2+1|0,P0=(M0|0)<(u1|0),P0;)d2=M0,J2=f5;W0=y5+1|0,N5=W0}if(J0=_5+1|0,V0=(J0|0)<(A1|0),V0)y5=N5,_5=J0;else{d=f1;break}}return d|0}else return d=f1,d|0;return 0}function RC(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0;b=C,s=t+36|0,A=e[s>>2]|0,$=(A|0)==0,!$&&(g=t+32|0,d=e[g>>2]|0,p=(d|0)==0,p||E2(d),I=t+8|0,E=e[I>>2]|0,y=(E|0)==0,y||E2(E),E2(t))}function rD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;R=C,s=t+16|0,A=e[s>>2]|0,E=(A|0)==0,E||E2(A),y=t+20|0,B=e[y>>2]|0,b=(B|0)==0,b||E2(B),D=t+24|0,k=e[D>>2]|0,v=(k|0)==0,v||E2(k),_=t+28|0,$=e[_>>2]|0,g=($|0)==0,g||E2($),d=t+32|0,p=e[d>>2]|0,I=(p|0)==0,I||E2(p),Q=t,M=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(M|0))}function Ny(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0;q0=C,V0=t,Y0=V0+56|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0));if(p=t+12|0,e[p>>2]=s,I=s+4|0,R=e[I>>2]|0,j=t+4|0,e[j>>2]=R,$0=t+8|0,e[$0>>2]=R,y0=e[s>>2]|0,e[t>>2]=y0,x0=s+8|0,Z0=e[x0>>2]|0,R0=Ty(Z0,R,0)|0,v0=t+20|0,e[v0>>2]=R0,E=e[I>>2]|0,y=e[s>>2]|0,B=(y|0)>0,!B)for(;;);for(b=+(E|0),D=b,k=+(y|0),v=1/k,_=v,Q=+Fu(+D,+_),L=+oA(+Q),M=~~L,W0=M;;){for(K=W0+1|0,G0=1,U0=1,H0=0;;)if(q=s5(G0,W0)|0,V=s5(U0,K)|0,t0=H0+1|0,O0=(t0|0)==(y|0),O0){g=q,d=V;break}else G0=q,U0=V,H0=t0;if(N=(g|0)<=(E|0),G=(d|0)>(E|0),k0=G&N,k0){J0=W0;break}O=(g|0)>(E|0),P0=O?-1:1,M0=P0+W0|0,W0=M0}return Z=t+44|0,e[Z>>2]=J0,A0=s+16|0,r0=e[A0>>2]|0,o0=r0&2097151,J=+(o0|0),s0=r0>>>21,Y=s0&1023,d0=(r0|0)<0,i0=-J,A=d0?i0:J,e0=Y+-788|0,h0=+AE(A,e0),c0=h0,K0=+Hy(c0),l0=~~K0,X=t+48|0,e[X>>2]=l0,m0=s+20|0,g0=e[m0>>2]|0,I0=g0&2097151,n0=+(I0|0),f0=g0>>>21,p0=f0&1023,C0=(g0|0)<0,b0=-n0,$=C0?b0:n0,D0=p0+-788|0,E0=+AE($,D0),Q0=E0,N0=+Hy(Q0),w0=~~N0,B0=t+52|0,e[B0>>2]=w0,0}function nD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0;O3=C,_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));if(D=s+4|0,k=e[D>>2]|0,C2=(k|0)>0,C2)for(z2=s+8|0,w5=e[z2>>2]|0,W3=0,G6=0;;)if(v5=w5+W3|0,Z5=f[v5>>0]|0,Y3=Z5<<24>>24>0,l6=Y3&1,E=l6+G6|0,j5=W3+1|0,v=(j5|0)<(k|0),v)W3=j5,G6=E;else{f0=E;break}else f0=0;if(K=t+4|0,e[K>>2]=k,i0=t+8|0,e[i0>>2]=f0,Z0=e[s>>2]|0,e[t>>2]=Z0,P0=(f0|0)>0,!P0)return $=0,C=O3,$|0;if(s1=s+8|0,B1=e[s1>>2]|0,_1=Ty(B1,k,f0)|0,V1=f0<<2,d=V1,$2=C,C=C+((1*d|0)+15&-16)|0,r2=(_1|0)==0,r2){V2=t+16|0,Z2=e[V2>>2]|0,A5=(Z2|0)==0,A5||E2(Z2),Y2=t+20|0,N1=e[Y2>>2]|0,t5=(N1|0)==0,t5||E2(N1),T5=t+24|0,i5=e[T5>>2]|0,L5=(i5|0)==0,L5||E2(i5),m5=t+28|0,D5=e[m5>>2]|0,V5=(D5|0)==0,V5||E2(D5),u5=t+32|0,b2=e[u5>>2]|0,B5=(b2|0)==0,B5||E2(b2),_6=t,O6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(O6|0));return $=-1,C=O3,$|0}else F3=0;for(;K2=_1+(F3<<2)|0,j2=e[K2>>2]|0,y5=j2>>>16,N5=j2<<16,p5=y5|N5,M5=p5>>>8,q5=M5&16711935,R5=p5<<8,E5=R5&-16711936,$5=q5|E5,h5=$5>>>4,Q5=h5&252645135,T1=$5<<4,_5=T1&-252645136,d5=Q5|_5,l5=d5>>>2,X2=l5&858993459,d2=d5<<2,r5=d2&-858993460,a5=X2|r5,f5=a5>>>1,J2=f5&1431655765,I5=a5<<1,n5=I5&-1431655766,F5=J2|n5,e[K2>>2]=F5,e5=$2+(F3<<2)|0,e[e5>>2]=K2,c5=F3+1|0,j6=(c5|0)==(f0|0),!j6;)F3=c5;for(Pu($2,f0,4,10),p=V1,T2=C,C=C+((1*p|0)+15&-16)|0,z5=Re(V1)|0,i3=t+20|0,e[i3>>2]=z5,C5=_1,Z3=0;;)if(I3=$2+(Z3<<2)|0,d3=e[I3>>2]|0,W5=d3,r3=W5-C5|0,a3=r3>>2,y3=T2+(a3<<2)|0,e[y3>>2]=Z3,G5=Z3+1|0,N6=(G5|0)==(f0|0),N6){t6=0;break}else Z3=G5;for(;x3=_1+(t6<<2)|0,f3=e[x3>>2]|0,w3=T2+(t6<<2)|0,e6=e[w3>>2]|0,V3=z5+(e6<<2)|0,e[V3>>2]=f3,X5=t6+1|0,b6=(X5|0)==(f0|0),!b6;)t6=X5;if(E2(_1),_3=iD(s,f0,T2)|0,t3=t+16|0,e[t3>>2]=_3,a6=Re(V1)|0,G3=t+24|0,e[G3>>2]=a6,c3=e[D>>2]|0,g3=(c3|0)>0,g3)for(y=e[s1>>2]|0,R6=0,Q6=0;;)if(u3=y+R6|0,Q3=f[u3>>0]|0,K5=Q3<<24>>24>0,K5?(H5=Q6+1|0,Y5=T2+(Q6<<2)|0,b5=e[Y5>>2]|0,z3=a6+(b5<<2)|0,e[z3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,n3=(U5|0)<(c3|0),n3)R6=U5,Q6=X6;else{ee=X6;break}else ee=0;if(l3=Re(ee)|0,U3=t+28|0,e[U3>>2]=l3,C6=t+40|0,e[C6>>2]=0,g3){for(B=e[s1>>2]|0,o5=0,L3=B,c6=0,re=0;;)if(b3=L3+c6|0,D3=f[b3>>0]|0,A6=D3<<24>>24>0,A6?(r6=re+1|0,K3=T2+(re<<2)|0,M3=e[K3>>2]|0,h3=e[U3>>2]|0,J3=h3+M3|0,f[J3>>0]=D3,d6=e[s1>>2]|0,m3=d6+c6|0,x6=f[m3>>0]|0,L6=x6<<24>>24,M6=e[C6>>2]|0,S6=(L6|0)>(M6|0),S6?(e[C6>>2]=L6,F2=L6,R2=d6,V6=r6):(F2=M6,R2=d6,V6=r6)):(F2=o5,R2=L3,V6=re),n6=c6+1|0,_=e[D>>2]|0,Q=(n6|0)<(_|0),Q)o5=F2,L3=R2,c6=n6,re=V6;else{I=F2,se=V6;break}if(L=(se|0)==1,L){if(R=(I|0)==1,R)return M=t+36|0,e[M>>2]=1,N=l9(2,4)|0,G=t+32|0,e[G>>2]=N,O=N+4|0,e[O>>2]=1,e[N>>2]=1,$=0,C=O3,$|0;P3=1}else P3=se}else P3=0;if(q=e[i0>>2]|0,V=(q|0)==0,V)U6=-4;else{for(g=q,Y6=0;;)if(t0=g>>>1,Z=Y6+1|0,A0=(t0|0)==0,A0){F6=Y6;break}else g=t0,Y6=Z;ge=F6+-3|0,U6=ge}if(j=t+36|0,r0=(U6|0)<5,A=r0?5:U6,o0=(A|0)>8,te=o0?8:A,e[j>>2]=te,J=1<>2]=s0,d0=(P3|0)>0,d0)for(l0=te,s3=0;;){if(e0=e[U3>>2]|0,h0=e0+s3|0,c0=f[h0>>0]|0,$0=c0<<24>>24,X=(l0|0)<($0|0),X)Q2=l0;else if(m0=e[i3>>2]|0,g0=m0+(s3<<2)|0,I0=e[g0>>2]|0,n0=I0>>>16,p0=I0<<16,C0=n0|p0,b0=C0>>>8,y0=b0&16711935,D0=C0<<8,E0=D0&-16711936,Q0=y0|E0,w0=Q0>>>4,B0=w0&252645135,x0=Q0<<4,R0=x0&-252645136,v0=B0|R0,G0=v0>>>2,U0=G0&858993459,O0=v0<<2,H0=O0&-858993460,k0=U0|H0,K0=k0>>>1,N0=K0&1431655765,M0=k0<<1,W0=M0&-1431655766,J0=N0|W0,V0=l0-$0|0,j0=(V0|0)==31,j0)Q2=l0;else for(q0=s3+1|0,o1=$0,A3=0;;)if(Y0=A3<>2]=q0,L0=A3+1|0,d1=e[j>>2]|0,u1=f[h0>>0]|0,E1=u1<<24>>24,f1=d1-E1|0,h1=1<>>16,k1=y1<<16,S1=v1|k1,L1=S1>>>8,M1=L1&16711935,b1=S1<<8,R1=b1&-16711936,F1=M1|R1,P1=F1>>>4,D1=P1&252645135,O1=F1<<4,X1=O1&-252645136,G1=D1|X1,x1=G1>>>2,J1=x1&858993459,H1=G1<<2,Y1=H1&-858993460,z1=J1|Y1,t2=z1>>>1,o2=t2&1431655765,e2=z1<<1,q1=e2&-1431655766,h2=o2|q1,Z1=s0+(h2<<2)|0,I2=e[Z1>>2]|0,A2=(I2|0)==0,A2){for(y6=g6;;){if(W1=y6+1|0,f2=(W1|0)<(P3|0),!f2){T3=y6;break}if(g2=e[i3>>2]|0,n2=g2+(W1<<2)|0,u2=e[n2>>2]|0,s2=u2>>>0>y1>>>0,s2){T3=y6;break}else y6=W1}l2=(P3|0)>(k6|0);e:do if(l2)for(i2=e[i3>>2]|0,s6=k6;;){if(a2=i2+(s6<<2)|0,m2=e[a2>>2]|0,k2=m2&X0,D2=y1>>>0>>0,D2){R3=s6;break e}if(S2=s6+1|0,y2=(P3|0)>(S2|0),y2)s6=S2;else{R3=S2;break}}else R3=k6;while(!1);G2=P3-R3|0,M2=T3>>>0>32767,O2=G2>>>0>32767,B6=O2?32767:G2,H6=T3<<15,$6=H6|-2147483648,p2=M2?-1073774592:$6,W2=p2|B6,e[Z1>>2]=W2,o6=R3,D6=T3}else o6=k6,D6=g6;if(q2=K6+1|0,U2=(q2|0)<(J|0),!U2){$=0;break}b=e[j>>2]|0,C1=b,k6=o6,K6=q2,g6=D6}return C=O3,$|0}function sD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0;return D=C,A=e[t>>2]|0,$=e[A>>2]|0,g=e[s>>2]|0,d=e[g>>2]|0,p=$>>>0>d>>>0,I=p&1,E=$>>>0>>0,y=E&1,B=I-y|0,B|0}function oD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0;if(Z0=C,y=e[t>>2]|0,B=(y|0)==1,!B&&(G=t+4|0,J=e[G>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,X=l0+4|0,m0=e[X>>2]|0,g0=(m0|0)>0,!!g0)){for(I0=m0+1|0,E=y+-1|0,C0=y,b0=0,y0=y,E0=1;;){b=I0-b0|0,D=l0+(b<<2)|0,k=e[D>>2]|0,v=(y0|0)/(k|0)&-1,_=(y|0)/(y0|0)&-1,Q=s5(_,v)|0,L=k+-1|0,R=s5(_,L)|0,M=C0-R|0,N=1-E0|0;do if((k|0)==2)if(Z=(N|0)==0,A=E+M|0,A0=J+(A<<2)|0,Z){Oy(_,v,s,J,A0),Q0=0;break}else{Oy(_,v,J,s,A0),Q0=N;break}else if((k|0)==4)if(O=M+_|0,q=(N|0)==0,$=E+M|0,V=J+($<<2)|0,g=E+O|0,K=J+(g<<2)|0,d=E+_|0,p=d+O|0,t0=J+(p<<2)|0,q){Py(_,v,s,J,V,K,t0),Q0=0;break}else{Py(_,v,J,s,V,K,t0),Q0=N;break}else if(j=(_|0)==1,D0=j?E0:N,r0=(D0|0)==0,I=E+M|0,o0=J+(I<<2)|0,r0){qy(_,k,v,Q,s,s,s,J,J,o0),Q0=1;break}else{qy(_,k,v,Q,J,J,J,s,s,o0),Q0=0;break}while(!1);if(s0=b0+1|0,f0=(s0|0)==(m0|0),f0){w0=Q0;break}else C0=M,b0=s0,y0=v,E0=Q0}if(Y=(w0|0)!=1,d0=(y|0)>0,B0=d0&Y,B0)p0=0;else return;for(;i0=J+(p0<<2)|0,e0=e[i0>>2]|0,h0=s+(p0<<2)|0,e[h0>>2]=e0,c0=p0+1|0,n0=(c0|0)==(y|0),!n0;)p0=c0}}function Gy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0;if(B1=C,e[t>>2]=s,p=s*3|0,I=l9(p,4)|0,R=t+4|0,e[R>>2]=I,j=l9(32,4)|0,$0=t+8|0,e[$0>>2]=j,y0=(s|0)==1,!y0){Z0=j+8|0,z0=-1,u1=0,E1=s,h1=0;e:for(;;)for(R0=z0+1|0,v0=(R0|0)<4,v0?(G0=25768+(R0<<2)|0,E=e[G0>>2]|0,A1=E):(y=h1+2|0,A1=y),B=(A1|0)!=2,V0=u1,f1=E1;;){if(W0=V0+1|0,b=(f1|0)/(A1|0)&-1,D=s5(b,A1)|0,k=(f1|0)==(D|0),!k){z0=R0,u1=V0,E1=f1,h1=A1;continue e}if(v=V0+2|0,_=j+(v<<2)|0,e[_>>2]=A1,Q=(V0|0)==0,g1=B|Q,!g1){if(L=(V0|0)<1,!L)for(N0=1;M=W0-N0|0,N=M+1|0,G=j+(N<<2)|0,O=e[G>>2]|0,q=M+2|0,V=j+(q<<2)|0,e[V>>2]=O,K=N0+1|0,k0=(K|0)==(W0|0),!k0;)N0=K;e[Z0>>2]=2}if(t0=(b|0)==1,t0){A=Q,J0=W0,j0=V0;break e}else V0=W0,f1=b}if(e[j>>2]=s,Z=j+4|0,e[Z>>2]=J0,A0=+(s|0),r0=6.2831854820251465/A0,$=A^1,o0=(j0|0)>0,a1=o0&$,!!a1)for(J=s+1|0,q0=0,L0=0,s1=1;;){if(s0=L0+2|0,Y=j+(s0<<2)|0,d0=e[Y>>2]|0,i0=s5(d0,s1)|0,e0=(s|0)/(i0|0)&-1,h0=(d0|0)>1,h0){for(c0=(e0|0)>2,l0=d0+-1|0,o1=q0,r1=0,d1=0;;){if(X=d1+s1|0,m0=+(X|0),g0=m0*r0,c0)for(K0=0,M0=o1,P0=2;I0=K0+1,n0=g0*I0,U0=+aA(+n0),g=M0+s|0,f0=I+(g<<2)|0,o[f0>>2]=U0,$1=+Vn(+n0),p0=M0+2|0,d=J+M0|0,C0=I+(d<<2)|0,o[C0>>2]=$1,b0=P0+2|0,D0=(b0|0)<(e0|0),D0;)K0=I0,M0=p0,P0=b0;if(E0=o1+e0|0,Q0=r1+1|0,O0=(Q0|0)==(l0|0),O0)break;o1=E0,r1=Q0,d1=X}w0=s5(e0,l0)|0,B0=w0+q0|0,Y0=B0}else Y0=q0;if(x0=L0+1|0,H0=(x0|0)==(j0|0),H0)break;q0=Y0,L0=x0,s1=i0}}}function Uy(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;y=C,s=(t|0)==0,!s&&(A=t+4|0,$=e[A>>2]|0,g=($|0)==0,g||E2($),d=t+8|0,p=e[d>>2]|0,I=(p|0)==0,I||E2(p),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function Py(t,s,A,$,g,d,p){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0;var I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0;if(I3=C,I=s5(s,t)|0,E=I<<1,Q1=(s|0)>0,Q1)for(F1=I*3|0,z1=t<<2,W1=z1+-1|0,k2=t<<1,d2=0,a5=I,I5=F1,e5=0,c5=E;U2=A+(a5<<2)|0,m5=+o[U2>>2],N5=A+(I5<<2)|0,y=+o[N5>>2],N=y+m5,o0=A+(e5<<2)|0,X=+o[o0>>2],E0=A+(c5<<2)|0,H0=+o[E0>>2],Y0=H0+X,A1=Y0+N,B1=e5<<2,p1=$+(B1<<2)|0,o[p1>>2]=A1,C1=Y0-N,y1=W1+B1|0,v1=$+(y1<<2)|0,o[v1>>2]=C1,k1=+o[o0>>2],S1=+o[E0>>2],L1=k1-S1,M1=B1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,o[_1>>2]=L1,R1=+o[N5>>2],P1=+o[U2>>2],D1=R1-P1,O1=$+(M1<<2)|0,o[O1>>2]=D1,X1=a5+t|0,G1=I5+t|0,x1=e5+t|0,J1=c5+t|0,H1=d2+1|0,d5=(H1|0)==(s|0),!d5;)d2=H1,a5=X1,I5=G1,e5=x1,c5=J1;if(V1=(t|0)<2,!V1){if(Y1=(t|0)==2,!Y1){if(Q1)for(t2=t<<1,w5=0,f5=0;;){for(n0=f5<<2,f0=n0+t2|0,X2=2,n5=f5,T2=n0,z5=f0;q1=n5+2|0,h2=T2+2|0,Z1=z5+-2|0,I2=q1+I|0,A2=X2+-2|0,C2=g+(A2<<2)|0,$2=+o[C2>>2],f2=I2+-1|0,g2=A+(f2<<2)|0,n2=+o[g2>>2],u2=n2*$2,s2=X2+-1|0,l2=g+(s2<<2)|0,i2=+o[l2>>2],a2=A+(I2<<2)|0,m2=+o[a2>>2],r2=m2*i2,D2=r2+u2,S2=m2*$2,y2=i2*n2,G2=S2-y2,M2=I2+I|0,O2=d+(A2<<2)|0,p2=+o[O2>>2],W2=M2+-1|0,q2=A+(W2<<2)|0,K2=+o[q2>>2],V2=K2*p2,Z2=d+(s2<<2)|0,A5=+o[Z2>>2],Y2=A+(M2<<2)|0,N1=+o[Y2>>2],t5=N1*A5,T5=t5+V2,i5=N1*p2,L5=A5*K2,j2=i5-L5,D5=M2+I|0,V5=p+(A2<<2)|0,u5=+o[V5>>2],b2=D5+-1|0,B5=A+(b2<<2)|0,o5=+o[B5>>2],F2=o5*u5,R2=p+(s2<<2)|0,Q2=+o[R2>>2],y5=A+(D5<<2)|0,p5=+o[y5>>2],M5=p5*Q2,q5=M5+F2,R5=p5*u5,z2=Q2*o5,E5=R5-z2,$5=q5+D2,h5=q5-D2,Q5=E5+G2,T1=G2-E5,B=A+(q1<<2)|0,b=+o[B>>2],D=b+j2,k=b-j2,v=n5+1|0,_=A+(v<<2)|0,Q=+o[_>>2],L=Q+T5,R=Q-T5,M=$5+L,G=T2|1,O=$+(G<<2)|0,o[O>>2]=M,q=Q5+D,V=$+(h2<<2)|0,o[V>>2]=q,K=R-T1,t0=z5+-3|0,Z=$+(t0<<2)|0,o[Z>>2]=K,A0=h5-k,j=$+(Z1<<2)|0,o[j>>2]=A0,r0=T1+R,J=h2+t2|0,s0=J+-1|0,Y=$+(s0<<2)|0,o[Y>>2]=r0,d0=h5+k,i0=$+(J<<2)|0,o[i0>>2]=d0,e0=L-$5,h0=Z1+t2|0,c0=h0+-1|0,$0=$+(c0<<2)|0,o[$0>>2]=e0,l0=Q5-D,m0=$+(h0<<2)|0,o[m0>>2]=l0,g0=X2+2|0,I0=(g0|0)<(t|0),I0;)X2=g0,n5=q1,T2=h2,z5=Z1;if(o2=f5+t|0,e2=w5+1|0,l5=(e2|0)==(s|0),l5)break;w5=e2,f5=o2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(b0=t+-1|0,y0=b0+I|0,D0=t<<2,Q0=t<<1,!!Q1)for(w0=y0+E|0,r5=0,J2=y0,F5=w0,v5=t,i3=t;B0=A+(J2<<2)|0,x0=+o[B0>>2],Z0=A+(F5<<2)|0,R0=+o[Z0>>2],v0=R0+x0,G0=v0*-.7071067690849304,U0=x0-R0,O0=U0*.7071067690849304,k0=i3+-1|0,K0=A+(k0<<2)|0,N0=+o[K0>>2],M0=O0+N0,P0=v5+-1|0,W0=$+(P0<<2)|0,o[W0>>2]=M0,J0=+o[K0>>2],V0=J0-O0,j0=v5+Q0|0,q0=j0+-1|0,o1=$+(q0<<2)|0,o[o1>>2]=V0,z0=J2+I|0,r1=A+(z0<<2)|0,L0=+o[r1>>2],s1=G0-L0,d1=$+(v5<<2)|0,o[d1>>2]=s1,u1=+o[r1>>2],E1=u1+G0,f1=$+(j0<<2)|0,o[f1>>2]=E1,h1=J2+t|0,g1=F5+t|0,a1=v5+D0|0,$1=i3+t|0,X0=r5+1|0,_5=(X0|0)==(s|0),!_5;)r5=X0,J2=h1,F5=g1,v5=a1,i3=$1}}function Oy(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0;if(D1=C,d=s5(s,t)|0,p=t<<1,L=(s|0)>0,L)for(A0=p+-1|0,B1=0,C1=0,k1=d;c0=A+(C1<<2)|0,b0=+o[c0>>2],G0=A+(k1<<2)|0,V0=+o[G0>>2],E1=V0+b0,A1=C1<<1,I=$+(A1<<2)|0,o[I>>2]=E1,E=+o[c0>>2],y=+o[G0>>2],B=E-y,b=A0+A1|0,D=$+(b<<2)|0,o[D>>2]=B,k=C1+t|0,v=k1+t|0,_=B1+1|0,a1=(_|0)==(s|0),!a1;)B1=_,C1=k,k1=v;if(Q=(t|0)<2,!Q){if(R=(t|0)==2,!R){if(L)for(p1=0,y1=0,S1=d;;){for(K0=y1<<1,N0=K0+p|0,X0=2,M1=S1,_1=N0,R1=y1,F1=K0;O=M1+2|0,q=_1+-2|0,V=R1+2|0,K=F1+2|0,t0=X0+-2|0,Z=g+(t0<<2)|0,j=+o[Z>>2],r0=M1+1|0,o0=A+(r0<<2)|0,J=+o[o0>>2],s0=J*j,Y=X0+-1|0,d0=g+(Y<<2)|0,i0=+o[d0>>2],e0=A+(O<<2)|0,h0=+o[e0>>2],$0=h0*i0,l0=$0+s0,X=h0*j,m0=i0*J,g0=X-m0,I0=A+(V<<2)|0,n0=+o[I0>>2],f0=g0+n0,p0=$+(K<<2)|0,o[p0>>2]=f0,C0=+o[I0>>2],y0=g0-C0,D0=$+(q<<2)|0,o[D0>>2]=y0,E0=R1+1|0,Q0=A+(E0<<2)|0,w0=+o[Q0>>2],B0=w0+l0,x0=F1|1,Z0=$+(x0<<2)|0,o[Z0>>2]=B0,R0=+o[Q0>>2],v0=R0-l0,U0=_1+-3|0,O0=$+(U0<<2)|0,o[O0>>2]=v0,H0=X0+2|0,k0=(H0|0)<(t|0),k0;)X0=H0,M1=O,_1=q,R1=V,F1=K;if(M=y1+t|0,N=S1+t|0,G=p1+1|0,$1=(G|0)==(s|0),$1)break;p1=G,y1=M,S1=N}if(M0=(t|0)%2&-1,P0=(M0|0)==1,P0)return}if(W0=t+-1|0,!!L)for(J0=d+W0|0,Q1=0,v1=t,L1=J0,b1=W0;j0=A+(L1<<2)|0,q0=+o[j0>>2],Y0=-q0,o1=$+(v1<<2)|0,o[o1>>2]=Y0,z0=A+(b1<<2)|0,r1=e[z0>>2]|0,L0=v1+-1|0,s1=$+(L0<<2)|0,e[s1>>2]=r1,d1=v1+p|0,u1=L1+t|0,f1=b1+t|0,h1=Q1+1|0,g1=(h1|0)==(s|0),!g1;)Q1=h1,v1=d1,L1=u1,b1=f1}}function qy(t,s,A,$,g,d,p,I,E,y){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0,E=E|0,y=y|0;var B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0;vt=C,D=+(s|0),k=6.2831854820251465/D,pt=+aA(+k),V8=+Vn(+k),C2=s+1|0,b3=C2>>1,Ke=t+-1|0,Y9=Ke>>1,Oe=s5(A,t)|0,Se=s5(s,t)|0,m9=(t|0)==1;e:do if(!m9){if(_8=($|0)>0,_8)for(_4=0;f0=p+(_4<<2)|0,Z0=e[f0>>2]|0,P0=E+(_4<<2)|0,e[P0>>2]=Z0,s1=_4+1|0,Bt=(s1|0)==($|0),!Bt;)_4=s1;if(K=(s|0)>1,K)for(i0=(A|0)>0,wt=1,Z8=0;;){if(B1=Z8+Oe|0,i0)for(l8=0,A9=B1;_1=d+(A9<<2)|0,V1=e[_1>>2]|0,$2=I+(A9<<2)|0,e[$2>>2]=V1,r2=A9+t|0,K2=l8+1|0,o9=(K2|0)==(A|0),!o9;)l8=K2,A9=r2;if(j2=wt+1|0,lt=(j2|0)==(s|0),lt)break;wt=j2,Z8=B1}if(y5=0-t|0,T1=(Y9|0)>(A|0),T1){if(K)for(V3=(A|0)>0,K5=(t|0)>2,C3=y5,je=1,F8=0;;){if(L3=F8+Oe|0,x6=C3+t|0,V3)for(s6=L3-t|0,A3=x6+-1|0,ut=0,N8=s6;;){if(P3=N8+t|0,K5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,w6=Bi+2|0,ve=E4+1|0,n4=y+(ve<<2)|0,H9=+o[n4>>2],V9=Bi+1|0,h9=d+(V9<<2)|0,U9=+o[h9>>2],E9=U9*H9,v4=y+(O3<<2)|0,Ze=+o[v4>>2],ke=d+(w6<<2)|0,k4=+o[ke>>2],V4=k4*Ze,nt=V4+E9,Y4=I+(V9<<2)|0,o[Y4>>2]=nt,z9=+o[n4>>2],s4=+o[ke>>2],R4=s4*z9,st=+o[v4>>2],n9=+o[h9>>2],u4=n9*st,C9=R4-u4,T6=I+(w6<<2)|0,o[T6>>2]=C9,K9=ct+2|0,d9=(K9|0)<(t|0),d9;)ct=K9,E4=O3,Bi=w6;if(T9=ut+1|0,$t=(T9|0)==(A|0),$t)break;ut=T9,N8=P3}if(h4=je+1|0,Ct=(h4|0)==(s|0),Ct)break;C3=x6,je=h4,F8=L3}}else if(K)for(I5=(t|0)>2,d3=(A|0)>0,Z4=y5,l4=1,Y8=0;;){if(s9=Z4+t|0,d4=Y8+Oe|0,I5)for(f4=s9+-1|0,yt=2,gt=f4,$i=d4;;){if(k9=gt+2|0,o4=$i+2|0,d3)for(P9=gt+1|0,I4=y+(P9<<2)|0,I6=y+(k9<<2)|0,ht=0,ti=o4;z4=+o[I4>>2],f9=ti+-1|0,S4=d+(f9<<2)|0,S9=+o[S4>>2],I9=S9*z4,z6=+o[I6>>2],F4=d+(ti<<2)|0,T4=+o[F4>>2],ot=T4*z6,x9=ot+I9,mt=I+(f9<<2)|0,o[mt>>2]=x9,j3=+o[I4>>2],xe=+o[F4>>2],be=xe*j3,O9=+o[I6>>2],a4=+o[S4>>2],d8=a4*O9,N4=be-d8,f8=I+(ti<<2)|0,o[f8>>2]=N4,e8=ti+t|0,I8=ht+1|0,Rt=(I8|0)==(A|0),!Rt;)ht=I8,ti=e8;if(m8=yt+2|0,Ut=(m8|0)<(t|0),Ut)yt=m8,gt=k9,$i=o4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(s|0),m4)break;Z4=s9,l4=Pt,Y8=d4}if(Ot=s5(Oe,s)|0,qt=(Y9|0)<(A|0),t8=(b3|0)>1,!qt){if(!t8)break;for(i8=(A|0)>0,x8=(t|0)>2,j4=1,dt=0,Hi=Ot;;){if(Q0=dt+Oe|0,w0=Hi-Oe|0,i8)for(Z9=0,li=Q0,ci=w0;;){if(x8)for(D4=2,ii=li,Si=ci;B0=ii+2|0,x0=Si+2|0,R0=ii+1|0,v0=I+(R0<<2)|0,G0=+o[v0>>2],U0=Si+1|0,O0=I+(U0<<2)|0,H0=+o[O0>>2],k0=H0+G0,K0=d+(R0<<2)|0,o[K0>>2]=k0,N0=I+(B0<<2)|0,M0=+o[N0>>2],W0=I+(x0<<2)|0,J0=+o[W0>>2],V0=M0-J0,j0=d+(U0<<2)|0,o[j0>>2]=V0,q0=+o[N0>>2],Y0=+o[W0>>2],o1=Y0+q0,z0=d+(B0<<2)|0,o[z0>>2]=o1,r1=+o[O0>>2],L0=+o[v0>>2],d1=r1-L0,u1=d+(x0<<2)|0,o[u1>>2]=d1,E1=D4+2|0,f1=(E1|0)<(t|0),f1;)D4=E1,ii=B0,Si=x0;if(h1=li+t|0,A1=ci+t|0,g1=Z9+1|0,J9=(g1|0)==(A|0),J9)break;Z9=g1,li=h1,ci=A1}if(a1=j4+1|0,U4=(a1|0)==(b3|0),U4)break e;j4=a1,dt=Q0,Hi=w0}}if(t8)for(_=(t|0)>2,Q=(A|0)>0,Te=1,j8=0,qi=Ot;;){if(L=j8+Oe|0,R=qi-Oe|0,_)for(p4=2,yi=L,vi=R;;){if(M=yi+2|0,N=vi+2|0,Q)for(G=N-t|0,O=M-t|0,Ft=0,Zi=O,f7=G;q=Zi+t|0,V=f7+t|0,t0=q+-1|0,Z=I+(t0<<2)|0,A0=+o[Z>>2],j=V+-1|0,r0=I+(j<<2)|0,o0=+o[r0>>2],J=o0+A0,s0=d+(t0<<2)|0,o[s0>>2]=J,Y=I+(q<<2)|0,d0=+o[Y>>2],e0=I+(V<<2)|0,h0=+o[e0>>2],c0=d0-h0,$0=d+(j<<2)|0,o[$0>>2]=c0,l0=+o[Y>>2],X=+o[e0>>2],m0=X+l0,g0=d+(q<<2)|0,o[g0>>2]=m0,I0=+o[r0>>2],n0=+o[Z>>2],p0=I0-n0,C0=d+(V<<2)|0,o[C0>>2]=p0,b0=Ft+1|0,Mt=(b0|0)==(A|0),!Mt;)Ft=b0,Zi=q,f7=V;if(y0=p4+2|0,D0=(y0|0)<(t|0),D0)p4=y0,yi=M,vi=N;else break}if(E0=Te+1|0,At=(E0|0)==(b3|0),At)break;Te=E0,j8=L,qi=R}}while(!1);if(v=($|0)>0,v)for(b9=0;$1=E+(b9<<2)|0,X0=e[$1>>2]|0,p1=p+(b9<<2)|0,e[p1>>2]=X0,Q1=b9+1|0,Jt=(Q1|0)==($|0),!Jt;)b9=Q1;if(C1=s5($,s)|0,y1=(b3|0)>1,y1){for(v1=(A|0)>0,Wt=1,Nt=0,Vi=C1;;){if(k1=Nt+Oe|0,S1=Vi-Oe|0,v1)for(L1=S1-t|0,M1=k1-t|0,c8=0,g7=M1,h7=L1;b1=g7+t|0,R1=h7+t|0,F1=I+(b1<<2)|0,P1=+o[F1>>2],D1=I+(R1<<2)|0,O1=+o[D1>>2],X1=O1+P1,G1=d+(b1<<2)|0,o[G1>>2]=X1,x1=+o[D1>>2],J1=+o[F1>>2],H1=x1-J1,Y1=d+(R1<<2)|0,o[Y1>>2]=H1,z1=c8+1|0,A4=(z1|0)==(A|0),!A4;)c8=z1,g7=b1,h7=R1;if(t2=Wt+1|0,o8=(t2|0)==(b3|0),o8)break;Wt=t2,Nt=k1,Vi=S1}if(o2=s+-1|0,e2=s5(o2,$)|0,y1){for(q1=(b3|0)>2,Ht=0,Yt=1,et=1,T8=0,Ei=C1;;){if(h2=T8+$|0,Z1=Ei-$|0,I2=Yt*pt,A2=Ht*V8,W1=I2-A2,f2=Ht*pt,g2=Yt*V8,n2=g2+f2,v)for(Qt=0,zi=h2,ui=Z1,Xi=e2,ni=$;u2=p+(Qt<<2)|0,s2=+o[u2>>2],l2=ni+1|0,i2=p+(ni<<2)|0,a2=+o[i2>>2],m2=a2*W1,k2=m2+s2,D2=zi+1|0,S2=E+(zi<<2)|0,o[S2>>2]=k2,y2=Xi+1|0,G2=p+(Xi<<2)|0,M2=+o[G2>>2],O2=M2*n2,p2=ui+1|0,W2=E+(ui<<2)|0,o[W2>>2]=O2,q2=Qt+1|0,E8=(q2|0)==($|0),!E8;)Qt=q2,zi=D2,ui=p2,Xi=y2,ni=l2;if(q1)for(Vt=n2,_t=W1,C8=2,Ki=$,z8=e2;;){if(U2=Ki+$|0,V2=z8-$|0,Z2=_t*W1,A5=Vt*n2,Y2=Z2-A5,N1=Vt*W1,t5=_t*n2,T5=t5+N1,v)for(a8=0,bi=h2,xi=Z1,Li=U2,G8=V2;i5=Li+1|0,L5=p+(Li<<2)|0,m5=+o[L5>>2],D5=m5*Y2,V5=bi+1|0,u5=E+(bi<<2)|0,b2=+o[u5>>2],B5=b2+D5,o[u5>>2]=B5,o5=G8+1|0,F2=p+(G8<<2)|0,R2=+o[F2>>2],Q2=R2*T5,N5=xi+1|0,p5=E+(xi<<2)|0,M5=+o[p5>>2],q5=M5+Q2,o[p5>>2]=q5,R5=a8+1|0,L8=(R5|0)==($|0),!L8;)a8=R5,bi=V5,xi=N5,Li=i5,G8=o5;if(z2=C8+1|0,s8=(z2|0)==(b3|0),s8)break;Vt=T5,_t=Y2,C8=z2,Ki=U2,z8=V2}if(E5=et+1|0,M8=(E5|0)==(b3|0),M8)break;Ht=n2,Yt=W1,et=E5,T8=h2,Ei=Z1}if(y1)for(A8=1,Xt=0;;){if($5=Xt+$|0,v)for(W9=0,X8=$5;h5=X8+1|0,Q5=p+(X8<<2)|0,_5=+o[Q5>>2],d5=E+(W9<<2)|0,l5=+o[d5>>2],X2=l5+_5,o[d5>>2]=X2,d2=W9+1|0,p8=(d2|0)==($|0),!p8;)W9=d2,X8=h5;if(w5=A8+1|0,b4=(w5|0)==(b3|0),b4)break;A8=w5,Xt=$5}}}if(r5=(t|0)<(A|0),r5){if(J2=(t|0)>0,J2)for(n5=(A|0)>0,W4=0;;){if(n5)for(X4=0,C4=W4,ei=W4;W5=I+(C4<<2)|0,r3=e[W5>>2]|0,a3=g+(ei<<2)|0,e[a3>>2]=r3,y3=C4+t|0,G5=ei+Se|0,Z5=X4+1|0,G4=(Z5|0)==(A|0),!G4;)X4=Z5,C4=y3,ei=G5;if(x3=W4+1|0,at=(x3|0)==(t|0),at)break;W4=x3}}else if(a5=(A|0)>0,a5)for(f5=(t|0)>0,Tt=0,O4=0,Ci=0;;){if(f5)for(J4=0,Yi=O4,Ji=Ci;F5=Yi+1|0,e5=I+(Yi<<2)|0,c5=e[e5>>2]|0,T2=Ji+1|0,v5=g+(Ji<<2)|0,e[v5>>2]=c5,z5=J4+1|0,Lt=(z5|0)==(t|0),!Lt;)J4=z5,Yi=F5,Ji=T2;if(i3=O4+t|0,C5=Ci+Se|0,I3=Tt+1|0,Le=(I3|0)==(A|0),Le)break;Tt=I3,O4=i3,Ci=C5}if(f3=t<<1,w3=s5(Oe,s)|0,y1)for(e6=(A|0)>0,$8=1,R8=0,Qi=0,Wi=w3;;){if(X5=R8+f3|0,_3=Qi+Oe|0,t3=Wi-Oe|0,e6)for(De=0,ri=X5,Di=_3,t7=t3;a6=I+(Di<<2)|0,G3=e[a6>>2]|0,Y3=ri+-1|0,c3=g+(Y3<<2)|0,e[c3>>2]=G3,g3=I+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ri<<2)|0,e[Q3>>2]=u3,H5=ri+Se|0,Y5=Di+t|0,b5=t7+t|0,z3=De+1|0,Et=(z3|0)==(A|0),!Et;)De=z3,ri=H5,Di=Y5,t7=b5;if(U5=$8+1|0,K4=(U5|0)==(b3|0),K4)break;$8=U5,R8=X5,Qi=_3,Wi=t3}if(!m9){if(l6=(Y9|0)<(A|0),n3=0-t|0,!l6){if(!y1)return;for(B=(A|0)<1,b=(t|0)<3,xt=B|b,Zt=1,u8=n3,wi=0,gi=0,d7=w3;;){if(C6=u8+f3|0,D3=wi+f3|0,A6=gi+Oe|0,r6=d7-Oe|0,!xt)for(g8=0,e7=C6,hi=D3,x4=A6,di=r6;;){for(a9=2;d6=t-a9|0,m3=a9+x4|0,L6=m3+-1|0,M6=I+(L6<<2)|0,S6=+o[M6>>2],n6=a9+di|0,f6=n6+-1|0,b6=I+(f6<<2)|0,N6=+o[b6>>2],j6=N6+S6,k6=a9+hi|0,R3=k6+-1|0,o6=g+(R3<<2)|0,o[o6>>2]=j6,B6=+o[M6>>2],W3=+o[b6>>2],F3=B6-W3,Z3=d6+e7|0,t6=Z3+-1|0,R6=g+(t6<<2)|0,o[R6>>2]=F3,c6=I+(m3<<2)|0,s3=+o[c6>>2],K6=I+(n6<<2)|0,g6=+o[K6>>2],y6=g6+s3,T3=g+(k6<<2)|0,o[T3>>2]=y6,H6=+o[K6>>2],$6=+o[c6>>2],D6=H6-$6,G6=g+(Z3<<2)|0,o[G6>>2]=D6,ee=a9+2|0,Q6=(ee|0)<(t|0),Q6;)a9=ee;if(K3=e7+Se|0,j5=hi+Se|0,M3=x4+t|0,h3=di+t|0,J3=g8+1|0,r8=(J3|0)==(A|0),r8)break;g8=J3,e7=K3,hi=j5,x4=M3,di=h3}if(X6=Zt+1|0,n8=(X6|0)==(b3|0),n8)break;Zt=X6,u8=C6,wi=D3,gi=A6,d7=r6}return}if(y1)for(l3=(t|0)>2,U3=(A|0)>0,$4=1,c4=n3,u7=0,ki=0,ji=w3;;){if(re=c4+f3|0,V6=u7+f3|0,se=ki+Oe|0,ge=ji-Oe|0,l3&&(U6=re+t|0,U3))for(P4=2;;){for(R9=P4+ge|0,F9=P4+se|0,G9=P4+V6|0,q9=U6-P4|0,jt=0,_i=q9,K8=G9,Mi=F9,$e=R9;te=Mi+-1|0,_6=I+(te<<2)|0,P6=+o[_6>>2],O6=$e+-1|0,oe=I+(O6<<2)|0,he=+o[oe>>2],ne=he+P6,Be=K8+-1|0,ye=g+(Be<<2)|0,o[ye>>2]=ne,Qe=+o[_6>>2],de=+o[oe>>2],fe=Qe-de,Ve=_i+-1|0,q6=g+(Ve<<2)|0,o[q6>>2]=fe,ae=I+(Mi<<2)|0,Ye=+o[ae>>2],we=I+($e<<2)|0,Q9=+o[we>>2],g9=Q9+Ye,p9=g+(K8<<2)|0,o[p9>>2]=g9,ze=+o[we>>2],r9=+o[ae>>2],Fe=ze-r9,J6=g+(_i<<2)|0,o[J6>>2]=Fe,Ae=_i+Se|0,w9=K8+Se|0,M9=Mi+t|0,u9=$e+t|0,_e=jt+1|0,zt=(_e|0)==(A|0),!zt;)jt=_e,_i=Ae,K8=w9,Mi=M9,$e=u9;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(v9=$4+1|0,Kt=(v9|0)==(b3|0),Kt)break;$4=v9,c4=re,u7=V6,ki=se,ji=ge}}}function aD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0,y8=0,U8=0,sn=0,Sr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,br=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,Dr=0,hn=0,To=0,sr=0,No=0,ls=0,dn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,hs=0,ds=0,Po=0,_r=0,fs=0,p7=0,In=0,xr=0,or=0,Lr=0,J7=0,Mr=0,Is=0,W7=0,D7=0,_7=0,i7=0,x7=0,Rr=0,ar=0,Ar=0,Fr=0,E7=0,Oo=0,fi=0,$l=0,mn=0,pn=0,Ou=0,ll=0,qo=0,qu=0,lA=0,cl=0,Hu=0,Vu=0,Yu=0,cA=0,gl=0,ul=0,gA=0,En=0,hl=0,zu=0,Ho=0,$r=0,Ku=0,Ju=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,dl=0,Tr=0,nh=0,sh=0,fl=0,oh=0,uA=0,Vo=0,hA=0,ah=0,Ah=0,dA=0,Il=0,ml=0,pl=0,fA=0,El=0,Yo=0,$h=0,lh=0,Cl=0,ch=0,gh=0,Bl=0,uh=0,hh=0,yl=0,Ql=0,wl=0,vl=0,kl=0,Cn=0,dh=0,Sl=0,fh=0,bl=0,Dl=0,Ih=0,mh=0,ph=0,IA=0,_l=0,xl=0,ms=0,Ll=0,mA=0,Eh=0,Ml=0,Ch=0,Rl=0,Bh=0,yh=0,Fl=0,Tl=0,Qh=0,zo=0,wh=0,pA=0,Nl=0,Gl=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Ko=0,Ul=0,Pl=0,Ol=0,Jo=0,xh=0,ql=0,Lh=0,Hl=0,Mh=0,Rh=0,Vl=0,EA=0,Fh=0,Th=0,Wo=0,Nh=0,Zo=0,Gh=0,CA=0,Uh=0,Ph=0,Oh=0,Yl=0,qh=0,Hh=0,Vh=0,Yh=0,zl=0,Kl=0,lr=0,Jl=0,jo=0,BA=0,yA=0,Bn=0,Wl=0,yn=0,zh=0,Zl=0,Kh=0,Jh=0,Wh=0,Zh=0,Xo=0,QA=0,Nr=0,jh=0,Xh=0,jl=0,wA=0,Xl=0,ec=0,ed=0,tc=0,td=0,vA=0,id=0,rd=0,Je=0,nd=0,ic=0,sd=0,od=0,kA=0,ad=0,SA=0,rc=0,Ad=0,$d=0,nc=0,sc=0,ld=0,bA=0,DA=0,oc=0,ac=0,cd=0,Ac=0,_A=0,gd=0,$c=0,ud=0,hd=0,dd=0,fd=0,lc=0,cc=0,xA=0,ea=0,gc=0,Id=0,uc=0,hc=0,md=0,pd=0,Ed=0,dc=0,Cd=0,Bd=0,yd=0,Qd=0,wd=0,vd=0,fc=0,kd=0,Ic=0,Sd=0,Qn=0,bd=0,mc=0,Dd=0,ps=0,pc=0,LA=0,_d=0,ta=0,MA=0,xd=0,RA=0,Ec=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,Cc=0,Nd=0,Gd=0,Ud=0,ia=0,Es=0,FA=0,Pd=0,TA=0,Od=0,qd=0,Hd=0,Bc=0,Vd=0,Yd=0,zd=0,Kd=0,Jd=0,ra=0,Wd=0,Zd=0,yc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,Qc=0,B7=0,wc=0,NA=0,rf=0,r7=0,Cs=0,nf=0,sf=0,of=0,af=0,Af=0,vc=0,$f=0,lf=0,kc=0,cf=0,gf=0,Bs=0,GA=0,uf=0,Sc=0,hf=0,df=0,na=0,ff=0,If=0,bc=0,Dc=0,mf=0,pf=0,wn=0,Ef=0,Cf=0,vn=0,Bf=0,_c=0,yf=0,Qf=0,ys=0,xc=0,wf=0,Lc=0,vf=0,cr=0,UA=0,kf=0,Mc=0,Rc=0,Sf=0,bf=0,Fc=0,Df=0,_f=0,xf=0,Tc=0,Lf=0,Qs=0,Mf=0,kn=0,Rf=0,Ff=0,PA=0,Tf=0,OA=0,qA=0,Nf=0,Nc=0,Gc=0,Gf=0,Uc=0,Pc=0,Oc=0,Uf=0,qc=0,Hc=0,Pf=0,Of=0,Vc=0,Yc=0,qf=0,zc=0,Kc=0,Hf=0,Vf=0,Jc=0,HA=0,Wc=0,Zc=0,jc=0,Xc=0,Yf=0,zf=0,Kf=0,Jf=0,Wf=0,Zf=0,jf=0,Xf=0,eg=0,VA=0,eI=0,tI=0,iI=0,tg=0,ig=0,rI=0,rg=0,YA=0,sa=0,ng=0,nI=0,sI=0,oI=0,aI=0,sg=0,oa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,hI=0,dI=0,og=0,fI=0,II=0,mI=0,pI=0,aa=0,ag=0,EI=0,CI=0,Sn=0,Ag=0,$g=0,zA=0,BI=0,lg=0,yI=0,cg=0,gg=0,QI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,KA=0,bI=0,DI=0,_I=0,xI=0,ug=0,LI=0,hg=0,MI=0,RI=0,dg=0,Gr=0,fg=0,Ig=0,FI=0,mg=0,$a=0,TI=0,NI=0,GI=0,la=0,pg=0,UI=0,PI=0,Eg=0,OI=0,qI=0,JA=0,ca=0,HI=0,VI=0,YI=0,Cg=0,Bg=0,yg=0,zI=0,KI=0,ws=0,JI=0,Qg=0,WI=0,WA=0,wg=0,ZI=0,jI=0,XI=0,em=0,vg=0,tm=0,im=0,kg=0,ga=0,rm=0,nm=0,sm=0,vs=0,Sg=0,bg=0,om=0,Dg=0,_g=0,L7=0,xg=0,gr=0,am=0,Am=0,$m=0,lm=0,ZA=0,ua=0,Lg=0,Mg=0,cm=0,ha=0,ks=0,gm=0,da=0,jA=0,um=0,XA=0,hm=0,dm=0,Rg=0,fa=0,Fg=0,fm=0,Im=0,mm=0,pm=0,Tg=0,Em=0,si=0,D9=0,n7=0,Cm=0,Ng=0,Gg=0,e$=0,Bm=0,Ur=0,Ss=0,ym=0,Qm=0,Ug=0,t$=0,wm=0,Pg=0,Og=0,qg=0,i$=0,r$=0,Hg=0,bs=0,n$=0,Vg=0,vm=0,bn=0,km=0,Yg=0,Ia=0,Sm=0,zg=0,M7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,R7=0,Rm=0,Fm=0,Tm=0,Kg=0,y7=0,ma=0,s$=0,Jg=0,Wg=0,Nm=0,Zg=0,jg=0,Gm=0,Um=0,Xg=0,eu=0,Pm=0,Om=0,tu=0,qm=0,Ds=0,pa=0,Ea=0,Hm=0,o$=0,Vm=0,Ym=0,iu=0,_s=0,zm=0,Km=0,a$=0,A$=0,Ca=0,$$=0,l$=0,ur=0,Pr=0,Or=0,c$=0,g$=0,xs=0,hr=0,Dn=0,Jm=0,dr=0,_n=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ru=0,nu=0,Qa=0,u$=0,Ni=0,wa=0,qr=0,h$=0,Zm=0,d$=0,jm=0,f$=0,su=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,xn=0,tt=0,L9=0,ou=0,ip=0,I$=0,au=0,rp=0,np=0,ba=0,sp=0,op=0,ap=0,Ap=0,Au=0,$p=0,lp=0,cp=0,s7=0,Da=0,Ln=0,m$=0,Ls=0,Ms=0,oi=0,Rs=0,$u=0,lu=0,_a=0,Fs=0,Ts=0,Ns=0,gp=0,Gs=0,fr=0,cu=0,Hr=0,o7=0,p$=0,E$=0,Z7=0,C$=0,B$=0,y$=0,Vr=0,h6=0,xa=0,Yr=0,gu=0,L4=0,Q$=0,kt=0,Us=0,Mn=0,Rn=0,qe=0,Fn=0,zr=0,j9=0,w$=0,OC=0,up=0,cE=0,gE=0,qC=0,hp=0,eQ=0,tQ=0,iQ=0,rQ=0,nQ=0,sQ=0,oQ=0,aQ=0,AQ=0,$Q=0,lQ=0,cQ=0,HC=0,VC=0,gQ=0,uQ=0,hQ=0,uu=0,uE=0,Q7=0,hu=0,du=0,fu=0,Iu=0,dp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,yp=0,Qp=0,hE=0,La=0,Ir=0,v$=0,mu=0,k$=0,YC=0,Ma=0,wp=0,S$=0,dE=0,fE=0,vp=0,IE=0,mE=0,pE=0,EE=0,CE=0,BE=0,yE=0,zC=0,KC=0,JC=0,WC=0,ZC=0,Ra=0,Fa=0,Ta=0,Na=0,dQ=0,mr=0,$9=0,FD=0,Ga=0,QE=0;if(FD=C,I0=t+28|0,n0=e[I0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,Is=e[ui>>2]|0,Ul=(Is|0)==0,s=Ul&1,ps=n0+3496|0,Uc=+c1[ps>>3],Cg=Uc>-80,Cg?c1[ps>>3]=-80:(Um=Uc<-200,Um&&(c1[ps>>3]=-200)),f0=n0+3512|0,j2=+c1[f0>>3],A3=j2>0,A3?c1[f0>>3]=0:(v9=j2<-99999,v9&&(c1[f0>>3]=-99999)),V4=n0+3396|0,T6=e[V4>>2]|0,P9=(T6|0)==0,P9))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+c1[N4>>3],Et=T6+24|0,M8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,$4=~~i8,jt=M8+($4<<2)|0,V8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ci=e[Xt>>2]|0,e[n0>>2]=V8,vi=n0+4|0,e[vi>>2]=Ci,z8=(V8|0)==(Ci|0),ni=T6+144|0,B8=e[ni>>2]|0,lo=(B8|0)>0,lo){for(Io=T6+136|0,Co=T6+140|0,ss=T6+148|0,sr=i8,Nr=n0,hE=0;;){if(_o=~~sr,ds=e[Io>>2]|0,W7=e[Co>>2]|0,fi=e[ss>>2]|0,Vu=fi+(hE<<2)|0,Ku=e[Vu>>2]|0,Tr=l9(1,1120)|0,Il=Ku+(_o<<2)|0,Bl=e[Il>>2]|0,fh=W7+(Bl*1120|0)|0,c9(Tr|0,fh|0,1120)|0,mA=e[Tr>>2]|0,wh=(mA|0)>0,wh){for(Pl=Tr+4|0,uE=0,yE=-1;;)if(_A=Pl+(uE<<2)|0,gc=e[_A>>2]|0,Qd=(gc|0)>(yE|0),A0=Qd?gc:yE,pc=uE+1|0,lQ=(pc|0)==(mA|0),lQ){j=A0;break}else uE=pc,yE=A0;if(Fh=(j|0)<0,!Fh){for(qh=Tr+256|0,Bn=Nr+24|0,id=Tr+192|0,Ad=Tr+320|0,k$=0,pE=-1;;){if(Rc=qh+(k$<<2)|0,kn=e[Rc>>2]|0,Pc=(kn|0)>(pE|0),t0=Pc?kn:pE,Kc=e[Bn>>2]|0,Kf=Kc+kn|0,e[Rc>>2]=Kf,tg=id+(k$<<2)|0,sg=e[tg>>2]|0,fI=(sg|0)==31,fI)EE=t0;else for(_e=sg,IE=0,BE=t0;;)if(zA=(Ad+(k$<<5)|0)+(IE<<2)|0,Aa=e[zA>>2]|0,dg=(Aa|0)>(BE|0),Z=dg?Aa:BE,pg=(Aa|0)>-1,pg?(Bg=e[Bn>>2]|0,jI=Bg+Aa|0,e[zA>>2]=jI,o0=e[tg>>2]|0,jA=o0):jA=_e,vs=IE+1|0,$m=1<>2]|0,rf=e[Zd>>2]|0,kc=e[Bn>>2]|0,If=kc+1|0,e[Bn>>2]=If,yf=(Nr+1824|0)+(kc<<2)|0,e[yf>>2]=rf,oQ=(CE|0)==0,!oQ))for(YC=0;r$=YC+1|0,i0=e[Il>>2]|0,zg=ds+(i0<<2)|0,Tm=e[zg>>2]|0,Xg=Tm+(r$<<2)|0,Vm=e[Xg>>2]|0,ur=e[Bn>>2]|0,Wm=ur+1|0,e[Bn>>2]=Wm,wa=(Nr+1824|0)+(ur<<2)|0,e[wa>>2]=Vm,sQ=(r$|0)==(CE|0),!sQ;)YC=r$}}if(ka=Nr+16|0,np=e[ka>>2]|0,Da=(Nr+800|0)+(np<<2)|0,e[Da>>2]=1,Ts=e[ka>>2]|0,C$=(Nr+1056|0)+(Ts<<2)|0,e[C$>>2]=Tr,p0=e[ka>>2]|0,R0=p0+1|0,e[ka>>2]=R0,W0=hE+1|0,d1=e[ni>>2]|0,p1=(W0|0)<(d1|0),!p1)break;r0=+c1[N4>>3],l0=e[I0>>2]|0,sr=r0,Nr=l0,hE=W0}m0=e[I0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,Y1=+c1[R1>>3],$2=T6+124|0,r2=e[$2>>2]|0,K2=T6+128|0,m5=e[K2>>2]|0,N5=~~Y1,_5=+(N5|0),n5=Y1-_5,W5=X5+2868|0,H5=m5+(N5<<3)|0,L3=+c1[H5>>3],x6=~~L3,s6=r2+(x6*492|0)|0,c9(W5|0,s6|0,492)|0,g6=+c1[H5>>3],re=1-n5,O6=g6*re,q6=N5+1|0,J6=m5+(q6<<3)|0,R9=+c1[J6>>3],F9=R9*n5,G9=F9+O6,q9=~~G9,n4=+(q9|0),H9=G9-n4,Ke=H9==0,V9=(q9|0)>0,zC=V9&Ke,I=zC?1:H9,h9=zC<<31>>31,N=h9+q9|0,U9=1-I,E9=N+1|0,v4=(r2+(N*492|0)|0)+4|0,Ze=+o[v4>>2],ke=Ze,k4=U9*ke,nt=(r2+(E9*492|0)|0)+4|0,Y9=+o[nt>>2],Y4=Y9,z9=I*Y4,s4=k4+z9,R4=s4,st=X5+2872|0,o[st>>2]=R4,n9=(r2+(N*492|0)|0)+32|0,u4=+o[n9>>2],C9=u4,K9=U9*C9,Oe=(r2+(E9*492|0)|0)+32|0,d9=+o[Oe>>2],T9=d9,h4=I*T9,s9=K9+h4,d4=s9,f4=X5+2900|0,o[f4>>2]=d4,k9=(r2+(N*492|0)|0)+8|0,o4=+o[k9>>2],I4=o4,Se=U9*I4,I6=(r2+(E9*492|0)|0)+8|0,z4=+o[I6>>2],f9=z4,S4=I*f9,S9=Se+S4,I9=S9,z6=X5+2876|0,o[z6>>2]=I9,F4=(r2+(N*492|0)|0)+36|0,ot=+o[F4>>2],m9=ot,x9=U9*m9,mt=(r2+(E9*492|0)|0)+36|0,j3=+o[mt>>2],xe=j3,be=xe*I,O9=be+x9,a4=O9,d8=X5+2904|0,o[d8>>2]=a4,f8=(r2+(N*492|0)|0)+12|0,_8=+o[f8>>2],e8=_8,I8=e8*U9,m8=(r2+(E9*492|0)|0)+12|0,Ut=+o[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,x8=X5+2880|0,o[x8>>2]=t8,Ht=(r2+(N*492|0)|0)+40|0,Vt=+o[Ht>>2],Yt=Vt,_t=Yt*U9,xt=(r2+(E9*492|0)|0)+40|0,pt=+o[xt>>2],zt=pt,Kt=zt*I,r8=Kt+_t,K4=r8,G4=X5+2908|0,o[G4>>2]=K4,at=(r2+(N*492|0)|0)+16|0,Lt=+o[at>>2],Le=Lt,p8=Le*U9,b4=(r2+(E9*492|0)|0)+16|0,E8=+o[b4>>2],L8=E8,s8=L8*I,A4=s8+p8,o8=A4,Jt=X5+2884|0,o[Jt>>2]=o8,Mt=(r2+(N*492|0)|0)+44|0,At=+o[Mt>>2],J9=At,U4=J9*U9,$t=(r2+(E9*492|0)|0)+44|0,Ct=+o[$t>>2],Rt=Ct,o9=Rt*I,lt=o9+U4,Bt=lt,ct=X5+2912|0,o[ct>>2]=Bt,yt=X5+3512|0,p4=+c1[yt>>3],D4=p4,J4=X5+2936|0,o[J4>>2]=D4,W4=T6+132|0,a9=e[W4>>2]|0,E4=n0+3472|0,gt=+c1[E4>>3],_4=gt,b9=~~_4,Qt=+(b9|0),a8=_4-Qt,W9=a8,C3=e[I0>>2]|0,Z4=(a9|0)==0;e:do if(Z4)wt=C3+4|0,je=e[C3>>2]|0,l4=C3+3240|0,e[l4>>2]=je,Te=e[wt>>2]|0,j4=C3+3300|0,e[j4>>2]=Te,Wt=C3+3244|0,e[Wt>>2]=je,C8=C3+3304|0,e[C8>>2]=Te,A8=C3+3248|0,e[A8>>2]=je,$8=C3+3308|0,e[$8>>2]=Te,Zt=C3+3252|0,e[Zt>>2]=je,l8=C3+3312|0,e[l8>>2]=Te,ut=C3+3256|0,e[ut>>2]=je,ht=C3+3316|0,e[ht>>2]=Te,Ft=C3+3260|0,e[Ft>>2]=je,Z9=C3+3320|0,e[Z9>>2]=Te,c8=C3+3264|0,e[c8>>2]=je,Tt=C3+3324|0,e[Tt>>2]=Te,X4=C3+3268|0,e[X4>>2]=je,De=C3+3328|0,e[De>>2]=Te,g8=C3+3272|0,e[g8>>2]=je,et=C3+3332|0,e[et>>2]=Te,Z8=C3+3276|0,e[Z8>>2]=je,R8=C3+3336|0,e[R8>>2]=Te,u8=C3+3280|0,e[u8>>2]=je,F8=C3+3340|0,e[F8>>2]=Te,c4=C3+3284|0,e[c4>>2]=je,Y8=C3+3344|0,e[Y8>>2]=Te,j8=C3+3288|0,e[j8>>2]=je,dt=C3+3348|0,e[dt>>2]=Te,Nt=C3+3292|0,e[Nt>>2]=je,T8=C3+3352|0,e[T8>>2]=Te,O4=C3+3296|0,e[O4>>2]=je,C4=C3+3356|0,e[C4>>2]=Te;else{A9=C3+3120|0,N8=a9+(b9*240|0)|0,mr=A9,Ga=N8,QE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(QE|0));$i=C3+3180|0,qi=(a9+(b9*240|0)|0)+60|0,mr=$i,Ga=qi,QE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(QE|0));if(Hi=n0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(X8=1-W9,ei=b9+1|0,Bi=t+8|0,ti=C3+4|0,s0=e[Bi>>2]|0,yi=+(s0|0),Ir=0;;){if(li=((a9+(b9*240|0)|0)+120|0)+(Ir<<2)|0,g7=+o[li>>2],Yi=g7,Qi=Yi*X8,wi=((a9+(ei*240|0)|0)+120|0)+(Ir<<2)|0,u7=+o[wi>>2],ci=u7,h7=ci*W9,zi=h7+Qi,Ki=zi,Ji=Ki,Wi=Ji*1e3,gi=Wi/yi,ki=e[C3>>2]|0,Zi=+(ki|0),ii=Zi*gi,ri=~~ii,d7=(C3+3e3|0)+(Ir<<2)|0,e[d7>>2]=ri,ji=e[ti>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(C3+3060|0)+(Ir<<2)|0,e[bi>>2]=Xi,Di=~~Ki,e7=(C3+2940|0)+(Ir<<2)|0,e[e7>>2]=Di,_i=((a9+(b9*240|0)|0)+180|0)+(Ir<<2)|0,xi=+o[_i>>2],t7=xi,hi=t7*X8,K8=((a9+(ei*240|0)|0)+180|0)+(Ir<<2)|0,Li=+o[K8>>2],x4=Li,Mi=x4*W9,G8=Mi+hi,di=G8,$e=di,vt=$e*1e3,y8=vt/yi,U8=e[C3>>2]|0,sn=+(U8|0),Sr=sn*y8,ao=~~Sr,zn=(C3+3240|0)+(Ir<<2)|0,e[zn>>2]=ao,Ao=e[ti>>2]|0,Kn=+(Ao|0),$o=Kn*y8,Jn=~~$o,co=(C3+3300|0)+(Ir<<2)|0,e[co>>2]=Jn,on=Ir+1|0,AQ=(on|0)==15,AQ)break e;Ir=on}for(go=(a9+(b9*240|0)|0)+148|0,uo=+o[go>>2],ho=uo,Wn=1-W9,fo=ho*Wn,Zn=b9+1|0,jn=(a9+(Zn*240|0)|0)+148|0,an=+o[jn>>2],Xn=an,An=Xn*W9,es=An+fo,ts=es,mo=ts,po=mo*1e3,Eo=t+8|0,$n=C3+4|0,is=~~ts,d0=e[Eo>>2]|0,br=+(d0|0),ln=po/br,mu=0;Bo=e[C3>>2]|0,yo=+(Bo|0),cn=yo*ln,I7=~~cn,rs=(C3+3e3|0)+(mu<<2)|0,e[rs>>2]=I7,Qo=e[$n>>2]|0,wo=+(Qo|0),ns=wo*ln,os=~~ns,vo=(C3+3060|0)+(mu<<2)|0,e[vo>>2]=os,m7=(C3+2940|0)+(mu<<2)|0,e[m7>>2]=is,gn=mu+1|0,cQ=(gn|0)==15,!cQ;)mu=gn;for(ko=(a9+(b9*240|0)|0)+208|0,as=+o[ko>>2],So=as,bo=So*Wn,Do=(a9+(Zn*240|0)|0)+208|0,As=+o[Do>>2],xo=As,Lo=xo*W9,Mo=Lo+bo,$s=Mo,Ro=$s,Fo=Ro*1e3,un=Fo/br,wp=0;Dr=e[C3>>2]|0,hn=+(Dr|0),To=hn*un,No=~~To,ls=(C3+3240|0)+(wp<<2)|0,e[ls>>2]=No,dn=e[$n>>2]|0,cs=+(dn|0),fn=cs*un,Go=~~fn,gs=(C3+3300|0)+(wp<<2)|0,e[gs>>2]=Go,us=wp+1|0,aQ=(us|0)==15,!aQ;)wp=us}while(!1);for(Uo=+c1[N4>>3],hs=T6+92|0,Po=e[hs>>2]|0,_r=T6+100|0,fs=e[_r>>2]|0,p7=T6+108|0,In=e[p7>>2]|0,xr=e[I0>>2]|0,or=xr+2852|0,Lr=e[or>>2]|0,J7=~~Uo,Mr=xr+28|0,D7=e[Mr>>2]|0,_7=(D7|0)>0,_7||(e[Mr>>2]=1),i7=(Lr|0)==0,i7?(x7=l9(1,520)|0,e[or>>2]=x7,Ra=x7):Ra=Lr,c9(Ra|0,25784,520)|0,e[Ra>>2]=0,Rr=xr+3460|0,ar=e[Rr>>2]|0,Ar=(ar|0)==0,Ar||(Fr=Ra+500|0,e[Fr>>2]=1,E7=Po+(J7<<2)|0,Oo=e[E7>>2]|0,$l=Ra+504|0,e[$l>>2]=Oo,mn=fs+(J7<<2)|0,pn=e[mn>>2]|0,Ou=Ra+508|0,e[Ou>>2]=pn,ll=In+(J7<<3)|0,qo=+c1[ll>>3],qu=Ra+512|0,c1[qu>>3]=qo),lA=+c1[N4>>3],cl=e[hs>>2]|0,Hu=e[_r>>2]|0,Yu=e[p7>>2]|0,cA=e[I0>>2]|0,gl=cA+2856|0,ul=e[gl>>2]|0,gA=~~lA,En=cA+28|0,hl=e[En>>2]|0,zu=(hl|0)>1,zu||(e[En>>2]=2),Ho=(ul|0)==0,Ho?($r=l9(1,520)|0,e[gl>>2]=$r,Fa=$r):Fa=ul,c9(Fa|0,25784,520)|0,e[Fa>>2]=0,Ju=cA+3460|0,Wu=e[Ju>>2]|0,Zu=(Wu|0)==0,Zu||(ju=Fa+500|0,e[ju>>2]=1,Xu=cl+(gA<<2)|0,eh=e[Xu>>2]|0,th=Fa+504|0,e[th>>2]=eh,ih=Hu+(gA<<2)|0,rh=e[ih>>2]|0,dl=Fa+508|0,e[dl>>2]=rh,nh=Yu+(gA<<3)|0,sh=+c1[nh>>3],fl=Fa+512|0,c1[fl>>3]=sh),z8||(oh=+c1[N4>>3],uA=T6+96|0,Vo=e[uA>>2]|0,hA=T6+104|0,ah=e[hA>>2]|0,Ah=e[p7>>2]|0,dA=e[I0>>2]|0,ml=dA+2860|0,pl=e[ml>>2]|0,fA=~~oh,El=dA+28|0,Yo=e[El>>2]|0,$h=(Yo|0)>2,$h||(e[El>>2]=3),lh=(pl|0)==0,lh?(Cl=l9(1,520)|0,e[ml>>2]=Cl,Ta=Cl):Ta=pl,c9(Ta|0,25784,520)|0,e[Ta>>2]=1,ch=dA+3460|0,gh=e[ch>>2]|0,uh=(gh|0)==0,uh||(hh=Ta+500|0,e[hh>>2]=1,yl=Vo+(fA<<2)|0,Ql=e[yl>>2]|0,wl=Ta+504|0,e[wl>>2]=Ql,vl=ah+(fA<<2)|0,kl=e[vl>>2]|0,Cn=Ta+508|0,e[Cn>>2]=kl,dh=Ah+(fA<<3)|0,Sl=+c1[dh>>3],bl=Ta+512|0,c1[bl>>3]=Sl),Dl=+c1[N4>>3],Ih=e[uA>>2]|0,mh=e[hA>>2]|0,ph=e[p7>>2]|0,IA=e[I0>>2]|0,_l=IA+2864|0,xl=e[_l>>2]|0,ms=~~Dl,Ll=IA+28|0,Eh=e[Ll>>2]|0,Ml=(Eh|0)>3,Ml||(e[Ll>>2]=4),Ch=(xl|0)==0,Ch?(Rl=l9(1,520)|0,e[_l>>2]=Rl,Na=Rl):Na=xl,c9(Na|0,25784,520)|0,e[Na>>2]=1,Bh=IA+3460|0,yh=e[Bh>>2]|0,Fl=(yh|0)==0,Fl||(Tl=Na+500|0,e[Tl>>2]=1,Qh=Ih+(ms<<2)|0,zo=e[Qh>>2]|0,pA=Na+504|0,e[pA>>2]=zo,Nl=mh+(ms<<2)|0,Gl=e[Nl>>2]|0,vh=Na+508|0,e[vh>>2]=Gl,kh=ph+(ms<<3)|0,Sh=+c1[kh>>3],bh=Na+512|0,c1[bh>>3]=Sh)),Dh=(n0+3528|0)+(s<<5)|0,_h=+c1[Dh>>3],Ko=T6+32|0,Ol=e[Ko>>2]|0,Jo=T6+36|0,xh=e[Jo>>2]|0,ql=T6+44|0,Lh=e[ql>>2]|0,oE(t,_h,0,Ol,xh,Lh),Hl=n0+3560|0,Mh=+c1[Hl>>3],Rh=e[Ko>>2]|0,Vl=e[Jo>>2]|0,EA=T6+52|0,Th=e[EA>>2]|0,oE(t,Mh,1,Rh,Vl,Th),z8||(Wo=n0+3592|0,Nh=+c1[Wo>>3],Zo=e[Ko>>2]|0,Gh=e[Jo>>2]|0,CA=e[EA>>2]|0,oE(t,Nh,2,Zo,Gh,CA),Uh=n0+3624|0,Ph=+c1[Uh>>3],Oh=e[Ko>>2]|0,Yl=e[Jo>>2]|0,Hh=T6+48|0,Vh=e[Hh>>2]|0,oE(t,Ph,3,Oh,Yl,Vh)),Yh=((n0+3528|0)+(s<<5)|0)+24|0,zl=+c1[Yh>>3],Kl=T6+80|0,lr=e[Kl>>2]|0,Jl=T6+84|0,jo=e[Jl>>2]|0,BA=~~zl,yA=+(BA|0),Wl=zl-yA,yn=e[I0>>2]|0,zh=yn+2852|0,Zl=e[zh>>2]|0,Kh=jo+(BA<<3)|0,Jh=+c1[Kh>>3],Wh=1-Wl,Zh=Jh*Wh,Xo=BA+1|0,QA=jo+(Xo<<3)|0,jh=+c1[QA>>3],Xh=jh*Wl,jl=Xh+Zh,wA=~~jl,Xl=+(wA|0),ec=jl-Xl,ed=ec==0,tc=(wA|0)>0,KC=tc&ed,$=KC?1:ec,td=KC<<31>>31,G=td+wA|0,vA=1-$,rd=G+1|0,hu=0;Je=(lr+(G*160|0)|0)+(hu<<2)|0,nd=e[Je>>2]|0,ic=+(nd|0),sd=ic*vA,od=(lr+(rd*160|0)|0)+(hu<<2)|0,kA=e[od>>2]|0,ad=+(kA|0),SA=ad*$,rc=SA+sd,$d=rc,nc=(Zl+336|0)+(hu<<2)|0,o[nc>>2]=$d,sc=hu+1|0,tQ=(sc|0)==40,!tQ;)hu=sc;for(ld=n0+3584|0,bA=+c1[ld>>3],DA=~~bA,oc=+(DA|0),ac=bA-oc,cd=yn+2856|0,Ac=e[cd>>2]|0,gd=jo+(DA<<3)|0,$c=+c1[gd>>3],ud=1-ac,hd=$c*ud,dd=DA+1|0,fd=jo+(dd<<3)|0,lc=+c1[fd>>3],cc=lc*ac,xA=cc+hd,ea=~~xA,Id=+(ea|0),uc=xA-Id,hc=uc==0,md=(ea|0)>0,JC=md&hc,g=JC?1:uc,pd=JC<<31>>31,O=pd+ea|0,Ed=1-g,dc=O+1|0,du=0;Cd=(lr+(O*160|0)|0)+(du<<2)|0,Bd=e[Cd>>2]|0,yd=+(Bd|0),wd=yd*Ed,vd=(lr+(dc*160|0)|0)+(du<<2)|0,fc=e[vd>>2]|0,kd=+(fc|0),Ic=kd*g,Sd=Ic+wd,Qn=Sd,bd=(Ac+336|0)+(du<<2)|0,o[bd>>2]=Qn,mc=du+1|0,iQ=(mc|0)==40,!iQ;)du=mc;if(!z8){for(Dd=n0+3616|0,LA=+c1[Dd>>3],_d=T6+88|0,ta=e[_d>>2]|0,MA=~~LA,xd=+(MA|0),RA=LA-xd,Ec=yn+2860|0,Ld=e[Ec>>2]|0,Md=ta+(MA<<3)|0,Rd=+c1[Md>>3],Td=1-RA,Cc=Rd*Td,Nd=MA+1|0,Gd=ta+(Nd<<3)|0,Ud=+c1[Gd>>3],ia=Ud*RA,Es=ia+Cc,FA=~~Es,Pd=+(FA|0),TA=Es-Pd,qd=TA==0,Hd=(FA|0)>0,WC=Hd&qd,d=WC?1:TA,Bc=WC<<31>>31,q=Bc+FA|0,Vd=1-d,Yd=q+1|0,fu=0;zd=(lr+(q*160|0)|0)+(fu<<2)|0,Kd=e[zd>>2]|0,Jd=+(Kd|0),ra=Jd*Vd,Wd=(lr+(Yd*160|0)|0)+(fu<<2)|0,yc=e[Wd>>2]|0,jd=+(yc|0),Xd=jd*d,ef=Xd+ra,tf=ef,C7=(Ld+336|0)+(fu<<2)|0,o[C7>>2]=tf,Qc=fu+1|0,rQ=(Qc|0)==40,!rQ;)fu=Qc;for(B7=n0+3648|0,wc=+c1[B7>>3],NA=~~wc,r7=+(NA|0),Cs=wc-r7,nf=yn+2864|0,sf=e[nf>>2]|0,of=ta+(NA<<3)|0,af=+c1[of>>3],Af=1-Cs,vc=af*Af,$f=NA+1|0,lf=ta+($f<<3)|0,cf=+c1[lf>>3],gf=cf*Cs,Bs=gf+vc,GA=~~Bs,uf=+(GA|0),Sc=Bs-uf,hf=Sc==0,df=(GA|0)>0,ZC=df&hf,p=ZC?1:Sc,na=ZC<<31>>31,V=na+GA|0,ff=1-p,bc=V+1|0,Iu=0;Dc=(lr+(V*160|0)|0)+(Iu<<2)|0,mf=e[Dc>>2]|0,pf=+(mf|0),wn=pf*ff,Ef=(lr+(bc*160|0)|0)+(Iu<<2)|0,Cf=e[Ef>>2]|0,vn=+(Cf|0),Bf=vn*p,_c=Bf+wn,Qf=_c,ys=(sf+336|0)+(Iu<<2)|0,o[ys>>2]=Qf,xc=Iu+1|0,nQ=(xc|0)==40,!nQ;)Iu=xc}for(wf=((n0+3528|0)+(s<<5)|0)+8|0,Lc=+c1[wf>>3],vf=T6+40|0,cr=e[vf>>2]|0,UA=~~Lc,kf=+(UA|0),Mc=Lc-kf,Sf=cr+(UA<<2)|0,bf=e[Sf>>2]|0,Fc=+(bf|0),Df=1-Mc,_f=Fc*Df,xf=UA+1|0,Tc=cr+(xf<<2)|0,Lf=e[Tc>>2]|0,Qs=+(Lf|0),Mf=Qs*Mc,Rf=Mf+_f,Ff=Rf,PA=Zl+32|0,o[PA>>2]=Ff,Tf=n0+3568|0,OA=+c1[Tf>>3],qA=~~OA,Nf=+(qA|0),Nc=OA-Nf,Gc=cr+(qA<<2)|0,Gf=e[Gc>>2]|0,Oc=+(Gf|0),Uf=1-Nc,qc=Oc*Uf,Hc=qA+1|0,Pf=cr+(Hc<<2)|0,Of=e[Pf>>2]|0,Vc=+(Of|0),Yc=Vc*Nc,qf=Yc+qc,zc=qf,Hf=Ac+32|0,o[Hf>>2]=zc,z8||(Vf=n0+3600|0,Jc=+c1[Vf>>3],HA=~~Jc,Wc=+(HA|0),Zc=Jc-Wc,jc=yn+2860|0,Xc=e[jc>>2]|0,Yf=cr+(HA<<2)|0,zf=e[Yf>>2]|0,Jf=+(zf|0),Wf=1-Zc,Zf=Jf*Wf,jf=HA+1|0,Xf=cr+(jf<<2)|0,eg=e[Xf>>2]|0,VA=+(eg|0),eI=VA*Zc,tI=eI+Zf,iI=tI,ig=Xc+32|0,o[ig>>2]=iI,rI=n0+3632|0,rg=+c1[rI>>3],YA=~~rg,sa=+(YA|0),ng=rg-sa,nI=yn+2864|0,sI=e[nI>>2]|0,oI=cr+(YA<<2)|0,aI=e[oI>>2]|0,oa=+(aI|0),AI=1-ng,$I=oa*AI,lI=YA+1|0,cI=cr+(lI<<2)|0,gI=e[cI>>2]|0,uI=+(gI|0),hI=uI*ng,dI=hI+$I,og=dI,II=sI+32|0,o[II>>2]=og),mI=((n0+3528|0)+(s<<5)|0)+16|0,pI=+c1[mI>>3],aa=T6+76|0,ag=e[aa>>2]|0,EI=T6+60|0,CI=e[EI>>2]|0,Sn=T6+56|0,Ag=e[Sn>>2]|0,Ul?lg=0:($g=n0+3408|0,BI=+c1[$g>>3],lg=BI),aE(t,pI,0,ag,CI,Ag,lg),yI=n0+3576|0,cg=+c1[yI>>3],gg=e[aa>>2]|0,QI=T6+64|0,wI=e[QI>>2]|0,vI=e[Sn>>2]|0,aE(t,cg,1,gg,wI,vI,0),z8?(ws=e[I0>>2]|0,JI=ws+2852|0,Qg=e[JI>>2]|0,WI=ws+3496|0,WA=+c1[WI>>3],wg=WA,ZI=Qg+4|0,o[ZI>>2]=wg,XI=ws+3504|0,em=+c1[XI>>3],vg=em,tm=Qg+8|0,o[tm>>2]=vg,im=ws+2856|0,kg=e[im>>2]|0,ga=kg+4|0,o[ga>>2]=wg,rm=kg+8|0,o[rm>>2]=vg,gr=ws):(kI=n0+3608|0,SI=+c1[kI>>3],KA=e[aa>>2]|0,bI=T6+68|0,DI=e[bI>>2]|0,_I=e[Sn>>2]|0,aE(t,SI,2,KA,DI,_I,0),xI=n0+3640|0,ug=+c1[xI>>3],LI=e[aa>>2]|0,hg=T6+72|0,MI=e[hg>>2]|0,RI=e[Sn>>2]|0,aE(t,ug,3,LI,MI,RI,0),Gr=e[I0>>2]|0,fg=Gr+2852|0,Ig=e[fg>>2]|0,FI=Gr+3496|0,mg=+c1[FI>>3],$a=mg,TI=Ig+4|0,o[TI>>2]=$a,NI=Gr+3504|0,GI=+c1[NI>>3],la=GI,UI=Ig+8|0,o[UI>>2]=la,PI=Gr+2856|0,Eg=e[PI>>2]|0,OI=Eg+4|0,o[OI>>2]=$a,qI=Eg+8|0,o[qI>>2]=la,JA=Gr+2860|0,ca=e[JA>>2]|0,HI=ca+4|0,o[HI>>2]=$a,VI=ca+8|0,o[VI>>2]=la,YI=Gr+2864|0,yg=e[YI>>2]|0,zI=yg+4|0,o[zI>>2]=$a,KI=yg+8|0,o[KI>>2]=la,gr=Gr),nm=+c1[N4>>3],sm=T6+152|0,Sg=e[sm>>2]|0,bg=~~nm,om=Sg+(bg<<3)|0,Dg=e[om>>2]|0,_g=(Sg+(bg<<3)|0)+4|0,L7=e[_g>>2]|0,xg=e[gr>>2]|0,am=gr+4|0,Am=e[am>>2]|0,lm=(xg|0)==(Am|0),A=lm?1:2,ZA=gr+8|0,ua=gr+12|0,Lg=t+8|0,Mg=t+4|0,Q7=0;;){if(cm=l9(1,3208)|0,ha=(gr+544|0)+(Q7<<2)|0,e[ha>>2]=cm,ks=l9(1,16)|0,gm=(gr+32|0)+(Q7<<2)|0,e[gm>>2]=ks,da=26304+(Q7<<4)|0,e[ks>>2]=e[da>>2]|0,e[ks+4>>2]=e[da+4>>2]|0,e[ks+8>>2]=e[da+8>>2]|0,e[ks+12>>2]=e[da+12>>2]|0,um=e[ZA>>2]|0,XA=(Q7|0)<(um|0),XA||(hm=Q7+1|0,e[ZA>>2]=hm),dm=(gr+288|0)+(Q7<<2)|0,e[dm>>2]=0,Rg=e[ha>>2]|0,fa=Dg+(Q7*3208|0)|0,c9(Rg|0,fa|0,3208)|0,Fg=e[ua>>2]|0,fm=(Q7|0)<(Fg|0),fm||(Im=Q7+1|0,e[ua>>2]=Im),mm=e[fa>>2]|0,Tg=(mm|0)>0,Tg)for(fE=0;;){Em=((Dg+(Q7*3208|0)|0)+1092|0)+(fE<<2)|0,si=e[Em>>2]|0,D9=e[I0>>2]|0,n7=Re(2840)|0,Cm=(D9+1568|0)+(si<<2)|0,e[Cm>>2]=n7,Ng=(L7+(si<<5)|0)+12|0,Gg=e[Ng>>2]|0,c9(n7|0,Gg|0,2840)|0,e$=D9+20|0,Bm=e[e$>>2]|0,Ss=(Bm|0)>(si|0),Ss||(ym=si+1|0,e[e$>>2]=ym),Qm=(L7+(si<<5)|0)+8|0,Ug=e[Qm>>2]|0,t$=n7+8|0,e[t$>>2]=Ug,wm=L7+(si<<5)|0,Pg=e[wm>>2]|0,Og=(D9+1312|0)+(si<<2)|0,e[Og>>2]=Pg,qg=D9+3420|0,i$=e[qg>>2]|0,Hg=(i$|0)==0,bs=n7+12|0,n$=e[bs>>2]|0,Vg=(n$|0)>0;do if(Hg){if(Vg)for(Yg=(L7+(si<<5)|0)+24|0,Ia=e[Yg>>2]|0,Sm=n7+24|0,Ma=0;;)if(dr=Sm+(Ma<<2)|0,_n=Ia+(Ma<<4)|0,Ri=e[_n>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[dr>>2]|0,Ba=Ti|1,e[dr>>2]=Ba),ya=(Ia+(Ma<<4)|0)+4|0,ru=e[ya>>2]|0,nu=(ru|0)==0,nu||(b2=e[dr>>2]|0,B5=b2|2,e[dr>>2]=B5),o5=(Ia+(Ma<<4)|0)+8|0,F2=e[o5>>2]|0,R2=(F2|0)==0,R2||(Q2=e[dr>>2]|0,y5=Q2|4,e[dr>>2]=y5),p5=(Ia+(Ma<<4)|0)+12|0,M5=e[p5>>2]|0,q5=(M5|0)==0,q5||(R5=e[dr>>2]|0,z2=R5|8,e[dr>>2]=z2),E5=Ma+1|0,$5=e[bs>>2]|0,h5=(E5|0)<($5|0),h5)Ma=E5;else{Sa=$5;break}else Sa=n$;Qa=(L7+(si<<5)|0)+16|0,u$=e[Qa>>2]|0,Ni=D9+24|0,qr=e[Ni>>2]|0,h$=(qr|0)>0,Zm=u$;e:do if(h$)for(Qp=0;;){if(d$=(D9+1824|0)+(Qp<<2)|0,jm=e[d$>>2]|0,f$=(jm|0)==(u$|0),f$){M=Qp;break e}if(su=Qp+1|0,va=(su|0)<(qr|0),va)Qp=su;else{$9=116;break}}else $9=116;while(!1);if(($9|0)==116&&($9=0,Xm=qr+1|0,e[Ni>>2]=Xm,M=qr),ep=n7+20|0,e[ep>>2]=M,tp=(D9+1824|0)+(M<<2)|0,e[tp>>2]=Zm,xn=(Sa|0)>0,!xn)break;for(tt=(L7+(si<<5)|0)+24|0,L9=n7+280|0,zr=0,S$=0;;){if(ou=e[tt>>2]|0,ip=ou+(S$<<4)|0,I$=e[ip>>2]|0,au=(I$|0)==0,rp=I$,au)Ls=ou,up=zr;else{ba=e[Ni>>2]|0,sp=(ba|0)>0;e:do if(sp)for(pp=0;;){if(op=(D9+1824|0)+(pp<<2)|0,ap=e[op>>2]|0,Ap=(ap|0)==(I$|0),Ap){R=pp;break e}if(Au=pp+1|0,$p=(Au|0)<(ba|0),$p)pp=Au;else{$9=123;break}}else $9=123;while(!1);($9|0)==123&&($9=0,lp=ba+1|0,e[Ni>>2]=lp,R=ba),cp=zr+1|0,s7=L9+(zr<<2)|0,e[s7>>2]=R,Ln=(D9+1824|0)+(R<<2)|0,e[Ln>>2]=rp,c0=e[tt>>2]|0,Ls=c0,up=cp}if(m$=(Ls+(S$<<4)|0)+4|0,Ms=e[m$>>2]|0,oi=(Ms|0)==0,Rs=Ms,oi)C2=Ls,j9=up;else{J1=e[Ni>>2]|0,H1=(J1|0)>0;e:do if(H1)for(fp=0;;){if(V1=(D9+1824|0)+(fp<<2)|0,z1=e[V1>>2]|0,t2=(z1|0)==(Ms|0),t2){_=fp;break e}if(o2=fp+1|0,e2=(o2|0)<(J1|0),e2)fp=o2;else{$9=147;break}}else $9=147;while(!1);($9|0)==147&&($9=0,q1=J1+1|0,e[Ni>>2]=q1,_=J1),h2=up+1|0,Z1=L9+(up<<2)|0,e[Z1>>2]=_,I2=(D9+1824|0)+(_<<2)|0,e[I2>>2]=Rs,$0=e[tt>>2]|0,C2=$0,j9=h2}if(A2=(C2+(S$<<4)|0)+8|0,W1=e[A2>>2]|0,f2=(W1|0)==0,g2=W1,f2)M2=C2,w$=j9;else{n2=e[Ni>>2]|0,u2=(n2|0)>0;e:do if(u2)for(Ip=0;;){if(s2=(D9+1824|0)+(Ip<<2)|0,l2=e[s2>>2]|0,i2=(l2|0)==(W1|0),i2){Q=Ip;break e}if(a2=Ip+1|0,m2=(a2|0)<(n2|0),m2)Ip=a2;else{$9=153;break}}else $9=153;while(!1);($9|0)==153&&($9=0,k2=n2+1|0,e[Ni>>2]=k2,Q=n2),D2=j9+1|0,S2=L9+(j9<<2)|0,e[S2>>2]=Q,y2=(D9+1824|0)+(Q<<2)|0,e[y2>>2]=g2,X=e[tt>>2]|0,M2=X,w$=D2}if(G2=(M2+(S$<<4)|0)+12|0,O2=e[G2>>2]|0,p2=(O2|0)==0,W2=O2,p2)OC=w$;else{q2=e[Ni>>2]|0,U2=(q2|0)>0;e:do if(U2)for(mp=0;;){if(V2=(D9+1824|0)+(mp<<2)|0,Z2=e[V2>>2]|0,A5=(Z2|0)==(O2|0),A5){L=mp;break e}if(Y2=mp+1|0,N1=(Y2|0)<(q2|0),N1)mp=Y2;else{$9=159;break}}else $9=159;while(!1);($9|0)==159&&($9=0,t5=q2+1|0,e[Ni>>2]=t5,L=q2),T5=w$+1|0,i5=L9+(w$<<2)|0,e[i5>>2]=L,L5=(D9+1824|0)+(L<<2)|0,e[L5>>2]=W2,OC=T5}if(D5=S$+1|0,V5=e[bs>>2]|0,u5=(D5|0)<(V5|0),u5)zr=OC,S$=D5;else break}}else{if(Vg)for(vm=(L7+(si<<5)|0)+28|0,bn=e[vm>>2]|0,km=n7+24|0,La=0;;)if(M7=km+(La<<2)|0,bm=bn+(La<<4)|0,Dm=e[bm>>2]|0,_m=(Dm|0)==0,_m||(xm=e[M7>>2]|0,Lm=xm|1,e[M7>>2]=Lm),Mm=(bn+(La<<4)|0)+4|0,R7=e[Mm>>2]|0,Rm=(R7|0)==0,Rm||(l6=e[M7>>2]|0,n3=l6|2,e[M7>>2]=n3),l3=(bn+(La<<4)|0)+8|0,U3=e[l3>>2]|0,C6=(U3|0)==0,C6||(b3=e[M7>>2]|0,D3=b3|4,e[M7>>2]=D3),A6=(bn+(La<<4)|0)+12|0,r6=e[A6>>2]|0,K3=(r6|0)==0,K3||(j5=e[M7>>2]|0,M3=j5|8,e[M7>>2]=M3),h3=La+1|0,J3=e[bs>>2]|0,d6=(h3|0)<(J3|0),d6)La=h3;else{tu=J3;break}else tu=n$;Fm=(L7+(si<<5)|0)+20|0,Kg=e[Fm>>2]|0,y7=D9+24|0,ma=e[y7>>2]|0,s$=(ma|0)>0,Jg=Kg;e:do if(s$)for(dp=0;;){if(Wg=(D9+1824|0)+(dp<<2)|0,Nm=e[Wg>>2]|0,Zg=(Nm|0)==(Kg|0),Zg){B=dp;break e}if(jg=dp+1|0,Gm=(jg|0)<(ma|0),Gm)dp=jg;else{$9=100;break}}else $9=100;while(!1);if(($9|0)==100&&($9=0,eu=ma+1|0,e[y7>>2]=eu,B=ma),Pm=n7+20|0,e[Pm>>2]=B,Om=(D9+1824|0)+(B<<2)|0,e[Om>>2]=Jg,qm=(tu|0)>0,!qm)break;for(Ds=(L7+(si<<5)|0)+28|0,pa=n7+280|0,Us=0,v$=0;;){if(Ea=e[Ds>>2]|0,Hm=Ea+(v$<<4)|0,o$=e[Hm>>2]|0,Ym=(o$|0)==0,iu=o$,Ym)xs=Ea,Fn=Us;else{_s=e[y7>>2]|0,zm=(_s|0)>0;e:do if(zm)for(yp=0;;){if(Km=(D9+1824|0)+(yp<<2)|0,a$=e[Km>>2]|0,A$=(a$|0)==(o$|0),A$){v=yp;break e}if(Ca=yp+1|0,$$=(Ca|0)<(_s|0),$$)yp=Ca;else{$9=107;break}}else $9=107;while(!1);($9|0)==107&&($9=0,l$=_s+1|0,e[y7>>2]=l$,v=_s),Pr=Us+1|0,Or=pa+(Us<<2)|0,e[Or>>2]=v,c$=(D9+1824|0)+(v<<2)|0,e[c$>>2]=iu,J=e[Ds>>2]|0,xs=J,Fn=Pr}if(g$=(xs+(v$<<4)|0)+4|0,hr=e[g$>>2]|0,Dn=(hr|0)==0,Jm=hr,Dn)F5=xs,Mn=Fn;else{Q5=e[y7>>2]|0,T1=(Q5|0)>0;e:do if(T1)for(Ep=0;;){if(d5=(D9+1824|0)+(Ep<<2)|0,l5=e[d5>>2]|0,X2=(l5|0)==(hr|0),X2){b=Ep;break e}if(d2=Ep+1|0,w5=(d2|0)<(Q5|0),w5)Ep=d2;else{$9=171;break}}else $9=171;while(!1);($9|0)==171&&($9=0,r5=Q5+1|0,e[y7>>2]=r5,b=Q5),a5=Fn+1|0,f5=pa+(Fn<<2)|0,e[f5>>2]=b,J2=(D9+1824|0)+(b<<2)|0,e[J2>>2]=Jm,e0=e[Ds>>2]|0,F5=e0,Mn=a5}if(I5=(F5+(v$<<4)|0)+8|0,e5=e[I5>>2]|0,c5=(e5|0)==0,T2=e5,c5)f3=F5,Rn=Mn;else{v5=e[y7>>2]|0,z5=(v5|0)>0;e:do if(z5)for(Cp=0;;){if(i3=(D9+1824|0)+(Cp<<2)|0,C5=e[i3>>2]|0,I3=(C5|0)==(e5|0),I3){D=Cp;break e}if(d3=Cp+1|0,r3=(d3|0)<(v5|0),r3)Cp=d3;else{$9=177;break}}else $9=177;while(!1);($9|0)==177&&($9=0,a3=v5+1|0,e[y7>>2]=a3,D=v5),y3=Mn+1|0,G5=pa+(Mn<<2)|0,e[G5>>2]=D,Z5=(D9+1824|0)+(D<<2)|0,e[Z5>>2]=T2,h0=e[Ds>>2]|0,f3=h0,Rn=y3}if(x3=(f3+(v$<<4)|0)+12|0,w3=e[x3>>2]|0,e6=(w3|0)==0,V3=w3,e6)qe=Rn;else{_3=e[y7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(Bp=0;;){if(a6=(D9+1824|0)+(Bp<<2)|0,G3=e[a6>>2]|0,Y3=(G3|0)==(w3|0),Y3){k=Bp;break e}if(c3=Bp+1|0,g3=(c3|0)<(_3|0),g3)Bp=c3;else{$9=183;break}}else $9=183;while(!1);($9|0)==183&&($9=0,u3=_3+1|0,e[y7>>2]=u3,k=_3),Q3=Rn+1|0,K5=pa+(Rn<<2)|0,e[K5>>2]=k,Y5=(D9+1824|0)+(k<<2)|0,e[Y5>>2]=V3,qe=Q3}if(b5=v$+1|0,z3=e[bs>>2]|0,U5=(b5|0)<(z3|0),U5)Us=qe,v$=b5;else break}}while(!1);$u=D9+3480|0,lu=+c1[$u>>3],_a=lu*1e3,Fs=(D9+1056|0)+(Q7<<2)|0,Ns=e[Fs>>2]|0,gp=e[Lg>>2]|0,Gs=+(gp|0),fr=Gs*.5,cu=D9+(Q7<<2)|0,Hr=e[cu>>2]|0,o7=Hr>>1,p$=_a>fr,HC=p$?fr:_a,E$=HC/fr,Z7=+(o7|0),B$=Z7*E$,y$=~~B$,Vr=Ns+1116|0,e[Vr>>2]=y$,h6=(L7+(si<<5)|0)+4|0,xa=e[h6>>2]|0;do if((xa|0)==2)uu=250;else if((xa|0)==1){if(Yr=e[qg>>2]|0,gu=(Yr|0)==0,L4=D9+2996|0,Q$=D9+2968|0,hQ=gu?Q$:L4,uQ=e[hQ>>2]|0,gQ=+(uQ|0),VC=gQ*1e3,kt=VC>fr,!kt){uu=VC;break}uu=fr}else uu=HC;while(!1);C0=e[Og>>2]|0,b0=(C0|0)==2;do if(b0){if(y0=D9+12|0,D0=e[y0>>2]|0,E0=(D0|0)>0,E0)for(dE=0;;){if(Q0=(D9+544|0)+(dE<<2)|0,w0=e[Q0>>2]|0,B0=e[w0>>2]|0,x0=(B0|0)>0,x0)for(vp=0;;){Z0=(w0+1092|0)+(vp<<2)|0,v0=e[Z0>>2]|0,G0=(v0|0)==(si|0);do if(G0){if(U0=e[Mg>>2]|0,O0=(U0|0)>0,O0)qC=0,mE=0;else{hp=0;break}for(;;)if(H0=(w0+4|0)+(mE<<2)|0,k0=e[H0>>2]|0,K0=(k0|0)==(vp|0),N0=K0&1,K=N0+qC|0,M0=mE+1|0,eQ=(M0|0)==(U0|0),eQ){hp=K;break}else qC=K,mE=M0}else hp=0;while(!1);if(P0=vp+1|0,J0=(P0|0)<(B0|0),V0=(hp|0)==0,j0=J0&V0,j0)vp=P0;else{gE=hp;break}}else gE=0;if(q0=dE+1|0,Y0=(q0|0)<(D0|0),o1=(gE|0)==0,z0=Y0&o1,z0)dE=q0;else{cE=gE;break}}else cE=0;if(r1=uu/fr,L0=+(cE|0),s1=L0*Z7,u1=s1*r1,E1=e[t$>>2]|0,f1=+(E1|0),h1=u1/f1,A1=h1+.9,g1=~~A1,a1=s5(g1,E1)|0,$1=n7+4|0,e[$1>>2]=a1,X0=s5(cE,o7)|0,B1=(a1|0)>(X0|0),!B1){Y=$1,X1=a1,x1=E1;break}Q1=(X0|0)%(E1|0)&-1,C1=X0-Q1|0,e[$1>>2]=C1,Y=$1,X1=C1,x1=E1}else{if(y1=uu/fr,v1=y1*Z7,k1=e[t$>>2]|0,S1=+(k1|0),L1=v1/S1,M1=L1+.9,b1=~~M1,_1=s5(b1,k1)|0,F1=n7+4|0,e[F1>>2]=_1,P1=(_1|0)>(o7|0),!P1){Y=F1,X1=_1,x1=k1;break}D1=(o7|0)%(k1|0)&-1,O1=o7-D1|0,e[F1>>2]=O1,Y=F1,X1=O1,x1=k1}while(!1);if(G1=(X1|0)==0,G1&&(e[Y>>2]=x1),m3=fE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)fE=m3;else break}if(S6=Q7+1|0,n6=(S6|0)<(A|0),n6)Q7=S6;else break}return f6=n0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(k6=e[I0>>2]|0,R3=k6+3396|0,o6=e[R3>>2]|0,B6=k6+3400|0,W3=+c1[B6>>3],F3=~~W3,Z3=+(F3|0),t6=W3-Z3,R6=o6+4|0,c6=e[R6>>2]|0,s3=(c6|0)==0,s3?y=-1:(K6=e[Mg>>2]|0,y6=c6+(F3<<3)|0,T3=+c1[y6>>3],H6=1-t6,$6=T3*H6,D6=F3+1|0,G6=c6+(D6<<3)|0,ee=+c1[G6>>3],Q6=ee*t6,X6=Q6+$6,P3=+(K6|0),V6=X6*P3,dQ=~~V6,y=dQ),se=t+16|0,e[se>>2]=y),ge=n0+3424|0,U6=e[ge>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=n0+3440|0,te=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=te,P6=(b6|0)==0,P6?g0=0:(O3=n0+3444|0,oe=e[O3>>2]|0,he=+(oe|0),ne=+(b6|0),Be=he/ne,ye=~~Be,g0=ye),Qe=t+24|0,e[Qe>>2]=g0,de=n0+3420|0,fe=e[de>>2]|0,Ve=(fe|0)==0,Ve?(E=0,E|0):(w6=e[f6>>2]|0,ae=n0+3360|0,e[ae>>2]=w6,Ye=e[ge>>2]|0,we=n0+3364|0,e[we>>2]=Ye,Q9=e[F6>>2]|0,g9=n0+3368|0,e[g9>>2]=Q9,p9=n0+3444|0,ze=e[p9>>2]|0,r9=n0+3372|0,e[r9>>2]=ze,Fe=n0+3448|0,ve=+c1[Fe>>3],Ae=n0+3376|0,c1[Ae>>3]=ve,w9=n0+3432|0,M9=+c1[w9>>3],u9=n0+3384|0,c1[u9>>3]=M9,E=0,E|0)}function AD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=+$;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0;if(K=C,I=(A|0)<1,I)d=-131;else if(E=t+28|0,Q=e[E>>2]|0,L=$,R=L+1e-7,M=R,N=!(M>=1),p=N?M:.9998999834060669,G=Q+3416|0,o[G>>2]=p,O=p,q=Q+3400|0,y=$D(s,A,O,0,q)|0,B=Q+3396|0,e[B>>2]=y,b=(y|0)==0,b)d=-130;else return lD(t,s,A),D=Q+3420|0,e[D>>2]=0,k=Q+3464|0,e[k>>2]=1,v=aD(t)|0,_=(v|0)==0,_?(g=0,g|0):(xC(t),g=v,g|0);return xC(t),g=d,g|0}function oE(t,s,A,$,g,d){t=t|0,s=+s,A=A|0,$=$|0,g=g|0,d=d|0;var p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0;for(v1=C,p=~~s,I=+(p|0),R=s-I,j=t+28|0,$0=e[j>>2]|0,y0=($0+2852|0)+(A<<2)|0,U0=e[y0>>2]|0,j0=$+(p*20|0)|0,f1=e[j0>>2]|0,p1=+(f1|0),E=1-R,y=p1*E,B=p+1|0,b=$+(B*20|0)|0,D=e[b>>2]|0,k=+(D|0),v=k*R,_=v+y,Q=_,L=U0+12|0,o[L>>2]=Q,M=($+(p*20|0)|0)+4|0,N=e[M>>2]|0,G=+(N|0),O=G*E,q=($+(B*20|0)|0)+4|0,V=e[q>>2]|0,K=+(V|0),t0=K*R,Z=t0+O,A0=Z,r0=U0+16|0,o[r0>>2]=A0,o0=($+(p*20|0)|0)+8|0,J=e[o0>>2]|0,s0=+(J|0),Y=s0*E,d0=($+(B*20|0)|0)+8|0,i0=e[d0>>2]|0,e0=+(i0|0),h0=e0*R,c0=h0+Y,l0=c0,X=U0+20|0,o[X>>2]=l0,m0=($+(p*20|0)|0)+12|0,g0=+o[m0>>2],I0=g0,n0=I0*E,f0=($+(B*20|0)|0)+12|0,p0=+o[f0>>2],C0=p0,b0=C0*R,D0=b0+n0,E0=D0,Q0=U0+24|0,o[Q0>>2]=E0,w0=($+(p*20|0)|0)+16|0,B0=+o[w0>>2],x0=B0,Z0=x0*E,R0=($+(B*20|0)|0)+16|0,v0=+o[R0>>2],G0=v0,O0=G0*R,H0=O0+Z0,k0=H0,K0=U0+28|0,o[K0>>2]=k0,N0=g+(p<<2)|0,M0=e[N0>>2]|0,P0=+(M0|0),W0=P0*E,J0=g+(B<<2)|0,V0=e[J0>>2]|0,q0=+(V0|0),Y0=q0*R,o1=Y0+W0,z0=o1,r1=U0+496|0,o[r1>>2]=z0,C1=0;L0=(d+(p*68|0)|0)+(C1<<2)|0,s1=e[L0>>2]|0,d1=+(s1|0),u1=d1*E,E1=(d+(B*68|0)|0)+(C1<<2)|0,h1=e[E1>>2]|0,A1=+(h1|0),g1=A1*R,a1=g1+u1,$1=a1,X0=(U0+36|0)+(C1<<2)|0,o[X0>>2]=$1,B1=C1+1|0,Q1=(B1|0)==17,!Q1;)C1=B1}function aE(t,s,A,$,g,d,p){t=t|0,s=+s,A=A|0,$=$|0,g=g|0,d=d|0,p=+p;var I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;for(S2=C,k=~~s,v=+(k|0),d0=s-v,n0=t+28|0,x0=e[n0>>2]|0,M0=(x0+2852|0)+(A<<2)|0,L0=e[M0>>2]|0,X0=$+(k<<2)|0,b1=e[X0>>2]|0,H1=+(b1|0),_=1-d0,t0=H1*_,Z=k+1|0,A0=$+(Z<<2)|0,j=e[A0>>2]|0,r0=+(j|0),o0=r0*d0,J=o0+t0,s0=J,Y=L0+108|0,o[Y>>2]=s0,i0=d+(A*12|0)|0,e0=e[i0>>2]|0,h0=L0+120|0,e[h0>>2]=e0,c0=(d+(A*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=L0+124|0,e[l0>>2]=$0,X=(d+(A*12|0)|0)+8|0,m0=e[X>>2]|0,g0=L0+128|0,e[g0>>2]=m0,n2=0;;)if(I0=(g+(k*204|0)|0)+(n2<<2)|0,f0=e[I0>>2]|0,p0=+(f0|0),C0=p0*_,b0=(g+(Z*204|0)|0)+(n2<<2)|0,y0=e[b0>>2]|0,D0=+(y0|0),E0=D0*d0,Q0=E0+C0,w0=Q0,B0=(L0+132|0)+(n2<<2)|0,o[B0>>2]=w0,Z0=n2+1|0,W1=(Z0|0)==17,W1){u2=0;break}else n2=Z0;for(;;)if(M1=((g+(k*204|0)|0)+68|0)+(u2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*_,P1=((g+(Z*204|0)|0)+68|0)+(u2<<2)|0,D1=e[P1>>2]|0,O1=+(D1|0),X1=O1*d0,G1=X1+F1,x1=G1,J1=(L0+200|0)+(u2<<2)|0,o[J1>>2]=x1,V1=u2+1|0,f2=(V1|0)==17,f2){s2=0;break}else u2=V1;for(;Y1=((g+(k*204|0)|0)+136|0)+(s2<<2)|0,z1=e[Y1>>2]|0,t2=+(z1|0),o2=t2*_,e2=((g+(Z*204|0)|0)+136|0)+(s2<<2)|0,q1=e[e2>>2]|0,h2=+(q1|0),Z1=h2*d0,I2=Z1+o2,Q=I2,L=(L0+268|0)+(s2<<2)|0,o[L>>2]=Q,R=s2+1|0,g2=(R|0)==17,!g2;)s2=R;for(M=L0+132|0,N=+o[M>>2],k0=N+6,G=L0+132|0,O=N,q=O+p,V=q,K=V>2]=k2,R0=1;I=(L0+132|0)+(R0<<2)|0,B=+o[I>>2],v0=(L0+132|0)+(R0<<2)|0,G0=B,U0=G0+p,O0=U0,H0=O0>2]=l2,K0=R0+1|0,A2=(K0|0)==17,!A2;)R0=K0;for(N0=L0+200|0,P0=+o[N0>>2],W0=P0+6,J0=L0+200|0,V0=P0,j0=V0+p,q0=j0,Y0=q0>2]=a2,o1=1;E=(L0+200|0)+(o1<<2)|0,b=+o[E>>2],z0=(L0+200|0)+(o1<<2)|0,r1=b,s1=r1+p,d1=s1,u1=d1>2]=i2,E1=o1+1|0,C2=(E1|0)==17,!C2;)o1=E1;for(f1=L0+268|0,h1=+o[f1>>2],A1=h1+6,g1=L0+268|0,a1=h1,$1=a1+p,B1=$1,p1=B1>2]=r2,Q1=1;y=(L0+268|0)+(Q1<<2)|0,D=+o[y>>2],C1=(L0+268|0)+(Q1<<2)|0,y1=D,v1=y1+p,k1=v1,S1=k1>2]=m2,L1=Q1+1|0,$2=(L1|0)==17,!$2;)Q1=L1}function $D(t,s,A,$,g){t=t|0,s=s|0,A=+A,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;S1=C,k=($|0)==0;e:do if(k){for(J=26336,X0=0;;){if(o0=e[J>>2]|0,s0=o0+12|0,Y=e[s0>>2]|0,d0=(Y|0)==-1,e0=(Y|0)==(t|0),C1=d0|e0,C1&&(h0=o0+16|0,c0=e[h0>>2]|0,$0=(c0|0)>(s|0),!$0&&(l0=o0+20|0,X=e[l0>>2]|0,m0=(X|0)<(s|0),!m0&&(g0=e[o0>>2]|0,I0=o0+8|0,n0=e[I0>>2]|0,p0=+c1[n0>>3],C0=p0>A,!C0&&(D0=n0+(g0<<3)|0,E0=+c1[D0>>3],Q0=E0>2]|0,Z0=i0+12|0,P0=e[Z0>>2]|0,s1=(P0|0)==-1,A1=(P0|0)==(t|0),y1=s1|A1,y1&&(g1=i0+16|0,_=e[g1>>2]|0,Q=(_|0)>(s|0),!Q&&(L=i0+20|0,R=e[L>>2]|0,M=(R|0)<(s|0),!M&&(N=e[i0>>2]|0,G=i0+4|0,O=e[G>>2]|0,q=+c1[O>>3],V=K>3],A0=K>Z,!A0))))){p=K,I=N,E=f0,y=O,h1=q;break e}if($1=B1+1|0,j=26336+($1<<2)|0,r0=($1|0)==17,r0){d=0;break}else f0=j,B1=$1}return d|0}while(!1);w0=(I|0)>0;e:do if(w0)for(x0=h1,Q1=0;;){if(B0=!(p>=x0),D=Q1+1|0,!B0&&(R0=y+(D<<3)|0,v0=+c1[R0>>3],G0=p>3],x0=b,Q1=D}else p1=0;while(!1);return O0=(p1|0)==(I|0),O0?(H0=+(I|0),k0=H0+-.001,v1=k0):(K0=y+(p1<<3)|0,N0=+c1[K0>>3],M0=N0,W0=p1+1|0,J0=y+(W0<<3)|0,V0=+c1[J0>>3],j0=V0,q0=M0,Y0=p-q0,o1=j0-M0,z0=o1,r1=Y0/z0,L0=r1,d1=+(p1|0),u1=L0+d1,E1=u1,v1=E1),c1[g>>3]=v1,f1=e[E>>2]|0,d=f1,d|0}function lD(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0;L0=C,I=t+28|0,E=e[I>>2]|0,M=E+3396|0,r0=e[M>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=s,D0=t+8|0,e[D0>>2]=A,O0=E+3456|0,e[O0>>2]=1,q0=E+3460|0,e[q0>>2]=1,o1=E+3400|0,z0=+c1[o1>>3],y=~~z0,B=+(y|0),b=z0-B,D=E+3472|0,c1[D>>3]=z0,k=E+3488|0,v=e[k>>2]|0,_=(v|0)==0,_?(Q=r0+120|0,L=e[Q>>2]|0,R=L+(y<<3)|0,N=+c1[R>>3],G=1-b,O=N*G,q=y+1|0,V=L+(q<<3)|0,K=+c1[V>>3],t0=K*b,Z=t0+O,A0=E+3480|0,c1[A0>>3]=Z,g=q,d=G):($=1-b,p=y+1|0,g=p,d=$),j=r0+112|0,o0=e[j>>2]|0,J=o0+(y<<2)|0,s0=e[J>>2]|0,Y=+(s0|0),d0=Y*d,i0=o0+(g<<2)|0,e0=e[i0>>2]|0,h0=+(e0|0),c0=h0*b,$0=c0+d0,X=E+3496|0,c1[X>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,I0=g0+(y<<2)|0,n0=e[I0>>2]|0,f0=+(n0|0),p0=f0*d,C0=g0+(g<<2)|0,b0=e[C0>>2]|0,y0=+(b0|0),E0=y0*b,Q0=E0+p0,w0=E+3504|0,c1[w0>>3]=Q0,B0=E+3512|0,c1[B0>>3]=-6,x0=E+3520|0,c1[x0>>3]=z0,Z0=E+3528|0,c1[Z0>>3]=z0,R0=E+3536|0,c1[R0>>3]=z0,v0=E+3544|0,c1[v0>>3]=z0,G0=E+3552|0,c1[G0>>3]=z0,U0=E+3560|0,c1[U0>>3]=z0,H0=E+3568|0,c1[H0>>3]=z0,k0=E+3576|0,c1[k0>>3]=z0,K0=E+3584|0,c1[K0>>3]=z0,N0=E+3592|0,c1[N0>>3]=z0,M0=E+3600|0,c1[M0>>3]=z0,P0=E+3608|0,c1[P0>>3]=z0,W0=E+3616|0,c1[W0>>3]=z0,J0=E+3624|0,c1[J0>>3]=z0,V0=E+3632|0,c1[V0>>3]=z0,j0=E+3640|0,c1[j0>>3]=z0,Y0=E+3648|0,c1[Y0>>3]=z0}function cD(t,s,A,$,g,d){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0;var p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0;if(V0=C,I=(g|0)!=0,E=I?$:0,M=I?d:0,r0=s+(E<<2)|0,l0=e[r0>>2]|0,D0=520336+(l0<<2)|0,x0=e[D0>>2]|0,Z0=s+(M<<2)|0,R0=e[Z0>>2]|0,v0=520336+(R0<<2)|0,y=e[v0>>2]|0,B=A+(g<<2)|0,b=e[B>>2]|0,D=A+(E<<2)|0,k=e[D>>2]|0,v=A+(M<<2)|0,_=e[v>>2]|0,Q=(b|0)/4&-1,L=(k|0)/4&-1,R=Q-L|0,N=(k|0)/2&-1,G=R+N|0,O=(b|0)/2&-1,q=O+Q|0,p=(_|0)/-4&-1,V=q+p|0,K=(_|0)/2&-1,t0=V+K|0,Z=(R|0)>0,Z?(A0=Q-L|0,j=A0<<2,g4(t|0,0,j|0)|0,U0=R):U0=0,o0=(U0|0)<(G|0),o0)for(J=Q+N|0,s0=J-U0|0,Y=s0-L|0,O0=U0,K0=0;h0=x0+(K0<<2)|0,c0=+o[h0>>2],$0=t+(O0<<2)|0,X=+o[$0>>2],m0=X*c0,o[$0>>2]=m0,g0=O0+1|0,I0=K0+1|0,G0=(I0|0)==(Y|0),!G0;)O0=g0,K0=I0;if(d0=(_|0)>1,d0){for(i0=V+1|0,e0=(t0|0)>(i0|0),k0=V,M0=K;N0=M0+-1|0,C0=y+(N0<<2)|0,b0=+o[C0>>2],y0=t+(k0<<2)|0,E0=+o[y0>>2],Q0=E0*b0,o[y0>>2]=Q0,w0=k0+1|0,B0=(w0|0)<(t0|0),B0;)k0=w0,M0=N0;W0=e0?t0:i0,H0=W0}else H0=V;n0=(b|0)>(H0|0),n0&&(P0=t+(H0<<2)|0,f0=b-H0|0,p0=f0<<2,g4(P0|0,0,p0|0)|0)}function gD(t,s,A){t=t|0,s=+s,A=+A;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0;if(X=C,C=C+64|0,$0=X+32|0,c0=X,$=Re(688)|0,g=$+408|0,wb(g),_=~~s,AD(g,t,_,A)|0,t0=$+440|0,Bb(t0),yb(t0,553008,553016),s0=$+456|0,eb(s0,g)|0,Y=$+568|0,jS(s0,Y)|0,d0=dy(0)|0,pD(d0),i0=ED()|0,qS($,i0)|0,e0=$+680|0,e[e0>>2]=0,h0=$+684|0,e[h0>>2]=0,d=$+360|0,vb(s0,t0,d,$0,c0)|0,nE($,d)|0,nE($,$0)|0,nE($,c0)|0,p=$+392|0,I=Iy($,p)|0,E=(I|0)==0,E)return C=X,$|0;for(y=$+396|0,B=$+404|0,b=$+400|0;D=e[h0>>2]|0,k=e[y>>2]|0,v=k+D|0,Q=e[B>>2]|0,L=v+Q|0,R=(L|0)==0,R||(G=e[e0>>2]|0,O=K7(G,L)|0,e[e0>>2]=O,q=e[h0>>2]|0,V=O+q|0,K=e[p>>2]|0,Z=e[y>>2]|0,c9(V|0,K|0,Z|0)|0,A0=Z+q|0,e[h0>>2]=A0,j=O+A0|0,r0=e[b>>2]|0,o0=e[B>>2]|0,c9(j|0,r0|0,o0|0)|0,J=o0+A0|0,e[h0>>2]=J),M=Iy($,p)|0,N=(M|0)==0,!N;);return C=X,$|0}function uD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0;E=C,HS(t)|0,s=t+568|0,XS(s)|0,A=t+456|0,Cy(A),$=t+440|0,Qb($),g=t+408|0,xC(g),d=t+680|0,p=e[d>>2]|0,E2(p),E2(t)}function hD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0;return d=C,A=t+456|0,$=By(A,s)|0,$|0}function dD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0;if(X=C,A=t+456|0,tb(A,s)|0,$=t+568|0,v=yy(A,$)|0,K=(v|0)==1,!!K)for(d0=t+360|0,i0=t+392|0,e0=t+684|0,h0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(KS($,0)|0,ZS($)|0,E=Ey(A,d0)|0,y=(E|0)==0,!y)for(;;){if(nE(t,d0)|0,D=my(t,i0)|0,k=(D|0)==0,!k)for(;_=e[e0>>2]|0,Q=e[h0>>2]|0,L=Q+_|0,R=e[c0>>2]|0,M=L+R|0,N=(M|0)==0,N||(q=e[$0>>2]|0,V=K7(q,M)|0,e[$0>>2]=V,t0=e[e0>>2]|0,Z=V+t0|0,A0=e[g>>2]|0,j=e[h0>>2]|0,c9(Z|0,A0|0,j|0)|0,r0=j+t0|0,e[e0>>2]=r0,o0=V+r0|0,J=e[d>>2]|0,s0=e[c0>>2]|0,c9(o0|0,J|0,s0|0)|0,Y=s0+r0|0,e[e0>>2]=Y),G=my(t,i0)|0,O=(G|0)==0,!O;);if(B=Ey(A,d0)|0,b=(B|0)==0,b)break}if(p=yy(A,$)|0,I=(p|0)==1,!I)break}}function fD(t){t=t|0;var s=0,A=0,$=0,g=0;return g=C,s=t+684|0,A=e[s>>2]|0,A|0}function ID(t){t=t|0;var s=0,A=0,$=0,g=0,d=0;return d=C,s=t+684|0,e[s>>2]=0,A=t+680|0,$=e[A>>2]|0,$|0}function AE(t,s){t=+t,s=s|0;var A=0,$=0,g=0;return g=C,A=+mD(t,s),+A}function Pu(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0;if(U3=C,C=C+688|0,n3=U3+424|0,W5=U3+192|0,t3=U3,s0=s5(A,s)|0,Y=(s0|0)==0,Y){C=U3;return}for(j=s0-A|0,Y1=t3+4|0,e[Y1>>2]=A,e[t3>>2]=A,r2=A,m5=A,x3=2;$2=r2+A|0,U2=$2+m5|0,N5=t3+(x3<<2)|0,e[N5>>2]=U2,_5=U2>>>0>>0,n5=x3+1|0,_5;)k2=m5,m5=U2,x3=n5,r2=k2;if(d0=0-A|0,n0=t+j|0,x0=(j|0)>0,x0)for(M0=(A|0)==0,L0=n0,b1=1,Z2=0,G5=t,H5=1;;){X0=b1&3,J1=(X0|0)==3;do if(J1){e[W5>>2]=G5,H1=(H5|0)>1;e:do if(H1){for(B=H5,Q=G5,q1=G5,X5=1;;){if(V1=Q+d0|0,z1=B+-2|0,t2=t3+(z1<<2)|0,o2=e[t2>>2]|0,U5=o2+A|0,r0=0-U5|0,e2=Q+r0|0,h2=pi[$&15](q1,e2)|0,Z1=(h2|0)>-1,Z1&&(I2=pi[$&15](q1,V1)|0,A2=(I2|0)>-1,A2)){f3=X5;break}if(C2=pi[$&15](e2,V1)|0,W1=(C2|0)>-1,f2=X5+1|0,g2=W5+(X5<<2)|0,W1?(e[g2>>2]=e2,n2=B+-1|0,d=e2,E=n2):(e[g2>>2]=V1,d=V1,E=z1),u2=(E|0)>1,!u2){f3=f2;break}K=e[W5>>2]|0,B=E,Q=d,q1=K,X5=f2}if(s2=(f3|0)<2,!s2&&(l2=W5+(f3<<2)|0,e[l2>>2]=n3,!M0))for(v=A,q2=n3;;){for(p2=v>>>0>256,a2=p2?256:v,W2=e[W5>>2]|0,c9(q2|0,W2|0,a2|0)|0,M2=W2,e6=0;D2=W5+(e6<<2)|0,S2=e6+1|0,y2=W5+(S2<<2)|0,G2=e[y2>>2]|0,c9(M2|0,G2|0,a2|0)|0,O2=M2+a2|0,e[D2>>2]=O2,r3=(S2|0)==(f3|0),!r3;)M2=G2,e6=S2;if(i2=(v|0)==(a2|0),i2)break e;m2=v-a2|0,Z=e[l2>>2]|0,v=m2,q2=Z}}while(!1);K2=b1>>>2,V2=Z2<<30,A5=K2|V2,Y2=Z2>>>2,N1=H5+2|0,l0=A5,x1=Y2,Y5=N1}else{if(t5=H5+-1|0,T5=t3+(t5<<2)|0,i5=e[T5>>2]|0,L5=G5,j2=L0-L5|0,D5=i5>>>0>>0,D5){e[W5>>2]=G5,V5=(H5|0)>1;e:do if(V5){for(b=H5,L=G5,R2=G5,_3=1;;){if(u5=L+d0|0,b2=b+-2|0,B5=t3+(b2<<2)|0,o5=e[B5>>2]|0,l6=o5+A|0,o0=0-l6|0,F2=L+o0|0,Q2=pi[$&15](R2,F2)|0,y5=(Q2|0)>-1,y5&&(p5=pi[$&15](R2,u5)|0,M5=(p5|0)>-1,M5)){w3=_3;break}if(q5=pi[$&15](F2,u5)|0,R5=(q5|0)>-1,z2=_3+1|0,E5=W5+(_3<<2)|0,R5?(e[E5>>2]=F2,$5=b+-1|0,p=F2,y=$5):(e[E5>>2]=u5,p=u5,y=b2),h5=(y|0)>1,!h5){w3=z2;break}t0=e[W5>>2]|0,b=y,L=p,R2=t0,_3=z2}if(Q5=(w3|0)<2,!Q5&&(T1=W5+(w3<<2)|0,e[T1>>2]=n3,!M0))for(_=A,e5=n3;;){for(I5=_>>>0>256,l5=I5?256:_,F5=e[W5>>2]|0,c9(e5|0,F5|0,l5|0)|0,f5=F5,V3=0;d2=W5+(V3<<2)|0,w5=V3+1|0,r5=W5+(w5<<2)|0,a5=e[r5>>2]|0,c9(f5|0,a5|0,l5|0)|0,J2=f5+l5|0,e[d2>>2]=J2,a3=(w5|0)==(w3|0),!a3;)f5=a5,V3=w5;if(d5=(_|0)==(l5|0),d5)break e;X2=_-l5|0,A0=e[T1>>2]|0,_=X2,e5=A0}}while(!1)}else $E(G5,A,$,b1,Z2,H5,0,t3);if(c5=(H5|0)==1,c5){T2=Z2<<1,v5=b1>>>31,z5=v5|T2,i3=b1<<1,l0=i3,x1=z5,Y5=0;break}else{C5=t5>>>0>31,I3=H5+-33|0,g=C5?0:b1,R=C5?b1:Z2,M=C5?I3:t5,d3=R<>>i0,h0=e0|d3,c0=g<>>0>>0,m0)b1=$0,Z2=x1,G5=X,H5=Y5;else{O=x1,q=$0,y3=X,K5=Y5;break}}else O=0,q=1,y3=t,K5=1;if($E(y3,A,$,q,O,K5,0,t3),g0=(K5|0)==1,I0=(q|0)==1,Q3=I0&g0,f0=(O|0)==0,u3=f0&Q3,u3){C=U3;return}else b0=q,v0=O,Z5=y3,b5=K5;for(;;){if(p0=(b5|0)<2,!p0){Y0=v0<<2,o1=b0>>>30,z0=o1|Y0,r1=b5+-2|0,s1=b0<<1,d1=s1&2147483646,u1=o1<<31,E1=d1|u1,f1=E1^3,h1=z0>>>1,A1=t3+(r1<<2)|0,g1=e[A1>>2]|0,z3=g1+A|0,J=0-z3|0,a1=Z5+J|0,$1=b5+-1|0,$E(a1,A,$,f1,h1,$1,1,t3),B1=h1<<1,p1=o1&1,Q1=B1|p1,C1=f1<<1,y1=C1|1,v1=Z5+d0|0,$E(v1,A,$,y1,Q1,r1,1,t3),b0=y1,v0=Q1,Z5=v1,b5=r1;continue}C0=b0+-1|0,y0=(C0|0)==0;do if(y0)q0=32,l3=56;else{if(D0=C0&1,E0=(D0|0)==0,E0){for(D=C0,a6=0;;)if(Q0=a6+1|0,w0=D>>>1,B0=w0&1,Z0=(B0|0)==0,Z0)D=w0,a6=Q0;else{N=Q0;break}R0=(N|0)==0,R0?l3=51:J0=N}else l3=51;if((l3|0)==51){if(l3=0,G0=(v0|0)==0,G0){q0=64,l3=56;break}if(U0=v0&1,O0=(U0|0)==0,O0)k=v0,G3=0;else{I=0,S1=b0,_1=v0,D1=0;break}for(;;)if(H0=G3+1|0,k0=k>>>1,K0=k0&1,N0=(K0|0)==0,N0)k=k0,G3=H0;else{G=H0,Y3=G3;break}if(P0=Y3+33|0,W0=(G|0)==0,W0){I=0,S1=b0,_1=v0,D1=0;break}else J0=P0}V0=J0>>>0>31,V0?(q0=J0,l3=56):(I=J0,S1=b0,_1=v0,D1=J0)}while(!1);if((l3|0)==56&&(l3=0,j0=q0+-32|0,I=j0,S1=v0,_1=0,D1=q0),k1=S1>>>I,L1=32-I|0,M1=_1<>>I,P1=D1+b5|0,V=Z5+d0|0,O1=(P1|0)==1,X1=(R1|0)==1,c3=X1&O1,G1=(F1|0)==0,g3=G1&c3,g3)break;b0=R1,v0=F1,Z5=V,b5=P1}C=U3}function $E(t,s,A,$,g,d,p,I){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0;var E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0;Q2=C,C=C+720|0,F2=Q2+456|0,V2=Q2+228|0,U2=Q2,e[U2>>2]=t,Y=0-s|0,d0=($|0)!=1,v0=(g|0)!=0,J0=v0|d0;e:do if(J0)if(u1=I+(d<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,z1=t+F1|0,W1=pi[A&15](z1,t)|0,k2=(W1|0)<1,k2)B=t,R=d,V=p,Y2=1,R2=18;else for(k=t,O=d,K=p,B0=z1,Y0=g,L5=1,b2=$;;){if(i0=(K|0)==0,f0=(O|0)>1,u5=i0&f0,u5){if(D0=k+Y|0,E0=O+-2|0,Q0=I+(E0<<2)|0,w0=e[Q0>>2]|0,x0=pi[A&15](D0,B0)|0,Z0=(x0|0)>-1,Z0){b=k,M=O,t5=L5;break e}if(B5=w0+s|0,J=0-B5|0,R0=k+J|0,G0=pi[A&15](R0,B0)|0,U0=(G0|0)>-1,U0){b=k,M=O,t5=L5;break e}}O0=L5+1|0,H0=U2+(L5<<2)|0,e[H0>>2]=B0,k0=b2+-1|0,K0=(k0|0)==0;do if(K0)$1=32,R2=15;else{if(N0=k0&1,M0=(N0|0)==0,M0){for(Q=k0,m5=0;;)if(P0=m5+1|0,W0=Q>>>1,V0=W0&1,j0=(V0|0)==0,j0)Q=W0,m5=P0;else{t0=P0;break}q0=(t0|0)==0,q0?R2=10:A1=t0}else R2=10;if((R2|0)==10){if(R2=0,o1=(Y0|0)==0,o1){$1=64,R2=15;break}if(z0=Y0&1,r1=(z0|0)==0,r1)L=Y0,D5=0;else{y=0,B1=b2,y1=Y0,L1=0;break}for(;;)if(L0=D5+1|0,s1=L>>>1,d1=s1&1,E1=(d1|0)==0,E1)L=s1,D5=L0;else{Z=L0,V5=D5;break}if(f1=V5+33|0,h1=(Z|0)==0,h1){y=0,B1=b2,y1=Y0,L1=0;break}else A1=f1}g1=A1>>>0>31,g1?($1=A1,R2=15):(y=A1,B1=b2,y1=Y0,L1=A1)}while(!1);if((R2|0)==15&&(R2=0,a1=$1+-32|0,y=a1,B1=Y0,y1=0,L1=$1),X0=B1>>>y,p1=32-y|0,C1=y1<>>y,S1=L1+O|0,M1=(v1|0)!=1,b1=(k1|0)!=0,_1=b1|M1,!_1){b=B0,M=S1,t5=O0;break e}if(A0=e[U2>>2]|0,R1=I+(S1<<2)|0,P1=e[R1>>2]|0,D1=0-P1|0,O1=B0+D1|0,X1=pi[A&15](O1,A0)|0,G1=(X1|0)<1,G1){B=B0,R=S1,V=0,Y2=O0,R2=18;break}else v=B0,O=S1,K=0,B0=O1,Y0=k1,L5=O0,b2=v1,k=v}else B=t,R=d,V=p,Y2=1,R2=18;while(!1);if((R2|0)==18)if(x1=(V|0)==0,x1)b=B,M=R,t5=Y2;else{C=Q2;return}J1=(t5|0)<2;e:do if(!J1&&(H1=U2+(t5<<2)|0,e[H1>>2]=F2,V1=(s|0)==0,!V1))for(G=s,f2=F2;;){for(C2=G>>>0>256,t2=C2?256:G,$2=e[U2>>2]|0,c9(f2|0,$2|0,t2|0)|0,I2=$2,i5=0;e2=U2+(i5<<2)|0,q1=i5+1|0,h2=U2+(q1<<2)|0,Z1=e[h2>>2]|0,c9(I2|0,Z1|0,t2|0)|0,A2=I2+t2|0,e[e2>>2]=A2,A5=(q1|0)==(t5|0),!A5;)I2=Z1,i5=q1;if(Y1=(G|0)==(t2|0),Y1)break e;o2=G-t2|0,o0=e[H1>>2]|0,G=o2,f2=o0}while(!1);e[V2>>2]=b,g2=(M|0)>1;e:do if(g2){for(_=M,q=b,a2=b,j2=1;;){if(n2=q+Y|0,u2=_+-2|0,s2=I+(u2<<2)|0,l2=e[s2>>2]|0,o5=l2+s|0,s0=0-o5|0,i2=q+s0|0,m2=pi[A&15](a2,i2)|0,r2=(m2|0)>-1,r2&&(D2=pi[A&15](a2,n2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(y2=pi[A&15](i2,n2)|0,G2=(y2|0)>-1,M2=j2+1|0,O2=V2+(j2<<2)|0,G2?(e[O2>>2]=i2,p2=_+-1|0,E=i2,D=p2):(e[O2>>2]=n2,E=n2,D=u2),W2=(D|0)>1,!W2){N1=M2;break}j=e[V2>>2]|0,_=D,q=E,a2=j,j2=M2}if(q2=(N1|0)<2,q2)y0=F2;else if(K2=V2+(N1<<2)|0,e[K2>>2]=F2,e0=(s|0)==0,e0)y0=F2;else for(N=s,b0=F2;;){for(p0=N>>>0>256,c0=p0?256:N,C0=e[V2>>2]|0,c9(b0|0,C0|0,c0|0)|0,I0=C0,T5=0;l0=V2+(T5<<2)|0,X=T5+1|0,m0=V2+(X<<2)|0,g0=e[m0>>2]|0,c9(I0|0,g0|0,c0|0)|0,n0=I0+c0|0,e[l0>>2]=n0,Z2=(X|0)==(N1|0),!Z2;)I0=g0,T5=X;if(h0=(N|0)==(c0|0),h0){y0=F2;break e}$0=N-c0|0,r0=e[K2>>2]|0,N=$0,b0=r0}}else y0=F2;while(!1);C=Q2}function z7(t){t=+t;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0;return M=C,c1[w2>>3]=t,A=e[w2>>2]|0,$=e[w2+4>>2]|0,y=$&2146435072,B=y>>>0>1126170624,b=!1,D=(y|0)==1126170624,k=D&b,v=B|k,v?(s=t,+s):(_=($|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,d=t+4503599627370496,p=d+-4503599627370496,L=_?g:p,I=L==0,I?(E=_?-0:0,s=E,+s):(s=L,+s))}function Hy(t){t=+t;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return v=C,A=(o[w2>>2]=t,e[w2>>2]|0),$=A&2130706432,g=$>>>0>1249902592,g?(s=t,+s):(d=(A|0)<0,p=t+-8388608,I=p+8388608,E=t+8388608,y=E+-8388608,D=d?I:y,B=D==0,B?(b=d?-0:0,s=b,+s):(s=D,+s))}function mD(t,s){t=+t,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0;return t0=C,d=(s|0)>1023,d?(p=t*898846567431158e293,Q=s+-1023|0,L=(Q|0)>1023,L?(R=p*898846567431158e293,M=s+-2046|0,N=(M|0)>1023,A=N?1023:M,$=A,V=R):($=Q,V=p)):(G=(s|0)<-1022,G?(O=t*22250738585072014e-324,q=s+1022|0,I=(q|0)<-1022,I?(E=O*22250738585072014e-324,y=s+2044|0,B=(y|0)<-1022,g=B?-1022:y,$=g,V=E):($=q,V=O)):($=s,V=t)),b=$+1023|0,D=zy(b|0,0,52)|0,k=Z6,e[w2>>2]=D,e[w2+4>>2]=k,v=+c1[w2>>3],_=V*v,+_}function pD(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0;I=C,s=t+-1|0,A=553040,$=A,e[$>>2]=s,g=A+4|0,d=g,e[d>>2]=0}function ED(){var t=0,s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,t=553040,s=t,E=e[s>>2]|0,y=t+4|0,B=y,b=e[B>>2]|0,D=QD(E|0,b|0,1284865837,1481765933)|0,k=Z6,v=ro(D|0,k|0,1,0)|0,_=Z6,A=553040,$=A,e[$>>2]=v,g=A+4|0,d=g,e[d>>2]=_,p=no(v|0,_|0,33)|0,I=Z6,p|0}function Re(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Kt=0,r8=0,n8=0,Et=0,K4=0,G4=0,at=0,Lt=0,Le=0,p8=0,b4=0,E8=0,L8=0,s8=0,M8=0,A4=0,o8=0,Jt=0,Mt=0,At=0,J9=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,o9=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,J4=0,W4=0,a9=0,P4=0,E4=0,gt=0,_4=0,b9=0,Qt=0,a8=0,W9=0,C3=0,Z4=0,wt=0,$4=0,je=0,l4=0,Te=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Z9=0,c8=0,Tt=0,X4=0,De=0,g8=0,et=0,V8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,Y8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,A9=0,N8=0,$i=0,qi=0,Hi=0,Vi=0,Ei=0,X8=0,Ci=0,ei=0,Bi=0,ti=0,yi=0,li=0,g7=0,Yi=0,Qi=0,wi=0,u7=0,vi=0,ci=0,h7=0,zi=0,Ki=0,Ji=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,z8=0,ri=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ni=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$e=0,B8=0,vt=0,y8=0,U8=0,sn=0,Sr=0,ao=0,zn=0,Ao=0,Kn=0,$o=0,lo=0,Jn=0,co=0,on=0,go=0,uo=0,ho=0,Wn=0,fo=0,Zn=0,jn=0,Io=0,an=0,Xn=0,An=0,es=0,ts=0,mo=0,po=0,Eo=0,$n=0,is=0,Co=0,br=0,ln=0,Bo=0,yo=0,cn=0,I7=0,rs=0,Qo=0,wo=0,ns=0,ss=0,os=0,vo=0,m7=0,gn=0,ko=0,as=0,So=0,bo=0,Do=0,As=0,_o=0,xo=0,Lo=0,Mo=0,$s=0,Ro=0,Fo=0,un=0,Dr=0,hn=0,To=0,sr=0,No=0,ls=0,dn=0,cs=0,fn=0,Go=0,gs=0,us=0,Uo=0,hs=0,ds=0,Po=0,_r=0,fs=0,p7=0,In=0,xr=0,or=0,Lr=0,J7=0,Mr=0,Is=0,W7=0,D7=0,_7=0,i7=0,x7=0,Rr=0,ar=0,Ar=0,Fr=0,E7=0,Oo=0,fi=0,$l=0,mn=0,pn=0,Ou=0,ll=0,qo=0,qu=0,lA=0,cl=0,Hu=0,Vu=0,Yu=0,cA=0,gl=0,ul=0,gA=0,En=0,hl=0,zu=0,Ho=0,$r=0,Ku=0,Ju=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,dl=0,Tr=0,nh=0,sh=0,fl=0,oh=0,uA=0,Vo=0,hA=0,ah=0,Ah=0,dA=0,Il=0,ml=0,pl=0,fA=0,El=0,Yo=0,$h=0,lh=0,Cl=0,ch=0,gh=0,Bl=0,uh=0,hh=0,yl=0,Ql=0,wl=0,vl=0,kl=0,Cn=0,dh=0,Sl=0,fh=0,bl=0,Dl=0,Ih=0,mh=0,ph=0,IA=0,_l=0,xl=0,ms=0,Ll=0,mA=0,Eh=0,Ml=0,Ch=0,Rl=0,Bh=0,yh=0,Fl=0,Tl=0,Qh=0,zo=0,wh=0,pA=0,Nl=0,Gl=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Ko=0,Ul=0,Pl=0,Ol=0,Jo=0,xh=0,ql=0,Lh=0,Hl=0,Mh=0,Rh=0,Vl=0,EA=0,Fh=0,Th=0,Wo=0,Nh=0,Zo=0,Gh=0,CA=0,Uh=0,Ph=0,Oh=0,Yl=0,qh=0,Hh=0,Vh=0,Yh=0,zl=0,Kl=0,lr=0,Jl=0,jo=0,BA=0,yA=0,Bn=0,Wl=0,yn=0,zh=0,Zl=0,Kh=0,Jh=0,Wh=0,Zh=0,Xo=0,QA=0,Nr=0,jh=0,Xh=0,jl=0,wA=0,Xl=0,ec=0,ed=0,tc=0,td=0,vA=0,id=0,rd=0,Je=0,nd=0,ic=0,sd=0,od=0,kA=0,ad=0,SA=0,rc=0,Ad=0,$d=0,nc=0,sc=0,ld=0,bA=0,DA=0,oc=0,ac=0,cd=0,Ac=0,_A=0,gd=0,$c=0,ud=0,hd=0,dd=0,fd=0,lc=0,cc=0,xA=0,ea=0,gc=0,Id=0,uc=0,hc=0,md=0,pd=0,Ed=0,dc=0,Cd=0,Bd=0,yd=0,Qd=0,wd=0,vd=0,fc=0,kd=0,Ic=0,Sd=0,Qn=0,bd=0,mc=0,Dd=0,ps=0,pc=0,LA=0,_d=0,ta=0,MA=0,xd=0,RA=0,Ec=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,Cc=0,Nd=0,Gd=0,Ud=0,ia=0,Es=0,FA=0,Pd=0,TA=0,Od=0,qd=0,Hd=0,Bc=0,Vd=0,Yd=0,zd=0,Kd=0,Jd=0,ra=0,Wd=0,Zd=0,yc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,Qc=0,B7=0,wc=0,NA=0,rf=0,r7=0,Cs=0,nf=0,sf=0,of=0,af=0,Af=0,vc=0,$f=0,lf=0,kc=0,cf=0,gf=0,Bs=0,GA=0,uf=0,Sc=0,hf=0,df=0,na=0,ff=0,If=0,bc=0,Dc=0,mf=0,pf=0,wn=0,Ef=0,Cf=0,vn=0,Bf=0,_c=0,yf=0,Qf=0,ys=0,xc=0,wf=0,Lc=0,vf=0,cr=0,UA=0,kf=0,Mc=0,Rc=0,Sf=0,bf=0,Fc=0,Df=0,_f=0,xf=0,Tc=0,Lf=0,Qs=0,Mf=0,kn=0,Rf=0,Ff=0,PA=0,Tf=0,OA=0,qA=0,Nf=0,Nc=0,Gc=0,Gf=0,Uc=0,Pc=0,Oc=0,Uf=0,qc=0,Hc=0,Pf=0,Of=0,Vc=0,Yc=0,qf=0,zc=0,Kc=0,Hf=0,Vf=0,Jc=0,HA=0,Wc=0,Zc=0,jc=0,Xc=0,Yf=0,zf=0,Kf=0,Jf=0,Wf=0,Zf=0,jf=0,Xf=0,eg=0,VA=0,eI=0,tI=0,iI=0,tg=0,ig=0,rI=0,rg=0,YA=0,sa=0,ng=0,nI=0,sI=0,oI=0,aI=0,sg=0,oa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,hI=0,dI=0,og=0,fI=0,II=0,mI=0,pI=0,aa=0,ag=0,EI=0,CI=0,Sn=0,Ag=0,$g=0,zA=0,BI=0,lg=0,yI=0,cg=0,gg=0,QI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,KA=0,bI=0,DI=0,_I=0,xI=0,ug=0,LI=0,hg=0,MI=0,RI=0,dg=0,Gr=0,fg=0,Ig=0,FI=0,mg=0,$a=0,TI=0,NI=0,GI=0,la=0,pg=0,UI=0,PI=0,Eg=0,OI=0,qI=0,JA=0,ca=0,HI=0,VI=0,YI=0,Cg=0,Bg=0,yg=0,zI=0,KI=0,ws=0,JI=0,Qg=0,WI=0,WA=0,wg=0,ZI=0,jI=0,XI=0,em=0,vg=0,tm=0,im=0,kg=0,ga=0,rm=0,nm=0,sm=0,vs=0,Sg=0,bg=0,om=0,Dg=0,_g=0,L7=0,xg=0,gr=0,am=0,Am=0,$m=0,lm=0,ZA=0,ua=0,Lg=0,Mg=0,cm=0,ha=0,ks=0,gm=0,da=0,jA=0,um=0,XA=0,hm=0,dm=0,Rg=0,fa=0,Fg=0,fm=0,Im=0,mm=0,pm=0,Tg=0,Em=0,si=0,D9=0,n7=0,Cm=0,Ng=0,Gg=0,e$=0,Bm=0,Ur=0,Ss=0,ym=0,Qm=0,Ug=0,t$=0,wm=0,Pg=0,Og=0,qg=0,i$=0,r$=0,Hg=0,bs=0,n$=0,Vg=0,vm=0,bn=0,km=0,Yg=0,Ia=0,Sm=0,zg=0,M7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,R7=0,Rm=0,Fm=0,Tm=0,Kg=0,y7=0,ma=0,s$=0,Jg=0,Wg=0,Nm=0,Zg=0,jg=0,Gm=0,Um=0,Xg=0,eu=0,Pm=0,Om=0,tu=0,qm=0,Ds=0,pa=0,Ea=0,Hm=0,o$=0,Vm=0,Ym=0,iu=0,_s=0,zm=0,Km=0,a$=0,A$=0,Ca=0,$$=0,l$=0,ur=0,Pr=0,Or=0,c$=0,g$=0,xs=0,hr=0,Dn=0,Jm=0,dr=0,_n=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ru=0,nu=0,Qa=0,u$=0,Ni=0,wa=0,qr=0,h$=0,Zm=0,d$=0,jm=0,f$=0,su=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,xn=0,tt=0,L9=0,ou=0,ip=0,I$=0,au=0,rp=0,np=0,ba=0,sp=0,op=0,ap=0,Ap=0,Au=0,$p=0,lp=0,cp=0,s7=0,Da=0,Ln=0,m$=0,Ls=0,Ms=0,oi=0,Rs=0,$u=0,lu=0,_a=0,Fs=0,Ts=0,Ns=0,gp=0,Gs=0,fr=0,cu=0,Hr=0,o7=0,p$=0,E$=0,Z7=0,C$=0,B$=0,y$=0,Vr=0,h6=0,xa=0,Yr=0,gu=0,L4=0,Q$=0,kt=0,Us=0,Mn=0,Rn=0,qe=0,Fn=0,zr=0,j9=0,w$=0;w$=C,W1=t>>>0<245;do if(W1){if(f2=t>>>0<11,p9=t+11|0,J9=p9&-8,x4=f2?16:J9,qo=x4>>>3,CA=e[138262]|0,ia=CA>>>qo,Zc=ia&3,kg=(Zc|0)==0,!kg){g2=ia&1,f3=g2^1,g3=f3+qo|0,l3=g3<<1,h3=553088+(l3<<2)|0,b0=l3+2|0,N6=553088+(b0<<2)|0,R6=e[N6>>2]|0,G6=R6+8|0,F6=e[G6>>2]|0,Qe=(h3|0)==(F6|0);do if(Qe)ze=1<>>0>>0,d4&&v2(),S9=F6+12|0,be=e[S9>>2]|0,Pt=(be|0)==(R6|0),Pt){e[S9>>2]=h3,e[N6>>2]=F6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=R6+4|0,e[U4>>2]=p8,w0=pt|4,D4=R6+w0|0,W9=e[D4>>2]|0,A8=W9|1,e[D4>>2]=A8,tt=G6,tt|0}if(X4=e[138264]|0,j8=x4>>>0>X4>>>0,j8){if(Hi=(ia|0)==0,!Hi){Yi=ia<>>12,un=So&16,gs=rs>>>un,or=gs>>>5,ar=or&8,qu=ar|un,hl=gs>>>ar,th=hl>>>2,hA=th&4,lh=qu|hA,kl=hl>>>hA,_l=kl>>>1,Fl=_l&2,bh=lh|Fl,Hl=kl>>>Fl,Uh=Hl>>>1,Jl=Uh&1,Wh=bh|Jl,ed=Hl>>>Jl,kA=Wh+ed|0,oc=kA<<1,lc=553088+(oc<<2)|0,O1=oc+2|0,dc=553088+(O1<<2)|0,Qn=e[dc>>2]|0,RA=Qn+8|0,Es=e[RA>>2]|0,Kd=(lc|0)==(Es|0);do if(Kd)Qc=1<>>0>>0,cr&&v2(),Tc=Es+12|0,Nf=e[Tc>>2]|0,Of=(Nf|0)==(Qn|0),Of){e[Tc>>2]=lc,e[dc>>2]=Es,v=e[138264]|0,ca=v;break}else v2();while(!1);return jc=kA<<3,VA=jc-x4|0,nI=x4|3,uI=Qn+4|0,e[uI>>2]=nI,CI=Qn+x4|0,wI=VA|1,t2=x4|4,LI=Qn+t2|0,e[LI>>2]=wI,TI=Qn+jc|0,e[TI>>2]=VA,Qg=(ca|0)==0,Qg||(ga=e[138267]|0,xg=ca>>>3,ha=xg<<1,Fg=553088+(ha<<2)|0,Ng=e[138262]|0,Pg=1<>2]|0,y2=e[138266]|0,A5=n2>>>0>>0,A5?v2():(V=Ds,Ca=n2)),e[V>>2]=ga,u5=Ca+12|0,e[u5>>2]=ga,q5=ga+8|0,e[q5>>2]=Ca,X2=ga+12|0,e[X2>>2]=Fg),e[138264]=VA,e[138267]=CI,tt=RA,tt|0}if(c5=e[138263]|0,y3=(c5|0)==0,y3)L9=x4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,e6=w3>>>12,V3=e6&16,X5=w3>>>V3,_3=X5>>>5,t3=_3&8,a6=t3|V3,G3=X5>>>t3,Y3=G3>>>2,c3=Y3&4,u3=a6|c3,Q3=G3>>>c3,K5=Q3>>>1,H5=K5&2,Y5=u3|H5,b5=Q3>>>H5,z3=b5>>>1,U5=z3&1,l6=Y5|U5,n3=b5>>>U5,U3=l6+n3|0,C6=553352+(U3<<2)|0,b3=e[C6>>2]|0,L3=b3+4|0,D3=e[L3>>2]|0,A6=D3&-8,r6=A6-x4|0,Da=r6,E$=b3,Q$=b3;;){if(K3=E$+16|0,j5=e[K3>>2]|0,M3=(j5|0)==0,M3)if(J3=E$+20|0,d6=e[J3>>2]|0,m3=(d6|0)==0,m3){Ln=Da,kt=Q$;break}else L6=d6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,n6=S6-x4|0,f6=n6>>>0>>0,J=f6?n6:Da,$2=f6?L6:Q$,Da=J,E$=L6,Q$=$2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),k6=kt+x4|0,R3=kt>>>0>>0,R3||v2(),s6=kt+24|0,o6=e[s6>>2]|0,B6=kt+12|0,W3=e[B6>>2]|0,F3=(W3|0)==(kt|0);do if(F3){if(H6=kt+20|0,$6=e[H6>>2]|0,D6=($6|0)==0,D6)if(ee=kt+16|0,Q6=e[ee>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else hr=Q6,Ba=ee;else hr=$6,Ba=H6;for(;;){if(P3=hr+20|0,re=e[P3>>2]|0,V6=(re|0)==0,!V6){hr=re,Ba=P3;continue}if(se=hr+16|0,ge=e[se>>2]|0,U6=(ge|0)==0,U6){dr=hr,nu=Ba;break}else hr=ge,Ba=se}if(Y6=nu>>>0>>0,Y6)v2();else{e[nu>>2]=0,Ri=dr;break}}else if(Z3=kt+8|0,t6=e[Z3>>2]|0,c6=t6>>>0>>0,c6&&v2(),s3=t6+12|0,K6=e[s3>>2]|0,A3=(K6|0)==(kt|0),A3||v2(),g6=W3+8|0,y6=e[g6>>2]|0,T3=(y6|0)==(kt|0),T3){e[s3>>2]=W3,e[g6>>2]=t6,Ri=W3;break}else v2();while(!1);te=(o6|0)==0;do if(!te){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,oe=(kt|0)==(O6|0),oe){if(e[O3>>2]=Ri,Xm=(Ri|0)==0,Xm){he=1<>>0>>0,fe&&v2(),Ve=o6+16|0,w6=e[Ve>>2]|0,q6=(w6|0)==(kt|0),q6?e[Ve>>2]=Ri:(ae=o6+20|0,e[ae>>2]=Ri),Ye=(Ri|0)==0,Ye)break;we=e[138266]|0,Q9=Ri>>>0>>0,Q9&&v2(),g9=Ri+24|0,e[g9>>2]=o6,r9=kt+16|0,Fe=e[r9>>2]|0,ve=(Fe|0)==0;do if(!ve)if(J6=Fe>>>0>>0,J6)v2();else{Ae=Ri+16|0,e[Ae>>2]=Fe,w9=Fe+24|0,e[w9>>2]=Ri;break}while(!1);if(M9=kt+20|0,u9=e[M9>>2]|0,_e=(u9|0)==0,!_e)if(R9=e[138266]|0,G9=u9>>>0>>0,G9)v2();else{q9=Ri+20|0,e[q9>>2]=u9,n4=u9+24|0,e[n4>>2]=Ri;break}}while(!1);return v9=Ln>>>0<16,v9?(H9=Ln+x4|0,Ke=H9|3,V9=kt+4|0,e[V9>>2]=Ke,X1=H9+4|0,h9=kt+X1|0,U9=e[h9>>2]|0,E9=U9|1,e[h9>>2]=E9):(Ze=x4|3,ke=kt+4|0,e[ke>>2]=Ze,k4=Ln|1,m0=x4|4,V4=kt+m0|0,e[V4>>2]=k4,I0=Ln+x4|0,nt=kt+I0|0,e[nt>>2]=Ln,Y9=e[138264]|0,Y4=(Y9|0)==0,Y4||(z9=e[138267]|0,s4=Y9>>>3,R4=s4<<1,n9=553088+(R4<<2)|0,u4=e[138262]|0,C9=1<>2]|0,h4=e[138266]|0,s9=T9>>>0

>>0,s9?v2():(O=d9,A$=T9)),e[O>>2]=z9,f4=A$+12|0,e[f4>>2]=z9,k9=z9+8|0,e[k9>>2]=A$,o4=z9+12|0,e[o4>>2]=n9),e[138264]=Ln,e[138267]=k6),P9=kt+8|0,tt=P9,tt|0}}else L9=x4}else if(I4=t>>>0>4294967231,I4)L9=-1;else if(Se=t+11|0,I6=Se&-8,z4=e[138263]|0,f9=(z4|0)==0,f9)L9=I6;else{S4=0-I6|0,I9=Se>>>8,z6=(I9|0)==0,z6?xn=0:(F4=I6>>>0>16777215,F4?xn=31:(T4=I9+1048320|0,ot=T4>>>16,m9=ot&8,x9=I9<>>16,xe=j3&4,O9=xe|m9,a4=x9<>>16,f8=N4&2,_8=O9|f8,e8=14-_8|0,I8=a4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,x8=i8|Ot,xn=x8)),Ht=553352+(xn<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ms=S4,C$=0,Rn=0,j9=86;else for(_t=(xn|0)==31,xt=xn>>>1,zt=25-xt|0,Kt=_t?0:zt,r8=I6<>2]|0,K4=Et&-8,G4=K4-I6|0,at=G4>>>0>>0,at)if(Lt=(K4|0)==(I6|0),Lt){Rs=G4,Vr=Z7,zr=Z7,j9=90;break e}else Ls=G4,Mn=Z7;else Ls=m$,Mn=Us;if(Le=Z7+20|0,b4=e[Le>>2]|0,E8=_a>>>31,L8=(Z7+16|0)+(E8<<2)|0,s8=e[L8>>2]|0,M8=(b4|0)==0,A4=(b4|0)==(s8|0),sp=M8|A4,lu=sp?$u:b4,o8=(s8|0)==0,Jt=_a<<1,o8){Ms=Ls,C$=lu,Rn=Mn,j9=86;break}else m$=Ls,$u=lu,_a=Jt,Z7=s8,Us=Mn}while(!1);if((j9|0)==86){if(Mt=(C$|0)==0,At=(Rn|0)==0,rp=Mt&At,rp){if($t=2<>>12,p4=yt&16,J4=ct>>>p4,W4=J4>>>5,a9=W4&8,P4=a9|p4,E4=J4>>>a9,gt=E4>>>2,_4=gt&4,b9=P4|_4,Qt=E4>>>_4,a8=Qt>>>1,C3=a8&2,Z4=b9|C3,wt=Qt>>>C3,$4=wt>>>1,je=$4&1,l4=Z4|je,Te=wt>>>je,j4=l4+Te|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,B$=C8,Fn=0}else B$=C$,Fn=Rn;$8=(B$|0)==0,$8?(oi=Ms,qe=Fn):(Rs=Ms,Vr=B$,zr=Fn,j9=90)}if((j9|0)==90)for(;;){if(j9=0,Zt=Vr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,ht=ut>>>0>>0,s0=ht?ut:Rs,y$=ht?Vr:zr,Ft=Vr+16|0,Z9=e[Ft>>2]|0,c8=(Z9|0)==0,!c8){Rs=s0,Vr=Z9,zr=y$,j9=90;continue}if(Tt=Vr+20|0,De=e[Tt>>2]|0,g8=(De|0)==0,g8){oi=s0,qe=y$;break}else Rs=s0,Vr=De,zr=y$,j9=90}if(et=(qe|0)==0,et)L9=I6;else if(V8=e[138264]|0,Z8=V8-I6|0,R8=oi>>>0>>0,R8){u8=e[138266]|0,F8=qe>>>0>>0,F8&&v2(),c4=qe+I6|0,Y8=qe>>>0>>0,Y8||v2(),dt=qe+24|0,Nt=e[dt>>2]|0,T8=qe+12|0,Xt=e[T8>>2]|0,O4=(Xt|0)==(qe|0);do if(O4){if(ei=qe+20|0,Bi=e[ei>>2]|0,ti=(Bi|0)==0,ti)if(yi=qe+16|0,li=e[yi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else _n=li,Qa=yi;else _n=Bi,Qa=ei;for(;;){if(Qi=_n+20|0,wi=e[Qi>>2]|0,u7=(wi|0)==0,!u7){_n=wi,Qa=Qi;continue}if(vi=_n+16|0,ci=e[vi>>2]|0,h7=(ci|0)==0,h7){Wm=_n,u$=Qa;break}else _n=ci,Qa=vi}if(zi=u$>>>0>>0,zi)v2();else{e[u$>>2]=0,Ti=Wm;break}}else if(C4=qe+8|0,A9=e[C4>>2]|0,N8=A9>>>0>>0,N8&&v2(),$i=A9+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(qe|0),Vi||v2(),Ei=Xt+8|0,X8=e[Ei>>2]|0,Ci=(X8|0)==(qe|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=A9,Ti=Xt;break}else v2();while(!1);Ki=(Nt|0)==0;do if(!Ki){if(Ji=qe+28|0,Wi=e[Ji>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ii=(qe|0)==(Zi|0),ii){if(e[ki>>2]=Ti,ka=(Ti|0)==0,ka){ui=1<>>0>>0,f7&&v2(),Si=Nt+16|0,bi=e[Si>>2]|0,Di=(bi|0)==(qe|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ni=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,hi=qe+16|0,K8=e[hi>>2]|0,Li=(K8|0)==0;do if(!Li)if(G8=K8>>>0>>0,G8)v2();else{di=Ti+16|0,e[di>>2]=K8,$e=K8+24|0,e[$e>>2]=Ti;break}while(!1);if(B8=qe+20|0,vt=e[B8>>2]|0,y8=(vt|0)==0,!y8)if(U8=e[138266]|0,sn=vt>>>0>>0,sn)v2();else{Sr=Ti+20|0,e[Sr>>2]=vt,ao=vt+24|0,e[ao>>2]=Ti;break}}while(!1);Ao=oi>>>0<16;e:do if(Ao)Kn=oi+I6|0,$o=Kn|3,lo=qe+4|0,e[lo>>2]=$o,d1=Kn+4|0,Jn=qe+d1|0,co=e[Jn>>2]|0,on=co|1,e[Jn>>2]=on;else{if(go=I6|3,uo=qe+4|0,e[uo>>2]=go,ho=oi|1,l0=I6|4,fo=qe+l0|0,e[fo>>2]=ho,C0=oi+I6|0,Zn=qe+C0|0,e[Zn>>2]=oi,jn=oi>>>3,Io=oi>>>0<256,Io){an=jn<<1,Xn=553088+(an<<2)|0,An=e[138262]|0,es=1<>2]|0,Co=e[138266]|0,br=is>>>0>>0,br?v2():(G=$n,l$=is)),e[G>>2]=c4,ln=l$+12|0,e[ln>>2]=c4,Y0=I6+8|0,Bo=qe+Y0|0,e[Bo>>2]=l$,z0=I6+12|0,yo=qe+z0|0,e[yo>>2]=Xn;break}if(cn=oi>>>8,I7=(cn|0)==0,I7?Pr=0:(Qo=oi>>>0>16777215,Qo?Pr=31:(wo=cn+1048320|0,ns=wo>>>16,ss=ns&8,os=cn<>>16,gn=m7&4,ko=gn|ss,as=os<>>16,As=Do&2,_o=ko|As,xo=14-_o|0,Lo=as<>>15,$s=xo+Mo|0,Ro=$s<<1,Fo=$s+7|0,Dr=oi>>>Fo,hn=Dr&1,To=hn|Ro,Pr=To)),sr=553352+(Pr<<2)|0,f1=I6+28|0,No=qe+f1|0,e[No>>2]=Pr,M1=I6+16|0,ls=qe+M1|0,x1=I6+20|0,dn=qe+x1|0,e[dn>>2]=0,e[ls>>2]=0,cs=e[138263]|0,fn=1<>2]=c4,Y1=I6+24|0,hs=qe+Y1|0,e[hs>>2]=sr,o2=I6+12|0,ds=qe+o2|0,e[ds>>2]=c4,q1=I6+8|0,Po=qe+q1|0,e[Po>>2]=c4;break}_r=e[sr>>2]|0,fs=_r+4|0,p7=e[fs>>2]|0,In=p7&-8,xr=(In|0)==(oi|0);t:do if(xr)Ni=_r;else{for(Lr=(Pr|0)==31,J7=Pr>>>1,Mr=25-J7|0,Is=Lr?0:Mr,W7=oi<>>31,E7=(h$+16|0)+(Fr<<2)|0,i7=e[E7>>2]|0,Oo=(i7|0)==0,Oo){k=E7,Zm=h$;break}if(D7=c$<<1,_7=i7+4|0,x7=e[_7>>2]|0,Rr=x7&-8,Ar=(Rr|0)==(oi|0),Ar){Ni=i7;break t}else c$=D7,h$=i7}if(fi=e[138266]|0,$l=k>>>0>>0,$l)v2();else{e[k>>2]=c4,E0=I6+24|0,mn=qe+E0|0,e[mn>>2]=Zm,H0=I6+12|0,pn=qe+H0|0,e[pn>>2]=c4,V0=I6+8|0,Ou=qe+V0|0,e[Ou>>2]=c4;break e}}while(!1);if(ll=Ni+8|0,lA=e[ll>>2]|0,cl=e[138266]|0,Hu=lA>>>0>=cl>>>0,ou=Ni>>>0>=cl>>>0,Vu=Hu&ou,Vu){Yu=lA+12|0,e[Yu>>2]=c4,e[ll>>2]=c4,h2=I6+8|0,cA=qe+h2|0,e[cA>>2]=lA,I2=I6+12|0,gl=qe+I2|0,e[gl>>2]=Ni,y0=I6+24|0,ul=qe+y0|0,e[ul>>2]=0;break}else v2()}while(!1);return gA=qe+8|0,tt=gA,tt|0}else L9=I6}while(!1);if(En=e[138264]|0,zu=En>>>0>>0,!zu)return Ho=En-L9|0,$r=e[138267]|0,Ku=Ho>>>0>15,Ku?(Ju=$r+L9|0,e[138267]=Ju,e[138264]=Ho,Wu=Ho|1,E1=L9+4|0,Zu=$r+E1|0,e[Zu>>2]=Wu,ju=$r+En|0,e[ju>>2]=Ho,Xu=L9|3,eh=$r+4|0,e[eh>>2]=Xu):(e[138264]=0,e[138267]=0,ih=En|3,rh=$r+4|0,e[rh>>2]=ih,g0=En+4|0,dl=$r+g0|0,Tr=e[dl>>2]|0,nh=Tr|1,e[dl>>2]=nh),sh=$r+8|0,tt=sh,tt|0;if(fl=e[138265]|0,oh=fl>>>0>L9>>>0,oh)return uA=fl-L9|0,e[138265]=uA,Vo=e[138268]|0,ah=Vo+L9|0,e[138268]=ah,Ah=uA|1,Y=L9+4|0,dA=Vo+Y|0,e[dA>>2]=Ah,Il=L9|3,ml=Vo+4|0,e[ml>>2]=Il,pl=Vo+8|0,tt=pl,tt|0;fA=e[138380]|0,El=(fA|0)==0;do if(El)if(Yo=LS(30)|0,$h=Yo+-1|0,Cl=$h&Yo,ch=(Cl|0)==0,ch){e[138382]=Yo,e[138381]=Yo,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,gh=dy(0)|0,Bl=gh&-16,uh=Bl^1431655768,e[138380]=uh;break}else v2();while(!1);if(hh=L9+48|0,yl=e[138382]|0,Ql=L9+47|0,wl=yl+Ql|0,vl=0-yl|0,Cn=wl&vl,dh=Cn>>>0>L9>>>0,!dh||(Sl=e[138372]|0,fh=(Sl|0)==0,!fh&&(bl=e[138370]|0,Dl=bl+Cn|0,Ih=Dl>>>0<=bl>>>0,mh=Dl>>>0>Sl>>>0,ba=Ih|mh,ba)))return tt=0,tt|0;ph=e[138373]|0,IA=ph&4,xl=(IA|0)==0;e:do if(xl){ms=e[138268]|0,Ll=(ms|0)==0;t:do if(Ll)j9=174;else{for(Fs=553496;;){if(mA=e[Fs>>2]|0,Eh=mA>>>0>ms>>>0,!Eh&&(Ml=Fs+4|0,Ch=e[Ml>>2]|0,Rl=mA+Ch|0,Bh=Rl>>>0>ms>>>0,Bh)){b=Fs,D=Ml;break}if(yh=Fs+8|0,Tl=e[yh>>2]|0,Qh=(Tl|0)==0,Qh){j9=174;break t}else Fs=Tl}if(Fh=e[138265]|0,Th=wl-Fh|0,Wo=Th&vl,Nh=Wo>>>0<2147483647,Nh)if(Zo=Oi(Wo|0)|0,Gh=e[b>>2]|0,Ph=e[D>>2]|0,Oh=Gh+Ph|0,Yl=(Zo|0)==(Oh|0),s=Yl?Wo:0,Yl)if(qh=(Zo|0)==-1,qh)Yr=s;else{h6=Zo,L4=s,j9=194;break e}else va=Zo,o7=Wo,xa=s,j9=184;else Yr=0}while(!1);do if((j9|0)==174)if(zo=Oi(0)|0,wh=(zo|0)==-1,wh)Yr=0;else if(pA=zo,Nl=e[138381]|0,Gl=Nl+-1|0,vh=Gl&pA,kh=(vh|0)==0,kh?Hr=Cn:(Sh=Gl+pA|0,Dh=0-Nl|0,_h=Sh&Dh,Ko=Cn-pA|0,Ul=Ko+_h|0,Hr=Ul),Pl=e[138370]|0,Ol=Pl+Hr|0,Jo=Hr>>>0>L9>>>0,xh=Hr>>>0<2147483647,np=Jo&xh,np){if(ql=e[138372]|0,Lh=(ql|0)==0,!Lh&&(Mh=Ol>>>0<=Pl>>>0,Rh=Ol>>>0>ql>>>0,op=Mh|Rh,op)){Yr=0;break}if(Vl=Oi(Hr|0)|0,EA=(Vl|0)==(zo|0),cu=EA?Hr:0,EA){h6=zo,L4=cu,j9=194;break e}else va=Vl,o7=Hr,xa=cu,j9=184}else Yr=0;while(!1);t:do if((j9|0)==184){Hh=0-o7|0,Vh=(va|0)!=-1,Yh=o7>>>0<2147483647,Ap=Yh&Vh,zl=hh>>>0>o7>>>0,$p=zl&Ap;do if($p)if(Kl=e[138382]|0,lr=Ql-o7|0,jo=lr+Kl|0,BA=0-Kl|0,yA=jo&BA,Bn=yA>>>0<2147483647,Bn)if(Wl=Oi(yA|0)|0,yn=(Wl|0)==-1,yn){Oi(Hh|0)|0,Yr=xa;break t}else{zh=yA+o7|0,p$=zh;break}else p$=o7;else p$=o7;while(!1);if(Zl=(va|0)==-1,Zl)Yr=xa;else{h6=va,L4=p$,j9=194;break e}}while(!1);Kh=e[138373]|0,Jh=Kh|4,e[138373]=Jh,gu=Yr,j9=191}else gu=0,j9=191;while(!1);if((j9|0)==191&&(Zh=Cn>>>0<2147483647,Zh&&(Xo=Oi(Cn|0)|0,QA=Oi(0)|0,Nr=(Xo|0)!=-1,jh=(QA|0)!=-1,ap=Nr&jh,Xh=Xo>>>0>>0,lp=Xh&ap,lp&&(jl=QA,wA=Xo,Xl=jl-wA|0,ec=L9+40|0,tc=Xl>>>0>ec>>>0,C2=tc?Xl:gu,tc&&(h6=Xo,L4=C2,j9=194)))),(j9|0)==194){td=e[138370]|0,vA=td+L4|0,e[138370]=vA,id=e[138371]|0,rd=vA>>>0>id>>>0,rd&&(e[138371]=vA),Je=e[138268]|0,nd=(Je|0)==0;e:do if(nd){for(ic=e[138266]|0,sd=(ic|0)==0,od=h6>>>0>>0,cp=sd|od,cp&&(e[138266]=h6),e[138374]=h6,e[138375]=L4,e[138377]=0,ad=e[138380]|0,e[138271]=ad,e[138270]=-1,Sa=0;SA=Sa<<1,rc=553088+(SA<<2)|0,d0=SA+3|0,Ad=553088+(d0<<2)|0,e[Ad>>2]=rc,n0=SA+2|0,$d=553088+(n0<<2)|0,e[$d>>2]=rc,nc=Sa+1|0,tp=(nc|0)==32,!tp;)Sa=nc;sc=L4+-40|0,ld=h6+8|0,bA=ld,DA=bA&7,ac=(DA|0)==0,cd=0-bA|0,Ac=cd&7,_A=ac?0:Ac,gd=h6+_A|0,$c=sc-_A|0,e[138268]=gd,e[138265]=$c,ud=$c|1,e0=_A+4|0,hd=h6+e0|0,e[hd>>2]=ud,h1=L4+-36|0,dd=h6+h1|0,e[dd>>2]=40,fd=e[138384]|0,e[138269]=fd}else{for(Ns=553496;;){if(cc=e[Ns>>2]|0,xA=Ns+4|0,ea=e[xA>>2]|0,gc=cc+ea|0,Id=(h6|0)==(gc|0),Id){E=cc,y=xA,B=ea,gp=Ns,j9=204;break}if(uc=Ns+8|0,hc=e[uc>>2]|0,md=(hc|0)==0,md)break;Ns=hc}if((j9|0)==204&&(pd=gp+12|0,Ed=e[pd>>2]|0,Cd=Ed&8,Bd=(Cd|0)==0,Bd&&(yd=Je>>>0>=E>>>0,Qd=Je>>>0
>>0,Au=Qd&yd,Au))){wd=B+L4|0,e[y>>2]=wd,vd=e[138265]|0,fc=vd+L4|0,kd=Je+8|0,Ic=kd,Sd=Ic&7,bd=(Sd|0)==0,mc=0-Ic|0,Dd=mc&7,ps=bd?0:Dd,pc=Je+ps|0,LA=fc-ps|0,e[138268]=pc,e[138265]=LA,_d=LA|1,c0=ps+4|0,ta=Je+c0|0,e[ta>>2]=_d,a1=fc+4|0,MA=Je+a1|0,e[MA>>2]=40,xd=e[138384]|0,e[138269]=xd;break}for(Ec=e[138266]|0,Ld=h6>>>0>>0,Ld?(e[138266]=h6,ys=h6):ys=Ec,Md=h6+L4|0,Gs=553496;;){if(Rd=e[Gs>>2]|0,Fd=(Rd|0)==(Md|0),Fd){I=Gs,fr=Gs,j9=212;break}if(Td=Gs+8|0,Cc=e[Td>>2]|0,Nd=(Cc|0)==0,Nd){Ts=553496;break}else Gs=Cc}if((j9|0)==212)if(Gd=fr+12|0,Ud=e[Gd>>2]|0,FA=Ud&8,Pd=(FA|0)==0,Pd){e[I>>2]=h6,TA=fr+4|0,Od=e[TA>>2]|0,qd=Od+L4|0,e[TA>>2]=qd,Hd=h6+8|0,Bc=Hd,Vd=Bc&7,Yd=(Vd|0)==0,zd=0-Bc|0,Jd=zd&7,ra=Yd?0:Jd,Wd=h6+ra|0,B0=L4+8|0,Zd=h6+B0|0,yc=Zd,jd=yc&7,Xd=(jd|0)==0,ef=0-yc|0,tf=ef&7,C7=Xd?0:tf,x0=C7+L4|0,B7=h6+x0|0,wc=B7,NA=Wd,rf=wc-NA|0,$0=ra+L9|0,r7=h6+$0|0,Cs=rf-L9|0,nf=L9|3,p0=ra+4|0,sf=h6+p0|0,e[sf>>2]=nf,of=(B7|0)==(Je|0);t:do if(of)af=e[138265]|0,vc=af+Cs|0,e[138265]=vc,e[138268]=r7,$f=vc|1,V1=$0+4|0,lf=h6+V1|0,e[lf>>2]=$f;else{if(kc=e[138267]|0,cf=(B7|0)==(kc|0),cf){gf=e[138264]|0,Bs=gf+Cs|0,e[138264]=Bs,e[138267]=r7,GA=Bs|1,J1=$0+4|0,uf=h6+J1|0,e[uf>>2]=GA,H1=Bs+$0|0,Sc=h6+H1|0,e[Sc>>2]=Bs;break}if($1=L4+4|0,Z0=$1+C7|0,df=h6+Z0|0,na=e[df>>2]|0,ff=na&3,If=(ff|0)==1,If){bc=na&-8,Dc=na>>>3,mf=na>>>0<256;i:do if(mf){P1=C7|8,W0=P1+L4|0,pf=h6+W0|0,wn=e[pf>>2]|0,D1=L4+12|0,J0=D1+C7|0,Ef=h6+J0|0,vn=e[Ef>>2]|0,Bf=Dc<<1,_c=553088+(Bf<<2)|0,yf=(wn|0)==(_c|0);do if(!yf){if(Qf=wn>>>0>>0,Qf&&v2(),xc=wn+12|0,wf=e[xc>>2]|0,Lc=(wf|0)==(B7|0),Lc)break;v2()}while(!1);if(vf=(vn|0)==(wn|0),vf){UA=1<>>0>>0,bf&&v2(),Fc=vn+8|0,Df=e[Fc>>2]|0,_f=(Df|0)==(B7|0),_f){q=Fc;break}v2()}while(!1);xf=wn+12|0,e[xf>>2]=vn,e[q>>2]=wn}else{R1=C7|24,R0=R1+L4|0,Lf=h6+R0|0,Qs=e[Lf>>2]|0,z1=L4+12|0,v0=z1+C7|0,Mf=h6+v0|0,kn=e[Mf>>2]|0,Rf=(kn|0)==(B7|0);do if(Rf){if(e2=C7|16,M0=$1+e2|0,Pc=h6+M0|0,Oc=e[Pc>>2]|0,Uf=(Oc|0)==0,Uf)if(P0=e2+L4|0,qc=h6+P0|0,Hc=e[qc>>2]|0,Pf=(Hc|0)==0,Pf){Fi=0;break}else Dn=Hc,ya=qc;else Dn=Oc,ya=Pc;for(;;){if(Vc=Dn+20|0,Yc=e[Vc>>2]|0,qf=(Yc|0)==0,!qf){Dn=Yc,ya=Vc;continue}if(zc=Dn+16|0,Kc=e[zc>>2]|0,Hf=(Kc|0)==0,Hf){Jm=Dn,ru=ya;break}else Dn=Kc,ya=zc}if(Vf=ru>>>0>>0,Vf)v2();else{e[ru>>2]=0,Fi=Jm;break}}else if(F1=C7|8,G0=F1+L4|0,Ff=h6+G0|0,PA=e[Ff>>2]|0,Tf=PA>>>0>>0,Tf&&v2(),OA=PA+12|0,qA=e[OA>>2]|0,Nc=(qA|0)==(B7|0),Nc||v2(),Gc=kn+8|0,Gf=e[Gc>>2]|0,Uc=(Gf|0)==(B7|0),Uc){e[OA>>2]=kn,e[Gc>>2]=PA,Fi=kn;break}else v2();while(!1);if(Jc=(Qs|0)==0,Jc)break;b1=L4+28|0,U0=b1+C7|0,HA=h6+U0|0,Wc=e[HA>>2]|0,Xc=553352+(Wc<<2)|0,Yf=e[Xc>>2]|0,zf=(B7|0)==(Yf|0);do if(zf){if(e[Xc>>2]=Fi,ep=(Fi|0)==0,!ep)break;Kf=1<>>0>>0,Xf&&v2(),eg=Qs+16|0,eI=e[eg>>2]|0,tI=(eI|0)==(B7|0),tI?e[eg>>2]=Fi:(iI=Qs+20|0,e[iI>>2]=Fi),tg=(Fi|0)==0,tg)break i;while(!1);ig=e[138266]|0,rI=Fi>>>0>>0,rI&&v2(),rg=Fi+24|0,e[rg>>2]=Qs,_1=C7|16,O0=_1+L4|0,YA=h6+O0|0,sa=e[YA>>2]|0,ng=(sa|0)==0;do if(!ng)if(sI=sa>>>0>>0,sI)v2();else{oI=Fi+16|0,e[oI>>2]=sa,aI=sa+24|0,e[aI>>2]=Fi;break}while(!1);if(K0=$1+_1|0,sg=h6+K0|0,oa=e[sg>>2]|0,AI=(oa|0)==0,AI)break;if($I=e[138266]|0,lI=oa>>>0<$I>>>0,lI)v2();else{cI=Fi+20|0,e[cI>>2]=oa,gI=oa+24|0,e[gI>>2]=Fi;break}}while(!1);A2=bc|C7,N0=A2+L4|0,hI=h6+N0|0,dI=bc+Cs|0,au=hI,s7=dI}else au=B7,s7=Cs;if(og=au+4|0,fI=e[og>>2]|0,II=fI&-2,e[og>>2]=II,mI=s7|1,D0=$0+4|0,pI=h6+D0|0,e[pI>>2]=mI,Q0=s7+$0|0,aa=h6+Q0|0,e[aa>>2]=s7,ag=s7>>>3,EI=s7>>>0<256,EI){Sn=ag<<1,Ag=553088+(Sn<<2)|0,$g=e[138262]|0,zA=1<>2]|0,QI=e[138266]|0,vI=gg>>>0>>0,!vI){N=cg,$$=gg;break}v2()}while(!1);e[N>>2]=r7,kI=$$+12|0,e[kI>>2]=r7,v1=$0+8|0,SI=h6+v1|0,e[SI>>2]=$$,k1=$0+12|0,Aa=h6+k1|0,e[Aa>>2]=Ag;break}KA=s7>>>8,bI=(KA|0)==0;do if(bI)Or=0;else{if(DI=s7>>>0>16777215,DI){Or=31;break}_I=KA+1048320|0,xI=_I>>>16,ug=xI&8,hg=KA<>>16,dg=RI&4,Gr=dg|ug,fg=hg<>>16,mg=FI&2,$a=Gr|mg,NI=14-$a|0,GI=fg<>>15,pg=NI+la|0,UI=pg<<1,PI=pg+7|0,Eg=s7>>>PI,OI=Eg&1,qI=OI|UI,Or=qI}while(!1);if(JA=553352+(Or<<2)|0,k0=$0+28|0,HI=h6+k0|0,e[HI>>2]=Or,j0=$0+16|0,VI=h6+j0|0,q0=$0+20|0,YI=h6+q0|0,e[YI>>2]=0,e[VI>>2]=0,Cg=e[138263]|0,Bg=1<>2]=r7,o1=$0+24|0,ws=h6+o1|0,e[ws>>2]=JA,r1=$0+12|0,JI=h6+r1|0,e[JI>>2]=r7,s1=$0+8|0,WI=h6+s1|0,e[WI>>2]=r7;break}WA=e[JA>>2]|0,wg=WA+4|0,ZI=e[wg>>2]|0,jI=ZI&-8,XI=(jI|0)==(s7|0);i:do if(XI)qr=WA;else{for(em=(Or|0)==31,vg=Or>>>1,tm=25-vg|0,im=em?0:tm,rm=s7<>>31,_g=(d$+16|0)+(Dg<<2)|0,vs=e[_g>>2]|0,L7=(vs|0)==0,L7){A=_g,jm=d$;break}if(nm=xs<<1,sm=vs+4|0,Sg=e[sm>>2]|0,bg=Sg&-8,om=(bg|0)==(s7|0),om){qr=vs;break i}else xs=nm,d$=vs}if(gr=e[138266]|0,am=A>>>0>>0,am)v2();else{e[A>>2]=r7,Q1=$0+24|0,Am=h6+Q1|0,e[Am>>2]=jm,C1=$0+12|0,$m=h6+C1|0,e[$m>>2]=r7,y1=$0+8|0,lm=h6+y1|0,e[lm>>2]=r7;break t}}while(!1);if(ZA=qr+8|0,ua=e[ZA>>2]|0,Lg=e[138266]|0,Mg=ua>>>0>=Lg>>>0,I$=qr>>>0>=Lg>>>0,cm=Mg&I$,cm){ks=ua+12|0,e[ks>>2]=r7,e[ZA>>2]=r7,X0=$0+8|0,gm=h6+X0|0,e[gm>>2]=ua,B1=$0+12|0,da=h6+B1|0,e[da>>2]=qr,p1=$0+24|0,jA=h6+p1|0,e[jA>>2]=0;break}else v2()}while(!1);return u1=ra|8,um=h6+u1|0,tt=um,tt|0}else Ts=553496;for(;;){if(XA=e[Ts>>2]|0,hm=XA>>>0>Je>>>0,!hm&&(dm=Ts+4|0,Rg=e[dm>>2]|0,fa=XA+Rg|0,fm=fa>>>0>Je>>>0,fm)){g=XA,d=Rg,p=fa;break}Im=Ts+8|0,mm=e[Im>>2]|0,Ts=mm}if(h0=d+-47|0,f0=d+-39|0,pm=g+f0|0,Tg=pm,Em=Tg&7,si=(Em|0)==0,D9=0-Tg|0,n7=D9&7,Cm=si?0:n7,g1=h0+Cm|0,Gg=g+g1|0,e$=Je+16|0,Bm=Gg>>>0>>0,Ur=Bm?Je:Gg,Ss=Ur+8|0,ym=L4+-40|0,Qm=h6+8|0,Ug=Qm,t$=Ug&7,wm=(t$|0)==0,Og=0-Ug|0,qg=Og&7,i$=wm?0:qg,r$=h6+i$|0,Hg=ym-i$|0,e[138268]=r$,e[138265]=Hg,bs=Hg|1,i0=i$+4|0,n$=h6+i0|0,e[n$>>2]=bs,A1=L4+-36|0,Vg=h6+A1|0,e[Vg>>2]=40,vm=e[138384]|0,e[138269]=vm,bn=Ur+4|0,e[bn>>2]=27,e[Ss>>2]=e[138374]|0,e[Ss+4>>2]=e[138375]|0,e[Ss+8>>2]=e[138376]|0,e[Ss+12>>2]=e[138377]|0,e[138374]=h6,e[138375]=L4,e[138377]=0,e[138376]=Ss,Yg=Ur+28|0,e[Yg>>2]=7,Ia=Ur+32|0,Sm=Ia>>>0

>>0,Sm)for(M7=Yg;zg=M7+4|0,e[zg>>2]=7,bm=M7+8|0,Dm=bm>>>0

>>0,Dm;)M7=zg;if(_m=(Ur|0)==(Je|0),!_m){if(xm=Ur,Lm=Je,R7=xm-Lm|0,Rm=e[bn>>2]|0,Fm=Rm&-2,e[bn>>2]=Fm,Tm=R7|1,Kg=Je+4|0,e[Kg>>2]=Tm,e[Ur>>2]=R7,y7=R7>>>3,ma=R7>>>0<256,ma){s$=y7<<1,Jg=553088+(s$<<2)|0,Wg=e[138262]|0,Zg=1<>2]|0,Pm=e[138266]|0,Om=eu>>>0>>0,Om?v2():(M=Xg,a$=eu)),e[M>>2]=Je,tu=a$+12|0,e[tu>>2]=Je,qm=Je+8|0,e[qm>>2]=a$,pa=Je+12|0,e[pa>>2]=Jg;break}if(Ea=R7>>>8,Hm=(Ea|0)==0,Hm?ur=0:(o$=R7>>>0>16777215,o$?ur=31:(Vm=Ea+1048320|0,Ym=Vm>>>16,iu=Ym&8,_s=Ea<>>16,u2=Km&4,s2=u2|iu,l2=_s<>>16,m2=a2&2,r2=s2|m2,k2=14-r2|0,D2=l2<>>15,G2=k2+S2|0,M2=G2<<1,O2=G2+7|0,p2=R7>>>O2,W2=p2&1,q2=W2|M2,ur=q2)),K2=553352+(ur<<2)|0,U2=Je+28|0,e[U2>>2]=ur,V2=Je+20|0,e[V2>>2]=0,e[e$>>2]=0,Z2=e[138263]|0,Y2=1<>2]=Je,i5=Je+24|0,e[i5>>2]=K2,L5=Je+12|0,e[L5>>2]=Je,j2=Je+8|0,e[j2>>2]=Je;break}m5=e[K2>>2]|0,D5=m5+4|0,V5=e[D5>>2]|0,b2=V5&-8,B5=(b2|0)==(R7|0);t:do if(B5)wa=m5;else{for(o5=(ur|0)==31,F2=ur>>>1,R2=25-F2|0,Q2=o5?0:R2,y5=R7<>>31,h5=(f$+16|0)+($5<<2)|0,M5=e[h5>>2]|0,Q5=(M5|0)==0,Q5){$=h5,su=f$;break}if(N5=g$<<1,p5=M5+4|0,R5=e[p5>>2]|0,z2=R5&-8,E5=(z2|0)==(R7|0),E5){wa=M5;break t}else g$=N5,f$=M5}if(T1=e[138266]|0,_5=$>>>0>>0,_5)v2();else{e[$>>2]=Je,d5=Je+24|0,e[d5>>2]=su,l5=Je+12|0,e[l5>>2]=Je,d2=Je+8|0,e[d2>>2]=Je;break e}}while(!1);if(w5=wa+8|0,r5=e[w5>>2]|0,a5=e[138266]|0,f5=r5>>>0>=a5>>>0,ip=wa>>>0>=a5>>>0,J2=f5&ip,J2){I5=r5+12|0,e[I5>>2]=Je,e[w5>>2]=Je,n5=Je+8|0,e[n5>>2]=r5,F5=Je+12|0,e[F5>>2]=wa,e5=Je+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(T2=e[138265]|0,v5=T2>>>0>L9>>>0,v5)return z5=T2-L9|0,e[138265]=z5,i3=e[138268]|0,C5=i3+L9|0,e[138268]=C5,I3=z5|1,X=L9+4|0,d3=i3+X|0,e[d3>>2]=I3,W5=L9|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=hy()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var s=0,A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0,I9=0,z6=0,F4=0,T4=0,ot=0,m9=0,x9=0,mt=0,j3=0,xe=0,be=0,O9=0,a4=0,d8=0,N4=0;if(N4=C,s0=(t|0)==0,!s0){Y=t+-8|0,W2=e[138266]|0,k6=Y>>>0>>0,k6&&v2(),_6=t+-4|0,fe=e[_6>>2]|0,r9=fe&3,G9=(r9|0)==1,G9&&v2(),Ze=fe&-8,y=Ze+-8|0,n9=t+y|0,d0=fe&1,n0=(d0|0)==0;do if(n0){if(x0=e[Y>>2]|0,M0=(r9|0)==0,M0)return;if(Q=-8-x0|0,L0=t+Q|0,X0=x0+Ze|0,b1=L0>>>0>>0,b1&&v2(),H1=e[138267]|0,A2=(L0|0)==(H1|0),A2){if(t0=Ze+-4|0,c0=t+t0|0,$0=e[c0>>2]|0,l0=$0&3,X=(l0|0)==3,!X){j3=L0,xe=X0;break}e[138264]=X0,m0=$0&-2,e[c0>>2]=m0,g0=X0|1,L=Q+4|0,I0=t+L|0,e[I0>>2]=g0,e[n9>>2]=X0;return}if(a2=x0>>>3,q2=x0>>>0<256,q2){if(Z=Q+8|0,L5=t+Z|0,Q2=e[L5>>2]|0,A0=Q+12|0,Q5=t+A0|0,J2=e[Q5>>2]|0,I3=a2<<1,e6=553088+(I3<<2)|0,Q3=(Q2|0)==(e6|0),Q3||(C6=Q2>>>0>>0,C6&&v2(),d6=Q2+12|0,R3=e[d6>>2]|0,K6=(R3|0)==(L0|0),K6||v2()),X6=(J2|0)==(Q2|0),X6){V6=1<>>0>>0,F6&&v2(),te=J2+8|0,P6=e[te>>2]|0,O3=(P6|0)==(L0|0),O3?g=te:v2()),O6=Q2+12|0,e[O6>>2]=J2,e[g>>2]=Q2,j3=L0,xe=X0;break}R=Q+24|0,oe=t+R|0,he=e[oe>>2]|0,M=Q+12|0,ne=t+M|0,Be=e[ne>>2]|0,ye=(Be|0)==(L0|0);do if(ye){if(G=Q+20|0,g9=t+G|0,p9=e[g9>>2]|0,ze=(p9|0)==0,ze)if(N=Q+16|0,Fe=t+N|0,ve=e[Fe>>2]|0,J6=(ve|0)==0,J6){Se=0;break}else P9=ve,S4=Fe;else P9=p9,S4=g9;for(;;){if(Ae=P9+20|0,w9=e[Ae>>2]|0,M9=(w9|0)==0,!M9){P9=w9,S4=Ae;continue}if(u9=P9+16|0,_e=e[u9>>2]|0,R9=(_e|0)==0,R9){I4=P9,S9=S4;break}else P9=_e,S4=u9}if(F9=S9>>>0>>0,F9)v2();else{e[S9>>2]=0,Se=I4;break}}else if(K=Q+8|0,Qe=t+K|0,de=e[Qe>>2]|0,Ve=de>>>0>>0,Ve&&v2(),w6=de+12|0,q6=e[w6>>2]|0,ae=(q6|0)==(L0|0),ae||v2(),Ye=Be+8|0,we=e[Ye>>2]|0,Q9=(we|0)==(L0|0),Q9){e[w6>>2]=Be,e[Ye>>2]=de,Se=Be;break}else v2();while(!1);if(q9=(he|0)==0,q9)j3=L0,xe=X0;else{if(O=Q+28|0,n4=t+O|0,v9=e[n4>>2]|0,H9=553352+(v9<<2)|0,Ke=e[H9>>2]|0,V9=(L0|0)==(Ke|0),V9){if(e[H9>>2]=Se,m9=(Se|0)==0,m9){h9=1<>>0>>0,k4&&v2(),V4=he+16|0,nt=e[V4>>2]|0,Y9=(nt|0)==(L0|0),Y9?e[V4>>2]=Se:(Y4=he+20|0,e[Y4>>2]=Se),z9=(Se|0)==0,z9){j3=L0,xe=X0;break}s4=e[138266]|0,R4=Se>>>0>>0,R4&&v2(),st=Se+24|0,e[st>>2]=he,q=Q+16|0,u4=t+q|0,C9=e[u4>>2]|0,T6=(C9|0)==0;do if(!T6)if(K9=C9>>>0>>0,K9)v2();else{Oe=Se+16|0,e[Oe>>2]=C9,d9=C9+24|0,e[d9>>2]=Se;break}while(!1);if(V=Q+20|0,T9=t+V|0,h4=e[T9>>2]|0,s9=(h4|0)==0,s9)j3=L0,xe=X0;else if(d4=e[138266]|0,i0=h4>>>0>>0,i0)v2();else{e0=Se+20|0,e[e0>>2]=h4,h0=h4+24|0,e[h0>>2]=Se,j3=L0,xe=X0;break}}}else j3=Y,xe=Ze;while(!1);if(f0=j3>>>0>>0,f0||v2(),_=Ze+-4|0,p0=t+_|0,C0=e[p0>>2]|0,b0=C0&1,y0=(b0|0)==0,y0&&v2(),D0=C0&2,E0=(D0|0)==0,E0){if(Q0=e[138268]|0,w0=(n9|0)==(Q0|0),w0){if(B0=e[138265]|0,Z0=B0+xe|0,e[138265]=Z0,e[138268]=j3,R0=Z0|1,v0=j3+4|0,e[v0>>2]=R0,G0=e[138267]|0,U0=(j3|0)==(G0|0),!U0)return;e[138267]=0,e[138264]=0;return}if(O0=e[138267]|0,H0=(n9|0)==(O0|0),H0){k0=e[138264]|0,K0=k0+xe|0,e[138264]=K0,e[138267]=j3,N0=K0|1,P0=j3+4|0,e[P0>>2]=N0,W0=j3+K0|0,e[W0>>2]=K0;return}J0=C0&-8,V0=J0+xe|0,j0=C0>>>3,q0=C0>>>0<256;do if(q0){if(Y0=t+Ze|0,o1=e[Y0>>2]|0,v=Ze|4,z0=t+v|0,r1=e[z0>>2]|0,s1=j0<<1,d1=553088+(s1<<2)|0,u1=(o1|0)==(d1|0),u1||(E1=e[138266]|0,f1=o1>>>0>>0,f1&&v2(),h1=o1+12|0,A1=e[h1>>2]|0,g1=(A1|0)==(n9|0),g1||v2()),a1=(r1|0)==(o1|0),a1){$1=1<>>0>>0,v1&&v2(),k1=r1+8|0,S1=e[k1>>2]|0,L1=(S1|0)==(n9|0),L1?$=k1:v2()),M1=o1+12|0,e[M1>>2]=r1,e[$>>2]=o1}else{j=Ze+16|0,_1=t+j|0,R1=e[_1>>2]|0,r0=Ze|4,F1=t+r0|0,P1=e[F1>>2]|0,D1=(P1|0)==(n9|0);do if(D1){if(J=Ze+12|0,e2=t+J|0,q1=e[e2>>2]|0,h2=(q1|0)==0,h2)if(o0=Ze+8|0,Z1=t+o0|0,I2=e[Z1>>2]|0,C2=(I2|0)==0,C2){f9=0;break}else I6=I2,I9=Z1;else I6=q1,I9=e2;for(;;){if($2=I6+20|0,W1=e[$2>>2]|0,f2=(W1|0)==0,!f2){I6=W1,I9=$2;continue}if(g2=I6+16|0,n2=e[g2>>2]|0,u2=(n2|0)==0,u2){z4=I6,z6=I9;break}else I6=n2,I9=g2}if(s2=e[138266]|0,l2=z6>>>0>>0,l2)v2();else{e[z6>>2]=0,f9=z4;break}}else if(O1=t+Ze|0,X1=e[O1>>2]|0,G1=e[138266]|0,x1=X1>>>0>>0,x1&&v2(),J1=X1+12|0,V1=e[J1>>2]|0,Y1=(V1|0)==(n9|0),Y1||v2(),z1=P1+8|0,t2=e[z1>>2]|0,o2=(t2|0)==(n9|0),o2){e[J1>>2]=P1,e[z1>>2]=X1,f9=P1;break}else v2();while(!1);if(i2=(R1|0)==0,!i2){if(b=Ze+20|0,m2=t+b|0,r2=e[m2>>2]|0,k2=553352+(r2<<2)|0,D2=e[k2>>2]|0,S2=(n9|0)==(D2|0),S2){if(e[k2>>2]=f9,x9=(f9|0)==0,x9){y2=1<>>0>>0,K2&&v2(),U2=R1+16|0,V2=e[U2>>2]|0,Z2=(V2|0)==(n9|0),Z2?e[U2>>2]=f9:(A5=R1+20|0,e[A5>>2]=f9),Y2=(f9|0)==0,Y2)break;N1=e[138266]|0,t5=f9>>>0>>0,t5&&v2(),T5=f9+24|0,e[T5>>2]=R1,D=Ze+8|0,i5=t+D|0,j2=e[i5>>2]|0,m5=(j2|0)==0;do if(!m5)if(D5=j2>>>0>>0,D5)v2();else{V5=f9+16|0,e[V5>>2]=j2,u5=j2+24|0,e[u5>>2]=f9;break}while(!1);if(k=Ze+12|0,b2=t+k|0,B5=e[b2>>2]|0,o5=(B5|0)==0,!o5)if(F2=e[138266]|0,R2=B5>>>0>>0,R2)v2();else{y5=f9+20|0,e[y5>>2]=B5,N5=B5+24|0,e[N5>>2]=f9;break}}}while(!1);if(p5=V0|1,M5=j3+4|0,e[M5>>2]=p5,q5=j3+V0|0,e[q5>>2]=V0,R5=e[138267]|0,z2=(j3|0)==(R5|0),z2){e[138264]=V0;return}else be=V0}else E5=C0&-2,e[p0>>2]=E5,$5=xe|1,h5=j3+4|0,e[h5>>2]=$5,T1=j3+xe|0,e[T1>>2]=xe,be=xe;if(_5=be>>>3,d5=be>>>0<256,d5){l5=_5<<1,X2=553088+(l5<<2)|0,d2=e[138262]|0,w5=1<<_5,r5=d2&w5,a5=(r5|0)==0,a5?(f5=d2|w5,e[138262]=f5,A=l5+2|0,p=553088+(A<<2)|0,d=p,f4=X2):(B=l5+2|0,I5=553088+(B<<2)|0,n5=e[I5>>2]|0,F5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(d=I5,f4=n5)),e[d>>2]=j3,c5=f4+12|0,e[c5>>2]=j3,T2=j3+8|0,e[T2>>2]=f4,v5=j3+12|0,e[v5>>2]=X2;return}z5=be>>>8,i3=(z5|0)==0,i3?k9=0:(C5=be>>>0>16777215,C5?k9=31:(d3=z5+1048320|0,W5=d3>>>16,r3=W5&8,a3=z5<>>16,Z5=G5&4,x3=Z5|r3,f3=a3<>>16,X5=V3&2,_3=x3|X5,t3=14-_3|0,a6=f3<>>15,Y3=t3+G3|0,c3=Y3<<1,g3=Y3+7|0,u3=be>>>g3,K5=u3&1,H5=K5|c3,k9=H5)),Y5=553352+(k9<<2)|0,b5=j3+28|0,e[b5>>2]=k9,z3=j3+16|0,U5=j3+20|0,e[U5>>2]=0,e[z3>>2]=0,l6=e[138263]|0,n3=1<>2]=j3,L3=j3+24|0,e[L3>>2]=Y5,D3=j3+12|0,e[D3>>2]=j3,A6=j3+8|0,e[A6>>2]=j3;else{r6=e[Y5>>2]|0,K3=r6+4|0,j5=e[K3>>2]|0,M3=j5&-8,h3=(M3|0)==(be|0);t:do if(h3)F4=r6;else{for(J3=(k9|0)==31,m3=k9>>>1,x6=25-m3|0,L6=J3?0:x6,M6=be<>>31,o6=(T4+16|0)+(s6<<2)|0,f6=e[o6>>2]|0,B6=(f6|0)==0,B6){s=o6,ot=T4;break}if(S6=o4<<1,n6=f6+4|0,b6=e[n6>>2]|0,N6=b6&-8,j6=(N6|0)==(be|0),j6){F4=f6;break t}else o4=S6,T4=f6}if(W3=e[138266]|0,F3=s>>>0>>0,F3)v2();else{e[s>>2]=j3,Z3=j3+24|0,e[Z3>>2]=ot,t6=j3+12|0,e[t6>>2]=j3,R6=j3+8|0,e[R6>>2]=j3;break e}}while(!1);if(c6=F4+8|0,s3=e[c6>>2]|0,A3=e[138266]|0,g6=s3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,y6=g6&mt,y6){T3=s3+12|0,e[T3>>2]=j3,e[c6>>2]=j3,H6=j3+8|0,e[H6>>2]=s3,$6=j3+12|0,e[$6>>2]=F4,D6=j3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,ee=G6+-1|0,e[138270]=ee,Q6=(ee|0)==0,Q6)a4=553504;else return;for(;O9=e[a4>>2]|0,P3=(O9|0)==0,re=O9+8|0,!P3;)a4=re;e[138270]=-1}}function l9(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0;return L=C,$=(t|0)==0,$?_=0:(g=s5(s,t)|0,I=s|t,E=I>>>0>65535,E?(y=(g>>>0)/(t>>>0)&-1,B=(y|0)==(s|0),A=B?g:-1,_=A):_=g),b=Re(_)|0,D=(b|0)==0,D||(k=b+-4|0,v=e[k>>2]|0,d=v&3,p=(d|0)==0,p)||g4(b|0,0,_|0)|0,b|0}function K7(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0;return Z=C,A=(t|0)==0,A?($=Re(s)|0,K=$,K|0):(v=s>>>0>4294967231,v?(R=hy()|0,e[R>>2]=12,K=0,K|0):(M=s>>>0<11,N=s+11|0,G=N&-8,O=M?16:G,q=t+-8|0,V=CD(q,O)|0,g=(V|0)==0,g?(p=Re(s)|0,I=(p|0)==0,I?(K=0,K|0):(E=t+-4|0,y=e[E>>2]|0,B=y&-8,b=y&3,D=(b|0)==0,k=D?8:4,_=B-k|0,Q=_>>>0>>0,L=Q?_:s,c9(p|0,t|0,L|0)|0,E2(t),K=p,K|0)):(d=V+8|0,K=d,K|0)))}function CD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0;if(Z5=C,q=t+4|0,V=e[q>>2]|0,D1=V&-8,o2=t+D1|0,g2=e[138266]|0,S2=V&3,I3=t>>>0>=g2>>>0,d3=(S2|0)!=1,W5=d3&I3,Z2=t>>>0>>0,r3=W5&Z2,r3||v2(),L=D1|4,V5=t+L|0,M5=e[V5>>2]|0,l5=M5&1,K=(l5|0)==0,K&&v2(),i0=(S2|0)==0,i0)return f0=s>>>0<256,f0?(C5=0,C5|0):(Z0=s+4|0,P0=D1>>>0>>0,!P0&&(s1=D1-s|0,B1=e[138382]|0,_1=B1<<1,F1=s1>>>0>_1>>>0,!F1)?(C5=t,C5|0):(C5=0,C5|0));if(P1=D1>>>0>>0,!P1)return O1=D1-s|0,X1=O1>>>0>15,X1?(G1=t+s|0,x1=V&1,J1=x1|s,H1=J1|2,e[q>>2]=H1,Q=s+4|0,V1=t+Q|0,Y1=O1|3,e[V1>>2]=Y1,z1=e[V5>>2]|0,t2=z1|1,e[V5>>2]=t2,Vy(G1,O1),C5=t,C5|0):(C5=t,C5|0);if(e2=e[138268]|0,q1=(o2|0)==(e2|0),q1)return h2=e[138265]|0,Z1=h2+D1|0,I2=Z1>>>0>s>>>0,I2?(A2=Z1-s|0,C2=t+s|0,$2=V&1,W1=$2|s,f2=W1|2,e[q>>2]=f2,_=s+4|0,n2=t+_|0,u2=A2|1,e[n2>>2]=u2,e[138268]=C2,e[138265]=A2,C5=t,C5|0):(C5=0,C5|0);if(s2=e[138267]|0,l2=(o2|0)==(s2|0),l2)return i2=e[138264]|0,a2=i2+D1|0,m2=a2>>>0>>0,m2?(C5=0,C5|0):(r2=a2-s|0,k2=r2>>>0>15,k2?(D2=t+s|0,y2=t+a2|0,G2=V&1,M2=G2|s,O2=M2|2,e[q>>2]=O2,D=s+4|0,p2=t+D|0,W2=r2|1,e[p2>>2]=W2,e[y2>>2]=r2,v=a2+4|0,q2=t+v|0,K2=e[q2>>2]|0,U2=K2&-2,e[q2>>2]=U2,a3=D2,y3=r2):(V2=V&1,A5=V2|a2,Y2=A5|2,e[q>>2]=Y2,b=a2+4|0,N1=t+b|0,t5=e[N1>>2]|0,T5=t5|1,e[N1>>2]=T5,a3=0,y3=0),e[138264]=y3,e[138267]=a3,C5=t,C5|0);if(i5=M5&2,L5=(i5|0)==0,!L5||(j2=M5&-8,m5=j2+D1|0,D5=m5>>>0>>0,D5))return C5=0,C5|0;u5=m5-s|0,b2=M5>>>3,B5=M5>>>0<256;do if(B5){if(y=D1+8|0,o5=t+y|0,F2=e[o5>>2]|0,B=D1+12|0,R2=t+B|0,Q2=e[R2>>2]|0,y5=b2<<1,N5=553088+(y5<<2)|0,p5=(F2|0)==(N5|0),p5||(q5=F2>>>0>>0,q5&&v2(),R5=F2+12|0,z2=e[R5>>2]|0,E5=(z2|0)==(o2|0),E5||v2()),$5=(Q2|0)==(F2|0),$5){h5=1<>>0>>0,X2&&v2(),d2=Q2+8|0,w5=e[d2>>2]|0,r5=(w5|0)==(o2|0),r5?$=d2:v2()),a5=F2+12|0,e[a5>>2]=Q2,e[$>>2]=F2}else{g=D1+24|0,f5=t+g|0,J2=e[f5>>2]|0,k=D1+12|0,I5=t+k|0,n5=e[I5>>2]|0,F5=(n5|0)==(o2|0);do if(F5){if(M=D1+20|0,d0=t+M|0,e0=e[d0>>2]|0,h0=(e0|0)==0,h0)if(R=D1+16|0,c0=t+R|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){T2=0;break}else e5=$0,v5=c0;else e5=e0,v5=d0;for(;;){if(X=e5+20|0,m0=e[X>>2]|0,g0=(m0|0)==0,!g0){e5=m0,v5=X;continue}if(I0=e5+16|0,n0=e[I0>>2]|0,p0=(n0|0)==0,p0){c5=e5,z5=v5;break}else e5=n0,v5=I0}if(C0=z5>>>0>>0,C0)v2();else{e[z5>>2]=0,T2=c5;break}}else if(E=D1+8|0,t0=t+E|0,Z=e[t0>>2]|0,A0=Z>>>0>>0,A0&&v2(),j=Z+12|0,r0=e[j>>2]|0,o0=(r0|0)==(o2|0),o0||v2(),J=n5+8|0,s0=e[J>>2]|0,Y=(s0|0)==(o2|0),Y){e[j>>2]=n5,e[J>>2]=Z,T2=n5;break}else v2();while(!1);if(b0=(J2|0)==0,!b0){if(d=D1+28|0,y0=t+d|0,D0=e[y0>>2]|0,E0=553352+(D0<<2)|0,Q0=e[E0>>2]|0,w0=(o2|0)==(Q0|0),w0){if(e[E0>>2]=T2,i3=(T2|0)==0,i3){B0=1<>>0>>0,U0&&v2(),O0=J2+16|0,H0=e[O0>>2]|0,k0=(H0|0)==(o2|0),k0?e[O0>>2]=T2:(K0=J2+20|0,e[K0>>2]=T2),N0=(T2|0)==0,N0)break;M0=e[138266]|0,W0=T2>>>0>>0,W0&&v2(),J0=T2+24|0,e[J0>>2]=J2,p=D1+16|0,V0=t+p|0,j0=e[V0>>2]|0,q0=(j0|0)==0;do if(!q0)if(Y0=j0>>>0>>0,Y0)v2();else{o1=T2+16|0,e[o1>>2]=j0,z0=j0+24|0,e[z0>>2]=T2;break}while(!1);if(I=D1+20|0,r1=t+I|0,L0=e[r1>>2]|0,d1=(L0|0)==0,!d1)if(u1=e[138266]|0,E1=L0>>>0>>0,E1)v2();else{f1=T2+20|0,e[f1>>2]=L0,h1=L0+24|0,e[h1>>2]=T2;break}}}while(!1);return A1=u5>>>0<16,A1?(g1=V&1,a1=m5|g1,$1=a1|2,e[q>>2]=$1,O=m5|4,X0=t+O|0,p1=e[X0>>2]|0,Q1=p1|1,e[X0>>2]=Q1,C5=t,C5|0):(C1=t+s|0,y1=V&1,v1=y1|s,k1=v1|2,e[q>>2]=k1,N=s+4|0,S1=t+N|0,L1=u5|3,e[S1>>2]=L1,G=m5|4,M1=t+G|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,Vy(C1,u5),C5=t,C5|0)}function Vy(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0,P0=0,W0=0,J0=0,V0=0,j0=0,q0=0,Y0=0,o1=0,z0=0,r1=0,L0=0,s1=0,d1=0,u1=0,E1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,X0=0,B1=0,p1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,P1=0,D1=0,O1=0,X1=0,G1=0,x1=0,J1=0,H1=0,V1=0,Y1=0,z1=0,t2=0,o2=0,e2=0,q1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,g2=0,n2=0,u2=0,s2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,K2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,L5=0,j2=0,m5=0,D5=0,V5=0,u5=0,b2=0,B5=0,o5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,M5=0,q5=0,R5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,J2=0,I5=0,n5=0,F5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,V3=0,X5=0,_3=0,t3=0,a6=0,G3=0,Y3=0,c3=0,g3=0,u3=0,Q3=0,K5=0,H5=0,Y5=0,b5=0,z3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,K3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,n6=0,f6=0,b6=0,N6=0,j6=0,k6=0,R3=0,s6=0,o6=0,B6=0,W3=0,F3=0,Z3=0,t6=0,R6=0,c6=0,s3=0,K6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,ee=0,Q6=0,X6=0,P3=0,re=0,V6=0,se=0,ge=0,U6=0,Y6=0,F6=0,te=0,_6=0,P6=0,O3=0,O6=0,oe=0,he=0,ne=0,Be=0,ye=0,Qe=0,de=0,fe=0,Ve=0,w6=0,q6=0,ae=0,Ye=0,we=0,Q9=0,g9=0,p9=0,ze=0,r9=0,Fe=0,ve=0,J6=0,Ae=0,w9=0,M9=0,u9=0,_e=0,R9=0,F9=0,G9=0,q9=0,n4=0,v9=0,H9=0,Ke=0,V9=0,h9=0,U9=0,E9=0,v4=0,Ze=0,ke=0,k4=0,V4=0,nt=0,Y9=0,Y4=0,z9=0,s4=0,R4=0,st=0,n9=0,u4=0,C9=0,T6=0,K9=0,Oe=0,d9=0,T9=0,h4=0,s9=0,d4=0,f4=0,k9=0,o4=0,P9=0,I4=0,Se=0,I6=0,z4=0,f9=0,S4=0,S9=0;S9=C,e0=t+s|0,h0=t+4|0,V2=e[h0>>2]|0,B6=V2&1,X6=(B6|0)==0;do if(X6){if(P6=e[t>>2]|0,Ve=V2&3,Fe=(Ve|0)==0,Fe)return;if(q9=0-P6|0,ke=t+q9|0,c0=P6+s|0,b0=e[138266]|0,G0=ke>>>0>>0,G0&&v2(),V0=e[138267]|0,E1=(ke|0)==(V0|0),E1){if(k=s+4|0,n9=t+k|0,$0=e[n9>>2]|0,l0=$0&3,X=(l0|0)==3,!X){A=ke,$=c0;break}e[138264]=c0,m0=$0&-2,e[n9>>2]=m0,g0=c0|1,M=4-P6|0,I0=t+M|0,e[I0>>2]=g0,e[e0>>2]=c0;return}if(C1=P6>>>3,P1=P6>>>0<256,P1){if(j=8-P6|0,t2=t+j|0,f2=e[t2>>2]|0,r0=12-P6|0,D2=t+r0|0,Z2=e[D2>>2]|0,V5=C1<<1,M5=553088+(V5<<2)|0,l5=(f2|0)==(M5|0),l5||(e5=f2>>>0>>0,e5&&v2(),a3=f2+12|0,t3=e[a3>>2]|0,b5=(t3|0)==(ke|0),b5||v2()),A6=(Z2|0)==(f2|0),A6){M6=1<>>0>>0,H6&&v2(),$6=Z2+8|0,D6=e[$6>>2]|0,G6=(D6|0)==(ke|0),G6?E=$6:v2()),ee=f2+12|0,e[ee>>2]=Z2,e[E>>2]=f2,A=ke,$=c0;break}N=24-P6|0,Q6=t+N|0,P3=e[Q6>>2]|0,G=12-P6|0,re=t+G|0,V6=e[re>>2]|0,se=(V6|0)==(ke|0);do if(se){if(O=16-P6|0,q=O+4|0,he=t+q|0,ne=e[he>>2]|0,Be=(ne|0)==0,Be)if(ye=t+O|0,Qe=e[ye>>2]|0,de=(Qe|0)==0,de){d9=0;break}else K9=Qe,d4=ye;else K9=ne,d4=he;for(;;){if(fe=K9+20|0,w6=e[fe>>2]|0,q6=(w6|0)==0,!q6){K9=w6,d4=fe;continue}if(ae=K9+16|0,Ye=e[ae>>2]|0,we=(Ye|0)==0,we){Oe=K9,f4=d4;break}else K9=Ye,d4=ae}if(Q9=f4>>>0>>0,Q9)v2();else{e[f4>>2]=0,d9=Oe;break}}else if(A0=8-P6|0,ge=t+A0|0,U6=e[ge>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,te=e[F6>>2]|0,_6=(te|0)==(ke|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,oe=(O6|0)==(ke|0),oe){e[F6>>2]=V6,e[O3>>2]=U6,d9=V6;break}else v2();while(!1);if(g9=(P3|0)==0,g9)A=ke,$=c0;else{if(K=28-P6|0,p9=t+K|0,ze=e[p9>>2]|0,r9=553352+(ze<<2)|0,ve=e[r9>>2]|0,J6=(ke|0)==(ve|0),J6){if(e[r9>>2]=d9,I6=(d9|0)==0,I6){Ae=1<>>0<_e>>>0,R9&&v2(),F9=P3+16|0,G9=e[F9>>2]|0,n4=(G9|0)==(ke|0),n4?e[F9>>2]=d9:(v9=P3+20|0,e[v9>>2]=d9),H9=(d9|0)==0,H9){A=ke,$=c0;break}Ke=e[138266]|0,V9=d9>>>0>>0,V9&&v2(),h9=d9+24|0,e[h9>>2]=P3,t0=16-P6|0,U9=t+t0|0,E9=e[U9>>2]|0,v4=(E9|0)==0;do if(!v4)if(Ze=E9>>>0>>0,Ze)v2();else{k4=d9+16|0,e[k4>>2]=E9,V4=E9+24|0,e[V4>>2]=d9;break}while(!1);if(Z=t0+4|0,nt=t+Z|0,Y9=e[nt>>2]|0,Y4=(Y9|0)==0,Y4)A=ke,$=c0;else if(z9=e[138266]|0,s4=Y9>>>0>>0,s4)v2();else{R4=d9+20|0,e[R4>>2]=Y9,st=Y9+24|0,e[st>>2]=d9,A=ke,$=c0;break}}}else A=t,$=s;while(!1);if(n0=e[138266]|0,f0=e0>>>0>>0,f0&&v2(),v=s+4|0,p0=t+v|0,C0=e[p0>>2]|0,y0=C0&2,D0=(y0|0)==0,D0){if(E0=e[138268]|0,Q0=(e0|0)==(E0|0),Q0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=A,x0=B0|1,Z0=A+4|0,e[Z0>>2]=x0,R0=e[138267]|0,v0=(A|0)==(R0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(U0=e[138267]|0,O0=(e0|0)==(U0|0),O0){H0=e[138264]|0,k0=H0+$|0,e[138264]=k0,e[138267]=A,K0=k0|1,N0=A+4|0,e[N0>>2]=K0,M0=A+k0|0,e[M0>>2]=k0;return}P0=C0&-8,W0=P0+$|0,J0=C0>>>3,j0=C0>>>0<256;do if(j0){if(L=s+8|0,q0=t+L|0,Y0=e[q0>>2]|0,R=s+12|0,o1=t+R|0,z0=e[o1>>2]|0,r1=J0<<1,L0=553088+(r1<<2)|0,s1=(Y0|0)==(L0|0),s1||(d1=Y0>>>0>>0,d1&&v2(),u1=Y0+12|0,f1=e[u1>>2]|0,h1=(f1|0)==(e0|0),h1||v2()),A1=(z0|0)==(Y0|0),A1){g1=1<>>0>>0,p1&&v2(),Q1=z0+8|0,y1=e[Q1>>2]|0,v1=(y1|0)==(e0|0),v1?I=Q1:v2()),k1=Y0+12|0,e[k1>>2]=z0,e[I>>2]=Y0}else{V=s+24|0,S1=t+V|0,L1=e[S1>>2]|0,o0=s+12|0,M1=t+o0|0,b1=e[M1>>2]|0,_1=(b1|0)==(e0|0);do if(_1){if(s0=s+20|0,V1=t+s0|0,Y1=e[V1>>2]|0,z1=(Y1|0)==0,z1)if(J=s+16|0,o2=t+J|0,e2=e[o2>>2]|0,q1=(e2|0)==0,q1){s9=0;break}else T9=e2,k9=o2;else T9=Y1,k9=V1;for(;;){if(h2=T9+20|0,Z1=e[h2>>2]|0,I2=(Z1|0)==0,!I2){T9=Z1,k9=h2;continue}if(A2=T9+16|0,C2=e[A2>>2]|0,$2=(C2|0)==0,$2){h4=T9,o4=k9;break}else T9=C2,k9=A2}if(W1=o4>>>0>>0,W1)v2();else{e[o4>>2]=0,s9=h4;break}}else if(Q=s+8|0,R1=t+Q|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),O1=F1+12|0,X1=e[O1>>2]|0,G1=(X1|0)==(e0|0),G1||v2(),x1=b1+8|0,J1=e[x1>>2]|0,H1=(J1|0)==(e0|0),H1){e[O1>>2]=b1,e[x1>>2]=F1,s9=b1;break}else v2();while(!1);if(g2=(L1|0)==0,!g2){if(d0=s+28|0,n2=t+d0|0,u2=e[n2>>2]|0,s2=553352+(u2<<2)|0,l2=e[s2>>2]|0,i2=(e0|0)==(l2|0),i2){if(e[s2>>2]=s9,z4=(s9|0)==0,z4){a2=1<>>0>>0,y2&&v2(),G2=L1+16|0,M2=e[G2>>2]|0,O2=(M2|0)==(e0|0),O2?e[G2>>2]=s9:(p2=L1+20|0,e[p2>>2]=s9),W2=(s9|0)==0,W2)break;q2=e[138266]|0,K2=s9>>>0>>0,K2&&v2(),U2=s9+24|0,e[U2>>2]=L1,i0=s+16|0,A5=t+i0|0,Y2=e[A5>>2]|0,N1=(Y2|0)==0;do if(!N1)if(t5=Y2>>>0>>0,t5)v2();else{T5=s9+16|0,e[T5>>2]=Y2,i5=Y2+24|0,e[i5>>2]=s9;break}while(!1);if(_=s+20|0,L5=t+_|0,j2=e[L5>>2]|0,m5=(j2|0)==0,!m5)if(D5=e[138266]|0,u5=j2>>>0>>0,u5)v2();else{b2=s9+20|0,e[b2>>2]=j2,B5=j2+24|0,e[B5>>2]=s9;break}}}while(!1);if(o5=W0|1,F2=A+4|0,e[F2>>2]=o5,R2=A+W0|0,e[R2>>2]=W0,Q2=e[138267]|0,y5=(A|0)==(Q2|0),y5){e[138264]=W0;return}else g=W0}else N5=C0&-2,e[p0>>2]=N5,p5=$|1,q5=A+4|0,e[q5>>2]=p5,R5=A+$|0,e[R5>>2]=$,g=$;if(z2=g>>>3,E5=g>>>0<256,E5){$5=z2<<1,h5=553088+($5<<2)|0,Q5=e[138262]|0,T1=1<>2]|0,r5=e[138266]|0,a5=w5>>>0>>0,a5?v2():(y=d2,u4=w5)),e[y>>2]=A,f5=u4+12|0,e[f5>>2]=A,J2=A+8|0,e[J2>>2]=u4,I5=A+12|0,e[I5>>2]=h5;return}if(n5=g>>>8,F5=(n5|0)==0,F5?C9=0:(c5=g>>>0>16777215,c5?C9=31:(T2=n5+1048320|0,v5=T2>>>16,z5=v5&8,i3=n5<>>16,d3=I3&4,W5=d3|z5,r3=i3<>>16,Z5=G5&2,x3=W5|Z5,f3=14-x3|0,w3=r3<>>15,V3=f3+e6|0,X5=V3<<1,_3=V3+7|0,a6=g>>>_3,G3=a6&1,Y3=G3|X5,C9=Y3)),c3=553352+(C9<<2)|0,g3=A+28|0,e[g3>>2]=C9,u3=A+16|0,Q3=A+20|0,e[Q3>>2]=0,e[u3>>2]=0,K5=e[138263]|0,H5=1<>2]=A,l6=A+24|0,e[l6>>2]=c3,n3=A+12|0,e[n3>>2]=A,l3=A+8|0,e[l3>>2]=A;return}U3=e[c3>>2]|0,C6=U3+4|0,b3=e[C6>>2]|0,L3=b3&-8,D3=(L3|0)==(g|0);e:do if(D3)P9=U3;else{for(r6=(C9|0)==31,K3=C9>>>1,j5=25-K3|0,M3=r6?0:j5,h3=g<>>31,f6=(I4+16|0)+(n6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){d=f6,Se=I4;break}if(J3=T6<<1,d6=m3+4|0,x6=e[d6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){P9=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=d>>>0>>0,j6&&v2(),e[d>>2]=A,k6=A+24|0,e[k6>>2]=Se,R3=A+12|0,e[R3>>2]=A,s6=A+8|0,e[s6>>2]=A;return}while(!1);o6=P9+8|0,F3=e[o6>>2]|0,Z3=e[138266]|0,t6=F3>>>0>=Z3>>>0,f9=P9>>>0>=Z3>>>0,R6=t6&f9,R6||v2(),c6=F3+12|0,e[c6>>2]=A,e[o6>>2]=A,s3=A+8|0,e[s3>>2]=F3,K6=A+12|0,e[K6>>2]=P9,A3=A+24|0,e[A3>>2]=0}function BD(){e[6410]=We}function g4(t,s,A){t=t|0,s=s|0,A=A|0;var $=0,g=0,d=0,p=0;if($=t+A|0,(A|0)>=20){if(s=s&255,p=t&3,g=s|s<<8|s<<16|s<<24,d=$&-4,p)for(p=t+4-p|0;(t|0)<(p|0);)f[t>>0]=s,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=s,t=t+1|0;return t-A|0}function al(t){t=t|0;var s=0;for(s=t;f[s>>0]|0;)s=s+1|0;return s-t|0}function Yy(t,s){t=t|0,s=s|0;var A=0,$=0;$=t+(al(t)|0)|0;do f[$+A>>0]=f[s+A>>0],A=A+1|0;while(f[s+(A-1)>>0]|0);return t|0}function zy(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>>32-A,t<>>0,d=s+$+(g>>>0>>0|0)>>>0,Z6=d,g|0|0}function no(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>>A,t>>>A|(s&$)<<32-A):(Z6=0,s>>>A-32|0)}function c9(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;if((A|0)>=4096)return xS(t|0,s|0,A|0)|0;if($=t|0,(t&3)==(s&3)){for(;t&3;){if(!(A|0))return $|0;f[t>>0]=f[s>>0]|0,t=t+1|0,s=s+1|0,A=A-1|0}for(;(A|0)>=4;)e[t>>2]=e[s>>2]|0,t=t+4|0,s=s+4|0,A=A-4|0}for(;(A|0)>0;)f[t>>0]=f[s>>0]|0,t=t+1|0,s=s+1|0,A=A-1|0;return $|0}function $A(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;if((s|0)<(t|0)&(t|0)<(s+A|0)){for($=t,s=s+A|0,t=t+A|0;(A|0)>0;)t=t-1|0,s=s-1|0,A=A-1|0,f[t>>0]=f[s>>0]|0;t=$}else c9(t,s,A)|0;return t|0}function FC(t,s){t=t|0,s=s|0;var A=0;do f[(t+A|0)>>0]=f[(s+A|0)>>0],A=A+1|0;while(f[s+(A-1)>>0]|0);return t|0}function so(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0;return g=t-A>>>0,d=s-$>>>0,d=s-$-(A>>>0>t>>>0|0)>>>0,Z6=d,g|0|0}function Z_(t,s,A){t=t|0,s=s|0,A=A|0;var $=0;return(A|0)<32?($=(1<>A,t>>>A|(s&$)<<32-A):(Z6=(s|0)<0?-1:0,s>>A-32|0)}function Ky(t){t=t|0;var s=0;return s=f[Ue+(t&255)>>0]|0,(s|0)<8?s|0:(s=f[Ue+(t>>8&255)>>0]|0,(s|0)<8?s+8|0:(s=f[Ue+(t>>16&255)>>0]|0,(s|0)<8?s+16|0:(f[Ue+(t>>>24)>>0]|0)+24|0))}function yD(t,s){t=t|0,s=s|0;var A=0,$=0,g=0,d=0,p=0,I=0,E=0;return A=t&65535,$=s&65535,g=s5($,A)|0,d=t>>>16,p=(g>>>16)+(s5($,d)|0)|0,I=s>>>16,E=s5(I,A)|0,Z6=((p>>>16)+(s5(I,d)|0)|0)+(((p&65535)+E|0)>>>16)|0,0|(p+E<<16|g&65535)|0}function j_(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return g=s>>31|((s|0)<0?-1:0)<<1,d=((s|0)<0?-1:0)>>31|((s|0)<0?-1:0)<<1,p=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=so(g^t,d^s,g,d)|0,y=Z6,B=so(p^A,I^$,p,I)|0,b=p^g,D=I^d,k=lE(E,y,B,Z6,0)|0,v=so(k^b,Z6^D,b,D)|0,v|0}function X_(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0;return v=C,C=C+8|0,g=v|0,d=s>>31|((s|0)<0?-1:0)<<1,p=((s|0)<0?-1:0)>>31|((s|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,y=so(d^t,p^s,d,p)|0,B=Z6,b=so(I^A,E^$,I,E)|0,lE(y,B,b,Z6,g)|0,D=so(e[g>>2]^d,e[g+4>>2]^p,d,p)|0,k=Z6,C=v,Z6=k,D|0}function QD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0,p=0,I=0,E=0;return g=t,d=A,p=yD(g,d)|0,I=Z6,E=s5(s,d)|0,Z6=((s5($,g)|0)+E|0)+I|I&0,0|p&-1|0}function ex(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0;return g=lE(t,s,A,$,0)|0,g|0}function tx(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,lE(t,s,A,$,g)|0,C=d,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function lE(t,s,A,$,g){t=t|0,s=s|0,A=A|0,$=$|0,g=g|0;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,v=0,_=0,Q=0,L=0,R=0,M=0,N=0,G=0,O=0,q=0,V=0,K=0,t0=0,Z=0,A0=0,j=0,r0=0,o0=0,J=0,s0=0,Y=0,d0=0,i0=0,e0=0,h0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,f0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0,Z0=0,R0=0,v0=0,G0=0,U0=0,O0=0,H0=0,k0=0,K0=0,N0=0,M0=0;if(d=t,p=s,I=p,E=A,y=$,B=y,!(I|0))return b=(g|0)!=0,B|0?b?(e[g>>2]=t&-1,e[g+4>>2]=s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0):(b&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,N0=(d>>>0)/(E>>>0)>>>0,Z6=M0,N0|0);D=(B|0)==0;do if(E|0){if(!D){if(Z=io(B|0)|0,A0=Z-(io(I|0)|0)|0,A0>>>0<=31){j=A0+1|0,r0=31-A0|0,o0=A0-31>>31,i0=j,d0=d>>>(j>>>0)&o0|I<>>(j>>>0)&o0,s0=0,J=d<>2]=0|t&-1,e[g+4>>2]=p|s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0)}if(R=E-1|0,R&E|0){N=(io(E|0)|0)+33|0,G=N-(io(I|0)|0)|0,O=64-G|0,q=32-G|0,V=q>>31,K=G-32|0,t0=K>>31,i0=G,d0=q-1>>31&I>>>(K>>>0)|(I<>>(G>>>0))&t0,Y=t0&I>>>(G>>>0),s0=d<>>(K>>>0))&V|d<>31;break}return g|0&&(e[g>>2]=R&d,e[g+4>>2]=0),(E|0)==1?(M0=p|s&0,N0=0|t&-1,Z6=M0,N0|0):(M=Ky(E|0)|0,M0=0|I>>>(M>>>0),N0=I<<32-M|d>>>(M>>>0)|0,Z6=M0,N0|0)}else{if(D)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,N0=(I>>>0)/(E>>>0)>>>0,Z6=M0,N0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),M0=0,N0=(I>>>0)/(B>>>0)>>>0,Z6=M0,N0|0;if(k=B-1|0,!(k&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=k&I|s&0),M0=0,N0=I>>>((Ky(B|0)|0)>>>0),Z6=M0,N0|0;if(v=io(B|0)|0,_=v-(io(I|0)|0)|0,_>>>0<=30){Q=_+1|0,L=31-_|0,i0=Q,d0=I<>>(Q>>>0),Y=I>>>(Q>>>0),s0=0,J=d<>2]=0|t&-1,e[g+4>>2]=p|s&0,M0=0,N0=0,Z6=M0,N0|0):(M0=0,N0=0,Z6=M0,N0|0)}while(!1);if(!(i0|0))O0=J,U0=s0,G0=Y,v0=d0,R0=0,Z0=0;else{for(e0=0|A&-1,h0=y|$&0,c0=ro(e0|0,h0|0,-1,-1)|0,$0=Z6,n0=J,I0=s0,g0=Y,m0=d0,X=i0,l0=0;f0=I0>>>31|n0<<1,p0=l0|I0<<1,C0=0|(m0<<1|n0>>>31),b0=m0>>>31|g0<<1|0,so(c0,$0,C0,b0)|0,y0=Z6,D0=y0>>31|((y0|0)<0?-1:0)<<1,E0=D0&1,Q0=so(C0,b0,D0&e0,(((y0|0)<0?-1:0)>>31|((y0|0)<0?-1:0)<<1)&h0)|0,w0=Q0,B0=Z6,x0=X-1|0,x0|0;)n0=f0,I0=p0,g0=B0,m0=w0,X=x0,l0=E0;O0=f0,U0=p0,G0=B0,v0=w0,R0=0,Z0=E0}return H0=U0,k0=0,K0=O0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=G0|0),M0=(0|H0)>>>31|K0<<1|(k0<<1|H0>>>31)&0|R0,N0=(H0<<1|0)&-2|Z0,Z6=M0,N0|0}function wD(t,s,A,$,g){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,GC[t&3](s|0,A|0,$|0,g|0)|0}function vD(t,s){t=t|0,s=s|0,oo[t&7](s|0)}function kD(t,s,A){t=t|0,s=s|0,A=A|0,UC[t&3](s|0,A|0)}function SD(t,s){return t=t|0,s=s|0,Zy[t&1](s|0)|0}function bD(t,s,A,$){t=t|0,s=s|0,A=A|0,$=$|0,jy[t&1](s|0,A|0,$|0)}function DD(t,s,A,$,g,d,p,I,E){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0,E=E|0,Xy[t&3](s|0,A|0,$|0,g|0,d|0,p|0,I|0,E|0)|0}function _D(t,s,A){return t=t|0,s=s|0,A=A|0,pi[t&15](s|0,A|0)|0}function xD(t,s,A,$,g,d){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,PC[t&7](s|0,A|0,$|0,g|0,d|0)|0}function LD(t,s,A,$){return t=t|0,s=s|0,A=A|0,$=$|0,nn(0),0}function TC(t){t=t|0,nn(1)}function Jy(t,s){t=t|0,s=s|0,nn(2)}function MD(t){return t=t|0,nn(3),0}function RD(t,s,A){t=t|0,s=s|0,A=A|0,nn(4)}function Wy(t,s,A,$,g,d,p,I){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0,nn(5),0}function Al(t,s){return t=t|0,s=s|0,nn(6),0}function NC(t,s,A,$,g){return t=t|0,s=s|0,A=A|0,$=$|0,g=g|0,nn(7),0}var GC=[LD,Eb,nb,sb],oo=[TC,Ib,mb,Db,qb,Hb,TC,TC],UC=[Jy,hb,Vb,Jy],Zy=[MD,_b],jy=[RD,Sb],Xy=[Wy,Jb,Xb,Wy],pi=[Al,db,fb,pb,bb,xb,Yb,zb,Cb,Ob,sD,Al,Al,Al,Al,Al],PC=[NC,Kb,Wb,Zb,jb,eD,NC,NC];return{_memmove:$A,_strlen:al,_strcat:Yy,_free:E2,_i64Add:ro,_encoder_clear:uD,_encoder_transfer_data:ID,_encoder_data_len:fD,_memset:g4,_malloc:Re,_memcpy:c9,_encoder_init:gD,_encoder_process:dD,_bitshift64Lshr:no,_bitshift64Shl:zy,_strcpy:FC,_encoder_analysis_buffer:hD,runPostSets:BD,stackAlloc:RS,stackSave:FS,stackRestore:TS,establishStackSpace:NS,setThrew:GS,setTempRet0:US,getTempRet0:PS,dynCall_iiiii:wD,dynCall_vi:vD,dynCall_vii:kD,dynCall_ii:SD,dynCall_viii:bD,dynCall_iiiiiiiii:DD,dynCall_iii:_D,dynCall_iiiiii:xD}}(n.asmGlobalArg,n.asmLibraryArg,P7),v_=n.runPostSets=t9.runPostSets,fS=n._strlen=t9._strlen,IS=n._strcat=t9._strcat,QC=n._free=t9._free,k_=n._encoder_init=t9._encoder_init,mS=n._i64Add=t9._i64Add,pS=n._memmove=t9._memmove,S_=n._encoder_transfer_data=t9._encoder_transfer_data,b_=n._encoder_process=t9._encoder_process,D_=n._encoder_data_len=t9._encoder_data_len,ES=n._memset=t9._memset,Ru=n._malloc=t9._malloc,CS=n._memcpy=t9._memcpy,__=n._encoder_clear=t9._encoder_clear,BS=n._bitshift64Lshr=t9._bitshift64Lshr,x_=n._encoder_analysis_buffer=t9._encoder_analysis_buffer,yS=n._strcpy=t9._strcpy,QS=n._bitshift64Shl=t9._bitshift64Shl,L_=n.dynCall_iiiii=t9.dynCall_iiiii,M_=n.dynCall_vi=t9.dynCall_vi,R_=n.dynCall_vii=t9.dynCall_vii,F_=n.dynCall_ii=t9.dynCall_ii,T_=n.dynCall_viii=t9.dynCall_viii,N_=n.dynCall_iiiiiiiii=t9.dynCall_iiiiiiiii,G_=n.dynCall_iii=t9.dynCall_iii,U_=n.dynCall_iiiiii=t9.dynCall_iiiiii;w.stackAlloc=t9.stackAlloc,w.stackSave=t9.stackSave,w.stackRestore=t9.stackRestore,w.establishStackSpace=t9.establishStackSpace,w.setTempRet0=t9.setTempRet0,w.getTempRet0=t9.getTempRet0;var P_=function(){var r={math:{}};r.math.Long=function(W,_0){this.low_=W|0,this.high_=_0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(W){if(-128<=W&&W<128){var _0=r.math.Long.IntCache_[W];if(_0)return _0}var t1=new r.math.Long(W|0,W<0?-1:0);return-128<=W&&W<128&&(r.math.Long.IntCache_[W]=t1),t1},r.math.Long.fromNumber=function(W){return isNaN(W)||!isFinite(W)?r.math.Long.ZERO:W<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:W+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:W<0?r.math.Long.fromNumber(-W).negate():new r.math.Long(W%r.math.Long.TWO_PWR_32_DBL_|0,W/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(W,_0){return new r.math.Long(W,_0)},r.math.Long.fromString=function(W,_0){if(W.length==0)throw Error("number format error: empty string");var t1=_0||10;if(t1<2||36=0)throw Error('number format error: interior "-" character: '+W);for(var B2=r.math.Long.fromNumber(Math.pow(t1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var W=this.high_!=0?this.high_:this.low_,_0=31;_0>0&&!(W&1<<_0);_0--);return this.high_!=0?_0+33:_0+1},r.math.Long.prototype.isZero=function(){return this.high_==0&&this.low_==0},r.math.Long.prototype.isNegative=function(){return this.high_<0},r.math.Long.prototype.isOdd=function(){return(this.low_&1)==1},r.math.Long.prototype.equals=function(W){return this.high_==W.high_&&this.low_==W.low_},r.math.Long.prototype.notEquals=function(W){return this.high_!=W.high_||this.low_!=W.low_},r.math.Long.prototype.lessThan=function(W){return this.compare(W)<0},r.math.Long.prototype.lessThanOrEqual=function(W){return this.compare(W)<=0},r.math.Long.prototype.greaterThan=function(W){return this.compare(W)>0},r.math.Long.prototype.greaterThanOrEqual=function(W){return this.compare(W)>=0},r.math.Long.prototype.compare=function(W){if(this.equals(W))return 0;var _0=this.isNegative(),t1=W.isNegative();return _0&&!t1?-1:!_0&&t1?1:this.subtract(W).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(W){var _0=this.high_>>>16,t1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=W.high_>>>16,N3=W.high_&65535,ie=W.low_>>>16,He=W.low_&65535,Pe=0,i4=0,Ai=0,nr=0;return nr+=e3+He,Ai+=nr>>>16,nr&=65535,Ai+=B2+ie,i4+=Ai>>>16,Ai&=65535,i4+=t1+N3,Pe+=i4>>>16,i4&=65535,Pe+=_0+O5,Pe&=65535,r.math.Long.fromBits(Ai<<16|nr,Pe<<16|i4)},r.math.Long.prototype.subtract=function(W){return this.add(W.negate())},r.math.Long.prototype.multiply=function(W){if(this.isZero())return r.math.Long.ZERO;if(W.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return W.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(W.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return W.isNegative()?this.negate().multiply(W.negate()):this.negate().multiply(W).negate();if(W.isNegative())return this.multiply(W.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&W.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*W.toNumber());var _0=this.high_>>>16,t1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=W.high_>>>16,N3=W.high_&65535,ie=W.low_>>>16,He=W.low_&65535,Pe=0,i4=0,Ai=0,nr=0;return nr+=e3*He,Ai+=nr>>>16,nr&=65535,Ai+=B2*He,i4+=Ai>>>16,Ai&=65535,Ai+=e3*ie,i4+=Ai>>>16,Ai&=65535,i4+=t1*He,Pe+=i4>>>16,i4&=65535,i4+=B2*ie,Pe+=i4>>>16,i4&=65535,i4+=e3*N3,Pe+=i4>>>16,i4&=65535,Pe+=_0*He+t1*ie+B2*N3+e3*O5,Pe&=65535,r.math.Long.fromBits(Ai<<16|nr,Pe<<16|i4)},r.math.Long.prototype.div=function(W){if(W.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(W.equals(r.math.Long.ONE)||W.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(W.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var _0=this.shiftRight(1),t1=_0.div(W).shiftLeft(1);if(t1.equals(r.math.Long.ZERO))return W.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(W.multiply(t1)),B2=t1.add(O5.div(W));return B2}else if(W.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return W.isNegative()?this.negate().div(W.negate()):this.negate().div(W).negate();if(W.isNegative())return this.div(W.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(W);){for(var t1=Math.max(1,Math.floor(O5.toNumber()/W.toNumber())),N3=Math.ceil(Math.log(t1)/Math.LN2),ie=N3<=48?1:Math.pow(2,N3-48),He=r.math.Long.fromNumber(t1),Pe=He.multiply(W);Pe.isNegative()||Pe.greaterThan(O5);)t1-=ie,He=r.math.Long.fromNumber(t1),Pe=He.multiply(W);He.isZero()&&(He=r.math.Long.ONE),e3=e3.add(He),O5=O5.subtract(Pe)}return e3},r.math.Long.prototype.modulo=function(W){return this.subtract(this.div(W).multiply(W))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(W){return r.math.Long.fromBits(this.low_&W.low_,this.high_&W.high_)},r.math.Long.prototype.or=function(W){return r.math.Long.fromBits(this.low_|W.low_,this.high_|W.high_)},r.math.Long.prototype.xor=function(W){return r.math.Long.fromBits(this.low_^W.low_,this.high_^W.high_)},r.math.Long.prototype.shiftLeft=function(W){if(W&=63,W==0)return this;var _0=this.low_;if(W<32){var t1=this.high_;return r.math.Long.fromBits(_0<>>32-W)}else return r.math.Long.fromBits(0,_0<>>W|_0<<32-W,_0>>W)}else return r.math.Long.fromBits(_0>>W-32,_0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(W){if(W&=63,W==0)return this;var _0=this.high_;if(W<32){var t1=this.low_;return r.math.Long.fromBits(t1>>>W|_0<<32-W,_0>>>W)}else return W==32?r.math.Long.fromBits(_0,0):r.math.Long.fromBits(_0>>>W-32,0)};var c={appName:"Modern Browser"},h,f=0xdeadbeefcafe,z=(f&16777215)==15715070;function e(W,_0,t1){W!=null&&(typeof W=="number"?this.fromNumber(W,_0,t1):_0==null&&typeof W!="string"?this.fromString(W,256):this.fromString(W,_0))}function e1(){return new e(null)}function n1(W,_0,t1,B2,e3,O5){for(;--O5>=0;){var N3=_0*this[W++]+t1[B2]+e3;e3=Math.floor(N3/67108864),t1[B2++]=N3&67108863}return e3}function x2(W,_0,t1,B2,e3,O5){for(var N3=_0&32767,ie=_0>>15;--O5>=0;){var He=this[W]&32767,Pe=this[W++]>>15,i4=ie*He+Pe*N3;He=N3*He+((i4&32767)<<15)+t1[B2]+(e3&1073741823),e3=(He>>>30)+(i4>>>15)+ie*Pe+(e3>>>30),t1[B2++]=He&1073741823}return e3}function o(W,_0,t1,B2,e3,O5){for(var N3=_0&16383,ie=_0>>14;--O5>=0;){var He=this[W]&16383,Pe=this[W++]>>14,i4=ie*He+Pe*N3;He=N3*He+((i4&16383)<<14)+t1[B2]+e3,e3=(He>>28)+(i4>>14)+ie*Pe,t1[B2++]=He&268435455}return e3}z&&c.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,h=30):z&&c.appName!="Netscape"?(e.prototype.am=n1,h=26):(e.prototype.am=o,h=28),e.prototype.DB=h,e.prototype.DM=(1<=0;--_0)W[_0]=this[_0];W.t=this.t,W.s=this.s}function Dt(W){this.t=1,this.s=W<0?-1:0,W>0?this[0]=W:W<-1?this[0]=W+DV:this.t=0}function i9(W){var _0=e1();return _0.fromInt(W),_0}function It(W,_0){var t1;if(_0==16)t1=4;else if(_0==8)t1=3;else if(_0==256)t1=8;else if(_0==2)t1=1;else if(_0==32)t1=5;else if(_0==4)t1=2;else{this.fromRadix(W,_0);return}this.t=0,this.s=0;for(var B2=W.length,e3=!1,O5=0;--B2>=0;){var N3=t1==8?W[B2]&255:We(W,B2);if(N3<0){W.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=N3:O5+t1>this.DB?(this[this.t-1]|=(N3&(1<>this.DB-O5):this[this.t-1]|=N3<=this.DB&&(O5-=this.DB)}t1==8&&W[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==W;)--this.t}function V7(W){if(this.s<0)return"-"+this.negate().toString(W);var _0;if(W==16)_0=4;else if(W==8)_0=3;else if(W==2)_0=1;else if(W==32)_0=5;else if(W==4)_0=2;else return this.toRadix(W);var t1=(1<<_0)-1,B2,e3=!1,O5="",N3=this.t,ie=this.DB-N3*this.DB%_0;if(N3-- >0)for(ie>ie)>0&&(e3=!0,O5=Ue(B2));N3>=0;)ie<_0?(B2=(this[N3]&(1<>(ie+=this.DB-_0)):(B2=this[N3]>>(ie-=_0)&t1,ie<=0&&(ie+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=Ue(B2));return e3?O5:"0"}function Y7(){var W=e1();return e.ZERO.subTo(this,W),W}function kr(){return this.s<0?this.negate():this}function nl(W){var _0=this.s-W.s;if(_0!=0)return _0;var t1=this.t;if(_0=t1-W.t,_0!=0)return this.s<0?-_0:_0;for(;--t1>=0;)if((_0=this[t1]-W[t1])!=0)return _0;return 0}function iE(W){var _0=1,t1;return(t1=W>>>16)!=0&&(W=t1,_0+=16),(t1=W>>8)!=0&&(W=t1,_0+=8),(t1=W>>4)!=0&&(W=t1,_0+=4),(t1=W>>2)!=0&&(W=t1,_0+=2),(t1=W>>1)!=0&&(W=t1,_0+=1),_0}function zB(){return this.t<=0?0:this.DB*(this.t-1)+iE(this[this.t-1]^this.s&this.DM)}function KB(W,_0){var t1;for(t1=this.t-1;t1>=0;--t1)_0[t1+W]=this[t1];for(t1=W-1;t1>=0;--t1)_0[t1]=0;_0.t=this.t+W,_0.s=this.s}function JB(W,_0){for(var t1=W;t1=0;--ie)_0[ie+O5+1]=this[ie]>>B2|N3,N3=(this[ie]&e3)<=0;--ie)_0[ie]=0;_0[O5]=N3,_0.t=this.t+O5+1,_0.s=this.s,_0.clamp()}function ZB(W,_0){_0.s=this.s;var t1=Math.floor(W/this.DB);if(t1>=this.t){_0.t=0;return}var B2=W%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var N3=t1+1;N3>B2;B2>0&&(_0[this.t-t1-1]|=(this.s&O5)<>=this.DB;if(W.t>=this.DB;B2+=this.s}else{for(B2+=this.s;t1>=this.DB;B2-=W.s}_0.s=B2<0?-1:0,B2<-1?_0[t1++]=this.DV+B2:B2>0&&(_0[t1++]=B2),_0.t=t1,_0.clamp()}function jB(W,_0){var t1=this.abs(),B2=W.abs(),e3=t1.t;for(_0.t=e3+B2.t;--e3>=0;)_0[e3]=0;for(e3=0;e3=0;)W[t1]=0;for(t1=0;t1<_0.t-1;++t1){var B2=_0.am(t1,_0[t1],W,2*t1,0,1);(W[t1+_0.t]+=_0.am(t1+1,2*_0[t1],W,2*t1+1,B2,_0.t-t1-1))>=_0.DV&&(W[t1+_0.t]-=_0.DV,W[t1+_0.t+1]=1)}W.t>0&&(W[W.t-1]+=_0.am(t1,_0[t1],W,2*t1,0,1)),W.s=0,W.clamp()}function ey(W,_0,t1){var B2=W.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(He,O5),e3.lShiftTo(He,t1)):(B2.copyTo(O5),e3.copyTo(t1));var Pe=O5.t,i4=O5[Pe-1];if(i4!=0){var Ai=i4*(1<1?O5[Pe-2]>>this.F2:0),nr=this.FV/Ai,gy=(1<=0&&(t1[t1.t++]=1,t1.subTo(Oi,t1)),e.ONE.dlShiftTo(Pe,Oi),Oi.subTo(O5,O5);O5.t=0;){var rE=t1[--AA]==i4?this.DM:Math.floor(t1[AA]*nr+(t1[AA-1]+uy)*gy);if((t1[AA]+=O5.am(0,rE,t1,Tu,0,Pe))0&&t1.rShiftTo(He,t1),N3<0&&e.ZERO.subTo(t1,t1)}}}function ty(W){var _0=e1();return this.abs().divRemTo(W,null,_0),this.s<0&&_0.compareTo(e.ZERO)>0&&W.subTo(_0,_0),_0}function sA(W){this.m=W}function iy(W){return W.s<0||W.compareTo(this.m)>=0?W.mod(this.m):W}function ry(W){return W}function ny(W){W.divRemTo(this.m,null,W)}function sy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}function oA(W,_0){W.squareTo(_0),this.reduce(_0)}sA.prototype.convert=iy,sA.prototype.revert=ry,sA.prototype.reduce=ny,sA.prototype.mulTo=sy,sA.prototype.sqrTo=oA;function rr(){if(this.t<1)return 0;var W=this[0];if(!(W&1))return 0;var _0=W&3;return _0=_0*(2-(W&15)*_0)&15,_0=_0*(2-(W&255)*_0)&255,_0=_0*(2-((W&65535)*_0&65535))&65535,_0=_0*(2-W*_0%this.DV)%this.DV,_0>0?this.DV-_0:-_0}function Hn(W){this.m=W,this.mp=W.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(_0,_0),_0}function aA(W){var _0=e1();return W.copyTo(_0),this.reduce(_0),_0}function Vn(W){for(;W.t<=this.mt2;)W[W.t++]=0;for(var _0=0;_0>15)*this.mpl&this.um)<<15)&W.DM;for(t1=_0+this.m.t,W[t1]+=this.m.am(0,B2,W,_0,0,this.m.t);W[t1]>=W.DV;)W[t1]-=W.DV,W[++t1]++}W.clamp(),W.drShiftTo(this.m.t,W),W.compareTo(this.m)>=0&&W.subTo(this.m,W)}function oy(W,_0){W.squareTo(_0),this.reduce(_0)}function ay(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}Hn.prototype.convert=Fu,Hn.prototype.revert=aA,Hn.prototype.reduce=Vn,Hn.prototype.mulTo=ay,Hn.prototype.sqrTo=oy;function Ay(){return(this.t>0?this[0]&1:this.s)==0}function to(W,_0){if(W>4294967295||W<1)return e.ONE;var t1=e1(),B2=e1(),e3=_0.convert(this),O5=iE(W)-1;for(e3.copyTo(t1);--O5>=0;)if(_0.sqrTo(t1,B2),(W&1<0)_0.mulTo(B2,e3,t1);else{var N3=t1;t1=B2,B2=N3}return _0.revert(t1)}function $y(W,_0){var t1;return W<256||_0.isEven()?t1=new sA(_0):t1=new Hn(_0),this.exp(W,t1)}e.prototype.copyTo=y9,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=KB,e.prototype.drShiftTo=JB,e.prototype.lShiftTo=WB,e.prototype.rShiftTo=ZB,e.prototype.subTo=Z6,e.prototype.multiplyTo=jB,e.prototype.squareTo=XB,e.prototype.divRemTo=ey,e.prototype.invDigit=rr,e.prototype.isEven=Ay,e.prototype.exp=to,e.prototype.toString=V7,e.prototype.negate=Y7,e.prototype.abs=kr,e.prototype.compareTo=nl,e.prototype.bitLength=zB,e.prototype.mod=ty,e.prototype.modPowInt=$y,e.ZERO=i9(0),e.ONE=i9(1);function Yn(W,_0){this.fromInt(0),_0==null&&(_0=10);for(var t1=this.chunkSize(_0),B2=Math.pow(_0,t1),e3=!1,O5=0,N3=0,ie=0;ie=t1&&(this.dMultiply(B2),this.dAddOffset(N3,0),O5=0,N3=0)}O5>0&&(this.dMultiply(Math.pow(_0,O5)),this.dAddOffset(N3,0)),e3&&e.ZERO.subTo(this,this)}function rn(W){return Math.floor(Math.LN2*this.DB/Math.log(W))}function vC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function s5(W){this[this.t]=this.am(0,W-1,this,0,0,this.t),++this.t,this.clamp()}function ly(W,_0){if(W!=0){for(;this.t<=_0;)this[this.t++]=0;for(this[_0]+=W;this[_0]>=this.DV;)this[_0]-=this.DV,++_0>=this.t&&(this[this.t++]=0),++this[_0]}}function io(W){if(W==null&&(W=10),this.signum()==0||W<2||W>36)return"0";var _0=this.chunkSize(W),t1=Math.pow(W,_0),B2=i9(t1),e3=e1(),O5=e1(),N3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)N3=(t1+O5.intValue()).toString(W).substr(1)+N3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(W)+N3}function nn(){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(W.t>=this.DB;B2+=this.s}else{for(B2+=this.s;t1>=this.DB;B2+=W.s}_0.s=B2<0?-1:0,B2>0?_0[t1++]=B2:B2<-1&&(_0[t1++]=this.DV+B2),_0.t=t1,_0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=rn,e.prototype.signum=vC,e.prototype.dMultiply=s5,e.prototype.dAddOffset=ly,e.prototype.toRadix=io,e.prototype.intValue=nn,e.prototype.addTo=cy;var c7={abs:function(W,_0){var t1=new r.math.Long(W,_0),B2;t1.isNegative()?B2=t1.negate():B2=t1,Ge[bt>>2]=B2.low_,Ge[bt+4>>2]=B2.high_},ensureTemps:function(){c7.ensuredTemps||(c7.ensuredTemps=!0,c7.two32=new e,c7.two32.fromString("4294967296",10),c7.two64=new e,c7.two64.fromString("18446744073709551616",10),c7.temp1=new e,c7.temp2=new e)},lh2bignum:function(W,_0){var t1=new e;t1.fromString(_0.toString(),10);var B2=new e;t1.multiplyTo(c7.two32,B2);var e3=new e;e3.fromString(W.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(W,_0,t1){var B2=new r.math.Long(W,_0).toString();if(t1&&B2[0]=="-"){c7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,c7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(W,_0,t1,B2,e3){c7.ensureTemps();var O5=new e;O5.fromString(W,_0);var N3=new e;N3.fromString(t1,10);var ie=new e;if(ie.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var He=new e;O5.addTo(c7.two64,He),O5=He}var Pe=!1;O5.compareTo(N3)<0?(O5=N3,Pe=!0):O5.compareTo(ie)>0&&(O5=ie,Pe=!0);var i4=r.math.Long.fromString(O5.toString());if(Ge[bt>>2]=i4.low_,Ge[bt+4>>2]=i4.high_,Pe)throw"range error"}};return c7}();function nA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}nA.prototype=new Error,nA.prototype.constructor=nA;var qB,tE=null,wS=!1;q7=function r(){n.calledRun||wC(),n.calledRun||(q7=r)},n.callMain=n.callMain=function(c){N9(k8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),N9(Jp.length==0,"cannot call main when preRun functions remain to be called"),c=c||[],Ws();var h=c.length+1;function f(){for(var n1=0;n1<3;n1++)z.push(0)}var z=[B3(tn(n.thisProgram),"i8",tA)];f();for(var e=0;e0||(Lu(),k8>0)||n.calledRun)return;function c(){n.calledRun||(n.calledRun=!0,!P&&(Ws(),MB(),l&&tE!==null&&n.printErr("pre-main prep time: "+(Date.now()-tE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&YB&&n.callMain(r),Z$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),c()},1)):c()}n.run=n.run=wC;function HB(r,c){if(!(c&&n.noExitRuntime))throw n.noExitRuntime||(P=!0,F0=r,S7=qB,Wp(),n.onExit&&n.onExit(r)),u?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):x&&typeof quit=="function"&&quit(r),new nA(r)}n.exit=n.exit=HB;var VB=[];function eo(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",P=!0,F0=1;var c=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+r+") at "+Yp()+c;throw VB&&VB.forEach(function(f){h=f(h,r)}),h}if(n.abort=n.abort=eo,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var YB=!0;n.noInitialRun&&(YB=!1),wC();var vS=n._encoder_init,kS=n._encoder_clear,SS=n._encoder_analysis_buffer,bS=n._encoder_process,DS=n._encoder_data_len,_S=n._encoder_transfer_data,b7=n.HEAPU8,tl=n.HEAPU32,il=n.HEAPF32,rl=function(r,c,h){this.numChannels=c,this.oggBuffers=[],this.encoder=vS(this.numChannels,r,h)};rl.prototype.encode=function(r){for(var c=r[0].length,h=SS(this.encoder,c)>>2,f=0;f>2);this.process(c)},rl.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},rl.prototype.cancel=rl.prototype.cleanup=function(){kS(this.encoder),delete this.encoder,delete this.oggBuffers},rl.prototype.process=function(r){bS(this.encoder,r);var c=DS(this.encoder);if(c>0){var h=_S(this.encoder);this.oggBuffers.push(new Uint8Array(b7.subarray(h,h+c)))}},uC.OggVorbisEncoder=rl}};typeof window<"u"&&window===self&&uC.init();function Mk(n,i,a,l){let u=new uC.OggVorbisEncoder(a,i,l);u.encode(n);let m=u.finish(),x=m.reduce((T,S0)=>T+S0.length,0),H=new Uint8Array(x),F=0;for(let T of m)H.set(T,F),F+=T.length;return H}var hC=class{constructor(i,a){let l=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),l.classList.remove("hidden")}),document.body.addEventListener("dragend",()=>{l.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{if(u.preventDefault(),l.classList.add("hidden"),!u.dataTransfer.files[0])return;let m=[];for(let x of u.dataTransfer.files){let H=x.name,F=await x.arrayBuffer(),T=F.slice(0,4),S0=new TextDecoder;if(S0.decode(T)==="RIFF"){let w=F.slice(8,12);if(S0.decode(w)==="RMID"){m.push({binary:F,altName:H});continue}a(F);continue}m.push({binary:F,altName:H})}i(m)})}};async function Rk(){let n="locale.exportAudio.formats.formats.dls.warning.";e4(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"font-weight: bold"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let a=i.div.querySelector("input[trim-toggle='1']").checked;_9(i.id),F7("%cExporting DLS...",I1.info);let l=await this.seq.getMIDI(),u=Hs(l.embeddedSoundFont||this.soundFont);Pa(l,await this.synth.getSynthesizerSnapshot()),a&&wu(u,l);try{let m=u.writeDLS(),x=new Blob([m.buffer],{type:"audio/dls"});this.saveBlob(x,`${u.soundFontInfo.INAM||"unnamed"}.dls`)}catch(m){me("Failed to export DLS: ",m),e4(this.localeManager.getLocaleString("locale.error"),[{type:"text",textContent:m,attributes:{style:"font-weight: bold; color: red"}}])}ue()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var p_=!1,Br=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(i,a,l,u=p_){this.localeManager=l,this.context=i,this.enableDebug=u,this.isExporting=!1,this.compressionFunc=Mk;let m;this.ready=new Promise(x=>m=x),this.initializeContext(i,a).then(()=>{m()})}saveBlob(i,a){let l=URL.createObjectURL(i),u=document.createElement("a");u.href=l,u.download=a,u.click(),x5(u)}async initializeContext(i,a){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let U of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(U,"innerText",U.getAttribute("translate-path"));for(let U of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(U,"innerText",U.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(U,"title",U.getAttribute("translate-path-title")+".description");this.soundFont=a;let u=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Lk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let m=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=m+u,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let x=new URL(m+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),F=await(await fetch(x)).arrayBuffer();this.impulseResponseRaw=F,this.impulseResponse=await i.decodeAudioData(F.slice(0,F.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new pu(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",U=>{this.sfError&&this.sfError(U.message)}),await this.synth.isReady,this.midHandler=new KE,this.wml=new JE(this.synth),this.keyboard=new Dp(this.channelColors,this.synth);let T=document.getElementById("note_canvas");T.width=window.innerWidth*window.devicePixelRatio,T.height=window.innerHeight*window.devicePixelRatio,this.renderer=new N7(this.channelColors,this.synth,T,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let S0=!1,w=()=>{if(T.width=window.innerWidth*window.devicePixelRatio,T.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),pr){if(window.innerWidth/window.innerHeight>1){if(!S0){let U=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");S0=!0,U.parentElement.insertBefore(P,U)}}else if(S0){let U=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");S0=!1,U.parentElement.insertBefore(U,P)}}this.renderer.render(!1,!0)};w(),window.addEventListener("resize",w.bind(this)),window.addEventListener("orientationchange",w.bind(this)),pr&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Zr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new eC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Ps(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI,this.renderer),this.settingsUI=new v7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager,this.audioDelay),this.dropFileHandler=new hC(async U=>{if(U.length===0)return;await this.context.resume(),this.play(U);let P=U[0].altName;P>20&&(P=P.substring(0,21)+"..."),document.getElementById("file_upload").textContent=P;let F0=document.getElementById("export_button");F0.style.display="flex",F0.onclick=this.exportSong.bind(this),window.isLocalEdition||(document.getElementById("demo_song").style.display="none")},U=>{this.reloadSf(U)}),document.addEventListener("keydown",U=>{if(!U.ctrlKey)switch(U.key.toLowerCase()){case O8.cinematicMode:this.seq&&this.seq.pause();let P=window.prompt(`Cinematic mode activated! + Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),P===null)return;T.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${P}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case O8.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(F0===null)return;let m1=document.createElement("video");m1.src=F0,m1.classList.add("secret_video"),N.parentElement.appendChild(m1),m1.play(),window.video=m1,this.seq&&(m1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),m1.play(),this.seq.currentTime=0),document.addEventListener("keydown",l1=>{l1.key===" "&&(m1.paused?m1.play():m1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new J5(i),4).toLowerCase()==="dls "&&e4(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:l=>{_9(l.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:l=>{_9(l.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new PE(i,this.synth),this.seq.onError=a=>{document.getElementById("title").textContent=a},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}async downloadDLSRMI(){let i=await this.seq.getMIDI(),a=Hs(this.soundFont),l=UE(a.writeDLS(),i,a),u=new Blob([l.buffer],{type:"audio/rmid"});this.saveBlob(u,`${i.midiName}.rmi`)}downloadDesfont(){let i=Hs(this.soundFont),a=i.write(),l=new Blob([a.buffer],{type:"audio/soundfont"});this.saveBlob(l,`${i.soundFontInfo.INAM}.sf2`)}};Br.prototype.exportSong=_k;Br.prototype._exportAudioData=Ov;Br.prototype._doExportAudioData=Pv;Br.prototype.exportMidi=qv;Br.prototype._exportSoundfont=Dk;Br.prototype._exportDLS=Rk;Br.prototype._exportRMIDI=xk;var E_=44100;EQ(!0,!0,!0,!0);var X7=document.getElementById("title"),Fk=document.getElementById("progress_bar"),N$=document.getElementById("midi_file_input");N$.value="";N$.focus();var CB=document.getElementById("export_button");CB.style.display="none";var yB=!1;window.loadedSoundfonts=[];var C_=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=C_;async function B_(n,i){let a=await fetch(`${n}`);if(!a.ok)throw X7.innerText="Error downloading soundfont!",a;let l=a.headers.get("content-length"),u=await(await a.body).getReader(),I=!1,x;try{x=new Uint8Array(parseInt(l))}catch(T){let N="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(N=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),e4("Warning",[{type:"text",textContent:N}]),T}let V=0;do{let T=await u.read();T.value&&(x.set(T.value,V),V+=T.value.length),I=T.done;let N=Math.round(V/l*100);i(N)}while(!I);return x.buffer}async function BB(n){if(!yB){setTimeout(()=>BB(n),100);return}await manager.ready;let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let a=[];for(let l of n)a.push({binary:await l.arrayBuffer(),altName:l.name});X7.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(a):manager.play(a),CB.style.display="flex",CB.onclick=window.manager.exportSong.bind(window.manager)}async function Tk(n){async function i(){if(!window.audioContextMain){X7.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 Br(audioContextMain,soundFontParser,Nk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),X7.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),X7.innerText=window.manager.localeManager.getLocaleString("locale.titleMessage"),yB=!0}if(window.loadedSoundfonts.find(l=>l.name===n)){window.soundFontParser=window.loadedSoundfonts.find(l=>l.name===n).sf,await i();return}X7.innerText="Downloading soundfont...";let a=await B_(n,l=>Fk.style.width=`${l/100*X7.offsetWidth}px`);X7.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=a,Fk.style.width="0",window.loadedSoundfonts.push({name:n,sf:window.soundFontParser}),i()}),X7.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let n=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new n({sampleRate:E_}),window.soundFontParser&&(window.manager=new Br(audioContextMain,soundFontParser,Nk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),X7.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),yB=!0,X7.innerText=window.manager.localeManager.getLocaleString("locale.titleMessage"))}document.body.onclick=null};var EB=[],Nk=new tC(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async n=>{if(!n.ok)throw X7.innerText="Error fetching soundfonts!",n.statusText;let i=document.getElementById("sf_selector");EB=JSON.parse(await n.text());for(let a of EB){let l=document.createElement("option");l.value=a.name;let u=a.name;u.length>29&&(u=u.substring(0,30)+"..."),l.innerText=u,i.appendChild(l)}i.onchange=()=>{i.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(i.value)}`),window.manager.seq&&window.manager.seq.pause(),Tk(i.value),window.manager.seq&&(X7.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Tk(EB[0].name),N$.files[0]&&await BB(N$.files),N$.onchange=async()=>{N$.files[0]&&await BB(N$.files)}});function y_(n){fetch("/savesettings",{method:"POST",body:JSON.stringify(n),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=y_;window.savedSettings=new Promise(n=>{fetch("/getsettings").then(i=>i.json().then(a=>{n(a)}))});window.isLocalEdition=!0; +Note: the video will be available in console as 'video'`,"");if(F0===null)return;let m1=document.createElement("video");m1.src=F0,m1.classList.add("secret_video"),T.parentElement.appendChild(m1),m1.play(),window.video=m1,this.seq&&(m1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),m1.play(),this.seq.currentTime=0),document.addEventListener("keydown",l1=>{l1.key===" "&&(m1.paused?m1.play():m1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new J5(i),4).toLowerCase()==="dls "&&e4(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:l=>{_9(l.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:l=>{_9(l.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new PE(i,this.synth),this.seq.onError=a=>{document.getElementById("title").textContent=a},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}async downloadDLSRMI(){let i=await this.seq.getMIDI(),a=Hs(this.soundFont),l=UE(a.writeDLS(),i,a),u=new Blob([l.buffer],{type:"audio/rmid"});this.saveBlob(u,`${i.midiName}.rmi`)}downloadDesfont(){let i=Hs(this.soundFont),a=i.write(),l=new Blob([a.buffer],{type:"audio/soundfont"});this.saveBlob(l,`${i.soundFontInfo.INAM}.sf2`)}};Br.prototype.exportSong=_k;Br.prototype._exportAudioData=Ov;Br.prototype._doExportAudioData=Pv;Br.prototype.exportMidi=qv;Br.prototype._exportSoundfont=Dk;Br.prototype._exportDLS=Rk;Br.prototype._exportRMIDI=xk;var E_=44100;EQ(!0,!0,!0,!0);var X7=document.getElementById("title"),Fk=document.getElementById("progress_bar"),N$=document.getElementById("midi_file_input");N$.value="";N$.focus();var CB=document.getElementById("export_button");CB.style.display="none";var yB=!1;window.loadedSoundfonts=[];var C_=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=C_;async function B_(n,i){let a=await fetch(`${n}`);if(!a.ok)throw X7.innerText="Error downloading soundfont!",a;let l=a.headers.get("content-length"),u=await(await a.body).getReader(),m=!1,x;try{x=new Uint8Array(parseInt(l))}catch(F){let T="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(T=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),e4("Warning",[{type:"text",textContent:T}]),F}let H=0;do{let F=await u.read();F.value&&(x.set(F.value,H),H+=F.value.length),m=F.done;let T=Math.round(H/l*100);i(T)}while(!m);return x.buffer}async function BB(n){if(!yB){setTimeout(()=>BB(n),100);return}await manager.ready;let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let a=[];for(let l of n)a.push({binary:await l.arrayBuffer(),altName:l.name});X7.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(a):manager.play(a),CB.style.display="flex",CB.onclick=window.manager.exportSong.bind(window.manager)}async function Tk(n){async function i(){if(!window.audioContextMain){X7.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 Br(audioContextMain,soundFontParser,Nk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),X7.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),X7.innerText=window.manager.localeManager.getLocaleString("locale.titleMessage"),yB=!0}if(window.loadedSoundfonts.find(l=>l.name===n)){window.soundFontParser=window.loadedSoundfonts.find(l=>l.name===n).sf,await i();return}X7.innerText="Downloading soundfont...";let a=await B_(n,l=>Fk.style.width=`${l/100*X7.offsetWidth}px`);X7.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=a,Fk.style.width="0",window.loadedSoundfonts.push({name:n,sf:window.soundFontParser}),i()}),X7.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let n=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new n({sampleRate:E_}),window.soundFontParser&&(window.manager=new Br(audioContextMain,soundFontParser,Nk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),X7.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),yB=!0,X7.innerText=window.manager.localeManager.getLocaleString("locale.titleMessage"))}document.body.onclick=null};var EB=[],Nk=new tC(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async n=>{if(!n.ok)throw X7.innerText="Error fetching soundfonts!",n.statusText;let i=document.getElementById("sf_selector");EB=JSON.parse(await n.text());for(let a of EB){let l=document.createElement("option");l.value=a.name;let u=a.name;u.length>29&&(u=u.substring(0,30)+"..."),l.innerText=u,i.appendChild(l)}i.onchange=()=>{i.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(i.value)}`),window.manager.seq&&window.manager.seq.pause(),Tk(i.value),window.manager.seq&&(X7.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Tk(EB[0].name),N$.files[0]&&await BB(N$.files),N$.onchange=async()=>{N$.files[0]&&await BB(N$.files)}});function y_(n){fetch("/savesettings",{method:"POST",body:JSON.stringify(n),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=y_;window.savedSettings=new Promise(n=>{fetch("/getsettings").then(i=>i.json().then(a=>{n(a)}))});window.isLocalEdition=!0;