From 5da4ca2a174dbd1fb59cfde84fab5e333b8126e0 Mon Sep 17 00:00:00 2001 From: spessasus Date: Tue, 24 Dec 2024 14:56:21 +0100 Subject: [PATCH] fix error when no new line addresses #88 --- .../js/utils/ass_manager/ass_manager.js | 4 ++ src/website/minified/demo_main.min.js | 48 +++++++++---------- src/website/minified/local_main.min.js | 38 +++++++-------- 3 files changed, 47 insertions(+), 43 deletions(-) diff --git a/src/website/js/utils/ass_manager/ass_manager.js b/src/website/js/utils/ass_manager/ass_manager.js index 2d78a5b..860e3cb 100644 --- a/src/website/js/utils/ass_manager/ass_manager.js +++ b/src/website/js/utils/ass_manager/ass_manager.js @@ -271,6 +271,10 @@ export class AssManager sectionContents.push(content); } } + if (isSection) + { + this.subData.push(new SubSection(sectionName, sectionContents)); + } // find the resolution const scriptInfo = this._getSection("[Script Info]", true); diff --git a/src/website/minified/demo_main.min.js b/src/website/minified/demo_main.min.js index d1b9ffa..3f9e46a 100644 --- a/src/website/minified/demo_main.min.js +++ b/src/website/minified/demo_main.min.js @@ -1,4 +1,4 @@ -var bE=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var K5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(r){let i=r.reduce((u,m)=>u+m.length,0),A=new K5(i),c=0;for(let u of r)A.set(u,c),c+=u.length;return A}function D$(r){r=Math.floor(r);let i=Math.floor(r/60),A=Math.round(r-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function DE(r){return r.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var E1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};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 BQ(r){let i=r&240,A=r&15,c=-1,u=r;return i>=128&&i<=224&&(c=A,u=i),{status:u,channel:c}}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 _E=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}},this.timeDelay=0}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(c=>{try{c(A)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}})},this.timeDelay*1e3):Object.values(this.events[i]).forEach(c=>{try{c(A)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}}))}};var zn={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},Dp=class{constructor(i,A=zn){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let u=new ChannelMergerNode(c,{numberOfInputs:2}),m=[],R=[],q=A.oscillatorFrequency,U=A.defaultDelay;for(let G=0;G{let m=await u.arrayBuffer();A.buffer=await r.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},_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 UD=!1,PD=!0,tB=!1;function m5(...r){UD&&console.info(...r)}function I9(...r){PD&&console.warn(...r)}function F7(...r){tB&&console.group(...r)}function Q8(...r){tB&&console.groupCollapsed(...r)}function u9(){tB&&console.groupEnd()}var QQ={chorusEnabled:!0,chorusConfig:zn,reverbEnabled:!0,reverbImpulseResponse:void 0};var xp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var xE=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,c=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,c]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){I9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){I9(`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,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(xp.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var f0={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[f0.startAddrsOffset]={min:0,max:32768,def:0};W6[f0.endAddrOffset]={min:-32768,max:32768,def:0};W6[f0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[f0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[f0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[f0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[f0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[f0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[f0.initialFilterFc]={min:1500,max:13500,def:13500};W6[f0.initialFilterQ]={min:0,max:960,def:0};W6[f0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[f0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[f0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[f0.modLfoToVolume]={min:-960,max:960,def:0};W6[f0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[f0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[f0.pan]={min:-500,max:500,def:0};W6[f0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[f0.freqModLFO]={min:-16e3,max:4500,def:0};W6[f0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[f0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[f0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[f0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[f0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[f0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[f0.sustainModEnv]={min:0,max:1e3,def:0};W6[f0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[f0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[f0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[f0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[f0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[f0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[f0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[f0.sustainVolEnv]={min:0,max:1440,def:0};W6[f0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[f0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[f0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[f0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[f0.keyNum]={min:-1,max:127,def:-1};W6[f0.velocity]={min:-1,max:127,def:-1};W6[f0.initialAttenuation]={min:-250,max:1440,def:0};W6[f0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[f0.coarseTune]={min:-120,max:120,def:0};W6[f0.fineTune]={min:-12700,max:12700,def:0};W6[f0.scaleTuning]={min:0,max:1200,def:100};W6[f0.exclusiveClass]={min:0,max:99999,def:0};W6[f0.overridingRootKey]={min:-1,max:127,def:-1};W6[f0.sampleModes]={min:0,max:3,def:0};var j3=class{generatorType=f0.INVALID;generatorValue=0;constructor(i=f0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){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},en={linear:0,concave:1,convex:2,switch:3},l9=class r{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=f0.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===f0.reverbEffectsSend||this.modulatorDestination===f0.chorusEffectsSend)}static copy(i){return new r({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A,c=!1){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType&&(!c||i.transformAmount===A.transformAmount)}sumTransform(i){return new r({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(R=>u[R]===m)}let A=i(en,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 c=i(en,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: +var bE=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):r)(function(r){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+r+'" is not supported')});var K5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(r){let i=r.reduce((u,m)=>u+m.length,0),A=new K5(i),c=0;for(let u of r)A.set(u,c),c+=u.length;return A}function D$(r){r=Math.floor(r);let i=Math.floor(r/60),A=Math.round(r-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function DE(r){return r.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var E1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var w7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};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 BQ(r){let i=r&240,A=r&15,c=-1,u=r;return i>=128&&i<=224&&(c=A,u=i),{status:u,channel:c}}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 _E=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}},this.timeDelay=0}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&(this.timeDelay>0?setTimeout(()=>{Object.values(this.events[i]).forEach(c=>{try{c(A)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}})},this.timeDelay*1e3):Object.values(this.events[i]).forEach(c=>{try{c(A)}catch(u){console.error(`Error while executing an event callback for ${i}:`,u)}}))}};var zn={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},Dp=class{constructor(i,A=zn){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let u=new ChannelMergerNode(c,{numberOfInputs:2}),m=[],M=[],q=A.oscillatorFrequency,U=A.defaultDelay;for(let G=0;G{let m=await u.arrayBuffer();A.buffer=await r.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},_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 UD=!1,PD=!0,iB=!1;function m5(...r){UD&&console.info(...r)}function I9(...r){PD&&console.warn(...r)}function F7(...r){iB&&console.group(...r)}function Q8(...r){iB&&console.groupCollapsed(...r)}function u9(){iB&&console.groupEnd()}var QQ={chorusEnabled:!0,chorusConfig:zn,reverbEnabled:!0,reverbImpulseResponse:void 0};var xp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var xE=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,c=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,c]),await new Promise(u=>this.synth.resolveWhenReady=u),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){I9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){I9(`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,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(xp.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var f0={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[f0.startAddrsOffset]={min:0,max:32768,def:0};W6[f0.endAddrOffset]={min:-32768,max:32768,def:0};W6[f0.startloopAddrsOffset]={min:-32768,max:32768,def:0};W6[f0.endloopAddrsOffset]={min:-32768,max:32768,def:0};W6[f0.startAddrsCoarseOffset]={min:0,max:32768,def:0};W6[f0.modLfoToPitch]={min:-12e3,max:12e3,def:0};W6[f0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};W6[f0.modEnvToPitch]={min:-12e3,max:12e3,def:0};W6[f0.initialFilterFc]={min:1500,max:13500,def:13500};W6[f0.initialFilterQ]={min:0,max:960,def:0};W6[f0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};W6[f0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};W6[f0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[f0.modLfoToVolume]={min:-960,max:960,def:0};W6[f0.chorusEffectsSend]={min:0,max:1e3,def:0};W6[f0.reverbEffectsSend]={min:0,max:1e3,def:0};W6[f0.pan]={min:-500,max:500,def:0};W6[f0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};W6[f0.freqModLFO]={min:-16e3,max:4500,def:0};W6[f0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};W6[f0.freqVibLFO]={min:-16e3,max:4500,def:0};W6[f0.delayModEnv]={min:-32768,max:5e3,def:-32768};W6[f0.attackModEnv]={min:-32768,max:8e3,def:-32768};W6[f0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};W6[f0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};W6[f0.sustainModEnv]={min:0,max:1e3,def:0};W6[f0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};W6[f0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};W6[f0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};W6[f0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[f0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[f0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};W6[f0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};W6[f0.sustainVolEnv]={min:0,max:1440,def:0};W6[f0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};W6[f0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};W6[f0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};W6[f0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[f0.keyNum]={min:-1,max:127,def:-1};W6[f0.velocity]={min:-1,max:127,def:-1};W6[f0.initialAttenuation]={min:-250,max:1440,def:0};W6[f0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};W6[f0.coarseTune]={min:-120,max:120,def:0};W6[f0.fineTune]={min:-12700,max:12700,def:0};W6[f0.scaleTuning]={min:0,max:1200,def:100};W6[f0.exclusiveClass]={min:0,max:99999,def:0};W6[f0.overridingRootKey]={min:-1,max:127,def:-1};W6[f0.sampleModes]={min:0,max:3,def:0};var j3=class{generatorType=f0.INVALID;generatorValue=0;constructor(i=f0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){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},en={linear:0,concave:1,convex:2,switch:3},l9=class r{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=f0.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===f0.reverbEffectsSend||this.modulatorDestination===f0.chorusEffectsSend)}static copy(i){return new r({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A,c=!1){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType&&(!c||i.transformAmount===A.transformAmount)}sumTransform(i){return new r({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(M=>u[M]===m)}let A=i(en,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 c=i(en,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: Source: ${A} Secondary source: ${c} Destination: ${i(f0,this.modulatorDestination)} @@ -6,8 +6,8 @@ var bE=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(i,A)=>( Transform type: ${this.transformType} -`}},iB=960,nB=en.concave;function Jn(r,i,A,c,u){return r<<10|i<<9|A<<8|c<<7|u}var OD=[new l9({srcEnum:Jn(nB,0,1,0,q4.noteOnVelocity),dest:f0.initialAttenuation,amt:iB,secSrcEnum:0,transform:0}),new l9({srcEnum:129,dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(nB,0,1,1,$3.mainVolume),dest:f0.initialAttenuation,amt:iB,secSrcEnum:0,transform:0}),new l9({srcEnum:13,dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:526,dest:f0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new l9({srcEnum:650,dest:f0.pan,amt:500,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(nB,0,1,1,$3.expressionController),dest:f0.initialAttenuation,amt:iB,secSrcEnum:0,transform:0}),new l9({srcEnum:219,dest:f0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:221,dest:f0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0})],qD=[new l9({srcEnum:Jn(en.linear,0,0,0,q4.polyPressure),dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(en.linear,0,0,1,$3.tremoloDepth),dest:f0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(en.linear,1,0,1,$3.releaseTime),dest:f0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(en.linear,1,0,1,$3.brightness),dest:f0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(en.linear,1,0,1,$3.timbreHarmonicContent),dest:f0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})],LE=OD.concat(qD);var x$=128,wQ=147,HD=new Int16Array(wQ).fill(0),A7=(r,i)=>HD[r]=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 ME={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},vQ=Object.keys(ME).length,VD=new Float32Array(vQ);VD[ME.modulationMultiplier]=1;var kQ={velocityOverride:128};var RE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},FE={addMapping:0,deleteMapping:1,clearMappings:2};var TE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let u=c?.velocity??-1,m=c?.patch?.program??-1,R=c?.patch?.bank??-1,q=new RE(u,R,m);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=q,this._sendToWorklet(FE.addMapping,[i,A,q])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(FE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(FE.clearMappings,void 0),this._keyModifiers=[]}};var YD="spessasynth-worklet-system",rB=350,T7=9,zD=16;var Cu=class{constructor(i,A,c=!0,u=void 0,m=QQ){m5("%cInitializing SpessaSynth synthesizer...",E1.info),this.context=i.context,this.targetNode=i;let R=u?.oneOutput===!0;this.eventHandler=new _E,this._voiceCap=rB,this._destroyed=!1,this._outputsAmount=zD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(G=>this.resolveWhenReady=G),this.channelProperties=[];for(let G=0;Gthis.handleMessage(G.data),this.soundfontManager=new xE(this),this.keyModifierManager=new TE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!R&&(this.reverbProcessor=yQ(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!R&&(this.chorusProcessor=new Dp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),R)this.worklet.connect(i,0);else for(let G=2;G{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,c,u){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,A,c,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((c,u)=>c+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:I9(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}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,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,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}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,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[kQ.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){I9("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 c=BQ(i[0]);switch(c.channel+=A,c.status){case v3.noteOn:let u=i[2];u>0?this.noteOn(c.channel,i[1],u):this.noteOff(c.channel,i[1]);break;case v3.noteOff:this.noteOff(c.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case v3.programChange:this.programChange(c.channel,i[1]);break;case v3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(c.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new K5(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(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,u)=>{let m;if(N7)m=127;else{let q=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let U=u.clientX-q.left,G=q.width;m=Math.floor((G-U)/G*127)}else{let U=u.clientY-q.top,G=q.height;m=Math.floor(U/G*127)}}this.onNotePressed&&this.onNotePressed(c,m),this.synth.noteOn(this.channel,c,m,this.enableDebugging)},A=c=>{let u=c.touches?Array.from(c.touches):[c],m=new Set;u.forEach(R=>{let q=document.elementFromPoint(R.clientX,R.clientY),U=parseInt(q.id.replace("note",""));m.add(U),!(isNaN(U)||U<0||this.pressedKeys.has(U))&&(this.pressedKeys.add(U),i(U,R))}),this.pressedKeys.forEach(R=>{m.has(R)||r(R)})};N7||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{r(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{r(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var bQ=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",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.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",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,c.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&&(R=A(i+1)),R&&m?c.classList.add("between_sharps"):m?c.classList.add("left_sharp"):R&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.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(c=>{c.classList.contains("flat_key")&&c.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,R;for(let q of m)if(q.selectorText==="#keyboard .key"){R=q;break}if(R.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let q=getComputedStyle(this.keyboard),U=parseFloat(q.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),G=this.keyboard.getBoundingClientRect().height,k0=u/U,v=G*k0-G,T=(this._keyRange.min+this._keyRange.max)/2,P=(i.min+i.max)/2;this._keyRange=i;let G0=this.keys.find(j1=>j1.classList.contains("sharp_key")).getBoundingClientRect().width,I1=(T-P)*G0,g1=parseFloat(q.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${v}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${k0}) translateX(${I1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${g1/k0}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,c){let u=this.keys[i-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let m=u.classList.contains("sharp_key"),R=c/127,q=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),U;if(!m&&this.mode==="light"?U=`rgba(${q.slice(0,3).map(k0=>255-(255-k0)*R).join(", ")}, ${q[3]})`:U=`rgba(${q.slice(0,3).map(k0=>k0*R).join(", ")}, ${q[3]})`,u.style.background=U,this.mode==="dark"){let G=bQ*R;u.style.boxShadow=`${U} 0px 0px ${G}px ${G/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let u=this.keyColors[i-this._keyRange.min];if(!u)return;let m=u.findLastIndex(R=>R===this.channelColors[A]);m!==-1&&(u.splice(m,1),c.style.background=u[u.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${bQ}px ${u[u.length-1]}`),u.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};Lp.prototype._handlePointers=SQ;function L$(r,i){let A=r.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var KD="#000";function DQ(r,i,A){r.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let u=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*u,A){i.fillRect(c.xPos,c.yPos-c.height*u,c.width,c.height*(u*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*u,c.yPos,c.width*(u*2+1),c.height),i.globalAlpha=1}),r.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=KD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var oB=!1;function _Q(r=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(oB){r&&requestAnimationFrame(this.render.bind(this));return}else oB=!0;else oB=!1;if(r&&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||DQ(m,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${NE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,NE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,NE+5),this.onRender&&this.onRender(),r&&requestAnimationFrame(this.render.bind(this))}function xQ(r=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,u=i/(c+1),m=u-R$*2,R=this.noteFallingTimeMs/1e3,q=this.noteAfterTriggerTimeMs/1e3,U=this.seq.currentHighResolutionTime-this.timeOffset,G=U-q,k0=R+q,v=G+k0,T=MQ/k0,P=[];this.synth.channelProperties.forEach(I1=>{if(this.showVisualPitch){let g1=I1.pitchBend-8192+this.visualPitchBendOffset;P.push(I1.pitchBendRangeSemitones*(g1/8192*u))}else P.push(0)});let G0=[];return this.noteTimes.forEach((I1,g1)=>{if(I1.renderStartIndex>=I1.notes.length||!this.renderChannels[g1])return;let j1=I1.renderStartIndex,z1=I1.notes,u2=z1[j1],P2=-1;for(;u2.start<=v&&(j1++,!(this.notesOnScreen>RQ));){let L2=u2.start+u2.length;if(L2>G&&u2.length>0){let a0=u2.length/k0*A-R$*2;if(this.notesOnScreen<1e3||a0>T){P2===-1&&(P2=j1-1);let g5=(u2.start-G)/k0*A,p3;if(this._notesFall?p3=A-a0-g5+R$:p3=g5+R$,u2.midiNotethis.keyRange.max){if(j1>=z1.length)break;u2=z1[j1];continue}let k3=u2.midiNote-this.keyRange.min,u6=u*k3+R$,S3,c9,N9,E3;if(this.sideways?(S3=p3,c9=u6,E3=m,N9=a0):(c9=p3,S3=u6,N9=m,E3=a0),this.notesOnScreen++,r)this.drawingContext.fillStyle=this.plainColors[g1],this.drawingContext.fillRect(S3+M$+R$,c9+M$,N9-M$*2,E3-M$*2);else{let p6;if(u2.start>U||L2=z1.length)break;u2=z1[j1]}P2>-1&&(I1.renderStartIndex=P2)}),G0.sort((I1,g1)=>g1.height-I1.height),G0}function FQ(){let r=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let u=c%4,m=Math.floor(c/4),R=!1;for(let v=c;v0){R=!0;break}if(!R){let v=this.canvas.width/4,T=this.canvas.height/4,P=v*u,G0=T*m+T/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(P,G0),this.drawingContext.lineTo(P+v,G0),this.drawingContext.stroke();return}let q=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(q);let U=r*u,G=i*m+i/2,k0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let v=q.length/4,T=r/v,P=Math.floor(v/2),G0=q.length-P;for(let z1=G0;z1>=1;z1--)if(q[z1-1]<0&&q[z1]>=0){G0=z1;break}let I1=U,g1=G0-P,j1=G0+P;for(let z1=g1;z1{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function GQ(){for(let r=0;r{setTimeout(this.updateFftSize.bind(this),100)})}function PQ(){for(let r of this.channelAnalysers)r.disconnect();m5("%cAnalysers disconnected!",E1.recognized)}function OQ(r){this.seq=r,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]),c=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("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function qQ(){this.noteTimes&&this.noteTimes.forEach(r=>r.renderStartIndex=0)}function Mp(r,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=r[r.currentIndex++]<>>0}function Rp(r,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=r&255,r>>=8;return A}var Bu=.02;function HQ(r){function i(G){return G.messageData=new K5(G.messageData.buffer),G.messageData.currentIndex=0,6e7/Mp(G.messageData,3)}let A=[],u=r.tracks.flat();u.sort((G,k0)=>G.ticks-k0.ticks);for(let G=0;G<16;G++)A.push({renderStartIndex:0,notes:[]});let m=0,R=60/(120*r.timeDivision),q=0,U=0;for(;q>4,v=G.messageStatusByte&15;if(k0===8){let T=A[v].notes.findLast(P=>P.midiNote===G.messageData[0]&&P.length===-1);if(T){let P=m-T.start;T.length=PP.midiNote===G.messageData[0]&&P.length===-1);if(T){let P=m-T.start;T.length=P=u.length)break;m+=R*(u[q].ticks-G.ticks)}U>0&&A.forEach((G,k0)=>G.notes.filter(v=>v.length===-1).forEach(v=>{let T=m-v.start;v.length=Ti.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,c=>c*UE)),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,c=>c*UE*GE)),A.addColorStop(1,L$(i,c=>c*GE)),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,c=>c*UE)),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,c=>c*UE*GE)),A.addColorStop(1,L$(i,c=>c*GE)),A})}};G7.prototype.render=_Q;G7.prototype.computeNotePositions=xQ;G7.prototype.createChannelAnalysers=NQ;G7.prototype.updateFftSize=GQ;G7.prototype.connectChannelAnalysers=UQ;G7.prototype.disconnectChannelAnalysers=PQ;G7.prototype.connectSequencer=OQ;G7.prototype.calculateNoteTimes=HQ;G7.prototype.resetIndexes=qQ;G7.prototype.renderWaveforms=FQ;function s3(r,i){let A=0;for(let c=0;c>>0}function Ii(r,i,A){for(let c=0;c>c*8&255}function X3(r,i){r[r.currentIndex++]=i&255,r[r.currentIndex++]=i>>8}function p9(r,i){Ii(r,i,4)}function Ua(r,i){let A=i<<8|r;return A>32767?A-65536:A}function VQ(r){return r>127?r-256:r}function y4(r,i,A=void 0,c=!0){if(A){let u=r.slice(r.currentIndex,r.currentIndex+i);return r.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,m="";for(let R=0;R127)&&q!==10){if(c){u=!0;continue}else if(q===0){u=!0;continue}}m+=String.fromCharCode(q)}}return m}}function yu(r,i=0){let A=r.length;i>0&&(A=i);let c=new K5(A);return P8(c,r,i),c}function Fr(r){return yu(r,r.length+1)}function P8(r,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,y4(A.chunkData,4)===i))}function PE(r){let i=[r&127];for(r>>=7;r>0;)i.unshift(r&127|128),r>>=7;return i}function OE(r){let i=[];for(let u of r.tracks){let m=[],R=0,q;for(let U of u){let G=U.ticks-R,k0;U.messageStatusByte<=v3.keySignature||U.messageStatusByte===v3.sequenceSpecific?k0=[255,U.messageStatusByte,...PE(U.messageData.length),...U.messageData]:U.messageStatusByte===v3.systemExclusive?k0=[240,...PE(U.messageData.length),...U.messageData]:(k0=[],q!==U.messageStatusByte&&(q=U.messageStatusByte,k0.push(U.messageStatusByte)),k0.push(...U.messageData)),m.push(...PE(G)),m.push(...k0),R+=G}i.push(new Uint8Array(m))}function A(u,m){for(let R=0;R{r.tracks.forEach((G0,I1)=>{if(r.midiPorts[I1]===P)for(let g1=G0.length-1;g1>=0;g1--)G0[g1].messageStatusByte>=128&&G0[g1].messageStatusByte<240&&(G0[g1].messageStatusByte&15)===T&&G0.splice(g1,1)})};c.forEach(T=>{let P=T%16,G0=T-P,I1=r.midiPortChannelOffsets.findIndex(g1=>g1===G0);m(P,I1),m5(`%cRemoving channel %c${T}%c!`,E1.info,E1.recognized,E1.info)});let R=!1,q="gs",U=[],G=[];r.tracks.forEach((T,P)=>{T.forEach(G0=>{let I1=G0.messageStatusByte&240;I1===v3.controllerChange?U.push({track:P,message:G0,channel:G0.messageStatusByte&15}):I1===v3.programChange?G.push({track:P,message:G0,channel:G0.messageStatusByte&15}):G0.messageStatusByte===v3.systemExclusive&&(G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[5]===126&&G0.messageData[6]===0?(m5("%cXG system on detected",E1.info),q="xg",R=!0):G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[3]===8&&G0.messageData[5]===3&&G.push({track:P,message:G0,channel:G0.messageData[4]}))})});let k0=(T,P,G0)=>r.tracks.reduce((I1,g1,j1)=>{if(r.usedChannelsOnTrack[j1].has(T)&&r.midiPorts[j1]===P){let z1;G0?z1=g1.findIndex(u2=>(u2.messageStatusByte&240)===v3.noteOn):z1=g1.findIndex(u2=>u2.messageStatusByte>128&&u2.messageStatusByte<240&&(u2.messageStatusByte&15)===T&&!(u2.messageStatusByte&v3.controllerChange===240&&(u2.messageData[0]===$3.resetAllControllers||u2.messageData[0]===$3.allNotesOff||u2.messageData[0]===$3.allSoundOff))),z1!==-1&&I1.push({index:z1,track:j1})}return I1},[]),v=(T,P,G0)=>{let I1=U.filter(g1=>g1.channel===T&&g1.message.messageData[0]===G0&&r.midiPorts[g1.track]===P);for(let g1=0;g1{let P=T.channel,G0=P%16,I1=P-G0,g1=r.midiPortChannelOffsets.findIndex(a0=>a0===I1),j1=T.controllerValue,z1=T.controllerNumber;v(G0,g1,z1),m5(`%cNo controller %c${z1}%c on channel %c${P}%c found. Adding it!`,E1.info,E1.unrecognized,E1.info,E1.value,E1.info);let u2=k0(G0,g1,!0);if(u2.length===0){I9("Program change but no notes... ignoring!");return}let P2=u2.reduce((a0,g5)=>r.tracks[g5.track][g5.index].ticks{let P=T.channel%16,G0=T.channel-P,I1=r.midiPortChannelOffsets.findIndex(k3=>k3===G0),g1=T.isDrum?0:T.bank,j1=T.program,z1=G.filter(k3=>r.midiPorts[k3.track]===I1&&k3.channel===P);if(v(P,I1,$3.bankSelect),v(P,I1,$3.lsbForControl0BankSelect),(T.isDrum||g1>0)&&!R&&(r.tracks.forEach(k3=>{for(let u6=0;u60);if(u2.length===0){I9("Program change but no notes... ignoring!");return}let P2=u2.reduce((k3,u6)=>r.tracks[u6.track][u6.index].ticks{if(r.midiPorts[z1]!==G0||!r.usedChannelsOnTrack[z1].has(P))return;let u2=v3.noteOn|P,P2=v3.noteOff|P,L2=v3.polyPressure|P;j1.forEach(a0=>{a0.messageStatusByte!==u2&&a0.messageStatusByte!==P2&&a0.messageStatusByte!==L2||(a0.messageData[0]=Math.max(0,Math.min(127,a0.messageData[0]+I1)))})}),g1!==0){let j1=r.tracks.find((S3,c9)=>r.usedChannelsOnTrack[c9].has(T.channel));if(j1===void 0){I9(`Channel ${T.channel} unused but transpose requested???`);continue}let z1=v3.noteOn|T.channel%16,u2=j1.findIndex(S3=>S3.messageStatusByte===z1);if(u2===-1){I9(`No notes on channel ${T.channel} but transpose requested???`);continue}let P2=j1[u2].ticks,L2=g1*64+64,a0=v3.controllerChange|T.channel%16,g5=new w7(P2,a0,new K5([$3.RPNMsb,0])),p3=new w7(P2,a0,new K5([$3.RPNLsb,1])),k3=new w7(P2,a0,new K5([$3.dataEntryMsb,L2])),u6=new w7(P2,a0,new K5([$3.lsbForControl6DataEntry,0]));j1.splice(u2,0,u6),j1.splice(u2,0,k3),j1.splice(u2,0,p3),j1.splice(u2,0,g5)}}u9()}function Pa(r,i){let A=[],c=[],u=[],m=[];i.channelSnapshots.forEach((R,q)=>{if(R.isMuted){c.push(q);return}let U=R.channelTransposeKeyShift+R.customControllers[ME.channelTransposeFine]/100;U!==0&&A.push({channel:q,keyShift:U}),R.lockPreset&&u.push({channel:q,program:R.program,bank:R.bank,isDrum:R.drumChannel}),R.lockedControllers.forEach((G,k0)=>{if(!G||k0>127||k0===$3.bankSelect)return;let v=R.midiControllers[k0]>>7;m.push({channel:q,controllerNumber:k0,controllerValue:v})})}),t_(r,u,m,c,A)}var O8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",i_="Created using SpessaSynth";function qE(r,i,A,c=0,u="Shift_JIS",m={},R=!0){if(F7("%cWriting the RMIDI File...",E1.info),m5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${u}`,E1.info,E1.value,E1.info,E1.value),m5("metadata",m),m5("Initial bank offset",i.bankOffset),R){let j1=function(){let L2=0,a0=1/0;return i.tracks.forEach((g5,p3)=>{I1[p3]>=g5.length||g5[I1[p3]].ticksa0>L2?a0:L2),P2=[];for(let L2=0;L20;){let L2=j1(),a0=i.tracks[L2];if(I1[L2]>=a0.length){g1--;continue}let g5=a0[I1[L2]];I1[L2]++;let p3=i.midiPortChannelOffsets[z1[L2]];if(g5.messageStatusByte===v3.midiPort){z1[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",G0.push({tNum:L2,e:g5}));continue}let c9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][g5.messageData[5]&15]+p3;P2[c9].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 c9=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),N9=S3.drums?128:c9;if(S3.lastBank===void 0)continue;if(P==="xg"&&S3.drums&&(P2[u6].lastBank.messageData[1]=127),A.presets.findIndex(E3=>E3.bank===N9&&E3.program===g5.messageData[0])===-1){let E3=A.presets.find(p6=>p6.program===g5.messageData[0])?.bank+c||c;S3.lastBank.messageData[1]=E3,m5(`%cNo preset %c${N9}:${g5.messageData[0]}%c. Changing bank to ${E3}.`,E1.info,E1.recognized,E1.info)}else{let p6=(N9===128?P==="xg"?127:0:c9)+c;S3.lastBank.messageData[1]=p6,m5(`%cPreset %c${N9}:${g5.messageData[0]}%c exists. Changing bank to ${p6}.`,E1.info,E1.recognized,E1.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 c9=S3.findIndex(p6=>p6.messageStatusByte===p3);if(c9===-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,tn=A.getPreset(0,0).program;S3.splice(p6,0,new w7(w4,v3.programChange|g5,new K5([tn]))),c9=p6}m5(`%cAdding bank select for %c${a0}`,E1.info,E1.recognized);let N9=S3[c9].ticks,E3=A.getPreset(0,L2.program)?.bank+c||c;S3.splice(c9,0,new w7(N9,v3.controllerChange|g5,new K5([$3.bankSelect,E3])))}),P!=="gs"&&P!=="xg"){for(let a0 of G0)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,aB(0))}}let q=new K5(OE(i).buffer),U=[yu("INFO")],G=new TextEncoder;if(U.push(k6(O8.software,G.encode("SpessaSynth"),!0)),m.name!==void 0?(U.push(k6(O8.name,G.encode(m.name),!0)),u=Oa):U.push(k6(O8.name,i.rawMidiName,!0)),m.creationDate!==void 0)u=Oa,U.push(k6(O8.creationDate,G.encode(m.creationDate),!0));else{let P=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});U.push(k6(O8.creationDate,Fr(P),!0))}if(m.comment!==void 0&&(u=Oa,U.push(k6(O8.comment,G.encode(m.comment)))),m.engineer!==void 0&&U.push(k6(O8.engineer,G.encode(m.engineer),!0)),m.album!==void 0&&(u=Oa,U.push(k6(O8.album,G.encode(m.album),!0))),m.artist!==void 0&&(u=Oa,U.push(k6(O8.artist,G.encode(m.artist),!0))),m.genre!==void 0&&(u=Oa,U.push(k6(O8.genre,G.encode(m.genre),!0))),m.picture!==void 0&&U.push(k6(O8.picture,new Uint8Array(m.picture))),m.copyright!==void 0)u=Oa,U.push(k6(O8.copyright,G.encode(m.copyright),!0));else{let P=i.copyright.length>0?i.copyright:i_;U.push(k6(O8.copyright,Fr(P)))}let k0=new K5(2);Ii(k0,c,2),U.push(k6(O8.bankOffset,k0)),m.midiEncoding!==void 0&&(U.push(k6(O8.midiEncoding,G.encode(m.midiEncoding))),u=Oa),U.push(k6(O8.encoding,Fr(u)));let v=St(U),T=St([yu("RMID"),k6("data",q),k6("LIST",v),r]);return m5("%cFinished!",E1.info),u9(),k6("RIFF",T)}var Fp=class r{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];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;embeddedSoundFont=void 0;format=0;RMIDInfo={};bankOffset=0;tracks=[];static copyFrom(i){let A=new r;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.tempoChanges=[...i.tempoChanges],A.lyrics=i.lyrics.map(c=>new Uint8Array(c)),A.midiPorts=[...i.midiPorts],A.midiPortChannelOffsets=[...i.midiPortChannelOffsets],A.usedChannelsOnTrack=i.usedChannelsOnTrack.map(c=>new Set(c)),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(c=>[...c]),A}flush(){let i=[];for(let u of this.tracks){u.sort((R,q)=>R.ticks-q.ticks);let m=u.find(R=>(R.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(R=>{if(R.messageStatusByte>=128&&R.messageStatusByte<240&&R.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=R.ticks),R.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:R.ticks,tempo:6e7/Mp(R.messageData,3)});else if((R.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[m].add(R.messageData[0]);else if(R.messageStatusByte===v3.midiPort){let q=R.messageData[0];this.midiPorts[m]=q,this.midiPortChannelOffsets[q]===void 0&&(this.midiPortChannelOffsets[q]=A,A+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Qu(this.lastVoiceEventTick,this);let c=0;for(let u of this.midiPorts)if(u!==-1){c=u;break}this.midiPorts=this.midiPorts.map(u=>u===-1?c:u),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Qu(r,i){let A=0;for(;r>0;){let c=i.tempoChanges.find(m=>m.ticks=128){this.MIDIout.send(c);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(q=>q[1](u)),A[2]===!0&&this.unpause();break;case qa.textEvent:let m=A;this.onTextEvent&&this.onTextEvent(m[0],m[1]);break;case qa.timeChange:let R=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(q=>q[1](R)),this._recalculateStartTime(R),this.paused&&this._preservePlaybackState?this.pausedTime=R:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(q=>q[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(Fp.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=YQ,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){I9("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 Tp=["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 zQ(r){return` +`}},nB=960,rB=en.concave;function Jn(r,i,A,c,u){return r<<10|i<<9|A<<8|c<<7|u}var OD=[new l9({srcEnum:Jn(rB,0,1,0,q4.noteOnVelocity),dest:f0.initialAttenuation,amt:nB,secSrcEnum:0,transform:0}),new l9({srcEnum:129,dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(rB,0,1,1,$3.mainVolume),dest:f0.initialAttenuation,amt:nB,secSrcEnum:0,transform:0}),new l9({srcEnum:13,dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:526,dest:f0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new l9({srcEnum:650,dest:f0.pan,amt:500,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(rB,0,1,1,$3.expressionController),dest:f0.initialAttenuation,amt:nB,secSrcEnum:0,transform:0}),new l9({srcEnum:219,dest:f0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:221,dest:f0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0})],qD=[new l9({srcEnum:Jn(en.linear,0,0,0,q4.polyPressure),dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(en.linear,0,0,1,$3.tremoloDepth),dest:f0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(en.linear,1,0,1,$3.releaseTime),dest:f0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(en.linear,1,0,1,$3.brightness),dest:f0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new l9({srcEnum:Jn(en.linear,1,0,1,$3.timbreHarmonicContent),dest:f0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})],LE=OD.concat(qD);var x$=128,wQ=147,HD=new Int16Array(wQ).fill(0),A7=(r,i)=>HD[r]=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 ME={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},vQ=Object.keys(ME).length,VD=new Float32Array(vQ);VD[ME.modulationMultiplier]=1;var kQ={velocityOverride:128};var RE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},FE={addMapping:0,deleteMapping:1,clearMappings:2};var TE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let u=c?.velocity??-1,m=c?.patch?.program??-1,M=c?.patch?.bank??-1,q=new RE(u,M,m);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=q,this._sendToWorklet(FE.addMapping,[i,A,q])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(FE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(FE.clearMappings,void 0),this._keyModifiers=[]}};var YD="spessasynth-worklet-system",oB=350,T7=9,zD=16;var Cu=class{constructor(i,A,c=!0,u=void 0,m=QQ){m5("%cInitializing SpessaSynth synthesizer...",E1.info),this.context=i.context,this.targetNode=i;let M=u?.oneOutput===!0;this.eventHandler=new _E,this._voiceCap=oB,this._destroyed=!1,this._outputsAmount=zD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(G=>this.resolveWhenReady=G),this.channelProperties=[];for(let G=0;Gthis.handleMessage(G.data),this.soundfontManager=new xE(this),this.keyModifierManager=new TE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!M&&(this.reverbProcessor=yQ(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!M&&(this.chorusProcessor=new Dp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),M)this.worklet.connect(i,0);else for(let G=2;G{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,c,u){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,A,c,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((c,u)=>c+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:I9(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}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,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,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}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,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[kQ.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){I9("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 c=BQ(i[0]);switch(c.channel+=A,c.status){case v3.noteOn:let u=i[2];u>0?this.noteOn(c.channel,i[1],u):this.noteOff(c.channel,i[1]);break;case v3.noteOff:this.noteOff(c.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case v3.programChange:this.programChange(c.channel,i[1]);break;case v3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(c.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new K5(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(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,u)=>{let m;if(N7)m=127;else{let q=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let U=u.clientX-q.left,G=q.width;m=Math.floor((G-U)/G*127)}else{let U=u.clientY-q.top,G=q.height;m=Math.floor(U/G*127)}}this.onNotePressed&&this.onNotePressed(c,m),this.synth.noteOn(this.channel,c,m,this.enableDebugging)},A=c=>{let u=c.touches?Array.from(c.touches):[c],m=new Set;u.forEach(M=>{let q=document.elementFromPoint(M.clientX,M.clientY),U=parseInt(q.id.replace("note",""));m.add(U),!(isNaN(U)||U<0||this.pressedKeys.has(U))&&(this.pressedKeys.add(U),i(U,M))}),this.pressedKeys.forEach(M=>{m.has(M)||r(M)})};N7||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{r(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{r(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var bQ=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",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.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",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,c.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&&(M=A(i+1)),M&&m?c.classList.add("between_sharps"):m?c.classList.add("left_sharp"):M&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.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(c=>{c.classList.contains("flat_key")&&c.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,M;for(let q of m)if(q.selectorText==="#keyboard .key"){M=q;break}if(M.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let q=getComputedStyle(this.keyboard),U=parseFloat(q.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),G=this.keyboard.getBoundingClientRect().height,k0=u/U,v=G*k0-G,T=(this._keyRange.min+this._keyRange.max)/2,P=(i.min+i.max)/2;this._keyRange=i;let G0=this.keys.find(j1=>j1.classList.contains("sharp_key")).getBoundingClientRect().width,I1=(T-P)*G0,g1=parseFloat(q.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${v}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${k0}) translateX(${I1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${g1/k0}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,c){let u=this.keys[i-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let m=u.classList.contains("sharp_key"),M=c/127,q=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),U;if(!m&&this.mode==="light"?U=`rgba(${q.slice(0,3).map(k0=>255-(255-k0)*M).join(", ")}, ${q[3]})`:U=`rgba(${q.slice(0,3).map(k0=>k0*M).join(", ")}, ${q[3]})`,u.style.background=U,this.mode==="dark"){let G=bQ*M;u.style.boxShadow=`${U} 0px 0px ${G}px ${G/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let u=this.keyColors[i-this._keyRange.min];if(!u)return;let m=u.findLastIndex(M=>M===this.channelColors[A]);m!==-1&&(u.splice(m,1),c.style.background=u[u.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${bQ}px ${u[u.length-1]}`),u.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};Lp.prototype._handlePointers=SQ;function L$(r,i){let A=r.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var KD="#000";function DQ(r,i,A){r.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let u=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*u,A){i.fillRect(c.xPos,c.yPos-c.height*u,c.width,c.height*(u*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*u,c.yPos,c.width*(u*2+1),c.height),i.globalAlpha=1}),r.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=KD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var sB=!1;function _Q(r=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(sB){r&&requestAnimationFrame(this.render.bind(this));return}else sB=!0;else sB=!1;if(r&&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||DQ(m,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${NE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,NE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,NE+5),this.onRender&&this.onRender(),r&&requestAnimationFrame(this.render.bind(this))}function xQ(r=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,u=i/(c+1),m=u-R$*2,M=this.noteFallingTimeMs/1e3,q=this.noteAfterTriggerTimeMs/1e3,U=this.seq.currentHighResolutionTime-this.timeOffset,G=U-q,k0=M+q,v=G+k0,T=MQ/k0,P=[];this.synth.channelProperties.forEach(I1=>{if(this.showVisualPitch){let g1=I1.pitchBend-8192+this.visualPitchBendOffset;P.push(I1.pitchBendRangeSemitones*(g1/8192*u))}else P.push(0)});let G0=[];return this.noteTimes.forEach((I1,g1)=>{if(I1.renderStartIndex>=I1.notes.length||!this.renderChannels[g1])return;let j1=I1.renderStartIndex,z1=I1.notes,u2=z1[j1],P2=-1;for(;u2.start<=v&&(j1++,!(this.notesOnScreen>RQ));){let L2=u2.start+u2.length;if(L2>G&&u2.length>0){let a0=u2.length/k0*A-R$*2;if(this.notesOnScreen<1e3||a0>T){P2===-1&&(P2=j1-1);let g5=(u2.start-G)/k0*A,p3;if(this._notesFall?p3=A-a0-g5+R$:p3=g5+R$,u2.midiNotethis.keyRange.max){if(j1>=z1.length)break;u2=z1[j1];continue}let k3=u2.midiNote-this.keyRange.min,u6=u*k3+R$,S3,c9,N9,E3;if(this.sideways?(S3=p3,c9=u6,E3=m,N9=a0):(c9=p3,S3=u6,N9=m,E3=a0),this.notesOnScreen++,r)this.drawingContext.fillStyle=this.plainColors[g1],this.drawingContext.fillRect(S3+M$+R$,c9+M$,N9-M$*2,E3-M$*2);else{let p6;if(u2.start>U||L2=z1.length)break;u2=z1[j1]}P2>-1&&(I1.renderStartIndex=P2)}),G0.sort((I1,g1)=>g1.height-I1.height),G0}function FQ(){let r=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let u=c%4,m=Math.floor(c/4),M=!1;for(let v=c;v0){M=!0;break}if(!M){let v=this.canvas.width/4,T=this.canvas.height/4,P=v*u,G0=T*m+T/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(P,G0),this.drawingContext.lineTo(P+v,G0),this.drawingContext.stroke();return}let q=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(q);let U=r*u,G=i*m+i/2,k0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let v=q.length/4,T=r/v,P=Math.floor(v/2),G0=q.length-P;for(let z1=G0;z1>=1;z1--)if(q[z1-1]<0&&q[z1]>=0){G0=z1;break}let I1=U,g1=G0-P,j1=G0+P;for(let z1=g1;z1{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function GQ(){for(let r=0;r{setTimeout(this.updateFftSize.bind(this),100)})}function PQ(){for(let r of this.channelAnalysers)r.disconnect();m5("%cAnalysers disconnected!",E1.recognized)}function OQ(r){this.seq=r,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]),c=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("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function qQ(){this.noteTimes&&this.noteTimes.forEach(r=>r.renderStartIndex=0)}function Mp(r,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=r[r.currentIndex++]<>>0}function Rp(r,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=r&255,r>>=8;return A}var Bu=.02;function HQ(r){function i(G){return G.messageData=new K5(G.messageData.buffer),G.messageData.currentIndex=0,6e7/Mp(G.messageData,3)}let A=[],u=r.tracks.flat();u.sort((G,k0)=>G.ticks-k0.ticks);for(let G=0;G<16;G++)A.push({renderStartIndex:0,notes:[]});let m=0,M=60/(120*r.timeDivision),q=0,U=0;for(;q>4,v=G.messageStatusByte&15;if(k0===8){let T=A[v].notes.findLast(P=>P.midiNote===G.messageData[0]&&P.length===-1);if(T){let P=m-T.start;T.length=PP.midiNote===G.messageData[0]&&P.length===-1);if(T){let P=m-T.start;T.length=P=u.length)break;m+=M*(u[q].ticks-G.ticks)}U>0&&A.forEach((G,k0)=>G.notes.filter(v=>v.length===-1).forEach(v=>{let T=m-v.start;v.length=Ti.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,c=>c*UE)),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,c=>c*UE*GE)),A.addColorStop(1,L$(i,c=>c*GE)),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,c=>c*UE)),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,c=>c*UE*GE)),A.addColorStop(1,L$(i,c=>c*GE)),A})}};G7.prototype.render=_Q;G7.prototype.computeNotePositions=xQ;G7.prototype.createChannelAnalysers=NQ;G7.prototype.updateFftSize=GQ;G7.prototype.connectChannelAnalysers=UQ;G7.prototype.disconnectChannelAnalysers=PQ;G7.prototype.connectSequencer=OQ;G7.prototype.calculateNoteTimes=HQ;G7.prototype.resetIndexes=qQ;G7.prototype.renderWaveforms=FQ;function s3(r,i){let A=0;for(let c=0;c>>0}function Ii(r,i,A){for(let c=0;c>c*8&255}function X3(r,i){r[r.currentIndex++]=i&255,r[r.currentIndex++]=i>>8}function p9(r,i){Ii(r,i,4)}function Ua(r,i){let A=i<<8|r;return A>32767?A-65536:A}function VQ(r){return r>127?r-256:r}function y4(r,i,A=void 0,c=!0){if(A){let u=r.slice(r.currentIndex,r.currentIndex+i);return r.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(u.buffer)}else{let u=!1,m="";for(let M=0;M127)&&q!==10){if(c){u=!0;continue}else if(q===0){u=!0;continue}}m+=String.fromCharCode(q)}}return m}}function yu(r,i=0){let A=r.length;i>0&&(A=i);let c=new K5(A);return P8(c,r,i),c}function Fr(r){return yu(r,r.length+1)}function P8(r,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,y4(A.chunkData,4)===i))}function PE(r){let i=[r&127];for(r>>=7;r>0;)i.unshift(r&127|128),r>>=7;return i}function OE(r){let i=[];for(let u of r.tracks){let m=[],M=0,q;for(let U of u){let G=U.ticks-M,k0;U.messageStatusByte<=v3.keySignature||U.messageStatusByte===v3.sequenceSpecific?k0=[255,U.messageStatusByte,...PE(U.messageData.length),...U.messageData]:U.messageStatusByte===v3.systemExclusive?k0=[240,...PE(U.messageData.length),...U.messageData]:(k0=[],q!==U.messageStatusByte&&(q=U.messageStatusByte,k0.push(U.messageStatusByte)),k0.push(...U.messageData)),m.push(...PE(G)),m.push(...k0),M+=G}i.push(new Uint8Array(m))}function A(u,m){for(let M=0;M{r.tracks.forEach((G0,I1)=>{if(r.midiPorts[I1]===P)for(let g1=G0.length-1;g1>=0;g1--)G0[g1].messageStatusByte>=128&&G0[g1].messageStatusByte<240&&(G0[g1].messageStatusByte&15)===T&&G0.splice(g1,1)})};c.forEach(T=>{let P=T%16,G0=T-P,I1=r.midiPortChannelOffsets.findIndex(g1=>g1===G0);m(P,I1),m5(`%cRemoving channel %c${T}%c!`,E1.info,E1.recognized,E1.info)});let M=!1,q="gs",U=[],G=[];r.tracks.forEach((T,P)=>{T.forEach(G0=>{let I1=G0.messageStatusByte&240;I1===v3.controllerChange?U.push({track:P,message:G0,channel:G0.messageStatusByte&15}):I1===v3.programChange?G.push({track:P,message:G0,channel:G0.messageStatusByte&15}):G0.messageStatusByte===v3.systemExclusive&&(G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[5]===126&&G0.messageData[6]===0?(m5("%cXG system on detected",E1.info),q="xg",M=!0):G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[3]===8&&G0.messageData[5]===3&&G.push({track:P,message:G0,channel:G0.messageData[4]}))})});let k0=(T,P,G0)=>r.tracks.reduce((I1,g1,j1)=>{if(r.usedChannelsOnTrack[j1].has(T)&&r.midiPorts[j1]===P){let z1;G0?z1=g1.findIndex(u2=>(u2.messageStatusByte&240)===v3.noteOn):z1=g1.findIndex(u2=>u2.messageStatusByte>128&&u2.messageStatusByte<240&&(u2.messageStatusByte&15)===T&&!(u2.messageStatusByte&v3.controllerChange===240&&(u2.messageData[0]===$3.resetAllControllers||u2.messageData[0]===$3.allNotesOff||u2.messageData[0]===$3.allSoundOff))),z1!==-1&&I1.push({index:z1,track:j1})}return I1},[]),v=(T,P,G0)=>{let I1=U.filter(g1=>g1.channel===T&&g1.message.messageData[0]===G0&&r.midiPorts[g1.track]===P);for(let g1=0;g1{let P=T.channel,G0=P%16,I1=P-G0,g1=r.midiPortChannelOffsets.findIndex(a0=>a0===I1),j1=T.controllerValue,z1=T.controllerNumber;v(G0,g1,z1),m5(`%cNo controller %c${z1}%c on channel %c${P}%c found. Adding it!`,E1.info,E1.unrecognized,E1.info,E1.value,E1.info);let u2=k0(G0,g1,!0);if(u2.length===0){I9("Program change but no notes... ignoring!");return}let P2=u2.reduce((a0,g5)=>r.tracks[g5.track][g5.index].ticks{let P=T.channel%16,G0=T.channel-P,I1=r.midiPortChannelOffsets.findIndex(k3=>k3===G0),g1=T.isDrum?0:T.bank,j1=T.program,z1=G.filter(k3=>r.midiPorts[k3.track]===I1&&k3.channel===P);if(v(P,I1,$3.bankSelect),v(P,I1,$3.lsbForControl0BankSelect),(T.isDrum||g1>0)&&!M&&(r.tracks.forEach(k3=>{for(let u6=0;u60);if(u2.length===0){I9("Program change but no notes... ignoring!");return}let P2=u2.reduce((k3,u6)=>r.tracks[u6.track][u6.index].ticks{if(r.midiPorts[z1]!==G0||!r.usedChannelsOnTrack[z1].has(P))return;let u2=v3.noteOn|P,P2=v3.noteOff|P,L2=v3.polyPressure|P;j1.forEach(a0=>{a0.messageStatusByte!==u2&&a0.messageStatusByte!==P2&&a0.messageStatusByte!==L2||(a0.messageData[0]=Math.max(0,Math.min(127,a0.messageData[0]+I1)))})}),g1!==0){let j1=r.tracks.find((S3,c9)=>r.usedChannelsOnTrack[c9].has(T.channel));if(j1===void 0){I9(`Channel ${T.channel} unused but transpose requested???`);continue}let z1=v3.noteOn|T.channel%16,u2=j1.findIndex(S3=>S3.messageStatusByte===z1);if(u2===-1){I9(`No notes on channel ${T.channel} but transpose requested???`);continue}let P2=j1[u2].ticks,L2=g1*64+64,a0=v3.controllerChange|T.channel%16,g5=new w7(P2,a0,new K5([$3.RPNMsb,0])),p3=new w7(P2,a0,new K5([$3.RPNLsb,1])),k3=new w7(P2,a0,new K5([$3.dataEntryMsb,L2])),u6=new w7(P2,a0,new K5([$3.lsbForControl6DataEntry,0]));j1.splice(u2,0,u6),j1.splice(u2,0,k3),j1.splice(u2,0,p3),j1.splice(u2,0,g5)}}u9()}function Pa(r,i){let A=[],c=[],u=[],m=[];i.channelSnapshots.forEach((M,q)=>{if(M.isMuted){c.push(q);return}let U=M.channelTransposeKeyShift+M.customControllers[ME.channelTransposeFine]/100;U!==0&&A.push({channel:q,keyShift:U}),M.lockPreset&&u.push({channel:q,program:M.program,bank:M.bank,isDrum:M.drumChannel}),M.lockedControllers.forEach((G,k0)=>{if(!G||k0>127||k0===$3.bankSelect)return;let v=M.midiControllers[k0]>>7;m.push({channel:q,controllerNumber:k0,controllerValue:v})})}),t_(r,u,m,c,A)}var O8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",i_="Created using SpessaSynth";function qE(r,i,A,c=0,u="Shift_JIS",m={},M=!0){if(F7("%cWriting the RMIDI File...",E1.info),m5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${u}`,E1.info,E1.value,E1.info,E1.value),m5("metadata",m),m5("Initial bank offset",i.bankOffset),M){let j1=function(){let L2=0,a0=1/0;return i.tracks.forEach((g5,p3)=>{I1[p3]>=g5.length||g5[I1[p3]].ticksa0>L2?a0:L2),P2=[];for(let L2=0;L20;){let L2=j1(),a0=i.tracks[L2];if(I1[L2]>=a0.length){g1--;continue}let g5=a0[I1[L2]];I1[L2]++;let p3=i.midiPortChannelOffsets[z1[L2]];if(g5.messageStatusByte===v3.midiPort){z1[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",G0.push({tNum:L2,e:g5}));continue}let c9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][g5.messageData[5]&15]+p3;P2[c9].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 c9=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),N9=S3.drums?128:c9;if(S3.lastBank===void 0)continue;if(P==="xg"&&S3.drums&&(P2[u6].lastBank.messageData[1]=127),A.presets.findIndex(E3=>E3.bank===N9&&E3.program===g5.messageData[0])===-1){let E3=A.presets.find(p6=>p6.program===g5.messageData[0])?.bank+c||c;S3.lastBank.messageData[1]=E3,m5(`%cNo preset %c${N9}:${g5.messageData[0]}%c. Changing bank to ${E3}.`,E1.info,E1.recognized,E1.info)}else{let p6=(N9===128?P==="xg"?127:0:c9)+c;S3.lastBank.messageData[1]=p6,m5(`%cPreset %c${N9}:${g5.messageData[0]}%c exists. Changing bank to ${p6}.`,E1.info,E1.recognized,E1.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 c9=S3.findIndex(p6=>p6.messageStatusByte===p3);if(c9===-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,tn=A.getPreset(0,0).program;S3.splice(p6,0,new w7(w4,v3.programChange|g5,new K5([tn]))),c9=p6}m5(`%cAdding bank select for %c${a0}`,E1.info,E1.recognized);let N9=S3[c9].ticks,E3=A.getPreset(0,L2.program)?.bank+c||c;S3.splice(c9,0,new w7(N9,v3.controllerChange|g5,new K5([$3.bankSelect,E3])))}),P!=="gs"&&P!=="xg"){for(let a0 of G0)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,AB(0))}}let q=new K5(OE(i).buffer),U=[yu("INFO")],G=new TextEncoder;if(U.push(k6(O8.software,G.encode("SpessaSynth"),!0)),m.name!==void 0?(U.push(k6(O8.name,G.encode(m.name),!0)),u=Oa):U.push(k6(O8.name,i.rawMidiName,!0)),m.creationDate!==void 0)u=Oa,U.push(k6(O8.creationDate,G.encode(m.creationDate),!0));else{let P=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});U.push(k6(O8.creationDate,Fr(P),!0))}if(m.comment!==void 0&&(u=Oa,U.push(k6(O8.comment,G.encode(m.comment)))),m.engineer!==void 0&&U.push(k6(O8.engineer,G.encode(m.engineer),!0)),m.album!==void 0&&(u=Oa,U.push(k6(O8.album,G.encode(m.album),!0))),m.artist!==void 0&&(u=Oa,U.push(k6(O8.artist,G.encode(m.artist),!0))),m.genre!==void 0&&(u=Oa,U.push(k6(O8.genre,G.encode(m.genre),!0))),m.picture!==void 0&&U.push(k6(O8.picture,new Uint8Array(m.picture))),m.copyright!==void 0)u=Oa,U.push(k6(O8.copyright,G.encode(m.copyright),!0));else{let P=i.copyright.length>0?i.copyright:i_;U.push(k6(O8.copyright,Fr(P)))}let k0=new K5(2);Ii(k0,c,2),U.push(k6(O8.bankOffset,k0)),m.midiEncoding!==void 0&&(U.push(k6(O8.midiEncoding,G.encode(m.midiEncoding))),u=Oa),U.push(k6(O8.encoding,Fr(u)));let v=St(U),T=St([yu("RMID"),k6("data",q),k6("LIST",v),r]);return m5("%cFinished!",E1.info),u9(),k6("RIFF",T)}var Fp=class r{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];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;embeddedSoundFont=void 0;format=0;RMIDInfo={};bankOffset=0;tracks=[];static copyFrom(i){let A=new r;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.tempoChanges=[...i.tempoChanges],A.lyrics=i.lyrics.map(c=>new Uint8Array(c)),A.midiPorts=[...i.midiPorts],A.midiPortChannelOffsets=[...i.midiPortChannelOffsets],A.usedChannelsOnTrack=i.usedChannelsOnTrack.map(c=>new Set(c)),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(c=>[...c]),A}flush(){let i=[];for(let u of this.tracks){u.sort((M,q)=>M.ticks-q.ticks);let m=u.find(M=>(M.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(M=>{if(M.messageStatusByte>=128&&M.messageStatusByte<240&&M.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=M.ticks),M.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:M.ticks,tempo:6e7/Mp(M.messageData,3)});else if((M.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[m].add(M.messageData[0]);else if(M.messageStatusByte===v3.midiPort){let q=M.messageData[0];this.midiPorts[m]=q,this.midiPortChannelOffsets[q]===void 0&&(this.midiPortChannelOffsets[q]=A,A+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Qu(this.lastVoiceEventTick,this);let c=0;for(let u of this.midiPorts)if(u!==-1){c=u;break}this.midiPorts=this.midiPorts.map(u=>u===-1?c:u),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Qu(r,i){let A=0;for(;r>0;){let c=i.tempoChanges.find(m=>m.ticks=128){this.MIDIout.send(c);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(q=>q[1](u)),A[2]===!0&&this.unpause();break;case qa.textEvent:let m=A;this.onTextEvent&&this.onTextEvent(m[0],m[1]);break;case qa.timeChange:let M=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(q=>q[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(q=>q[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(Fp.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=YQ,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){I9("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 Tp=["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 zQ(r){return` `}function F$(r){return` @@ -66,28 +66,28 @@ var bE=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(i,A)=>( `}function Gp(r){return` -`}function AB(r){return` +`}function $B(r){return` `}function nw(r){return` `}function Up(r){return` -`}function $B(r){return` +`}function lB(r){return` -`}function vu(r,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=r,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 rw(){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",r=>{this.seq.currentTime-=r.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",r=>{this.seq.currentTime+=r.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",r=>{this.seq.currentTime=r.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function ow(r=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else if(this.seq.midiData.midiNameUsesFileName)this.currentSongTitle=DE(this.seq.midiData.fileName);else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=DE(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,u)=>c+u.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),r&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}function r_(r){let i=[],A="",c=!1;for(let u=0;u{v.startsWith("{")||k0.push(v)}),this.textClean=k0.join(""),this.startSeconds=c,this.endSeconds=u,this.styleName=m,this.styleData=G.find(v=>v.Name===this.styleName),this.marginLeft=R||parseInt(this.styleData.MarginL),this.marginRight=q||parseInt(this.styleData.MarginR),this.marginVertical=U||parseInt(this.styleData.MarginV),this.primaryColor=sw(this.styleData.PrimaryColour),this.secondaryColor=sw(this.styleData.SecondaryColour)}hide(){this.element!==void 0&&this.element.remove(),this.element=void 0}updateHighlights(i){let A=0,c=0,u=0,m=i-this.startSeconds,R=!1,q=0;for(let U of this.text)if(U.startsWith("{")){let G=U.startsWith("{\\K")||U.startsWith("{\\kf");if(!G&&!U.startsWith("{\\k"))continue;let k0=parseInt(U.slice(3,-1))/100;G?(q=k0,R=!0):A+=k0,c=k0}else{let G=this.textChunks[u];if(R){if(R=!1,A>m)G.style.cssText="",G.style.backgroundImage="",G.style.backgroundClip="",G.style.color=this.secondaryColor;else{let k0=m-A,v=Math.min(100,k0/q*100);G.style.color="transparent",G.style.backgroundImage=`linear-gradient(90deg, ${this.primaryColor} 50%, ${this.secondaryColor} 50%)`,G.style.backgroundPosition=`${100-v}%`,G.style.backgroundSize="200% 100%",G.style.backgroundClip="text"}A+=q}else G.style.backgroundImage="",G.style.backgroundClip="",A-c>m?G.style.color=this.secondaryColor:G.style.color=this.primaryColor;u++}}show(i,A,c,u,m){if(this.element!==void 0){this.updateHighlights(u);return}this.element=document.createElement("div"),this.element.classList.add("ass_renderer_element");let R=parseInt(this.styleData.Alignment);if(this.text[0].startsWith("{\\an"))R=parseInt(this.text[0][4]);else if(this.text[0].startsWith("{\\a"))switch(parseInt(this.text[0][3])){case 1:R=1;break;case 2:R=2;break;case 3:R=3;break;case 5:R=7;break;case 6:R=8;break;case 7:R=9;break;case 9:R=4;break;case 10:R=5;break;case 11:R=6;break;default:R=5;break}let q=this.marginLeft/i*100,U=this.marginRight/i*100,G=this.marginVertical/A*100;switch(R){case 1:this.element.style.left=`${q}%`,this.element.style.bottom=`${G}%`;break;case 2:this.element.style.left=`calc(50% + ${q}% - ${U}%)`,this.element.style.bottom=`${G}%`,this.element.style.transform="translateX(-50%)";break;case 3:this.element.style.right=`${U}%`,this.element.style.bottom=`${G}%`;break;case 4:this.element.style.left=`${q}%`,this.element.style.top=`calc(50% + ${G}% - ${G}%)`,this.element.style.transform="translateY(-50%)";break;case 5:this.element.style.left=`calc(50% + ${q}% - ${U}%)`,this.element.style.top=`calc(50% + ${G}% - ${G}%)`,this.element.style.transform="translate(-50%, -50%)";break;case 6:this.element.style.right=`${U}%`,this.element.style.top=`calc(50% + ${G}% - ${G}%)`,this.element.style.transform="translateY(-50%)";break;case 7:this.element.style.left=`${q}%`,this.element.style.top=`${G}%`;break;case 8:this.element.style.left=`calc(50% + ${q}% - ${U}%)`,this.element.style.top=`${G}%`,this.element.style.transform="translateX(-50%)";break;case 9:this.element.style.right=`${U}%`,this.element.style.top=`${G}%`;break;default:this.element.style.left=`${q}%`,this.element.style.bottom=`${G}%`;break}this.element.style.color=this.styleData.PrimaryColour,this.element.style.zIndex=(this.layer+99999).toString();let k0=`${this.styleData.Fontname}, "${m}", sans-serif`,v=this.styleData.Fontsize;this.text[0].startsWith("{\\fs")&&(v=this.text[0].slice(4,-1)),this.element.style.fontFamily=k0,this.element.style.fontSize=`${parseFloat(v)/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 G0=document.createElement("span");G0.textContent=P.replaceAll("\\N",` +`}function vu(r,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=r,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 rw(){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",r=>{this.seq.currentTime-=r.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",r=>{this.seq.currentTime+=r.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",r=>{this.seq.currentTime=r.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function ow(r=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else if(this.seq.midiData.midiNameUsesFileName)this.currentSongTitle=DE(this.seq.midiData.fileName);else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=DE(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,u)=>c+u.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),r&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}function r_(r){let i=[],A="",c=!1;for(let u=0;u{v.startsWith("{")||k0.push(v)}),this.textClean=k0.join(""),this.startSeconds=c,this.endSeconds=u,this.styleName=m,this.styleData=G.find(v=>v.Name===this.styleName),this.marginLeft=M||parseInt(this.styleData.MarginL),this.marginRight=q||parseInt(this.styleData.MarginR),this.marginVertical=U||parseInt(this.styleData.MarginV),this.primaryColor=sw(this.styleData.PrimaryColour),this.secondaryColor=sw(this.styleData.SecondaryColour)}hide(){this.element!==void 0&&this.element.remove(),this.element=void 0}updateHighlights(i){let A=0,c=0,u=0,m=i-this.startSeconds,M=!1,q=0;for(let U of this.text)if(U.startsWith("{")){let G=U.startsWith("{\\K")||U.startsWith("{\\kf");if(!G&&!U.startsWith("{\\k"))continue;let k0=parseInt(U.slice(3,-1))/100;G?(q=k0,M=!0):A+=k0,c=k0}else{let G=this.textChunks[u];if(M){if(M=!1,A>m)G.style.cssText="",G.style.backgroundImage="",G.style.backgroundClip="",G.style.color=this.secondaryColor;else{let k0=m-A,v=Math.min(100,k0/q*100);G.style.color="transparent",G.style.backgroundImage=`linear-gradient(90deg, ${this.primaryColor} 50%, ${this.secondaryColor} 50%)`,G.style.backgroundPosition=`${100-v}%`,G.style.backgroundSize="200% 100%",G.style.backgroundClip="text"}A+=q}else G.style.backgroundImage="",G.style.backgroundClip="",A-c>m?G.style.color=this.secondaryColor:G.style.color=this.primaryColor;u++}}show(i,A,c,u,m){if(this.element!==void 0){this.updateHighlights(u);return}this.element=document.createElement("div"),this.element.classList.add("ass_renderer_element");let M=parseInt(this.styleData.Alignment);if(this.text[0].startsWith("{\\an"))M=parseInt(this.text[0][4]);else if(this.text[0].startsWith("{\\a"))switch(parseInt(this.text[0][3])){case 1:M=1;break;case 2:M=2;break;case 3:M=3;break;case 5:M=7;break;case 6:M=8;break;case 7:M=9;break;case 9:M=4;break;case 10:M=5;break;case 11:M=6;break;default:M=5;break}let q=this.marginLeft/i*100,U=this.marginRight/i*100,G=this.marginVertical/A*100;switch(M){case 1:this.element.style.left=`${q}%`,this.element.style.bottom=`${G}%`;break;case 2:this.element.style.left=`calc(50% + ${q}% - ${U}%)`,this.element.style.bottom=`${G}%`,this.element.style.transform="translateX(-50%)";break;case 3:this.element.style.right=`${U}%`,this.element.style.bottom=`${G}%`;break;case 4:this.element.style.left=`${q}%`,this.element.style.top=`calc(50% + ${G}% - ${G}%)`,this.element.style.transform="translateY(-50%)";break;case 5:this.element.style.left=`calc(50% + ${q}% - ${U}%)`,this.element.style.top=`calc(50% + ${G}% - ${G}%)`,this.element.style.transform="translate(-50%, -50%)";break;case 6:this.element.style.right=`${U}%`,this.element.style.top=`calc(50% + ${G}% - ${G}%)`,this.element.style.transform="translateY(-50%)";break;case 7:this.element.style.left=`${q}%`,this.element.style.top=`${G}%`;break;case 8:this.element.style.left=`calc(50% + ${q}% - ${U}%)`,this.element.style.top=`${G}%`,this.element.style.transform="translateX(-50%)";break;case 9:this.element.style.right=`${U}%`,this.element.style.top=`${G}%`;break;default:this.element.style.left=`${q}%`,this.element.style.bottom=`${G}%`;break}this.element.style.color=this.styleData.PrimaryColour,this.element.style.zIndex=(this.layer+99999).toString();let k0=`${this.styleData.Fontname}, "${m}", sans-serif`,v=this.styleData.Fontsize;this.text[0].startsWith("{\\fs")&&(v=this.text[0].slice(4,-1)),this.element.style.fontFamily=k0,this.element.style.fontSize=`${parseFloat(v)/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 G0=document.createElement("span");G0.textContent=P.replaceAll("\\N",` `).replaceAll("\\h"," ").replaceAll("\\n",` -`),G0.style.color=this.secondaryColor,this.element.appendChild(G0),this.textChunks.push(G0)}c.appendChild(this.element),this.element.offsetHeight;let T=this.element.getBoundingClientRect();for(let P of c.children){if(P===this.element)continue;let G0=P.getBoundingClientRect(),I1=c.getBoundingClientRect();T.topG0.top&&(G0.top-I1.top>T.height?(this.element.style.top="",this.element.style.bottom=`${I1.bottom-G0.top}px`):(this.element.style.top=`${G0.top+G0.height}px`,this.element.style.bottom=""))}}};var lB=384,cB=288;function aw(r){let[i,A,c]=r.split(":"),[u,m]=c.split(".");return parseInt(i)*3600+parseInt(A)*60+parseInt(u)+parseInt(m)/100}var gB=class{type;data},uB=class{type;contents=[];constructor(i,A){this.type=i,this.contents=A}getContent(i,A=""){return this.contents.find(c=>c.type===i)?.data||A}},JE=class{visible;subData=[];resolutionX=lB;resolutionY=cB;kerning=!0;styles=[];events=[];fonts=[];timer=1;constructor(i,A,c){this.seq=i,this.screen=A,this.init(),c.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=lB,this.resolutionY=cB,this.kerning=!0,this.styles=[],this.events=[],this.fonts=[],this.screen.innerHTML=""}setVisibility(i){this.visible=i,this.tick()}_getSection(i,A=!1){let c=i.toLowerCase(),u=this.subData.find(m=>m.type.toLowerCase()===c);if(!u&&A)throw new Error(`Section ${i} not found!`);return u}loadASSSubtitles(i){this.init();let A=i.replaceAll(`\r +`),G0.style.color=this.secondaryColor,this.element.appendChild(G0),this.textChunks.push(G0)}c.appendChild(this.element),this.element.offsetHeight;let T=this.element.getBoundingClientRect();for(let P of c.children){if(P===this.element)continue;let G0=P.getBoundingClientRect(),I1=c.getBoundingClientRect();T.topG0.top&&(G0.top-I1.top>T.height?(this.element.style.top="",this.element.style.bottom=`${I1.bottom-G0.top}px`):(this.element.style.top=`${G0.top+G0.height}px`,this.element.style.bottom=""))}}};var cB=384,gB=288;function aw(r){let[i,A,c]=r.split(":"),[u,m]=c.split(".");return parseInt(i)*3600+parseInt(A)*60+parseInt(u)+parseInt(m)/100}var uB=class{type;data},JE=class{type;contents=[];constructor(i,A){this.type=i,this.contents=A}getContent(i,A=""){return this.contents.find(c=>c.type===i)?.data||A}},KE=class{visible;subData=[];resolutionX=cB;resolutionY=gB;kerning=!0;styles=[];events=[];fonts=[];timer=1;constructor(i,A,c){this.seq=i,this.screen=A,this.init(),c.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=cB,this.resolutionY=gB,this.kerning=!0,this.styles=[],this.events=[],this.fonts=[],this.screen.innerHTML=""}setVisibility(i){this.visible=i,this.tick()}_getSection(i,A=!1){let c=i.toLowerCase(),u=this.subData.find(m=>m.type.toLowerCase()===c);if(!u&&A)throw new Error(`Section ${i} not found!`);return u}loadASSSubtitles(i){this.init();let A=i.replaceAll(`\r `,` `).split(` -`),c=!1,u="",m="",R=[];for(let T of A)if(T.startsWith("["))u=T,c=!0;else if(T.length===0&&c)c=!1,this.subData.push(new uB(u,R)),R=[];else if(u==="[Fonts]")if(!T.startsWith("fontname: "))this.fonts.find(P=>P.name===m).data+=T;else{let P=T.split(/: (.*)/s)[1];this.fonts.push({name:P,data:"",dataDecoded:void 0}),m=P}else if(!T.startsWith("!")&&!T.startsWith(";")){let P=T.split(/: (.*)/s),G0=new gB;G0.type=P[0],G0.data=P[1],R.push(G0)}let q=this._getSection("[Script Info]",!0);this.resolutionX=parseInt(q.getContent("PlayResX",lB.toString())),this.resolutionY=parseInt(q.getContent("PlayResY",cB.toString())),this.kerning=q.getContent("Kerning","yes")==="yes",this.timer=parseFloat(q.getContent("Timer","100"))/100;let U=this._getSection("[V4+ Styles]",!0),G=U.getContent("Format","").split(", ");for(let T of U.contents){if(T.type!=="Style")continue;let P=T.data.split(",");if(P.length!==G.length)throw new Error(`Format and style data counts do not match. Expected ${G.length} got ${P.length}`);let G0={};for(let I1=0;I1p3.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];z1+1P.name===m).data+=T;else{let P=T.split(/: (.*)/s)[1];this.fonts.push({name:P,data:"",dataDecoded:void 0}),m=P}else if(!T.startsWith("!")&&!T.startsWith(";")){let P=T.split(/: (.*)/s),G0=new uB;G0.type=P[0],G0.data=P[1],M.push(G0)}c&&this.subData.push(new JE(u,M));let q=this._getSection("[Script Info]",!0);this.resolutionX=parseInt(q.getContent("PlayResX",cB.toString())),this.resolutionY=parseInt(q.getContent("PlayResY",gB.toString())),this.kerning=q.getContent("Kerning","yes")==="yes",this.timer=parseFloat(q.getContent("Timer","100"))/100;let U=this._getSection("[V4+ Styles]",!0),G=U.getContent("Format","").split(", ");for(let T of U.contents){if(T.type!=="Style")continue;let P=T.data.split(",");if(P.length!==G.length)throw new Error(`Format and style data counts do not match. Expected ${G.length} got ${P.length}`);let G0={};for(let I1=0;I1p3.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];z1+1{let P=document.createElement("option");P.innerText=T,P.value=T,c.appendChild(P)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let u=document.createElement("p");u.classList.add("lyrics_text"),r.appendChild(u);let m=document.createElement("span");m.classList.add("lyrics_text_highlight"),u.appendChild(m);let R=document.createElement("span");R.classList.add("lyrics_text_gray"),u.appendChild(R);let q=document.createElement("details"),U=document.createElement("summary");this.locale.bindObjectProperty(U,"textContent","locale.sequencerController.lyrics.otherText.title"),q.appendChild(U);let G=document.createElement("div");G.innerText="",q.appendChild(G),r.appendChild(q),this.subtitleManager=new JE(this.seq,document.getElementsByClassName("ass_renderer_field")[0],this.renderer);let k0=document.createElement("input");k0.type="file",k0.accept=".ass",k0.id="subtitle_upload",k0.classList.add("hidden"),r.appendChild(k0),k0.onchange=async()=>{if(k0.files[0]===void 0)return;let T=k0.files[0];this.subtitleManager.loadASSSubtitles(await T.text()),this.subtitleManager.setVisibility(!0),this.toggleLyrics()};let v=document.createElement("label");v.htmlFor="subtitle_upload",v.classList.add("general_button"),this.locale.bindObjectProperty(v,"textContent","locale.sequencerController.lyrics.subtitles.title"),this.locale.bindObjectProperty(v,"title","locale.sequencerController.lyrics.subtitles.description"),r.appendChild(v),this.lyricsElement.text={highlight:m,gray:R,main:u,other:G,subtitleButton:v},this.lyricsElement.mainDiv=r,this.lyricsElement.selector=c,this.controls.appendChild(r),this.requiresTextUpdate=!0}function $w(r){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(r,""),i.innerText=r,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-o_*5)}function lw(){let r="";for(let i of this.rawOtherTextEvents)r+=`
${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=r}var Kn=32,cw="#ccc",gw="#555",s_="#333",a_="#ddd",A_="Shift_JIS",Oo=class{constructor(i,A,c,u){this.iconColor=cw,this.iconDisabledColor=gw,this.controls=i,this.encoding=A_,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c,this.renderer=u}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=s_,this.iconDisabledColor=a_):(this.mode="dark",this.iconColor=cw,this.iconDisabledColor=gw),!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$(Kn),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=zQ(Kn),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,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Tp[c]),this.encodingSelector.value=Tp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let u=this.decodeTextFix(A.buffer);switch(c){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:c,data:A}),this.requiresTextUpdate=!0;return;case v3.lyric:this.text+=u,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[O8.encoding]!==void 0,A.isEmbedded){let c=(q,U,G,k0="")=>this.seq.midiData.RMIDInfo?.[q]===void 0?U:k0+G.decode(this.seq.midiData.RMIDInfo?.[q]).replace(/\0$/,""),u=new TextDecoder,m=c(O8.midiEncoding,this.encoding,u),R=c(O8.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(R),this.changeEncoding(m)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=v=>{v.preventDefault();let T=i.getBoundingClientRect(),P=v.clientX-T.left,G0=T.width;this.seq.currentTime=P/G0*this.seq.duration,c.innerHTML=F$(Kn)},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"),c=vu("Play/Pause",F$(Kn));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=u;let m=vu("Previous song",ZQ(Kn));this.locale.bindObjectProperty(m,"title","locale.sequencerController.previousSong"),m.onclick=()=>this.switchToPreviousSong();let R=vu("Next song",WQ(Kn));this.locale.bindObjectProperty(R,"title","locale.sequencerController.nextSong"),R.onclick=()=>this.switchToNextSong();let q=vu("Loop this",JQ(Kn));this.locale.bindObjectProperty(q,"title","locale.sequencerController.loopThis");let U=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),q.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};q.onclick=U,this.loopButton=q;let G=vu("Show lyrics",KQ(Kn));this.locale.bindObjectProperty(G,"title","locale.sequencerController.lyrics.show"),G.firstElementChild.setAttribute("fill",this.iconDisabledColor);let k0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),G.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};this.toggleLyrics=k0,G.onclick=k0,document.addEventListener("keydown",v=>{switch(v.key.toLowerCase()){case q8.playPause:v.preventDefault(),u();break;case q8.toggleLoop:v.preventDefault(),U();break;case q8.toggleLyrics:v.preventDefault(),k0();break;default:break}}),A.appendChild(m),A.appendChild(q),A.appendChild(c),A.appendChild(G),A.appendChild(R),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",v=>{switch(v.key.toLowerCase()){case q8.seekBackwards:v.preventDefault(),this.seq.currentTime-=5,c.innerHTML=F$(Kn);break;case q8.seekForwards:v.preventDefault(),this.seq.currentTime+=5,c.innerHTML=F$(Kn);break;case q8.previousSong:this.switchToPreviousSong();break;case q8.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(v.key))){v.preventDefault();let T=parseInt(v.key);0<=T&&T<=9&&(this.seq.currentTime=this.seq.duration*(T/10),c.innerHTML=F$(Kn))}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)}};Oo.prototype.createNavigatorHandler=rw;Oo.prototype.updateTitleAndMediaStatus=ow;Oo.prototype.createLyrics=Aw;Oo.prototype.setLyricsText=$w;Oo.prototype.updateOtherTextEvents=lw;function uw(){this.controllers.forEach(r=>{r.voiceMeter.hide(),r.pitchWheel.hide(),r.pan.hide(),r.expression.hide(),r.volume.hide(),r.mod.hide(),r.chorus.hide(),r.reverb.hide(),r.brightness.hide()})}function hw(){this.controllers.forEach(r=>{r.voiceMeter.show(),r.pitchWheel.show(),r.pan.show(),r.expression.show(),r.volume.show(),r.mod.show(),r.chorus.show(),r.reverb.show(),r.brightness.show()})}function dw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(r=>{r.classList.toggle("synthui_button"),r.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(r=>{r.toggleMode(!0)}),this.controllers.forEach(r=>{r.voiceMeter.toggleMode(),r.pitchWheel.toggleMode(),r.pan.toggleMode(),r.expression.toggleMode(),r.volume.toggleMode(),r.mod.toggleMode(),r.chorus.toggleMode(),r.reverb.toggleMode(),r.brightness.toggleMode(),r.preset.toggleMode(),r.drumsToggle.classList.toggle("mute_button_light"),r.muteButton.classList.toggle("mute_button_light")})}var Cn=class{constructor(i="none",A,c,u,m=0,R=100,q=!1,U=void 0,G=void 0,k0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=m,this.max=R,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=G,this.unlockCallback=k0,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),c.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,q){if(U===void 0)throw new Error("No editable function given!");this.div.onmousedown=v=>{v.preventDefault(),v.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=v=>{if(!this.isActive)return;let T=v.currentTarget.getBoundingClientRect(),P=T.left,G0=T.width,I1=v.clientX-P,g1=Math.max(0,Math.min(1,I1/G0));U(g1*(R-m)+m)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=v=>{this.div.onmousemove(v),this.isActive=!1},this.text.oncontextmenu=v=>{v.preventDefault()},this.div.onclick=v=>{v.preventDefault(),this.isActive=!0,this.div.onmousemove(v),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 c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var fw=["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 KE=class{constructor(i,A,c,u,m=void 0,R=void 0){this.elements=i.map(q=>({name:q.name,program:q.program,bank:q.bank,stringified:`${q.bank.toString().padStart(3,"0")}:${q.program.toString().padStart(3,"0")} ${q.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",c+".description",u),this.locale=A,this.localePath=c,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=m,this.selectionMenu=void 0,this.lockCallback=R,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 c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),c.appendChild(u),u.onkeydown=G=>G.stopPropagation();let m=document.createElement("div");m.innerHTML=this.locked?Gp(ai):AB(ai),this.locale.bindObjectProperty(m,"title",e4+"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=Gp(ai):m.innerHTML=AB(ai)},c.appendChild(m),this.presetLock=m;let R=document.createElement("div");R.classList.add("voice_selector_table_wrapper"),i.appendChild(R);let U=this.generateTable(R,this.elements).querySelector(".voice_selector_selected");u.oninput=G=>{G.stopPropagation();let k0=u.value,v=this.elements.filter(I1=>I1.stringified.search(new RegExp(k0,"i"))>=0);if(v.length===this.elements.length||v.length===0)return;R.replaceChildren();let T=this.generateTable(R,v),P=T.querySelector(".voice_selector_selected");if(P){U=P;return}let G0=T.querySelector(".voice_selector_option");G0.classList.add("voice_selector_selected"),U=G0},u.addEventListener("keydown",G=>{switch(G.key){case"Enter":let k0=U.getAttribute("bank"),v=U.getAttribute("program"),T=`${k0}:${v}`;if(this.value===T){this.hideSelectionMenu();return}this.editCallback(T),this.locked=!0,this.presetLock.innerHTML=Gp(ai),this.hideSelectionMenu();break;case"ArrowDown":let P=U.nextElementSibling;for(;P;){if(P.classList.contains("voice_selector_option")){U.classList.remove("voice_selector_selected"),P.classList.add("voice_selector_selected"),U=P;return}P=P.nextElementSibling}break;case"ArrowUp":let G0=U.previousElementSibling;for(;G0;){if(G0.classList.contains("voice_selector_option")){U.classList.remove("voice_selector_selected"),G0.classList.add("voice_selector_selected"),U=G0;return}G0=G0.previousElementSibling}break}}),i.onclick=G=>{G.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=G=>{G.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,N7||u.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),m=parseInt(this.value.split(":")[1]),R=-20;for(let q of A){let U=document.createElement("tr"),G=q.program;if(U.classList.add("voice_selector_option"),U.setAttribute("program",G.toString()),U.setAttribute("bank",q.bank.toString()),G===m&&q.bank===u&&(U.classList.add("voice_selector_selected"),setTimeout(()=>{U.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),U.onclick=()=>{let I1=`${q.bank}:${G}`;if(this.value===I1){this.hideSelectionMenu();return}this.editCallback(I1),this.locked=!0,this.presetLock.innerHTML=Gp(ai),this.hideSelectionMenu()},G!==R&&(R=G,q.bank!==128)){let I1=document.createElement("tr"),g1=document.createElement("th");g1.colSpan="3",g1.textContent=fw[R],I1.appendChild(g1),c.appendChild(I1)}let k0=`${q.program.toString().padStart(3,"0")}`,v=`${q.bank.toString().padStart(3,"0")}`,T=document.createElement("td");T.classList.add("voice_selector_preset_name"),T.textContent=q.name;let P=document.createElement("td");T.classList.add("voice_selector_preset_program"),P.textContent=k0;let G0=document.createElement("td");T.classList.add("voice_selector_preset_program"),G0.textContent=v,U.appendChild(G0),U.appendChild(P),U.appendChild(T),c.appendChild(U)}return i.appendChild(c),c}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],c=A.bank,u=parseInt(this.value.split(":")[1]),m=u;this.elements.find(R=>R.program===u)===void 0&&(m=A.program),this.mainButton.textContent=this.getString(`${c}:${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 c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),m=parseInt(this.value.split(":")[1]);for(let R of c.rows){if(R.cells.length===1)continue;let q=parseInt(R.cells[0].textContent),U=parseInt(R.cells[1].textContent);q===u&&U===m&&(R.classList.add("voice_selector_selected"),R.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),u=parseInt(A[1]),m=this.elements.find(R=>R.bank===c&&R.program===u);return m?c===128||this.elements.filter(R=>R.program===u&&R.bank!==128).length<2?`${u}. ${m.name}`:`${c}:${u} ${m.name}`:""}};var ai=32;function Iw(r){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new Cn(this.channelColors[r%this.channelColors.length],e4+"channelController.voiceMeter",this.locale,[r+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new Cn(this.channelColors[r%this.channelColors.length],e4+"channelController.pitchBendMeter",this.locale,[r+1],-8192,8191,!0,z1=>{let u2=c.isLocked;u2&&this.synth.lockController(r,x$+q4.pitchWheel,!1),z1=Math.round(z1)+8192;let P2=z1>>7,L2=z1&127;this.synth.pitchWheel(r,P2,L2),u2&&this.synth.lockController(r,x$+q4.pitchWheel,!0)},()=>this.synth.lockController(r,x$+q4.pitchWheel,!0),()=>this.synth.lockController(r,x$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let u=(z1,u2,P2)=>{P2.isLocked?(this.synth.lockController(r,z1,!1),this.synth.controllerChange(r,z1,u2),this.synth.lockController(r,z1,!0)):this.synth.controllerChange(r,z1,u2)},m=(z1,u2,P2)=>{let L2=new Cn(this.channelColors[r%this.channelColors.length],e4+u2,this.locale,[r+1],0,127,!0,a0=>u(z1,Math.round(a0),L2),()=>this.synth.lockController(r,z1,!0),()=>this.synth.lockController(r,z1,!1));return L2.update(P2),L2},R=m($3.pan,"channelController.panMeter",64);i.appendChild(R.div);let q=m($3.expressionController,"channelController.expressionMeter",127);i.appendChild(q.div);let U=m($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(U.div);let G=m($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(G.div);let k0=m($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(k0.div);let v=m($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(v.div);let T=m($3.brightness,"channelController.filterMeter",64);i.appendChild(T.div);let P=new Cn(this.channelColors[r%this.channelColors.length],e4+"channelController.transposeMeter",this.locale,[r+1],-36,36,!0,z1=>{z1=Math.round(z1),this.synth.transposeChannel(r,z1,!0),P.update(z1)});P.update(0),i.appendChild(P.div);let G0=new KE([],this.locale,e4+"channelController.presetSelector",[r+1],async z1=>{let u2=z1.split(":");this.synth.lockController(r,a7,!1),this.synth.controllerChange(r,$3.bankSelect,parseInt(u2[0]),!0),this.synth.programChange(r,parseInt(u2[1]),!0),G0.mainButton.classList.add("locked_selector"),this.synth.lockController(r,a7,!0)},z1=>this.synth.lockController(r,a7,z1));i.appendChild(G0.mainButton);let I1=document.createElement("div");I1.innerHTML=wu(ai),this.locale.bindObjectProperty(I1,"title",e4+"channelController.soloButton.description",[r+1]),I1.classList.add("controller_element"),I1.classList.add("mute_button"),I1.onclick=()=>{if(this.soloChannels.has(r)?this.soloChannels.delete(r):this.soloChannels.add(r),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let z1=0;z1=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let z1=0;z1{if(g1.hasAttribute("is_muted")){g1.removeAttribute("is_muted");let z1=this.soloChannels.size===0||this.soloChannels.has(r);this.synth.muteChannel(r,!z1),g1.innerHTML=Np(ai)}else this.synth.muteChannel(r,!0),g1.setAttribute("is_muted","true"),g1.innerHTML=XQ(ai)},i.appendChild(g1);let j1=document.createElement("div");return j1.innerHTML=r===T7?VE(ai):YE(ai),this.locale.bindObjectProperty(j1,"title",e4+"channelController.drumToggleButton.description",[r+1]),j1.classList.add("controller_element"),j1.classList.add("mute_button"),j1.onclick=()=>{G0.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(r,a7,!1),G0.mainButton.classList.remove("locked_selector")),this.synth.setDrums(r,!this.synth.channelProperties[r].isDrum)},i.appendChild(j1),{controller:i,voiceMeter:A,pitchWheel:c,pan:R,expression:q,volume:U,mod:G,chorus:k0,reverb:v,brightness:T,preset:G0,drumsToggle:j1,soloButton:I1,muteButton:g1,transpose:P}}function mw(){let r=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function hB(r,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=r.getAttribute("min"),u=r.getAttribute("max"),m=r.getAttribute("value"),R=r.getAttribute("units"),q=r.getAttribute("input_id"),U=document.createElement("input");U.classList.add("settings_slider"),U.type="range",U.id=q,U.min=c,U.max=u,U.value=m;let G;i&&(G=document.createElement("span"),G.textContent=m+R);let k0=document.createElement("div");k0.classList.add("settings_visual_wrapper");let v=document.createElement("div");v.classList.add("settings_slider_progress"),k0.appendChild(v);let T=document.createElement("div");return T.classList.add("settings_slider_thumb"),k0.appendChild(T),k0.appendChild(U),U.addEventListener("input",()=>{let P=parseInt(k0.style.getPropertyValue("--visual-width").replace("%","")),G0=Math.round((U.value-U.min)/(U.max-U.min)*100);Math.abs((P-G0)/100)>.05?k0.classList.add("settings_slider_transition"):k0.classList.remove("settings_slider_transition"),k0.style.setProperty("--visual-width",`${G0}%`)}),k0.style.setProperty("--visual-width",`${(U.value-U.min)/(U.max-U.min)*100}%`),A.appendChild(k0),i&&A.appendChild(G),A}function qo(r,i,A){if(i.textContent&&(r.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(r,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(r,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function Ew(r,i){switch(r.type){case"button":let A=document.createElement("button");return qo(A,r,i),Ha(r,[A]),A;case"text":let c=document.createElement("p");return qo(c,r,i),Ha(r,[c]),c;case"input":let u=document.createElement("div");u.classList.add("notification_input_wrapper");let m=document.createElement("input");qo(m,r,i),m.addEventListener("keydown",P2=>P2.stopPropagation());let R=document.createElement("label");return qo(R,r,i),Ha(r,[m,R]),u.append(R),u.appendChild(m),u;case"select":let q=document.createElement("div");q.classList.add("notification_input_wrapper");let U=document.createElement("select");if(r.selectOptions===void 0)throw new Error("Select but no options given?");for(let P2 of Object.entries(r.selectOptions)){let L2=document.createElement("option");L2.value=P2[0],L2.textContent=P2[1],U.appendChild(L2)}let G=document.createElement("label");return qo(G,r,i),Ha(r,[U,G]),q.appendChild(G),q.appendChild(U),q;case"file":let k0=document.createElement("label");k0.classList.add("notification_input_wrapper");let v=document.createElement("input");v.type="file";let T=document.createElement("label");T.classList.add("notification_file_button"),qo(T,r,i);let P=document.createElement("label");return qo(P,r,i),Ha(r,[T,v,P]),T.appendChild(v),k0.append(P),k0.appendChild(T),k0;case"progress":let G0=document.createElement("div");G0.classList.add("notification_progress_background");let I1=document.createElement("div");return I1.classList.add("notification_progress"),Ha(r,[I1,G0]),G0.appendChild(I1),G0;case"toggle":return $_(r,i);case"range":let g1=document.createElement("input");g1.type="range";let j1=document.createElement("label");Ha(r,[g1,j1]),qo(j1,r,i);let z1=hB(g1,!1),u2=document.createElement("div");return u2.classList.add("notification_slider_wrapper"),u2.appendChild(j1),u2.appendChild(z1),u2}}function Ha(r,i){if(r.attributes)for(let[A,c]of Object.entries(r.attributes))for(let u of i)A.startsWith("onchange")?u[A]=c:u.setAttribute(A,c);if(r.listeners)for(let[A,c]of Object.entries(r.listeners))for(let u of i)u.addEventListener(A,c)}function $_(r,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");qo(c,r,i);let u=document.createElement("input");u.type="checkbox",Ha(r,[c,u]);let m=document.createElement("div");m.classList.add("notification_switch"),m.appendChild(u);let R=document.createElement("div");return R.classList.add("notification_switch_slider"),m.appendChild(R),A.appendChild(c),A.appendChild(m),A}var l_=13,c_=0,Pp={};function Ne(r,i,A=l_,c=!0,u=void 0,m=void 0,R=void 0){let q=document.createElement("div"),U=c_++;q.classList.add("notification"),q.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"}};var o_=parseFloat(getComputedStyle(document.body).fontSize);function Aw(){this.lyricsElement={};let r=document.createElement("div");r.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),r.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 c=document.createElement("select");Tp.forEach(T=>{let P=document.createElement("option");P.innerText=T,P.value=T,c.appendChild(P)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let u=document.createElement("p");u.classList.add("lyrics_text"),r.appendChild(u);let m=document.createElement("span");m.classList.add("lyrics_text_highlight"),u.appendChild(m);let M=document.createElement("span");M.classList.add("lyrics_text_gray"),u.appendChild(M);let q=document.createElement("details"),U=document.createElement("summary");this.locale.bindObjectProperty(U,"textContent","locale.sequencerController.lyrics.otherText.title"),q.appendChild(U);let G=document.createElement("div");G.innerText="",q.appendChild(G),r.appendChild(q),this.subtitleManager=new KE(this.seq,document.getElementsByClassName("ass_renderer_field")[0],this.renderer);let k0=document.createElement("input");k0.type="file",k0.accept=".ass",k0.id="subtitle_upload",k0.classList.add("hidden"),r.appendChild(k0),k0.onchange=async()=>{if(k0.files[0]===void 0)return;let T=k0.files[0];this.subtitleManager.loadASSSubtitles(await T.text()),this.subtitleManager.setVisibility(!0),this.toggleLyrics()};let v=document.createElement("label");v.htmlFor="subtitle_upload",v.classList.add("general_button"),this.locale.bindObjectProperty(v,"textContent","locale.sequencerController.lyrics.subtitles.title"),this.locale.bindObjectProperty(v,"title","locale.sequencerController.lyrics.subtitles.description"),r.appendChild(v),this.lyricsElement.text={highlight:m,gray:M,main:u,other:G,subtitleButton:v},this.lyricsElement.mainDiv=r,this.lyricsElement.selector=c,this.controls.appendChild(r),this.requiresTextUpdate=!0}function $w(r){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(r,""),i.innerText=r,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-o_*5)}function lw(){let r="";for(let i of this.rawOtherTextEvents)r+=`
${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=r}var Kn=32,cw="#ccc",gw="#555",s_="#333",a_="#ddd",A_="Shift_JIS",Oo=class{constructor(i,A,c,u){this.iconColor=cw,this.iconDisabledColor=gw,this.controls=i,this.encoding=A_,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c,this.renderer=u}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=s_,this.iconDisabledColor=a_):(this.mode="dark",this.iconColor=cw,this.iconDisabledColor=gw),!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$(Kn),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=zQ(Kn),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,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Tp[c]),this.encodingSelector.value=Tp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let u=this.decodeTextFix(A.buffer);switch(c){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:c,data:A}),this.requiresTextUpdate=!0;return;case v3.lyric:this.text+=u,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[O8.encoding]!==void 0,A.isEmbedded){let c=(q,U,G,k0="")=>this.seq.midiData.RMIDInfo?.[q]===void 0?U:k0+G.decode(this.seq.midiData.RMIDInfo?.[q]).replace(/\0$/,""),u=new TextDecoder,m=c(O8.midiEncoding,this.encoding,u),M=c(O8.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(M),this.changeEncoding(m)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=v=>{v.preventDefault();let T=i.getBoundingClientRect(),P=v.clientX-T.left,G0=T.width;this.seq.currentTime=P/G0*this.seq.duration,c.innerHTML=F$(Kn)},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"),c=vu("Play/Pause",F$(Kn));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=u;let m=vu("Previous song",ZQ(Kn));this.locale.bindObjectProperty(m,"title","locale.sequencerController.previousSong"),m.onclick=()=>this.switchToPreviousSong();let M=vu("Next song",WQ(Kn));this.locale.bindObjectProperty(M,"title","locale.sequencerController.nextSong"),M.onclick=()=>this.switchToNextSong();let q=vu("Loop this",JQ(Kn));this.locale.bindObjectProperty(q,"title","locale.sequencerController.loopThis");let U=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),q.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};q.onclick=U,this.loopButton=q;let G=vu("Show lyrics",KQ(Kn));this.locale.bindObjectProperty(G,"title","locale.sequencerController.lyrics.show"),G.firstElementChild.setAttribute("fill",this.iconDisabledColor);let k0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),G.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};this.toggleLyrics=k0,G.onclick=k0,document.addEventListener("keydown",v=>{switch(v.key.toLowerCase()){case q8.playPause:v.preventDefault(),u();break;case q8.toggleLoop:v.preventDefault(),U();break;case q8.toggleLyrics:v.preventDefault(),k0();break;default:break}}),A.appendChild(m),A.appendChild(q),A.appendChild(c),A.appendChild(G),A.appendChild(M),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",v=>{switch(v.key.toLowerCase()){case q8.seekBackwards:v.preventDefault(),this.seq.currentTime-=5,c.innerHTML=F$(Kn);break;case q8.seekForwards:v.preventDefault(),this.seq.currentTime+=5,c.innerHTML=F$(Kn);break;case q8.previousSong:this.switchToPreviousSong();break;case q8.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(v.key))){v.preventDefault();let T=parseInt(v.key);0<=T&&T<=9&&(this.seq.currentTime=this.seq.duration*(T/10),c.innerHTML=F$(Kn))}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)}};Oo.prototype.createNavigatorHandler=rw;Oo.prototype.updateTitleAndMediaStatus=ow;Oo.prototype.createLyrics=Aw;Oo.prototype.setLyricsText=$w;Oo.prototype.updateOtherTextEvents=lw;function uw(){this.controllers.forEach(r=>{r.voiceMeter.hide(),r.pitchWheel.hide(),r.pan.hide(),r.expression.hide(),r.volume.hide(),r.mod.hide(),r.chorus.hide(),r.reverb.hide(),r.brightness.hide()})}function hw(){this.controllers.forEach(r=>{r.voiceMeter.show(),r.pitchWheel.show(),r.pan.show(),r.expression.show(),r.volume.show(),r.mod.show(),r.chorus.show(),r.reverb.show(),r.brightness.show()})}function dw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(r=>{r.classList.toggle("synthui_button"),r.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(r=>{r.toggleMode(!0)}),this.controllers.forEach(r=>{r.voiceMeter.toggleMode(),r.pitchWheel.toggleMode(),r.pan.toggleMode(),r.expression.toggleMode(),r.volume.toggleMode(),r.mod.toggleMode(),r.chorus.toggleMode(),r.reverb.toggleMode(),r.brightness.toggleMode(),r.preset.toggleMode(),r.drumsToggle.classList.toggle("mute_button_light"),r.muteButton.classList.toggle("mute_button_light")})}var Cn=class{constructor(i="none",A,c,u,m=0,M=100,q=!1,U=void 0,G=void 0,k0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=m,this.max=M,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=G,this.unlockCallback=k0,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),c.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,q){if(U===void 0)throw new Error("No editable function given!");this.div.onmousedown=v=>{v.preventDefault(),v.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=v=>{if(!this.isActive)return;let T=v.currentTarget.getBoundingClientRect(),P=T.left,G0=T.width,I1=v.clientX-P,g1=Math.max(0,Math.min(1,I1/G0));U(g1*(M-m)+m)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=v=>{this.div.onmousemove(v),this.isActive=!1},this.text.oncontextmenu=v=>{v.preventDefault()},this.div.onclick=v=>{v.preventDefault(),this.isActive=!0,this.div.onmousemove(v),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 c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var fw=["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 WE=class{constructor(i,A,c,u,m=void 0,M=void 0){this.elements=i.map(q=>({name:q.name,program:q.program,bank:q.bank,stringified:`${q.bank.toString().padStart(3,"0")}:${q.program.toString().padStart(3,"0")} ${q.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",c+".description",u),this.locale=A,this.localePath=c,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=m,this.selectionMenu=void 0,this.lockCallback=M,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 c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),c.appendChild(u),u.onkeydown=G=>G.stopPropagation();let m=document.createElement("div");m.innerHTML=this.locked?Gp(ai):$B(ai),this.locale.bindObjectProperty(m,"title",e4+"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=Gp(ai):m.innerHTML=$B(ai)},c.appendChild(m),this.presetLock=m;let M=document.createElement("div");M.classList.add("voice_selector_table_wrapper"),i.appendChild(M);let U=this.generateTable(M,this.elements).querySelector(".voice_selector_selected");u.oninput=G=>{G.stopPropagation();let k0=u.value,v=this.elements.filter(I1=>I1.stringified.search(new RegExp(k0,"i"))>=0);if(v.length===this.elements.length||v.length===0)return;M.replaceChildren();let T=this.generateTable(M,v),P=T.querySelector(".voice_selector_selected");if(P){U=P;return}let G0=T.querySelector(".voice_selector_option");G0.classList.add("voice_selector_selected"),U=G0},u.addEventListener("keydown",G=>{switch(G.key){case"Enter":let k0=U.getAttribute("bank"),v=U.getAttribute("program"),T=`${k0}:${v}`;if(this.value===T){this.hideSelectionMenu();return}this.editCallback(T),this.locked=!0,this.presetLock.innerHTML=Gp(ai),this.hideSelectionMenu();break;case"ArrowDown":let P=U.nextElementSibling;for(;P;){if(P.classList.contains("voice_selector_option")){U.classList.remove("voice_selector_selected"),P.classList.add("voice_selector_selected"),U=P;return}P=P.nextElementSibling}break;case"ArrowUp":let G0=U.previousElementSibling;for(;G0;){if(G0.classList.contains("voice_selector_option")){U.classList.remove("voice_selector_selected"),G0.classList.add("voice_selector_selected"),U=G0;return}G0=G0.previousElementSibling}break}}),i.onclick=G=>{G.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=G=>{G.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,N7||u.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),m=parseInt(this.value.split(":")[1]),M=-20;for(let q of A){let U=document.createElement("tr"),G=q.program;if(U.classList.add("voice_selector_option"),U.setAttribute("program",G.toString()),U.setAttribute("bank",q.bank.toString()),G===m&&q.bank===u&&(U.classList.add("voice_selector_selected"),setTimeout(()=>{U.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),U.onclick=()=>{let I1=`${q.bank}:${G}`;if(this.value===I1){this.hideSelectionMenu();return}this.editCallback(I1),this.locked=!0,this.presetLock.innerHTML=Gp(ai),this.hideSelectionMenu()},G!==M&&(M=G,q.bank!==128)){let I1=document.createElement("tr"),g1=document.createElement("th");g1.colSpan="3",g1.textContent=fw[M],I1.appendChild(g1),c.appendChild(I1)}let k0=`${q.program.toString().padStart(3,"0")}`,v=`${q.bank.toString().padStart(3,"0")}`,T=document.createElement("td");T.classList.add("voice_selector_preset_name"),T.textContent=q.name;let P=document.createElement("td");T.classList.add("voice_selector_preset_program"),P.textContent=k0;let G0=document.createElement("td");T.classList.add("voice_selector_preset_program"),G0.textContent=v,U.appendChild(G0),U.appendChild(P),U.appendChild(T),c.appendChild(U)}return i.appendChild(c),c}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],c=A.bank,u=parseInt(this.value.split(":")[1]),m=u;this.elements.find(M=>M.program===u)===void 0&&(m=A.program),this.mainButton.textContent=this.getString(`${c}:${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 c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),m=parseInt(this.value.split(":")[1]);for(let M of c.rows){if(M.cells.length===1)continue;let q=parseInt(M.cells[0].textContent),U=parseInt(M.cells[1].textContent);q===u&&U===m&&(M.classList.add("voice_selector_selected"),M.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),u=parseInt(A[1]),m=this.elements.find(M=>M.bank===c&&M.program===u);return m?c===128||this.elements.filter(M=>M.program===u&&M.bank!==128).length<2?`${u}. ${m.name}`:`${c}:${u} ${m.name}`:""}};var ai=32;function Iw(r){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new Cn(this.channelColors[r%this.channelColors.length],e4+"channelController.voiceMeter",this.locale,[r+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new Cn(this.channelColors[r%this.channelColors.length],e4+"channelController.pitchBendMeter",this.locale,[r+1],-8192,8191,!0,z1=>{let u2=c.isLocked;u2&&this.synth.lockController(r,x$+q4.pitchWheel,!1),z1=Math.round(z1)+8192;let P2=z1>>7,L2=z1&127;this.synth.pitchWheel(r,P2,L2),u2&&this.synth.lockController(r,x$+q4.pitchWheel,!0)},()=>this.synth.lockController(r,x$+q4.pitchWheel,!0),()=>this.synth.lockController(r,x$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let u=(z1,u2,P2)=>{P2.isLocked?(this.synth.lockController(r,z1,!1),this.synth.controllerChange(r,z1,u2),this.synth.lockController(r,z1,!0)):this.synth.controllerChange(r,z1,u2)},m=(z1,u2,P2)=>{let L2=new Cn(this.channelColors[r%this.channelColors.length],e4+u2,this.locale,[r+1],0,127,!0,a0=>u(z1,Math.round(a0),L2),()=>this.synth.lockController(r,z1,!0),()=>this.synth.lockController(r,z1,!1));return L2.update(P2),L2},M=m($3.pan,"channelController.panMeter",64);i.appendChild(M.div);let q=m($3.expressionController,"channelController.expressionMeter",127);i.appendChild(q.div);let U=m($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(U.div);let G=m($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(G.div);let k0=m($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(k0.div);let v=m($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(v.div);let T=m($3.brightness,"channelController.filterMeter",64);i.appendChild(T.div);let P=new Cn(this.channelColors[r%this.channelColors.length],e4+"channelController.transposeMeter",this.locale,[r+1],-36,36,!0,z1=>{z1=Math.round(z1),this.synth.transposeChannel(r,z1,!0),P.update(z1)});P.update(0),i.appendChild(P.div);let G0=new WE([],this.locale,e4+"channelController.presetSelector",[r+1],async z1=>{let u2=z1.split(":");this.synth.lockController(r,a7,!1),this.synth.controllerChange(r,$3.bankSelect,parseInt(u2[0]),!0),this.synth.programChange(r,parseInt(u2[1]),!0),G0.mainButton.classList.add("locked_selector"),this.synth.lockController(r,a7,!0)},z1=>this.synth.lockController(r,a7,z1));i.appendChild(G0.mainButton);let I1=document.createElement("div");I1.innerHTML=wu(ai),this.locale.bindObjectProperty(I1,"title",e4+"channelController.soloButton.description",[r+1]),I1.classList.add("controller_element"),I1.classList.add("mute_button"),I1.onclick=()=>{if(this.soloChannels.has(r)?this.soloChannels.delete(r):this.soloChannels.add(r),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let z1=0;z1=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let z1=0;z1{if(g1.hasAttribute("is_muted")){g1.removeAttribute("is_muted");let z1=this.soloChannels.size===0||this.soloChannels.has(r);this.synth.muteChannel(r,!z1),g1.innerHTML=Np(ai)}else this.synth.muteChannel(r,!0),g1.setAttribute("is_muted","true"),g1.innerHTML=XQ(ai)},i.appendChild(g1);let j1=document.createElement("div");return j1.innerHTML=r===T7?VE(ai):YE(ai),this.locale.bindObjectProperty(j1,"title",e4+"channelController.drumToggleButton.description",[r+1]),j1.classList.add("controller_element"),j1.classList.add("mute_button"),j1.onclick=()=>{G0.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(r,a7,!1),G0.mainButton.classList.remove("locked_selector")),this.synth.setDrums(r,!this.synth.channelProperties[r].isDrum)},i.appendChild(j1),{controller:i,voiceMeter:A,pitchWheel:c,pan:M,expression:q,volume:U,mod:G,chorus:k0,reverb:v,brightness:T,preset:G0,drumsToggle:j1,soloButton:I1,muteButton:g1,transpose:P}}function mw(){let r=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function hB(r,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=r.getAttribute("min"),u=r.getAttribute("max"),m=r.getAttribute("value"),M=r.getAttribute("units"),q=r.getAttribute("input_id"),U=document.createElement("input");U.classList.add("settings_slider"),U.type="range",U.id=q,U.min=c,U.max=u,U.value=m;let G;i&&(G=document.createElement("span"),G.textContent=m+M);let k0=document.createElement("div");k0.classList.add("settings_visual_wrapper");let v=document.createElement("div");v.classList.add("settings_slider_progress"),k0.appendChild(v);let T=document.createElement("div");return T.classList.add("settings_slider_thumb"),k0.appendChild(T),k0.appendChild(U),U.addEventListener("input",()=>{let P=parseInt(k0.style.getPropertyValue("--visual-width").replace("%","")),G0=Math.round((U.value-U.min)/(U.max-U.min)*100);Math.abs((P-G0)/100)>.05?k0.classList.add("settings_slider_transition"):k0.classList.remove("settings_slider_transition"),k0.style.setProperty("--visual-width",`${G0}%`)}),k0.style.setProperty("--visual-width",`${(U.value-U.min)/(U.max-U.min)*100}%`),A.appendChild(k0),i&&A.appendChild(G),A}function qo(r,i,A){if(i.textContent&&(r.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(r,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(r,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function Ew(r,i){switch(r.type){case"button":let A=document.createElement("button");return qo(A,r,i),Ha(r,[A]),A;case"text":let c=document.createElement("p");return qo(c,r,i),Ha(r,[c]),c;case"input":let u=document.createElement("div");u.classList.add("notification_input_wrapper");let m=document.createElement("input");qo(m,r,i),m.addEventListener("keydown",P2=>P2.stopPropagation());let M=document.createElement("label");return qo(M,r,i),Ha(r,[m,M]),u.append(M),u.appendChild(m),u;case"select":let q=document.createElement("div");q.classList.add("notification_input_wrapper");let U=document.createElement("select");if(r.selectOptions===void 0)throw new Error("Select but no options given?");for(let P2 of Object.entries(r.selectOptions)){let L2=document.createElement("option");L2.value=P2[0],L2.textContent=P2[1],U.appendChild(L2)}let G=document.createElement("label");return qo(G,r,i),Ha(r,[U,G]),q.appendChild(G),q.appendChild(U),q;case"file":let k0=document.createElement("label");k0.classList.add("notification_input_wrapper");let v=document.createElement("input");v.type="file";let T=document.createElement("label");T.classList.add("notification_file_button"),qo(T,r,i);let P=document.createElement("label");return qo(P,r,i),Ha(r,[T,v,P]),T.appendChild(v),k0.append(P),k0.appendChild(T),k0;case"progress":let G0=document.createElement("div");G0.classList.add("notification_progress_background");let I1=document.createElement("div");return I1.classList.add("notification_progress"),Ha(r,[I1,G0]),G0.appendChild(I1),G0;case"toggle":return $_(r,i);case"range":let g1=document.createElement("input");g1.type="range";let j1=document.createElement("label");Ha(r,[g1,j1]),qo(j1,r,i);let z1=hB(g1,!1),u2=document.createElement("div");return u2.classList.add("notification_slider_wrapper"),u2.appendChild(j1),u2.appendChild(z1),u2}}function Ha(r,i){if(r.attributes)for(let[A,c]of Object.entries(r.attributes))for(let u of i)A.startsWith("onchange")?u[A]=c:u.setAttribute(A,c);if(r.listeners)for(let[A,c]of Object.entries(r.listeners))for(let u of i)u.addEventListener(A,c)}function $_(r,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");qo(c,r,i);let u=document.createElement("input");u.type="checkbox",Ha(r,[c,u]);let m=document.createElement("div");m.classList.add("notification_switch"),m.appendChild(u);let M=document.createElement("div");return M.classList.add("notification_switch_slider"),m.appendChild(M),A.appendChild(c),A.appendChild(m),A}var l_=13,c_=0,Pp={};function Ne(r,i,A=l_,c=!0,u=void 0,m=void 0,M=void 0){let q=document.createElement("div"),U=c_++;q.classList.add("notification"),q.innerHTML=`

${r}

\xD7 -
`;let G=document.createElement("div");if(G.classList.add("notification_content"),m)for(let[v,T]of Object.entries(m))G.style[v]=T;q.appendChild(G);for(let v of i){let T=Ew(v,u);v.onClick&&(T.onclick=()=>v.onClick({div:q,id:U},T)),G.appendChild(T)}c?q.getElementsByClassName("close_btn")[0].onclick=()=>{le(U)}:q.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{q.classList.add("drop")},75);let k0=setTimeout(()=>{le(U)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(q),Pp[U]={div:q,timeout:k0,onclose:R},{div:q,id:U}}function le(r){if(Pp[r]===void 0)return;let i=Pp[r],A=i.div;clearTimeout(Pp[r].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Pp[r]=void 0}var l7={nodesAmount:zn.nodesAmount,defaultDelay:zn.defaultDelay,delayVariation:zn.delayVariation,stereoDifference:zn.stereoDifference,oscillatorFrequency:zn.oscillatorFrequency,oscillatorFrequencyVariation:zn.oscillatorFrequencyVariation,oscillatorGain:zn.oscillatorGain};function Cw(r,i,A){let c=i+"effectsConfig.",u=Ne(r.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(m,R)=>{A.disableGSNRPparams(),R.parentNode.removeChild(R)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async m=>{if(m.target.files.length===0)return;m.stopImmediatePropagation(),m.preventDefault();let R=m.target.parentElement.parentElement;R.textContent=r.getLocaleString("locale.synthInit.genericLoading");let q=await A.context.decodeAudioData(await m.target.files[0].arrayBuffer());A.setReverbResponse(q),R.textContent=r.getLocaleString("locale.synthInit.done"),m5("%cReverb response set!",E1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"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,r);return u.div.onclick=m=>m.stopImmediatePropagation(),u}var h8="locale.synthesizerController.keyModifiers.";async function Bw(r,i){return new Promise(A=>{let c=Ne(r.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:r.getLocaleString(h8+"selectKey.prompt")}],999999,!1,r);i.onNotePressed=u=>{le(c.id),i.onNotePressed=void 0,A(u)}})}async function yw(r,i,A,c){let u=await Bw(i,A),m=(T,P,G0,I1)=>{let g1={type:"number",min:P.toString(),max:G0.toString(),value:I1.toString()};return g1[T]="true",g1},R={};R.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let T of c.toSorted((P,G0)=>P.presetNameG0.presetName?1:0))R[T.presetName]=T.presetName;let q=r.keyModifierManager.getModifier(A.channel,u),U=q?.velocity??-1,G=Ne(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[u.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async T=>{le(T.id),await yw(r,i,A,c)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:m("chan",0,(r.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:m("vel",0,127,U)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:R},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:T=>{let P=parseInt(T.div.querySelector("input[chan]").value)??-1,G0=parseInt(T.div.querySelector("input[vel]").value)??-1,I1=T.div.querySelector("select[preset-selector]").value,g1=-1,j1=-1;if(I1!=="unchanged"){let z1=c.find(u2=>u2.presetName===I1);g1=z1.bank,j1=z1.program}r.keyModifierManager.addModifier(P,u,{velocity:G0,patch:{program:j1,bank:g1}}),le(T.id)}}],99999,!0,i),k0=q?.patch?.program??-1,v=q?.patch?.bank??-1;v!==-1&&k0!==-1&&(G.div.querySelector("select[preset-selector]").value=c.find(T=>T.bank===v&&T.program===k0).presetName)}async function Qw(r,i,A){let c=await Bw(i,A);Ne(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async u=>{le(u.id),await Qw(r,i,A)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(r.channelsAmount-1).toString()}},{type:"button",translatePathTitle:h8+"removeModification.remove",onClick:u=>{let m=parseInt(u.div.querySelector("input[chan]").value)??-1;r.keyModifierManager.deleteModifier(m,c),le(u.id)}}],99999,!0,i)}function ww(r,i,A,c){Ne(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=>{le(u.id),yw(r,i,A,c).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:u=>{le(u.id),Qw(r,i,A).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:u=>{le(u.id),Ne(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:m=>{le(m.id),r.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:m=>{le(m.id)}}],99999,!0,i)}}],9999999,!0,i)}function vw(){let r=document.createElement("div");r.classList.add("controls_wrapper"),this.voiceMeter=new Cn("",e4+"mainVoiceMeter",this.locale,[],0,rB),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new Cn("",e4+"mainVolumeMeter",this.locale,[],0,200,!0,G=>{this.synth.setMainVolume(Math.round(G)/100),this.volumeController.update(G)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new Cn("",e4+"mainPanMeter",this.locale,[],-1,1,!0,G=>{this.synth.setMasterPan(G),this.panController.update(G)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new Cn("",e4+"mainTransposeMeter",this.locale,[],-12,12,!0,G=>{this.synth.transpose(Math.round(G*2)/2),this.transposeController.update(Math.round(G*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((G,k0)=>{G.pitchWheel.isLocked&&G.pitchWheel.lockMeter(),G.pan.isLocked&&G.pan.lockMeter(),G.expression.isLocked&&G.expression.lockMeter(),G.volume.isLocked&&G.volume.lockMeter(),G.mod.isLocked&&G.mod.lockMeter(),G.chorus.isLocked&&G.chorus.lockMeter(),G.reverb.isLocked&&G.reverb.lockMeter(),G.brightness.isLocked&&G.brightness.lockMeter(),G.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(k0,a7,!1),G.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(k0,0,!0),G.transpose.update(0),G.soloButton.innerHTML=wu(ai),G.muteButton.innerHTML=Np(ai),this.synth.muteChannel(k0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",e4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",e4+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.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=()=>{ww(this.synth,this.locale,this.keyboard,this.presetList)};let m=document.createElement("button");this.locale.bindObjectProperty(m,"textContent",e4+"effectsConfig.button.title"),this.locale.bindObjectProperty(m,"title",e4+"effectsConfig.button.description"),m.classList.add("synthui_button"),m.classList.add("main_controller_element"),m.onclick=()=>{if(this.effectsConfigWindow!==void 0){le(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=Cw(this.locale,e4,this.synth).id};let R=document.createElement("select");R.classList.add("main_controller_element"),R.classList.add("synthui_button"),this.locale.bindObjectProperty(R,"title",e4+"interpolation.description");{let G=document.createElement("option");G.value="0",this.locale.bindObjectProperty(G,"textContent",e4+"interpolation.linear"),R.appendChild(G);let k0=document.createElement("option");k0.value="1",this.locale.bindObjectProperty(k0,"textContent",e4+"interpolation.nearestNeighbor"),R.appendChild(k0);let v=document.createElement("option");v.value="2",v.selected=!0,this.locale.bindObjectProperty(v,"textContent",e4+"interpolation.cubic"),R.appendChild(v),R.onchange=()=>{this.synth.setInterpolationType(parseInt(R.value))}}let q=document.createElement("div");q.classList.add("synthui_controller"),this.uiDiv.appendChild(q);let U=document.createElement("button");this.locale.bindObjectProperty(U,"textContent",e4+"toggleButton.title"),this.locale.bindObjectProperty(U,"title",e4+"toggleButton.description"),U.classList.add("synthui_button"),U.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},r.appendChild(this.volumeController.div),r.appendChild(this.panController.div),r.appendChild(this.transposeController.div),r.appendChild(i),r.appendChild(A),r.appendChild(c),r.appendChild(u),r.appendChild(m),r.appendChild(R),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,u,m,U,R],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(U),q.appendChild(r),this.mainControllerDiv=q,this.mainControllerDiv.onclick=G=>G.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),q.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function kw(){let r=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,c=i.channel,u=i.controllerValue,m=this.controllers[c];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?VE(32):YE(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),r.appendChild(i.controller),this.hideControllers()})}var e4="locale.synthesizerController.",Wn=class{constructor(i,A,c){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=c,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&&(le(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 c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<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(c=>c.bank!==128).sort((c,u)=>c.program===u.program?c.bank-u.bank:c.program-u.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,u)=>c.program-u.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,u)=>{let m=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;c.preset.reload(m),c.preset.set(`${m[0].bank}:${m[0].program}`)})})}};Wn.prototype.hideControllers=uw;Wn.prototype.showControllers=hw;Wn.prototype.toggleDarkMode=dw;Wn.prototype.createChannelController=Iw;Wn.prototype.createChannelControllers=mw;Wn.prototype.createMainSynthController=vw;Wn.prototype.setEventListeners=kw;var Op=null,WE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Op,this.selectedOutput=Op,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!",E1.recognized),!0}catch(i){return I9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return I9("Web MIDI Api not supported!",E1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),m5(`%cPlaying MIDI to %c${i.name}`,E1.info,E1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Op,i.connectMidiOutput(void 0),m5("%cDisconnected from MIDI out.",E1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},m5(`%cListening for messages on %c${i.name}`,E1.info,E1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Op,i.onmidimessage=void 0,m5(`%cDisconnected from %c${i.name}`,E1.info,E1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Op;for(let i of this.inputs)i[1].onmidimessage=void 0}};var ZE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let u=c.map(m=>parseInt(m,16));i.sendMessage(u)}),m5("%cWeb MIDI Link handler created!",E1.recognized)}};var Va="midi range";function Sw(r,i,A){let c=0,u=this.htmlControls.keyboard,m=[],R=[],q,U=T=>{let P=R[T],G0=P.drum?128:P.bank,I1=q.find(g1=>g1.bank===G0&&g1.program===P.program);I1||(I1=q[0]),m[T].textContent=": "+I1.presetName},G=()=>{if(q)for(let T=0;T{let T=document.createElement("option");T.value=c.toString();let P=document.createElement("p");this.locale.bindObjectProperty(P,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let G0=document.createElement("p");G0.textContent=": not ",m.push(G0),R.push({program:0,bank:0,drum:c%16===9}),G(),T.appendChild(P),T.appendChild(G0),T.style.background=i.channelColors[c%i.channelColors.length],T.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(T),c++},v=this.synthui.synth;v.eventHandler.addEvent("presetlistchange","settings-preset-list-change",T=>{q=T,G()}),v.eventHandler.addEvent("newchannel","settings-new-channel",()=>{k0()}),v.eventHandler.addEvent("programchange","settings-program-change",T=>{let P=R[T.channel];P.bank=T.bank,P.program=T.program,U(T.channel)}),v.eventHandler.addEvent("drumchange","settings-drum-change",T=>{R[T.channel].drum=T.isDrumChannel,U(T.channel)});for(let T=0;T{r.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&&(r.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,r.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&&(r.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,r.keyRange=this.keyboardSizes[u.sizeSelector.value],A.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},this.addSequencer=T=>{T.addOnSongChangeEvent(P=>{this.autoKeyRange&&(r.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",()=>{k0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",T=>{T.userCalled&&(r.selectChannel(T.channel),u.channelSelector.value=T.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",T=>{if(T.isMuted&&T.channel===r.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(()=>{r.toggleMode(),this._saveSettings()},600);return}r.toggleMode(),this._saveSettings()},u.showSelector.onclick=()=>{r.shown=!r.shown,this._saveSettings()}}var bw=` + `;let G=document.createElement("div");if(G.classList.add("notification_content"),m)for(let[v,T]of Object.entries(m))G.style[v]=T;q.appendChild(G);for(let v of i){let T=Ew(v,u);v.onClick&&(T.onclick=()=>v.onClick({div:q,id:U},T)),G.appendChild(T)}c?q.getElementsByClassName("close_btn")[0].onclick=()=>{le(U)}:q.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{q.classList.add("drop")},75);let k0=setTimeout(()=>{le(U)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(q),Pp[U]={div:q,timeout:k0,onclose:M},{div:q,id:U}}function le(r){if(Pp[r]===void 0)return;let i=Pp[r],A=i.div;clearTimeout(Pp[r].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Pp[r]=void 0}var l7={nodesAmount:zn.nodesAmount,defaultDelay:zn.defaultDelay,delayVariation:zn.delayVariation,stereoDifference:zn.stereoDifference,oscillatorFrequency:zn.oscillatorFrequency,oscillatorFrequencyVariation:zn.oscillatorFrequencyVariation,oscillatorGain:zn.oscillatorGain};function Cw(r,i,A){let c=i+"effectsConfig.",u=Ne(r.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(m,M)=>{A.disableGSNRPparams(),M.parentNode.removeChild(M)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async m=>{if(m.target.files.length===0)return;m.stopImmediatePropagation(),m.preventDefault();let M=m.target.parentElement.parentElement;M.textContent=r.getLocaleString("locale.synthInit.genericLoading");let q=await A.context.decodeAudioData(await m.target.files[0].arrayBuffer());A.setReverbResponse(q),M.textContent=r.getLocaleString("locale.synthInit.done"),m5("%cReverb response set!",E1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"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,r);return u.div.onclick=m=>m.stopImmediatePropagation(),u}var h8="locale.synthesizerController.keyModifiers.";async function Bw(r,i){return new Promise(A=>{let c=Ne(r.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:r.getLocaleString(h8+"selectKey.prompt")}],999999,!1,r);i.onNotePressed=u=>{le(c.id),i.onNotePressed=void 0,A(u)}})}async function yw(r,i,A,c){let u=await Bw(i,A),m=(T,P,G0,I1)=>{let g1={type:"number",min:P.toString(),max:G0.toString(),value:I1.toString()};return g1[T]="true",g1},M={};M.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let T of c.toSorted((P,G0)=>P.presetNameG0.presetName?1:0))M[T.presetName]=T.presetName;let q=r.keyModifierManager.getModifier(A.channel,u),U=q?.velocity??-1,G=Ne(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[u.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async T=>{le(T.id),await yw(r,i,A,c)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:m("chan",0,(r.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:m("vel",0,127,U)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:M},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:T=>{let P=parseInt(T.div.querySelector("input[chan]").value)??-1,G0=parseInt(T.div.querySelector("input[vel]").value)??-1,I1=T.div.querySelector("select[preset-selector]").value,g1=-1,j1=-1;if(I1!=="unchanged"){let z1=c.find(u2=>u2.presetName===I1);g1=z1.bank,j1=z1.program}r.keyModifierManager.addModifier(P,u,{velocity:G0,patch:{program:j1,bank:g1}}),le(T.id)}}],99999,!0,i),k0=q?.patch?.program??-1,v=q?.patch?.bank??-1;v!==-1&&k0!==-1&&(G.div.querySelector("select[preset-selector]").value=c.find(T=>T.bank===v&&T.program===k0).presetName)}async function Qw(r,i,A){let c=await Bw(i,A);Ne(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async u=>{le(u.id),await Qw(r,i,A)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(r.channelsAmount-1).toString()}},{type:"button",translatePathTitle:h8+"removeModification.remove",onClick:u=>{let m=parseInt(u.div.querySelector("input[chan]").value)??-1;r.keyModifierManager.deleteModifier(m,c),le(u.id)}}],99999,!0,i)}function ww(r,i,A,c){Ne(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=>{le(u.id),yw(r,i,A,c).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:u=>{le(u.id),Qw(r,i,A).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:u=>{le(u.id),Ne(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:m=>{le(m.id),r.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:m=>{le(m.id)}}],99999,!0,i)}}],9999999,!0,i)}function vw(){let r=document.createElement("div");r.classList.add("controls_wrapper"),this.voiceMeter=new Cn("",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 Cn("",e4+"mainVolumeMeter",this.locale,[],0,200,!0,G=>{this.synth.setMainVolume(Math.round(G)/100),this.volumeController.update(G)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new Cn("",e4+"mainPanMeter",this.locale,[],-1,1,!0,G=>{this.synth.setMasterPan(G),this.panController.update(G)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new Cn("",e4+"mainTransposeMeter",this.locale,[],-12,12,!0,G=>{this.synth.transpose(Math.round(G*2)/2),this.transposeController.update(Math.round(G*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((G,k0)=>{G.pitchWheel.isLocked&&G.pitchWheel.lockMeter(),G.pan.isLocked&&G.pan.lockMeter(),G.expression.isLocked&&G.expression.lockMeter(),G.volume.isLocked&&G.volume.lockMeter(),G.mod.isLocked&&G.mod.lockMeter(),G.chorus.isLocked&&G.chorus.lockMeter(),G.reverb.isLocked&&G.reverb.lockMeter(),G.brightness.isLocked&&G.brightness.lockMeter(),G.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(k0,a7,!1),G.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(k0,0,!0),G.transpose.update(0),G.soloButton.innerHTML=wu(ai),G.muteButton.innerHTML=Np(ai),this.synth.muteChannel(k0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",e4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",e4+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.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=()=>{ww(this.synth,this.locale,this.keyboard,this.presetList)};let m=document.createElement("button");this.locale.bindObjectProperty(m,"textContent",e4+"effectsConfig.button.title"),this.locale.bindObjectProperty(m,"title",e4+"effectsConfig.button.description"),m.classList.add("synthui_button"),m.classList.add("main_controller_element"),m.onclick=()=>{if(this.effectsConfigWindow!==void 0){le(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=Cw(this.locale,e4,this.synth).id};let M=document.createElement("select");M.classList.add("main_controller_element"),M.classList.add("synthui_button"),this.locale.bindObjectProperty(M,"title",e4+"interpolation.description");{let G=document.createElement("option");G.value="0",this.locale.bindObjectProperty(G,"textContent",e4+"interpolation.linear"),M.appendChild(G);let k0=document.createElement("option");k0.value="1",this.locale.bindObjectProperty(k0,"textContent",e4+"interpolation.nearestNeighbor"),M.appendChild(k0);let v=document.createElement("option");v.value="2",v.selected=!0,this.locale.bindObjectProperty(v,"textContent",e4+"interpolation.cubic"),M.appendChild(v),M.onchange=()=>{this.synth.setInterpolationType(parseInt(M.value))}}let q=document.createElement("div");q.classList.add("synthui_controller"),this.uiDiv.appendChild(q);let U=document.createElement("button");this.locale.bindObjectProperty(U,"textContent",e4+"toggleButton.title"),this.locale.bindObjectProperty(U,"title",e4+"toggleButton.description"),U.classList.add("synthui_button"),U.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},r.appendChild(this.volumeController.div),r.appendChild(this.panController.div),r.appendChild(this.transposeController.div),r.appendChild(i),r.appendChild(A),r.appendChild(c),r.appendChild(u),r.appendChild(m),r.appendChild(M),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,u,m,U,M],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(U),q.appendChild(r),this.mainControllerDiv=q,this.mainControllerDiv.onclick=G=>G.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),q.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function kw(){let r=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,c=i.channel,u=i.controllerValue,m=this.controllers[c];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?VE(32):YE(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),r.appendChild(i.controller),this.hideControllers()})}var e4="locale.synthesizerController.",Wn=class{constructor(i,A,c){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=c,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&&(le(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 c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<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(c=>c.bank!==128).sort((c,u)=>c.program===u.program?c.bank-u.bank:c.program-u.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,u)=>c.program-u.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,u)=>{let m=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;c.preset.reload(m),c.preset.set(`${m[0].bank}:${m[0].program}`)})})}};Wn.prototype.hideControllers=uw;Wn.prototype.showControllers=hw;Wn.prototype.toggleDarkMode=dw;Wn.prototype.createChannelController=Iw;Wn.prototype.createChannelControllers=mw;Wn.prototype.createMainSynthController=vw;Wn.prototype.setEventListeners=kw;var Op=null,ZE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Op,this.selectedOutput=Op,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!",E1.recognized),!0}catch(i){return I9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return I9("Web MIDI Api not supported!",E1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),m5(`%cPlaying MIDI to %c${i.name}`,E1.info,E1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Op,i.connectMidiOutput(void 0),m5("%cDisconnected from MIDI out.",E1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},m5(`%cListening for messages on %c${i.name}`,E1.info,E1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Op,i.onmidimessage=void 0,m5(`%cDisconnected from %c${i.name}`,E1.info,E1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Op;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 c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let u=c.map(m=>parseInt(m,16));i.sendMessage(u)}),m5("%cWeb MIDI Link handler created!",E1.recognized)}};var Va="midi range";function Sw(r,i,A){let c=0,u=this.htmlControls.keyboard,m=[],M=[],q,U=T=>{let P=M[T],G0=P.drum?128:P.bank,I1=q.find(g1=>g1.bank===G0&&g1.program===P.program);I1||(I1=q[0]),m[T].textContent=": "+I1.presetName},G=()=>{if(q)for(let T=0;T{let T=document.createElement("option");T.value=c.toString();let P=document.createElement("p");this.locale.bindObjectProperty(P,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let G0=document.createElement("p");G0.textContent=": not ",m.push(G0),M.push({program:0,bank:0,drum:c%16===9}),G(),T.appendChild(P),T.appendChild(G0),T.style.background=i.channelColors[c%i.channelColors.length],T.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(T),c++},v=this.synthui.synth;v.eventHandler.addEvent("presetlistchange","settings-preset-list-change",T=>{q=T,G()}),v.eventHandler.addEvent("newchannel","settings-new-channel",()=>{k0()}),v.eventHandler.addEvent("programchange","settings-program-change",T=>{let P=M[T.channel];P.bank=T.bank,P.program=T.program,U(T.channel)}),v.eventHandler.addEvent("drumchange","settings-drum-change",T=>{M[T.channel].drum=T.isDrumChannel,U(T.channel)});for(let T=0;T{r.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&&(r.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,r.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&&(r.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,r.keyRange=this.keyboardSizes[u.sizeSelector.value],A.keyRange=this.keyboardSizes[u.sizeSelector.value]),this._saveSettings()},this.addSequencer=T=>{T.addOnSongChangeEvent(P=>{this.autoKeyRange&&(r.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",()=>{k0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",T=>{T.userCalled&&(r.selectChannel(T.channel),u.channelSelector.value=T.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",T=>{if(T.isMuted&&T.channel===r.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(()=>{r.toggleMode(),this._saveSettings()},600);return}r.toggleMode(),this._saveSettings()},u.showSelector.onclick=()=>{r.shown=!r.shown,this._saveSettings()}}var bw=`

@@ -222,7 +222,7 @@ var bE=(r=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(r,{get:(i,A)=>(

-`;async function Dw(){let r=await window.savedSettings;if(!r.interface)return;m5("Loading saved settings...",r);let i=this.htmlControls.renderer,A=this.renderer,c=r.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Tr(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Tr(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let u=c.sampleSize;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),Tr(i.analyserFftSlider).innerText=`${u}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Tr(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let m=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,m.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,m.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,m.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,m.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,m.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let R=this.htmlControls.keyboard,q=this.midiKeyboard,U=r.keyboard;q.setKeyRange(U.keyRange,!1),U.autoRange?(R.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,R.sizeSelector.value=Object.keys(this.keyboardSizes).find(G=>this.keyboardSizes[G].min===U.keyRange.min&&this.keyboardSizes[G].max===U.keyRange.max)),U.mode==="dark"&&(q.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),U.show===!1&&(q.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(r.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=r.interface.language},100),r.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=r.interface.layout||"downwards",this._changeLayout(r.interface.layout||"downwards")}function _w(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function xw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===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 Lw(){let r=this.htmlControls.interface.themeSelector;r.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,u]of Object.entries(this.locales)){let m=document.createElement("option");m.value=c,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 Mw(r){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(r){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.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"),c.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"),c.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"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var jE={start:"#101010",end:"#212121"},XE={start:"#bbb",end:"#f0f0f0"},Rw="#eee",Fw="#333",eC={start:"#222",end:"#333"},tC={start:"#ccc",end:"#fff"},Nr=.2;function Tw(){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 r=document.styleSheets[0].cssRules;for(let i of r)if(i.selectorText==="*"){this.mode==="dark"?(Gr(Fw,Rw,Nr,i,"--font-color"),Gr(tC.start,eC.start,Nr,i,"--top-buttons-color-start"),Gr(tC.end,eC.end,Nr,i,"--top-buttons-color-end"),Gr(XE.start,jE.start,Nr,i,"--top-color-start"),Gr(XE.end,jE.end,Nr,i,"--top-color-end")):(Gr(Rw,Fw,Nr,i,"--font-color"),Gr(eC.start,tC.start,Nr,i,"--top-buttons-color-start"),Gr(eC.end,tC.end,Nr,i,"--top-buttons-color-end"),Gr(jE.start,XE.start,Nr,i,"--top-color-start"),Gr(jE.end,XE.end,Nr,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var ku={};function Gr(r,i,A,c,u){ku[u]&&(clearInterval(ku[u]),ku[u]=void 0);function m(v){v.length===4&&(v=`#${v[1]}${v[1]}${v[2]}${v[2]}${v[3]}${v[3]}`);let T=parseInt(v.slice(1),16);return{r:T>>16&255,g:T>>8&255,b:T&255}}function R(v,T,P){return v+(T-v)*P}let q=m(r),U=m(i),G=performance.now()/1e3;function k0(){let T=performance.now()/1e3-G,P=Math.min(T/A,1),G0=Math.round(R(q.r,U.r,P)),I1=Math.round(R(q.g,U.g,P)),g1=Math.round(R(q.b,U.b,P));c.style.setProperty(u,`rgb(${G0}, ${I1}, ${g1})`),P>=1&&(clearInterval(ku[u]),ku[u]=void 0)}ku[u]=setInterval(k0,1e3/60)}function Nw(r){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{r.noteFallingTimeMs=i.noteTimeSlider.value,Tr(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{r.lineThickness=parseInt(i.analyserThicknessSlider.value),Tr(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));r.normalAnalyserFft=A,r.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),r.updateFftSize(),this.setTimeDelay(A),Tr(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{r.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Tr(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{r.renderAnalysers=!r.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{r.renderNotes=!r.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{r.drawActiveNotes=!r.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{r.showVisualPitch=!r.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{r.stabilizeWaveforms=!r.stabilizeWaveforms,this._saveSettings()}}function Gw(r,i,A){r.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(r,A.synth),this._createMidiOutputHandler(r,i)):(N7||Ne(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Uw(r,i){if(r.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of r.inputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[1].name,A.appendChild(u)}A.onchange=()=>{A.value==="-1"?r.disconnectAllDevicesFromSynth():r.connectDeviceToSynth(r.inputs.get(A.value),i),this._saveSettings()}}function Pw(r,i){if(!r.outputs){setTimeout(()=>{this._createMidiOutputHandler(r,i)},1e3);return}if(r.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of r.outputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[1].name,A.appendChild(u)}A.onchange=()=>{i.seq&&(A.value==="-1"?r.disconnectSeqFromMIDI(i.seq):r.connectMIDIOutputToSeq(r.outputs.get(A.value),i.seq),this._saveSettings())}}var Ow={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var qw={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 Hw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var Vw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Ow,keyboardSettings:qw,midiSettings:Hw,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 Yw={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 zw={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 Kw={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 Dw(){let r=await window.savedSettings;if(!r.interface)return;m5("Loading saved settings...",r);let i=this.htmlControls.renderer,A=this.renderer,c=r.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Tr(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Tr(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let u=c.sampleSize;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),Tr(i.analyserFftSlider).innerText=`${u}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Tr(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let m=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,m.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,m.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,m.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,m.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,m.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let M=this.htmlControls.keyboard,q=this.midiKeyboard,U=r.keyboard;q.setKeyRange(U.keyRange,!1),U.autoRange?(M.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,M.sizeSelector.value=Object.keys(this.keyboardSizes).find(G=>this.keyboardSizes[G].min===U.keyRange.min&&this.keyboardSizes[G].max===U.keyRange.max)),U.mode==="dark"&&(q.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),U.show===!1&&(q.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(r.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=r.interface.language},100),r.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=r.interface.layout||"downwards",this._changeLayout(r.interface.layout||"downwards")}function _w(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function xw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===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 Lw(){let r=this.htmlControls.interface.themeSelector;r.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,u]of Object.entries(this.locales)){let m=document.createElement("option");m.value=c,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 Mw(r){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(r){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.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"),c.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"),c.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"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var XE={start:"#101010",end:"#212121"},eC={start:"#bbb",end:"#f0f0f0"},Rw="#eee",Fw="#333",tC={start:"#222",end:"#333"},iC={start:"#ccc",end:"#fff"},Nr=.2;function Tw(){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 r=document.styleSheets[0].cssRules;for(let i of r)if(i.selectorText==="*"){this.mode==="dark"?(Gr(Fw,Rw,Nr,i,"--font-color"),Gr(iC.start,tC.start,Nr,i,"--top-buttons-color-start"),Gr(iC.end,tC.end,Nr,i,"--top-buttons-color-end"),Gr(eC.start,XE.start,Nr,i,"--top-color-start"),Gr(eC.end,XE.end,Nr,i,"--top-color-end")):(Gr(Rw,Fw,Nr,i,"--font-color"),Gr(tC.start,iC.start,Nr,i,"--top-buttons-color-start"),Gr(tC.end,iC.end,Nr,i,"--top-buttons-color-end"),Gr(XE.start,eC.start,Nr,i,"--top-color-start"),Gr(XE.end,eC.end,Nr,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var ku={};function Gr(r,i,A,c,u){ku[u]&&(clearInterval(ku[u]),ku[u]=void 0);function m(v){v.length===4&&(v=`#${v[1]}${v[1]}${v[2]}${v[2]}${v[3]}${v[3]}`);let T=parseInt(v.slice(1),16);return{r:T>>16&255,g:T>>8&255,b:T&255}}function M(v,T,P){return v+(T-v)*P}let q=m(r),U=m(i),G=performance.now()/1e3;function k0(){let T=performance.now()/1e3-G,P=Math.min(T/A,1),G0=Math.round(M(q.r,U.r,P)),I1=Math.round(M(q.g,U.g,P)),g1=Math.round(M(q.b,U.b,P));c.style.setProperty(u,`rgb(${G0}, ${I1}, ${g1})`),P>=1&&(clearInterval(ku[u]),ku[u]=void 0)}ku[u]=setInterval(k0,1e3/60)}function Nw(r){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{r.noteFallingTimeMs=i.noteTimeSlider.value,Tr(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{r.lineThickness=parseInt(i.analyserThicknessSlider.value),Tr(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));r.normalAnalyserFft=A,r.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),r.updateFftSize(),this.setTimeDelay(A),Tr(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{r.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Tr(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{r.renderAnalysers=!r.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{r.renderNotes=!r.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{r.drawActiveNotes=!r.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{r.showVisualPitch=!r.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{r.stabilizeWaveforms=!r.stabilizeWaveforms,this._saveSettings()}}function Gw(r,i,A){r.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(r,A.synth),this._createMidiOutputHandler(r,i)):(N7||Ne(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Uw(r,i){if(r.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of r.inputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[1].name,A.appendChild(u)}A.onchange=()=>{A.value==="-1"?r.disconnectAllDevicesFromSynth():r.connectDeviceToSynth(r.inputs.get(A.value),i),this._saveSettings()}}function Pw(r,i){if(!r.outputs){setTimeout(()=>{this._createMidiOutputHandler(r,i)},1e3);return}if(r.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of r.outputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[1].name,A.appendChild(u)}A.onchange=()=>{i.seq&&(A.value==="-1"?r.disconnectSeqFromMIDI(i.seq):r.connectMIDIOutputToSeq(r.outputs.get(A.value),i.seq),this._saveSettings())}}var Ow={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var qw={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 Hw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var Vw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Ow,keyboardSettings:qw,midiSettings:Hw,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 Yw={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 zw={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 Kw={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 Ww={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:zw,effectsConfig:Jw,keyModifiers:Kw};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 jw={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 Xw={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:jw,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:Yw,settings:Vw,synthesizerController:Ww,sequencerController:Zw};var ev={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var tv={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 iv={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var nv={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:ev,keyboardSettings:tv,midiSettings:iv,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 rv={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 sv={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. @@ -237,7 +237,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 _v={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:Dv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:vv,settings:wv,synthesizerController:Sv,sequencerController:bv};var xv={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)"},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 Lv={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 Mv={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"}};var Rv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:xv,keyboardSettings:Lv,midiSettings:Mv,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 Fv={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 Tv={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 Nv={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 Gv={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:Tv,effectsConfig:Nv};var Uv={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 Pv={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 Ov={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:Pv,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:Fv,settings:Rv,synthesizerController:Gv,sequencerController:Uv};var dB="en",T$={en:Xw,pl:cv,ja:Cv,fr:_v,pt:Ov};var g_=.2,u_={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,A,c,u,m,R,q,U,G){this.delay=G,this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=m,this.midiDeviceHandler=R,this.synthui=A,this.sequi=c,this.locale=U,this.musicMode=q,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 k0=document.createElement("div");k0.style.position="relative",k0.classList.add("seamless_button"),k0.classList.add("settings_button"),i.appendChild(k0);let v=document.createElement("div");v.classList.add("seamless_button"),this.locale.bindObjectProperty(v,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(v,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(v);let T=document.createElement("div");T.classList.add("seamless_button"),this.locale.bindObjectProperty(T,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(T,"title","locale.hideTopBar.description"),i.appendChild(T);let P=document.getElementsByClassName("show_top_button")[0];P.innerHTML=iw(20);let G0=document.createElement("span");this.locale.bindObjectProperty(G0,"innerText","locale.settings.toggleButton"),k0.appendChild(G0);let I1=document.createElement("div");I1.innerHTML=ew(24),I1.classList.add("gear"),k0.appendChild(I1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,k0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),v.onclick=this.toggleMusicPlayerMode.bind(this),T.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=bw,pw(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 z1=j1.getAttribute("translate-path-title");if(this.locale.bindObjectProperty(j1,"textContent",z1+".title"),this.locale.bindObjectProperty(j1,"title",z1+".description"),j1.tagName==="LABEL"){let u2=j1.getAttribute("for");if(u2){let P2=document.getElementById(u2);P2&&this.locale.bindObjectProperty(P2,"title",z1+".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,m,R,c,A)}):this.createHandlers(u,m,R,c,A),this.topPartVisible=!0;let g1=!1;window.addEventListener("resize",()=>{let j1=window.screen.height,z1=window.screen.width,u2=window.outerHeight,P2=window.outerWidth,L2;L2=z1===P2&&j1===u2,L2!==g1&&(g1=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,c,u,m){this._createRendererHandler(i),this._createMidiSettingsHandler(c,u,m),this._createKeyboardHandler(A,m,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}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=Tw;v7.prototype._createInterfaceSettingsHandler=Lw;v7.prototype._changeLayout=Mw;v7.prototype._createRendererHandler=Nw;v7.prototype._createMidiSettingsHandler=Gw;v7.prototype._createMidiInputHandler=Uw;v7.prototype._createMidiOutputHandler=Pw;v7.prototype._createKeyboardHandler=Sw;v7.prototype._loadSettings=Dw;v7.prototype._serializeSettings=xw;v7.prototype._saveSettings=_w;var qv=.5,iC=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 _v={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:Dv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:vv,settings:wv,synthesizerController:Sv,sequencerController:bv};var xv={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)"},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 Lv={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 Mv={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"}};var Rv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:xv,keyboardSettings:Lv,midiSettings:Mv,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 Fv={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 Tv={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 Nv={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 Gv={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:Tv,effectsConfig:Nv};var Uv={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 Pv={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 Ov={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:Pv,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:Fv,settings:Rv,synthesizerController:Gv,sequencerController:Uv};var dB="en",T$={en:Xw,pl:cv,ja:Cv,fr:_v,pt:Ov};var g_=.2,u_={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,A,c,u,m,M,q,U,G){this.delay=G,this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=m,this.midiDeviceHandler=M,this.synthui=A,this.sequi=c,this.locale=U,this.musicMode=q,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 k0=document.createElement("div");k0.style.position="relative",k0.classList.add("seamless_button"),k0.classList.add("settings_button"),i.appendChild(k0);let v=document.createElement("div");v.classList.add("seamless_button"),this.locale.bindObjectProperty(v,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(v,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(v);let T=document.createElement("div");T.classList.add("seamless_button"),this.locale.bindObjectProperty(T,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(T,"title","locale.hideTopBar.description"),i.appendChild(T);let P=document.getElementsByClassName("show_top_button")[0];P.innerHTML=iw(20);let G0=document.createElement("span");this.locale.bindObjectProperty(G0,"innerText","locale.settings.toggleButton"),k0.appendChild(G0);let I1=document.createElement("div");I1.innerHTML=ew(24),I1.classList.add("gear"),k0.appendChild(I1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,k0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),v.onclick=this.toggleMusicPlayerMode.bind(this),T.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=bw,pw(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 z1=j1.getAttribute("translate-path-title");if(this.locale.bindObjectProperty(j1,"textContent",z1+".title"),this.locale.bindObjectProperty(j1,"title",z1+".description"),j1.tagName==="LABEL"){let u2=j1.getAttribute("for");if(u2){let P2=document.getElementById(u2);P2&&this.locale.bindObjectProperty(P2,"title",z1+".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,m,M,c,A)}):this.createHandlers(u,m,M,c,A),this.topPartVisible=!0;let g1=!1;window.addEventListener("resize",()=>{let j1=window.screen.height,z1=window.screen.width,u2=window.outerHeight,P2=window.outerWidth,L2;L2=z1===P2&&j1===u2,L2!==g1&&(g1=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,c,u,m){this._createRendererHandler(i),this._createMidiSettingsHandler(c,u,m),this._createKeyboardHandler(A,m,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}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=Tw;v7.prototype._createInterfaceSettingsHandler=Lw;v7.prototype._changeLayout=Mw;v7.prototype._createRendererHandler=Nw;v7.prototype._createMidiSettingsHandler=Gw;v7.prototype._createMidiInputHandler=Uw;v7.prototype._createMidiOutputHandler=Pw;v7.prototype._createKeyboardHandler=Sw;v7.prototype._loadSettings=Dw;v7.prototype._serializeSettings=xw;v7.prototype._saveSettings=_w;var qv=.5,nC=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=`
@@ -281,24 +281,24 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let c of this.mainDiv.querySelectorAll("*[translate-path]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path"));for(let c of this.mainDiv.querySelectorAll("*[translate-path-title]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path-title")+".title"),A.bindObjectProperty(c,"title",c.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 c=A.copyright.replaceAll(` -`,""),u=(P,G0,I1=!0)=>{let g1=document.getElementById(P);if(G0.length>0)if(g1.parentElement.classList.remove("hidden"),g1.innerHTML="",G0.length>30&&I1){g1.classList.add("marquee");let j1=document.createElement("span");j1.textContent=G0,g1.appendChild(j1)}else g1.textContent=G0;else g1.parentElement.classList.add("hidden")};u("player_info_detail",c),u("player_info_time",D$(this.seq.duration).time),u("player_info_file_name",A.fileName,!1);let m=(P,G0,I1,g1="")=>this.seq.midiData.RMIDInfo?.[P]===void 0?G0:g1+I1.decode(this.seq.midiData.RMIDInfo?.[P]).replace(/\0$/,""),R=m("IENC","ascii",new TextDecoder),q=new TextDecoder(R);u("player_info_album",m("IPRD","",q)),u("player_info_artist",m("IART","",q)),u("player_info_genre",m("IGNR","",q)),u("player_info_creation",m("ICRD","",q)+m("ICRT","",q,` -`)),u("player_info_comment",m("ICMT","",q));let U=this.mainDiv.getElementsByTagName("svg")[0],G=this.mainDiv.getElementsByTagName("img")[0],k0=document.getElementById("player_info_background_image");if(!A.isEmbedded){U.style.display="",G.style.display="none",k0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){U.style.display="",G.style.display="none",k0.style.setProperty("--bg-image","undefined");return}U.style.display="none",G.style.display="";let v=new Blob([A.RMIDInfo.IPIC.buffer]),T=URL.createObjectURL(v);G.src=T,k0.style.setProperty("--bg-image",`url('${T}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let u=A.clientHeight,m=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${m}px`,c.style.height=`${u}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},qv*1e3)}else{let u=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${u}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},qv*1e3)}}};var nC=class{onLocaleChanged=[];constructor(i){this.locale=T$[i]||T$[dB],this.fallbackLocale=T$[dB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_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,(c,u)=>typeof A[u]<"u"?A[u]:c)}bindObjectProperty(i,A,c,u=[]){let m={object:i,propertyName:A,localePath:c,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 c=i.split("."),u=A?this.fallbackLocale:this.locale;for(let m=1;m{this._validatePropertyIntegrity(u)}),this.locale=c,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function fB(r,i=!0,A=0,c={},u=void 0){let m=r.getChannelData(A),R=r.getChannelData(A+1),q=m.length,U=2,G=new K5(0),k0=Object.keys(c).length>0;if(k0){let a0=new TextEncoder,g5=[yu("INFO"),k6("ICMT",a0.encode("Created with SpessaSynth"),!0)];c.artist&&g5.push(k6("IART",a0.encode(c.artist),!0)),c.album&&g5.push(k6("IPRD",a0.encode(c.album),!0)),c.genre&&g5.push(k6("IGNR",a0.encode(c.genre),!0)),c.title&&g5.push(k6("INAM",a0.encode(c.title),!0)),G=k6("LIST",St(g5))}let v=new K5(0),T=u?.end!==void 0&&u?.start!==void 0;if(T){let a0=Math.floor(u.start*r.sampleRate),g5=Math.floor(u.end*r.sampleRate),p3=new K5(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 K5(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 K5([2,0,0,0]),p3,k3]);v=k6("cue ",u6)}let P=44,G0=q*2*U,I1=P+G0+G.length+v.length-8,g1=new Uint8Array(P);g1.set([82,73,70,70],0),g1.set(new Uint8Array([I1&255,I1>>8&255,I1>>16&255,I1>>24&255]),4),g1.set([87,65,86,69],8),g1.set([102,109,116,32],12),g1.set([16,0,0,0],16),g1.set([1,0],20),g1.set([2,0],22);let j1=r.sampleRate;g1.set(new Uint8Array([j1&255,j1>>8&255,j1>>16&255,j1>>24&255]),24);let z1=j1*2*U;g1.set(new Uint8Array([z1&255,z1>>8&255,z1>>16&255,z1>>24&255]),28),g1.set([4,0],32),g1.set([16,0],34),g1.set([100,97,116,97],36),g1.set(new Uint8Array([G0&255,G0>>8&255,G0>>16&255,G0>>24&255]),40);let u2=new Uint8Array(I1+8),P2=P;u2.set(g1,0);let L2=32767;if(i){let a0=m.map((g5,p3)=>Math.max(Math.abs(g5),Math.abs(R[p3]))).reduce((g5,p3)=>Math.max(g5,p3));L2=a0>0?32767/a0:1}for(let a0=0;a0>8&255,u2[P2++]=p3&255,u2[P2++]=p3>>8&255}return k0&&(u2.set(G,P2),P2+=G.length),T&&u2.set(v,P2),new Blob([u2.buffer],{type:"audio/wav"})}var Hv=1e3;async function Vv(r=!0,i=44100,A=2,c=!1,u={},m=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let R=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),q=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),U=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),G=Ne(R,[{type:"text",textContent:U},{type:"progress"}],9999999,!1),k0=await this.seq.getMIDI(),v=Qu(k0.loop.start,k0),T=Qu(k0.loop.end,k0),P=T-v,G0=k0.duration+A+P*m,I1=i*G0,g1;try{g1=new OfflineAudioContext({numberOfChannels:c?32:2,sampleRate:i,length:I1}),await g1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(E3){Ne("ERROR",[{type:"text",textContent:E3}]);return}let j1=await this.synth.getSynthesizerSnapshot(),z1=this.soundFont,u2,L2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await g1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};j1.effectsConfig=L2;try{u2=new Cu(g1.destination,z1,!1,{parsedMIDI:k0,snapshot:j1,oneOutput:c,loopCount:m},L2)}catch(E3){throw Ne(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),E3}let a0=G.div.getElementsByTagName("p")[0],g5=G.div.getElementsByClassName("notification_progress")[0],p3=Hv/1e3,k3=u2.currentTime,u6=G0,S3=.1,c9=setInterval(()=>{let E3=u2.currentTime-k3;k3=u2.currentTime;let p6=u2.currentTime/G0;g5.style.width=`${p6*100}%`;let w4=E3/p3,tn=(1-p6)/w4*G0;tn!==1/0&&(u6=S3*tn+(1-S3)*u6,a0.innerText=`${q} ${D$(u6).time}`)},Hv),N9=await g1.startRendering();if(g5.style.width="100%",clearInterval(c9),a0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(E3=>setTimeout(E3,75)),c){let E3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",p6=[],w4=new Set;for(let H8 of k0.usedChannelsOnTrack)H8.forEach(Xa=>w4.add(Xa));for(let H8=0;H8<16;H8++){let Xa=!0;for(let Bn=H8;Bn{let P$=eA.textContent;eA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Ge=>setTimeout(Ge,75));let mC=fB(N9,!1,H8*2),pC=`${H8+1} - ${j1.channelSnapshots[H8].patchName}.wav`;this.saveBlob(mC,pC),eA.classList.add("green_button"),eA.textContent=P$}})}let tn=Ne(this.localeManager.getLocaleString(E3+"title"),p6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});tn.div.style.width="30rem"}else{let E3=Qu(k0.firstNoteOn,k0),p6=v-E3,w4=T-E3,tn={start:p6,end:w4};m5(`%cWriting loop points: start %c${p6}%c, end:%c${w4}`,E1.info,E1.recognized,E1.info,E1.recognized);let H8=fB(N9,r,0,u,tn);this.saveBlob(H8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}le(G.id),this.isExporting=!1}async function Yv(){if(this.isExporting)return;let r="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(G,k0,v)=>this.seq.midiData.RMIDInfo?.[G]===void 0?k0:v.decode(this.seq.midiData.RMIDInfo?.[G]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),u=new TextDecoder(c),m=A("IPRD","",u),R=A("IART","",u),q=A("IGNR","",u),U=[{type:"toggle",translatePathTitle:r+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:r+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:r+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:r+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:r+"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:R,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:q,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(r+"confirm"),onClick:G=>{le(G.id);let k0=G.div.querySelector("input[normalize-volume-toggle]").checked,v=G.div.querySelector("input[additional-time]").value,T=G.div.querySelector("input[sample-rate]").value,P=G.div.querySelector("input[loop-count]").value,G0=G.div.querySelector("input[separate-channels-toggle]").checked,I1=G.div.querySelector("input[name='artist']").value,g1=G.div.querySelector("input[name='album']").value,j1=G.div.querySelector("input[name='song_title']").value,z1=G.div.querySelector("input[name='genre']").value,u2={artist:I1.length>0?I1:void 0,album:g1.length>0?g1:void 0,title:j1.length>0?j1:void 0,genre:z1.length>0?z1:void 0};this._doExportAudioData(k0,parseInt(T),parseInt(v),G0,u2,parseInt(P))}}];Ne(this.localeManager.getLocaleString(r+"title"),U,9999999,!0,this.localeManager)}async function zv(){let r=await this.seq.getMIDI();Pa(r,await this.synth.getSynthesizerSnapshot());let i=OE(r),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Jv(r,i){Q8("%cSearching for all used programs and keys...",E1.info);let A=16+r.midiPortChannelOffsets.reduce((v,T)=>T>v?T:v),c=[];for(let v=0;v{R[G0]>=P.length||P[R[G0]].ticks0;){let v=U(),T=r.tracks[v];if(R[v]>=T.length){q--;continue}let P=T[R[v]];if(R[v]++,P.messageStatusByte===v3.midiPort){G[v]=P.messageData[0];continue}let G0=P.messageStatusByte&240;if(G0!==v3.noteOn&&G0!==v3.controllerChange&&G0!==v3.programChange&&G0!==v3.systemExclusive)continue;let I1=(P.messageStatusByte&15)+r.midiPortChannelOffsets[G[v]]||0,g1=c[I1];switch(G0){case v3.programChange:g1.program=P.messageData[0],u(g1);break;case v3.controllerChange:if(P.messageData[0]!==$3.bankSelect||k0==="gs"&&g1.drums)continue;let j1=P.messageData[1],z1=Math.max(0,j1-r.bankOffset);if(k0==="xg"){let L2=j1===120||j1===126||j1===127;L2!==g1.drums?(g1.drums=L2,g1.bank=g1.drums?128:z1,u(g1)):g1.bank=g1.drums?128:z1;continue}c[I1].bank=z1;break;case v3.noteOn:if(P.messageData[1]===0)continue;u(g1),m[g1.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&&(k0="xg");continue}let u2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][P.messageData[5]&15]+r.midiPortChannelOffsets[G[v]],P2=!!(P.messageData[7]>0&&P.messageData[5]>>4);g1=c[u2],g1.drums=P2,g1.bank=P2?128:0,u(g1);break}}for(let v of Object.keys(m))m[v].size===0&&(m5(`%cDetected change but no keys for %c${v}`,E1.info,E1.value),delete m[v]);return u9(),m}function Su(r,i){function A(u,m){let R=0;for(let q=0;q=G.min&&T.key<=G.max&&T.velocity>=k0.min&&T.velocity<=k0.max){v=!0;break}v||(m5(`%c${U.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${U.useCount-1}`,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized),u.safeDeleteZone(q)&&(R++,q--,m5(`%c${U.sample.sampleName} %cdeleted`,E1.recognized,E1.info)),U.sample.useCount<1&&r.deleteSample(U.sample))}return R}F7("%cTrimming soundfont...",E1.info);let c=Jv(i,r);Q8("%cModifying soundfont...",E1.info),m5("Detected keys for midi:",c);for(let u=0;u{let v=k0.split("-");return{key:parseInt(v[0]),velocity:parseInt(v[1])}});Q8(`%cTrimming %c${m.presetName}`,E1.info,E1.recognized),m5(`Keys for ${m.presetName}:`,U);let G=0;for(let k0=0;k0=T.min&&I1.key<=T.max&&I1.velocity>=P.min&&I1.velocity<=P.max){G0=!0;let g1=A(v.instrument,U);m5(`%cTrimmed off %c${g1}%c zones from %c${v.instrument.instrumentName}`,E1.info,E1.recognized,E1.info,E1.recognized);break}G0||(G++,m.deleteZone(k0),v.instrument.useCount<1&&r.deleteInstrument(v.instrument),k0--)}m5(`%cTrimmed off %c${G}%c zones from %c${m.presetName}`,E1.info,E1.recognized,E1.info,E1.recognized),u9()}}r.removeUnusedElements(),r.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" +`,""),u=(P,G0,I1=!0)=>{let g1=document.getElementById(P);if(G0.length>0)if(g1.parentElement.classList.remove("hidden"),g1.innerHTML="",G0.length>30&&I1){g1.classList.add("marquee");let j1=document.createElement("span");j1.textContent=G0,g1.appendChild(j1)}else g1.textContent=G0;else g1.parentElement.classList.add("hidden")};u("player_info_detail",c),u("player_info_time",D$(this.seq.duration).time),u("player_info_file_name",A.fileName,!1);let m=(P,G0,I1,g1="")=>this.seq.midiData.RMIDInfo?.[P]===void 0?G0:g1+I1.decode(this.seq.midiData.RMIDInfo?.[P]).replace(/\0$/,""),M=m("IENC","ascii",new TextDecoder),q=new TextDecoder(M);u("player_info_album",m("IPRD","",q)),u("player_info_artist",m("IART","",q)),u("player_info_genre",m("IGNR","",q)),u("player_info_creation",m("ICRD","",q)+m("ICRT","",q,` +`)),u("player_info_comment",m("ICMT","",q));let U=this.mainDiv.getElementsByTagName("svg")[0],G=this.mainDiv.getElementsByTagName("img")[0],k0=document.getElementById("player_info_background_image");if(!A.isEmbedded){U.style.display="",G.style.display="none",k0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){U.style.display="",G.style.display="none",k0.style.setProperty("--bg-image","undefined");return}U.style.display="none",G.style.display="";let v=new Blob([A.RMIDInfo.IPIC.buffer]),T=URL.createObjectURL(v);G.src=T,k0.style.setProperty("--bg-image",`url('${T}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let u=A.clientHeight,m=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${m}px`,c.style.height=`${u}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},qv*1e3)}else{let u=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${u}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},qv*1e3)}}};var rC=class{onLocaleChanged=[];constructor(i){this.locale=T$[i]||T$[dB],this.fallbackLocale=T$[dB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_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,(c,u)=>typeof A[u]<"u"?A[u]:c)}bindObjectProperty(i,A,c,u=[]){let m={object:i,propertyName:A,localePath:c,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 c=i.split("."),u=A?this.fallbackLocale:this.locale;for(let m=1;m{this._validatePropertyIntegrity(u)}),this.locale=c,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function fB(r,i=!0,A=0,c={},u=void 0){let m=r.getChannelData(A),M=r.getChannelData(A+1),q=m.length,U=2,G=new K5(0),k0=Object.keys(c).length>0;if(k0){let a0=new TextEncoder,g5=[yu("INFO"),k6("ICMT",a0.encode("Created with SpessaSynth"),!0)];c.artist&&g5.push(k6("IART",a0.encode(c.artist),!0)),c.album&&g5.push(k6("IPRD",a0.encode(c.album),!0)),c.genre&&g5.push(k6("IGNR",a0.encode(c.genre),!0)),c.title&&g5.push(k6("INAM",a0.encode(c.title),!0)),G=k6("LIST",St(g5))}let v=new K5(0),T=u?.end!==void 0&&u?.start!==void 0;if(T){let a0=Math.floor(u.start*r.sampleRate),g5=Math.floor(u.end*r.sampleRate),p3=new K5(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 K5(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 K5([2,0,0,0]),p3,k3]);v=k6("cue ",u6)}let P=44,G0=q*2*U,I1=P+G0+G.length+v.length-8,g1=new Uint8Array(P);g1.set([82,73,70,70],0),g1.set(new Uint8Array([I1&255,I1>>8&255,I1>>16&255,I1>>24&255]),4),g1.set([87,65,86,69],8),g1.set([102,109,116,32],12),g1.set([16,0,0,0],16),g1.set([1,0],20),g1.set([2,0],22);let j1=r.sampleRate;g1.set(new Uint8Array([j1&255,j1>>8&255,j1>>16&255,j1>>24&255]),24);let z1=j1*2*U;g1.set(new Uint8Array([z1&255,z1>>8&255,z1>>16&255,z1>>24&255]),28),g1.set([4,0],32),g1.set([16,0],34),g1.set([100,97,116,97],36),g1.set(new Uint8Array([G0&255,G0>>8&255,G0>>16&255,G0>>24&255]),40);let u2=new Uint8Array(I1+8),P2=P;u2.set(g1,0);let L2=32767;if(i){let a0=m.map((g5,p3)=>Math.max(Math.abs(g5),Math.abs(M[p3]))).reduce((g5,p3)=>Math.max(g5,p3));L2=a0>0?32767/a0:1}for(let a0=0;a0>8&255,u2[P2++]=p3&255,u2[P2++]=p3>>8&255}return k0&&(u2.set(G,P2),P2+=G.length),T&&u2.set(v,P2),new Blob([u2.buffer],{type:"audio/wav"})}var Hv=1e3;async function Vv(r=!0,i=44100,A=2,c=!1,u={},m=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let M=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),q=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),U=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),G=Ne(M,[{type:"text",textContent:U},{type:"progress"}],9999999,!1),k0=await this.seq.getMIDI(),v=Qu(k0.loop.start,k0),T=Qu(k0.loop.end,k0),P=T-v,G0=k0.duration+A+P*m,I1=i*G0,g1;try{g1=new OfflineAudioContext({numberOfChannels:c?32:2,sampleRate:i,length:I1}),await g1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(E3){Ne("ERROR",[{type:"text",textContent:E3}]);return}let j1=await this.synth.getSynthesizerSnapshot(),z1=this.soundFont,u2,L2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await g1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};j1.effectsConfig=L2;try{u2=new Cu(g1.destination,z1,!1,{parsedMIDI:k0,snapshot:j1,oneOutput:c,loopCount:m},L2)}catch(E3){throw Ne(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),E3}let a0=G.div.getElementsByTagName("p")[0],g5=G.div.getElementsByClassName("notification_progress")[0],p3=Hv/1e3,k3=u2.currentTime,u6=G0,S3=.1,c9=setInterval(()=>{let E3=u2.currentTime-k3;k3=u2.currentTime;let p6=u2.currentTime/G0;g5.style.width=`${p6*100}%`;let w4=E3/p3,tn=(1-p6)/w4*G0;tn!==1/0&&(u6=S3*tn+(1-S3)*u6,a0.innerText=`${q} ${D$(u6).time}`)},Hv),N9=await g1.startRendering();if(g5.style.width="100%",clearInterval(c9),a0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(E3=>setTimeout(E3,75)),c){let E3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",p6=[],w4=new Set;for(let H8 of k0.usedChannelsOnTrack)H8.forEach(Xa=>w4.add(Xa));for(let H8=0;H8<16;H8++){let Xa=!0;for(let Bn=H8;Bn{let P$=eA.textContent;eA.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Ge=>setTimeout(Ge,75));let pC=fB(N9,!1,H8*2),EC=`${H8+1} - ${j1.channelSnapshots[H8].patchName}.wav`;this.saveBlob(pC,EC),eA.classList.add("green_button"),eA.textContent=P$}})}let tn=Ne(this.localeManager.getLocaleString(E3+"title"),p6,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});tn.div.style.width="30rem"}else{let E3=Qu(k0.firstNoteOn,k0),p6=v-E3,w4=T-E3,tn={start:p6,end:w4};m5(`%cWriting loop points: start %c${p6}%c, end:%c${w4}`,E1.info,E1.recognized,E1.info,E1.recognized);let H8=fB(N9,r,0,u,tn);this.saveBlob(H8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}le(G.id),this.isExporting=!1}async function Yv(){if(this.isExporting)return;let r="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(G,k0,v)=>this.seq.midiData.RMIDInfo?.[G]===void 0?k0:v.decode(this.seq.midiData.RMIDInfo?.[G]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),u=new TextDecoder(c),m=A("IPRD","",u),M=A("IART","",u),q=A("IGNR","",u),U=[{type:"toggle",translatePathTitle:r+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:r+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:r+"sampleRate",attributes:{value:"44100",type:"number","sample-rate":"1"}},{type:"input",translatePathTitle:r+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:r+"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:M,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:q,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(r+"confirm"),onClick:G=>{le(G.id);let k0=G.div.querySelector("input[normalize-volume-toggle]").checked,v=G.div.querySelector("input[additional-time]").value,T=G.div.querySelector("input[sample-rate]").value,P=G.div.querySelector("input[loop-count]").value,G0=G.div.querySelector("input[separate-channels-toggle]").checked,I1=G.div.querySelector("input[name='artist']").value,g1=G.div.querySelector("input[name='album']").value,j1=G.div.querySelector("input[name='song_title']").value,z1=G.div.querySelector("input[name='genre']").value,u2={artist:I1.length>0?I1:void 0,album:g1.length>0?g1:void 0,title:j1.length>0?j1:void 0,genre:z1.length>0?z1:void 0};this._doExportAudioData(k0,parseInt(T),parseInt(v),G0,u2,parseInt(P))}}];Ne(this.localeManager.getLocaleString(r+"title"),U,9999999,!0,this.localeManager)}async function zv(){let r=await this.seq.getMIDI();Pa(r,await this.synth.getSynthesizerSnapshot());let i=OE(r),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Jv(r,i){Q8("%cSearching for all used programs and keys...",E1.info);let A=16+r.midiPortChannelOffsets.reduce((v,T)=>T>v?T:v),c=[];for(let v=0;v{M[G0]>=P.length||P[M[G0]].ticks0;){let v=U(),T=r.tracks[v];if(M[v]>=T.length){q--;continue}let P=T[M[v]];if(M[v]++,P.messageStatusByte===v3.midiPort){G[v]=P.messageData[0];continue}let G0=P.messageStatusByte&240;if(G0!==v3.noteOn&&G0!==v3.controllerChange&&G0!==v3.programChange&&G0!==v3.systemExclusive)continue;let I1=(P.messageStatusByte&15)+r.midiPortChannelOffsets[G[v]]||0,g1=c[I1];switch(G0){case v3.programChange:g1.program=P.messageData[0],u(g1);break;case v3.controllerChange:if(P.messageData[0]!==$3.bankSelect||k0==="gs"&&g1.drums)continue;let j1=P.messageData[1],z1=Math.max(0,j1-r.bankOffset);if(k0==="xg"){let L2=j1===120||j1===126||j1===127;L2!==g1.drums?(g1.drums=L2,g1.bank=g1.drums?128:z1,u(g1)):g1.bank=g1.drums?128:z1;continue}c[I1].bank=z1;break;case v3.noteOn:if(P.messageData[1]===0)continue;u(g1),m[g1.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&&(k0="xg");continue}let u2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][P.messageData[5]&15]+r.midiPortChannelOffsets[G[v]],P2=!!(P.messageData[7]>0&&P.messageData[5]>>4);g1=c[u2],g1.drums=P2,g1.bank=P2?128:0,u(g1);break}}for(let v of Object.keys(m))m[v].size===0&&(m5(`%cDetected change but no keys for %c${v}`,E1.info,E1.value),delete m[v]);return u9(),m}function Su(r,i){function A(u,m){let M=0;for(let q=0;q=G.min&&T.key<=G.max&&T.velocity>=k0.min&&T.velocity<=k0.max){v=!0;break}v||(m5(`%c${U.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${U.useCount-1}`,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized),u.safeDeleteZone(q)&&(M++,q--,m5(`%c${U.sample.sampleName} %cdeleted`,E1.recognized,E1.info)),U.sample.useCount<1&&r.deleteSample(U.sample))}return M}F7("%cTrimming soundfont...",E1.info);let c=Jv(i,r);Q8("%cModifying soundfont...",E1.info),m5("Detected keys for midi:",c);for(let u=0;u{let v=k0.split("-");return{key:parseInt(v[0]),velocity:parseInt(v[1])}});Q8(`%cTrimming %c${m.presetName}`,E1.info,E1.recognized),m5(`Keys for ${m.presetName}:`,U);let G=0;for(let k0=0;k0=T.min&&I1.key<=T.max&&I1.velocity>=P.min&&I1.velocity<=P.max){G0=!0;let g1=A(v.instrument,U);m5(`%cTrimmed off %c${g1}%c zones from %c${v.instrument.instrumentName}`,E1.info,E1.recognized,E1.info,E1.recognized);break}G0||(G++,m.deleteZone(k0),v.instrument.useCount<1&&r.deleteInstrument(v.instrument),k0--)}m5(`%cTrimmed off %c${G}%c zones from %c${m.presetName}`,E1.info,E1.recognized,E1.info,E1.recognized),u9()}}r.removeUnusedElements(),r.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" -`+r.soundFontInfo.ICMT,m5("%cSoundfont modified!",E1.recognized),u9(),u9()}function Kv(){let r=4;for(let c of this.instruments)r+=c.instrumentZones.reduce((u,m)=>(m.generators=m.generators.filter(R=>R.generatorType!==f0.sampleID&&R.generatorType!==f0.keyRange&&R.generatorType!==f0.velRange),(m.velRange.max!==127||m.velRange.min!==0)&&m.generators.unshift({generatorType:f0.velRange,generatorValue:m.velRange.max<<8|Math.max(m.velRange.min,0)}),(m.keyRange.max!==127||m.keyRange.min!==0)&&m.generators.unshift({generatorType:f0.keyRange,generatorValue:m.keyRange.max<<8|Math.max(m.keyRange.min,0)}),m.isGlobal||m.generators.push({generatorType:f0.sampleID,generatorValue:this.samples.indexOf(m.sample)}),m.generators.length*4+u),0);let i=new K5(r),A=0;for(let c of this.instruments)for(let u of c.instrumentZones){u.generatorZoneStartIndex=A;for(let m of u.generators)X3(i,m.generatorType),X3(i,m.generatorValue),A++}return p9(i,0),it(new Q4("igen",i.length,i))}function Wv(r,i,A,c,u){let m=this.samples.map((G,k0)=>{A&&G.compressSample(c,u);let v=G.getRawData();return m5(`%cEncoded sample %c${k0}. ${G.sampleName}%c of %c${this.samples.length}`,E1.info,E1.recognized,E1.info,E1.recognized),v}),R=this.samples.reduce((G,k0,v)=>G+m[v].length+46,0),q=new K5(R);this.samples.forEach((G,k0)=>{let v=m[k0],T,P,G0=v.length;G.isCompressed?(T=q.currentIndex,P=T+v.length):(T=q.currentIndex/2,P=T+v.length/2,G0+=46),r.push(T),q.set(v,q.currentIndex),q.currentIndex+=G0,i.push(P)});let U=it(new Q4("smpl",q.length,q),new K5([115,100,116,97]));return it(new Q4("LIST",U.length,U))}function Zv(r,i){let c=new K5(46*(this.samples.length+1));return this.samples.forEach((u,m)=>{P8(c,u.sampleName,20);let R=r[m];p9(c,R);let q=i[m];p9(c,q);let U=u.sampleLoopStartIndex+R,G=u.sampleLoopEndIndex+R;u.isCompressed&&(U-=R,G-=R),p9(c,U),p9(c,G),p9(c,u.sampleRate),c[c.currentIndex++]=u.samplePitch,c[c.currentIndex++]=u.samplePitchCorrection,X3(c,u.sampleLink),X3(c,u.sampleType)}),P8(c,"EOS",46),it(new Q4("shdr",c.length,c))}function jv(){let r=10;for(let c of this.instruments)r+=c.instrumentZones.reduce((u,m)=>m.modulators.length*10+u,0);let i=new K5(r),A=0;for(let c of this.instruments)for(let u of c.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 Xv(){let r=this.instruments.reduce((m,R)=>R.instrumentZones.length*4+m,4),i=new K5(r),A=0,c=0,u=0;for(let m of this.instruments){m.instrumentZoneIndex=A;for(let R of m.instrumentZones)R.zoneID=A,X3(i,c),X3(i,u),c+=R.generators.length,u+=R.modulators.length,A++}return X3(i,c),X3(i,u),it(new Q4("ibag",i.length,i))}function ek(){let r=this.instruments.length*22+22,i=new K5(r),A=0,c=0;for(let u of this.instruments)P8(i,u.instrumentName,20),X3(i,A),A+=u.instrumentZones.length,u.instrumentID=c,c++;return P8(i,"EOI",20),X3(i,A),it(new Q4("inst",i.length,i))}function tk(){let r=4;for(let c of this.presets)r+=c.presetZones.reduce((u,m)=>(m.generators=m.generators.filter(R=>R.generatorType!==f0.instrument&&R.generatorType!==f0.keyRange&&R.generatorType!==f0.velRange),(m.velRange.max!==127||m.velRange.min!==0)&&m.generators.unshift({generatorType:f0.velRange,generatorValue:m.velRange.max<<8|Math.max(m.velRange.min,0)}),(m.keyRange.max!==127||m.keyRange.min!==0)&&m.generators.unshift({generatorType:f0.keyRange,generatorValue:m.keyRange.max<<8|Math.max(m.keyRange.min,0)}),m.isGlobal||m.generators.push({generatorType:f0.instrument,generatorValue:this.instruments.indexOf(m.instrument)}),m.generators.length*4+u),0);let i=new K5(r),A=0;for(let c of this.presets)for(let u of c.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 ik(){let r=10;for(let c of this.presets)r+=c.presetZones.reduce((u,m)=>m.modulators.length*10+u,0);let i=new K5(r),A=0;for(let c of this.presets)for(let u of c.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 nk(){let r=this.presets.reduce((m,R)=>R.presetZones.length*4+m,4),i=new K5(r),A=0,c=0,u=0;for(let m of this.presets){m.presetZoneStartIndex=A;for(let R of m.presetZones)R.zoneID=A,X3(i,c),X3(i,u),c+=R.generators.length,u+=R.modulators.length,A++}return X3(i,c),X3(i,u),it(new Q4("pbag",i.length,i))}function rk(){let r=this.presets.length*38+38,i=new K5(r),A=0;for(let c of this.presets)P8(i,c.presetName,20),X3(i,c.program),X3(i,c.bank),X3(i,A),p9(i,c.library),p9(i,c.genre),p9(i,c.morphology),A+=c.presetZones.length;return P8(i,"EOP",20),X3(i,0),X3(i,0),X3(i,A),p9(i,0),p9(i,0),p9(i,0),it(new Q4("phdr",i.length,i))}var h_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function ok(r=h_){if(r.compress&&typeof r.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");Q8("%cSaving soundfont...",E1.info),m5(`%cCompression: %c${r?.compress||"false"}%c quality: %c${r?.compressionQuality||"none"}`,E1.info,E1.recognized,E1.info,E1.recognized),m5("%cWriting INFO...",E1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",r?.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 K5(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 K5(L2.length);P8(a0,L2),i.push(it(new Q4(P2,L2.length,a0)))}let A=St([new K5([73,78,70,79]),...i]),c=it(new Q4("LIST",A.length,A));m5("%cWriting SDTA...",E1.info);let u=[],m=[],R=Wv.call(this,u,m,r?.compress,r?.compressionQuality??.5,r.compressionFunction);m5("%cWriting PDTA...",E1.info),m5("%cWriting SHDR...",E1.info);let q=Zv.call(this,u,m);m5("%cWriting IGEN...",E1.info);let U=Kv.call(this);m5("%cWriting IMOD...",E1.info);let G=jv.call(this);m5("%cWriting IBAG...",E1.info);let k0=Xv.call(this);m5("%cWriting INST...",E1.info);let v=ek.call(this),T=tk.call(this);m5("%cWriting PMOD...",E1.info);let P=ik.call(this);m5("%cWriting PBAG...",E1.info);let G0=nk.call(this);m5("%cWriting PHDR...",E1.info);let I1=rk.call(this),g1=St([new K5([112,100,116,97]),I1,G0,P,T,v,k0,G,U,q]),j1=it(new Q4("LIST",g1.length,g1));m5("%cWriting the output file...",E1.info);let z1=St([new K5([115,102,98,107]),c,R,j1]),u2=it(new Q4("RIFF",z1.length,z1));return m5(`%cSaved succesfully! Final file size: %c${u2.length}`,E1.info,E1.recognized),u9(),u2}var qp=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(c=>c.generatorType===i)?.generatorValue??A}};var k7=class extends qp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ya=class extends qp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var d_=new Set([f0.velRange,f0.keyRange,f0.instrument,f0.exclusiveClass,f0.endOper,f0.sampleModes,f0.startloopAddrsOffset,f0.startloopAddrsCoarseOffset,f0.endloopAddrsOffset,f0.endloopAddrsCoarseOffset,f0.startAddrsOffset,f0.startAddrsCoarseOffset,f0.endAddrOffset,f0.endAddrsCoarseOffset,f0.initialAttenuation,f0.fineTune,f0.coarseTune,f0.keyNumToVolEnvHold,f0.keyNumToVolEnvDecay,f0.keyNumToModEnvHold,f0.keyNumToModEnvDecay]);function sk(r,i=!0){function A(v,T){v.push(...T.filter(P=>!v.find(G0=>G0.generatorType===P.generatorType)))}function c(v,T){return{min:Math.max(v.min,T.min),max:Math.min(v.max,T.max)}}function u(v,T){v.push(...T.filter(P=>!v.find(G0=>l9.isIdentical(P,G0))))}let m=[],R=[],q=[],U={min:0,max:127},G={min:0,max:127},k0=r.presetZones.find(v=>v.isGlobal);k0&&(R.push(...k0.generators),q.push(...k0.modulators),U=k0.keyRange,G=k0.velRange);for(let v of r.presetZones){if(v.isGlobal)continue;let T=v.keyRange;v.hasKeyRange||(T=U);let P=v.velRange;v.hasVelRange||(P=G);let G0=v.generators.map(a0=>new j3(a0.generatorType,a0.generatorValue));A(G0,R);let I1=[...v.modulators];u(I1,q);let g1=v.instrument.instrumentZones,j1=[],z1=[],u2={min:0,max:127},P2={min:0,max:127},L2=g1.find(a0=>a0.isGlobal);L2&&(j1.push(...L2.generators),z1.push(...L2.modulators),u2=L2.keyRange,P2=L2.velRange);for(let a0 of g1){if(a0.isGlobal)continue;let g5=a0.keyRange;a0.hasKeyRange||(g5=u2);let p3=a0.velRange;if(a0.hasVelRange||(p3=P2),g5=c(g5,T),p3=c(p3,P),g5.maxnew j3(E3.generatorType,E3.generatorValue));A(k3,j1);let u6=[...a0.modulators];u(u6,z1);let S3=[...u6];for(let E3 of I1){let p6=S3.findIndex(w4=>l9.isIdentical(E3,w4));p6!==-1?S3[p6]=S3[p6].sumTransform(E3):S3.push(E3)}let c9=k3.map(E3=>new j3(E3.generatorType,E3.generatorValue));for(let E3 of G0){if(E3.generatorType===f0.velRange||E3.generatorType===f0.keyRange||E3.generatorType===f0.instrument||E3.generatorType===f0.endOper||E3.generatorType===f0.sampleModes)continue;let p6=k3.findIndex(w4=>w4.generatorType===E3.generatorType);if(p6!==-1){let w4=c9[p6].generatorValue+E3.generatorValue;c9[p6]=new j3(E3.generatorType,w4)}else{let w4=W6[E3.generatorType].def+E3.generatorValue;c9.push(new j3(E3.generatorType,w4))}}c9=c9.filter(E3=>E3.generatorType!==f0.sampleID&&E3.generatorType!==f0.keyRange&&E3.generatorType!==f0.velRange&&E3.generatorType!==f0.endOper&&E3.generatorType!==f0.instrument&&E3.generatorValue!==W6[E3.generatorType].def);let N9=new k7;N9.keyRange=g5,N9.velRange=p3,N9.keyRange.min===0&&N9.keyRange.max===127&&(N9.keyRange.min=-1),N9.velRange.min===0&&N9.velRange.max===127&&(N9.velRange.min=-1),N9.isGlobal=!1,N9.sample=a0.sample,N9.generators=c9,N9.modulators=S3,m.push(N9)}}if(i){let v=new k7;v.isGlobal=!0;for(let G0=0;G0<58;G0++){if(d_.has(G0))continue;let I1={},g1=W6[G0]?.def||0;I1[g1]=0;for(let j1 of m){let z1=j1.generators.find(L2=>L2.generatorType===G0);if(z1){let L2=z1.generatorValue;I1[L2]===void 0?I1[L2]=1:I1[L2]++}else I1[g1]++;let u2;switch(G0){default:continue;case f0.decayVolEnv:u2=f0.keyNumToVolEnvDecay;break;case f0.holdVolEnv:u2=f0.keyNumToVolEnvHold;break;case f0.decayModEnv:u2=f0.keyNumToModEnvDecay;break;case f0.holdModEnv:u2=f0.keyNumToModEnvHold}if(j1.generators.find(L2=>L2.generatorType===u2)!==void 0){I1={};break}}if(Object.keys(I1).length>0){let j1=Object.entries(I1).reduce((u2,P2)=>u2[1]{let P2=u2.generators.findIndex(L2=>L2.generatorType===G0);P2!==-1?u2.generators[P2].generatorValue===z1&&u2.generators.splice(P2,1):z1!==g1&&u2.generators.push(new j3(G0,g1))})}}let P=m.find(G0=>!G0.isGlobal).modulators.map(G0=>l9.copy(G0));for(let G0 of P){let I1=!0;for(let g1 of m){if(g1.isGlobal||!I1)continue;g1.modulators.find(z1=>l9.isIdentical(z1,G0))||(I1=!1)}if(I1===!0){v.modulators.push(l9.copy(G0));for(let g1 of m){let j1=g1.modulators.find(z1=>l9.isIdentical(z1,G0));j1.transformAmount===G0.transformAmount&&g1.modulators.splice(g1.modulators.indexOf(j1),1)}}}m.splice(0,0,v)}return m}var ak=20;function rC(r,i,A,c,u,m,R){let q=R===0?0:1,U=new K5(ak+q*16);p9(U,ak),X3(U,i),X3(U,A);let G=c*.4,k0=Math.floor(G*-65536);p9(U,k0),p9(U,2);let v=m-u,T=0;switch(R){default:case 0:q=0;break;case 1:T=0,q=1;break;case 3:T=1,q=1}return p9(U,q),q===1&&(p9(U,16),p9(U,T),p9(U,u),p9(U,v)),k6("wsmp",U)}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},oC=new l9({srcEnum:219,dest:f0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),sC=new l9({srcEnum:221,dest:f0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),aC=new l9({srcEnum:129,dest:f0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),AC=new l9({srcEnum:13,dest:f0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var F5={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 Hp=class{source;control;destination;scale;transform;constructor(i,A,c,u,m){this.source=i,this.control=A,this.destination=c,this.scale=u,this.transform=m}writeArticulator(){let i=new K5(12);return X3(i,this.source),X3(i,this.control),X3(i,this.destination),X3(i,this.transform),p9(i,this.scale<<16),i}};function Ak(r,i){if(r)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 $k(r,i){switch(r){default:return;case f0.initialAttenuation:return{dest:F5.gain,amount:-i};case f0.fineTune:return F5.pitch;case f0.pan:return F5.pan;case f0.keyNum:return F5.keyNum;case f0.reverbEffectsSend:return F5.reverbSend;case f0.chorusEffectsSend:return F5.chorusSend;case f0.freqModLFO:return F5.modLfoFreq;case f0.delayModLFO:return F5.modLfoDelay;case f0.delayVibLFO:return F5.vibLfoDelay;case f0.freqVibLFO:return F5.vibLfoFreq;case f0.delayVolEnv:return F5.volEnvDelay;case f0.attackVolEnv:return F5.volEnvAttack;case f0.holdVolEnv:return F5.volEnvHold;case f0.decayVolEnv:return F5.volEnvDecay;case f0.sustainVolEnv:return{dest:F5.volEnvSustain,amount:1e3-i};case f0.releaseVolEnv:return F5.volEnvRelease;case f0.delayModEnv:return F5.modEnvDelay;case f0.attackModEnv:return F5.modEnvAttack;case f0.holdModEnv:return F5.modEnvHold;case f0.decayModEnv:return F5.modEnvDecay;case f0.sustainModEnv:return{dest:F5.modEnvSustain,amount:1e3-i};case f0.releaseModEnv:return F5.modEnvRelease;case f0.initialFilterFc:return F5.filterCutoff;case f0.initialFilterQ:return F5.filterQ}}function lk(r,i){switch(r){default:return;case f0.modEnvToFilterFc:return{source:m6.modEnv,dest:F5.filterCutoff,amt:i,isBipolar:!1};case f0.modEnvToPitch:return{source:m6.modEnv,dest:F5.pitch,amt:i,isBipolar:!1};case f0.modLfoToFilterFc:return{source:m6.modLfo,dest:F5.filterCutoff,amt:i,isBipolar:!0};case f0.modLfoToVolume:return{source:m6.modLfo,dest:F5.gain,amt:i,isBipolar:!0};case f0.modLfoToPitch:return{source:m6.modLfo,dest:F5.pitch,amt:i,isBipolar:!0};case f0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:F5.pitch,amt:i,isBipolar:!0};case f0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:F5.volEnvHold,amt:i,isBipolar:!0};case f0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:F5.volEnvDecay,amt:i,isBipolar:!0};case f0.keyNumToModEnvHold:return{source:m6.keyNum,dest:F5.modEnvHold,amt:i,isBipolar:!0};case f0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:F5.modEnvDecay,amt:i,isBipolar:!0};case f0.scaleTuning:return{source:m6.keyNum,dest:F5.pitch,amt:i*128,isBipolar:!1}}}function ck(r){let i=$k(r.generatorType,r.generatorValue),A=i,c=0,u=r.generatorValue;i?.amount!==void 0&&(u=i.amount,A=i.dest);let m=lk(r.generatorType,r.generatorValue);if(m!==void 0)u=m.amt,A=m.dest,c=m.source;else if(A===void 0){I9(`Invalid generator type: ${r.generatorType}`);return}return new Hp(c,0,A,u,0)}function gk(r){if(r.transformType!==0){I9("Other transform types are not supported.");return}let i=Ak(r.sourceUsesCC,r.sourceIndex),A=r.sourceCurveType,c=r.sourcePolarity,u=r.sourceDirection;if(i===void 0){I9(`Invalid source: ${r.sourceIndex}, CC: ${r.sourceUsesCC}`);return}r.modulatorDestination===f0.initialAttenuation&&(u=u===1?0:1);let m=Ak(r.secSrcUsesCC,r.secSrcIndex),R=r.secSrcCurveType,q=r.secSrcPolarity,U=r.secSrcDirection;if(m===void 0){I9(`Invalid secondary source: ${r.secSrcIndex}, CC: ${r.secSrcUsesCC}`);return}let G=$k(r.modulatorDestination,r.transformAmount),k0=G,v=r.transformAmount;G?.dest!==void 0&&(k0=G.dest,v=G.amount);let T=lk(r.modulatorDestination,r.transformAmount);if(T!==void 0)v=T.amt,m=i,R=A,q=c,U=u,A=en.linear,c=T.isBipolar?1:0,u=0,i=T.source,k0=T.dest;else if(k0===void 0){I9(`Invalid destination: ${r.modulatorDestination}`);return}let P=0;return P|=R<<4,P|=q<<8,P|=U<<9,P|=A,P|=c<<14,P|=u<<15,new Hp(i,m,k0,v,P)}var f_=new Set([f0.sampleModes,f0.initialAttenuation,f0.keyRange,f0.velRange,f0.sampleID,f0.fineTune,f0.coarseTune,f0.startAddrsOffset,f0.startAddrsCoarseOffset,f0.endAddrOffset,f0.endAddrsCoarseOffset,f0.startloopAddrsOffset,f0.startloopAddrsCoarseOffset,f0.endloopAddrsOffset,f0.endloopAddrsCoarseOffset,f0.overridingRootKey,f0.exclusiveClass]);function $C(r){for(let m=0;mG0.generatorType===q);if(U===void 0)continue;let G=R.generatorValue*-128,k0=60/128*G,v=U.generatorValue-k0,T=r.generators.indexOf(R),P=r.generators.indexOf(U);r.generators[P]=new j3(q,v,!1),r.generators[T]=new j3(R.generatorType,G,!1)}let i=r.generators.reduce((m,R)=>{if(f_.has(R.generatorType))return m;let q=ck(R);return q!==void 0?(m.push(q),m5("%cSucceeded converting to DLS Articulator!",E1.recognized)):I9("Failed converting to DLS Articulator!"),m},[]),A=r.modulators.reduce((m,R)=>{if(l9.isIdentical(R,sC,!0)||l9.isIdentical(R,oC,!0)||l9.isIdentical(R,aC,!0)||l9.isIdentical(R,AC,!0))return m;let q=gk(R);return q!==void 0?(m.push(q),m5("%cSucceeded converting to DLS Articulator!",E1.recognized)):I9("Failed converting to DLS Articulator!"),m},[]);i.push(...A);let c=new K5(8);p9(c,8),p9(c,i.length);let u=i.map(m=>m.writeArticulator());return k6("art2",St([c,...u]))}function uk(r,i){let A=new K5(12);X3(A,Math.max(r.keyRange.min,0)),X3(A,r.keyRange.max),X3(A,Math.max(r.velRange.min,0)),X3(A,r.velRange.max),X3(A,0);let c=r.getGeneratorValue(f0.exclusiveClass,0);X3(A,c),X3(A,0);let u=k6("rgnh",A),m=r.getGeneratorValue(f0.overridingRootKey,r.sample.samplePitch);r.getGeneratorValue(f0.scaleTuning,i.getGeneratorValue(f0.scaleTuning,100))===0&&r.keyRange.max-r.keyRange.min===0&&(m=r.keyRange.min);let q=rC(r.sample,m,r.getGeneratorValue(f0.fineTune,0)+r.getGeneratorValue(f0.coarseTune,0)*100+r.sample.samplePitchCorrection,r.getGeneratorValue(f0.initialAttenuation,0),r.sample.sampleLoopStartIndex+r.getGeneratorValue(f0.startloopAddrsOffset,0)+r.getGeneratorValue(f0.startloopAddrsCoarseOffset,0)*32768,r.sample.sampleLoopEndIndex+r.getGeneratorValue(f0.endloopAddrsOffset,0)+r.getGeneratorValue(f0.endloopAddrsCoarseOffset,0)*32768,r.getGeneratorValue(f0.sampleModes,0)),U=new K5(12);X3(U,0),X3(U,0),p9(U,1),p9(U,this.samples.indexOf(r.sample));let G=k6("wlnk",U),k0=new K5(0);if(r.modulators.length+r.generators.length>0){let v=$C(r);k0=k6("lar2",v,!1,!0)}return k6("rgn2",St([u,q,G,k0]),!1,!0)}function hk(r){Q8(`%cWriting %c${r.presetName}%c...`,E1.info,E1.recognized,E1.info);let i=sk(r),A=i.reduce((T,P)=>P.isGlobal?T:T+1,0),c=new K5(12);p9(c,A);let u=(r.bank&127)<<8;r.bank===128&&(u|=1<<31),p9(c,u),p9(c,r.program&127);let m=k6("insh",c),R=new K5(0),q=i.find(T=>T.isGlobal===!0);if(q){let T=$C(q);R=k6("lar2",T,!1,!0)}let U=St(i.reduce((T,P)=>(P.isGlobal||T.push(uk.apply(this,[P,q])),T),[])),G=k6("lrgn",U,!1,!0),k0=k6("INAM",Fr(r.presetName)),v=k6("INFO",k0,!1,!0);return u9(),k6("ins ",St([m,G,R,v]),!1,!0)}function dk(){let r=St(this.presets.map(i=>hk.apply(this,[i])));return k6("lins",r,!1,!0)}function fk(r){let i=new K5(18);X3(i,1),X3(i,1),p9(i,r.sampleRate),p9(i,r.sampleRate*2),X3(i,2),X3(i,16);let A=k6("fmt ",i),c=1;r.sampleLoopStartIndex+Math.abs(r.getAudioData().length-r.sampleLoopEndIndex)<2&&(c=0);let u=rC(r,r.samplePitch,r.samplePitchCorrection,0,r.sampleLoopStartIndex,r.sampleLoopEndIndex,c),m=r.getAudioData(),R;if(r.isCompressed){let G=new Int16Array(m.length);for(let k0=0;k0{let u=fk(c);return i.push(r),r+=u.length,u});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function mk(){Q8("%cSaving DLS...",E1.info);let r=new K5(4);p9(r,this.presets.length);let i=k6("colh",r);Q8("%cWriting instruments...",E1.info);let A=dk.apply(this);m5("%cSuccess!",E1.recognized),u9(),Q8("%cWriting WAVE samples...",E1.info);let c=Ik.apply(this),u=c.data,m=c.indexes;m5("%cSucceeded!",E1.recognized),u9();let R=new K5(8+4*m.length);p9(R,8),p9(R,m.length);for(let v of m)p9(R,v);let q=k6("ptbl",R);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` -Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let U=[];for(let[v,T]of Object.entries(this.soundFontInfo))v!=="ICMT"&&v!=="INAM"&&v!=="ICRD"&&v!=="IENG"&&v!=="ICOP"&&v!=="ISFT"&&v!=="ISBJ"||U.push(k6(v,Fr(T),!0));let G=k6("INFO",St(U),!1,!0),k0=new K5(i.length+A.length+q.length+u.length+G.length+4);return P8(k0,"DLS "),k0.set(St([i,A,q,u,G]),4),m5("%cSaved succesfully!",E1.recognized),u9(),k6("RIFF",k0)}var za=class{constructor(i,A,c,u,m,R,q,U){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=u,this.sampleLink=m,this.sampleType=R,this.sampleLoopStartIndex=q,this.sampleLoopEndIndex=U,this.isCompressed=(R&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}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{I9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){return this.sampleData}};var Ja=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 Ka=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 c=i;c{m.sample.isSampleLoaded||m.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function u(P,G0){return G0>=P.min&&G0<=P.max}function m(P,G0){P.push(...G0.filter(I1=>!P.find(g1=>g1.generatorType===I1.generatorType)))}function R(P,G0){P.push(...G0.filter(I1=>!P.find(g1=>l9.isIdentical(I1,g1))))}let q=[],U=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],G=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],k0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},v=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(P=>u(P.hasKeyRange?P.keyRange:k0,i)&&u(P.hasVelRange?P.velRange:v,A)&&!P.isGlobal).forEach(P=>{if(P.instrument.instrumentZones.length<1)return;let G0=P.generators,I1=P.modulators,g1=P.instrument.instrumentZones[0],j1=g1.isGlobal?[...g1.generators]:[],z1=g1.isGlobal?[...g1.modulators]:[],u2=g1.isGlobal?g1.keyRange:{min:0,max:127},P2=g1.isGlobal?g1.velRange:{min:0,max:127};P.instrument.instrumentZones.filter(a0=>u(a0.hasKeyRange?a0.keyRange:u2,i)&&u(a0.hasVelRange?a0.velRange:P2,A)&&!a0.isGlobal).forEach(a0=>{let g5=[...a0.generators],p3=[...a0.modulators];m(G0,U),m(g5,j1),R(I1,G),R(p3,z1),R(p3,this.defaultModulators);let k3=[...p3];for(let u6=0;u6l9.isIdentical(S3,N9));c9!==-1?k3[c9]=k3[c9].sumTransform(S3):k3.push(S3)}q.push({instrumentGenerators:g5,presetGenerators:G0,modulators:k3,sample:a0.sample,sampleID:a0.generators.find(u6=>u6.generatorType===f0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=q,q}};var Wa=class r{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=LE.map(A=>l9.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(m=>{c.find(R=>R.bank===m.bank&&R.program===m.program)===void 0&&c.push(m)});return new r({presets:c,info:A.soundFontInfo})}static getDummySoundfontFile(){let i=new r,A=new za("Saw",44100,65,20,0,0,0,127);A.sampleData=new Float32Array(128);for(let G=0;G<128;G++)A.sampleData[G]=G/128*2-1;i.samples.push(A);let c=new k7;c.isGlobal=!0,c.generators.push(new j3(f0.initialAttenuation,375)),c.generators.push(new j3(f0.releaseVolEnv,-1e3)),c.generators.push(new j3(f0.sampleModes,1));let u=new k7;u.sample=A;let m=new k7;m.sample=A,m.generators.push(new j3(f0.fineTune,-9));let R=new Ja;R.instrumentName="Saw Wave",R.instrumentZones.push(c),R.instrumentZones.push(u),R.instrumentZones.push(m),i.instruments.push(R);let q=new Ya;q.instrument=R;let U=new Ka(i.defaultModulators);return U.presetName="Saw Wave",U.presetZones.push(q),i.presets.push(U),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,c=!1){let u=this.presets.find(m=>m.bank===i&&m.program===A);if(u)return u;if(c!==!1)return i===128?this.presets.find(m=>m.bank===128):this.presets.find(m=>m.program===A)}getPreset(i,A){let c=this.presets.find(u=>u.bank===i&&u.program===A);return c||(i===128?(c=this.presets.find(u=>u.bank===128&&u.program===A),c||(c=this.presets.find(u=>u.bank===128))):c=this.presets.find(u=>u.program===A&&u.bank!==128),c&&I9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,E1.warn,E1.recognized)),c||(I9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(I9("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=mk;function pk(r){Q8("%cLoading instruments...",E1.info);for(let i=0;i>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Ja,this.DLSInstrument.addUseCount();let u=new Ya;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function Ek(r){this.verifyHeader(r,"LIST"),this.verifyText(y4(r.chunkData,4),"ins ");let i=[];for(;r.chunkData.length>r.chunkData.currentIndex;)i.push(ye(r.chunkData));let A=i.find(P=>P.header==="insh");if(!A)throw u9(),new Error("No instrument header!");let c=s3(A.chunkData,4),u=s3(A.chunkData,4),m=s3(A.chunkData,4),R=new lC(u,m),q="unnamedPreset",U=U7(i,"INFO");if(U){let P=ye(U.chunkData);for(;P.header!=="INAM";)P=ye(U.chunkData);q=y4(P.chunkData,P.chunkData.length).trim()}R.presetName=q,R.DLSInstrument.instrumentName=q,F7(`%cParsing %c"${q}"%c...`,E1.info,E1.recognized,E1.info);let G=U7(i,"lrgn");if(!G)throw u9(),new Error("No region list!");let k0=new k7;k0.isGlobal=!0;let v=U7(i,"lart"),T=U7(i,"lar2");(T!==void 0||v!==void 0)&&this.readLart(v,T,k0),k0.generators=k0.generators.filter(P=>P.generatorValue!==W6[P.generatorType].def),k0.modulators.find(P=>P.modulatorDestination===f0.reverbEffectsSend)===void 0&&k0.modulators.push(l9.copy(oC)),k0.modulators.find(P=>P.modulatorDestination===f0.chorusEffectsSend)===void 0&&k0.modulators.push(l9.copy(sC)),R.DLSInstrument.instrumentZones.push(k0);for(let P=0;P>10&15;z1===en.linear&&j1!==en.linear&&(z1=j1);let u2=c>>14&1,P2=c>>15&1;R===f0.initialAttenuation&&u<0&&(P2=1),T=Jn(z1,u2,P2,q.isCC,q.enum)}let P=c>>4&15,G0=c>>8&1,I1=c>>9&1,g1=Jn(P,G0,I1,v.isCC,v.enum);if(U){let j1=g1;g1=T,T=j1}return new l9({srcEnum:T,secSrcEnum:g1,dest:R,transform:0,amt:k0})}function IB(r,i){let A=r.chunkData,c=[],u=[];s3(A,4);let m=s3(A,4);for(let R=0;R>16;if(q===0&&U===0&&k0===0){let P;switch(G){case F5.pan:P=new j3(f0.pan,T);break;case F5.gain:P=new j3(f0.initialAttenuation,-T*10/.4);break;case F5.filterCutoff:P=new j3(f0.initialFilterFc,T);break;case F5.filterQ:P=new j3(f0.initialFilterQ,T);break;case F5.modLfoFreq:P=new j3(f0.freqModLFO,T);break;case F5.modLfoDelay:P=new j3(f0.delayModLFO,T);break;case F5.vibLfoFreq:P=new j3(f0.freqVibLFO,T);break;case F5.vibLfoDelay:P=new j3(f0.delayVibLFO,T);break;case F5.volEnvDelay:P=new j3(f0.delayVolEnv,T);break;case F5.volEnvAttack:P=new j3(f0.attackVolEnv,T);break;case F5.volEnvHold:P=new j3(f0.holdVolEnv,T,!1);break;case F5.volEnvDecay:P=new j3(f0.decayVolEnv,T,!1);break;case F5.volEnvRelease:P=new j3(f0.releaseVolEnv,T);break;case F5.volEnvSustain:let G0=1e3-T;P=new j3(f0.sustainVolEnv,G0);break;case F5.modEnvDelay:P=new j3(f0.delayModEnv,T);break;case F5.modEnvAttack:P=new j3(f0.attackModEnv,T);break;case F5.modEnvHold:P=new j3(f0.holdModEnv,T,!1);break;case F5.modEnvDecay:P=new j3(f0.decayModEnv,T,!1);break;case F5.modEnvRelease:P=new j3(f0.releaseModEnv,T);break;case F5.modEnvSustain:let I1=1e3-T;P=new j3(f0.sustainModEnv,I1);break;case F5.reverbSend:P=new j3(f0.reverbEffectsSend,T);break;case F5.chorusSend:P=new j3(f0.chorusEffectsSend,T);break;case F5.pitch:let g1=Math.floor(T/100),j1=Math.floor(T-g1*100);P=new j3(f0.fineTune,j1),c.push(new j3(f0.coarseTune,g1));break}P&&c.push(P)}else{let P=!0;if(U===m6.none)if(q===m6.modLfo&&G===F5.pitch)c.push(new j3(f0.modLfoToPitch,T));else if(q===m6.modLfo&&G===F5.gain)c.push(new j3(f0.modLfoToVolume,T));else if(q===m6.modLfo&&G===F5.filterCutoff)c.push(new j3(f0.modLfoToFilterFc,T));else if(q===m6.vibratoLfo&&G===F5.pitch)c.push(new j3(f0.vibLfoToPitch,T));else if(q===m6.modEnv&&G===F5.pitch)c.push(new j3(f0.modEnvToPitch,T));else if(q===m6.modEnv&&G===F5.filterCutoff)c.push(new j3(f0.modEnvToFilterFc,T));else if(q===m6.keyNum&&G===F5.pitch)c.push(new j3(f0.scaleTuning,T/128));else if(q===m6.keyNum&&G===F5.volEnvHold){c.push(new j3(f0.keyNumToVolEnvHold,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.holdVolEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&G===F5.volEnvDecay){c.push(new j3(f0.keyNumToVolEnvDecay,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.decayVolEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&G===F5.modEnvHold){c.push(new j3(f0.keyNumToModEnvHold,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.holdModEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&G===F5.modEnvDecay){c.push(new j3(f0.keyNumToModEnvDecay,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.decayModEnv&&(I1.generatorValue+=G0)})}else P=!1;else P=!1;if(P===!1){let G0=Bk(q,U,G,k0,T);G0?(u.push(G0),m5("%cSucceeded converting to SF2 Modulator!",E1.recognized)):I9("Failed converting to SF2 Modulator!")}}}return i&&u.push(l9.copy(aC),l9.copy(AC)),{modulators:u,generators:c}}function yk(r,i,A){if(r)for(;r.chunkData.currentIndexr.chunkData.currentIndex;)i.push(ye(r.chunkData));let A=i.find(p3=>p3.header==="rgnh"),c=s3(A.chunkData,2),u=s3(A.chunkData,2),m=s3(A.chunkData,2),R=s3(A.chunkData,2),q=new cC({min:c,max:u},{min:m,max:R});s3(A.chunkData,2);let U=s3(A.chunkData,2);U!==0&&q.generators.push(new j3(f0.exclusiveClass,U));let G=U7(i,"lart"),k0=U7(i,"lar2");this.readLart(G,k0,q),q.isGlobal=!1;let v=i.find(p3=>p3.header==="wsmp");s3(v.chunkData,4);let T=s3(v.chunkData,2),P=Ua(v.chunkData[v.chunkData.currentIndex++],v.chunkData[v.chunkData.currentIndex++]),I1=(s3(v.chunkData,4)|0)/-655360;s3(v.chunkData,4);let g1=s3(v.chunkData,4),j1,z1={start:0,end:0};if(g1===0)j1=0;else{s3(v.chunkData,4),s3(v.chunkData,4)===0?j1=1:j1=3,z1.start=s3(v.chunkData,4);let k3=s3(v.chunkData,4);z1.end=z1.start+k3}let u2=i.find(p3=>p3.header==="wlnk");if(u2===void 0)return;s3(u2.chunkData,2),s3(u2.chunkData,2),s3(u2.chunkData,4);let P2=s3(u2.chunkData,4),L2=this.samples[P2];if(L2===void 0)throw new Error("Invalid sample ID!");let g5=(I1||L2.sampleDbAttenuation)*10/.4;return q.setWavesample(g5,j1,z1,T,L2,P2,P),q}var gC=class extends za{sampleDbAttenuation;sampleData;constructor(i,A,c,u,m,R,q,U){super(i,A,c,u,0,1,m,R),this.sampleData=q,this.sampleDbAttenuation=U}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 wk={PCM:1,ALAW:6};function p_(r,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),u,m=!1;i===1?(u=255,m=!0):u=A;let R=r.size/i,q=new Float32Array(R);for(let U=0;U=A&&(G-=c),q[U]=G/u)}return q}function E_(r,i){let A=r.size/i,c=new Float32Array(A);for(let u=0;u>4,U=R&15;q>0&&(U+=16),U=(U<<4)+8,q>1&&(U=U<127?U:-U;c[u]=G/32678}return c}function vk(r){Q8("%cLoading Wave samples...",E1.recognized);let i=0;for(;r.chunkData.currentIndexL2.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");let m=s3(u.chunkData,2),R=s3(u.chunkData,2);if(R!==1)throw new Error(`Only mono samples are supported. Fmt reports ${R} channels`);let q=s3(u.chunkData,4);s3(u.chunkData,4),s3(u.chunkData,2);let G=s3(u.chunkData,2)/8,k0=!1,v=c.find(L2=>L2.header==="data");v||this.parsingError("No data chunk in the WAVE chunk!");let T;switch(m){default:k0=!0,T=new Float32Array(v.size/G);break;case wk.PCM:T=p_(v,G);break;case wk.ALAW:T=E_(v,G);break}let P=U7(c,"INFO"),G0=`Unnamed ${i}`;if(P){let L2=ye(P.chunkData);for(;L2.header!=="INAM"&&P.chunkData.currentIndexL2.header==="wsmp");if(P2){s3(P2.chunkData,4),I1=s3(P2.chunkData,2),g1=Ua(P2.chunkData[P2.chunkData.currentIndex++],P2.chunkData[P2.chunkData.currentIndex++]);let L2=Math.trunc(g1/100);if(I1+=L2,g1-=L2*100,u2=(s3(P2.chunkData,4)|0)/-655360,s3(P2.chunkData,4),s3(P2.chunkData,4)===1){s3(P2.chunkData,8),j1=s3(P2.chunkData,4);let p3=s3(P2.chunkData,4);z1=j1+p3}}else I9("No wsmp chunk in wave... using sane defaults.");k0&&console.error(`Failed to load '${G0}': Unsupported format: (${m})`),this.samples.push(new gC(G0,q,I1,g1,j1,z1,T,u2)),i++,m5(`%cLoaded sample %c${G0}`,E1.info,E1.recognized)}u9()}var Ho=class extends Wa{constructor(i){super(),this.dataArray=new K5(i),F7("%cParsing DLS...",E1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let A=ye(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndex(m.generators=m.generators.filter(M=>M.generatorType!==f0.sampleID&&M.generatorType!==f0.keyRange&&M.generatorType!==f0.velRange),(m.velRange.max!==127||m.velRange.min!==0)&&m.generators.unshift({generatorType:f0.velRange,generatorValue:m.velRange.max<<8|Math.max(m.velRange.min,0)}),(m.keyRange.max!==127||m.keyRange.min!==0)&&m.generators.unshift({generatorType:f0.keyRange,generatorValue:m.keyRange.max<<8|Math.max(m.keyRange.min,0)}),m.isGlobal||m.generators.push({generatorType:f0.sampleID,generatorValue:this.samples.indexOf(m.sample)}),m.generators.length*4+u),0);let i=new K5(r),A=0;for(let c of this.instruments)for(let u of c.instrumentZones){u.generatorZoneStartIndex=A;for(let m of u.generators)X3(i,m.generatorType),X3(i,m.generatorValue),A++}return p9(i,0),it(new Q4("igen",i.length,i))}function Wv(r,i,A,c,u){let m=this.samples.map((G,k0)=>{A&&G.compressSample(c,u);let v=G.getRawData();return m5(`%cEncoded sample %c${k0}. ${G.sampleName}%c of %c${this.samples.length}`,E1.info,E1.recognized,E1.info,E1.recognized),v}),M=this.samples.reduce((G,k0,v)=>G+m[v].length+46,0),q=new K5(M);this.samples.forEach((G,k0)=>{let v=m[k0],T,P,G0=v.length;G.isCompressed?(T=q.currentIndex,P=T+v.length):(T=q.currentIndex/2,P=T+v.length/2,G0+=46),r.push(T),q.set(v,q.currentIndex),q.currentIndex+=G0,i.push(P)});let U=it(new Q4("smpl",q.length,q),new K5([115,100,116,97]));return it(new Q4("LIST",U.length,U))}function Zv(r,i){let c=new K5(46*(this.samples.length+1));return this.samples.forEach((u,m)=>{P8(c,u.sampleName,20);let M=r[m];p9(c,M);let q=i[m];p9(c,q);let U=u.sampleLoopStartIndex+M,G=u.sampleLoopEndIndex+M;u.isCompressed&&(U-=M,G-=M),p9(c,U),p9(c,G),p9(c,u.sampleRate),c[c.currentIndex++]=u.samplePitch,c[c.currentIndex++]=u.samplePitchCorrection,X3(c,u.sampleLink),X3(c,u.sampleType)}),P8(c,"EOS",46),it(new Q4("shdr",c.length,c))}function jv(){let r=10;for(let c of this.instruments)r+=c.instrumentZones.reduce((u,m)=>m.modulators.length*10+u,0);let i=new K5(r),A=0;for(let c of this.instruments)for(let u of c.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 Xv(){let r=this.instruments.reduce((m,M)=>M.instrumentZones.length*4+m,4),i=new K5(r),A=0,c=0,u=0;for(let m of this.instruments){m.instrumentZoneIndex=A;for(let M of m.instrumentZones)M.zoneID=A,X3(i,c),X3(i,u),c+=M.generators.length,u+=M.modulators.length,A++}return X3(i,c),X3(i,u),it(new Q4("ibag",i.length,i))}function ek(){let r=this.instruments.length*22+22,i=new K5(r),A=0,c=0;for(let u of this.instruments)P8(i,u.instrumentName,20),X3(i,A),A+=u.instrumentZones.length,u.instrumentID=c,c++;return P8(i,"EOI",20),X3(i,A),it(new Q4("inst",i.length,i))}function tk(){let r=4;for(let c of this.presets)r+=c.presetZones.reduce((u,m)=>(m.generators=m.generators.filter(M=>M.generatorType!==f0.instrument&&M.generatorType!==f0.keyRange&&M.generatorType!==f0.velRange),(m.velRange.max!==127||m.velRange.min!==0)&&m.generators.unshift({generatorType:f0.velRange,generatorValue:m.velRange.max<<8|Math.max(m.velRange.min,0)}),(m.keyRange.max!==127||m.keyRange.min!==0)&&m.generators.unshift({generatorType:f0.keyRange,generatorValue:m.keyRange.max<<8|Math.max(m.keyRange.min,0)}),m.isGlobal||m.generators.push({generatorType:f0.instrument,generatorValue:this.instruments.indexOf(m.instrument)}),m.generators.length*4+u),0);let i=new K5(r),A=0;for(let c of this.presets)for(let u of c.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 ik(){let r=10;for(let c of this.presets)r+=c.presetZones.reduce((u,m)=>m.modulators.length*10+u,0);let i=new K5(r),A=0;for(let c of this.presets)for(let u of c.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 nk(){let r=this.presets.reduce((m,M)=>M.presetZones.length*4+m,4),i=new K5(r),A=0,c=0,u=0;for(let m of this.presets){m.presetZoneStartIndex=A;for(let M of m.presetZones)M.zoneID=A,X3(i,c),X3(i,u),c+=M.generators.length,u+=M.modulators.length,A++}return X3(i,c),X3(i,u),it(new Q4("pbag",i.length,i))}function rk(){let r=this.presets.length*38+38,i=new K5(r),A=0;for(let c of this.presets)P8(i,c.presetName,20),X3(i,c.program),X3(i,c.bank),X3(i,A),p9(i,c.library),p9(i,c.genre),p9(i,c.morphology),A+=c.presetZones.length;return P8(i,"EOP",20),X3(i,0),X3(i,0),X3(i,A),p9(i,0),p9(i,0),p9(i,0),it(new Q4("phdr",i.length,i))}var h_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function ok(r=h_){if(r.compress&&typeof r.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");Q8("%cSaving soundfont...",E1.info),m5(`%cCompression: %c${r?.compress||"false"}%c quality: %c${r?.compressionQuality||"none"}`,E1.info,E1.recognized,E1.info,E1.recognized),m5("%cWriting INFO...",E1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",r?.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 K5(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 K5(L2.length);P8(a0,L2),i.push(it(new Q4(P2,L2.length,a0)))}let A=St([new K5([73,78,70,79]),...i]),c=it(new Q4("LIST",A.length,A));m5("%cWriting SDTA...",E1.info);let u=[],m=[],M=Wv.call(this,u,m,r?.compress,r?.compressionQuality??.5,r.compressionFunction);m5("%cWriting PDTA...",E1.info),m5("%cWriting SHDR...",E1.info);let q=Zv.call(this,u,m);m5("%cWriting IGEN...",E1.info);let U=Kv.call(this);m5("%cWriting IMOD...",E1.info);let G=jv.call(this);m5("%cWriting IBAG...",E1.info);let k0=Xv.call(this);m5("%cWriting INST...",E1.info);let v=ek.call(this),T=tk.call(this);m5("%cWriting PMOD...",E1.info);let P=ik.call(this);m5("%cWriting PBAG...",E1.info);let G0=nk.call(this);m5("%cWriting PHDR...",E1.info);let I1=rk.call(this),g1=St([new K5([112,100,116,97]),I1,G0,P,T,v,k0,G,U,q]),j1=it(new Q4("LIST",g1.length,g1));m5("%cWriting the output file...",E1.info);let z1=St([new K5([115,102,98,107]),c,M,j1]),u2=it(new Q4("RIFF",z1.length,z1));return m5(`%cSaved succesfully! Final file size: %c${u2.length}`,E1.info,E1.recognized),u9(),u2}var qp=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(c=>c.generatorType===i)?.generatorValue??A}};var k7=class extends qp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ya=class extends qp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var d_=new Set([f0.velRange,f0.keyRange,f0.instrument,f0.exclusiveClass,f0.endOper,f0.sampleModes,f0.startloopAddrsOffset,f0.startloopAddrsCoarseOffset,f0.endloopAddrsOffset,f0.endloopAddrsCoarseOffset,f0.startAddrsOffset,f0.startAddrsCoarseOffset,f0.endAddrOffset,f0.endAddrsCoarseOffset,f0.initialAttenuation,f0.fineTune,f0.coarseTune,f0.keyNumToVolEnvHold,f0.keyNumToVolEnvDecay,f0.keyNumToModEnvHold,f0.keyNumToModEnvDecay]);function sk(r,i=!0){function A(v,T){v.push(...T.filter(P=>!v.find(G0=>G0.generatorType===P.generatorType)))}function c(v,T){return{min:Math.max(v.min,T.min),max:Math.min(v.max,T.max)}}function u(v,T){v.push(...T.filter(P=>!v.find(G0=>l9.isIdentical(P,G0))))}let m=[],M=[],q=[],U={min:0,max:127},G={min:0,max:127},k0=r.presetZones.find(v=>v.isGlobal);k0&&(M.push(...k0.generators),q.push(...k0.modulators),U=k0.keyRange,G=k0.velRange);for(let v of r.presetZones){if(v.isGlobal)continue;let T=v.keyRange;v.hasKeyRange||(T=U);let P=v.velRange;v.hasVelRange||(P=G);let G0=v.generators.map(a0=>new j3(a0.generatorType,a0.generatorValue));A(G0,M);let I1=[...v.modulators];u(I1,q);let g1=v.instrument.instrumentZones,j1=[],z1=[],u2={min:0,max:127},P2={min:0,max:127},L2=g1.find(a0=>a0.isGlobal);L2&&(j1.push(...L2.generators),z1.push(...L2.modulators),u2=L2.keyRange,P2=L2.velRange);for(let a0 of g1){if(a0.isGlobal)continue;let g5=a0.keyRange;a0.hasKeyRange||(g5=u2);let p3=a0.velRange;if(a0.hasVelRange||(p3=P2),g5=c(g5,T),p3=c(p3,P),g5.maxnew j3(E3.generatorType,E3.generatorValue));A(k3,j1);let u6=[...a0.modulators];u(u6,z1);let S3=[...u6];for(let E3 of I1){let p6=S3.findIndex(w4=>l9.isIdentical(E3,w4));p6!==-1?S3[p6]=S3[p6].sumTransform(E3):S3.push(E3)}let c9=k3.map(E3=>new j3(E3.generatorType,E3.generatorValue));for(let E3 of G0){if(E3.generatorType===f0.velRange||E3.generatorType===f0.keyRange||E3.generatorType===f0.instrument||E3.generatorType===f0.endOper||E3.generatorType===f0.sampleModes)continue;let p6=k3.findIndex(w4=>w4.generatorType===E3.generatorType);if(p6!==-1){let w4=c9[p6].generatorValue+E3.generatorValue;c9[p6]=new j3(E3.generatorType,w4)}else{let w4=W6[E3.generatorType].def+E3.generatorValue;c9.push(new j3(E3.generatorType,w4))}}c9=c9.filter(E3=>E3.generatorType!==f0.sampleID&&E3.generatorType!==f0.keyRange&&E3.generatorType!==f0.velRange&&E3.generatorType!==f0.endOper&&E3.generatorType!==f0.instrument&&E3.generatorValue!==W6[E3.generatorType].def);let N9=new k7;N9.keyRange=g5,N9.velRange=p3,N9.keyRange.min===0&&N9.keyRange.max===127&&(N9.keyRange.min=-1),N9.velRange.min===0&&N9.velRange.max===127&&(N9.velRange.min=-1),N9.isGlobal=!1,N9.sample=a0.sample,N9.generators=c9,N9.modulators=S3,m.push(N9)}}if(i){let v=new k7;v.isGlobal=!0;for(let G0=0;G0<58;G0++){if(d_.has(G0))continue;let I1={},g1=W6[G0]?.def||0;I1[g1]=0;for(let j1 of m){let z1=j1.generators.find(L2=>L2.generatorType===G0);if(z1){let L2=z1.generatorValue;I1[L2]===void 0?I1[L2]=1:I1[L2]++}else I1[g1]++;let u2;switch(G0){default:continue;case f0.decayVolEnv:u2=f0.keyNumToVolEnvDecay;break;case f0.holdVolEnv:u2=f0.keyNumToVolEnvHold;break;case f0.decayModEnv:u2=f0.keyNumToModEnvDecay;break;case f0.holdModEnv:u2=f0.keyNumToModEnvHold}if(j1.generators.find(L2=>L2.generatorType===u2)!==void 0){I1={};break}}if(Object.keys(I1).length>0){let j1=Object.entries(I1).reduce((u2,P2)=>u2[1]{let P2=u2.generators.findIndex(L2=>L2.generatorType===G0);P2!==-1?u2.generators[P2].generatorValue===z1&&u2.generators.splice(P2,1):z1!==g1&&u2.generators.push(new j3(G0,g1))})}}let P=m.find(G0=>!G0.isGlobal).modulators.map(G0=>l9.copy(G0));for(let G0 of P){let I1=!0;for(let g1 of m){if(g1.isGlobal||!I1)continue;g1.modulators.find(z1=>l9.isIdentical(z1,G0))||(I1=!1)}if(I1===!0){v.modulators.push(l9.copy(G0));for(let g1 of m){let j1=g1.modulators.find(z1=>l9.isIdentical(z1,G0));j1.transformAmount===G0.transformAmount&&g1.modulators.splice(g1.modulators.indexOf(j1),1)}}}m.splice(0,0,v)}return m}var ak=20;function oC(r,i,A,c,u,m,M){let q=M===0?0:1,U=new K5(ak+q*16);p9(U,ak),X3(U,i),X3(U,A);let G=c*.4,k0=Math.floor(G*-65536);p9(U,k0),p9(U,2);let v=m-u,T=0;switch(M){default:case 0:q=0;break;case 1:T=0,q=1;break;case 3:T=1,q=1}return p9(U,q),q===1&&(p9(U,16),p9(U,T),p9(U,u),p9(U,v)),k6("wsmp",U)}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},sC=new l9({srcEnum:219,dest:f0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),aC=new l9({srcEnum:221,dest:f0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),AC=new l9({srcEnum:129,dest:f0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),$C=new l9({srcEnum:13,dest:f0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var F5={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 Hp=class{source;control;destination;scale;transform;constructor(i,A,c,u,m){this.source=i,this.control=A,this.destination=c,this.scale=u,this.transform=m}writeArticulator(){let i=new K5(12);return X3(i,this.source),X3(i,this.control),X3(i,this.destination),X3(i,this.transform),p9(i,this.scale<<16),i}};function Ak(r,i){if(r)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 $k(r,i){switch(r){default:return;case f0.initialAttenuation:return{dest:F5.gain,amount:-i};case f0.fineTune:return F5.pitch;case f0.pan:return F5.pan;case f0.keyNum:return F5.keyNum;case f0.reverbEffectsSend:return F5.reverbSend;case f0.chorusEffectsSend:return F5.chorusSend;case f0.freqModLFO:return F5.modLfoFreq;case f0.delayModLFO:return F5.modLfoDelay;case f0.delayVibLFO:return F5.vibLfoDelay;case f0.freqVibLFO:return F5.vibLfoFreq;case f0.delayVolEnv:return F5.volEnvDelay;case f0.attackVolEnv:return F5.volEnvAttack;case f0.holdVolEnv:return F5.volEnvHold;case f0.decayVolEnv:return F5.volEnvDecay;case f0.sustainVolEnv:return{dest:F5.volEnvSustain,amount:1e3-i};case f0.releaseVolEnv:return F5.volEnvRelease;case f0.delayModEnv:return F5.modEnvDelay;case f0.attackModEnv:return F5.modEnvAttack;case f0.holdModEnv:return F5.modEnvHold;case f0.decayModEnv:return F5.modEnvDecay;case f0.sustainModEnv:return{dest:F5.modEnvSustain,amount:1e3-i};case f0.releaseModEnv:return F5.modEnvRelease;case f0.initialFilterFc:return F5.filterCutoff;case f0.initialFilterQ:return F5.filterQ}}function lk(r,i){switch(r){default:return;case f0.modEnvToFilterFc:return{source:m6.modEnv,dest:F5.filterCutoff,amt:i,isBipolar:!1};case f0.modEnvToPitch:return{source:m6.modEnv,dest:F5.pitch,amt:i,isBipolar:!1};case f0.modLfoToFilterFc:return{source:m6.modLfo,dest:F5.filterCutoff,amt:i,isBipolar:!0};case f0.modLfoToVolume:return{source:m6.modLfo,dest:F5.gain,amt:i,isBipolar:!0};case f0.modLfoToPitch:return{source:m6.modLfo,dest:F5.pitch,amt:i,isBipolar:!0};case f0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:F5.pitch,amt:i,isBipolar:!0};case f0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:F5.volEnvHold,amt:i,isBipolar:!0};case f0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:F5.volEnvDecay,amt:i,isBipolar:!0};case f0.keyNumToModEnvHold:return{source:m6.keyNum,dest:F5.modEnvHold,amt:i,isBipolar:!0};case f0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:F5.modEnvDecay,amt:i,isBipolar:!0};case f0.scaleTuning:return{source:m6.keyNum,dest:F5.pitch,amt:i*128,isBipolar:!1}}}function ck(r){let i=$k(r.generatorType,r.generatorValue),A=i,c=0,u=r.generatorValue;i?.amount!==void 0&&(u=i.amount,A=i.dest);let m=lk(r.generatorType,r.generatorValue);if(m!==void 0)u=m.amt,A=m.dest,c=m.source;else if(A===void 0){I9(`Invalid generator type: ${r.generatorType}`);return}return new Hp(c,0,A,u,0)}function gk(r){if(r.transformType!==0){I9("Other transform types are not supported.");return}let i=Ak(r.sourceUsesCC,r.sourceIndex),A=r.sourceCurveType,c=r.sourcePolarity,u=r.sourceDirection;if(i===void 0){I9(`Invalid source: ${r.sourceIndex}, CC: ${r.sourceUsesCC}`);return}r.modulatorDestination===f0.initialAttenuation&&(u=u===1?0:1);let m=Ak(r.secSrcUsesCC,r.secSrcIndex),M=r.secSrcCurveType,q=r.secSrcPolarity,U=r.secSrcDirection;if(m===void 0){I9(`Invalid secondary source: ${r.secSrcIndex}, CC: ${r.secSrcUsesCC}`);return}let G=$k(r.modulatorDestination,r.transformAmount),k0=G,v=r.transformAmount;G?.dest!==void 0&&(k0=G.dest,v=G.amount);let T=lk(r.modulatorDestination,r.transformAmount);if(T!==void 0)v=T.amt,m=i,M=A,q=c,U=u,A=en.linear,c=T.isBipolar?1:0,u=0,i=T.source,k0=T.dest;else if(k0===void 0){I9(`Invalid destination: ${r.modulatorDestination}`);return}let P=0;return P|=M<<4,P|=q<<8,P|=U<<9,P|=A,P|=c<<14,P|=u<<15,new Hp(i,m,k0,v,P)}var f_=new Set([f0.sampleModes,f0.initialAttenuation,f0.keyRange,f0.velRange,f0.sampleID,f0.fineTune,f0.coarseTune,f0.startAddrsOffset,f0.startAddrsCoarseOffset,f0.endAddrOffset,f0.endAddrsCoarseOffset,f0.startloopAddrsOffset,f0.startloopAddrsCoarseOffset,f0.endloopAddrsOffset,f0.endloopAddrsCoarseOffset,f0.overridingRootKey,f0.exclusiveClass]);function lC(r){for(let m=0;mG0.generatorType===q);if(U===void 0)continue;let G=M.generatorValue*-128,k0=60/128*G,v=U.generatorValue-k0,T=r.generators.indexOf(M),P=r.generators.indexOf(U);r.generators[P]=new j3(q,v,!1),r.generators[T]=new j3(M.generatorType,G,!1)}let i=r.generators.reduce((m,M)=>{if(f_.has(M.generatorType))return m;let q=ck(M);return q!==void 0?(m.push(q),m5("%cSucceeded converting to DLS Articulator!",E1.recognized)):I9("Failed converting to DLS Articulator!"),m},[]),A=r.modulators.reduce((m,M)=>{if(l9.isIdentical(M,aC,!0)||l9.isIdentical(M,sC,!0)||l9.isIdentical(M,AC,!0)||l9.isIdentical(M,$C,!0))return m;let q=gk(M);return q!==void 0?(m.push(q),m5("%cSucceeded converting to DLS Articulator!",E1.recognized)):I9("Failed converting to DLS Articulator!"),m},[]);i.push(...A);let c=new K5(8);p9(c,8),p9(c,i.length);let u=i.map(m=>m.writeArticulator());return k6("art2",St([c,...u]))}function uk(r,i){let A=new K5(12);X3(A,Math.max(r.keyRange.min,0)),X3(A,r.keyRange.max),X3(A,Math.max(r.velRange.min,0)),X3(A,r.velRange.max),X3(A,0);let c=r.getGeneratorValue(f0.exclusiveClass,0);X3(A,c),X3(A,0);let u=k6("rgnh",A),m=r.getGeneratorValue(f0.overridingRootKey,r.sample.samplePitch);r.getGeneratorValue(f0.scaleTuning,i.getGeneratorValue(f0.scaleTuning,100))===0&&r.keyRange.max-r.keyRange.min===0&&(m=r.keyRange.min);let q=oC(r.sample,m,r.getGeneratorValue(f0.fineTune,0)+r.getGeneratorValue(f0.coarseTune,0)*100+r.sample.samplePitchCorrection,r.getGeneratorValue(f0.initialAttenuation,0),r.sample.sampleLoopStartIndex+r.getGeneratorValue(f0.startloopAddrsOffset,0)+r.getGeneratorValue(f0.startloopAddrsCoarseOffset,0)*32768,r.sample.sampleLoopEndIndex+r.getGeneratorValue(f0.endloopAddrsOffset,0)+r.getGeneratorValue(f0.endloopAddrsCoarseOffset,0)*32768,r.getGeneratorValue(f0.sampleModes,0)),U=new K5(12);X3(U,0),X3(U,0),p9(U,1),p9(U,this.samples.indexOf(r.sample));let G=k6("wlnk",U),k0=new K5(0);if(r.modulators.length+r.generators.length>0){let v=lC(r);k0=k6("lar2",v,!1,!0)}return k6("rgn2",St([u,q,G,k0]),!1,!0)}function hk(r){Q8(`%cWriting %c${r.presetName}%c...`,E1.info,E1.recognized,E1.info);let i=sk(r),A=i.reduce((T,P)=>P.isGlobal?T:T+1,0),c=new K5(12);p9(c,A);let u=(r.bank&127)<<8;r.bank===128&&(u|=1<<31),p9(c,u),p9(c,r.program&127);let m=k6("insh",c),M=new K5(0),q=i.find(T=>T.isGlobal===!0);if(q){let T=lC(q);M=k6("lar2",T,!1,!0)}let U=St(i.reduce((T,P)=>(P.isGlobal||T.push(uk.apply(this,[P,q])),T),[])),G=k6("lrgn",U,!1,!0),k0=k6("INAM",Fr(r.presetName)),v=k6("INFO",k0,!1,!0);return u9(),k6("ins ",St([m,G,M,v]),!1,!0)}function dk(){let r=St(this.presets.map(i=>hk.apply(this,[i])));return k6("lins",r,!1,!0)}function fk(r){let i=new K5(18);X3(i,1),X3(i,1),p9(i,r.sampleRate),p9(i,r.sampleRate*2),X3(i,2),X3(i,16);let A=k6("fmt ",i),c=1;r.sampleLoopStartIndex+Math.abs(r.getAudioData().length-r.sampleLoopEndIndex)<2&&(c=0);let u=oC(r,r.samplePitch,r.samplePitchCorrection,0,r.sampleLoopStartIndex,r.sampleLoopEndIndex,c),m=r.getAudioData(),M;if(r.isCompressed){let G=new Int16Array(m.length);for(let k0=0;k0{let u=fk(c);return i.push(r),r+=u.length,u});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function mk(){Q8("%cSaving DLS...",E1.info);let r=new K5(4);p9(r,this.presets.length);let i=k6("colh",r);Q8("%cWriting instruments...",E1.info);let A=dk.apply(this);m5("%cSuccess!",E1.recognized),u9(),Q8("%cWriting WAVE samples...",E1.info);let c=Ik.apply(this),u=c.data,m=c.indexes;m5("%cSucceeded!",E1.recognized),u9();let M=new K5(8+4*m.length);p9(M,8),p9(M,m.length);for(let v of m)p9(M,v);let q=k6("ptbl",M);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` +Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let U=[];for(let[v,T]of Object.entries(this.soundFontInfo))v!=="ICMT"&&v!=="INAM"&&v!=="ICRD"&&v!=="IENG"&&v!=="ICOP"&&v!=="ISFT"&&v!=="ISBJ"||U.push(k6(v,Fr(T),!0));let G=k6("INFO",St(U),!1,!0),k0=new K5(i.length+A.length+q.length+u.length+G.length+4);return P8(k0,"DLS "),k0.set(St([i,A,q,u,G]),4),m5("%cSaved succesfully!",E1.recognized),u9(),k6("RIFF",k0)}var za=class{constructor(i,A,c,u,m,M,q,U){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=u,this.sampleLink=m,this.sampleType=M,this.sampleLoopStartIndex=q,this.sampleLoopEndIndex=U,this.isCompressed=(M&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}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{I9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){return this.sampleData}};var Ja=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 Ka=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 c=i;c{m.sample.isSampleLoaded||m.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function u(P,G0){return G0>=P.min&&G0<=P.max}function m(P,G0){P.push(...G0.filter(I1=>!P.find(g1=>g1.generatorType===I1.generatorType)))}function M(P,G0){P.push(...G0.filter(I1=>!P.find(g1=>l9.isIdentical(I1,g1))))}let q=[],U=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],G=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],k0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},v=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(P=>u(P.hasKeyRange?P.keyRange:k0,i)&&u(P.hasVelRange?P.velRange:v,A)&&!P.isGlobal).forEach(P=>{if(P.instrument.instrumentZones.length<1)return;let G0=P.generators,I1=P.modulators,g1=P.instrument.instrumentZones[0],j1=g1.isGlobal?[...g1.generators]:[],z1=g1.isGlobal?[...g1.modulators]:[],u2=g1.isGlobal?g1.keyRange:{min:0,max:127},P2=g1.isGlobal?g1.velRange:{min:0,max:127};P.instrument.instrumentZones.filter(a0=>u(a0.hasKeyRange?a0.keyRange:u2,i)&&u(a0.hasVelRange?a0.velRange:P2,A)&&!a0.isGlobal).forEach(a0=>{let g5=[...a0.generators],p3=[...a0.modulators];m(G0,U),m(g5,j1),M(I1,G),M(p3,z1),M(p3,this.defaultModulators);let k3=[...p3];for(let u6=0;u6l9.isIdentical(S3,N9));c9!==-1?k3[c9]=k3[c9].sumTransform(S3):k3.push(S3)}q.push({instrumentGenerators:g5,presetGenerators:G0,modulators:k3,sample:a0.sample,sampleID:a0.generators.find(u6=>u6.generatorType===f0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=q,q}};var Wa=class r{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=LE.map(A=>l9.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(m=>{c.find(M=>M.bank===m.bank&&M.program===m.program)===void 0&&c.push(m)});return new r({presets:c,info:A.soundFontInfo})}static getDummySoundfontFile(){let i=new r,A=new za("Saw",44100,65,20,0,0,0,127);A.sampleData=new Float32Array(128);for(let G=0;G<128;G++)A.sampleData[G]=G/128*2-1;i.samples.push(A);let c=new k7;c.isGlobal=!0,c.generators.push(new j3(f0.initialAttenuation,375)),c.generators.push(new j3(f0.releaseVolEnv,-1e3)),c.generators.push(new j3(f0.sampleModes,1));let u=new k7;u.sample=A;let m=new k7;m.sample=A,m.generators.push(new j3(f0.fineTune,-9));let M=new Ja;M.instrumentName="Saw Wave",M.instrumentZones.push(c),M.instrumentZones.push(u),M.instrumentZones.push(m),i.instruments.push(M);let q=new Ya;q.instrument=M;let U=new Ka(i.defaultModulators);return U.presetName="Saw Wave",U.presetZones.push(q),i.presets.push(U),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,c=!1){let u=this.presets.find(m=>m.bank===i&&m.program===A);if(u)return u;if(c!==!1)return i===128?this.presets.find(m=>m.bank===128):this.presets.find(m=>m.program===A)}getPreset(i,A){let c=this.presets.find(u=>u.bank===i&&u.program===A);return c||(i===128?(c=this.presets.find(u=>u.bank===128&&u.program===A),c||(c=this.presets.find(u=>u.bank===128))):c=this.presets.find(u=>u.program===A&&u.bank!==128),c&&I9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,E1.warn,E1.recognized)),c||(I9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(I9("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=mk;function pk(r){Q8("%cLoading instruments...",E1.info);for(let i=0;i>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Ja,this.DLSInstrument.addUseCount();let u=new Ya;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function Ek(r){this.verifyHeader(r,"LIST"),this.verifyText(y4(r.chunkData,4),"ins ");let i=[];for(;r.chunkData.length>r.chunkData.currentIndex;)i.push(ye(r.chunkData));let A=i.find(P=>P.header==="insh");if(!A)throw u9(),new Error("No instrument header!");let c=s3(A.chunkData,4),u=s3(A.chunkData,4),m=s3(A.chunkData,4),M=new cC(u,m),q="unnamedPreset",U=U7(i,"INFO");if(U){let P=ye(U.chunkData);for(;P.header!=="INAM";)P=ye(U.chunkData);q=y4(P.chunkData,P.chunkData.length).trim()}M.presetName=q,M.DLSInstrument.instrumentName=q,F7(`%cParsing %c"${q}"%c...`,E1.info,E1.recognized,E1.info);let G=U7(i,"lrgn");if(!G)throw u9(),new Error("No region list!");let k0=new k7;k0.isGlobal=!0;let v=U7(i,"lart"),T=U7(i,"lar2");(T!==void 0||v!==void 0)&&this.readLart(v,T,k0),k0.generators=k0.generators.filter(P=>P.generatorValue!==W6[P.generatorType].def),k0.modulators.find(P=>P.modulatorDestination===f0.reverbEffectsSend)===void 0&&k0.modulators.push(l9.copy(sC)),k0.modulators.find(P=>P.modulatorDestination===f0.chorusEffectsSend)===void 0&&k0.modulators.push(l9.copy(aC)),M.DLSInstrument.instrumentZones.push(k0);for(let P=0;P>10&15;z1===en.linear&&j1!==en.linear&&(z1=j1);let u2=c>>14&1,P2=c>>15&1;M===f0.initialAttenuation&&u<0&&(P2=1),T=Jn(z1,u2,P2,q.isCC,q.enum)}let P=c>>4&15,G0=c>>8&1,I1=c>>9&1,g1=Jn(P,G0,I1,v.isCC,v.enum);if(U){let j1=g1;g1=T,T=j1}return new l9({srcEnum:T,secSrcEnum:g1,dest:M,transform:0,amt:k0})}function IB(r,i){let A=r.chunkData,c=[],u=[];s3(A,4);let m=s3(A,4);for(let M=0;M>16;if(q===0&&U===0&&k0===0){let P;switch(G){case F5.pan:P=new j3(f0.pan,T);break;case F5.gain:P=new j3(f0.initialAttenuation,-T*10/.4);break;case F5.filterCutoff:P=new j3(f0.initialFilterFc,T);break;case F5.filterQ:P=new j3(f0.initialFilterQ,T);break;case F5.modLfoFreq:P=new j3(f0.freqModLFO,T);break;case F5.modLfoDelay:P=new j3(f0.delayModLFO,T);break;case F5.vibLfoFreq:P=new j3(f0.freqVibLFO,T);break;case F5.vibLfoDelay:P=new j3(f0.delayVibLFO,T);break;case F5.volEnvDelay:P=new j3(f0.delayVolEnv,T);break;case F5.volEnvAttack:P=new j3(f0.attackVolEnv,T);break;case F5.volEnvHold:P=new j3(f0.holdVolEnv,T,!1);break;case F5.volEnvDecay:P=new j3(f0.decayVolEnv,T,!1);break;case F5.volEnvRelease:P=new j3(f0.releaseVolEnv,T);break;case F5.volEnvSustain:let G0=1e3-T;P=new j3(f0.sustainVolEnv,G0);break;case F5.modEnvDelay:P=new j3(f0.delayModEnv,T);break;case F5.modEnvAttack:P=new j3(f0.attackModEnv,T);break;case F5.modEnvHold:P=new j3(f0.holdModEnv,T,!1);break;case F5.modEnvDecay:P=new j3(f0.decayModEnv,T,!1);break;case F5.modEnvRelease:P=new j3(f0.releaseModEnv,T);break;case F5.modEnvSustain:let I1=1e3-T;P=new j3(f0.sustainModEnv,I1);break;case F5.reverbSend:P=new j3(f0.reverbEffectsSend,T);break;case F5.chorusSend:P=new j3(f0.chorusEffectsSend,T);break;case F5.pitch:let g1=Math.floor(T/100),j1=Math.floor(T-g1*100);P=new j3(f0.fineTune,j1),c.push(new j3(f0.coarseTune,g1));break}P&&c.push(P)}else{let P=!0;if(U===m6.none)if(q===m6.modLfo&&G===F5.pitch)c.push(new j3(f0.modLfoToPitch,T));else if(q===m6.modLfo&&G===F5.gain)c.push(new j3(f0.modLfoToVolume,T));else if(q===m6.modLfo&&G===F5.filterCutoff)c.push(new j3(f0.modLfoToFilterFc,T));else if(q===m6.vibratoLfo&&G===F5.pitch)c.push(new j3(f0.vibLfoToPitch,T));else if(q===m6.modEnv&&G===F5.pitch)c.push(new j3(f0.modEnvToPitch,T));else if(q===m6.modEnv&&G===F5.filterCutoff)c.push(new j3(f0.modEnvToFilterFc,T));else if(q===m6.keyNum&&G===F5.pitch)c.push(new j3(f0.scaleTuning,T/128));else if(q===m6.keyNum&&G===F5.volEnvHold){c.push(new j3(f0.keyNumToVolEnvHold,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.holdVolEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&G===F5.volEnvDecay){c.push(new j3(f0.keyNumToVolEnvDecay,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.decayVolEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&G===F5.modEnvHold){c.push(new j3(f0.keyNumToModEnvHold,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.holdModEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&G===F5.modEnvDecay){c.push(new j3(f0.keyNumToModEnvDecay,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.decayModEnv&&(I1.generatorValue+=G0)})}else P=!1;else P=!1;if(P===!1){let G0=Bk(q,U,G,k0,T);G0?(u.push(G0),m5("%cSucceeded converting to SF2 Modulator!",E1.recognized)):I9("Failed converting to SF2 Modulator!")}}}return i&&u.push(l9.copy(AC),l9.copy($C)),{modulators:u,generators:c}}function yk(r,i,A){if(r)for(;r.chunkData.currentIndexr.chunkData.currentIndex;)i.push(ye(r.chunkData));let A=i.find(p3=>p3.header==="rgnh"),c=s3(A.chunkData,2),u=s3(A.chunkData,2),m=s3(A.chunkData,2),M=s3(A.chunkData,2),q=new gC({min:c,max:u},{min:m,max:M});s3(A.chunkData,2);let U=s3(A.chunkData,2);U!==0&&q.generators.push(new j3(f0.exclusiveClass,U));let G=U7(i,"lart"),k0=U7(i,"lar2");this.readLart(G,k0,q),q.isGlobal=!1;let v=i.find(p3=>p3.header==="wsmp");s3(v.chunkData,4);let T=s3(v.chunkData,2),P=Ua(v.chunkData[v.chunkData.currentIndex++],v.chunkData[v.chunkData.currentIndex++]),I1=(s3(v.chunkData,4)|0)/-655360;s3(v.chunkData,4);let g1=s3(v.chunkData,4),j1,z1={start:0,end:0};if(g1===0)j1=0;else{s3(v.chunkData,4),s3(v.chunkData,4)===0?j1=1:j1=3,z1.start=s3(v.chunkData,4);let k3=s3(v.chunkData,4);z1.end=z1.start+k3}let u2=i.find(p3=>p3.header==="wlnk");if(u2===void 0)return;s3(u2.chunkData,2),s3(u2.chunkData,2),s3(u2.chunkData,4);let P2=s3(u2.chunkData,4),L2=this.samples[P2];if(L2===void 0)throw new Error("Invalid sample ID!");let g5=(I1||L2.sampleDbAttenuation)*10/.4;return q.setWavesample(g5,j1,z1,T,L2,P2,P),q}var uC=class extends za{sampleDbAttenuation;sampleData;constructor(i,A,c,u,m,M,q,U){super(i,A,c,u,0,1,m,M),this.sampleData=q,this.sampleDbAttenuation=U}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 wk={PCM:1,ALAW:6};function p_(r,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),u,m=!1;i===1?(u=255,m=!0):u=A;let M=r.size/i,q=new Float32Array(M);for(let U=0;U=A&&(G-=c),q[U]=G/u)}return q}function E_(r,i){let A=r.size/i,c=new Float32Array(A);for(let u=0;u>4,U=M&15;q>0&&(U+=16),U=(U<<4)+8,q>1&&(U=U<127?U:-U;c[u]=G/32678}return c}function vk(r){Q8("%cLoading Wave samples...",E1.recognized);let i=0;for(;r.chunkData.currentIndexL2.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");let m=s3(u.chunkData,2),M=s3(u.chunkData,2);if(M!==1)throw new Error(`Only mono samples are supported. Fmt reports ${M} channels`);let q=s3(u.chunkData,4);s3(u.chunkData,4),s3(u.chunkData,2);let G=s3(u.chunkData,2)/8,k0=!1,v=c.find(L2=>L2.header==="data");v||this.parsingError("No data chunk in the WAVE chunk!");let T;switch(m){default:k0=!0,T=new Float32Array(v.size/G);break;case wk.PCM:T=p_(v,G);break;case wk.ALAW:T=E_(v,G);break}let P=U7(c,"INFO"),G0=`Unnamed ${i}`;if(P){let L2=ye(P.chunkData);for(;L2.header!=="INAM"&&P.chunkData.currentIndexL2.header==="wsmp");if(P2){s3(P2.chunkData,4),I1=s3(P2.chunkData,2),g1=Ua(P2.chunkData[P2.chunkData.currentIndex++],P2.chunkData[P2.chunkData.currentIndex++]);let L2=Math.trunc(g1/100);if(I1+=L2,g1-=L2*100,u2=(s3(P2.chunkData,4)|0)/-655360,s3(P2.chunkData,4),s3(P2.chunkData,4)===1){s3(P2.chunkData,8),j1=s3(P2.chunkData,4);let p3=s3(P2.chunkData,4);z1=j1+p3}}else I9("No wsmp chunk in wave... using sane defaults.");k0&&console.error(`Failed to load '${G0}': Unsupported format: (${m})`),this.samples.push(new uC(G0,q,I1,g1,j1,z1,T,u2)),i++,m5(`%cLoaded sample %c${G0}`,E1.info,E1.recognized)}u9()}var Ho=class extends Wa{constructor(i){super(),this.dataArray=new K5(i),F7("%cParsing DLS...",E1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let A=ye(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndexU.header==="colh");m||(u9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(m.chunkData,4),m5(`%cInstruments amount: %c${this.instrumentAmount}`,E1.info,E1.recognized);let R=U7(c,"wvpl");R||(u9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(R);let q=U7(c,"lins");q||(u9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(q),this.presets.sort((U,G)=>U.program-G.program+(U.bank-G.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.`,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info),u9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),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}};Ho.prototype.readDLSInstrumentList=pk;Ho.prototype.readDLSInstrument=Ek;Ho.prototype.readRegion=Qk;Ho.prototype.readLart=yk;Ho.prototype.readDLSSamples=vk;var Za=Za!==void 0?Za:{},kk=!1,Sk;Za.isInitialized=new Promise(r=>Sk=r);var C_=function(r){var i,A,c,u,m,R,q,U="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",G="",k0=0;r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=U.indexOf(r.charAt(k0++)),m=U.indexOf(r.charAt(k0++)),R=U.indexOf(r.charAt(k0++)),q=U.indexOf(r.charAt(k0++)),i=u<<2|m>>4,A=(15&m)<<4|R>>2,c=(3&R)<<6|q,G+=String.fromCharCode(i),R!==64&&(G+=String.fromCharCode(A)),q!==64&&(G+=String.fromCharCode(c));while(k01&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(F0){if(!(F0 instanceof tl))throw F0}),process.on("unhandledRejection",function(F0,i1){process.exit(1)}),a0.quit=function(F0){process.exit(F0)},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)):(yn(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(F0){quit(F0)})):(p3||k3)&&(p3?document.currentScript&&(c9=document.currentScript.src):c9=self.location.href,c9=c9.indexOf("blob:")!==0?c9.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(F0){document.title=F0});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(r in g5)g5.hasOwnProperty(r)&&(a0[r]=g5[r]);function w4(F0){var i1=P;return P=P+F0+15&-16,i1}function tn(F0){var i1=U[u2>>2],w1=i1+F0+15&-16;return U[u2>>2]=w1,w1>=G9&&!jn()?(U[u2>>2]=i1,0):i1}function H8(F0,i1){return i1||(i1=16),F0=Math.ceil(F0/i1)*i1}function Xa(F0){switch(F0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(F0[F0.length-1]==="*")return 4;if(F0[0]!=="i")return 0;var i1=parseInt(F0.substr(1));return yn(i1%8==0),i1/8}}function Bn(F0){Bn.shown||(Bn.shown={}),Bn.shown[F0]||(Bn.shown[F0]=1,p6(F0))}g5=void 0;var eA={"f64-rem":function(F0,i1){return F0%i1},debugger:function(){}},P$=[];function mC(F0,i1){for(var w1=0,_2=w1;_2>>0)+4294967296*+(i1>>>0):+(F0>>>0)+4294967296*+(0|i1)}function O$(F0,i1,w1){return w1&&w1.length?a0["dynCall_"+F0].apply(null,[i1].concat(w1)):a0["dynCall_"+F0].call(null,i1)}var tA=0,bu=0;function yn(F0,i1){F0||nn("Assertion failed: "+i1)}function iA(F0){var i1=a0["_"+F0];return yn(i1,"Cannot call unknown function "+F0+", make sure it is exported"),i1}var Yp={stackSave:function(){tE()},stackRestore:function(){el()},arrayToC:function(F0){var i1,w1,_2=nA(F0.length);return i1=F0,w1=_2,u.set(i1,w1),_2},stringToC:function(F0){var i1=0;if(F0!=null&&F0!==0){var w1=(F0.length<<2)+1;i1=nA(w1),Jp(F0,i1,w1)}return i1}},Yo={string:Yp.stringToC,array:Yp.arrayToC};function Du(F0,i1,w1,_2,i6){var E9=iA(F0),ee=[],E6=0;if(_2)for(var v8=0;v8<_2.length;v8++){var H4=Yo[w1[v8]];H4?(E6===0&&(E6=tE()),ee[v8]=H4(_2[v8])):ee[v8]=_2[v8]}var nt,M4=E9.apply(null,ee);return M4=(nt=M4,i1==="string"?H$(nt):i1==="boolean"?!!nt:nt),E6!==0&&el(E6),M4}function q3(F0,i1,w1,_2){switch((w1=w1||"i8").charAt(w1.length-1)==="*"&&(w1="i32"),w1){case"i1":case"i8":u[F0>>0]=i1;break;case"i16":R[F0>>1]=i1;break;case"i32":U[F0>>2]=i1;break;case"i64":tempI64=[i1>>>0,+Lu(tempDouble=i1)>=1?tempDouble>0?(0|Ru(+Mu(tempDouble/4294967296),4294967295))>>>0:~~+j$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],U[F0>>2]=tempI64[0],U[F0+4>>2]=tempI64[1];break;case"float":k0[F0>>2]=i1;break;case"double":v[F0>>3]=i1;break;default:nn("invalid type for setValue: "+w1)}}function B3(F0,i1,w1){switch((i1=i1||"i8").charAt(i1.length-1)==="*"&&(i1="i32"),i1){case"i1":case"i8":return u[F0>>0];case"i16":return R[F0>>1];case"i32":case"i64":return U[F0>>2];case"float":return k0[F0>>2];case"double":return v[F0>>3];default:nn("invalid type for getValue: "+i1)}return null}function DB(F0,i1,w1,_2){typeof F0=="number"?(E9=!0,ee=F0):(E9=!1,ee=F0.length);var i6=typeof i1=="string"?i1:null;if(E6=w1==4?_2:[typeof jo=="function"?jo:w4,nA,w4,tn][w1===void 0?2:w1](Math.max(ee,i6?1:i1.length)),E9){for(_2=E6,yn((3&E6)==0),v8=E6+(-4&ee);_2>2]=0;for(v8=E6+ee;_2>0]=0;return E6}if(i6==="i8")return F0.subarray||F0.slice?m.set(F0,E6):m.set(new Uint8Array(F0),E6),E6;for(var E9,ee,E6,v8,H4,nt,M4,C9=0;C9>0],(_2!=0||i1)&&(ee++,!i1||ee!=i1););i1||(i1=ee);var E6="";if(E9<128){for(;i1>0;)i6=String.fromCharCode.apply(String,m.subarray(F0,F0+Math.min(i1,1024))),E6=E6?E6+i6:i6,F0+=1024,i1-=1024;return E6}return w1=F0,function(H4,nt){for(var M4=nt;H4[M4];)++M4;if(M4-nt>16&&H4.subarray&&zp)return zp.decode(H4.subarray(nt,M4));for(var C9,Ui,H7,k8,Pi,V7,Y7="";;){if(!(C9=H4[nt++]))return Y7;if(!(128&C9)){Y7+=String.fromCharCode(C9);continue}if(Ui=63&H4[nt++],(224&C9)==192){Y7+=String.fromCharCode((31&C9)<<6|Ui);continue}if(H7=63&H4[nt++],(240&C9)==224?C9=(15&C9)<<12|Ui<<6|H7:(k8=63&H4[nt++],(248&C9)==240?C9=(7&C9)<<18|Ui<<12|H7<<6|k8:(Pi=63&H4[nt++],C9=(252&C9)==248?(3&C9)<<24|Ui<<18|H7<<12|k8<<6|Pi:(1&C9)<<30|Ui<<24|H7<<18|k8<<12|Pi<<6|(V7=63&H4[nt++]))),C9<65536)Y7+=String.fromCharCode(C9);else{var Or=C9-65536;Y7+=String.fromCharCode(55296|Or>>10,56320|1023&Or)}}}(m,w1)}function _B(F0){for(var i1="";;){var w1=u[F0++>>0];if(!w1)return i1;i1+=String.fromCharCode(w1)}}function zo(F0,i1){return function(_2,i6,E9){for(var ee=0;ee<_2.length;++ee)u[i6++>>0]=_2.charCodeAt(ee);E9||(u[i6>>0]=0)}(F0,i1,!1)}var zp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Ur(F0,i1,w1,_2){if(!(_2>0))return 0;for(var i6=w1,E9=w1+_2-1,ee=0;ee=55296&&E6<=57343&&(E6=65536+((1023&E6)<<10)|1023&F0.charCodeAt(++ee)),E6<=127){if(w1>=E9)break;i1[w1++]=E6}else if(E6<=2047){if(w1+1>=E9)break;i1[w1++]=192|E6>>6,i1[w1++]=128|63&E6}else if(E6<=65535){if(w1+2>=E9)break;i1[w1++]=224|E6>>12,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=2097151){if(w1+3>=E9)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>=E9)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>=E9)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(F0,i1,w1){return Ur(F0,m,i1,w1)}function Jo(F0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&F0.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 Kp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function xB(F0){for(var i1=F0,w1=i1>>1;R[w1];)++w1;if((i1=w1<<1)-F0>32&&Kp)return Kp.decode(m.subarray(F0,i1));for(var _2=0,i6="";;){var E9=R[F0+2*_2>>1];if(E9==0)return i6;++_2,i6+=String.fromCharCode(E9)}}function LB(F0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<2)return 0;for(var _2=i1,i6=(w1-=2)<2*F0.length?w1/2:F0.length,E9=0;E9>1]=ee,i1+=2}return R[i1>>1]=0,i1-_2}function MB(F0){return 2*F0.length}function RB(F0){for(var i1=0,w1="";;){var _2=U[F0+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 FB(F0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<4)return 0;for(var _2=i1,i6=_2+w1-4,E9=0;E9=55296&&ee<=57343&&(ee=65536+((1023&ee)<<10)|1023&F0.charCodeAt(++E9)),U[i1>>2]=ee,(i1+=4)+4>i6)break}return U[i1>>2]=0,i1-_2}function TB(F0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&++w1,i1+=4}return i1}function NB(F0){var i1=Jo(F0)+1,w1=jo(i1);return w1&&Ur(F0,u,w1,i1),w1}function GB(F0){var i1=Jo(F0)+1,w1=nA(i1);return Ur(F0,u,w1,i1),w1}function Wp(F0){return F0}function CC(){var F0,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()),(F0=i1).replace(/__Z[\w\d_]+/g,function(w1){var _2,i6=_2=w1;return w1===i6?w1:w1+" ["+i6+"]"})}function _u(F0,i1){return F0%i1>0&&(F0+=i1-F0%i1),F0}function Zp(F0){a0.buffer=c=F0}function X9(){a0.HEAP8=u=new Int8Array(c),a0.HEAP16=R=new Int16Array(c),a0.HEAP32=U=new Int32Array(c),a0.HEAPU8=m=new Uint8Array(c),a0.HEAPU16=q=new Uint16Array(c),a0.HEAPU32=G=new Uint32Array(c),a0.HEAPF32=k0=new Float32Array(c),a0.HEAPF64=v=new Float64Array(c)}function jn(){var F0=a0.usingWasm?65536:16777216,i1=2147483648-F0;if(U[u2>>2]>i1)return!1;var w1=G9;for(G9=Math.max(G9,16777216);G9>2];)G9=G9<=536870912?_u(2*G9,F0):Math.min(_u((3*G9+2147483648)/4,F0),i1);var _2=a0.reallocBuffer(G9);return _2&&_2.byteLength==G9?(Zp(_2),X9(),!0):(G9=w1,!1)}T=P=I1=g1=j1=z1=u2=0,G0=!1,a0.reallocBuffer||(a0.reallocBuffer=function(F0){try{if(ArrayBuffer.transfer)i1=ArrayBuffer.transfer(c,F0);else{var i1,w1=u;i1=new ArrayBuffer(F0),new Int8Array(i1).set(w1)}}catch{return!1}return!!QC(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 V$=a0.TOTAL_STACK||5242880,G9=a0.TOTAL_MEMORY||16777216;function Y$(){return G9}function Ko(F0){for(;F0.length>0;){var i1=F0.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)}}G9=0?F0:i1<=32?2*Math.abs(1<=_2&&(i1<=32||F0>_2)&&(F0=-2*_2+F0),F0}var Lu=Math.abs,j$=Math.ceil,Mu=Math.floor,Ru=Math.min,Pr=0,Fu=null,Zo=null;function UB(F0){return F0}a0.preloadedImages={},a0.preloadedAudios={};var eE="data:application/octet-stream;base64,";function X$(F0){return String.prototype.startsWith?F0.startsWith(eE):F0.indexOf(eE)===0}(function(){var i1="main.wast",w1="main.wasm",_2="main.temp.asm.js";X$(i1)||(i1=N9(i1)),X$(w1)||(w1=N9(w1)),X$(_2)||(_2=N9(_2));var i6={global:null,env:null,asm2wasm:eA,parent:a0},E9=null;function ee(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){nn(M4)}}a0.asmPreload=a0.asm;var v8=a0.reallocBuffer,H4=function(M4){M4=_u(M4,a0.usingWasm?65536:16777216);var C9=a0.buffer.byteLength;if(a0.usingWasm)try{var Ui=a0.wasmMemory.grow((M4-C9)/65536);return Ui!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(M4){return nt==="asmjs"?v8(M4):H4(M4)};var nt="";a0.asm=function(M4,C9,Ui){var H7;if(!(C9=H7=C9).table){var k8,Pi=a0.wasmTableSize;Pi===void 0&&(Pi=1024);var V7=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?V7!==void 0?C9.table=new WebAssembly.Table({initial:Pi,maximum:V7,element:"anyfunc"}):C9.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):C9.table=Array(Pi),a0.wasmTable=C9.table}return C9.memoryBase||(C9.memoryBase=a0.STATIC_BASE),C9.tableBase||(C9.tableBase=0),k8=function(Or,Qn,iE){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(wn,rn){if((E9=wn.exports).memory){var rA,Xo,es;rA=E9.memory,Xo=a0.buffer,rA.byteLength0?w1:Jo(F0)+1,i6=Array(_2),E9=Ur(F0,i6,0,i6.length);return i1&&(i6.length=E9),i6}function yC(F0){for(var i1=[],w1=0;w1255&&(_2&=255),i1.push(String.fromCharCode(_2))}return i1.join("")}P+=16,u2=w4(4),j1=(I1=g1=H8(P))+V$,z1=H8(j1),U[u2>>2]=z1,G0=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:nn,assert:yn,enlargeMemory:jn,getTotalMemory:Y$,abortOnCannotGrowMemory:function(){nn("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G9+", (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=tE();try{return a0.dynCall_iii(i1,w1,_2)}catch(E9){if(el(i6),typeof E9!="number"&&E9!=="longjmp")throw E9;a0.setThrew(1,0)}},___assert_fail:function(i1,w1,_2,i6){nn("Assertion failed: "+H$(i1)+", at: "+[w1?H$(w1):"unknown filename",_2,i6?H$(i6):"unknown function"])},___setErrNo:function(i1){return a0.___errno_location&&(U[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:Mu,DYNAMICTOP_PTR:u2,tempDoublePtr:Gi,ABORT:tA,STACKTOP:g1,STACK_MAX:j1};var tr=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,c);a0.asm=tr,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var QC=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 jo=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 nA=a0.stackAlloc=function(){return a0.asm.stackAlloc.apply(null,arguments)},el=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},tE=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function tl(F0){this.name="ExitStatus",this.message="Program terminated with exit("+F0+")",this.status=F0}function il(F0){F0=F0||a0.arguments,!(Pr>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)BC(a0.preRun.shift());Ko(Xn)}(),!(Pr>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||(K$||(K$=!0,Ko(z$)),Ko(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());Ko(J$)}()))}}function wC(F0,i1){(!i1||!a0.noExitRuntime||F0!==0)&&(a0.noExitRuntime||(tA=!0,bu=F0,g1=L2,Ko(S7),O7=!0,a0.onExit&&a0.onExit(F0)),a0.quit(F0,new tl(F0)))}function nn(F0){throw a0.onAbort&&a0.onAbort(F0),F0!==void 0?(E3(F0),p6(F0),F0=JSON.stringify(F0)):F0="",tA=!0,bu=1,"abort("+F0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=tr,a0.ccall=Du,a0.cwrap=function(i1,w1,_2,i6){var E9=(_2=_2||[]).every(function(ee){return ee==="number"});return w1!=="string"&&E9&&!i6?iA(i1):function(){return Du(i1,w1,_2,arguments,i6)}},tl.prototype=Error(),tl.prototype.constructor=tl,Zo=function F0(){a0.calledRun||il(),a0.calledRun||(Zo=F0)},a0.run=il,a0.abort=nn,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,il(),a0.onRuntimeInitialized=()=>{kk=!0,Sk()},Za.decode=function(F0){return function(w1){if(!kk)throw Error("Not initialized");var _2={};function i6(Qn){return new Int32Array(a0.HEAPU8.buffer,Qn,1)[0]}function E9(Qn,iE){var Tu=new ArrayBuffer(iE*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Tu);return bt.set(new Float32Array(a0.HEAPU8.buffer,Qn,iE)),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 ee,E6,v8,H4,nt=_2.open(),M4=(ee=w1,E6=w1.byteLength,v8=a0._malloc(E6),(H4=new Uint8Array(a0.HEAPU8.buffer,v8,E6)).set(new Uint8Array(ee,0,E6)),H4),C9=a0._malloc(4),Ui=a0._malloc(4),H7=_2.decode(nt,M4.byteOffset,M4.byteLength,C9,Ui);if(a0._free(M4.byteOffset),H7<0)throw _2.close(nt),a0._free(C9),Error("stbvorbis decode failed: "+H7);for(var k8=_2.channels(nt),Pi=Array(k8),V7=new Int32Array(a0.HEAPU32.buffer,i6(C9),k8),Y7=0;Y7r.chunkData.currentIndex;){let m=B_(u,r.chunkData,i,A);c.push(m),u++}return c.length>1&&c.pop(),c}function B_(r,i,A,c){let u=y4(i,20),m=s3(i,4)*2,R=s3(i,4)*2,q=s3(i,4),U=s3(i,4),G=s3(i,4),k0=i[i.currentIndex++];k0===255&&(k0=60);let v=VQ(i[i.currentIndex++]),T=s3(i,2),P=s3(i,2);return new mB(u,m,R,q,U,G,k0,v,T,P,A,r,c)}var pB=class extends j3{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 EB(r){let i=[];for(;r.chunkData.length>r.chunkData.currentIndex;)i.push(new pB(r.chunkData));return i.length>1&&i.pop(),i}var CB=class extends Ja{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cr.chunkData.currentIndex;){let c=new CB(r);if(A.length>0){let u=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(u,i)}A.push(c)}return A.length>1&&A.pop(),A}var BB=class extends k7{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(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;Ac.generatorType===f0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===f0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===f0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function _k(r,i,A,c){let u=[];for(;r.chunkData.length>r.chunkData.currentIndex;){let m=new BB(r.chunkData);if(u.length>0){let R=m.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,q=m.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(R,q),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(A),u[u.length-1].getSample(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(m)}return u.length>1&&u.pop(),u}var yB=class extends Ya{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(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;Ac.generatorType===f0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===f0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===f0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function xk(r,i,A,c){let u=[];for(;r.chunkData.length>r.chunkData.currentIndex;){let m=new yB(r.chunkData);if(u.length>0){let R=m.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,q=m.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(R,q),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(A),u[u.length-1].getInstrument(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(m)}return u.length>1&&u.pop(),u}var QB=class extends Ka{constructor(i,A){super(A),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cr.chunkData.currentIndex;){let u=new QB(r,A);if(c.length>0){let m=u.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(m,i)}c.push(u)}return c.length>1&&c.pop(),c}var wB=class extends l9{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function uC(r){let i=[];for(;r.chunkData.length>r.chunkData.currentIndex;)i.push(new wB(r.chunkData));return i}var hC=class extends Wa{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new K5(i),F7("%cParsing SoundFont...",E1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let c=ye(this.dataArray,!1);this.verifyHeader(c,"riff");let u=y4(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw u9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let m=u==="sfpk",R=ye(this.dataArray);for(this.verifyHeader(R,"list"),y4(R.chunkData,4);R.chunkData.length>R.chunkData.currentIndex;){let u6=ye(R.chunkData),S3;switch(u6.header.toLowerCase()){case"ifil":case"iver":S3=`${s3(u6.chunkData,2)}.${s3(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 c9=uC(u6);c9.pop(),S3=`Modulators: ${c9.length}`;let N9=this.defaultModulators;this.defaultModulators=c9,this.defaultModulators.push(...N9.filter(E3=>!this.defaultModulators.find(p6=>l9.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}"`,E1.info,E1.recognized)}let q=ye(this.dataArray,!1);this.verifyHeader(q,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),m5("%cVerifying smpl chunk...",E1.warn);let U=ye(this.dataArray,!1);this.verifyHeader(U,"smpl");let G;if(m){m5("%cSF2Pack detected, attempting to decode the smpl chunk...",E1.info);try{G=Za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+q.size-12)).data[0]}catch(u6){throw u9(),new Error(`SF2Pack Ogg Vorbis decode error: ${u6}`)}m5(`%cDecoded the smpl chunk! Length: %c${G.length}`,E1.info,E1.value)}else G=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;m5(`%cSkipping sample chunk, length: %c${q.size-12}`,E1.info,E1.value),this.dataArray.currentIndex+=q.size-12,m5("%cLoading preset data chunk...",E1.warn);let k0=ye(this.dataArray);this.verifyHeader(k0,"list"),y4(k0.chunkData,4);let v=ye(k0.chunkData);this.verifyHeader(v,"phdr");let T=ye(k0.chunkData);this.verifyHeader(T,"pbag");let P=ye(k0.chunkData);this.verifyHeader(P,"pmod");let G0=ye(k0.chunkData);this.verifyHeader(G0,"pgen");let I1=ye(k0.chunkData);this.verifyHeader(I1,"inst");let g1=ye(k0.chunkData);this.verifyHeader(g1,"ibag");let j1=ye(k0.chunkData);this.verifyHeader(j1,"imod");let z1=ye(k0.chunkData);this.verifyHeader(z1,"igen");let u2=ye(k0.chunkData);this.verifyHeader(u2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...bk(u2,G,!m));let P2=EB(z1),L2=uC(j1),a0=_k(g1,P2,L2,this.samples);this.instruments=Dk(I1,a0);let g5=EB(G0),p3=uC(P),k3=xk(T,g5,p3,this.instruments);this.presets.push(...Lk(v,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.`,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info),u9(),m&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Vo(r){let i=r.slice(8,12),A=new K5(i);return y4(A,4,void 0,!1).toLowerCase()==="dls "?new Ho(r):new hC(r,!1)}async function Mk(){let r="locale.exportAudio.formats.formats.soundfont.options.";Ne(this.localeManager.getLocaleString(r+"title"),[{type:"toggle",translatePathTitle:r+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:r+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:r+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(r+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(i.div.querySelector("input[type='range']").value)/10;le(i.id),F7("%cExporting minified soundfont...",E1.info);let m=await this.seq.getMIDI(),R=Vo(m.embeddedSoundFont||this.soundFont);Pa(m,await this.synth.getSynthesizerSnapshot()),A&&Su(R,m);let q=R.write({compress:c,compressionQuality:u,compressionFunction:this.compressionFunc}),U=new Blob([q.buffer],{type:"audio/soundfont"}),G=R.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(U,`${R.soundFontInfo.INAM||"unnamed"}.${G}`),u9()}}],99999999,!0,this.localeManager)}async function Rk(){let r="locale.exportAudio.formats.";Ne(this.localeManager.getLocaleString(r+"title"),[{type:"button",translatePathTitle:r+"formats.wav.button",onClick:i=>{le(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:r+"formats.midi.button",onClick:i=>{le(i.id),this.exportMidi()}},{type:"button",translatePathTitle:r+"formats.soundfont.button",onClick:i=>{le(i.id);try{this._exportSoundfont()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:r+"formats.dls.button",onClick:i=>{le(i.id);try{this._exportDLS()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:r+"formats.rmidi.button",onClick:i=>{le(i.id);try{this._exportRMIDI()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Fk(){let r=(v,T,P)=>this.seq.midiData.RMIDInfo?.[v]===void 0?T:P.decode(this.seq.midiData.RMIDInfo?.[v]).replace(/\0$/,""),i=r("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=r("IPRD","",A),u=r("IART","",A),m=r("IGNR","",A),R=r("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),q="locale.exportAudio.formats.formats.rmidi.options.",U="locale.exportAudio.formats.metadata.",k0=Ne(this.localeManager.getLocaleString(q+"title"),[{type:"toggle",translatePathTitle:q+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:q+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:U+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:U+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:U+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:U+"genre",attributes:{value:m,name:"genre",type:"text"}},{type:"input",translatePathTitle:U+"comment",attributes:{value:R,name:"comment",type:"text"}},{type:"file",translatePathTitle:U+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:q+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:q+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(q+"confirm"),onClick:async v=>{let T=v.div.querySelector("input[compress-toggle='1']").checked,P=parseInt(v.div.querySelector("input[type='range']").value)/10,G0=v.div.querySelector("input[name='album']").value,I1=v.div.querySelector("input[name='artist']").value,g1=v.div.querySelector("input[name='song_title']").value,j1=v.div.querySelector("input[name='comment']").value,z1=v.div.querySelector("input[name='genre']").value,u2=parseInt(v.div.querySelector("input[name='bank_offset']").value),P2=v.div.querySelector("input[name='adjust']").checked,L2=v.div.querySelector("input[type='file']")?.files[0];le(v.id),Q8("%cExporting RMIDI...",E1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",g5=Ne(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=Vo(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:T,compressionQuality:P,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(p6=>setTimeout(p6,75));let c9;L2?.type.split("/")[0]==="image"?c9=await L2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(c9=k3.RMIDInfo.IPIC.buffer);let N9=qE(S3,k3,u6,u2,this.seqUI.encoding,{name:g1,comment:j1,engineer:u6.soundFontInfo.IENG,picture:c9,album:G0.length>0?G0:void 0,artist:I1.length>0?I1:void 0,genre:z1.length>0?z1:void 0,midiEncoding:this.seqUI.encoding},P2),E3=new Blob([N9.buffer],{type:"audio/rmid"});this.saveBlob(E3,`${g1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(a0+"done"),le(g5.id),u9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");k0.oninput=()=>{k0.files[0]&&(k0.parentElement.firstChild.textContent=k0.files[0].name)}}var Tk="synthetizer/worklet_processor.min.js";var dC={init:function(){var r;r||(r=(typeof r<"u"?r:null)||{});var i={};for(var A in r)r.hasOwnProperty(A)&&(i[A]=r[A]);var c=typeof window=="object",u=typeof process=="object"&&typeof bE=="function"&&!c,m=typeof importScripts=="function",R=!c&&!u&&!m;if(u){r.print||(r.print=function(l){process.stdout.write(l+` +Converted from DLS to SF2 with SpessaSynth`;for(let[U,G]of Object.entries(this.soundFontInfo))m5(`%c"${U}": %c"${G}"`,E1.info,E1.recognized);let m=c.find(U=>U.header==="colh");m||(u9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(m.chunkData,4),m5(`%cInstruments amount: %c${this.instrumentAmount}`,E1.info,E1.recognized);let M=U7(c,"wvpl");M||(u9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(M);let q=U7(c,"lins");q||(u9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(q),this.presets.sort((U,G)=>U.program-G.program+(U.bank-G.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.`,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info),u9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),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}};Ho.prototype.readDLSInstrumentList=pk;Ho.prototype.readDLSInstrument=Ek;Ho.prototype.readRegion=Qk;Ho.prototype.readLart=yk;Ho.prototype.readDLSSamples=vk;var Za=Za!==void 0?Za:{},kk=!1,Sk;Za.isInitialized=new Promise(r=>Sk=r);var C_=function(r){var i,A,c,u,m,M,q,U="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",G="",k0=0;r=r.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=U.indexOf(r.charAt(k0++)),m=U.indexOf(r.charAt(k0++)),M=U.indexOf(r.charAt(k0++)),q=U.indexOf(r.charAt(k0++)),i=u<<2|m>>4,A=(15&m)<<4|M>>2,c=(3&M)<<6|q,G+=String.fromCharCode(i),M!==64&&(G+=String.fromCharCode(A)),q!==64&&(G+=String.fromCharCode(c));while(k01&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(F0){if(!(F0 instanceof tl))throw F0}),process.on("unhandledRejection",function(F0,i1){process.exit(1)}),a0.quit=function(F0){process.exit(F0)},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)):(yn(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(F0){quit(F0)})):(p3||k3)&&(p3?document.currentScript&&(c9=document.currentScript.src):c9=self.location.href,c9=c9.indexOf("blob:")!==0?c9.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(F0){document.title=F0});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(r in g5)g5.hasOwnProperty(r)&&(a0[r]=g5[r]);function w4(F0){var i1=P;return P=P+F0+15&-16,i1}function tn(F0){var i1=U[u2>>2],w1=i1+F0+15&-16;return U[u2>>2]=w1,w1>=G9&&!jn()?(U[u2>>2]=i1,0):i1}function H8(F0,i1){return i1||(i1=16),F0=Math.ceil(F0/i1)*i1}function Xa(F0){switch(F0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(F0[F0.length-1]==="*")return 4;if(F0[0]!=="i")return 0;var i1=parseInt(F0.substr(1));return yn(i1%8==0),i1/8}}function Bn(F0){Bn.shown||(Bn.shown={}),Bn.shown[F0]||(Bn.shown[F0]=1,p6(F0))}g5=void 0;var eA={"f64-rem":function(F0,i1){return F0%i1},debugger:function(){}},P$=[];function pC(F0,i1){for(var w1=0,_2=w1;_2>>0)+4294967296*+(i1>>>0):+(F0>>>0)+4294967296*+(0|i1)}function O$(F0,i1,w1){return w1&&w1.length?a0["dynCall_"+F0].apply(null,[i1].concat(w1)):a0["dynCall_"+F0].call(null,i1)}var tA=0,bu=0;function yn(F0,i1){F0||nn("Assertion failed: "+i1)}function iA(F0){var i1=a0["_"+F0];return yn(i1,"Cannot call unknown function "+F0+", make sure it is exported"),i1}var Yp={stackSave:function(){tE()},stackRestore:function(){el()},arrayToC:function(F0){var i1,w1,_2=nA(F0.length);return i1=F0,w1=_2,u.set(i1,w1),_2},stringToC:function(F0){var i1=0;if(F0!=null&&F0!==0){var w1=(F0.length<<2)+1;i1=nA(w1),Jp(F0,i1,w1)}return i1}},Yo={string:Yp.stringToC,array:Yp.arrayToC};function Du(F0,i1,w1,_2,i6){var E9=iA(F0),ee=[],E6=0;if(_2)for(var v8=0;v8<_2.length;v8++){var H4=Yo[w1[v8]];H4?(E6===0&&(E6=tE()),ee[v8]=H4(_2[v8])):ee[v8]=_2[v8]}var nt,M4=E9.apply(null,ee);return M4=(nt=M4,i1==="string"?H$(nt):i1==="boolean"?!!nt:nt),E6!==0&&el(E6),M4}function q3(F0,i1,w1,_2){switch((w1=w1||"i8").charAt(w1.length-1)==="*"&&(w1="i32"),w1){case"i1":case"i8":u[F0>>0]=i1;break;case"i16":M[F0>>1]=i1;break;case"i32":U[F0>>2]=i1;break;case"i64":tempI64=[i1>>>0,+Lu(tempDouble=i1)>=1?tempDouble>0?(0|Ru(+Mu(tempDouble/4294967296),4294967295))>>>0:~~+j$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],U[F0>>2]=tempI64[0],U[F0+4>>2]=tempI64[1];break;case"float":k0[F0>>2]=i1;break;case"double":v[F0>>3]=i1;break;default:nn("invalid type for setValue: "+w1)}}function B3(F0,i1,w1){switch((i1=i1||"i8").charAt(i1.length-1)==="*"&&(i1="i32"),i1){case"i1":case"i8":return u[F0>>0];case"i16":return M[F0>>1];case"i32":case"i64":return U[F0>>2];case"float":return k0[F0>>2];case"double":return v[F0>>3];default:nn("invalid type for getValue: "+i1)}return null}function DB(F0,i1,w1,_2){typeof F0=="number"?(E9=!0,ee=F0):(E9=!1,ee=F0.length);var i6=typeof i1=="string"?i1:null;if(E6=w1==4?_2:[typeof jo=="function"?jo:w4,nA,w4,tn][w1===void 0?2:w1](Math.max(ee,i6?1:i1.length)),E9){for(_2=E6,yn((3&E6)==0),v8=E6+(-4&ee);_2>2]=0;for(v8=E6+ee;_2>0]=0;return E6}if(i6==="i8")return F0.subarray||F0.slice?m.set(F0,E6):m.set(new Uint8Array(F0),E6),E6;for(var E9,ee,E6,v8,H4,nt,M4,C9=0;C9>0],(_2!=0||i1)&&(ee++,!i1||ee!=i1););i1||(i1=ee);var E6="";if(E9<128){for(;i1>0;)i6=String.fromCharCode.apply(String,m.subarray(F0,F0+Math.min(i1,1024))),E6=E6?E6+i6:i6,F0+=1024,i1-=1024;return E6}return w1=F0,function(H4,nt){for(var M4=nt;H4[M4];)++M4;if(M4-nt>16&&H4.subarray&&zp)return zp.decode(H4.subarray(nt,M4));for(var C9,Ui,H7,k8,Pi,V7,Y7="";;){if(!(C9=H4[nt++]))return Y7;if(!(128&C9)){Y7+=String.fromCharCode(C9);continue}if(Ui=63&H4[nt++],(224&C9)==192){Y7+=String.fromCharCode((31&C9)<<6|Ui);continue}if(H7=63&H4[nt++],(240&C9)==224?C9=(15&C9)<<12|Ui<<6|H7:(k8=63&H4[nt++],(248&C9)==240?C9=(7&C9)<<18|Ui<<12|H7<<6|k8:(Pi=63&H4[nt++],C9=(252&C9)==248?(3&C9)<<24|Ui<<18|H7<<12|k8<<6|Pi:(1&C9)<<30|Ui<<24|H7<<18|k8<<12|Pi<<6|(V7=63&H4[nt++]))),C9<65536)Y7+=String.fromCharCode(C9);else{var Or=C9-65536;Y7+=String.fromCharCode(55296|Or>>10,56320|1023&Or)}}}(m,w1)}function _B(F0){for(var i1="";;){var w1=u[F0++>>0];if(!w1)return i1;i1+=String.fromCharCode(w1)}}function zo(F0,i1){return function(_2,i6,E9){for(var ee=0;ee<_2.length;++ee)u[i6++>>0]=_2.charCodeAt(ee);E9||(u[i6>>0]=0)}(F0,i1,!1)}var zp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Ur(F0,i1,w1,_2){if(!(_2>0))return 0;for(var i6=w1,E9=w1+_2-1,ee=0;ee=55296&&E6<=57343&&(E6=65536+((1023&E6)<<10)|1023&F0.charCodeAt(++ee)),E6<=127){if(w1>=E9)break;i1[w1++]=E6}else if(E6<=2047){if(w1+1>=E9)break;i1[w1++]=192|E6>>6,i1[w1++]=128|63&E6}else if(E6<=65535){if(w1+2>=E9)break;i1[w1++]=224|E6>>12,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=2097151){if(w1+3>=E9)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>=E9)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>=E9)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(F0,i1,w1){return Ur(F0,m,i1,w1)}function Jo(F0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&F0.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 Kp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function xB(F0){for(var i1=F0,w1=i1>>1;M[w1];)++w1;if((i1=w1<<1)-F0>32&&Kp)return Kp.decode(m.subarray(F0,i1));for(var _2=0,i6="";;){var E9=M[F0+2*_2>>1];if(E9==0)return i6;++_2,i6+=String.fromCharCode(E9)}}function LB(F0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<2)return 0;for(var _2=i1,i6=(w1-=2)<2*F0.length?w1/2:F0.length,E9=0;E9>1]=ee,i1+=2}return M[i1>>1]=0,i1-_2}function MB(F0){return 2*F0.length}function RB(F0){for(var i1=0,w1="";;){var _2=U[F0+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 FB(F0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<4)return 0;for(var _2=i1,i6=_2+w1-4,E9=0;E9=55296&&ee<=57343&&(ee=65536+((1023&ee)<<10)|1023&F0.charCodeAt(++E9)),U[i1>>2]=ee,(i1+=4)+4>i6)break}return U[i1>>2]=0,i1-_2}function TB(F0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&++w1,i1+=4}return i1}function NB(F0){var i1=Jo(F0)+1,w1=jo(i1);return w1&&Ur(F0,u,w1,i1),w1}function GB(F0){var i1=Jo(F0)+1,w1=nA(i1);return Ur(F0,u,w1,i1),w1}function Wp(F0){return F0}function BC(){var F0,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()),(F0=i1).replace(/__Z[\w\d_]+/g,function(w1){var _2,i6=_2=w1;return w1===i6?w1:w1+" ["+i6+"]"})}function _u(F0,i1){return F0%i1>0&&(F0+=i1-F0%i1),F0}function Zp(F0){a0.buffer=c=F0}function X9(){a0.HEAP8=u=new Int8Array(c),a0.HEAP16=M=new Int16Array(c),a0.HEAP32=U=new Int32Array(c),a0.HEAPU8=m=new Uint8Array(c),a0.HEAPU16=q=new Uint16Array(c),a0.HEAPU32=G=new Uint32Array(c),a0.HEAPF32=k0=new Float32Array(c),a0.HEAPF64=v=new Float64Array(c)}function jn(){var F0=a0.usingWasm?65536:16777216,i1=2147483648-F0;if(U[u2>>2]>i1)return!1;var w1=G9;for(G9=Math.max(G9,16777216);G9>2];)G9=G9<=536870912?_u(2*G9,F0):Math.min(_u((3*G9+2147483648)/4,F0),i1);var _2=a0.reallocBuffer(G9);return _2&&_2.byteLength==G9?(Zp(_2),X9(),!0):(G9=w1,!1)}T=P=I1=g1=j1=z1=u2=0,G0=!1,a0.reallocBuffer||(a0.reallocBuffer=function(F0){try{if(ArrayBuffer.transfer)i1=ArrayBuffer.transfer(c,F0);else{var i1,w1=u;i1=new ArrayBuffer(F0),new Int8Array(i1).set(w1)}}catch{return!1}return!!wC(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 V$=a0.TOTAL_STACK||5242880,G9=a0.TOTAL_MEMORY||16777216;function Y$(){return G9}function Ko(F0){for(;F0.length>0;){var i1=F0.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)}}G9=0?F0:i1<=32?2*Math.abs(1<=_2&&(i1<=32||F0>_2)&&(F0=-2*_2+F0),F0}var Lu=Math.abs,j$=Math.ceil,Mu=Math.floor,Ru=Math.min,Pr=0,Fu=null,Zo=null;function UB(F0){return F0}a0.preloadedImages={},a0.preloadedAudios={};var eE="data:application/octet-stream;base64,";function X$(F0){return String.prototype.startsWith?F0.startsWith(eE):F0.indexOf(eE)===0}(function(){var i1="main.wast",w1="main.wasm",_2="main.temp.asm.js";X$(i1)||(i1=N9(i1)),X$(w1)||(w1=N9(w1)),X$(_2)||(_2=N9(_2));var i6={global:null,env:null,asm2wasm:eA,parent:a0},E9=null;function ee(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){nn(M4)}}a0.asmPreload=a0.asm;var v8=a0.reallocBuffer,H4=function(M4){M4=_u(M4,a0.usingWasm?65536:16777216);var C9=a0.buffer.byteLength;if(a0.usingWasm)try{var Ui=a0.wasmMemory.grow((M4-C9)/65536);return Ui!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(M4){return nt==="asmjs"?v8(M4):H4(M4)};var nt="";a0.asm=function(M4,C9,Ui){var H7;if(!(C9=H7=C9).table){var k8,Pi=a0.wasmTableSize;Pi===void 0&&(Pi=1024);var V7=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?V7!==void 0?C9.table=new WebAssembly.Table({initial:Pi,maximum:V7,element:"anyfunc"}):C9.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):C9.table=Array(Pi),a0.wasmTable=C9.table}return C9.memoryBase||(C9.memoryBase=a0.STATIC_BASE),C9.tableBase||(C9.tableBase=0),k8=function(Or,Qn,iE){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(wn,rn){if((E9=wn.exports).memory){var rA,Xo,es;rA=E9.memory,Xo=a0.buffer,rA.byteLength0?w1:Jo(F0)+1,i6=Array(_2),E9=Ur(F0,i6,0,i6.length);return i1&&(i6.length=E9),i6}function QC(F0){for(var i1=[],w1=0;w1255&&(_2&=255),i1.push(String.fromCharCode(_2))}return i1.join("")}P+=16,u2=w4(4),j1=(I1=g1=H8(P))+V$,z1=H8(j1),U[u2>>2]=z1,G0=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:nn,assert:yn,enlargeMemory:jn,getTotalMemory:Y$,abortOnCannotGrowMemory:function(){nn("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G9+", (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=tE();try{return a0.dynCall_iii(i1,w1,_2)}catch(E9){if(el(i6),typeof E9!="number"&&E9!=="longjmp")throw E9;a0.setThrew(1,0)}},___assert_fail:function(i1,w1,_2,i6){nn("Assertion failed: "+H$(i1)+", at: "+[w1?H$(w1):"unknown filename",_2,i6?H$(i6):"unknown function"])},___setErrNo:function(i1){return a0.___errno_location&&(U[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:Mu,DYNAMICTOP_PTR:u2,tempDoublePtr:Gi,ABORT:tA,STACKTOP:g1,STACK_MAX:j1};var tr=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,c);a0.asm=tr,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var wC=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 jo=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 nA=a0.stackAlloc=function(){return a0.asm.stackAlloc.apply(null,arguments)},el=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},tE=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function tl(F0){this.name="ExitStatus",this.message="Program terminated with exit("+F0+")",this.status=F0}function il(F0){F0=F0||a0.arguments,!(Pr>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)yC(a0.preRun.shift());Ko(Xn)}(),!(Pr>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||(K$||(K$=!0,Ko(z$)),Ko(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());Ko(J$)}()))}}function vC(F0,i1){(!i1||!a0.noExitRuntime||F0!==0)&&(a0.noExitRuntime||(tA=!0,bu=F0,g1=L2,Ko(S7),O7=!0,a0.onExit&&a0.onExit(F0)),a0.quit(F0,new tl(F0)))}function nn(F0){throw a0.onAbort&&a0.onAbort(F0),F0!==void 0?(E3(F0),p6(F0),F0=JSON.stringify(F0)):F0="",tA=!0,bu=1,"abort("+F0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=tr,a0.ccall=Du,a0.cwrap=function(i1,w1,_2,i6){var E9=(_2=_2||[]).every(function(ee){return ee==="number"});return w1!=="string"&&E9&&!i6?iA(i1):function(){return Du(i1,w1,_2,arguments,i6)}},tl.prototype=Error(),tl.prototype.constructor=tl,Zo=function F0(){a0.calledRun||il(),a0.calledRun||(Zo=F0)},a0.run=il,a0.abort=nn,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,il(),a0.onRuntimeInitialized=()=>{kk=!0,Sk()},Za.decode=function(F0){return function(w1){if(!kk)throw Error("Not initialized");var _2={};function i6(Qn){return new Int32Array(a0.HEAPU8.buffer,Qn,1)[0]}function E9(Qn,iE){var Tu=new ArrayBuffer(iE*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Tu);return bt.set(new Float32Array(a0.HEAPU8.buffer,Qn,iE)),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 ee,E6,v8,H4,nt=_2.open(),M4=(ee=w1,E6=w1.byteLength,v8=a0._malloc(E6),(H4=new Uint8Array(a0.HEAPU8.buffer,v8,E6)).set(new Uint8Array(ee,0,E6)),H4),C9=a0._malloc(4),Ui=a0._malloc(4),H7=_2.decode(nt,M4.byteOffset,M4.byteLength,C9,Ui);if(a0._free(M4.byteOffset),H7<0)throw _2.close(nt),a0._free(C9),Error("stbvorbis decode failed: "+H7);for(var k8=_2.channels(nt),Pi=Array(k8),V7=new Int32Array(a0.HEAPU32.buffer,i6(C9),k8),Y7=0;Y7r.chunkData.currentIndex;){let m=B_(u,r.chunkData,i,A);c.push(m),u++}return c.length>1&&c.pop(),c}function B_(r,i,A,c){let u=y4(i,20),m=s3(i,4)*2,M=s3(i,4)*2,q=s3(i,4),U=s3(i,4),G=s3(i,4),k0=i[i.currentIndex++];k0===255&&(k0=60);let v=VQ(i[i.currentIndex++]),T=s3(i,2),P=s3(i,2);return new mB(u,m,M,q,U,G,k0,v,T,P,A,r,c)}var pB=class extends j3{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 EB(r){let i=[];for(;r.chunkData.length>r.chunkData.currentIndex;)i.push(new pB(r.chunkData));return i.length>1&&i.pop(),i}var CB=class extends Ja{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cr.chunkData.currentIndex;){let c=new CB(r);if(A.length>0){let u=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(u,i)}A.push(c)}return A.length>1&&A.pop(),A}var BB=class extends k7{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(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;Ac.generatorType===f0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===f0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===f0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function _k(r,i,A,c){let u=[];for(;r.chunkData.length>r.chunkData.currentIndex;){let m=new BB(r.chunkData);if(u.length>0){let M=m.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,q=m.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(M,q),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(A),u[u.length-1].getSample(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(m)}return u.length>1&&u.pop(),u}var yB=class extends Ya{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(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;Ac.generatorType===f0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===f0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===f0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function xk(r,i,A,c){let u=[];for(;r.chunkData.length>r.chunkData.currentIndex;){let m=new yB(r.chunkData);if(u.length>0){let M=m.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,q=m.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(M,q),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(A),u[u.length-1].getInstrument(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(m)}return u.length>1&&u.pop(),u}var QB=class extends Ka{constructor(i,A){super(A),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cr.chunkData.currentIndex;){let u=new QB(r,A);if(c.length>0){let m=u.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(m,i)}c.push(u)}return c.length>1&&c.pop(),c}var wB=class extends l9{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function hC(r){let i=[];for(;r.chunkData.length>r.chunkData.currentIndex;)i.push(new wB(r.chunkData));return i}var dC=class extends Wa{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new K5(i),F7("%cParsing SoundFont...",E1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let c=ye(this.dataArray,!1);this.verifyHeader(c,"riff");let u=y4(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw u9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let m=u==="sfpk",M=ye(this.dataArray);for(this.verifyHeader(M,"list"),y4(M.chunkData,4);M.chunkData.length>M.chunkData.currentIndex;){let u6=ye(M.chunkData),S3;switch(u6.header.toLowerCase()){case"ifil":case"iver":S3=`${s3(u6.chunkData,2)}.${s3(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 c9=hC(u6);c9.pop(),S3=`Modulators: ${c9.length}`;let N9=this.defaultModulators;this.defaultModulators=c9,this.defaultModulators.push(...N9.filter(E3=>!this.defaultModulators.find(p6=>l9.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}"`,E1.info,E1.recognized)}let q=ye(this.dataArray,!1);this.verifyHeader(q,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),m5("%cVerifying smpl chunk...",E1.warn);let U=ye(this.dataArray,!1);this.verifyHeader(U,"smpl");let G;if(m){m5("%cSF2Pack detected, attempting to decode the smpl chunk...",E1.info);try{G=Za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+q.size-12)).data[0]}catch(u6){throw u9(),new Error(`SF2Pack Ogg Vorbis decode error: ${u6}`)}m5(`%cDecoded the smpl chunk! Length: %c${G.length}`,E1.info,E1.value)}else G=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;m5(`%cSkipping sample chunk, length: %c${q.size-12}`,E1.info,E1.value),this.dataArray.currentIndex+=q.size-12,m5("%cLoading preset data chunk...",E1.warn);let k0=ye(this.dataArray);this.verifyHeader(k0,"list"),y4(k0.chunkData,4);let v=ye(k0.chunkData);this.verifyHeader(v,"phdr");let T=ye(k0.chunkData);this.verifyHeader(T,"pbag");let P=ye(k0.chunkData);this.verifyHeader(P,"pmod");let G0=ye(k0.chunkData);this.verifyHeader(G0,"pgen");let I1=ye(k0.chunkData);this.verifyHeader(I1,"inst");let g1=ye(k0.chunkData);this.verifyHeader(g1,"ibag");let j1=ye(k0.chunkData);this.verifyHeader(j1,"imod");let z1=ye(k0.chunkData);this.verifyHeader(z1,"igen");let u2=ye(k0.chunkData);this.verifyHeader(u2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...bk(u2,G,!m));let P2=EB(z1),L2=hC(j1),a0=_k(g1,P2,L2,this.samples);this.instruments=Dk(I1,a0);let g5=EB(G0),p3=hC(P),k3=xk(T,g5,p3,this.instruments);this.presets.push(...Lk(v,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.`,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info),u9(),m&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Vo(r){let i=r.slice(8,12),A=new K5(i);return y4(A,4,void 0,!1).toLowerCase()==="dls "?new Ho(r):new dC(r,!1)}async function Mk(){let r="locale.exportAudio.formats.formats.soundfont.options.";Ne(this.localeManager.getLocaleString(r+"title"),[{type:"toggle",translatePathTitle:r+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:r+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:r+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(r+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(i.div.querySelector("input[type='range']").value)/10;le(i.id),F7("%cExporting minified soundfont...",E1.info);let m=await this.seq.getMIDI(),M=Vo(m.embeddedSoundFont||this.soundFont);Pa(m,await this.synth.getSynthesizerSnapshot()),A&&Su(M,m);let q=M.write({compress:c,compressionQuality:u,compressionFunction:this.compressionFunc}),U=new Blob([q.buffer],{type:"audio/soundfont"}),G=M.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(U,`${M.soundFontInfo.INAM||"unnamed"}.${G}`),u9()}}],99999999,!0,this.localeManager)}async function Rk(){let r="locale.exportAudio.formats.";Ne(this.localeManager.getLocaleString(r+"title"),[{type:"button",translatePathTitle:r+"formats.wav.button",onClick:i=>{le(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:r+"formats.midi.button",onClick:i=>{le(i.id),this.exportMidi()}},{type:"button",translatePathTitle:r+"formats.soundfont.button",onClick:i=>{le(i.id);try{this._exportSoundfont()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:r+"formats.dls.button",onClick:i=>{le(i.id);try{this._exportDLS()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:r+"formats.rmidi.button",onClick:i=>{le(i.id);try{this._exportRMIDI()}catch{Ne("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Fk(){let r=(v,T,P)=>this.seq.midiData.RMIDInfo?.[v]===void 0?T:P.decode(this.seq.midiData.RMIDInfo?.[v]).replace(/\0$/,""),i=r("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=r("IPRD","",A),u=r("IART","",A),m=r("IGNR","",A),M=r("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),q="locale.exportAudio.formats.formats.rmidi.options.",U="locale.exportAudio.formats.metadata.",k0=Ne(this.localeManager.getLocaleString(q+"title"),[{type:"toggle",translatePathTitle:q+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:q+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:U+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:U+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:U+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:U+"genre",attributes:{value:m,name:"genre",type:"text"}},{type:"input",translatePathTitle:U+"comment",attributes:{value:M,name:"comment",type:"text"}},{type:"file",translatePathTitle:U+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:q+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:q+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(q+"confirm"),onClick:async v=>{let T=v.div.querySelector("input[compress-toggle='1']").checked,P=parseInt(v.div.querySelector("input[type='range']").value)/10,G0=v.div.querySelector("input[name='album']").value,I1=v.div.querySelector("input[name='artist']").value,g1=v.div.querySelector("input[name='song_title']").value,j1=v.div.querySelector("input[name='comment']").value,z1=v.div.querySelector("input[name='genre']").value,u2=parseInt(v.div.querySelector("input[name='bank_offset']").value),P2=v.div.querySelector("input[name='adjust']").checked,L2=v.div.querySelector("input[type='file']")?.files[0];le(v.id),Q8("%cExporting RMIDI...",E1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",g5=Ne(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=Vo(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:T,compressionQuality:P,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(p6=>setTimeout(p6,75));let c9;L2?.type.split("/")[0]==="image"?c9=await L2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(c9=k3.RMIDInfo.IPIC.buffer);let N9=qE(S3,k3,u6,u2,this.seqUI.encoding,{name:g1,comment:j1,engineer:u6.soundFontInfo.IENG,picture:c9,album:G0.length>0?G0:void 0,artist:I1.length>0?I1:void 0,genre:z1.length>0?z1:void 0,midiEncoding:this.seqUI.encoding},P2),E3=new Blob([N9.buffer],{type:"audio/rmid"});this.saveBlob(E3,`${g1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(a0+"done"),le(g5.id),u9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");k0.oninput=()=>{k0.files[0]&&(k0.parentElement.firstChild.textContent=k0.files[0].name)}}var Tk="synthetizer/worklet_processor.min.js";var fC={init:function(){var r;r||(r=(typeof r<"u"?r:null)||{});var i={};for(var A in r)r.hasOwnProperty(A)&&(i[A]=r[A]);var c=typeof window=="object",u=typeof process=="object"&&typeof bE=="function"&&!c,m=typeof importScripts=="function",M=!c&&!u&&!m;if(u){r.print||(r.print=function(l){process.stdout.write(l+` `)}),r.printErr||(r.printErr=function(l){process.stderr.write(l+` -`)});var q=void 0,U=void 0;r.read=function(l,h){l=U.normalize(l);var f=q.readFileSync(l);return!f&&l!=U.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=q.readFileSync(l)),f&&!h&&(f=f.toString()),f},r.readBinary=function(l){return r.read(l,!0)},r.load=function(l){k0(read(l))},r.thisProgram||(process.argv.length>1?r.thisProgram=process.argv[1].replace(/\\/g,"/"):r.thisProgram="unknown-program"),r.arguments=process.argv.slice(2),typeof module<"u"&&r!=null,process.on("uncaughtException",function(n){if(!(n instanceof oA))throw n}),r.inspect=function(){return"[Emscripten Module object]"}}else if(R)r.print||(r.print=print),typeof printErr<"u"&&(r.printErr=printErr),typeof read<"u"?r.read=read:r.read=function(){throw"no read() available (jsc?)"},r.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var h=read(l,"binary");return Ge(typeof h=="object"),h},typeof scriptArgs<"u"?r.arguments=scriptArgs:typeof arguments<"u"&&(r.arguments=arguments);else if(c||m){if(r.read=function(l){var h=new XMLHttpRequest;return h.open("GET",l,!1),h.send(null),h.responseText},typeof arguments<"u"&&(r.arguments=arguments),typeof console<"u")r.print||(r.print=function(l){console.log(l)}),r.printErr||(r.printErr=function(l){console.log(l)});else{var G=!1;r.print||(r.print=G&&typeof dump<"u"?function(n){dump(n)}:function(n){})}m&&(r.load=importScripts),typeof r.setWindowTitle>"u"&&(r.setWindowTitle=function(n){document.title=n})}else throw"Unknown runtime environment. Where are we?";function k0(n){eval.call(null,n)}!r.load&&r.read&&(r.load=function(l){k0(r.read(l))}),r.print||(r.print=function(){}),r.printErr||(r.printErr=r.print),r.arguments||(r.arguments=[]),r.thisProgram||(r.thisProgram="./this.program"),r.print=r.print,r.printErr=r.printErr,r.preRun=[],r.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(r[A]=i[A]);var v={setTempRet0:function(n){p6=n},getTempRet0:function(){return p6},stackSave:function(){return S7},stackRestore:function(n){S7=n},getNativeTypeSize:function(n){switch(n){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(n[n.length-1]==="*")return v.QUANTUM_SIZE;if(n[0]==="i"){var l=parseInt(n.substr(1));return Ge(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(n){return Math.max(v.getNativeTypeSize(n),v.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(n,l){return l==="double"||l==="i64"?n&7&&(Ge((n&7)===4),n+=4):Ge((n&3)===0),n},getAlignSize:function(n,l,h){return!h&&(n=="i64"||n=="double")?8:n?Math.min(l||(n?v.getNativeFieldSize(n):0),v.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(n,l,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,l),r["dynCall_"+n].apply(null,h)):r["dynCall_"+n].call(null,l)},functionPointers:[],addFunction:function(n){for(var l=0;l=Wo){var h=BC();if(!h)return O7=l,0}return l},alignMemory:function(n,l){var h=n=Math.ceil(n/(l||16))*(l||16);return h},makeBigInt:function(n,l,h){var f=h?+(n>>>0)+ +(l>>>0)*4294967296:+(n>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};r.Runtime=v;var T=0,P=!1,G0=0,I1=0,g1,j1,z1,u2,P2,L2,a0,g5,p3,k3,u6,S3,c9,N9,E3,p6,w4,tn,H8,Xa,Bn,eA,P$,mC,pC;function Ge(n,l){n||ts("Assertion failed: "+l)}var Ok=this;function EC(n){var l=r["_"+n];if(!l)try{l=void("_"+n)}catch{}return Ge(l,"Cannot call unknown function "+n+" (perhaps LLVM optimizations or closure removed it?)"),l}var O$,tA;(function(){var n={stackSave:function(){v.stackSave()},stackRestore:function(){v.stackRestore()},arrayToC:function(e1){var r1=v.stackAlloc(e1.length);return nA(e1,r1),r1},stringToC:function(e1){var r1=0;return e1!=null&&e1!==0&&(r1=v.stackAlloc((e1.length<<2)+1),jo(e1,r1)),r1}},l={string:n.stringToC,array:n.arrayToC};tA=function(r1,x2,s,l1,C){var S5=EC(r1),w2=[],P5=0;if(l1)for(var U9=0;U9>0]=l;break;case"i8":X9[n>>0]=l;break;case"i16":jn[n>>1]=l;break;case"i32":G9[n>>2]=l;break;case"i64":N9=[l>>>0,(S3=l,+il(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+v8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],G9[n>>2]=N9[0],G9[n+4>>2]=N9[1];break;case"float":rl[n>>2]=l;break;case"double":Y$[n>>3]=l;break;default:ts("invalid type for setValue: "+h)}}r.setValue=bu;function yn(n,l,h){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return X9[n>>0];case"i8":return X9[n>>0];case"i16":return jn[n>>1];case"i32":return G9[n>>2];case"i64":return G9[n>>2];case"float":return rl[n>>2];case"double":return Y$[n>>3];default:ts("invalid type for setValue: "+l)}return null}r.getValue=yn;var iA=0,Yp=1,Yo=2,Du=3,q3=4;r.ALLOC_NORMAL=iA,r.ALLOC_STACK=Yp,r.ALLOC_STATIC=Yo,r.ALLOC_DYNAMIC=Du,r.ALLOC_NONE=q3;function B3(n,l,h,f){var z,e;typeof n=="number"?(z=!0,e=n):(z=!1,e=n.length);var e1=typeof l=="string"?l:null,r1;if(h==q3?r1=f:r1=[Nu,v.stackAlloc,v.staticAlloc,v.dynamicAlloc][h===void 0?Yo:h](Math.max(e,e1?1:l.length)),z){var f=r1,x2;for(Ge((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(e1==="i8")return n.subarray||n.slice?b7.set(n,r1):b7.set(new Uint8Array(n),r1),r1;for(var s=0,l1,C,S5;s>0],h|=f,!(f==0&&!l||(z++,l&&z==l)););l||(l=z);var e="";if(h<128){for(var e1=1024,r1;l>0;)r1=String.fromCharCode.apply(String,b7.subarray(n,n+Math.min(l,e1))),e=e?e+r1:r1,n+=e1,l-=e1;return e}return r.UTF8ToString(n)}r.Pointer_stringify=q$;function H$(n){for(var l="";;){var h=X9[n++>>0];if(!h)return l;l+=String.fromCharCode(h)}}r.AsciiToString=H$;function _B(n,l){return el(n,l,!1)}r.stringToAscii=_B;function zo(n,l){for(var h,f,z,e,e1,r1,x2="";;){if(h=n[l++],!h)return x2;if(!(h&128)){x2+=String.fromCharCode(h);continue}if(f=n[l++]&63,(h&224)==192){x2+=String.fromCharCode((h&31)<<6|f);continue}if(z=n[l++]&63,(h&240)==224?h=(h&15)<<12|f<<6|z:(e=n[l++]&63,(h&248)==240?h=(h&7)<<18|f<<12|z<<6|e:(e1=n[l++]&63,(h&252)==248?h=(h&3)<<24|f<<18|z<<12|e<<6|e1:(r1=n[l++]&63,h=(h&1)<<30|f<<24|z<<18|e<<12|e1<<6|r1))),h<65536)x2+=String.fromCharCode(h);else{var s=h-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}r.UTF8ArrayToString=zo;function zp(n){return zo(b7,n)}r.UTF8ToString=zp;function Ur(n,l,h,f){if(!(f>0))return 0;for(var z=h,e=h+f-1,e1=0;e1=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|n.charCodeAt(++e1)&1023),r1<=127){if(h>=e)break;l[h++]=r1}else if(r1<=2047){if(h+1>=e)break;l[h++]=192|r1>>6,l[h++]=128|r1&63}else if(r1<=65535){if(h+2>=e)break;l[h++]=224|r1>>12,l[h++]=128|r1>>6&63,l[h++]=128|r1&63}else if(r1<=2097151){if(h+3>=e)break;l[h++]=240|r1>>18,l[h++]=128|r1>>12&63,l[h++]=128|r1>>6&63,l[h++]=128|r1&63}else if(r1<=67108863){if(h+4>=e)break;l[h++]=248|r1>>24,l[h++]=128|r1>>18&63,l[h++]=128|r1>>12&63,l[h++]=128|r1>>6&63,l[h++]=128|r1&63}else{if(h+5>=e)break;l[h++]=252|r1>>30,l[h++]=128|r1>>24&63,l[h++]=128|r1>>18&63,l[h++]=128|r1>>12&63,l[h++]=128|r1>>6&63,l[h++]=128|r1&63}}return l[h]=0,h-z}r.stringToUTF8Array=Ur;function Jp(n,l,h){return Ur(n,b7,l,h)}r.stringToUTF8=Jp;function Jo(n){for(var l=0,h=0;h=55296&&f<=57343&&(f=65536+((f&1023)<<10)|n.charCodeAt(++h)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}r.lengthBytesUTF8=Jo;function Kp(n){for(var l=0,h="";;){var f=jn[n+l*2>>1];if(f==0)return h;++l,h+=String.fromCharCode(f)}}r.UTF16ToString=Kp;function xB(n,l,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var f=l,z=h>1]=e1,l+=2}return jn[l>>1]=0,l-f}r.stringToUTF16=xB;function LB(n){return n.length*2}r.lengthBytesUTF16=LB;function MB(n){for(var l=0,h="";;){var f=G9[n+l*4>>2];if(f==0)return h;if(++l,f>=65536){var z=f-65536;h+=String.fromCharCode(55296|z>>10,56320|z&1023)}else h+=String.fromCharCode(f)}}r.UTF32ToString=MB;function RB(n,l,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var f=l,z=f+h-4,e=0;e=55296&&e1<=57343){var r1=n.charCodeAt(++e);e1=65536+((e1&1023)<<10)|r1&1023}if(G9[l>>2]=e1,l+=4,l+4>z)break}return G9[l>>2]=0,l-f}r.stringToUTF32=RB;function FB(n){for(var l=0,h=0;h=55296&&f<=57343&&++h,l+=4}return l}r.lengthBytesUTF32=FB;function TB(n){var l=!!r.___cxa_demangle;if(l)try{var h=Nu(n.length);jo(n.substr(1),h);var f=Nu(4),z=r.___cxa_demangle(h,0,0,f);if(yn(f,"i32")===0&&z)return q$(z)}catch{}finally{h&&kC(h),f&&kC(f),z&&kC(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:"..."},r1=[],x2=!0;function s(w2){w2&&r.print(w2),r.print(n);for(var P5="",U9=0;U9"}else W9=ie;e:for(;e0;){var vn=n[e++];if(vn in e1)Qe.push(e1[vn]);else switch(vn){case"P":Qe.push(C(!0,1,!0)[0]+"*");break;case"R":Qe.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var sl=n.indexOf("E",e),It=sl-e;Qe.push(n.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(n.substr(e));if(e+=It.toString().length,n[e]!=="_")throw"?";e++,Qe.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:W9+="?"+vn;break e}}return!U9&&Qe.length===1&&Qe[0]==="void"&&(Qe=[]),w2?(W9&&Qe.push(W9+"?"),Qe):W9+Dt()}var S5=n;try{if(n=="Object._main"||n=="_main")return"main()";if(typeof n=="number"&&(n=q$(n)),n[0]!=="_"||n[1]!=="_"||n[2]!=="Z")return n;switch(n[3]){case"n":return"operator new()";case"d":return"operator delete()"}S5=C()}catch{S5+="?"}return S5.indexOf("?")>=0&&!l&&v.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),S5}function NB(n){return n.replace(/__Z[\w\d_]+/g,function(l){var h=TB(l);return l===h?l:l+" ["+h+"]"})}function GB(){var n=new Error;if(!n.stack){try{throw new Error(0)}catch(l){n=l}if(!n.stack)return"(no stack trace available)"}return n.stack.toString()}function Wp(){return NB(GB())}r.stackTrace=Wp;var CC=4096;function _u(n){return n%4096>0&&(n+=4096-n%4096),n}var Zp,X9,b7,jn,V$,G9,nl,rl,Y$,Ko=0,Xn=0,z$=!1,xu=0,S7=0,J$=0,K$=0,O7=0;function BC(){ts("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Wo+", (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 jp=r.TOTAL_STACK||5242880,Wo=r.TOTAL_MEMORY||16777216,er=64*1024;er0;){var l=n.shift();if(typeof l=="function"){l();continue}var h=l.func;typeof h=="number"?l.arg===void 0?v.dynCall("v",h):v.dynCall("vi",h,[l.arg]):h(l.arg===void 0?null:l.arg)}}var Xp=[],Z$=[],Lu=[],j$=[],Mu=[],Ru=!1,Pr=!1;function Fu(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Gi(r.preRun.shift());W$(Xp)}function Zo(){Ru||(Ru=!0,W$(Z$))}function UB(){W$(Lu)}function eE(){W$(j$),Pr=!0}function X$(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)yC(r.postRun.shift());W$(Mu)}function Gi(n){Xp.unshift(n)}r.addOnPreRun=r.addOnPreRun=Gi;function PB(n){Z$.unshift(n)}r.addOnInit=r.addOnInit=PB;function OB(n){Lu.unshift(n)}r.addOnPreMain=r.addOnPreMain=OB;function qB(n){j$.unshift(n)}r.addOnExit=r.addOnExit=qB;function yC(n){Mu.unshift(n)}r.addOnPostRun=r.addOnPostRun=yC;function tr(n,l,h){var f=h>0?h:Jo(n)+1,z=new Array(f),e=Ur(n,z,0,z.length);return l&&(z.length=e),z}r.intArrayFromString=tr;function QC(n){for(var l=[],h=0;h255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}r.intArrayToString=QC;function jo(n,l,h){for(var f=tr(n,h),z=0;z>0]=e,z=z+1}}r.writeStringToMemory=jo;function nA(n,l){for(var h=0;h>0]=n[h]}r.writeArrayToMemory=nA;function el(n,l,h){for(var f=0;f>0]=n.charCodeAt(f);h||(X9[l>>0]=0)}r.writeAsciiToMemory=el;function tE(n,l,h){return n>=0?n:l<=32?2*Math.abs(1<=f&&(l<=32||n>f)&&(n=-2*f+n),n}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,h){var f=l>>>16,z=l&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(n){n=n>>>0;for(var l=0;l<32;l++)if(n&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var il=Math.abs,wC=Math.cos,nn=Math.sin,F0=Math.tan,i1=Math.acos,w1=Math.asin,_2=Math.atan,i6=Math.atan2,E9=Math.exp,ee=Math.log,E6=Math.sqrt,v8=Math.ceil,H4=Math.floor,nt=Math.pow,M4=Math.imul,C9=Math.fround,Ui=Math.min,H7=Math.clz32,k8=0,Pi=null,V7=null;function Y7(n){return n}function Or(n){k8++,r.monitorRunDependencies&&r.monitorRunDependencies(k8)}r.addRunDependency=Or;function Qn(n){if(k8--,r.monitorRunDependencies&&r.monitorRunDependencies(k8),k8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),V7)){var l=V7;V7=null,l()}}r.removeRunDependency=Qn,r.preloadedImages={},r.preloadedAudios={};var iE=null,Tu=[];Ko=8,Xn=Ko+553552,Z$.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+41032),B3([1],"i8",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+72464),B3([1],"i8",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+551416);var bt=v.alignMemory(B3(12,"i8",Yo),8);Ge(bt%8==0);function vC(n){X9[bt]=X9[n],X9[bt+1]=X9[n+1],X9[bt+2]=X9[n+2],X9[bt+3]=X9[n+3]}function wn(n){X9[bt]=X9[n],X9[bt+1]=X9[n+1],X9[bt+2]=X9[n+2],X9[bt+3]=X9[n+3],X9[bt+4]=X9[n+4],X9[bt+5]=X9[n+5],X9[bt+6]=X9[n+6],X9[bt+7]=X9[n+7]}var rn=wC,rA=il,Xo=0;function es(n){return G9[Xo>>2]=n,n}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 HB(n){switch(n){case 30:return CC;case 85:return er/CC;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 es(N2.EINVAL),-1}r._memset=yS;var VB=!0;r._strlen=pS,r._strcat=ES,r._bitshift64Shl=kS;function qk(){r.abort()}r._i64Add=CS;var Hk=H4,Vk={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"},qr={ttys:[],init:function(){},shutdown:function(){},register:function(n,l){qr.ttys[n]={input:[],output:[],ops:l},S.registerDevice(n,qr.stream_ops)},stream_ops:{open:function(n){var l=qr.ttys[n.node.rdev];if(!l)throw new S.ErrnoError(N2.ENODEV);n.tty=l,n.seekable=!1},close:function(n){n.tty.ops.flush(n.tty)},flush:function(n){n.tty.ops.flush(n.tty)},read:function(n,l,h,f,z){if(!n.tty||!n.tty.ops.get_char)throw new S.ErrnoError(N2.ENXIO);for(var e=0,e1=0;e10?l=f.slice(0,z).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` +`)});var q=void 0,U=void 0;r.read=function(l,h){l=U.normalize(l);var f=q.readFileSync(l);return!f&&l!=U.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=q.readFileSync(l)),f&&!h&&(f=f.toString()),f},r.readBinary=function(l){return r.read(l,!0)},r.load=function(l){k0(read(l))},r.thisProgram||(process.argv.length>1?r.thisProgram=process.argv[1].replace(/\\/g,"/"):r.thisProgram="unknown-program"),r.arguments=process.argv.slice(2),typeof module<"u"&&r!=null,process.on("uncaughtException",function(n){if(!(n instanceof oA))throw n}),r.inspect=function(){return"[Emscripten Module object]"}}else if(M)r.print||(r.print=print),typeof printErr<"u"&&(r.printErr=printErr),typeof read<"u"?r.read=read:r.read=function(){throw"no read() available (jsc?)"},r.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var h=read(l,"binary");return Ge(typeof h=="object"),h},typeof scriptArgs<"u"?r.arguments=scriptArgs:typeof arguments<"u"&&(r.arguments=arguments);else if(c||m){if(r.read=function(l){var h=new XMLHttpRequest;return h.open("GET",l,!1),h.send(null),h.responseText},typeof arguments<"u"&&(r.arguments=arguments),typeof console<"u")r.print||(r.print=function(l){console.log(l)}),r.printErr||(r.printErr=function(l){console.log(l)});else{var G=!1;r.print||(r.print=G&&typeof dump<"u"?function(n){dump(n)}:function(n){})}m&&(r.load=importScripts),typeof r.setWindowTitle>"u"&&(r.setWindowTitle=function(n){document.title=n})}else throw"Unknown runtime environment. Where are we?";function k0(n){eval.call(null,n)}!r.load&&r.read&&(r.load=function(l){k0(r.read(l))}),r.print||(r.print=function(){}),r.printErr||(r.printErr=r.print),r.arguments||(r.arguments=[]),r.thisProgram||(r.thisProgram="./this.program"),r.print=r.print,r.printErr=r.printErr,r.preRun=[],r.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(r[A]=i[A]);var v={setTempRet0:function(n){p6=n},getTempRet0:function(){return p6},stackSave:function(){return S7},stackRestore:function(n){S7=n},getNativeTypeSize:function(n){switch(n){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(n[n.length-1]==="*")return v.QUANTUM_SIZE;if(n[0]==="i"){var l=parseInt(n.substr(1));return Ge(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(n){return Math.max(v.getNativeTypeSize(n),v.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(n,l){return l==="double"||l==="i64"?n&7&&(Ge((n&7)===4),n+=4):Ge((n&3)===0),n},getAlignSize:function(n,l,h){return!h&&(n=="i64"||n=="double")?8:n?Math.min(l||(n?v.getNativeFieldSize(n):0),v.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(n,l,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,l),r["dynCall_"+n].apply(null,h)):r["dynCall_"+n].call(null,l)},functionPointers:[],addFunction:function(n){for(var l=0;l=Wo){var h=yC();if(!h)return O7=l,0}return l},alignMemory:function(n,l){var h=n=Math.ceil(n/(l||16))*(l||16);return h},makeBigInt:function(n,l,h){var f=h?+(n>>>0)+ +(l>>>0)*4294967296:+(n>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};r.Runtime=v;var T=0,P=!1,G0=0,I1=0,g1,j1,z1,u2,P2,L2,a0,g5,p3,k3,u6,S3,c9,N9,E3,p6,w4,tn,H8,Xa,Bn,eA,P$,pC,EC;function Ge(n,l){n||ts("Assertion failed: "+l)}var Ok=this;function CC(n){var l=r["_"+n];if(!l)try{l=void("_"+n)}catch{}return Ge(l,"Cannot call unknown function "+n+" (perhaps LLVM optimizations or closure removed it?)"),l}var O$,tA;(function(){var n={stackSave:function(){v.stackSave()},stackRestore:function(){v.stackRestore()},arrayToC:function(e1){var r1=v.stackAlloc(e1.length);return nA(e1,r1),r1},stringToC:function(e1){var r1=0;return e1!=null&&e1!==0&&(r1=v.stackAlloc((e1.length<<2)+1),jo(e1,r1)),r1}},l={string:n.stringToC,array:n.arrayToC};tA=function(r1,x2,s,l1,C){var S5=CC(r1),w2=[],P5=0;if(l1)for(var U9=0;U9>0]=l;break;case"i8":X9[n>>0]=l;break;case"i16":jn[n>>1]=l;break;case"i32":G9[n>>2]=l;break;case"i64":N9=[l>>>0,(S3=l,+il(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+v8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],G9[n>>2]=N9[0],G9[n+4>>2]=N9[1];break;case"float":rl[n>>2]=l;break;case"double":Y$[n>>3]=l;break;default:ts("invalid type for setValue: "+h)}}r.setValue=bu;function yn(n,l,h){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return X9[n>>0];case"i8":return X9[n>>0];case"i16":return jn[n>>1];case"i32":return G9[n>>2];case"i64":return G9[n>>2];case"float":return rl[n>>2];case"double":return Y$[n>>3];default:ts("invalid type for setValue: "+l)}return null}r.getValue=yn;var iA=0,Yp=1,Yo=2,Du=3,q3=4;r.ALLOC_NORMAL=iA,r.ALLOC_STACK=Yp,r.ALLOC_STATIC=Yo,r.ALLOC_DYNAMIC=Du,r.ALLOC_NONE=q3;function B3(n,l,h,f){var z,e;typeof n=="number"?(z=!0,e=n):(z=!1,e=n.length);var e1=typeof l=="string"?l:null,r1;if(h==q3?r1=f:r1=[Nu,v.stackAlloc,v.staticAlloc,v.dynamicAlloc][h===void 0?Yo:h](Math.max(e,e1?1:l.length)),z){var f=r1,x2;for(Ge((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(e1==="i8")return n.subarray||n.slice?b7.set(n,r1):b7.set(new Uint8Array(n),r1),r1;for(var s=0,l1,C,S5;s>0],h|=f,!(f==0&&!l||(z++,l&&z==l)););l||(l=z);var e="";if(h<128){for(var e1=1024,r1;l>0;)r1=String.fromCharCode.apply(String,b7.subarray(n,n+Math.min(l,e1))),e=e?e+r1:r1,n+=e1,l-=e1;return e}return r.UTF8ToString(n)}r.Pointer_stringify=q$;function H$(n){for(var l="";;){var h=X9[n++>>0];if(!h)return l;l+=String.fromCharCode(h)}}r.AsciiToString=H$;function _B(n,l){return el(n,l,!1)}r.stringToAscii=_B;function zo(n,l){for(var h,f,z,e,e1,r1,x2="";;){if(h=n[l++],!h)return x2;if(!(h&128)){x2+=String.fromCharCode(h);continue}if(f=n[l++]&63,(h&224)==192){x2+=String.fromCharCode((h&31)<<6|f);continue}if(z=n[l++]&63,(h&240)==224?h=(h&15)<<12|f<<6|z:(e=n[l++]&63,(h&248)==240?h=(h&7)<<18|f<<12|z<<6|e:(e1=n[l++]&63,(h&252)==248?h=(h&3)<<24|f<<18|z<<12|e<<6|e1:(r1=n[l++]&63,h=(h&1)<<30|f<<24|z<<18|e<<12|e1<<6|r1))),h<65536)x2+=String.fromCharCode(h);else{var s=h-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}r.UTF8ArrayToString=zo;function zp(n){return zo(b7,n)}r.UTF8ToString=zp;function Ur(n,l,h,f){if(!(f>0))return 0;for(var z=h,e=h+f-1,e1=0;e1=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|n.charCodeAt(++e1)&1023),r1<=127){if(h>=e)break;l[h++]=r1}else if(r1<=2047){if(h+1>=e)break;l[h++]=192|r1>>6,l[h++]=128|r1&63}else if(r1<=65535){if(h+2>=e)break;l[h++]=224|r1>>12,l[h++]=128|r1>>6&63,l[h++]=128|r1&63}else if(r1<=2097151){if(h+3>=e)break;l[h++]=240|r1>>18,l[h++]=128|r1>>12&63,l[h++]=128|r1>>6&63,l[h++]=128|r1&63}else if(r1<=67108863){if(h+4>=e)break;l[h++]=248|r1>>24,l[h++]=128|r1>>18&63,l[h++]=128|r1>>12&63,l[h++]=128|r1>>6&63,l[h++]=128|r1&63}else{if(h+5>=e)break;l[h++]=252|r1>>30,l[h++]=128|r1>>24&63,l[h++]=128|r1>>18&63,l[h++]=128|r1>>12&63,l[h++]=128|r1>>6&63,l[h++]=128|r1&63}}return l[h]=0,h-z}r.stringToUTF8Array=Ur;function Jp(n,l,h){return Ur(n,b7,l,h)}r.stringToUTF8=Jp;function Jo(n){for(var l=0,h=0;h=55296&&f<=57343&&(f=65536+((f&1023)<<10)|n.charCodeAt(++h)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}r.lengthBytesUTF8=Jo;function Kp(n){for(var l=0,h="";;){var f=jn[n+l*2>>1];if(f==0)return h;++l,h+=String.fromCharCode(f)}}r.UTF16ToString=Kp;function xB(n,l,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var f=l,z=h>1]=e1,l+=2}return jn[l>>1]=0,l-f}r.stringToUTF16=xB;function LB(n){return n.length*2}r.lengthBytesUTF16=LB;function MB(n){for(var l=0,h="";;){var f=G9[n+l*4>>2];if(f==0)return h;if(++l,f>=65536){var z=f-65536;h+=String.fromCharCode(55296|z>>10,56320|z&1023)}else h+=String.fromCharCode(f)}}r.UTF32ToString=MB;function RB(n,l,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var f=l,z=f+h-4,e=0;e=55296&&e1<=57343){var r1=n.charCodeAt(++e);e1=65536+((e1&1023)<<10)|r1&1023}if(G9[l>>2]=e1,l+=4,l+4>z)break}return G9[l>>2]=0,l-f}r.stringToUTF32=RB;function FB(n){for(var l=0,h=0;h=55296&&f<=57343&&++h,l+=4}return l}r.lengthBytesUTF32=FB;function TB(n){var l=!!r.___cxa_demangle;if(l)try{var h=Nu(n.length);jo(n.substr(1),h);var f=Nu(4),z=r.___cxa_demangle(h,0,0,f);if(yn(f,"i32")===0&&z)return q$(z)}catch{}finally{h&&SC(h),f&&SC(f),z&&SC(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:"..."},r1=[],x2=!0;function s(w2){w2&&r.print(w2),r.print(n);for(var P5="",U9=0;U9"}else W9=ie;e:for(;e0;){var vn=n[e++];if(vn in e1)Qe.push(e1[vn]);else switch(vn){case"P":Qe.push(C(!0,1,!0)[0]+"*");break;case"R":Qe.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var sl=n.indexOf("E",e),It=sl-e;Qe.push(n.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(n.substr(e));if(e+=It.toString().length,n[e]!=="_")throw"?";e++,Qe.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:W9+="?"+vn;break e}}return!U9&&Qe.length===1&&Qe[0]==="void"&&(Qe=[]),w2?(W9&&Qe.push(W9+"?"),Qe):W9+Dt()}var S5=n;try{if(n=="Object._main"||n=="_main")return"main()";if(typeof n=="number"&&(n=q$(n)),n[0]!=="_"||n[1]!=="_"||n[2]!=="Z")return n;switch(n[3]){case"n":return"operator new()";case"d":return"operator delete()"}S5=C()}catch{S5+="?"}return S5.indexOf("?")>=0&&!l&&v.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),S5}function NB(n){return n.replace(/__Z[\w\d_]+/g,function(l){var h=TB(l);return l===h?l:l+" ["+h+"]"})}function GB(){var n=new Error;if(!n.stack){try{throw new Error(0)}catch(l){n=l}if(!n.stack)return"(no stack trace available)"}return n.stack.toString()}function Wp(){return NB(GB())}r.stackTrace=Wp;var BC=4096;function _u(n){return n%4096>0&&(n+=4096-n%4096),n}var Zp,X9,b7,jn,V$,G9,nl,rl,Y$,Ko=0,Xn=0,z$=!1,xu=0,S7=0,J$=0,K$=0,O7=0;function yC(){ts("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Wo+", (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 jp=r.TOTAL_STACK||5242880,Wo=r.TOTAL_MEMORY||16777216,er=64*1024;er0;){var l=n.shift();if(typeof l=="function"){l();continue}var h=l.func;typeof h=="number"?l.arg===void 0?v.dynCall("v",h):v.dynCall("vi",h,[l.arg]):h(l.arg===void 0?null:l.arg)}}var Xp=[],Z$=[],Lu=[],j$=[],Mu=[],Ru=!1,Pr=!1;function Fu(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r.preRun]);r.preRun.length;)Gi(r.preRun.shift());W$(Xp)}function Zo(){Ru||(Ru=!0,W$(Z$))}function UB(){W$(Lu)}function eE(){W$(j$),Pr=!0}function X$(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=[r.postRun]);r.postRun.length;)QC(r.postRun.shift());W$(Mu)}function Gi(n){Xp.unshift(n)}r.addOnPreRun=r.addOnPreRun=Gi;function PB(n){Z$.unshift(n)}r.addOnInit=r.addOnInit=PB;function OB(n){Lu.unshift(n)}r.addOnPreMain=r.addOnPreMain=OB;function qB(n){j$.unshift(n)}r.addOnExit=r.addOnExit=qB;function QC(n){Mu.unshift(n)}r.addOnPostRun=r.addOnPostRun=QC;function tr(n,l,h){var f=h>0?h:Jo(n)+1,z=new Array(f),e=Ur(n,z,0,z.length);return l&&(z.length=e),z}r.intArrayFromString=tr;function wC(n){for(var l=[],h=0;h255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}r.intArrayToString=wC;function jo(n,l,h){for(var f=tr(n,h),z=0;z>0]=e,z=z+1}}r.writeStringToMemory=jo;function nA(n,l){for(var h=0;h>0]=n[h]}r.writeArrayToMemory=nA;function el(n,l,h){for(var f=0;f>0]=n.charCodeAt(f);h||(X9[l>>0]=0)}r.writeAsciiToMemory=el;function tE(n,l,h){return n>=0?n:l<=32?2*Math.abs(1<=f&&(l<=32||n>f)&&(n=-2*f+n),n}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,h){var f=l>>>16,z=l&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(n){n=n>>>0;for(var l=0;l<32;l++)if(n&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var il=Math.abs,vC=Math.cos,nn=Math.sin,F0=Math.tan,i1=Math.acos,w1=Math.asin,_2=Math.atan,i6=Math.atan2,E9=Math.exp,ee=Math.log,E6=Math.sqrt,v8=Math.ceil,H4=Math.floor,nt=Math.pow,M4=Math.imul,C9=Math.fround,Ui=Math.min,H7=Math.clz32,k8=0,Pi=null,V7=null;function Y7(n){return n}function Or(n){k8++,r.monitorRunDependencies&&r.monitorRunDependencies(k8)}r.addRunDependency=Or;function Qn(n){if(k8--,r.monitorRunDependencies&&r.monitorRunDependencies(k8),k8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),V7)){var l=V7;V7=null,l()}}r.removeRunDependency=Qn,r.preloadedImages={},r.preloadedAudios={};var iE=null,Tu=[];Ko=8,Xn=Ko+553552,Z$.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+41032),B3([1],"i8",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+72464),B3([1],"i8",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+551416);var bt=v.alignMemory(B3(12,"i8",Yo),8);Ge(bt%8==0);function kC(n){X9[bt]=X9[n],X9[bt+1]=X9[n+1],X9[bt+2]=X9[n+2],X9[bt+3]=X9[n+3]}function wn(n){X9[bt]=X9[n],X9[bt+1]=X9[n+1],X9[bt+2]=X9[n+2],X9[bt+3]=X9[n+3],X9[bt+4]=X9[n+4],X9[bt+5]=X9[n+5],X9[bt+6]=X9[n+6],X9[bt+7]=X9[n+7]}var rn=vC,rA=il,Xo=0;function es(n){return G9[Xo>>2]=n,n}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 HB(n){switch(n){case 30:return BC;case 85:return er/BC;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 es(N2.EINVAL),-1}r._memset=yS;var VB=!0;r._strlen=pS,r._strcat=ES,r._bitshift64Shl=kS;function qk(){r.abort()}r._i64Add=CS;var Hk=H4,Vk={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"},qr={ttys:[],init:function(){},shutdown:function(){},register:function(n,l){qr.ttys[n]={input:[],output:[],ops:l},S.registerDevice(n,qr.stream_ops)},stream_ops:{open:function(n){var l=qr.ttys[n.node.rdev];if(!l)throw new S.ErrnoError(N2.ENODEV);n.tty=l,n.seekable=!1},close:function(n){n.tty.ops.flush(n.tty)},flush:function(n){n.tty.ops.flush(n.tty)},read:function(n,l,h,f,z){if(!n.tty||!n.tty.ops.get_char)throw new S.ErrnoError(N2.ENXIO);for(var e=0,e1=0;e10?l=f.slice(0,z).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` `)):typeof readline=="function"&&(l=readline(),l!==null&&(l+=` -`));if(!l)return null;n.input=tr(l,!0)}return n.input.shift()},put_char:function(n,l){l===null||l===10?(r.print(zo(n.output,0)),n.output=[]):l!=0&&n.output.push(l)},flush:function(n){n.output&&n.output.length>0&&(r.print(zo(n.output,0)),n.output=[])}},default_tty1_ops:{put_char:function(n,l){l===null||l===10?(r.printErr(zo(n.output,0)),n.output=[]):l!=0&&n.output.push(l)},flush:function(n){n.output&&n.output.length>0&&(r.printErr(zo(n.output,0)),n.output=[])}}},M9={ops_table:null,mount:function(n){return M9.createNode(null,"/",16895,0)},createNode:function(n,l,h,f){if(S.isBlkdev(h)||S.isFIFO(h))throw new S.ErrnoError(N2.EPERM);M9.ops_table||(M9.ops_table={dir:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,lookup:M9.node_ops.lookup,mknod:M9.node_ops.mknod,rename:M9.node_ops.rename,unlink:M9.node_ops.unlink,rmdir:M9.node_ops.rmdir,readdir:M9.node_ops.readdir,symlink:M9.node_ops.symlink},stream:{llseek:M9.stream_ops.llseek}},file:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:{llseek:M9.stream_ops.llseek,read:M9.stream_ops.read,write:M9.stream_ops.write,allocate:M9.stream_ops.allocate,mmap:M9.stream_ops.mmap,msync:M9.stream_ops.msync}},link:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,readlink:M9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:S.chrdev_stream_ops}});var z=S.createNode(n,l,h,f);return S.isDir(z.mode)?(z.node_ops=M9.ops_table.dir.node,z.stream_ops=M9.ops_table.dir.stream,z.contents={}):S.isFile(z.mode)?(z.node_ops=M9.ops_table.file.node,z.stream_ops=M9.ops_table.file.stream,z.usedBytes=0,z.contents=null):S.isLink(z.mode)?(z.node_ops=M9.ops_table.link.node,z.stream_ops=M9.ops_table.link.stream):S.isChrdev(z.mode)&&(z.node_ops=M9.ops_table.chrdev.node,z.stream_ops=M9.ops_table.chrdev.stream),z.timestamp=Date.now(),n&&(n.contents[l]=z),z},getFileDataAsRegularArray:function(n){if(n.contents&&n.contents.subarray){for(var l=[],h=0;hn.contents.length&&(n.contents=M9.getFileDataAsRegularArray(n),n.usedBytes=n.contents.length),!n.contents||n.contents.subarray){var h=n.contents?n.contents.buffer.byteLength:0;if(h>=l)return;var f=1024*1024;l=Math.max(l,h*(h0&&n.contents.set(z.subarray(0,n.usedBytes),0);return}for(!n.contents&&l>0&&(n.contents=[]);n.contents.lengthl)n.contents.length=l;else for(;n.contents.length=n.node.usedBytes)return 0;var e1=Math.min(n.node.usedBytes-z,f);if(Ge(e1>=0),e1>8&&e.subarray)l.set(e.subarray(z,z+e1),h);else for(var r1=0;r10||z+fP5.timestamp)&&(z.push(S5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(S5){var w2=l.entries[S5],P5=n.entries[S5];P5||(e.push(S5),f++)}),!f)return h(null);var e1=!1,r1=0,x2=n.type==="remote"?n.db:l.db,s=x2.transaction([S8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(S8.DB_STORE_NAME);function C(S5){if(S5)return C.errored?void 0:(C.errored=!0,h(S5));if(++r1>=f)return h(null)}s.onerror=function(S5){C(this.error),S5.preventDefault()},z.sort().forEach(function(S5){l.type==="local"?S8.loadRemoteEntry(l1,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(l1,S5,P5,C)})}),e.sort().reverse().forEach(function(S5){l.type==="local"?S8.removeLocalEntry(S5,C):S8.removeRemoteEntry(l1,S5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(n){return Ge(u),ft.createNode(null,"/",ft.getMode(n.opts.root),0)},createNode:function(n,l,h,f){if(!S.isDir(h)&&!S.isFile(h)&&!S.isLink(h))throw new S.ErrnoError(N2.EINVAL);var z=S.createNode(n,l,h);return z.node_ops=ft.node_ops,z.stream_ops=ft.stream_ops,z},getMode:function(n){var l;try{l=b8.lstatSync(n),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}return l.mode},realPath:function(n){for(var l=[];n.parent!==n;)l.push(n.name),n=n.parent;return l.push(n.mount.opts.root),l.reverse(),m9.join.apply(null,l)},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(n){return n in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[n]:n},node_ops:{getattr:function(n){var l=ft.realPath(n),h;try{h=b8.lstatSync(l)}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(n,l){var h=ft.realPath(n);try{if(l.mode!==void 0&&(b8.chmodSync(h,l.mode),n.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);b8.utimesSync(h,f,f)}l.size!==void 0&&b8.truncateSync(h,l.size)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},lookup:function(n,l){var h=m9.join2(ft.realPath(n),l),f=ft.getMode(h);return ft.createNode(n,l,f)},mknod:function(n,l,h,f){var z=ft.createNode(n,l,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(n,l,h){var f=ft.realPath(n),z=m9.join2(ft.realPath(l),h);try{b8.renameSync(f,z)}catch(e){throw e.code?new S.ErrnoError(N2[e.code]):e}},unlink:function(n,l){var h=m9.join2(ft.realPath(n),l);try{b8.unlinkSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},rmdir:function(n,l){var h=m9.join2(ft.realPath(n),l);try{b8.rmdirSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},readdir:function(n){var l=ft.realPath(n);try{return b8.readdirSync(l)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},symlink:function(n,l,h){var f=m9.join2(ft.realPath(n),l);try{b8.symlinkSync(h,f)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},readlink:function(n){var l=ft.realPath(n);try{return l=b8.readlinkSync(l),l=JB.relative(JB.resolve(n.mount.opts.root),l),l}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}}},stream_ops:{open:function(n){var l=ft.realPath(n.node);try{S.isFile(n.node.mode)&&(n.nfd=b8.openSync(l,ft.flagsToPermissionString(n.flags)))}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},close:function(n){try{S.isFile(n.node.mode)&&n.nfd&&b8.closeSync(n.nfd)}catch(l){throw l.code?new S.ErrnoError(N2[l.code]):l}},read:function(n,l,h,f,z){if(f===0)return 0;var e=new Buffer(f),e1;try{e1=b8.readSync(n.nfd,e,0,f,z)}catch(x2){throw new S.ErrnoError(N2[x2.code])}if(e1>0)for(var r1=0;r18)throw new S.ErrnoError(N2.ELOOP);for(var z=m9.normalizeArray(n.split("/").filter(function(S5){return!!S5}),!1),e=S.root,e1="/",r1=0;r140)throw new S.ErrnoError(N2.ELOOP)}}return{path:e1,node:e}},getPath:function(n){for(var l;;){if(S.isRoot(n)){var h=n.mount.mountpoint;return l?h[h.length-1]!=="/"?h+"/"+l:h+l:h}l=l?n.name+"/"+l:n.name,n=n.parent}},hashName:function(n,l){for(var h=0,f=0;f>>0)%S.nameTable.length},hashAddNode:function(n){var l=S.hashName(n.parent.id,n.name);n.name_next=S.nameTable[l],S.nameTable[l]=n},hashRemoveNode:function(n){var l=S.hashName(n.parent.id,n.name);if(S.nameTable[l]===n)S.nameTable[l]=n.name_next;else for(var h=S.nameTable[l];h;){if(h.name_next===n){h.name_next=n.name_next;break}h=h.name_next}},lookupNode:function(n,l){var h=S.mayLookup(n);if(h)throw new S.ErrnoError(h,n);for(var f=S.hashName(n.id,l),z=S.nameTable[f];z;z=z.name_next){var e=z.name;if(z.parent.id===n.id&&e===l)return z}return S.lookup(n,l)},createNode:function(n,l,h,f){if(!S.FSNode){S.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=S.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},S.FSNode.prototype={};var z=365,e=146;Object.defineProperties(S.FSNode.prototype,{read:{get:function(){return(this.mode&z)===z},set:function(r1){r1?this.mode|=z:this.mode&=~z}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?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(n,l,h,f);return S.hashAddNode(e1),e1},destroyNode:function(n){S.hashRemoveNode(n)},isRoot:function(n){return n===n.parent},isMountpoint:function(n){return!!n.mounted},isFile:function(n){return(n&61440)===32768},isDir:function(n){return(n&61440)===16384},isLink:function(n){return(n&61440)===40960},isChrdev:function(n){return(n&61440)===8192},isBlkdev:function(n){return(n&61440)===24576},isFIFO:function(n){return(n&61440)===4096},isSocket:function(n){return(n&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(n){var l=S.flagModes[n];if(typeof l>"u")throw new Error("Unknown file open mode: "+n);return l},flagsToPermissionString:function(n){var l=n&2097155,h=["r","w","rw"][l];return n&512&&(h+="w"),h},nodePermissions:function(n,l){return S.ignorePermissions?0:l.indexOf("r")!==-1&&!(n.mode&292)||l.indexOf("w")!==-1&&!(n.mode&146)||l.indexOf("x")!==-1&&!(n.mode&73)?N2.EACCES:0},mayLookup:function(n){var l=S.nodePermissions(n,"x");return l||(n.node_ops.lookup?0:N2.EACCES)},mayCreate:function(n,l){try{var h=S.lookupNode(n,l);return N2.EEXIST}catch{}return S.nodePermissions(n,"wx")},mayDelete:function(n,l,h){var f;try{f=S.lookupNode(n,l)}catch(e){return e.errno}var z=S.nodePermissions(n,"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(n,l){return n?S.isLink(n.mode)?N2.ELOOP:S.isDir(n.mode)&&(l&2097155||l&512)?N2.EISDIR:S.nodePermissions(n,S.flagsToPermissionString(l)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(n,l){n=n||0,l=l||S.MAX_OPEN_FDS;for(var h=n;h<=l;h++)if(!S.streams[h])return h;throw new S.ErrnoError(N2.EMFILE)},getStream:function(n){return S.streams[n]},createStream:function(n,l,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 n)f[z]=n[z];n=f;var e=S.nextfd(l,h);return n.fd=e,S.streams[e]=n,n},closeStream:function(n){S.streams[n]=null},getStreamFromPtr:function(n){return S.streams[n-1]},getPtrForStream:function(n){return n?n.fd+1:0},chrdev_stream_ops:{open:function(n){var l=S.getDevice(n.node.rdev);n.stream_ops=l.stream_ops,n.stream_ops.open&&n.stream_ops.open(n)},llseek:function(){throw new S.ErrnoError(N2.ESPIPE)}},major:function(n){return n>>8},minor:function(n){return n&255},makedev:function(n,l){return n<<8|l},registerDevice:function(n,l){S.devices[n]={stream_ops:l}},getDevice:function(n){return S.devices[n]},getMounts:function(n){for(var l=[],h=[n];h.length;){var f=h.pop();l.push(f),h.push.apply(h,f.mounts)}return l},syncfs:function(n,l){typeof n=="function"&&(l=n,n=!1);var h=S.getMounts(S.root.mount),f=0;function z(e){if(e)return z.errored?void 0:(z.errored=!0,l(e));++f>=h.length&&l(null)}h.forEach(function(e){if(!e.type.syncfs)return z(null);e.type.syncfs(e,n,z)})},mount:function(n,l,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 r1={type:n,opts:l,mountpoint:h,mounts:[]},x2=n.mount(r1);return x2.mount=r1,r1.root=x2,f?S.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(n){var l=S.lookupPath(n,{follow_mount:!1});if(!S.isMountpoint(l.node))throw new S.ErrnoError(N2.EINVAL);var h=l.node,f=h.mounted,z=S.getMounts(f);Object.keys(S.nameTable).forEach(function(e1){for(var r1=S.nameTable[e1];r1;){var x2=r1.name_next;z.indexOf(r1.mount)!==-1&&S.destroyNode(r1),r1=x2}}),h.mounted=null;var e=h.mount.mounts.indexOf(f);Ge(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(n,l){return n.node_ops.lookup(n,l)},mknod:function(n,l,h){var f=S.lookupPath(n,{parent:!0}),z=f.node,e=m9.basename(n);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,l,h)},create:function(n,l){return l=l!==void 0?l:438,l&=4095,l|=32768,S.mknod(n,l,0)},mkdir:function(n,l){return l=l!==void 0?l:511,l&=1023,l|=16384,S.mknod(n,l,0)},mkdev:function(n,l,h){return typeof h>"u"&&(h=l,l=438),l|=8192,S.mknod(n,l,h)},symlink:function(n,l){if(!m9.resolve(n))throw new S.ErrnoError(N2.ENOENT);var h=S.lookupPath(l,{parent:!0}),f=h.node;if(!f)throw new S.ErrnoError(N2.ENOENT);var z=m9.basename(l),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,n)},rename:function(n,l){var h=m9.dirname(n),f=m9.dirname(l),z=m9.basename(n),e=m9.basename(l),e1,r1,x2;try{e1=S.lookupPath(n,{parent:!0}),r1=e1.node,e1=S.lookupPath(l,{parent:!0}),x2=e1.node}catch{throw new S.ErrnoError(N2.EBUSY)}if(!r1||!x2)throw new S.ErrnoError(N2.ENOENT);if(r1.mount!==x2.mount)throw new S.ErrnoError(N2.EXDEV);var s=S.lookupNode(r1,z),l1=m9.relative(n,f);if(l1.charAt(0)!==".")throw new S.ErrnoError(N2.EINVAL);if(l1=m9.relative(l,h),l1.charAt(0)!==".")throw new S.ErrnoError(N2.ENOTEMPTY);var C;try{C=S.lookupNode(x2,e)}catch{}if(s!==C){var S5=S.isDir(s.mode),w2=S.mayDelete(r1,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(!r1.node_ops.rename)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(s)||C&&S.isMountpoint(C))throw new S.ErrnoError(N2.EBUSY);if(x2!==r1&&(w2=S.nodePermissions(r1,"w"),w2))throw new S.ErrnoError(w2);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(n,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+n+"', '"+l+"') threw an exception: "+P5.message)}S.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{S.hashAddNode(s)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(n,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+n+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(n){var l=S.lookupPath(n,{parent:!0}),h=l.node,f=m9.basename(n),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(n)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+n+"') threw an exception: "+e1.message)}h.node_ops.rmdir(h,f),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(n)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+n+"') threw an exception: "+e1.message)}},readdir:function(n){var l=S.lookupPath(n,{follow:!0}),h=l.node;if(!h.node_ops.readdir)throw new S.ErrnoError(N2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(n){var l=S.lookupPath(n,{parent:!0}),h=l.node,f=m9.basename(n),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(n)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+n+"') threw an exception: "+e1.message)}h.node_ops.unlink(h,f),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(n)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+n+"') threw an exception: "+e1.message)}},readlink:function(n){var l=S.lookupPath(n),h=l.node;if(!h)throw new S.ErrnoError(N2.ENOENT);if(!h.node_ops.readlink)throw new S.ErrnoError(N2.EINVAL);return m9.resolve(S.getPath(l.node.parent),h.node_ops.readlink(h))},stat:function(n,l){var h=S.lookupPath(n,{follow:!l}),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(n){return S.stat(n,!0)},chmod:function(n,l,h){var f;if(typeof n=="string"){var z=S.lookupPath(n,{follow:!h});f=z.node}else f=n;if(!f.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(n,l){S.chmod(n,l,!0)},fchmod:function(n,l){var h=S.getStream(n);if(!h)throw new S.ErrnoError(N2.EBADF);S.chmod(h.node,l)},chown:function(n,l,h,f){var z;if(typeof n=="string"){var e=S.lookupPath(n,{follow:!f});z=e.node}else z=n;if(!z.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);z.node_ops.setattr(z,{timestamp:Date.now()})},lchown:function(n,l,h){S.chown(n,l,h,!0)},fchown:function(n,l,h){var f=S.getStream(n);if(!f)throw new S.ErrnoError(N2.EBADF);S.chown(f.node,l,h)},truncate:function(n,l){if(l<0)throw new S.ErrnoError(N2.EINVAL);var h;if(typeof n=="string"){var f=S.lookupPath(n,{follow:!0});h=f.node}else h=n;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:l,timestamp:Date.now()})},ftruncate:function(n,l){var h=S.getStream(n);if(!h)throw new S.ErrnoError(N2.EBADF);if(!(h.flags&2097155))throw new S.ErrnoError(N2.EINVAL);S.truncate(h.node,l)},utime:function(n,l,h){var f=S.lookupPath(n,{follow:!0}),z=f.node;z.node_ops.setattr(z,{timestamp:Math.max(l,h)})},open:function(n,l,h,f,z){if(n==="")throw new S.ErrnoError(N2.ENOENT);l=typeof l=="string"?S.modeStringToFlags(l):l,h=typeof h>"u"?438:h,l&64?h=h&4095|32768:h=0;var e;if(typeof n=="object")e=n;else{n=m9.normalize(n);try{var e1=S.lookupPath(n,{follow:!(l&131072)});e=e1.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new S.ErrnoError(N2.EEXIST)}else e=S.mknod(n,h,0),r1=!0;if(!e)throw new S.ErrnoError(N2.ENOENT);if(S.isChrdev(e.mode)&&(l&=-513),!r1){var x2=S.mayOpen(e,l);if(x2)throw new S.ErrnoError(x2)}l&512&&S.truncate(e,0),l&=-641;var s=S.createStream({node:e,path:S.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,z);s.stream_ops.open&&s.stream_ops.open(s),r.logReadFiles&&!(l&1)&&(S.readFiles||(S.readFiles={}),n in S.readFiles||(S.readFiles[n]=1,r.printErr("read file: "+n)));try{if(S.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=S.tracking.openFlags.READ),l&2097155&&(l1|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(n,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+n+"', flags) threw an exception: "+C.message)}return s},close:function(n){try{n.stream_ops.close&&n.stream_ops.close(n)}catch(l){throw l}finally{S.closeStream(n.fd)}},llseek:function(n,l,h){if(!n.seekable||!n.stream_ops.llseek)throw new S.ErrnoError(N2.ESPIPE);return n.position=n.stream_ops.llseek(n,l,h),n.ungotten=[],n.position},read:function(n,l,h,f,z){if(f<0||z<0)throw new S.ErrnoError(N2.EINVAL);if((n.flags&2097155)===1)throw new S.ErrnoError(N2.EBADF);if(S.isDir(n.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!n.stream_ops.read)throw new S.ErrnoError(N2.EINVAL);var e=!0;if(typeof z>"u")z=n.position,e=!1;else if(!n.seekable)throw new S.ErrnoError(N2.ESPIPE);var e1=n.stream_ops.read(n,l,h,f,z);return e||(n.position+=e1),e1},write:function(n,l,h,f,z,e){if(f<0||z<0)throw new S.ErrnoError(N2.EINVAL);if(!(n.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(S.isDir(n.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!n.stream_ops.write)throw new S.ErrnoError(N2.EINVAL);n.flags&1024&&S.llseek(n,0,2);var e1=!0;if(typeof z>"u")z=n.position,e1=!1;else if(!n.seekable)throw new S.ErrnoError(N2.ESPIPE);var r1=n.stream_ops.write(n,l,h,f,z,e);e1||(n.position+=r1);try{n.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(n.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(n,l,h){if(l<0||h<=0)throw new S.ErrnoError(N2.EINVAL);if(!(n.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(!S.isFile(n.node.mode)&&!S.isDir(node.mode))throw new S.ErrnoError(N2.ENODEV);if(!n.stream_ops.allocate)throw new S.ErrnoError(N2.EOPNOTSUPP);n.stream_ops.allocate(n,l,h)},mmap:function(n,l,h,f,z,e,e1){if((n.flags&2097155)===1)throw new S.ErrnoError(N2.EACCES);if(!n.stream_ops.mmap)throw new S.ErrnoError(N2.ENODEV);return n.stream_ops.mmap(n,l,h,f,z,e,e1)},msync:function(n,l,h,f,z){return!n||!n.stream_ops.msync?0:n.stream_ops.msync(n,l,h,f,z)},munmap:function(n){return 0},ioctl:function(n,l,h){if(!n.stream_ops.ioctl)throw new S.ErrnoError(N2.ENOTTY);return n.stream_ops.ioctl(n,l,h)},readFile:function(n,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var h,f=S.open(n,l.flags),z=S.stat(n),e=z.size,e1=new Uint8Array(e);return S.read(f,e1,0,e,0),l.encoding==="utf8"?h=zo(e1,0):l.encoding==="binary"&&(h=e1),S.close(f),h},writeFile:function(n,l,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(n,h.flags,h.mode);if(h.encoding==="utf8"){var z=new Uint8Array(Jo(l)+1),e=Ur(l,z,0,z.length);S.write(f,z,0,e,0,h.canOwn)}else h.encoding==="binary"&&S.write(f,l,0,l.length,0,h.canOwn);S.close(f)},cwd:function(){return S.currentPath},chdir:function(n){var l=S.lookupPath(n,{follow:!0});if(!S.isDir(l.node.mode))throw new S.ErrnoError(N2.ENOTDIR);var h=S.nodePermissions(l.node,"x");if(h)throw new S.ErrnoError(h);S.currentPath=l.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)),qr.register(S.makedev(5,0),qr.default_tty_ops),qr.register(S.makedev(6,0),qr.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var n;if(typeof crypto<"u"){var l=new Uint8Array(1);n=function(){return crypto.getRandomValues(l),l[0]}}else u?n=void 0:n=function(){return Math.random()*256|0};S.createDevice("/dev","random",n),S.createDevice("/dev","urandom",n),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createStandardStreams:function(){r.stdin?S.createDevice("/dev","stdin",r.stdin):S.symlink("/dev/tty","/dev/stdin"),r.stdout?S.createDevice("/dev","stdout",null,r.stdout):S.symlink("/dev/tty","/dev/stdout"),r.stderr?S.createDevice("/dev","stderr",null,r.stderr):S.symlink("/dev/tty1","/dev/stderr");var n=S.open("/dev/stdin","r");G9[Yk>>2]=S.getPtrForStream(n),Ge(n.fd===0,"invalid handle for stdin ("+n.fd+")");var l=S.open("/dev/stdout","w");G9[zk>>2]=S.getPtrForStream(l),Ge(l.fd===1,"invalid handle for stdout ("+l.fd+")");var h=S.open("/dev/stderr","w");G9[Jk>>2]=S.getPtrForStream(h),Ge(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(l,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(l),this.message=Vk[l]},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[N2.ENOENT].forEach(function(n){S.genericErrors[n]=new S.ErrnoError(n),S.genericErrors[n].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(M9,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices()},init:function(n,l,h){Ge(!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(),r.stdin=n||r.stdin,r.stdout=l||r.stdout,r.stderr=h||r.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;for(var n=0;nthis.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,U9=(P5=S5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",W9=1024*1024;U9||(W9=w2);var Qe=function(ie,It){if(ie>It)throw new Error("invalid range ("+ie+", "+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!==W9&&t4.setRequestHeader("Range","bytes="+ie+"-"+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||[]):tr(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(ie){var It=ie*W9,t4=(ie+1)*W9-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[ie]>"u"&&(Dt.chunks[ie]=Qe(It,t4)),typeof Dt.chunks[ie]>"u")throw new Error("doXHR failed!");return Dt.chunks[ie]}),this._length=w2,this._chunkSize=W9,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 r1={isDevice:!1,contents:e1}}else var r1={isDevice:!1,url:h};var x2=S.createFile(n,l,r1,f,z);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var S5=x2.stream_ops[C];s[C]=function(){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);return S5.apply(null,arguments)}}),s.read=function(S5,w2,P5,U9,W9){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);var Qe=S5.node.contents;if(W9>=Qe.length)return 0;var Dt=Math.min(Qe.length-W9,U9);if(Ge(Dt>=0),Qe.slice)for(var ie=0;ie=0;f--){var z=n[f];z==="."?n.splice(f,1):z===".."?(n.splice(f,1),h++):h&&(n.splice(f,1),h--)}if(l)for(;h--;h)n.unshift("..");return n},normalize:function(n){var l=n.charAt(0)==="/",h=n.substr(-1)==="/";return n=m9.normalizeArray(n.split("/").filter(function(f){return!!f}),!l).join("/"),!n&&!l&&(n="."),n&&h&&(n+="/"),(l?"/":"")+n},dirname:function(n){var l=m9.splitPath(n),h=l[0],f=l[1];return!h&&!f?".":(f&&(f=f.substr(0,f.length-1)),h+f)},basename:function(n){if(n==="/")return"/";var l=n.lastIndexOf("/");return l===-1?n:n.substr(l+1)},extname:function(n){return m9.splitPath(n)[3]},join:function(){var n=Array.prototype.slice.call(arguments,0);return m9.normalize(n.join("/"))},join2:function(n,l){return m9.normalize(n+"/"+l)},resolve:function(){for(var n="",l=!1,h=arguments.length-1;h>=-1&&!l;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"";n=f+"/"+n,l=f.charAt(0)==="/"}return n=m9.normalizeArray(n.split("/").filter(function(z){return!!z}),!l).join("/"),(l?"/":"")+n||"."},relative:function(n,l){n=m9.resolve(n).substr(1),l=m9.resolve(l).substr(1);function h(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=h(n.split("/")),z=h(l.split("/")),e=Math.min(f.length,z.length),e1=e,r1=0;r10){var r1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&r.ctx&&(r.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?v.dynCall("vi",n,[f]):v.dynCall("v",n)}),!(e0?nE(0,1e3/l):nE(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var n=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,YB(h,0,!1,J1.mainLoop.arg,!0),nE(n,l),J1.mainLoop.scheduler()},updateStatus:function(){if(r.setStatus){var n=r.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),r.noImageDecoding=!0);var n={};n.canHandle=function(e){return!r.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},n.handle=function(e,e1,r1,x2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(e1)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(e1)}))}catch(w2){v.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),S5=new Image;S5.onload=function(){Ge(S5.complete,"Image "+e1+" could not be decoded");var P5=document.createElement("canvas");P5.width=S5.width,P5.height=S5.height;var U9=P5.getContext("2d");U9.drawImage(S5,0,0),r.preloadedImages[e1]=P5,J1.URLObject.revokeObjectURL(C),r1&&r1(e)},S5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},S5.src=C},r.preloadPlugins.push(n);var l={};l.canHandle=function(e){return!r.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,e1,r1,x2){var s=!1;function l1(U9){s||(s=!0,r.preloadedAudios[e1]=U9,r1&&r1(e))}function C(){s||(s=!0,r.preloadedAudios[e1]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var S5=new Blob([e],{type:J1.getMimetype(e1)})}catch{return C()}var w2=J1.URLObject.createObjectURL(S5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(W9){if(s)return;console.log("warning: browser could not fully decode audio "+e1+", trying slower base64 approach");function Qe(Dt){for(var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",z7=0,J7=0,vn=0;vn=6;){var sl=z7>>J7-6&63;J7-=6,t4+=ie[sl]}return J7==2?(t4+=ie[(z7&3)<<4],t4+=It+It):J7==4&&(t4+=ie[(z7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+e1.substr(-3)+";base64,"+Qe(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},r.preloadPlugins.push(l);var h=r.canvas;function f(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),r.elementPointerLock&&h.addEventListener("click",function(z){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),z.preventDefault())},!1))},createContext:function(n,l,h,f){if(l&&r.ctx&&n==r.canvas)return r.ctx;var z,e;if(l){var e1={antialias:!1,alpha:!1};if(f)for(var r1 in f)e1[r1]=f[r1];e=GL.createContext(n,e1),e&&(z=GL.getContext(e).GLctx),n.style.backgroundColor="black"}else z=n.getContext("2d");return z?(h&&(l||Ge(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),r.ctx=z,l&&GL.makeContextCurrent(e),r.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),z):null},destroyContext:function(n,l,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(n,l,h){J1.lockPointer=n,J1.resizeCanvas=l,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=r.canvas;function z(){J1.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),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(e1.parentNode.insertBefore(f,e1),e1.parentNode.removeChild(e1),J1.resizeCanvas&&J1.setWindowedCanvasSize()),r.onFullScreen&&r.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.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(n){var l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-l,0);setTimeout(n,h)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(n){return function(){if(!P)return n.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var n=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],n.forEach(function(l){l()})}},safeRequestAnimationFrame:function(n){return J1.requestAnimationFrame(function(){P||(J1.allowAsyncCallbacks?n():J1.queuedAsyncCallbacks.push(n))})},safeSetTimeout:function(n,l){return r.noExitRuntime=!0,setTimeout(function(){P||(J1.allowAsyncCallbacks?n():J1.queuedAsyncCallbacks.push(n))},l)},safeSetInterval:function(n,l){return r.noExitRuntime=!0,setInterval(function(){P||J1.allowAsyncCallbacks&&n()},l)},getMimetype:function(n){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[n.substr(n.lastIndexOf(".")+1)]},getUserMedia:function(n){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(n)},getMovementX:function(n){return n.movementX||n.mozMovementX||n.webkitMovementX||0},getMovementY:function(n){return n.movementY||n.mozMovementY||n.webkitMovementY||0},getMouseWheelDelta:function(n){var l=0;switch(n.type){case"DOMMouseScroll":l=n.detail;break;case"mousewheel":l=n.wheelDelta;break;case"wheel":l=n.deltaY;break;default:throw"unrecognized mouse wheel event: "+n.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(n){if(J1.pointerLock)n.type!="mousemove"&&"mozMovementX"in n?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(n),J1.mouseMovementY=J1.getMovementY(n)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=r.canvas.getBoundingClientRect(),h=r.canvas.width,f=r.canvas.height,z=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(n.type==="touchstart"||n.type==="touchend"||n.type==="touchmove"){var e1=n.touch;if(e1===void 0)return;var r1=e1.pageX-(z+l.left),x2=e1.pageY-(e+l.top);r1=r1*(h/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(n.type==="touchstart")J1.lastTouches[e1.identifier]=s,J1.touches[e1.identifier]=s;else if(n.type==="touchend"||n.type==="touchmove"){var l1=J1.touches[e1.identifier];l1||(l1=s),J1.lastTouches[e1.identifier]=l1,J1.touches[e1.identifier]=s}return}var C=n.pageX-(z+l.left),S5=n.pageY-(e+l.top);C=C*(h/l.width),S5=S5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=S5-J1.mouseY,J1.mouseX=C,J1.mouseY=S5}},xhrLoad:function(n,l,h){var f=new XMLHttpRequest;f.open("GET",n,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):h()},f.onerror=h,f.send(null)},asyncLoad:function(n,l,h,f){J1.xhrLoad(n,function(z){Ge(z,'Loading data file "'+n+'" failed (no arrayBuffer).'),l(new Uint8Array(z)),f||Qn("al "+n)},function(z){if(h)h();else throw'Loading data file "'+n+'" failed.'}),f||Or("al "+n)},resizeListeners:[],updateResizeListeners:function(){var n=r.canvas;J1.resizeListeners.forEach(function(l){l(n.width,n.height)})},setCanvasSize:function(n,l,h){var f=r.canvas;J1.updateCanvasDimensions(f,n,l),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var n=nl[SDL.screen+v.QUANTUM_SIZE*0>>2];n=n|8388608,G9[SDL.screen+v.QUANTUM_SIZE*0>>2]=n}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var n=nl[SDL.screen+v.QUANTUM_SIZE*0>>2];n=n&-8388609,G9[SDL.screen+v.QUANTUM_SIZE*0>>2]=n}J1.updateResizeListeners()},updateCanvasDimensions:function(n,l,h){l&&h?(n.widthNative=l,n.heightNative=h):(l=n.widthNative,h=n.heightNative);var f=l,z=h;if(r.forcedAspectRatio&&r.forcedAspectRatio>0&&(f/z>2]=l),l}function $S(){r.printErr("missing function: floor0_exportbundle"),ts(-1)}if(Xo=v.staticAlloc(4),G9[Xo>>2]=0,r.requestFullScreen=function(l,h,f){J1.requestFullScreen(l,h,f)},r.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},r.setCanvasSize=function(l,h,f){J1.setCanvasSize(l,h,f)},r.pauseMainLoop=function(){J1.mainLoop.pause()},r.resumeMainLoop=function(){J1.mainLoop.resume()},r.getUserMedia=function(){J1.getUserMedia()},r.createContext=function(l,h,f,z){return J1.createContext(l,h,f,z)},S.staticInit(),Z$.unshift(function(){!r.noFSInit&&!S.init.initialized&&S.init()}),Lu.push(function(){S.ignorePermissions=!1}),j$.push(function(){S.quit()}),r.FS_createFolder=S.createFolder,r.FS_createPath=S.createPath,r.FS_createDataFile=S.createDataFile,r.FS_createPreloadedFile=S.createPreloadedFile,r.FS_createLazyFile=S.createLazyFile,r.FS_createLink=S.createLink,r.FS_createDevice=S.createDevice,Z$.unshift(function(){qr.init()}),j$.push(function(){qr.shutdown()}),u)var b8=void 0,JB=void 0;xu=S7=v.alignMemory(Xn),z$=!0,J$=xu+jp,K$=O7=v.alignMemory(J$),Ge(K$>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 sx(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 qS(t){t=t|0,Z6=t}function HS(){return Z6|0}function DC(t){t=t|0;var o=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,o=R9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function VS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,b=(B|0)==0,!b&&(D=a<<3,k=o-D|0,w=t+8|0,_=e[w>>2]|0,Q=_+a|0,e[$>>2]=Q,x=t+4|0,e[x>>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,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0;Y0=C,d=a>>>0>32;do if(!d){if(p=e[t>>2]|0,x=t+16|0,A0=e[x>>2]|0,c0=A0+-4|0,b0=(p|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,b0)H=g;else{if(N0=(g|0)==0,N0)return;if(K0=(A0|0)>2147483391,K0||(V0=t+8|0,j0=e[V0>>2]|0,I=A0+256|0,E=W7(j0,I)|0,y=(E|0)==0,y))break;e[V0>>2]=E,B=e[x>>2]|0,b=B+256|0,e[x>>2]=b,D=e[t>>2]|0,k=E+D|0,e[$>>2]=k,H=k}w=8+(a<<2)|0,_=e[w>>2]|0,Q=_&o,M=t+4|0,L=e[M>>2]|0,F=L+a|0,N=Q<>0]|0,V=O&255,J=V|N,t0=J&255,f[H>>0]=t0,Z=(F|0)>7;do if(Z&&(j=e[M>>2]|0,n0=8-j|0,s0=Q>>>n0,K=s0&255,o0=e[$>>2]|0,Y=o0+1|0,f[Y>>0]=K,h0=(F|0)>15,h0&&(i0=e[M>>2]|0,e0=16-i0|0,u0=Q>>>e0,$0=u0&255,l0=e[$>>2]|0,X=l0+2|0,f[X>>0]=$0,m0=(F|0)>23,m0&&(g0=e[M>>2]|0,I0=24-g0|0,r0=Q>>>I0,d0=r0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=d0,y0=(F|0)>31,y0))))if(D0=e[M>>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,S0=e[$>>2]|0,J0=S0+U0|0,e[$>>2]=J0,T0=F&7,e[M>>2]=T0;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 _C(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;d=C,o=t+8|0,a=e[o>>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 o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;y=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[o>>2]=d,p=d,f[p>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function xC(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,_=e[g>>2]|0,t0=t+4|0,e0=e[t0>>2]|0,p0=e0+o|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,w=k&255,Q=w>>>e0,x=(p0|0)>8,x?(M=D+1|0,L=f[M>>0]|0,F=L&255,N=8-e0|0,O=F<16,V?(J=D+2|0,Z=f[J>>0]|0,A0=Z&255,j=16-e0|0,n0=A0<24,K?(o0=D+3|0,Y=f[o0>>0]|0,h0=Y&255,i0=24-e0|0,u0=h0<>0]|0,g0=m0&255,I0=32-e0|0,r0=g0<>2]|0,b=$+o|0,D=e[t>>2]|0,k=t+16|0,w=e[k>>2]|0,_=b+7|0,Q=_>>3,x=w-Q|0,M=(D|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;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,L=y,e[a>>2]=L;return}}function n4(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0;M0=C,E=o>>>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+(o<<2)|0,F=e[y>>2]|0,s0=t+4|0,X=e[s0>>2]|0,E0=X+o|0,N0=e[t>>2]|0,U0=t+16|0,O0=e[U0>>2]|0,H0=O0+-4|0,B=(N0|0)<(H0|0),!B){if(b=E0+7|0,D=b>>3,k=O0-D|0,w=(N0|0)>(k|0),w){d=t,p=s0,v0=O0;break}if(_=(E0|0)==0,_)return a=0,a|0}return Q=t+12|0,x=e[Q>>2]|0,M=f[x>>0]|0,L=M&255,N=L>>>X,O=(E0|0)>8,O?(H=x+1|0,V=f[H>>0]|0,J=V&255,t0=8-X|0,Z=J<16,j?(n0=x+2|0,K=f[n0>>0]|0,o0=K&255,Y=16-X|0,h0=o0<24,e0?(u0=x+3|0,c0=f[u0>>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=N0+w0|0,e[t>>2]=x0,Z0=E0&7,e[s0>>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 o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,d=(g|0)/8&-1,p=d+o|0,p|0}function By(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function YS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=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=R9(16384)|0,e[t>>2]=k,w=R9(4096)|0,_=t+16|0,e[_>>2]=w,Q=R9(8192)|0,x=t+20|0,e[x>>2]=Q,M=(k|0)==0;do if(M)I=w;else{if(L=(w|0)==0,p=(Q|0)==0,F=p|L,F){E2(k),$=e[_>>2]|0,I=$;break}return b=t+336|0,e[b>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),y=e[x>>2]|0,B=(y|0)==0,B||E2(y),g4(t|0,0,360)|0,a=-1,a|0}function zS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0;return b=C,o=(t|0)==0,o||(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 JS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0;if(O0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,k=a+22|0,f[k>>0]=0,V=e[t>>2]|0,h0=V+23|0,f[h0>>0]=0,r0=e[t>>2]|0,D0=r0+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,w=d+v0|0,_=f[w>>0]|0,Q=_&255,x=Q^D,M=144+(x<<2)|0,L=e[M>>2]|0,F=L^b,N=v0+1|0,O=(N|0)<($|0),O)x0=F,v0=N;else{B0=F;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,N0=0;;)if(H=R0<<8,J=R0>>>24,t0=B+N0|0,Z=f[t0>>0]|0,A0=Z&255,j=A0^J,n0=144+(j<<2)|0,s0=e[n0>>2]|0,K=s0^H,o0=N0+1|0,Y=(o0|0)<(I|0),Y)R0=K,N0=o0;else{Z0=K;break}else Z0=B0;i0=Z0&255,e0=e[t>>2]|0,u0=e0+22|0,f[u0>>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,d0=I0+24|0,f[d0>>0]=g0,p0=Z0>>>24,C0=p0&255,b0=e[t>>2]|0,y0=b0+25|0,f[y0>>0]=C0}}function KS(t,o,a,$,g,d){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0;if(p2=C,r0=(t|0)==0,r0||(x0=e[t>>2]|0,M0=(x0|0)==0,M0))return I=-1,I|0;if(L0=(o|0)==0,L0)return I=0,I|0;X0=(a|0)>0;e:do if(X0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,A2=(q1|0)<0,w=2147483647-q1|0,J=(m2|0)>(w|0),G2=A2|J,G2){I=-1;break}if(i0=q1+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||(d0=e[k>>2]|0,p0=d0-g0|0,e[k>>2]=p0,C0=(d0|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),N0=t+16|0,U0=e[N0>>2]|0,O0=(U0|0)==0,O0||E2(U0),H0=t+20|0,S0=e[H0>>2]|0,J0=(S0|0)==0,J0||E2(S0),g4(t|0,0,360)|0,I=-1,I|0;if(T0=D0+a2|0,P0=(T0|0)<2147482623,W0=T0+1024|0,p=P0?W0:T0,K0=e[t>>2]|0,V0=W7(K0,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),s1=t+16|0,z0=e[s1>>2]|0,n1=(z0|0)==0,n1||E2(z0),o1=t+20|0,d1=e[o1>>2]|0,u1=(d1|0)==0,u1||E2(d1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(p1=WS(t,X)|0,f1=(p1|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=o+(D2<<3)|0,L1=e[S1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ge(v1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[k>>2]|0,U1=F1+R1|0,e[k>>2]=U1,D1=D2+1|0,n2=(D1|0)==(a|0),!n2;)k1=U1,D2=D1;if(h1=(a2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,h1){for(B1=t+352|0,m1=t+20|0,Q1=e[m1>>2]|0,C1=(l0|0)>1,y2=0;P1=c1+y2|0,X1=$1+(P1<<2)|0,e[X1>>2]=255,G1=B1,x1=G1,K1=e[x1>>2]|0,H1=G1+4|0,V1=H1,Y1=e[V1>>2]|0,t2=Q1+(P1<<3)|0,s2=t2,e2=s2,e[e2>>2]=K1,O1=s2+4|0,h2=O1,e[h2>>2]=Y1,Z1=y2+1|0,I2=(Z1|0)<(l0|0),I2;)y2=Z1;M2=C1?l0:1,B=B1,c2=Q1,S2=M2}else E=t+20|0,b=e[E>>2]|0,D=t+352|0,B=D,c2=b,S2=0;return C2=(a2|0)%255&-1,$2=c1+S2|0,W1=$1+($2<<2)|0,e[W1>>2]=C2,f2=c2+($2<<3)|0,r2=f2,g2=r2,e[g2>>2]=g,o2=r2+4|0,l2=o2,e[l2>>2]=d,i2=B,_=i2,e[_>>2]=g,Q=i2+4|0,x=Q,e[x>>2]=d,M=$1+(c1<<2)|0,L=e[M>>2]|0,F=L|256,e[M>>2]=F,N=c1+X|0,e[A1>>2]=N,O=t+344|0,H=O,V=H,t0=e[V>>2]|0,Z=H+4|0,A0=Z,j=e[A0>>2]|0,n0=rs(t0|0,j|0,1,0)|0,s0=Z6,K=O,o0=K,e[o0>>2]=n0,Y=K+4|0,h0=Y,e[h0>>2]=s0,e0=($|0)==0,e0?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function AE(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0;return M=C,C=C+16|0,Q=M,a=e[o>>2]|0,e[Q>>2]=a,$=o+4|0,E=e[$>>2]|0,y=Q+4|0,e[y>>2]=E,B=o+12|0,b=e[B>>2]|0,D=o+16|0,k=D,w=k,_=e[w>>2]|0,g=k+4|0,d=g,p=e[d>>2]|0,I=KS(t,Q,1,b,_,p)|0,C=M,I|0}function yy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=wy(t,o,1,4096)|0,a|0}function Qy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0;return M=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?x=7:_=0):Q?_=0:x=7,(x|0)==7&&(_=1),w=wy(t,o,_,4096)|0,a=w,a|0)}function WS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=0;return d0=C,g=t+24|0,d=e[g>>2]|0,Q=d-o|0,Z=t+28|0,u0=e[Z>>2]|0,l0=(Q|0)>(u0|0),l0?($=0,$|0):(X=2147483647-o|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+o|0,k=(D|0)<2147483615,w=D+32|0,a=k?w:D,_=t+16|0,x=e[_>>2]|0,M=a<<2,L=W7(x,M)|0,F=(L|0)==0,F?(N=e[t>>2]|0,O=(N|0)==0,O||E2(N),H=e[_>>2]|0,V=(H|0)==0,V||E2(H),J=t+20|0,t0=e[J>>2]|0,A0=(t0|0)==0,A0||E2(t0),g4(t|0,0,360)|0,$=-1,$|0):(e[_>>2]=L,j=t+20|0,n0=e[j>>2]|0,s0=a<<3,K=W7(n0,s0)|0,o0=(K|0)==0,o0?(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]=K,e[g>>2]=a,$=0,$|0))))}function wy(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0;if(b5=C,Q=t+28|0,x=e[Q>>2]|0,d1=(x|0)>255,g=d1?255:x,m1=(t|0)==0,m1||(R1=e[t>>2]|0,V1=(R1|0)==0,$2=(g|0)==0,_3=$2|V1,_3))return d=0,d|0;n2=t+332|0,J2=e[n2>>2]|0,j2=(J2|0)==0;e:do if(j2)for(y0=t+16|0,g3=0;;){if(U0=(g3|0)<(g|0),!U0){I=a,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,J5=g3,Y5=14;break e}if(j0=e[y0>>2]|0,z0=j0+(g3<<2)|0,n1=e[z0>>2]|0,L0=n1&255,o1=(L0|0)==255,u1=g3+1|0,o1)g3=u1;else{I=a,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,J5=u1,Y5=14;break}}else if(M=(g|0)>0,M){for(j=t+16|0,$0=t+20|0,Q5=0,_5=-1,d5=-1,l5=-1,X2=-1,d2=-1,v5=-1,n5=-1,a5=-1,t3=0,G3=0,Q3=0;;){if(p1=(Q5|0)>($|0),f1=(t3|0)>3,H3=p1&f1,H3){p=1,q5=_5,M5=d5,z2=l5,C5=X2,$5=d2,h5=v5,w5=n5,T1=a5,u3=Q3;break}if(h1=e[j>>2]|0,A1=h1+(Q3<<2)|0,c1=e[A1>>2]|0,a1=c1&255,$1=a1+Q5|0,X0=(a1|0)==255,X0?(f5=_5,K2=d5,I5=l5,r5=X2,R5=d2,e5=v5,c5=n5,T2=a5,a6=0,V3=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=os(v1|0,L1|0,8)|0,F1=Z6,U1=_1&255,D1=os(v1|0,L1|0,16)|0,P1=Z6,X1=D1&255,G1=os(v1|0,L1|0,24)|0,x1=Z6,K1=G1&255,q1=L1&255,H1=os(v1|0,L1|0,40)|0,Y1=Z6,t2=H1&255,s2=os(v1|0,L1|0,48)|0,e2=Z6,O1=s2&255,h2=os(v1|0,L1|0,56)|0,Z1=Z6,I2=h2&255,f5=b1,K2=X1,I5=K1,r5=q1,R5=t2,e5=O1,c5=I2,T2=U1,a6=M1,V3=M1),A2=Q3+1|0,C2=(A2|0)<(g|0),C2)Q5=$1,_5=f5,d5=K2,l5=I5,X2=r5,d2=R5,v5=e5,n5=c5,a5=T2,t3=a6,G3=V3,Q3=A2;else{p=a,q5=f5,M5=K2,z2=I5,C5=r5,$5=R5,h5=e5,w5=c5,T1=T2,u3=A2;break}}W1=(u3|0)==255,W1?(a3=q5,y3=M5,G5=z2,Z5=C5,x3=$5,f3=h5,w3=w5,e6=T1,H5=255):(I=p,k5=q5,z5=M5,i3=z2,B5=C5,I3=$5,d3=h5,W5=w5,n3=T1,J5=u3,Y5=14)}else I=a,k5=-1,z5=-1,i3=-1,B5=-1,I3=-1,d3=-1,W5=-1,n3=-1,J5=0,Y5=14;while(!1);if((Y5|0)==14){if(f2=(I|0)==0,f2)return d=0,d|0;a3=k5,y3=z5,G5=i3,Z5=B5,x3=I3,f3=d3,w3=W5,e6=n3,H5=J5}if(c2=t+40|0,f[c2>>0]=79,f[c2+1>>0]=103,f[c2+2>>0]=103,f[c2+3>>0]=83,r2=t+44|0,f[r2>>0]=0,g2=t+45|0,f[g2>>0]=0,o2=t+16|0,l2=e[o2>>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[g2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,y2=(S2|0)!=0,G2=(x|0)==(H5|0),X5=y2&G2,X5&&(y=j2?k2:m2,M2=y|4,O2=M2&255,f[g2>>0]=O2),e[n2>>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,x5=t5>>>8,p5=x5&255,D5=t+55|0,f[D5>>0]=p5,V5=t5>>>16,u5=V5&255,b2=t+56|0,f[b2>>0]=u5,y5=t5>>>24,s5=y5&255,F2=t+57|0,f[F2>>0]=s5,R2=t+340|0,Q2=e[R2>>2]|0,L=(Q2|0)==-1,L?(e[R2>>2]=0,N=0):N=Q2,F=N+1|0,e[R2>>2]=F,O=N&255,H=t+58|0,f[H>>0]=O,V=N>>>8,J=V&255,t0=t+59|0,f[t0>>0]=J,Z=N>>>16,A0=Z&255,n0=t+60|0,f[n0>>0]=A0,s0=N>>>24,K=s0&255,o0=t+61|0,f[o0>>0]=K,Y=t+62|0,h0=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]=h0,e0=(H5|0)>0,e0){if(u0=e[l2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,X=u0&255,L5=(H5|0)==1,L5)B=X;else for(g0=1,D0=X;;)if(D=e[o2>>2]|0,m0=D+(g0<<2)|0,I0=e[m0>>2]|0,r0=I0&255,d0=g0+27|0,p0=(t+40|0)+d0|0,f[p0>>0]=r0,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,w=e[Q>>2]|0,_=e[o2>>2]|0,v0=k,S0=w,T0=_,N5=B}else v0=R1,S0=x,T0=l2,N5=0;return e[o>>2]=c2,Q0=H5+27|0,w0=t+324|0,e[w0>>2]=Q0,B0=o+4|0,e[B0>>2]=Q0,x0=t+12|0,Z0=e[x0>>2]|0,R0=v0+Z0|0,N0=o+8|0,e[N0>>2]=R0,O0=o+12|0,e[O0>>2]=N5,H0=S0-H5|0,e[Q>>2]=H0,J0=T0+(H5<<2)|0,M0=H0<<2,lA(T0|0,J0|0,M0|0)|0,P0=t+20|0,W0=e[P0>>2]|0,K0=W0+(H5<<3)|0,V0=e[Q>>2]|0,q0=V0<<3,lA(W0|0,K0|0,q0|0)|0,Y0=e[x0>>2]|0,s1=Y0+N5|0,e[x0>>2]=s1,JS(o),d=1,d|0}function ZS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=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),w=g+44|0,Q=e[w>>2]|0,mi(Q),x=g+48|0,M=e[x>>2]|0,mi(M),L=g+52|0,F=e[L>>2]|0,mi(F),N=g+56|0,O=e[N>>2]|0,mi(O),H=g+60|0,V=e[H>>2]|0,mi(V),J=g+64|0,Z=e[J>>2]|0,mi(Z),A0=g+68|0,j=e[A0>>2]|0,mi(j),n0=e[6416]|0,s0=n0+12|0,K=e[s0>>2]|0,o0=nQ[K&1](t)|0,Y=(o0|0)==0,Y?(h0=(o|0)==0,h0?(a=0,a|0):(i0=Pu(t)|0,u0=(i0|0)==0,u0?(c0=t+4|0,$0=By(c0)|0,e[o>>2]=$0,l0=D8(c0)|0,X=o+4|0,e[X>>2]=l0,m0=o+8|0,e[m0>>2]=0,g0=t+44|0,I0=e[g0>>2]|0,r0=o+12|0,e[r0>>2]=I0,d0=t+48|0,C0=d0,b0=C0,y0=e[b0>>2]|0,D0=C0+4|0,E0=D0,Q0=e[E0>>2]|0,w0=o+16|0,B0=w0,x0=B0,e[x0>>2]=y0,Z0=B0+4|0,v0=Z0,e[v0>>2]=Q0,N0=t+56|0,U0=N0,O0=U0,H0=e[O0>>2]|0,S0=U0+4|0,J0=S0,T0=e[J0>>2]|0,M0=o+24|0,P0=M0,K0=P0,e[K0>>2]=H0,V0=P0+4|0,j0=V0,e[j0>>2]=T0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function jS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=0,p0=0,C0=0,b0=0,y0=0,D0=0;y0=C,a=t+28|0,$=e[a>>2]|0,C0=o,D0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(D0|0));w=$+3372|0,J=e[w>>2]|0,i0=(J|0)>0,i0&&(g0=t+8|0,I0=e[g0>>2]|0,r0=e[$>>2]|0,d0=r0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(r0|0)&-1,p=o+24|0,e[p>>2]=d,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,y=+(E|0),B=+(d0|0),b=y*B,D=+(I0|0),k=b/D,_=+K7(k),Q=~~_,x=o+12|0,e[x>>2]=Q,M=$+3364|0,L=e[M>>2]|0,F=+(L|0),N=F*B,O=N/D,H=+K7(O),V=~~H,t0=o+16|0,e[t0>>2]=V,Z=$+3368|0,A0=e[Z>>2]|0,j=+(A0|0),n0=j*B,s0=n0/D,K=+K7(s0),o0=~~K,Y=o+20|0,e[Y>>2]=o0,h0=o+32|0,l1[h0>>3]=7,e0=+(J|0),u0=$+3376|0,c0=+l1[u0>>3],$0=e0*c0,l0=~~$0,X=o+8|0,e[X>>2]=l0,m0=o+4|0,e[m0>>2]=l0)}function XS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Pu(t){t=t|0;var o=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,o=E&1,o|0}function eb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=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,M5=b2+104|0,d2=e[M5>>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=+l1[b>>3],o0=+K7(O),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,J0=e[w0>>2]|0,z0=D8(J0)|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,x5=e[T5>>2]|0,Y=p2,D0=T5,B0=x5):(j2=d2+104|0,p5=e[j2>>2]|0,D5=d2+100|0,V5=e[D5>>2]|0,u5=o5(p5,p2)|0,y5=o5(p5,V5)|0,Y=u5,D0=D5,B0=y5),s5=U5+(x1<<2)|0,F2=e[s5>>2]|0,R2=F2>>1,Q2=U5+3372|0,Q5=e[Q2>>2]|0,N5=+(Q5|0),E5=U5+3376|0,L5=+l1[E5>>3],q5=N5*L5,z2=~~q5,C5=d2+80|0,$5=e[C5>>2]|0,h5=($5|0)==0,w5=d2+120|0,h5)return T1=e[w5>>2]|0,_5=(T1|0)==0,_5?(e[w5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[w5>>2]=t,d5=d2+92|0,l5=e[d5>>2]|0,X2=(l5|0)>0,X2){I2?c5=l5:(v5=d2+104|0,n5=e[v5>>2]|0,a5=o5(n5,l5)|0,c5=a5),f5=U5+3384|0,K2=+l1[f5>>3],I5=15/K2,r5=d2+84|0,R5=e[r5>>2]|0,e5=a1-c5|0,k5=R5+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,d3=I3+R5|0,W5=(d3|0)>(z2|0),W5)for(z3=g0;;){if(n3=z3+-1|0,a3=(B+12|0)+(n3<<2)|0,y3=e[a3>>2]|0,Z5=D8(y3)|0,x3=Z5<<3,f3=(z3|0)>1,w3=(x3|0)>(c5|0),L6=w3&f3,!L6){j5=n3;break e}if(I=e[r5>>2]|0,e6=x3-c5|0,H3=e6+I|0,X5=(H3|0)>(z2|0),X5)z3=n3;else{j5=n3;break}}else j5=g0;else j5=g0;else if(_3=(k5|0)<(z2|0),_3)if(t3=g0+1|0,a6=(t3|0)<15,V3=(a1|0)<(c5|0),r6=V3&a6,r6)if(c3=a1-c5|0,g3=c3+R5|0,u3=(g3|0)<(z2|0),u3)for(J5=t3;;){if(Q3=(B+12|0)+(J5<<2)|0,H5=e[Q3>>2]|0,Y5=D8(H5)|0,b5=Y5<<3,Y3=J5+1|0,l6=(Y3|0)<15,r3=(b5|0)<(c5|0),S6=r3&l6,!S6){j5=J5;break e}if(p=e[r5>>2]|0,l3=b5-c5|0,U3=l3+p|0,C6=(U3|0)<(z2|0),C6)J5=Y3;else{j5=J5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+l1[b>>3],D3=b3-L3,A6=+K7(D3),n6=+(R2|0),D=A6/n6,k=G5+8|0,w=e[k>>2]|0,_=+(w|0),Q=_*D,x=-I5,M=QI5,R3=L?I5:v6,F=R3/_,N=F*n6,H=N+L3,l1[b>>3]=H,V=+K7(H),J=~~V,t0=(B+12|0)+(J<<2)|0,Z=e[t0>>2]|0,A0=D8(Z)|0,j=A0<<3,E=e[i2>>2]|0,n0=E,M3=J,o6=j}else n0=p2,M3=g0,o6=a1;s0=(n0|0)>0,K=(o6|0)<(Y|0),f6=K&s0;e:do if(f6)if(h0=d2+88|0,i0=e[h0>>2]|0,e0=o6-Y|0,u0=e0+i0|0,c0=(u0|0)<0,c0)for(h3=M3,s6=o6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){J3=$0,B6=s6;break e}if(X=(B+12|0)+($0<<2)|0,m0=e[X>>2]|0,I0=D8(m0)|0,r0=I0<<3,d0=e[h0>>2]|0,p0=r0-Y|0,C0=p0+d0|0,b0=(C0|0)<0,b0)h3=$0,s6=r0;else{J3=$0,B6=r0;break}}else J3=M3,B6=o6;else J3=M3,B6=o6;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,N0=e[Q2>>2]|0,U0=(v0|0)>(N0|0),U0)for(d6=J3,K3=B6;;){if(O0=d6+-1|0,H0=(d6|0)<1,H0){m3=O0,F3=K3;break e}if(S0=(B+12|0)+(O0<<2)|0,T0=e[S0>>2]|0,M0=D8(T0)|0,P0=M0<<3,W0=e[x0>>2]|0,K0=P0-B0|0,V0=K0+W0|0,j0=e[Q2>>2]|0,q0=(V0|0)>(j0|0),q0)d6=O0,K3=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)s1=e[Q2>>2]|0,n1=d2+88|0,L0=e[n1>>2]|0,o1=s1+B0|0,d1=o1-L0|0,u1=(d1|0)/8&-1,p1=d2+124|0,e[p1>>2]=0,f1=B+12|0,h1=e[f1>>2]|0,A1=D8(h1)|0,c1=(A1|0)>(u1|0),c1?($1=e[f1>>2]|0,X0=u1<<3,VS($1,X0),B1=e[f1>>2]|0,m1=D8(B1)|0,Q1=m1<<3,W3=Q1):W3=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,U1=S1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,x6=U1;;)if(X1=x6+-1|0,H2(G1,0,8),K1=(x6|0)>1,q1=e[_1>>2]|0,K1)G1=q1,x6=X1;else{d=q1;break}else d=P1;H1=D8(d)|0,V1=H1<<3,W3=V1}Y1=e[i2>>2]|0,t2=(Y1|0)>0,t2?t6=37:(s2=e[D0>>2]|0,e2=(s2|0)>0,e2&&(t6=37));do if((t6|0)==37){if(O1=(B0|0)>0,h2=(W3|0)>(B0|0),N6=O1&h2,N6){A2=W3-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,c2=(W3|0)<(Y|0),j6=f2&c2,j6){r2=W3-Y|0,g2=d2+88|0,o2=e[g2>>2]|0,l2=r2+o2|0,e[g2>>2]=l2;break}if(a2=d2+88|0,m2=e[a2>>2]|0,n2=(m2|0)>(z2|0),n2)if(O1){k2=W3-B0|0,D2=m2+k2|0,S2=(D2|0)<(z2|0),o=S2?z2:D2,e[a2>>2]=o;break}else{e[a2>>2]=z2;break}else if(f2){y2=W3-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,J2=(q2|0)==0,J2?Y2=O2:(U2=d2+104|0,V2=e[U2>>2]|0,Z2=o5(V2,O2)|0,Y2=Z2),A5=W3-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 vy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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=(o|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=By(D)|0,e[o>>2]=k,w=e[b>>2]|0,Q=D8(w)|0,x=o+4|0,e[x>>2]=Q,M=o+8|0,e[M>>2]=0,L=t0+44|0,F=e[L>>2]|0,N=o+12|0,e[N>>2]=F,O=t0+48|0,H=O,V=H,J=e[V>>2]|0,Z=H+4|0,A0=Z,j=e[A0>>2]|0,n0=o+16|0,s0=n0,K=s0,e[K>>2]=J,o0=s0+4|0,Y=o0,e[Y>>2]=j,h0=t0+56|0,i0=h0,u0=i0,c0=e[u0>>2]|0,$0=i0+4|0,l0=$0,X=e[l0>>2]|0,m0=o+24|0,g0=m0,I0=g0,e[I0>>2]=c0,r0=g0+4|0,d0=r0,e[d0>>2]=X),e[_>>2]=0,a=1,a|0)}function tb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0;N=C,L=o,O=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(O|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,y=o+68|0,e[y>>2]=0,B=e[t>>2]|0,b=(B|0)==0,b)return 0;for(D=ce(1,72)|0,k=o+104|0,e[k>>2]=D,w=D+4|0,s[w>>2]=-9999,_=o+4|0,Q=D+12|0,g=D+40|0,M=0;;)if(d=(M|0)==7,d){e[g>>2]=_,DC(_),M=8;continue}else{if(p=ce(1,20)|0,I=Q+(M<<2)|0,e[I>>2]=p,DC(p),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function W8(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0;return Z=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,F=L+$|0,N=t+76|0,O=e[N>>2]|0,H=(F|0)>(O|0),V=t+68|0,J=e[V>>2]|0,H?(g=(J|0)==0,g||(d=J,p=R9(8)|0,I=t+80|0,E=e[I>>2]|0,y=E+L|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[N>>2]=$,k=R9($)|0,e[V>>2]=k,e[w>>2]=0,Q=k,x=0,_=Q+x|0,M=x+$|0,e[w>>2]=M,_|0):(Q=J,x=L,_=Q+x|0,M=x+$|0,e[w>>2]=M,_|0)}function ib(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=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,J=(V|0)==0,!J)for(o0=V;t0=o0+4|0,Z=e[t0>>2]|0,A0=e[o0>>2]|0,E2(A0),E2(o0),j=(Z|0)==0,!j;)o0=Z;if(n0=t+80|0,d=e[n0>>2]|0,p=(d|0)==0,o=t+68|0,a=e[o>>2]|0,p?Q=a:(I=t+76|0,E=e[I>>2]|0,y=E+d|0,B=W7(a,y)|0,e[o>>2]=B,b=e[n0>>2]|0,D=e[I>>2]|0,k=D+b|0,e[I>>2]=k,e[n0>>2]=0,Q=B),w=t+72|0,e[w>>2]=0,e[_>>2]=0,x=(Q|0)==0,x||E2(Q),M=(g|0)==0,M){Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}else K=0;for(;;){if(L=(g+12|0)+(K<<2)|0,F=e[L>>2]|0,_C(F),N=(K|0)==7,N){K=8;continue}if(O=e[L>>2]|0,E2(O),H=K+1|0,s0=(H|0)==15,s0)break;K=H}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,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0;return x=C,$=ob(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,y=e[E>>2]|0,B=Tb(o)|0,b=y+60|0,e[b>>2]=B,D=ce(1,180)|0,e[y>>2]=D,lb(D,o),k=y+80|0,jS(o,k),w=t+64|0,_=w,d=_,e[d>>2]=3,p=_+4|0,I=p,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function ky(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0;if(q2=C,B=(t|0)==0,!B){if(b=t+4|0,w0=e[b>>2]|0,J0=(w0|0)!=0,J0?(z0=w0+28|0,a1=e[z0>>2]|0,S0=a1):S0=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||(cb(l2),H=e[x1>>2]|0,E2(H)),Y=x1+12|0,I0=e[Y>>2]|0,C0=(I0|0)==0,C0||(b0=e[I0>>2]|0,TC(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,TC(Z0),R0=e[Q0>>2]|0,v0=e[R0>>2]|0,E2(v0),N0=e[Q0>>2]|0,E2(N0)),U0=x1+48|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0){if(T0=(S0|0)==0,T0)C1=O0;else if(M0=S0+16|0,P0=e[M0>>2]|0,W0=(P0|0)>0,W0){if(K0=S0+800|0,V0=e[K0>>2]|0,j0=25640+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+16|0,s1=e[Y0>>2]|0,n1=e[O0>>2]|0,as[s1&7](n1),L0=e[M0>>2]|0,o1=(L0|0)>1,o1)for(u1=1;o=e[U0>>2]|0,d1=K0+(u1<<2)|0,p1=e[d1>>2]|0,f1=25640+(p1<<2)|0,h1=e[f1>>2]|0,A1=h1+16|0,c1=e[A1>>2]|0,$1=o+(u1<<2)|0,X0=e[$1>>2]|0,as[c1&7](X0),B1=u1+1|0,m1=e[M0>>2]|0,Q1=(B1|0)<(m1|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=(S0|0)==0,S1)W1=v1;else if(M1=S0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=S0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,X1=e[P1>>2]|0,G1=e[v1>>2]|0,as[X1&7](G1),K1=e[M1>>2]|0,q1=(K1|0)>1,q1)for(V1=1;$=e[y1>>2]|0,H1=R1+(V1<<2)|0,Y1=e[H1>>2]|0,t2=25648+(Y1<<2)|0,s2=e[t2>>2]|0,e2=s2+16|0,O1=e[e2>>2]|0,h2=$+(V1<<2)|0,I2=e[h2>>2]|0,as[O1&7](I2),A2=V1+1|0,C2=e[M1>>2]|0,$2=(A2|0)<(C2|0),$2;)V1=A2;g=e[y1>>2]|0,W1=g}else W1=v1;E2(W1)}if(f2=x1+56|0,c2=e[f2>>2]|0,r2=(c2|0)==0,!r2){if(g2=(S0|0)==0,g2)M2=c2;else if(o2=S0+28|0,i2=e[o2>>2]|0,a2=(i2|0)>0,a2){if(Fy(c2),m2=e[o2>>2]|0,n2=(m2|0)>1,n2)for(D2=1;d=e[f2>>2]|0,k2=d+(D2*52|0)|0,Fy(k2),S2=D2+1|0,y2=e[o2>>2]|0,G2=(S2|0)<(y2|0),G2;)D2=S2;p=e[f2>>2]|0,M2=p}else M2=c2;E2(M2)}k=x1+60|0,w=e[k>>2]|0,_=(w|0)==0,_||Nb(w),Q=x1+80|0,XS(Q),x=x1+20|0,Yy(x),M=x1+32|0,Yy(M)}if(L=t+8|0,F=e[L>>2]|0,N=(F|0)==0,!N){if(J0)if(O=w0+4|0,V=e[O>>2]|0,J=(V|0)>0,J){for(Z=F,p0=V,O2=0;t0=Z+(O2<<2)|0,A0=e[t0>>2]|0,j=(A0|0)==0,j?K=p0:(E2(A0),E=e[O>>2]|0,K=E),n0=O2+1|0,s0=(n0|0)<(K|0),!!s0;)I=e[L>>2]|0,Z=I,p0=K,O2=n0;y=e[L>>2]|0,o0=y}else o0=F;else o0=F;E2(o0),h0=t+12|0,i0=e[h0>>2]|0,e0=(i0|0)==0,e0||E2(i0)}Z1&&(u0=x1+64|0,c0=e[u0>>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,r0=e[g0>>2]|0,d0=(r0|0)==0,d0||E2(r0),E2(x1)),p2=t,J2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(J2|0))}}function Sy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0;if(J0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,n0=e[L>>2]|0,l0=n0+64|0,D0=e[l0>>2]|0,v0=(D0|0)==0,v0||E2(D0),e[l0>>2]=0,N0=n0+68|0,U0=e[N0>>2]|0,O0=(U0|0)==0,O0||E2(U0),e[N0>>2]=0,y=n0+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,w=k+o|0,_=t+16|0,Q=e[_>>2]|0,x=(w|0)<(Q|0),x)a=E+4|0,d=e[a>>2]|0,o0=d,S0=11;else if(M=o<<1,F=k+M|0,e[_>>2]=F,N=E+4|0,O=e[N>>2]|0,H=(O|0)>0,H)if(V=t+8|0,J=e[V>>2]|0,t0=e[J>>2]|0,Z=F<<2,A0=W7(t0,Z)|0,j=e[V>>2]|0,e[j>>2]=A0,s0=e[N>>2]|0,K=(s0|0)>1,K)for($0=1;;)if($=e[_>>2]|0,u0=e[V>>2]|0,c0=u0+($0<<2)|0,X=e[c0>>2]|0,m0=$<<2,g0=W7(X,m0)|0,I0=e[V>>2]|0,r0=I0+($0<<2)|0,e[r0>>2]=g0,d0=$0+1|0,p0=e[N>>2]|0,C0=(d0|0)<(p0|0),C0)$0=d0;else{o0=p0,S0=11;break}else o0=s0,S0=11;if((S0|0)==11&&(Y=(o0|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)<(o0|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 rb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0;if(V0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,n0=e[L>>2]|0,l0=(o|0)<1,!l0)return b0=t+20|0,y0=e[b0>>2]|0,E0=y0+o|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,N0=e[v0>>2]|0,U0=E0-N0|0,H0=n0+4|0,S0=e[H0>>2]|0,J0=(U0|0)>(S0|0),!J0)?($=0,C=V0,$|0):(Dy(t),$=0,C=V0,$|0));if(D0=C,C=C+128|0,O0=t+28|0,T0=e[O0>>2]|0,M0=(T0|0)==0,M0&&Dy(t),P0=n0+4|0,y=e[P0>>2]|0,B=y*3|0,Sy(t,B)|0,b=t+20|0,D=e[b>>2]|0,k=t+32|0,e[k>>2]=D,w=e[P0>>2]|0,_=w*3|0,Q=D+_|0,e[b>>2]=Q,x=E+4|0,M=e[x>>2]|0,F=(M|0)>0,!F)return $=0,C=V0,$|0;for(N=t+8|0,O=D,W0=0;;){if(H=(O|0)>64,H?(V=e[P0>>2]|0,J=(O|0)>(V|0),a=J?V:O,t0=e[N>>2]|0,Z=t0+(W0<<2)|0,A0=e[Z>>2]|0,d=O-a|0,j=A0+(d<<2)|0,+_y(j,D0,a,32),s0=e[N>>2]|0,K=s0+(W0<<2)|0,o0=e[K>>2]|0,Y=e[k>>2]|0,h0=o0+(Y<<2)|0,p=Y+-32|0,i0=o0+(p<<2)|0,e0=e[b>>2]|0,u0=e0-Y|0,xy(D0,i0,32,h0,u0)):(c0=e[N>>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,r0=I0<<2,g4(m0|0,0,r0|0)|0),d0=W0+1|0,p0=e[x>>2]|0,C0=(d0|0)<(p0|0),!C0){$=0;break}g=e[k>>2]|0,O=g,W0=d0}return C=V0,$|0}function by(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0;if(ue=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,s9=e[V6>>2]|0,k=t+40|0,V=e[k>>2]|0,h0=b5+(V<<2)|0,r0=e[h0>>2]|0,x0=(r0|0)/2&-1,M0=s9-x0|0,L0=o+104|0,X0=e[L0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,q2=e[m2>>2]|0,x5=(q2|0)==-1,x5))return $=0,$|0;Q2=gb(t)|0,w5=(Q2|0)==-1;do if(w5){if(K2=e[m2>>2]|0,I3=(K2|0)==0,I3)return $=0,$|0;e6=t+44|0,e[e6>>2]=0,d=e6,z3=0;break}else if(Q3=e[b5>>2]|0,Y3=b5+4|0,U5=e[Y3>>2]|0,l6=(Q3|0)==(U5|0),r3=t+44|0,l6){e[r3>>2]=0,d=r3,z3=0;break}else{e[r3>>2]=Q2,d=r3,z3=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,n6=b5+(z3<<2)|0,j5=e[n6>>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=o+84|0,r6=e[S6>>2]|0,f6=(r6|0)==0,!f6)for(w9=r6;b6=w9+4|0,N6=e[b6>>2]|0,j6=e[w9>>2]|0,E2(j6),E2(w9),v6=(N6|0)==0,!v6;)w9=N6;R3=o+80|0,o6=e[R3>>2]|0,s6=(o6|0)==0,s6||(K3=o+68|0,F3=e[K3>>2]|0,W3=o+76|0,t6=e[W3>>2]|0,R6=t6+o6|0,c6=W7(F3,R6)|0,e[K3>>2]=c6,o3=e[R3>>2]|0,J6=e[W3>>2]|0,A3=J6+o3|0,e[W3>>2]=A3,e[R3>>2]=0),g6=o+72|0,e[g6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,$6=o+24|0,e[$6>>2]=H6,D6=e[k>>2]|0,G6=o+28|0,e[G6>>2]=D6,e9=e[d>>2]|0,Q6=o+32|0,e[Q6>>2]=e9,X6=(D6|0)==0;do if(X6)if(g9=ub(t)|0,U6=(g9|0)==0,Y6=X0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,n9=(e9|0)==0,Y9=P3|n9,o9=X0+8|0,Y9){e[o9>>2]=0;break}else{e[o9>>2]=1;break}while(!1);F6=o+64|0,e[F6>>2]=t,t9=t+64|0,_6=t9,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,h9=O6,r9=e[h9>>2]|0,B9=rs(O3|0,r9|0,1,0)|0,y9=Z6,Q9=t9,d9=Q9,e[d9>>2]=B9,f9=Q9+4|0,V9=f9,e[V9>>2]=y9,w6=o+56|0,q6=w6,w=q6,e[w>>2]=O3,_=q6+4|0,Q=_,e[Q>>2]=r9,x=t+56|0,M=x,L=M,F=e[L>>2]|0,N=M+4|0,O=N,H=e[O>>2]|0,J=o+48|0,t0=J,Z=t0,e[Z>>2]=F,A0=t0+4|0,j=A0,e[j>>2]=H,n0=e[k>>2]|0,s0=b5+(n0<<2)|0,K=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=K,Y=X0+4|0,i0=+s[Y>>2],e0=+s[y6>>2],u0=i0>e0,u0?(s[y6>>2]=i0,c0=i0):c0=e0,$0=+Pb(c0,t),s[y6>>2]=$0,s[Y>>2]=$0,l0=D+4|0,X=e[l0>>2]|0,m0=X<<2,g0=m0+7|0,I0=g0&-8,d0=e[g6>>2]|0,p0=I0+d0|0,C0=o+76|0,b0=e[C0>>2]|0,y0=(p0|0)>(b0|0),D0=o+68|0,E0=e[D0>>2]|0,y0?(Q0=(E0|0)==0,Q0||(w0=E0,B0=R9(8)|0,Z0=e[R3>>2]|0,R0=Z0+d0|0,e[R3>>2]=R0,v0=e[S6>>2]|0,N0=B0+4|0,e[N0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=I0,U0=R9(I0)|0,e[D0>>2]=U0,e[g6>>2]=0,g=e[l0>>2]|0,H0=U0,S0=0,P0=g,q0=I0):(H0=E0,S0=d0,P0=X,q0=b0),O0=H0+S0|0,J0=S0+I0|0,e[g6>>2]=J0,e[o>>2]=O0,T0=P0<<2,W0=T0+7|0,K0=W0&-8,V0=K0+J0|0,j0=(V0|0)>(q0|0),j0?(Y0=(H0|0)==0,Y0||(s1=H0,z0=R9(8)|0,n1=e[R3>>2]|0,o1=n1+J0|0,e[R3>>2]=o1,d1=e[S6>>2]|0,u1=z0+4|0,e[u1>>2]=d1,e[z0>>2]=s1,e[S6>>2]=z0),e[C0>>2]=K0,p1=R9(K0)|0,e[D0>>2]=p1,e[g6>>2]=0,p=e[l0>>2]|0,h1=p1,A1=0,a1=p,Y5=K0):(h1=H0,A1=J0,a1=P0,Y5=q0),f1=h1+A1|0,c1=A1+K0|0,e[g6>>2]=c1,e[X0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(B1=t+8|0,S1=c1,M1=Y5,_1=h1,a9=0;;){if(m1=e[o0>>2]|0,Q1=m1+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,U1=R9(8)|0,D1=e[R3>>2]|0,P1=D1+S1|0,e[R3>>2]=P1,X1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=X1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=v1,x1=R9(v1)|0,e[D0>>2]=x1,e[g6>>2]=0,H1=x1,V1=0):(H1=_1,V1=S1),K1=H1+V1|0,Y1=V1+v1|0,e[g6>>2]=Y1,t2=e[X0>>2]|0,s2=t2+(a9<<2)|0,e[s2>>2]=K1,e2=e[X0>>2]|0,O1=e2+(a9<<2)|0,h2=e[O1>>2]|0,Z1=e[B1>>2]|0,I2=Z1+(a9<<2)|0,$2=e[I2>>2]|0,ge(h2|0,$2|0,C1|0)|0,W1=e[X0>>2]|0,f2=W1+(a9<<2)|0,c2=e[f2>>2]|0,r2=c2+(M0<<2)|0,g2=e[o>>2]|0,o2=g2+(a9<<2)|0,e[o2>>2]=r2,l2=a9+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,a9=l2}while(!1);if(n2=e[m2>>2]|0,k2=(n2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(n2|0),!S2))return e[m2>>2]=-1,y2=o+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(J2=e[M6>>2]|0,hb(J2,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,D5=e[Y2>>2]|0,V5=D5+(u5<<2)|0,b2=e[V5>>2]|0,y5=b2+(p2<<2)|0,s5=B<<2,lA(b2|0,y5|0,s5|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[d>>2]|0,e[k>>2]=E5,e[V6>>2]=O2,L5=e[m2>>2]|0,q5=(L5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,H3=x,X5=H3,_3=e[X5>>2]|0,t3=H3+4|0,a6=t3,G3=e[a6>>2]|0,V3=rs(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=x,u3=g3,e[u3>>2]=V3,J5=g3+4|0,H5=J5,e[H5>>2]=c3,$=1,$|0):(M5=L5-p2|0,z2=(M5|0)<1,a=z2?-1:M5,e[m2>>2]=a,C5=(a|0)>(O2|0),C5?(c5=(p2|0)<0,T2=c5<<31>>31,k5=x,z5=k5,i3=e[z5>>2]|0,B5=k5+4|0,d3=B5,W5=e[d3>>2]|0,n3=rs(i3|0,W5|0,p2|0,T2|0)|0,a3=Z6,y3=x,G5=y3,e[G5>>2]=n3,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=x,l5=d5,X2=e[l5>>2]|0,d2=d5+4|0,v5=d2,n5=e[v5>>2]|0,a5=rs(X2|0,n5|0,h5|0,_5|0)|0,f5=Z6,I5=x,r5=I5,e[r5>>2]=a5,R5=I5+4|0,e5=R5,e[e5>>2]=f5,$=1,$|0))}function ob(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0;if(r5=C,y=o+28|0,B=e[y>>2]|0,k1=(B|0)==0,k1||(X1=B+8|0,O1=e[X1>>2]|0,g2=(O1|0)<1,g2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,M5=e[b2>>2]|0,b=(M5|0)<(G2|0),b))return $=1,$|0;O=B+3656|0,o0=e[O>>2]|0,K2=t,R5=K2+112|0;do e[K2>>2]=0,K2=K2+4|0;while((K2|0)<(R5|0));g0=ce(1,136)|0,w0=t+104|0,e[w0>>2]=g0,J0=t+4|0,e[J0>>2]=o,z0=e[X1>>2]|0,a1=z0+-1|0,y1=V8(a1)|0,v1=g0+44|0,e[v1>>2]=y1,S1=ce(1,4)|0,L1=g0+12|0,e[L1>>2]=S1,M1=ce(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=ce(1,20)|0,e[S1>>2]=_1,R1=ce(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,FC(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,FC(P1,x1),K1=e[B>>2]|0,q1=V8(K1)|0,H1=q1+-7|0,V1=g0+4|0,e[V1>>2]=H1,Y1=e[b2>>2]|0,t2=V8(Y1)|0,s2=t2+-7|0,e2=g0+8|0,e[e2>>2]=s2,h2=(a|0)==0;e:do if(h2){if(Q2=B+2848|0,Q5=e[Q2>>2]|0,N5=(Q5|0)==0,N5&&(E5=B+24|0,L5=e[E5>>2]|0,q5=ce(L5,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,h5=e[$5>>2]|0,w5=(h5|0)==0,w5){T1=Q1;break}if(d5=e[Q2>>2]|0,l5=d5+(v5*56|0)|0,X2=aD(l5,h5)|0,D=(X2|0)==0,!D){I5=20;break}if(k=e[$5>>2]|0,NC(k),e[$5>>2]=0,w=v5+1|0,_=e[E5>>2]|0,Q=(w|0)<(_|0),Q)Q1=_,v5=w;else break e}if((I5|0)==20&&(I=e[E5>>2]|0,T1=I),_5=(T1|0)>0,_5)for(C1=T1,f5=0;A1=(B+1824|0)+(f5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?m1=C1:(NC(c1),e[A1>>2]=0,E=e[E5>>2]|0,m1=E),X0=f5+1|0,B1=(X0|0)<(m1|0),B1;)C1=m1,f5=X0;return ky(t),$=-1,$|0}}else{if(Z1=g0+20|0,I2=e[B>>2]|0,Vy(Z1,I2),A2=g0+32|0,C2=e[b2>>2]|0,Vy(A2,C2),$2=B+2848|0,W1=e[$2>>2]|0,f2=(W1|0)==0,f2&&(c2=B+24|0,r2=e[c2>>2]|0,o2=ce(r2,56)|0,e[$2>>2]=o2,l2=e[c2>>2]|0,i2=(l2|0)>0,i2&&(a2=B+1824|0,m2=e[a2>>2]|0,Hy(o2,m2)|0,n2=e[c2>>2]|0,k2=(n2|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,Hy(D2,M2)|0,O2=S2+1|0,p2=e[c2>>2]|0,W2=(O2|0)<(p2|0),W2;)S2=O2;q2=B+28|0,J2=e[q2>>2]|0,U2=ce(J2,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=o+8|0,i5=U2,d2=0;;){if(T5=i5+(d2*52|0)|0,x5=(B+2852|0)+(d2<<2)|0,j2=e[x5>>2]|0,p5=e[j2>>2]|0,D5=B+(p5<<2)|0,V5=e[D5>>2]|0,u5=(V5|0)/2&-1,y5=e[t5>>2]|0,Ub(T5,j2,N1,u5,y5),s5=d2+1|0,F2=e[q2>>2]|0,R2=(s5|0)<(F2|0),!R2)break t;d=e[V2>>2]|0,i5=d,d2=s5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,F=e[L>>2]|0,N=F<<2,H=R9(N)|0,V=t+8|0,e[V>>2]=H,J=R9(N)|0,t0=t+12|0,e[t0>>2]=J,Z=(F|0)>0,Z&&(A0=ce(x,4)|0,e[H>>2]=A0,j=(F|0)>1,j))for(K=1;p=e[V>>2]|0,n0=ce(x,4)|0,s0=p+(K<<2)|0,e[s0>>2]=n0,Y=K+1|0,h0=(Y|0)<(F|0),h0;)K=Y;if(i0=t+36|0,e[i0>>2]=0,e0=t+40|0,e[e0>>2]=0,u0=e[b2>>2]|0,c0=(u0|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=ce(m0,4)|0,r0=g0+48|0,e[r0>>2]=I0,d0=B+20|0,p0=e[d0>>2]|0,C0=ce(p0,4)|0,b0=g0+52|0,e[b0>>2]=C0,y0=e[X>>2]|0,D0=(y0|0)>0,D0)for(n5=0;B0=(B+800|0)+(n5<<2)|0,x0=e[B0>>2]|0,Z0=25640+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0+8|0,N0=e[v0>>2]|0,U0=(B+1056|0)+(n5<<2)|0,O0=e[U0>>2]|0,H0=pi[N0&15](t,O0)|0,S0=e[r0>>2]|0,T0=S0+(n5<<2)|0,e[T0>>2]=H0,M0=n5+1|0,P0=e[X>>2]|0,W0=(M0|0)<(P0|0),W0;)n5=M0;if(E0=e[d0>>2]|0,Q0=(E0|0)>0,Q0)a5=0;else return $=0,$|0;for(;;)if(K0=(B+1312|0)+(a5<<2)|0,V0=e[K0>>2]|0,j0=25648+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+8|0,s1=e[Y0>>2]|0,n1=(B+1568|0)+(a5<<2)|0,L0=e[n1>>2]|0,o1=pi[s1&15](t,L0)|0,d1=e[b0>>2]|0,u1=d1+(a5<<2)|0,e[u1>>2]=o1,p1=a5+1|0,f1=e[d0>>2]|0,h1=(p1|0)<(f1|0),h1)a5=p1;else{$=0;break}return $|0}function Dy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,o=Z,u0=C,C=C+((1*o|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(w=e[b>>2]|0,_=w+(w0<<2)|0,x=e[_>>2]|0,B0=0;M=B0^-1,L=D+M|0,F=x+(L<<2)|0,N=e[F>>2]|0,O=u0+(B0<<2)|0,e[O>>2]=N,H=B0+1|0,V=(D|0)>(H|0),V;)B0=H;if(J=e[y0>>2]|0,t0=D-J|0,+_y(u0,g,t0,16),A0=e[d>>2]|0,j=e[y0>>2]|0,a=A0-j|0,n0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,xy(g,s0,16,n0,j),K=e[d>>2]|0,o0=(K|0)>0,o0)for(Y=e[b>>2]|0,h0=Y+(w0<<2)|0,i0=e[h0>>2]|0,x0=0;e0=u0+(x0<<2)|0,c0=e[e0>>2]|0,$0=x0^-1,l0=K+$0|0,X=i0+(l0<<2)|0,e[X>>2]=c0,m0=x0+1|0,g0=(K|0)>(m0|0),g0;)x0=m0;if(I0=w0+1|0,r0=e[p>>2]|0,d0=r0+4|0,p0=e[d0>>2]|0,b0=(I0|0)<(p0|0),b0)D=K,w0=I0;else break}C=R0}function sb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0;l2=C,H2(o,5653314,24),p=e[t>>2]|0,H2(o,p,16),I=t+4|0,V=e[I>>2]|0,H2(o,V,24),h0=e[I>>2]|0,r0=(h0|0)>1;e:do if(r0)for(x0=t+8|0,M0=e[x0>>2]|0,g=f[M0>>0]|0,L0=g,O1=1;;){if(X0=L0<<24>>24==0,X0){e2=O1;break e}if(b1=M0+O1|0,E=f[b1>>0]|0,_=E<<24>>24>24,_){e2=O1;break e}if(Q=O1+1|0,x=(Q|0)<(h0|0),x)L0=E,O1=Q;else{e2=Q;break}}else e2=1;while(!1);M=(e2|0)==(h0|0);e:do if(M){if(H2(o,1,1),L=t+8|0,F=e[L>>2]|0,N=f[F>>0]|0,O=N<<24>>24,H=O+-1|0,H2(o,H,5),J=e[I>>2]|0,t0=(J|0)>1,t0)for(w=J,H1=0,Z1=1;;){if(Z=e[L>>2]|0,A0=Z+Z1|0,j=f[A0>>0]|0,n0=Z1+-1|0,s0=Z+n0|0,K=f[s0>>0]|0,o0=j<<24>>24>K<<24>>24,o0)for(Y=K<<24>>24,i0=j<<24>>24,c0=w,V1=H1,c2=Y;;)if(e0=Z1-V1|0,u0=c0-V1|0,$0=V8(u0)|0,H2(o,e0,$0),l0=c2+1|0,s2=(l0|0)==(i0|0),d=e[I>>2]|0,s2){g0=d,Y1=Z1;break}else c0=d,V1=Z1,c2=l0;else g0=w,Y1=H1;if(X=Z1+1|0,m0=(X|0)<(g0|0),m0)w=g0,H1=Y1,Z1=X;else{$=g0,q1=Y1,h2=X;break}}else $=J,q1=0,h2=1;I0=h2-q1|0,d0=$-q1|0,p0=V8(d0)|0,H2(o,I0,p0)}else{H2(o,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(o,0,1),v0=e[I>>2]|0,N0=(v0|0)>0,!N0)break;for(U0=t+8|0,C2=0;;)if(O0=e[U0>>2]|0,H0=O0+C2|0,S0=f[H0>>0]|0,J0=S0<<24>>24,T0=J0+-1|0,H2(o,T0,5),P0=C2+1|0,W0=e[I>>2]|0,K0=(P0|0)<(W0|0),K0)C2=P0;else break e}if(H2(o,1,1),V0=e[I>>2]|0,j0=(V0|0)>0,j0)for(q0=t+8|0,$2=0;Y0=e[q0>>2]|0,s1=Y0+$2|0,z0=f[s1>>0]|0,n1=z0<<24>>24==0,n1?H2(o,0,1):(H2(o,1,1),o1=e[q0>>2]|0,d1=o1+$2|0,u1=f[d1>>0]|0,p1=u1<<24>>24,f1=p1+-1|0,H2(o,f1,5)),h1=$2+1|0,A1=e[I>>2]|0,c1=(h1|0)<(A1|0),c1;)$2=h1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,H2(o,$1,4),B1=e[a1>>2]|0,(B1|0)==2|(B1|0)==1)o2=28;else if(B1|0)return a=-1,a|0;do if((o2|0)==28){if(m1=t+32|0,Q1=e[m1>>2]|0,C1=(Q1|0)==0,C1)return a=-1,a|0;if(y1=t+16|0,v1=e[y1>>2]|0,H2(o,v1,32),k1=t+20|0,S1=e[k1>>2]|0,H2(o,S1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,H2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,H2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=rD(t)|0,g2=D1;else if((U1|0)==2)P1=e[I>>2]|0,X1=e[t>>2]|0,G1=o5(X1,P1)|0,g2=G1;else break;if(x1=(g2|0)>0,x1)for(W1=0;K1=e[m1>>2]|0,y=K1+(W1<<2)|0,B=e[y>>2]|0,f2=(B|0)>-1,r2=0-B|0,b=f2?B:r2,D=e[L1>>2]|0,H2(o,b,D),k=W1+1|0,t2=(k|0)==(g2|0),!t2;)W1=k}while(!1);return a=0,a|0}function Ou(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0;return t0=C,g=(o|0)<0,g||(d=t+12|0,Q=e[d>>2]|0,M=Q+4|0,L=e[M>>2]|0,F=(L|0)>(o|0),!F)?($=0,$|0):(N=t+20|0,O=e[N>>2]|0,H=O+(o<<2)|0,V=e[H>>2]|0,p=Q+8|0,I=e[p>>2]|0,E=I+o|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,w=k+o|0,_=f[w>>0]|0,x=_<<24>>24,$=x,$|0)}function $E(t,o){t=t|0,o=o|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=qu(t,o)|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 ab(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0;if(r0=C,E=t+8|0,y=e[E>>2]|0,F=(y|0)>0,!F)return g=0,C=r0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,Y=o0<<2,d=Y,h0=C,C=C+((1*d|0)+15&-16)|0,i0=(o0|0)>0;e:do if(i0){for(e0=t+16|0,l0=0;;){if(H=qu(t,a)|0,V=(H|0)==-1,V){g=-1;break}if(J=e[e0>>2]|0,t0=e[t>>2]|0,Z=o5(t0,H)|0,A0=J+(Z<<2)|0,j=h0+(l0<<2)|0,e[j>>2]=A0,n0=l0+1|0,K=(n0|0)<(o0|0),K)l0=n0;else{u0=t0;break e}}return C=r0,g|0}else u0=s0;while(!1);if(p=(u0|0)<1,I=i0^1,c0=p|I,c0)return g=0,C=r0,g|0;for(X=0,g0=0;;){for(m0=0;k=h0+(m0<<2)|0,w=e[k>>2]|0,_=w+(X<<2)|0,Q=+s[_>>2],x=m0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],N=L+Q,s[M>>2]=N,O=m0+1|0,$0=(O|0)==(o0|0),!$0;)m0=O;if(B=X+1|0,b=g0+o0|0,D=(B|0)<(u0|0),D)X=B,g0=b;else{g=0;break}}return C=r0,g|0}function Ab(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=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,T0=(B0|0)>8,T0){if(M1=($|0)>0,!M1)return g=0,g|0;for(K1=t+16|0,i2=0;;){if(i0=qu(t,a)|0,e0=(i0|0)==-1,e0){g=-1,N1=29;break}if(u0=e[K1>>2]|0,c0=e[t>>2]|0,$0=o5(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=u0+(t0<<2)|0,r0=+s[g0>>2],d0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],b0=C0+r0,s[p0>>2]=b0,y0=(m0|0)<(c0|0),y0;)m2=d0,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(n1=t+16|0,$1=($|0)>0,$1)n2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(K=qu(t,a)|0,o0=(K|0)==-1,o0){g=-1,N1=29;break e}switch(Y=e[n1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=K,Q=Y,N1=19;break t}case 3:{b=K,x=Y,N1=21;break t}case 7:{I=K,k=Y,N1=13;break t}case 6:{E=K,w=Y,N1=15;break t}case 8:{d=Y,p=K,N1=12;break t}case 5:{y=K,_=Y,N1=17;break t}case 1:{W1=K,c2=Y,O2=n2,A5=0;break t}case 2:{D=K,M=Y,N1=23;break t}default:}}if((N1|0)==12?(N1=0,D0=p<<3,E0=d+(D0<<2)|0,Q0=+s[E0>>2],w0=n2+1|0,x0=o+(n2<<2)|0,Z0=+s[x0>>2],R0=Z0+Q0,s[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=n2,W2=0,N1=14):(N1|0)==15?(N1=0,K0=E*6|0,j0=K0,Y0=w,D2=n2,q2=0,N1=16):(N1|0)==17?(N1=0,u1=y*5|0,f1=u1,A1=_,S2=n2,J2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,y1=Q1,k1=Q,y2=n2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=b*3|0,D1=F1,X1=x,G2=n2,V2=0,N1=22):(N1|0)==23&&(N1=0,Y1=D<<1,s2=Y1,O1=M,M2=n2,Z2=0,N1=24),(N1|0)==14&&(N1=0,N0=W2+1|0,J=W2+U0|0,O0=H0+(J<<2)|0,S0=+s[O0>>2],J0=k2+1|0,M0=o+(k2<<2)|0,P0=+s[M0>>2],W0=P0+S0,s[M0>>2]=W0,j0=U0,Y0=H0,D2=J0,q2=N0,N1=16),(N1|0)==16&&(N1=0,V0=q2+1|0,V=q2+j0|0,q0=Y0+(V<<2)|0,s1=+s[q0>>2],z0=D2+1|0,L0=o+(D2<<2)|0,o1=+s[L0>>2],d1=o1+s1,s[L0>>2]=d1,f1=j0,A1=Y0,S2=z0,J2=V0,N1=18),(N1|0)==18&&(N1=0,p1=J2+1|0,H=J2+f1|0,h1=A1+(H<<2)|0,c1=+s[h1>>2],a1=S2+1|0,X0=o+(S2<<2)|0,B1=+s[X0>>2],m1=B1+c1,s[X0>>2]=m1,y1=f1,k1=A1,y2=a1,U2=p1,N1=20),(N1|0)==20&&(N1=0,C1=U2+1|0,O=U2+y1|0,v1=k1+(O<<2)|0,S1=+s[v1>>2],L1=y2+1|0,b1=o+(y2<<2)|0,_1=+s[b1>>2],R1=_1+S1,s[b1>>2]=R1,D1=y1,X1=k1,G2=L1,V2=C1,N1=22),(N1|0)==22&&(N1=0,U1=V2+1|0,N=V2+D1|0,P1=X1+(N<<2)|0,G1=+s[P1>>2],x1=G2+1|0,q1=o+(G2<<2)|0,H1=+s[q1>>2],V1=H1+G1,s[q1>>2]=V1,s2=D1,O1=X1,M2=x1,Z2=U1,N1=24),(N1|0)==24&&(N1=0,t2=Z2+1|0,F=Z2+s2|0,e2=O1+(F<<2)|0,h2=+s[e2>>2],Z1=M2+1|0,A2=o+(M2<<2)|0,C2=+s[A2>>2],$2=C2+h2,s[A2>>2]=$2,W1=s2,c2=O1,O2=Z1,A5=t2),L=A5+W1|0,f2=c2+(L<<2)|0,r2=+s[f2>>2],g2=O2+1|0,o2=o+(O2<<2)|0,l2=+s[o2>>2],n0=l2+r2,s[o2>>2]=n0,s0=(g2|0)<($|0),s0)n2=g2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function $b(t,o,a,$,g,d){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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||(n0=(a|0)/($|0)&-1,s0=d+a|0,K=(s0|0)/($|0)&-1,o0=(n0|0)<(K|0),!o0))return I=0,I|0;for(Y=t+16|0,e0=0,$0=n0;;){if(i0=qu(t,g)|0,D=(i0|0)==-1,D){I=-1,g0=8;break}if(k=e[Y>>2]|0,w=e[t>>2]|0,_=o5(w,i0)|0,Q=(w|0)>0,Q)for(c0=e0,X=$0,m0=0;;)if(y=m0+_|0,x=k+(y<<2)|0,M=+s[x>>2],L=c0+1|0,F=o+(c0<<2)|0,N=e[F>>2]|0,H=N+(X<<2)|0,V=+s[H>>2],J=V+M,s[H>>2]=J,t0=(L|0)==($|0),Z=t0&1,E=Z+X|0,p=t0?0:L,A0=m0+1|0,j=(A0|0)<(w|0),j)c0=p,X=E,m0=A0;else{u0=p,l0=E;break}else u0=e0,l0=$0;if(h0=(l0|0)<(K|0),h0)e0=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function qu(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0;m1=C,g=t+40|0,d=e[g>>2]|0,Q=t+36|0,Z=e[Q>>2]|0,u0=xC(o,Z)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,K0=e[v0>>2]|0,d1=K0+(u0<<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,p1=D,h1=E;break}return k=u1+-1|0,w=t+28|0,_=e[w>>2]|0,x=_+k|0,M=f[x>>0]|0,L=M<<24>>24,LC(o,L),a=k,a|0}else F=t+8|0,N=e[F>>2]|0,p1=N,h1=0;while(!1);if(O=xC(o,d)|0,H=(O|0)<0,V=(d|0)>1,J=H&V,J)for(X0=d;;)if(t0=X0+-1|0,A0=xC(o,t0)|0,j=(A0|0)<0,n0=(t0|0)>1,s0=j&n0,s0)X0=t0;else{$=j,a1=A0,$1=t0;break}else $=H,a1=O,$1=d;if($)return a=-1,a|0;if(K=a1>>>16,o0=a1<<16,Y=K|o0,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,r0=I0>>>2,d0=r0&858993459,p0=I0<<2,b0=p0&-858993460,y0=d0|b0,D0=y0>>>1,E0=D0&1431655765,Q0=y0<<1,w0=Q0&-1431655766,B0=E0|w0,x0=p1-h1|0,Z0=(x0|0)>1,Z0)for(R0=t+20|0,N0=e[R0>>2]|0,O0=x0,f1=p1,c1=h1;;)if(U0=O0>>1,H0=U0+c1|0,S0=N0+(H0<<2)|0,J0=e[S0>>2]|0,T0=J0>>>0>B0>>>0,M0=T0?0:U0,P0=M0+c1|0,W0=T0?U0:0,V0=f1-W0|0,j0=V0-P0|0,q0=(j0|0)>1,q0)O0=j0,f1=V0,c1=P0;else{A1=P0;break}else A1=h1;return Y0=t+28|0,s1=e[Y0>>2]|0,z0=s1+A1|0,n1=f[z0>>0]|0,L0=n1<<24>>24,o1=(L0|0)>($1|0),o1?(LC(o,$1),a=-1,a|0):(LC(o,L0),a=A1,a|0)}function lb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0;for(d1=C,y=o+28|0,B=e[y>>2]|0,N=o+4|0,K=e[N>>2]|0,m0=t+4|0,e[m0>>2]=128,Q0=t+8|0,e[Q0>>2]=64,S0=B+2932|0,K0=e[S0>>2]|0,V0=t+12|0,e[V0>>2]=K0,e[t>>2]=K,j0=t+164|0,e[j0>>2]=128,b=B+4|0,D=e[b>>2]|0,k=(D|0)/2&-1,w=t+176|0,e[w>>2]=k,_=ce(128,4)|0,Q=t+36|0,e[Q>>2]=_,x=t+16|0,FC(x,128),M=e[Q>>2]|0,z0=0;L=+(z0|0),F=L*.024736950028266088,O=+Vr(+F),H=O,V=M+(z0<<2)|0,J=H*H,s[V>>2]=J,t0=z0+1|0,s1=(t0|0)==128,!s1;)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,n0=t+60|0,e[n0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>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,u0=t+120|0,e[u0>>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=R9(X)|0,r0=((t+40|0)+(L0<<4)|0)+8|0,e[r0>>2]=I0,d0=(g0|0)>0,d0){for(p0=+(g0|0),C0=((t+40|0)+(L0<<4)|0)+12|0,E=+s[C0>>2],R0=E,n1=0;;)if(b0=+(n1|0),y0=b0+.5,D0=y0/p0,E0=D0*3.141592653589793,w0=+Vr(+E0),B0=w0,x0=I0+(n1<<2)|0,s[x0>>2]=B0,Z0=R0+B0,v0=n1+1|0,q0=(v0|0)==(g0|0),q0){a=Z0;break}else R0=Z0,n1=v0;s[C0>>2]=a,p=C0,U0=a}else g=((t+40|0)+(L0<<4)|0)+12|0,I=+s[g>>2],p=g,U0=I;if(N0=1/U0,s[p>>2]=N0,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=K*7|0,J0=ce(H0,144)|0,T0=t+152|0,e[T0>>2]=J0,M0=e[j0>>2]|0,P0=ce(M0,4)|0,W0=t+160|0,e[W0>>2]=P0}function cb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0;H=C,o=t+16|0,TC(o),a=t+48|0,k=e[a>>2]|0,E2(k),_=t+64|0,Q=e[_>>2]|0,E2(Q),x=t+80|0,M=e[x>>2]|0,E2(M),L=t+96|0,F=e[L>>2]|0,E2(F),N=t+112|0,$=e[N>>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,w=e[D>>2]|0,E2(w),g4(t|0,0,180)|0}function gb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0;if(t2=C,d=t+4|0,p=e[d>>2]|0,F=p+28|0,s0=e[F>>2]|0,X=s0+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,w=e[k>>2]|0,_=(w|0)/(b|0)&-1,Q=_+-4|0,x=(D|0)<0,o=x?0:D,M=_+2|0,L=Y0+164|0,N=e[L>>2]|0,O=(M|0)>(N|0),O&&(e[L>>2]=M,H=Y0+160|0,V=e[H>>2]|0,J=M<<2,t0=W7(V,J)|0,e[H>>2]=t0),Z=(o|0)<(Q|0),Z)for(A0=Y0+156|0,j=Y0+160|0,n0=t+8|0,K=Y0+40|0,o0=Y0+152|0,x1=o;;){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,u0=(e0|0)>0,u0){for(G1=0,V1=0;;)if(m0=e[n0>>2]|0,g0=m0+(G1<<2)|0,I0=e[g0>>2]|0,r0=e[I>>2]|0,d0=o5(r0,x1)|0,p0=I0+(d0<<2)|0,C0=e[o0>>2]|0,b0=G1*7|0,y0=C0+(b0*144|0)|0,D0=db(Y0,X,p0,K,y0)|0,Q0=D0|V1,w0=G1+1|0,B0=e[Y0>>2]|0,x0=(w0|0)<(B0|0),x0)G1=w0,V1=Q0;else{g=Q0;break}Z0=x1+2|0,R0=e[j>>2]|0,v0=R0+(Z0<<2)|0,e[v0>>2]=0,N0=g&1,U0=(N0|0)==0,U0||(O0=R0+(x1<<2)|0,e[O0>>2]=1,S0=x1+1|0,J0=R0+(S0<<2)|0,e[J0>>2]=1),T0=g&2,M0=(T0|0)==0,M0||(P0=R0+(x1<<2)|0,e[P0>>2]=1,W0=(x1|0)>0,W0&&(K0=x1+-1|0,V0=R0+(K0<<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(s1=x1+1|0,X1=(s1|0)==(Q|0),X1)break;x1=s1}if(z0=e[I>>2]|0,n1=o5(z0,Q)|0,e[A1>>2]=n1,L0=t+48|0,o1=e[L0>>2]|0,d1=t+40|0,u1=e[d1>>2]|0,p1=s0+(u1<<2)|0,f1=e[p1>>2]|0,h1=(f1|0)/4&-1,c1=h1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,X0=($1|0)/2&-1,B1=c1+X0|0,m1=e[s0>>2]|0,Q1=(m1|0)/4&-1,C1=B1+Q1|0,y1=Y0+176|0,v1=e[y1>>2]|0,S1=n1-z0|0,L1=(v1|0)<(S1|0),!L1)return a=-1,a|0;for(M1=Y0+160|0,K1=v1;;){if(R1=(K1|0)<(C1|0),!R1){a=1,Y1=22;break}if(e[y1>>2]=K1,F1=(K1|0)/(z0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,y=(K1|0)>(o1|0),H1=y&E,b1=z0+K1|0,H1){q1=K1,Y1=21;break}if(_1=(b1|0)<(S1|0),_1)K1=b1;else{a=-1,Y1=22;break}}return(Y1|0)==21?(B=Y0+172|0,e[B>>2]=q1,a=0,a|0):(Y1|0)==22?a|0:0}function ub(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,u0=e[Z>>2]|0,g0=u0+28|0,I0=e[g0>>2]|0,r0=t+48|0,d0=e[r0>>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=d0-y|0,b=y+d0|0,D=(p|0)==0,D?(V=e[I0>>2]|0,J=(V|0)/4&-1,a=J,$=J):(k=t+36|0,w=e[k>>2]|0,_=I0+(w<<2)|0,x=e[_>>2]|0,M=(x|0)/4&-1,L=t+44|0,F=e[L>>2]|0,N=I0+(F<<2)|0,O=e[N>>2]|0,H=(O|0)/4&-1,a=H,$=M),C0=B-$|0,b0=b+a|0,t0=Q+172|0,A0=e[t0>>2]|0,j=(A0|0)>=(C0|0),n0=(A0|0)<(b0|0),D0=j&n0,D0)return o=1,o|0;if(s0=Q+8|0,K=e[s0>>2]|0,o0=(C0|0)/(K|0)&-1,Y=(b0|0)/(K|0)&-1,h0=(o0|0)<(Y|0),!h0)return o=0,o|0;for(i0=Q+160|0,e0=e[i0>>2]|0,y0=o0;;){if(l0=e0+(y0<<2)|0,X=e[l0>>2]|0,m0=(X|0)==0,c0=y0+1|0,!m0){o=1,E0=9;break}if($0=(c0|0)<(Y|0),$0)y0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function hb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0;if(V=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,Q=e[w>>2]|0,x=($|0)/(Q|0)&-1,M=x+2|0,L=(o|0)/(Q|0)&-1,F=t+160|0,N=e[F>>2]|0,O=N+(L<<2)|0,g=M-L|0,d=g<<2,lA(N|0,O|0,d|0)|0,p=e[a>>2]|0,I=p-o|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-o|0,e[D>>2]=_;return}b=y-o|0,e[E>>2]=b,D=t+176|0,k=e[D>>2]|0,_=k-o|0,e[D>>2]=_}function db(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=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,g2=t+12|0,G2=+s[g2>>2],Y2=A0<<2,x=Y2,b2=C,C=C+((1*x|0)+15&-16)|0,M5=t+156|0,d2=e[M5>>2]|0,T2=(d2|0)>5,G5=(d2|0)/2&-1,d=T2?G5:2,j=o+60|0,$0=+s[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(s2=t+36|0,c2=e[s2>>2]|0,Y5=0;o2=a+(Y5<<2)|0,l2=+s[o2>>2],i2=c2+(Y5<<2)|0,a2=+s[i2>>2],m2=a2*l2,n2=b2+(Y5<<2)|0,s[n2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(A0|0),!Q3;)Y5=k2;D2=t+16|0,Ly(D2,b2,b2),S2=+s[b2>>2],y2=S2*S2,M2=y2,O2=b2+4|0,p2=+s[O2>>2],W2=p2,q2=W2*W2,J2=q2*.7,U2=J2+M2,V2=b2+8|0,Z2=+s[V2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=U2+t5,i5=T5,x5=g+140|0,j2=e[x5>>2]|0,p5=(j2|0)==0,p5?(D5=g+136|0,V5=+s[D5>>2],u5=V5+i5,y5=g+132|0,s[y5>>2]=u5,s[D5>>2]=i5,O=y5,z2=u5):(s5=g+132|0,F2=+s[s5>>2],R2=F2+i5,s[s5>>2]=R2,Q2=g+136|0,Q5=+s[Q2>>2],N5=Q5+i5,s[Q2>>2]=N5,O=s5,z2=R2),E5=(g+72|0)+(j2<<2)|0,L5=+s[E5>>2],q5=z2-L5,s[O>>2]=q5,s[E5>>2]=i5,C5=e[x5>>2]|0,$5=C5+1|0,h5=(C5|0)>13,p=h5?0:$5,e[x5>>2]=p,w5=(A0|0)/2&-1,T1=(A0|0)>1;e:do if(T1)for(_5=z2*.0625,d5=(s[w2>>2]=_5,e[w2>>2]|0),l5=d5&2147483647,X2=+(l5>>>0),v5=X2*7177114298428933e-22,n5=v5+-764.6162109375,a5=n5,f5=a5*.5,K2=f5+-15,I5=K2,M=I5,N0=S2,b5=0;;){if(v0=N0*N0,O0=b5|1,H0=b2+(O0<<2)|0,S0=+s[H0>>2],J0=S0*S0,T0=J0+v0,M0=(s[w2>>2]=T0,e[w2>>2]|0),P0=M0&2147483647,W0=+(P0>>>0),K0=W0*35885571492144663e-23,V0=K0+-382.30810546875,q0=V0>1,z0=b2+(s1<<2)|0,s[z0>>2]=t0,n1=b5+2|0,L0=(n1|0)<(w5|0),!L0)break e;o1=M+-8,F=b2+(n1<<2)|0,N=+s[F>>2],M=o1,N0=N,b5=n1}while(!1);if(r5=(d|0)>0,r5)l3=0,z3=0;else{for(r3=0,n6=0;;){if(d1=($+(r3<<4)|0)+4|0,u1=e[d1>>2]|0,p1=(u1|0)>0,p1)for(h1=$+(r3<<4)|0,A1=e[h1>>2]|0,c1=($+(r3<<4)|0)+8|0,a1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,X0=b2+($1<<2)|0,B1=+s[X0>>2],m1=a1+(Y3<<2)|0,Q1=+s[m1>>2],C1=Q1*B1,v1=C1+c3,k1=Y3+1|0,S1=(k1|0)<(u1|0),S1)c3=v1,Y3=k1;else{G3=v1;break}else G3=0;if(L1=($+(r3<<4)|0)+12|0,M1=+s[L1>>2],b1=M1*G3,_1=(g+(r3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,y=F1?16:-1,I=y+R1|0,U1=(g+(r3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],X1=b1P1,b=x1?P1:b1,K1=b+-99999,q1=G1+99999,H1=(g+(r3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,V1=e[_1>>2]|0,Y1=V1+1|0,t2=(V1|0)>15,_=t2?0:Y1,e[_1>>2]=_,e2=(o+4|0)+(r3<<2)|0,O1=+s[e2>>2],h2=O1+b3,Z1=q1>h2,I2=n6|5,j5=Z1?I2:n6,A2=(o+32|0)+(r3<<2)|0,C2=+s[A2>>2],$2=C2-b3,W1=K1<$2,f2=j5|2,h3=W1?f2:j5,r2=r3+1|0,u3=(r2|0)==7,u3){A6=h3;break}else r3=r2,n6=h3}return C=m3,A6|0}for(;;){if(R5=($+(l3<<4)|0)+4|0,e5=e[R5>>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(u0=c0+U5|0,l0=b2+(u0<<2)|0,X=+s[l0>>2],m0=g0+(U5<<2)|0,I0=+s[m0>>2],r0=I0*X,d0=r0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=d0,U5=p0;else{V3=d0;break}else V3=0;for(E0=($+(l3<<4)|0)+12|0,Q0=+s[E0>>2],d3=Q0*V3,n3=(g+(l3*144|0)|0)+68|0,I3=e[n3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,x0=+s[B0>>2],Z0=d3x0,D=R0?x0:d3,l6=0,U3=E,L3=-99999,D3=99999;;)if(s0=(U3|0)<1,w=s0?16:-1,k=w+U3|0,K=(g+(l3*144|0)|0)+(k<<2)|0,o0=+s[K>>2],Y=L3o0,H=i0?o0:D3,e0=l6+1|0,J5=(e0|0)==(d|0),J5){L=h0,V=H;break}else l6=e0,U3=k,L3=h0,D3=H;if(k5=D-V,z5=i3-L,B5=(g+(l3*144|0)|0)+(I3<<2)|0,s[B5>>2]=d3,W5=e[n3>>2]|0,a3=W5+1|0,y3=(W5|0)>15,Q=y3?0:a3,e[n3>>2]=Q,Z5=(o+4|0)+(l3<<2)|0,x3=+s[Z5>>2],f3=x3+b3,w3=z5>f3,e6=z3|5,M3=w3?e6:z3,H3=(o+32|0)+(l3<<2)|0,X5=+s[H3>>2],_3=X5-b3,t3=k5<_3,a6=M3|2,J3=t3?a6:M3,n0=l3+1|0,H5=(n0|0)==7,H5){A6=J3;break}else l3=n0,z3=J3}return C=m3,A6|0}function al(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0;if(Ae=C,C=C+4912|0,z6=Ae+1328|0,be=Ae+1064|0,me=Ae+804|0,Pt=Ae+544|0,F4=Ae+284|0,t8=Ae+24|0,$8=Ae+20|0,Zt=Ae+16|0,Ot=Ae+12|0,qt=Ae+8|0,T4=Ae+4|0,st=Ae,A0=o+1296|0,j=e[A0>>2]|0,y2=o+1288|0,r6=e[y2>>2]|0,O3=o+1284|0,w6=e[O3>>2]|0,v9=(w6|0)>0,v9){for(mt=0;r4=be+(mt<<2)|0,e[r4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(w6|0),!S4;)mt=k4;if(v9){for(Z3=0;Be=me+(Z3<<2)|0,e[Be>>2]=-200,n0=Z3+1|0,Ie=(n0|0)==(w6|0),!Ie;)Z3=n0;if(v9){for(l0=w6<<2,g4(Pt|0,0,l0|0)|0,x9=0;D0=F4+(x9<<2)|0,e[D0>>2]=1,O0=x9+1|0,z4=(O0|0)==(w6|0),!z4;)x9=O0;if(v9){if(h1=w6<<2,g4(t8|0,-1,h1|0)|0,v1=(w6|0)>1,!v1)return A4=0,C=Ae,A4|0;for(P1=r6+-1|0,e2=j+1112|0,r2=w6+-1|0,N=e[o>>2]|0,ke=N,b9=0,b4=0;;){Re=b9+1|0,Fe=o+(Re<<2)|0,Ue=e[Fe>>2]|0,He=z6+(b9*56|0)|0,O4=He,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[He>>2]=ke,Ve=(z6+(b9*56|0)|0)+4|0,e[Ve>>2]=Ue,J9=(Ue|0)<(r6|0),s8=J9?Ue:P1,Ye=(s8|0)<(ke|0),Ye)_t=0,r8=0,Mt=0,Rt=0,yt=0,P4=0,a8=0,j9=0,jt=0,Tt=0,Z8=0,j8=0;else for(xe=ke,pt=0,J4=0,We=0,se=0,D4=0,gt=0,C3=0,T9=0,ht=0,D9=0,u8=0,Nt=0;;){de=$+(xe<<2)|0,J=+s[de>>2],Pe=J*7.314285755157471,Ce=Pe+1023.5,v4=~~Ce,Z9=(v4|0)>1023,k9=(v4|0)<0,p=k9?0:v4,b=Z9?1023:p,V4=(b|0)==0;do if(V4)Jt=pt,at=J4,$t=We,Bt=se,W4=D4,De=gt,wt=C3,Wt=T9,je=ht,et=D9,c4=u8,Xt=Nt;else if(rt=a+(xe<<2)|0,ze=+s[rt>>2],Y4=+s[e2>>2],Je=Y4+ze,o4=!(Je>=J),o4){h4=xe+gt|0,oe=b+Nt|0,d4=o5(xe,xe)|0,f4=d4+se|0,Se=o5(b,b)|0,s0=Se+D9|0,K=o5(b,xe)|0,o0=K+T9|0,Y=J4+1|0,Jt=pt,at=Y,$t=We,Bt=f4,W4=D4,De=h4,wt=C3,Wt=o0,je=ht,et=s0,c4=u8,Xt=oe;break}else{R4=xe+D4|0,ot=b+u8|0,re=o5(xe,xe)|0,u4=re+We|0,T6=o5(b,b)|0,Ke=T6+ht|0,O9=o5(b,xe)|0,fe=O9+C3|0,Te=pt+1|0,Jt=Te,at=J4,$t=u4,Bt=se,W4=R4,De=gt,wt=fe,Wt=T9,je=Ke,et=D9,c4=ot,Xt=Nt;break}while(!1);if(h0=xe+1|0,i0=(xe|0)<(s8|0),i0)xe=h0,pt=Jt,J4=at,We=$t,se=Bt,D4=W4,gt=De,C3=wt,T9=Wt,ht=je,D9=et,u8=c4,Nt=Xt;else{_t=Jt,r8=at,Mt=$t,Rt=Bt,yt=W4,P4=De,a8=wt,j9=Wt,jt=je,Tt=et,Z8=c4,j8=Xt;break}}if(e0=(z6+(b9*56|0)|0)+8|0,e[e0>>2]=yt,u0=(z6+(b9*56|0)|0)+12|0,e[u0>>2]=Z8,c0=(z6+(b9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(b9*56|0)|0)+20|0,e[$0>>2]=jt,X=(z6+(b9*56|0)|0)+24|0,e[X>>2]=a8,m0=(z6+(b9*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(b9*56|0)|0)+32|0,e[g0>>2]=P4,I0=(z6+(b9*56|0)|0)+36|0,e[I0>>2]=j8,r0=(z6+(b9*56|0)|0)+40|0,e[r0>>2]=Rt,d0=(z6+(b9*56|0)|0)+44|0,e[d0>>2]=Tt,p0=(z6+(b9*56|0)|0)+48|0,e[p0>>2]=j9,C0=(z6+(b9*56|0)|0)+52|0,e[C0>>2]=r8,b0=_t+b4|0,I6=(Re|0)==(r2|0),I6){E8=b0;break}else ke=Ue,b9=Re,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=Ae,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]=r6,Y2=(r6|0)<1,Y2)Yt=0,n8=0,Kt=0,Ct=0,ct=0,ae=0,Qt=0,$4=0,l8=0,c8=0,Y8=0,z8=0;else for(b2=j+1112|0,pe=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,Ze=0,l4=0,ut=0,X4=0,R8=0,dt=0;;){M5=$+(pe<<2)|0,V=+s[M5>>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,z3=(B|0)==0;do if(z3)zt=xt,G4=Et,U4=At,lt=m4,K4=p4,_4=E4,Z4=Ze,j4=l4,Ft=ut,g8=X4,F8=R8,T8=dt;else if(f6=a+(pe<<2)|0,W3=+s[f6>>2],$6=+s[b2>>2],g9=$6+W3,U6=!(g9>=V),U6){B9=pe+E4|0,y9=B+dt|0,Q9=o5(pe,pe)|0,d9=Q9+m4|0,f9=o5(B,B)|0,V9=f9+X4|0,q6=o5(B,pe)|0,a9=q6+l4|0,Y9=Et+1|0,zt=xt,G4=Y9,U4=At,lt=d9,K4=p4,_4=B9,Z4=Ze,j4=a9,Ft=ut,g8=V9,F8=R8,T8=y9;break}else{Y6=pe+p4|0,F6=B+R8|0,t9=o5(pe,pe)|0,_6=t9+At|0,P6=o5(B,B)|0,O6=P6+ut|0,s9=o5(B,pe)|0,h9=s9+Ze|0,r9=xt+1|0,zt=r9,G4=Et,U4=_6,lt=m4,K4=Y6,_4=E4,Z4=h9,j4=l4,Ft=O6,g8=X4,F8=F6,T8=dt;break}while(!1);if(w9=pe+1|0,S9=(w9|0)==(r6|0),S9){Yt=zt,n8=G4,Kt=U4,Ct=lt,ct=K4,ae=_4,Qt=Z4,$4=j4,l8=Ft,c8=g8,Y8=F8,z8=T8;break}else pe=w9,xt=zt,Et=G4,At=U4,m4=lt,p4=K4,E4=_4,Ze=Z4,l4=j4,ut=Ft,X4=g8,R8=F8,dt=T8}we=z6+8|0,e[we>>2]=ct,ue=z6+12|0,e[ue>>2]=Y8,Ee=z6+16|0,e[Ee>>2]=Kt,z9=z6+20|0,e[z9>>2]=l8,ne=z6+24|0,e[ne>>2]=Qt,F9=z6+28|0,e[F9>>2]=Yt,K6=z6+32|0,e[K6>>2]=ae,A9=z6+36|0,e[A9>>2]=z8,ve=z6+40|0,e[ve>>2]=Ct,Me=z6+44|0,e[Me>>2]=c8,he=z6+48|0,e[he>>2]=$4,_9=z6+52|0,e[_9>>2]=n8,E8=Yt}if(y0=(E8|0)==0,y0)return A4=0,C=Ae,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=w6+-1|0,MC(z6,E0,$8,Zt,j)|0,Q0=e[$8>>2]|0,e[be>>2]=Q0,e[me>>2]=Q0,w0=e[Zt>>2]|0,B0=me+4|0,e[B0>>2]=w0,x0=be+4|0,e[x0>>2]=w0,Z0=(w6|0)>2;do if(Z0){R0=j+1112|0,v0=j+1096|0,N0=j+1100|0,U0=j+1104|0,qe=2;e:for(;;){H0=(o+520|0)+(qe<<2)|0,S0=e[H0>>2]|0,J0=Pt+(S0<<2)|0,T0=e[J0>>2]|0,M0=F4+(S0<<2)|0,P0=e[M0>>2]|0,W0=t8+(T0<<2)|0,K0=e[W0>>2]|0,V0=(K0|0)==(P0|0);t:do if(!V0){if(j0=(o+520|0)+(T0<<2)|0,Y0=e[j0>>2]|0,s1=(o+520|0)+(P0<<2)|0,z0=e[s1>>2]|0,e[W0>>2]=P0,n1=(j+836|0)+(T0<<2)|0,L0=e[n1>>2]|0,o1=(j+836|0)+(P0<<2)|0,d1=e[o1>>2]|0,u1=be+(T0<<2)|0,p1=e[u1>>2]|0,f1=(p1|0)<0,A1=me+(T0<<2)|0,c1=e[A1>>2]|0,f1?w=c1:(a1=(c1|0)<0,a1?w=p1:($1=c1+p1|0,X0=$1>>1,w=X0)),B1=be+(P0<<2)|0,m1=e[B1>>2]|0,Q1=(m1|0)<0,C1=me+(P0<<2)|0,y1=e[C1>>2]|0,Q1?Q=y1:(k1=(y1|0)<0,k1?Q=m1:(S1=y1+m1|0,L1=S1>>1,Q=L1)),M1=(w|0)==-1,b1=(Q|0)==-1,L8=M1|b1,L8){C4=38;break e}_1=Q-w|0,R1=d1-L0|0,N4=(_1|0)>-1,L9=0-_1|0,F1=N4?_1:L9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,X1=D1|1,G1=$+(L0<<2)|0,Z=+s[G1>>2],x1=Z*7.314285755157471,K1=x1+1023.5,q1=~~K1,H1=(q1|0)>1023,V1=(q1|0)<0,I=V1?0:q1,D=H1?1023:I,Y1=o5(U1,R1)|0,f8=(Y1|0)>-1,p8=0-Y1|0,t2=f8?Y1:p8,s2=F1-t2|0,O1=w-D|0,h2=o5(O1,O1)|0,Z1=a+(L0<<2)|0,I2=+s[Z1>>2],A2=+s[R0>>2],C2=A2+I2,$2=!(C2>=Z),$2?C4=42:(W1=+(w|0),f2=+s[v0>>2],c2=f2+W1,g2=+(D|0),o2=c2>2],i2=W1-l2,a2=i2>g2,a2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=L0+1|0,n2=(m2|0)<(d1|0),n2)for(p2=m2,s4=0,x8=h2,Vt=1,C8=w;;){if(k2=s4+s2|0,D2=(k2|0)<(R1|0),S2=D2?0:X1,M2=D2?0:R1,Oe=k2-M2|0,F=C8+U1|0,A8=F+S2|0,O2=$+(p2<<2)|0,t0=+s[O2>>2],W2=t0*7.314285755157471,q2=W2+1023.5,J2=~~q2,U2=(J2|0)>1023,V2=(J2|0)<0,E=V2?0:J2,_=U2?1023:E,Z2=A8-_|0,A5=o5(Z2,Z2)|0,N1=A5+x8|0,t5=Vt+1|0,T5=a+(p2<<2)|0,i5=+s[T5>>2],x5=i5+A2,j2=x5>=t0,p5=(_|0)!=0,o8=j2&p5,o8&&(D5=+(A8|0),V5=+s[v0>>2],u5=V5+D5,y5=+(_|0),s5=u5>2],R2=D5-F2,Q2=R2>y5,Q2)))break i;if(Q5=p2+1|0,N5=(Q5|0)<(d1|0),N5)p2=Q5,s4=Oe,x8=N1,Vt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=h2,Ht=1;if(E5=+s[v0>>2],L5=E5*E5,q5=+(Ht|0),z2=L5/q5,C5=+s[U0>>2],$5=z2>C5,!$5&&(h5=+s[N0>>2],w5=h5*h5,T1=w5/q5,_5=T1>C5,!_5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),X2=l5>C5,X2)))break;g3=be+(qe<<2)|0,e[g3>>2]=-200,u3=me+(qe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,v5=z6+(Y0*56|0)|0,n5=S0-Y0|0,a5=MC(v5,n5,Ot,qt,j)|0,f5=z6+(S0*56|0)|0,K2=z0-S0|0,I5=MC(f5,K2,T4,st,j)|0,r5=(a5|0)!=0,r5&&(e[Ot>>2]=w,R5=e[T4>>2]|0,e[qt>>2]=R5),e5=(I5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=Q,r5)){k5=be+(qe<<2)|0,e[k5>>2]=-200,z5=me+(qe<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,B5=(T0|0)==0,B5&&(e[be>>2]=i3),I3=e[qt>>2]|0,d3=be+(qe<<2)|0,e[d3>>2]=I3,W5=e[T4>>2]|0,n3=me+(qe<<2)|0,e[n3>>2]=W5,a3=e[st>>2]|0,e[B1>>2]=a3,y3=(P0|0)==1,y3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(S0|0)>0;i:do if(f3)for(e8=S0;;){if(_8=e8+-1|0,e6=F4+(_8<<2)|0,H3=e[e6>>2]|0,X5=(H3|0)==(P0|0),!X5)break i;if(e[e6>>2]=qe,_3=(e8|0)>1,_3)e8=_8;else break}while(!1);if(m8=S0+1|0,w3=(m8|0)<(w6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,a6=e[t3>>2]|0,V3=(a6|0)==(T0|0),!V3)break t;if(e[t3>>2]=qe,I8=Ut+1|0,c3=(I8|0)<(w6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=qe+1|0,J5=(Q3|0)<(w6|0),J5)qe=Q3;else{C4=68;break}}if((C4|0)==38)TS(1);else if((C4|0)==68){O=e[be>>2]|0,H=e[me>>2]|0,b5=O,l6=H;break}}else b5=Q0,l6=Q0;while(!1);if(H5=w6<<2,Y5=W8(t,H5)|0,Y3=(b5|0)<0,Y3?k=l6:(r3=(l6|0)<0,r3?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?M=L3:(D3=(L3|0)<0,D3?M=C6:(A6=L3+C6|0,n6=A6>>1,M=n6)),j5=Y5+4|0,e[j5>>2]=M,Z0)a4=2;else return A4=Y5,C=Ae,A4|0;for(;;)if(M3=a4+-2|0,h3=(o+1032|0)+(M3<<2)|0,J3=e[h3>>2]|0,d6=(o+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,v6=e[j6>>2]|0,R3=(j+836|0)+(a4<<2)|0,o6=e[R3>>2]|0,s6=N6&32767,B6=v6&32767,K3=B6-s6|0,F3=S6-L6|0,d8=(K3|0)>-1,Lt=0-K3|0,t6=d8?K3:Lt,R6=o6-L6|0,c6=o5(t6,R6)|0,o3=(c6|0)/(F3|0)&-1,J6=(K3|0)<0,A3=0-o3|0,L=J6?A3:o3,x=L+s6|0,g6=be+(a4<<2)|0,y6=e[g6>>2]|0,T3=(y6|0)<0,H6=me+(a4<<2)|0,D6=e[H6>>2]|0,T3?y=D6:(G6=(D6|0)<0,G6?y=y6:(e9=D6+y6|0,Q6=e9>>1,y=Q6)),X6=(y|0)<0,P3=(x|0)==(y|0),M8=X6|P3,n9=x|32768,g=M8?n9:y,V6=Y5+(a4<<2)|0,e[V6>>2]=g,o9=a4+1|0,I4=(o9|0)==(w6|0),I4){A4=Y5;break}else a4=o9;return C=Ae,A4|0}function Gt(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0;if(u0=C,d=o+1284|0,p=e[d>>2]|0,x=(a|0)!=0,t0=($|0)!=0,h0=x&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(n0=65536-g|0,Y=0;;)if(s0=a+(Y<<2)|0,K=e[s0>>2]|0,I=K&32767,E=o5(I,n0)|0,y=$+(Y<<2)|0,B=e[y>>2]|0,b=B&32767,D=o5(b,g)|0,k=E+32768|0,w=k+D|0,_=w>>16,Q=A0+(Y<<2)|0,e[Q>>2]=_,M=e[s0>>2]|0,L=M&32768,F=(L|0)==0,F||(N=e[y>>2]|0,O=N&32768,H=(O|0)==0,H||(V=_|32768,e[Q>>2]=V)),J=Y+1|0,o0=(J|0)==(p|0),o0){i0=A0;break}else Y=J;return i0|0}function fb(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=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=o+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,x=l3+2848|0,A0=e[x>>2]|0,c0=($|0)==0,c0)return H2(t,0,1),T5=o+36|0,i5=e[T5>>2]|0,x5=(i5|0)/2&-1,j2=x5<<2,g4(g|0,0,j2|0)|0,p=0,C=O6,p|0;if(b0=(F2|0)>0,b0)for(N0=Q+832|0,B6=0;V0=$+(B6<<2)|0,p1=e[V0>>2]|0,C1=p1&32767,U1=e[N0>>2]|0,(U1|0)==4?(Z2=C1>>>4,Y6=Z2):(U1|0)==1?(t2=C1>>>2,Y6=t2):(U1|0)==2?(c2=C1>>>3,Y6=c2):(U1|0)==3?(S2=(C1>>>0)/12&-1,Y6=S2):Y6=C1,p5=p1&32768,D5=p5|Y6,e[V0>>2]=D5,V5=B6+1|0,v6=(V5|0)==(F2|0),!v6;)B6=V5;if(u5=e[$>>2]|0,e[U6>>2]=u5,b2=$+4|0,y5=e[b2>>2]|0,s5=U6+4|0,e[s5>>2]=y5,R2=(F2|0)>2,Q2=a+1292|0,R2){for(K3=2;;){if(Q5=K3+-2|0,N5=(a+1032|0)+(Q5<<2)|0,E5=e[N5>>2]|0,L5=(a+780|0)+(Q5<<2)|0,q5=e[L5>>2]|0,M5=(Q+836|0)+(E5<<2)|0,z2=e[M5>>2]|0,C5=(Q+836|0)+(q5<<2)|0,h5=e[C5>>2]|0,w5=$+(E5<<2)|0,T1=e[w5>>2]|0,_5=$+(q5<<2)|0,d5=e[_5>>2]|0,l5=(Q+836|0)+(K3<<2)|0,X2=e[l5>>2]|0,d2=T1&32767,v5=d5&32767,n5=v5-d2|0,f5=h5-z2|0,W3=(n5|0)>-1,n9=0-n5|0,K2=W3?n5:n9,I5=X2-z2|0,r5=o5(K2,I5)|0,R5=(r5|0)/(f5|0)&-1,e5=(n5|0)<0,c5=0-R5|0,E=e5?c5:R5,I=E+d2|0,T2=$+(K3<<2)|0,k5=e[T2>>2]|0,z5=k5&32768,B5=(z5|0)!=0,I3=(k5|0)==(I|0),g9=B5|I3,g9)d3=I|32768,e[T2>>2]=d3,W5=U6+(K3<<2)|0,e[W5>>2]=0;else{n3=e[Q2>>2]|0,a3=n3-I|0,y3=(a3|0)<(I|0),d=y3?a3:I,G5=k5-I|0,Z5=(G5|0)<0;do if(Z5)if(x3=0-d|0,w3=(G5|0)<(x3|0),w3){e6=G5^-1,H3=d+e6|0,F6=H3;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);V3=U6+(K3<<2)|0,e[V3>>2]=F6,e[w5>>2]=d2,c3=e[_5>>2]|0,u3=c3&32767,e[_5>>2]=u3}if(Q3=K3+1|0,j6=(Q3|0)==(F2|0),j6)break;K3=Q3}b=e[U6>>2]|0,D=e[s5>>2]|0,A6=b,M3=D}else A6=u5,M3=y5;if(H2(t,1,1),J5=a+1308|0,H5=e[J5>>2]|0,Y5=H5+1|0,e[J5>>2]=Y5,b5=e[Q2>>2]|0,Y3=b5+-1|0,U5=V8(Y3)|0,l6=U5<<1,r3=a+1304|0,U3=e[r3>>2]|0,C6=U3+l6|0,e[r3>>2]=C6,b3=e[Q2>>2]|0,L3=b3+-1|0,D3=V8(L3)|0,H2(t,A6,D3),n6=e[Q2>>2]|0,z3=n6+-1|0,j5=V8(z3)|0,H2(t,M3,j5),M=e[Q>>2]|0,L=(M|0)>0,L)for(F=a+1300|0,F3=0,c6=2;;){if(N=(Q+4|0)+(F3<<2)|0,O=e[N>>2]|0,H=(Q+128|0)+(O<<2)|0,V=e[H>>2]|0,J=(Q+192|0)+(O<<2)|0,t0=e[J>>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,n0=(t0|0)==31,!n0)for(A3=0;d0=((Q+320|0)+(O<<5)|0)+(A3<<2)|0,p0=e[d0>>2]|0,C0=(p0|0)<0,C0?w=1:(y0=(l3+1824|0)+(p0<<2)|0,D0=e[y0>>2]|0,E0=D0+4|0,Q0=e[E0>>2]|0,w=Q0),w0=P3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,x0=(B0|0)<(Z|0),x0;)A3=B0;s0=(V|0)>0;e:do if(s0){if(n0)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(K=P3+(H6<<2)|0,o0=e[K>>2]|0,h0=(Y|0)<(o0|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,u0=h3+(y6<<2)|0,e[u0>>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,T0=A0+(J0*56|0)|0,M0=Ou(T0,m3,t)|0,P0=e[F>>2]|0,W0=P0+M0|0,e[F>>2]=W0}if(K0=(V|0)>0,K0)for(T3=0;j0=h3+(T3<<2)|0,q0=e[j0>>2]|0,Y0=((Q+320|0)+(O<<5)|0)+(q0<<2)|0,s1=e[Y0>>2]|0,z0=(s1|0)>-1,z0&&(n1=T3+c6|0,L0=U6+(n1<<2)|0,o1=e[L0>>2]|0,d1=(A0+(s1*56|0)|0)+4|0,u1=e[d1>>2]|0,f1=(o1|0)<(u1|0),f1&&(h1=A0+(s1*56|0)|0,A1=Ou(h1,o1,t)|0,c1=e[r3>>2]|0,a1=c1+A1|0,e[r3>>2]=a1)),$1=T3+1|0,b6=($1|0)==(V|0),!b6;)T3=$1;if(X0=V+c6|0,B1=F3+1|0,m1=e[Q>>2]|0,Q1=(B1|0)<(m1|0),Q1)F3=B1,c6=X0;else break}if(y1=e[$>>2]|0,v1=Q+832|0,k1=e[v1>>2]|0,S1=o5(k1,y1)|0,L1=o+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(o6=0,o3=1,D6=0,Q6=S1;;){if(K1=(a+260|0)+(o3<<2)|0,q1=e[K1>>2]|0,H1=$+(q1<<2)|0,V1=e[H1>>2]|0,Y1=V1&32767,s2=(Y1|0)==(V1|0),s2)if(e2=e[v1>>2]|0,O1=o5(e2,V1)|0,h2=(Q+836|0)+(q1<<2)|0,Z1=e[h2>>2]|0,I2=O1-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,r2=W1|1,g2=o5($2,A2)|0,R6=(g2|0)>-1,o9=0-g2|0,o2=R6?g2:o9,l2=C2-o2|0,i2=(R1|0)>(Z1|0),t9=i2?Z1:R1,a2=(t9|0)>(D6|0),a2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),n2=D6+1|0,k2=(n2|0)<(t9|0),k2)for(p2=n2,M6=0,_6=Q6;;)if(D2=M6+l2|0,y2=(D2|0)<(A2|0),G2=y2?0:r2,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)==(t9|0),f6){s6=Z1,G6=Z1,X6=O1;break}else p2=W2,M6=S6,_6=P6;else s6=Z1,G6=Z1,X6=O1;else s6=o6,G6=D6,X6=Q6;if(q2=o3+1|0,J2=e[f2>>2]|0,U2=(q2|0)<(J2|0),U2)o6=s6,o3=q2,D6=G6,Q6=X6;else{R3=s6,e9=X6;break}}else R3=0,e9=S1;if(P1=o+36|0,X1=e[P1>>2]|0,G1=(X1|0)/2&-1,x1=(R3|0)<(G1|0),x1)J6=R3;else return p=1,C=O6,p|0;for(;;)if(V2=g+(J6<<2)|0,e[V2>>2]=e9,A5=J6+1|0,Y2=e[P1>>2]|0,N1=(Y2|0)/2&-1,t5=(A5|0)<(N1|0),t5)J6=A5;else{p=1;break}return C=O6,p|0}function MC(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0;if(A5=C,y=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,y0=e[$0>>2]|0,U0=(o|0)>0,U0)for(j0=g+1108|0,f1=+s[j0>>2],r2=0,i2=0,m2=0,S2=0,O2=0,J2=0;;)if(y1=(t+(i2*56|0)|0)+52|0,D1=e[y1>>2]|0,s2=(t+(i2*56|0)|0)+28|0,b=e[s2>>2]|0,O=b+D1|0,K=+(O|0),o0=K*f1,Y=b+1|0,h0=+(Y|0),i0=o0/h0,e0=i0,u0=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),r0=I0*u0,d0=X+S2,p0=d0+r0,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*u0,x0=D0+J2,Z0=x0+B0,R0=(t+(i2*56|0)|0)+40|0,v0=e[R0>>2]|0,N0=+(v0|0),O0=(t+(i2*56|0)|0)+16|0,H0=e[O0>>2]|0,S0=+(H0|0),J0=S0*u0,T0=N0+m2,M0=T0+J0,P0=(t+(i2*56|0)|0)+48|0,W0=e[P0>>2]|0,K0=+(W0|0),V0=(t+(i2*56|0)|0)+24|0,q0=e[V0>>2]|0,Y0=+(q0|0),s1=Y0*u0,z0=K0+O2,n1=z0+s1,L0=+(D1|0),o1=+(b|0),d1=u0*o1,u1=L0+r2,p1=u1+d1,h1=i2+1|0,l2=(h1|0)==(o|0),l2){c2=p1,a2=M0,D2=p0,M2=n1,q2=Z0;break}else r2=p1,i2=h1,m2=M0,S2=p0,O2=n1,J2=Z0;else c2=0,a2=0,D2=0,M2=0,q2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(a1=+(y|0),$1=D2+a1,X0=+(A1|0),B1=X0+q2,m1=o5(y,y)|0,Q1=+(m1|0),C1=a2+Q1,v1=o5(A1,y)|0,k1=+(v1|0),S1=k1+M2,L1=c2+1,g2=L1,n2=C1,y2=$1,p2=S1,U2=B1):(g2=c2,n2=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),U1=F1+U2,P1=o5(y0,y0)|0,X1=+(P1|0),G1=n2+X1,x1=o5(M1,y0)|0,K1=+(x1|0),q1=K1+p2,H1=g2+1,o2=H1,k2=G1,G2=R1,W2=q1,V2=U1):(o2=g2,k2=n2,G2=y2,W2=p2,V2=U2),V1=k2*o2,Y1=G2*G2,t2=V1-Y1,e2=t2>0,e2?(O1=V2*k2,h2=G2*W2,Z1=O1-h2,I2=Z1/t2,A2=W2*o2,C2=G2*V2,$2=A2-C2,W1=$2/t2,f2=+(y|0),D=W1*f2,k=D+I2,w=+K7(k),_=~~w,e[a>>2]=_,Q=+(y0|0),x=W1*Q,M=x+I2,L=+K7(M),F=~~L,e[$>>2]=F,N=e[a>>2]|0,H=(N|0)>1023,H?(e[a>>2]=1023,p=e[$>>2]|0,V=p,n0=1023):(V=F,n0=N),J=(V|0)>1023,J?(e[$>>2]=1023,I=e[a>>2]|0,t0=I,s0=1023):(t0=n0,s0=V),Z=(t0|0)<0,Z?(e[a>>2]=0,E=e[$>>2]|0,A0=E):A0=s0,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 Ib(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0;if(L0=C,p=t+836|0,I=t+840|0,M=e[I>>2]|0,j=e[t>>2]|0,H2(o,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(o,b,4),D=e[B>>2]|0,k=(z0|0)<(D|0),a=k?D:z0,w=W0+1|0,_=e[t>>2]|0,Q=(w|0)<(_|0),Q)W0=w,z0=a;else{$=a;break}if(H0=($|0)>-1,H0)for(S0=t+128|0,J0=t+192|0,E=t+256|0,y=t+320|0,K0=0;;){if(x=S0+(K0<<2)|0,L=e[x>>2]|0,F=L+-1|0,H2(o,F,3),N=J0+(K0<<2)|0,O=e[N>>2]|0,H2(o,O,2),H=e[N>>2]|0,V=(H|0)==0,V?(j0=0,n1=8):(J=E+(K0<<2)|0,t0=e[J>>2]|0,H2(o,t0,8),g=e[N>>2]|0,Z=(g|0)==31,Z||(j0=0,n1=8)),(n1|0)==8)for(;n1=0,A0=(y+(K0<<5)|0)+(j0<<2)|0,n0=e[A0>>2]|0,s0=n0+1|0,H2(o,s0,8),K=j0+1|0,o0=e[N>>2]|0,Y=1<>2]|0,c0=u0+-1|0,H2(o,c0,2),l0=M+-1|0,X=V8(l0)|0,H2(o,X,4),m0=V8(l0)|0,g0=e[t>>2]|0,I0=(g0|0)>0,!!I0)for(r0=t+4|0,d0=t+128|0,O0=g0,T0=0,V0=0,q0=0;;){if(p0=r0+(V0<<2)|0,C0=e[p0>>2]|0,b0=d0+(C0<<2)|0,D0=e[b0>>2]|0,E0=D0+T0|0,Q0=(q0|0)<(E0|0),Q0){for(s1=q0;w0=s1+2|0,B0=p+(w0<<2)|0,x0=e[B0>>2]|0,H2(o,x0,m0),Z0=s1+1|0,M0=(Z0|0)==(E0|0),!M0;)s1=Z0;d=e[t>>2]|0,N0=d,Y0=E0}else N0=O0,Y0=q0;if(R0=V0+1|0,v0=(R0|0)<(N0|0),v0)O0=N0,T0=E0,V0=R0,q0=Y0;else break}}function mb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0;Z1=C,C=C+272|0,O1=Z1,_=t+28|0,Q=e[_>>2]|0,Z=ce(1,1120)|0,u0=n4(o,5)|0,e[Z>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=Z+4|0,X1=0,s2=-1;;){if(L=n4(o,4)|0,F=v0+(X1<<2)|0,e[F>>2]=L,N=(L|0)<0,N)break e;if(O=(s2|0)<(L|0),g=O?L:s2,H=X1+1|0,V=e[Z>>2]|0,J=(H|0)<(V|0),J)X1=H,s2=g;else{d=g;break}}if(K0=(d|0)>-1,K0)for(u1=Z+128|0,Q1=Z+192|0,F1=Z+256|0,x=Q+24|0,M=Z+320|0,G1=0;;){if(t0=n4(o,3)|0,A0=t0+1|0,j=u1+(G1<<2)|0,e[j>>2]=A0,n0=n4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=n0,K=(n0|0)<0,K||(o0=(n0|0)==0,o0?(p=F1+(G1<<2)|0,I=e[p>>2]|0,i0=I):(Y=n4(o,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=Y,i0=Y),e0=(i0|0)<0,e0)||(c0=e[x>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,X=(l0|0)==31,!X)for(H1=0;;){if(d0=n4(o,8)|0,p0=d0+-1|0,b0=(M+(G1<<5)|0)+(H1<<2)|0,e[b0>>2]=p0,y0=(d0|0)<0,y0||(D0=e[x>>2]|0,E0=(d0|0)>(D0|0),I0=H1+1|0,E0))break e;if(m0=e[s0>>2]|0,g0=1<>2]=x0,R0=n4(o,4)|0,N0=(R0|0)<0,!N0)){if(U0=e[Z>>2]|0,O0=(U0|0)>0,O0)for(H0=Z+4|0,S0=Z+128|0,J0=Z+836|0,T0=1<>2]|0,W0=S0+(P0<<2)|0,V0=e[W0>>2]|0,j0=V0+P1|0,q0=(j0|0)>63,q0)break e;if(Y0=(V1|0)<(j0|0),Y0){for(t2=V1;;){if(s1=n4(o,R0)|0,z0=t2+2|0,n1=J0+(z0<<2)|0,e[n1>>2]=s1,L0=(s1|0)>-1,o1=(s1|0)<(T0|0),e2=L0&o1,!e2)break e;if(d1=t2+1|0,p1=(d1|0)<(j0|0),p1)t2=d1;else{$=d1;break}}B=e[Z>>2]|0,A1=B,Y1=$}else A1=U1,Y1=V1;if(f1=x1+1|0,h1=(f1|0)<(A1|0),h1)U1=A1,P1=j0,x1=f1,V1=Y1;else{E=J0,y=T0,D1=j0;break}}else k=Z+836|0,w=1<>2]=0,c1=Z+840|0,e[c1>>2]=y,a1=D1+2|0,$1=(D1|0)>-2,$1)for(K1=0;X0=E+(K1<<2)|0,B1=O1+(K1<<2)|0,e[B1>>2]=X0,m1=K1+1|0,C1=(m1|0)<(a1|0),C1;)K1=m1;Hu(O1,a1,4,8),y1=(a1|0)>1;t:do if(y1){for(b=e[O1>>2]|0,D=e[b>>2]|0,b1=D,q1=1;S1=O1+(q1<<2)|0,L1=e[S1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),v1=q1+1|0,!_1;)if(k1=(v1|0)<(a1|0),k1)b1=M1,q1=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 pb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,$=ce(1,1312)|0,g=$+1296|0,e[g>>2]=o,_=o+836|0,t0=o+840|0,e0=e[t0>>2]|0,p0=$+1288|0,e[p0>>2]=e0,R0=e[o>>2]|0,W0=(R0|0)>0,W0){for(z0=o+4|0,d=o+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,w=$+1284|0,e[w>>2]=k,Q=(a|0)>-2,Q?(N=k,k1=a,_1=7):(Hu(b1,k,4,8),v1=a)}else s1=$+1284|0,e[s1>>2]=2,N=2,k1=0,_1=7;if((_1|0)==7){for(h1=0;x=_+(h1<<2)|0,M=b1+(h1<<2)|0,e[M>>2]=x,L=h1+1|0,F=(L|0)<(N|0),F;)h1=L;for(Hu(b1,N,4,8),O=_,H=$+260|0,A1=0;Z=b1+(A1<<2)|0,A0=e[Z>>2]|0,j=A0,n0=j-O|0,s0=n0>>2,K=H+(A1<<2)|0,e[K>>2]=s0,o0=A1+1|0,Y=(o0|0)<(N|0),Y;)A1=o0;for(V=$+260|0,J=$+520|0,c1=0;i0=V+(c1<<2)|0,u0=e[i0>>2]|0,c0=J+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(N|0),l0;)c1=$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,r0=$+(a1<<2)|0,e[r0>>2]=I0,d0=a1+1|0,C0=(d0|0)<(N|0),C0)a1=d0;else{v1=k1;break}}if(b0=o+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,N0=_+(v0<<2)|0,U0=e[N0>>2]|0,O0=e[p0>>2]|0,L0=1,u1=O0,X0=0,B1=0,C1=0;;)if(H0=_+(X0<<2)|0,S0=e[H0>>2]|0,J0=(S0|0)>(C1|0),T0=(S0|0)<(U0|0),L1=J0&T0,m1=L1?X0:B1,y1=L1?S0:C1,M0=(S0|0)<(u1|0),P0=(S0|0)>(U0|0),M1=M0&P0,o1=M1?X0:L0,p1=M1?S0:u1,K0=X0+1|0,V0=(K0|0)<(v0|0),V0)L0=o1,u1=p1,X0=K0,B1=m1,C1=y1;else{d1=o1,Q1=m1;break}if(j0=x0+($1<<2)|0,e[j0>>2]=Q1,q0=Z0+($1<<2)|0,e[q0>>2]=d1,Y0=$1+1|0,n1=(Y0|0)==(v1|0),n1)break;$1=Y0}return C=R1,$|0}function Eb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Cb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Bb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0;if(S2=C,d=o+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,P1=v1+2848|0,e2=e[P1>>2]|0,I=t+4|0,M=n4(I,1)|0,j=(M|0)==1,!j)return a=0,a|0;Y=o+1284|0,h0=e[Y>>2]|0,i0=h0<<2,e0=W8(t,i0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,X=V8($0)|0,m0=n4(I,X)|0,e[e0>>2]=m0,g0=e[u0>>2]|0,I0=g0+-1|0,r0=V8(I0)|0,d0=n4(I,r0)|0,p0=e0+4|0,e[p0>>2]=d0,C0=e[p>>2]|0,b0=(C0|0)>0;e:do if(b0){o2=0,a2=2;t:for(;;){if(B0=(p+4|0)+(o2<<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,N0=e[v0>>2]|0,U0=1<>2]|0,T0=e2+(J0*56|0)|0,M0=$E(T0,I)|0,P0=(M0|0)==-1,P0){a=0,D2=25;break}else r2=M0;if(W0=(R0|0)>0,W0)for(K0=U0+-1|0,g2=r2,m2=0;;){if(V0=g2&K0,j0=((p+320|0)+(x0<<5)|0)+(V0<<2)|0,Y0=e[j0>>2]|0,s1=g2>>N0,z0=(Y0|0)>-1,z0){if(n1=e2+(Y0*56|0)|0,L0=$E(n1,I)|0,o1=m2+a2|0,d1=e0+(o1<<2)|0,e[d1>>2]=L0,u1=(L0|0)==-1,u1){a=0,D2=25;break t}}else p1=m2+a2|0,f1=e0+(p1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,c1=(A1|0)<(R0|0),c1)g2=s1,m2=A1;else break}if(a1=R0+a2|0,$1=o2+1|0,X0=e[p>>2]|0,B1=($1|0)<(X0|0),B1)o2=$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=o+1032|0,w0=o+780|0,l2=2;;){if(m1=l2+-2|0,Q1=Q0+(m1<<2)|0,C1=e[Q1>>2]|0,y1=(p+836|0)+(C1<<2)|0,k1=e[y1>>2]|0,S1=w0+(m1<<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,U1=e[F1>>2]|0,D1=(p+836|0)+(l2<<2)|0,X1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,K1=x1-G1|0,q1=b1-k1|0,i2=(K1|0)>-1,n2=0-K1|0,H1=i2?K1:n2,V1=X1-k1|0,Y1=o5(H1,V1)|0,t2=(Y1|0)/(q1|0)&-1,s2=(K1|0)<0,O1=0-t2|0,g=s2?O1:t2,$=g+G1|0,h2=e[u0>>2]|0,Z1=h2-$|0,I2=e0+(l2<<2)|0,A2=e[I2>>2]|0,C2=(A2|0)==0,C2)n0=$|32768,e[I2>>2]=n0;else{$2=(Z1|0)<($|0),W1=$2?Z1:$,f2=W1<<1,c2=(A2|0)<(f2|0);do if(c2)if(D=A2&1,k=(D|0)==0,k){x=A2>>1,k2=x;break}else{w=A2+1|0,_=w>>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);L=k2+$|0,F=L&32767,e[I2>>2]=F,N=e[Q1>>2]|0,O=e0+(N<<2)|0,H=e[O>>2]|0,V=H&32767,e[O>>2]=V,J=e[S1>>2]|0,t0=e0+(J<<2)|0,Z=e[t0>>2]|0,A0=Z&32767,e[t0>>2]=A0}if(s0=l2+1|0,K=e[Y>>2]|0,o0=(s0|0)<(K|0),o0)l2=s0;else{a=e0;break}}return a|0}function yb(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0;if(D1=C,p=o+1296|0,I=e[p>>2]|0,M=t+64|0,j=e[M>>2]|0,$0=j+4|0,y0=e[$0>>2]|0,U0=y0+28|0,j0=e[U0>>2]|0,u1=t+28|0,p1=e[u1>>2]|0,E=j0+(p1<<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,w=e[k>>2]|0,_=o5(w,D)|0,Q=(_|0)<0,x=(_|0)>255,L=x?255:_,F=Q?0:L,N=o+1284|0,O=e[N>>2]|0,H=(O|0)>1,H)for(V=o+260|0,$1=0,Q1=1,y1=0,S1=F;;){if(A0=V+(Q1<<2)|0,n0=e[A0>>2]|0,s0=a+(n0<<2)|0,K=e[s0>>2]|0,o0=K&32767,Y=(o0|0)==(K|0),Y)if(h0=(I+836|0)+(n0<<2)|0,i0=e[h0>>2]|0,e0=o5(w,K)|0,u0=(e0|0)<0,c0=(e0|0)>255,l0=c0?255:e0,X=u0?0:l0,m0=X-S1|0,g0=i0-y1|0,B1=(m0|0)>-1,M1=0-m0|0,I0=B1?m0:M1,r0=(m0|0)/(g0|0)&-1,d0=m0>>31,p0=d0|1,C0=o5(r0,g0)|0,m1=(C0|0)>-1,b1=0-C0|0,b0=m1?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=+s[w0>>2],x0=$+(y1<<2)|0,Z0=+s[x0>>2],R0=Z0*B0,s[x0>>2]=R0),v0=y1+1|0,N0=(v0|0)<(_1|0),N0)for(W0=v0,f1=0,R1=S1;;)if(O0=f1+D0|0,H0=(O0|0)<(g0|0),S0=H0?0:p0,J0=H0?0:g0,h1=O0-J0|0,d=R1+r0|0,F1=d+S0|0,T0=1768+(F1<<2)|0,M0=+s[T0>>2],P0=$+(W0<<2)|0,K0=+s[P0>>2],V0=K0*M0,s[P0>>2]=V0,q0=W0+1|0,c1=(q0|0)==(_1|0),c1){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,s1=(Y0|0)<(O|0),s1)$1=X0,Q1=Y0,y1=v1,S1=L1;else{a1=X0,k1=L1;break}}else a1=0,k1=F;if(J=(a1|0)<(B|0),!J)return g=1,g|0;for(t0=1768+(k1<<2)|0,Z=+s[t0>>2],C1=a1;;)if(z0=$+(C1<<2)|0,n1=+s[z0>>2],L0=n1*Z,s[z0>>2]=L0,o1=C1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else C1=o1;return g|0}function Qb(t,o){t=t|0,o=o|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[o>>2]|0,d=e[g>>2]|0,p=$-d|0,p|0}function wb(t){t=t|0;var o=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 vb(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0;u0=C,g=$l(o|0)|0,d=$l(a|0)|0,Q=g+2|0,Z=Q+d|0,$=Z,j=C,C=C+((1*$|0)+15&-16)|0,GC(j|0,o|0)|0,i0=$l(j|0)|0,h0=j+i0|0,f[h0>>0]=61,f[h0+1>>0]=0,jy(j|0,a|0)|0,n0=e[t>>2]|0,s0=t+8|0,K=e[s0>>2]|0,o0=K<<2,Y=o0+8|0,p=W7(n0,Y)|0,e[t>>2]=p,I=t+4|0,E=e[I>>2]|0,y=e[s0>>2]|0,B=y<<2,b=B+8|0,D=W7(E,b)|0,e[I>>2]=D,k=$l(j|0)|0,w=e[s0>>2]|0,_=D+(w<<2)|0,e[_>>2]=k,x=k+1|0,M=R9(x)|0,L=e[t>>2]|0,F=L+(w<<2)|0,e[F>>2]=M,N=e[t>>2]|0,O=N+(w<<2)|0,H=e[O>>2]|0,GC(H|0,j|0)|0,V=e[s0>>2]|0,J=V+1|0,e[s0>>2]=J,t0=e[t>>2]|0,A0=t0+(J<<2)|0,e[A0>>2]=0,C=u0}function kb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=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(M=t+8|0,L=e[M>>2]|0,F=(L|0)>0,F){for(x=L,O=d,J=0;N=O+(J<<2)|0,H=e[N>>2]|0,V=(H|0)==0,V?E=x:(E2(H),a=e[M>>2]|0,E=a),p=J+1|0,I=(p|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,O=o,J=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,w=e[k>>2]|0,_=(w|0)==0,_||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function Sb(t){t=t|0;var o=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,o=ce(1,3664)|0,a=t+28|0,e[a>>2]=o}function RC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,d=t+28|0,p=e[d>>2]|0,x=(p|0)==0,x){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),o=e[A0>>2]|0,b=o),y=$1+1|0,B=(y|0)<(b|0),B;)f1=b,$1=y;if(N0=p+12|0,V0=e[N0>>2]|0,p1=(V0|0)>0,p1)for(h1=V0,X0=0;_=(p+544|0)+(X0<<2)|0,Q=e[_>>2]|0,M=(Q|0)==0,M?Z=h1:(L=(p+288|0)+(X0<<2)|0,F=e[L>>2]|0,N=25664+(F<<2)|0,O=e[N>>2]|0,H=O+8|0,V=e[H>>2]|0,as[V&7](Q),a=e[N0>>2]|0,Z=a),J=X0+1|0,t0=(J|0)<(Z|0),t0;)h1=Z,X0=J;if(D=p+16|0,k=e[D>>2]|0,w=(k|0)>0,w)for(A1=k,B1=0;K=(p+1056|0)+(B1<<2)|0,o0=e[K>>2]|0,Y=(o0|0)==0,Y?g0=A1:(h0=(p+800|0)+(B1<<2)|0,i0=e[h0>>2]|0,e0=25640+(i0<<2)|0,u0=e[e0>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,as[l0&7](o0),$=e[D>>2]|0,g0=$),X=B1+1|0,m0=(X|0)<(g0|0),m0;)A1=g0,B1=X;if(j=p+20|0,n0=e[j>>2]|0,s0=(n0|0)>0,s0)for(c1=n0,m1=0;C0=(p+1568|0)+(m1<<2)|0,y0=e[C0>>2]|0,D0=(y0|0)==0,D0?U0=c1:(E0=(p+1312|0)+(m1<<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,as[Z0&7](y0),g=e[j>>2]|0,U0=g),R0=m1+1|0,v0=(R0|0)<(U0|0),v0;)c1=U0,m1=R0;if(I0=p+24|0,r0=e[I0>>2]|0,d0=(r0|0)>0,p0=p+2848|0,d0)for(Q1=0;O0=(p+1824|0)+(Q1<<2)|0,H0=e[O0>>2]|0,S0=(H0|0)==0,S0||NC(H0),J0=e[p0>>2]|0,T0=(J0|0)==0,T0||(M0=J0+(Q1*56|0)|0,sD(M0)),P0=Q1+1|0,W0=e[I0>>2]|0,K0=(P0|0)<(W0|0),K0;)Q1=P0;if(j0=e[p0>>2]|0,q0=(j0|0)==0,q0||E2(j0),Y0=p+28|0,s1=e[Y0>>2]|0,z0=(s1|0)>0,z0)for(C1=0;n1=(p+2852|0)+(C1<<2)|0,L0=e[n1>>2]|0,Gb(L0),o1=C1+1|0,d1=e[Y0>>2]|0,u1=(o1|0)<(d1|0),u1;)C1=o1;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 bb(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=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,c1=t+104|0,S1=e[c1>>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,o2=e[h2>>2]|0,M2=(o2|0)<1,M2)_5=-129,l5=27;else if(DC(T1),N1=y+28|0,y5=e[N1>>2]|0,B=(y5|0)==0,B)_5=-130,l5=27;else if(N=e[y5>>2]|0,K=(N|0)<64,K)_5=-130,l5=27;else if(m0=y5+4|0,Q0=e[m0>>2]|0,S0=(Q0|0)<(N|0),S0)_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),s1=e[h2>>2]|0,H2(T1,s1,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,m1=e[B1>>2]|0,H2(T1,m1,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=D8(T1)|0,F1=R9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=D8(T1)|0,ge(F1|0,D1|0,P1|0)|0,X1=e[M1>>2]|0,e[a>>2]=X1,x1=D8(T1)|0,K1=a+4|0,e[K1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,mi(T1),Db(T1,o),V1=S1+68|0,Y1=e[V1>>2]|0,t2=(Y1|0)==0,t2||E2(Y1),s2=D8(T1)|0,e2=R9(s2)|0,e[V1>>2]=e2,O1=e[U1>>2]|0,Z1=D8(T1)|0,ge(e2|0,O1|0,Z1|0)|0,I2=e[V1>>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,c2=f2,e[c2>>2]=1,r2=f2+4|0,g2=r2,e[g2>>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,n2=m2+-1|0,H2(T1,n2,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=sb(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),J2=l2+16|0,U2=e[J2>>2]|0,V2=U2+-1|0,H2(T1,V2,6),Z2=e[J2>>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,x5=e[i5>>2]|0,j2=e[x5>>2]|0,p5=(j2|0)==0,p5)break e;if(D5=(l2+1056|0)+(C5<<2)|0,V5=e[D5>>2]|0,qC[j2&3](V5,T1),u5=C5+1|0,b2=e[J2>>2]|0,s5=(u5|0)<(b2|0),s5)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,L5=e[E5>>2]|0,H2(T1,L5,16),q5=e[E5>>2]|0,M5=25648+(q5<<2)|0,b=e[M5>>2]|0,D=e[b>>2]|0,k=(l2+1568|0)+($5<<2)|0,w=e[k>>2]|0,qC[D&3](w,T1),_=$5+1|0,Q=e[F2>>2]|0,x=(_|0)<(Q|0),x;)$5=_;if(M=l2+12|0,L=e[M>>2]|0,F=L+-1|0,H2(T1,F,6),O=e[M>>2]|0,H=(O|0)>0,H)for(h5=0;V=(l2+288|0)+(h5<<2)|0,J=e[V>>2]|0,H2(T1,J,16),t0=e[V>>2]|0,Z=25664+(t0<<2)|0,A0=e[Z>>2]|0,j=e[A0>>2]|0,n0=(l2+544|0)+(h5<<2)|0,s0=e[n0>>2]|0,rQ[j&1](y,s0,T1),o0=h5+1|0,Y=e[M>>2]|0,h0=(o0|0)<(Y|0),h0;)h5=o0;if(i0=l2+8|0,e0=e[i0>>2]|0,u0=e0+-1|0,H2(T1,u0,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,r0=I0+4|0,d0=e[r0>>2]|0,H2(T1,d0,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),N0=D8(T1)|0,U0=R9(N0)|0,e[Z0>>2]=U0,O0=e[U1>>2]|0,H0=D8(T1)|0,ge(U0|0,O0|0,H0|0)|0,J0=e[Z0>>2]|0,e[g>>2]=J0,T0=D8(T1)|0,M0=g+4|0,e[M0>>2]=T0,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,K0=W0,V0=K0,e[V0>>2]=2,j0=K0+4|0,q0=j0,e[q0>>2]=0,_C(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),_C(T1),Y0=e[I>>2]|0,z0=(Y0|0)==0,z0||E2(Y0),n1=S1+68|0,L0=e[n1>>2]|0,o1=(L0|0)==0,o1||E2(L0),d1=S1+72|0,u1=e[d1>>2]|0,p1=(u1|0)==0,p1||E2(u1),e[I>>2]=0,e[n1>>2]=0,e[d1>>2]=0,d=d5,C=X2,d|0}function Db(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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,M=f[a>>0]|0,j=M<<24>>24,H2(t,j,8),K=(p|0)==0,!K;)a=I,g=p;if(o0=o+8|0,Y=e[o0>>2]|0,H2(t,Y,32),h0=e[o0>>2]|0,i0=(h0|0)>0,!i0){H2(t,1,1);return}for(e0=o+4|0,u0=0;;){if(E=e[o>>2]|0,y=E+(u0<<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+(u0<<2)|0,w=e[k>>2]|0,H2(t,w,32),_=e[e0>>2]|0,Q=_+(u0<<2)|0,x=e[Q>>2]|0,L=(x|0)==0,!L)for(F=e[o>>2]|0,N=F+(u0<<2)|0,O=e[N>>2]|0,$=O,d=x;H=d+-1|0,V=$+1|0,J=f[$>>0]|0,t0=J<<24>>24,H2(t,t0,8),Z=(H|0)==0,!Z;)$=V,d=H;if(A0=u0+1|0,n0=e[o0>>2]|0,s0=(A0|0)<(n0|0),s0)u0=A0;else break}H2(t,1,1)}function _y(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0;if(Y1=C,E=$+1|0,y=E<<3,g=y,F=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,d=s0,X=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)H=0;else{for(H0=$;;){if(Y0=(H0|0)<(a|0),Y0)for(Q1=0,R1=H0;;)if(A1=t+(R1<<2)|0,B1=+s[A1>>2],B=B1,b=R1-H0|0,D=t+(b<<2)|0,k=+s[D>>2],w=k,_=w*B,Q=_+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){m1=Q;break}else Q1=Q,R1=x;else m1=0;if(M=F+(H0<<3)|0,l1[M>>3]=m1,L=H0+-1|0,N=(H0|0)==0,N)break;H0=L}I=+l1[F>>3],H=I}if(O=H*1.0000000001,V=H*1e-9,J=V+1e-10,t0=($|0)>0,t0)y1=O,F1=0;else return S1=O,X0=S1,C=Y1,+X0;for(;;){if(D1=F1+1|0,Z=y1>3],Y=-o0,h0=(F1|0)>0,h0){for(P1=0,q1=Y;;)if(u0=X+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=F+($0<<3)|0,m0=+l1[l0>>3],g0=m0*c0,I0=q1-g0,r0=P1+1|0,b1=(r0|0)==(F1|0),b1){p=I0;break}else P1=r0,q1=I0;if(d0=p/y1,p0=X+(F1<<3)|0,l1[p0>>3]=d0,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=+l1[Q0>>3],B0=y0-G1|0,x0=X+(B0<<3)|0,Z0=+l1[x0>>3],R0=Z0*d0,v0=R0+w0,l1[Q0>>3]=v0,N0=w0*d0,U0=+l1[x0>>3],O0=U0+N0,l1[x0>>3]=O0,S0=G1+1|0,J0=(S0|0)<(C0|0),J0;)G1=S0;H1=D0?C0:1,V0=d0,X1=H1}else V0=d0,X1=0}else i0=Y/y1,e0=X+(F1<<3)|0,l1[e0>>3]=i0,V0=i0,X1=0;if(T0=F1&1,M0=(T0|0)==0,M0||(P0=X+(X1<<3)|0,W0=+l1[P0>>3],K0=W0*V0,j0=K0+W0,l1[P0>>3]=j0),q0=V0*V0,s1=1-q0,z0=s1*y1,n1=(D1|0)<($|0),n1)y1=z0,F1=D1;else{k1=z0;break}}if((V1|0)==8&&(A0=X+(U1<<3)|0,j=$-U1|0,n0=j<<3,g4(A0|0,0,n0|0)|0,k1=v1),t0)C1=.99,x1=0;else return S1=k1,X0=S1,C=Y1,+X0;for(;L0=X+(x1<<3)|0,o1=+l1[L0>>3],d1=o1*C1,l1[L0>>3]=d1,u1=C1*.99,p1=x1+1|0,M1=(p1|0)==($|0),!M1;)C1=u1,x1=p1;if(t0)K1=0;else return S1=k1,X0=S1,C=Y1,+X0;for(;;)if(f1=X+(K1<<3)|0,h1=+l1[f1>>3],c1=h1,a1=o+(K1<<2)|0,s[a1>>2]=c1,$1=K1+1|0,L1=($1|0)==($|0),L1){S1=k1;break}else K1=$1;return X0=S1,C=Y1,+X0}function xy(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0;if(e0=C,I=g+a|0,E=I<<2,d=E,L=C,C=C+((1*d|0)+15&-16)|0,N=(o|0)==0,O=(a|0)>0,N?O&&(V=a<<2,g4(L|0,0,V|0)|0):O&&(H=a<<2,ge(L|0,o|0,H|0)|0),J=(g|0)>0,!J){C=e0;return}if(t0=(a|0)>0,t0)n0=0,s0=a;else{Z=g<<2,g4(L|0,0,Z|0)|0,g4($|0,0,Z|0)|0,C=e0;return}for(;;){for(o0=n0,Y=a,h0=0;;)if(D=o0+1|0,k=L+(o0<<2)|0,w=+s[k>>2],_=Y+-1|0,Q=t+(_<<2)|0,x=+s[Q>>2],M=x*w,F=h0-M,A0=(D|0)==(s0|0),A0){p=F;break}else o0=D,Y=_,h0=F;if(y=L+(s0<<2)|0,s[y>>2]=p,B=$+(n0<<2)|0,s[B>>2]=p,b=n0+1|0,K=s0+1|0,j=(b|0)==(g|0),j)break;n0=b,s0=K}C=e0}function _b(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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[o>>2]|0,d=(g|0)>1,d?(H2(a,1,1),Q=e[o>>2]|0,Z=Q+-1|0,H2(a,Z,4)):H2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(H2(a,1,1),b0=e[u0>>2]|0,y0=b0+-1|0,H2(a,y0,8),D0=e[u0>>2]|0,p=(D0|0)>0,p)for(I=o+1160|0,E=t+4|0,y=o+2184|0,E0=0;B=I+(E0<<2)|0,b=e[B>>2]|0,D=e[E>>2]|0,k=D+-1|0,w=V8(k)|0,H2(a,b,w),_=y+(E0<<2)|0,x=e[_>>2]|0,M=e[E>>2]|0,L=M+-1|0,F=V8(L)|0,H2(a,x,F),N=E0+1|0,O=e[u0>>2]|0,H=(N|0)<(O|0),H;)E0=N}else H2(a,0,1);if(H2(a,0,2),V=e[o>>2]|0,J=(V|0)>1,J){if(t0=t+4|0,A0=e[t0>>2]|0,j=(A0|0)>0,j){for(n0=o+4|0,Q0=0;h0=n0+(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[o>>2]|0,s0=$,B0=13}}else s0=V,B0=13;if(!((B0|0)==13&&(K=(s0|0)>0,!K)))for(o0=o+1028|0,Y=o+1092|0,w0=0;H2(a,0,8),l0=o0+(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,r0=e[o>>2]|0,d0=(I0|0)<(r0|0),d0;)w0=I0}function xb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0;a1=C,g=ce(1,3208)|0,d=t+28|0,Q=e[d>>2]|0,g4(g|0,0,3208)|0,Z=t+4|0,u0=e[Z>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=n4(o,1)|0,K0=(v0|0)<0,K0)c1=24;else{if(z0=(v0|0)==0,z0)e[g>>2]=1;else if(n1=n4(o,4)|0,p=n1+1|0,e[g>>2]=p,I=(n1|0)<0,I)break;if(E=n4(o,1)|0,y=(E|0)<0,!y){if(B=(E|0)==0,!B){if(b=n4(o,8)|0,D=b+1|0,k=g+1156|0,e[k>>2]=D,w=(b|0)<0,w)break;for(_=g+1160|0,x=g+2184|0,$=e[Z>>2]|0,O=$,L0=0;;){if(N=O+-1|0,H=V8(N)|0,V=n4(o,H)|0,J=_+(L0<<2)|0,e[J>>2]=V,t0=e[Z>>2]|0,A0=t0+-1|0,j=V8(A0)|0,n0=n4(o,j)|0,s0=x+(L0<<2)|0,e[s0>>2]=n0,K=n0|V,o0=(K|0)<0,Y=(V|0)==(n0|0),u1=Y|o0,u1||(h0=e[Z>>2]|0,i0=(V|0)<(h0|0),e0=(n0|0)<(h0|0),p1=i0&e0,L=L0+1|0,!p1))break e;if(M=e[k>>2]|0,F=(L|0)<(M|0),F)O=h0,L0=L;else break}}if(c0=n4(o,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,o1=0;;){if(B0=n4(o,4)|0,x0=I0+(o1<<2)|0,e[x0>>2]=B0,Z0=e[g>>2]|0,R0=(B0|0)>=(Z0|0),N0=(B0|0)<0,f1=N0|R0,Q0=o1+1|0,f1)break e;if(E0=e[Z>>2]|0,w0=(Q0|0)<(E0|0),w0)o1=Q0;else{r0=Z0,c1=17;break}}}else r0=l0,c1=17;if((c1|0)==17&&(d0=(r0|0)>0,!d0))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(n4(o,8)|0,S0=n4(o,8)|0,J0=p0+(d1<<2)|0,e[J0>>2]=S0,T0=e[b0>>2]|0,M0=(S0|0)>=(T0|0),P0=(S0|0)<0,h1=P0|M0,h1||(W0=n4(o,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(c1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function Lb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Mb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0,y8=0,U8=0,rr=0,kn=0,As=0,zr=0,$s=0,Jr=0,ls=0,cs=0,Kr=0,gs=0,or=0,us=0,hs=0,ds=0,Wr=0,fs=0,Zr=0,jr=0,Is=0,sr=0,Xr=0,ar=0,eo=0,to=0,ms=0,ps=0,Es=0,Ar=0,io=0,Cs=0,Sn=0,$r=0,Bs=0,ys=0,lr=0,I7=0,no=0,Qs=0,ws=0,ro=0,oo=0,so=0,vs=0,m7=0,cr=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gr=0,bn=0,ur=0,Ts=0,an=0,Ns=0,lo=0,hr=0,co=0,dr=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dn=0,Io=0,p7=0,fr=0,_n=0,An=0,xn=0,Z7=0,Ln=0,mo=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mn=0,$n=0,ln=0,Rn=0,E7=0,Os=0,fi=0,cl=0,Ir=0,mr=0;if(Ir=C,x=t+64|0,M=e[x>>2]|0,r2=M+4|0,z3=e[r2>>2]|0,Te=z3+28|0,je=e[Te>>2]|0,Bs=M+104|0,m7=e[Bs>>2]|0,Ms=t+104|0,hr=e[Ms>>2]|0,L=t+36|0,n0=e[L>>2]|0,l0=z3+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,P1=v1<<2,e2=W8(t,P1)|0,g2=e[l0>>2]|0,G2=g2<<2,Y2=W8(t,G2)|0,b2=hr+4|0,M5=+s[b2>>2],d2=e[l0>>2]|0,T2=d2<<2,g=T2,G5=C,C=C+((1*g|0)+15&-16)|0,G3=hr+8|0,U5=e[G3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,W3=(je+544|0)+(f6<<2)|0,$6=e[W3>>2]|0,U6=m7+56|0,B9=e[U6>>2]|0,we=(f6|0)!=0,he=we?2:0,_=he+U5|0,de=B9+(_*52|0)|0,Je=t+40|0,e[Je>>2]=f6,h4=(d2|0)>0,h4)for(Ie=+(n0|0),Z3=4/Ie,m8=(s[w2>>2]=Z3,e[w2>>2]|0),_t=(n0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),De=ct*7177114298428933e-22,j4=De+-764.6162109375,c8=j4,c4=c8+.345,$i=c4,li=m7+4|0,Ki=t+24|0,f7=t+32|0,K8=$i+-764.6162109375,rr=n0+-1|0,us=(rr|0)>1,eo=$i+-382.30810546875,Ln=M5,j7=0;;){if(ys=e[t>>2]|0,lr=ys+(j7<<2)|0,I7=e[lr>>2]|0,no=W8(t,Lt)|0,Qs=e2+(j7<<2)|0,e[Qs>>2]=no,ws=W8(t,Lt)|0,ro=h1+(j7<<2)|0,e[ro>>2]=ws,oo=e[Ki>>2]|0,so=e[j5>>2]|0,vs=e[f7>>2]|0,hD(I7,li,je,oo,so,vs),cr=e[j5>>2]|0,ks=(m7+12|0)+(cr<<2)|0,ao=e[ks>>2]|0,Ss=e[ao>>2]|0,bs=e[ro>>2]|0,Ly(Ss,I7,bs),Ds=e[j5>>2]|0,Ao=(m7+20|0)+(Ds*12|0)|0,$D(Ao,I7),_s=e[I7>>2]|0,xs=_s&2147483647,Ls=+(xs>>>0),$o=Ls*7177114298428933e-22,Rs=K8+$o,Fs=Rs,gr=Fs+.345,bn=gr,s[I7>>2]=bn,ur=G5+(j7<<2)|0,s[ur>>2]=bn,us)for(J=bn,Mn=1;;)if(Ts=I7+(Mn<<2)|0,an=+s[Ts>>2],Ns=an*an,lo=Mn+1|0,co=I7+(lo<<2)|0,dr=+s[co>>2],Gs=dr*dr,go=Gs+Ns,uo=(s[w2>>2]=go,e[w2>>2]|0),Us=uo&2147483647,ho=+(Us>>>0),fo=ho*35885571492144663e-23,Ps=eo+fo,Dn=Ps,F=Dn+.345,N=F,O=lo>>1,H=I7+(O<<2)|0,s[H>>2]=N,V=N>J,V?(s[ur>>2]=N,Sn=N):Sn=J,t0=Mn+2|0,Z=(t0|0)<(rr|0),Z)J=Sn,Mn=t0;else{j=Sn;break}else j=bn;if(A0=j>0,A0?(s[ur>>2]=0,K=0):K=j,s0=K>Ln,mo=s0?K:Ln,o0=j7+1|0,Y=e[l0>>2]|0,h0=(o0|0)<(Y|0),h0)Ln=mo,j7=o0;else{y=Lt,b=_t,Z7=mo;break}}else D=(n0|0)/2&-1,k=D<<2,y=k,b=D,Z7=M5;i0=W8(t,y)|0,e0=W8(t,y)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(n0|0)>1,X=m7+48|0,$0)_7=0;else{for(D7=0;;){s6=($6+4|0)+(D7<<2)|0,B6=e[s6>>2]|0,K3=h1+(D7<<2)|0,F3=e[K3>>2]|0,t6=e[t>>2]|0,R6=t6+(D7<<2)|0,c6=e[R6>>2]|0,o3=c6+(b<<2)|0,e[Je>>2]=f6,J6=W8(t,60)|0,A3=Y2+(D7<<2)|0,e[A3>>2]=J6,fi=J6,mr=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mr|0));if(Ty(de,o3,i0),g6=G5+(D7<<2)|0,y6=+s[g6>>2],Ny(de,c6,e0,Z7,y6),Al(de,i0,e0,1,c6,F3,o3),T3=($6+1028|0)+(B6<<2)|0,H6=e[T3>>2]|0,D6=(je+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,e9=(G6|0)==1,!e9){a=-1;break}if(Q6=e[X>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,n9=al(t,P3,o3,c6)|0,V6=e[A3>>2]|0,o9=V6+28|0,e[o9>>2]=n9,g9=Pu(t)|0,Y6=(g9|0)==0,Y6||(F6=e[A3>>2]|0,t9=F6+28|0,_6=e[t9>>2]|0,P6=(_6|0)==0,P6||(Al(de,i0,e0,2,c6,F3,o3),O3=e[T3>>2]|0,O6=e[X>>2]|0,s9=O6+(O3<<2)|0,h9=e[s9>>2]|0,r9=al(t,h9,o3,c6)|0,y9=e[A3>>2]|0,Q9=y9+56|0,e[Q9>>2]=r9,Al(de,i0,e0,0,c6,F3,o3),d9=e[T3>>2]|0,f9=e[X>>2]|0,V9=f9+(d9<<2)|0,w6=e[V9>>2]|0,q6=al(t,w6,o3,c6)|0,a9=e[A3>>2]|0,e[a9>>2]=q6,Y9=e[T3>>2]|0,w9=e[X>>2]|0,ue=w9+(Y9<<2)|0,Ee=e[ue>>2]|0,z9=e[A3>>2]|0,ne=e[z9>>2]|0,F9=z9+28|0,v9=e[F9>>2]|0,K6=Gt(t,Ee,ne,v9,9362)|0,A9=e[A3>>2]|0,ve=A9+4|0,e[ve>>2]=K6,Me=e[T3>>2]|0,_9=e[X>>2]|0,Re=_9+(Me<<2)|0,Fe=e[Re>>2]|0,Ue=e[A3>>2]|0,He=e[Ue>>2]|0,r4=Ue+28|0,ke=e[r4>>2]|0,Ve=Gt(t,Fe,He,ke,18724)|0,J9=e[A3>>2]|0,Ye=J9+8|0,e[Ye>>2]=Ve,Pe=e[T3>>2]|0,Ce=e[X>>2]|0,v4=Ce+(Pe<<2)|0,Z9=e[v4>>2]|0,k9=e[A3>>2]|0,k4=e[k9>>2]|0,V4=k9+28|0,rt=e[V4>>2]|0,ze=Gt(t,Z9,k4,rt,28086)|0,Y4=e[A3>>2]|0,o4=Y4+12|0,e[o4>>2]=ze,R4=e[T3>>2]|0,ot=e[X>>2]|0,re=ot+(R4<<2)|0,u4=e[re>>2]|0,Be=e[A3>>2]|0,T6=e[Be>>2]|0,Ke=Be+28|0,O9=e[Ke>>2]|0,fe=Gt(t,u4,T6,O9,37449)|0,oe=e[A3>>2]|0,d4=oe+16|0,e[d4>>2]=fe,f4=e[T3>>2]|0,Se=e[X>>2]|0,s4=Se+(f4<<2)|0,Oe=e[s4>>2]|0,I4=e[A3>>2]|0,S9=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,S4=Gt(t,Oe,S9,z4,46811)|0,be=e[A3>>2]|0,me=be+20|0,e[me>>2]=S4,z6=e[T3>>2]|0,F4=e[X>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,pe=e[A3>>2]|0,xe=e[pe>>2]|0,mt=pe+28|0,x9=e[mt>>2]|0,b9=Gt(t,st,xe,x9,56173)|0,qe=e[A3>>2]|0,a4=qe+24|0,e[a4>>2]=b9,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,Jt=xt+56|0,n8=e[Jt>>2]|0,r8=Gt(t,Yt,zt,n8,18724)|0,Et=e[A3>>2]|0,J4=Et+36|0,e[J4>>2]=r8,G4=e[T3>>2]|0,at=e[X>>2]|0,L9=at+(G4<<2)|0,p8=e[L9>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,L8=e[E8>>2]|0,o8=b4+56|0,M8=e[o8>>2]|0,A4=Gt(t,p8,L8,M8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=A4,At=e[T3>>2]|0,We=e[X>>2]|0,U4=We+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,se=Ct+56|0,lt=e[se>>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,K4=e[X>>2]|0,W4=K4+(D4<<2)|0,ae=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,ae,gt,Qt,46811)|0,Ze=e[A3>>2]|0,C3=Ze+48|0,e[C3>>2]=a8,Z4=e[T3>>2]|0,wt=e[X>>2]|0,$4=wt+(Z4<<2)|0,j9=e[$4>>2]|0,l4=e[A3>>2]|0,T9=l4+28|0,Wt=e[T9>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,j9,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=Ir,a|0}for(;;){N6=($6+4|0)+(_7<<2)|0,C0=e[N6>>2]|0,j6=h1+(_7<<2)|0,d0=e[j6>>2]|0,v6=e[t>>2]|0,R3=v6+(_7<<2)|0,r0=e[R3>>2]|0,m0=r0+(b<<2)|0,e[Je>>2]=f6,o6=W8(t,60)|0,v0=Y2+(_7<<2)|0,e[v0>>2]=o6,fi=o6,mr=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mr|0));for($n=0;n6=d0+($n<<2)|0,M3=e[n6>>2]|0,h3=M3&2147483647,J3=+(h3>>>0),d6=J3*7177114298428933e-22,m3=d6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,Q=$n+b|0,S6=r0+(Q<<2)|0,s[S6>>2]=M6,r6=$n+1|0,b6=(r6|0)<(b|0),b6;)$n=r6;if(Ty(de,m0,i0),g0=G5+(_7<<2)|0,I0=+s[g0>>2],Ny(de,r0,e0,Z7,I0),Al(de,i0,e0,1,r0,d0,m0),p0=($6+1028|0)+(C0<<2)|0,b0=e[p0>>2]|0,y0=(je+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,r0)|0,R0=e[v0>>2]|0,N0=R0+28|0,e[N0>>2]=Z0,U0=Pu(t)|0,H0=(U0|0)==0,H0||(S0=e[v0>>2]|0,J0=S0+28|0,T0=e[J0>>2]|0,M0=(T0|0)==0,M0||(Al(de,i0,e0,2,r0,d0,m0),P0=e[p0>>2]|0,W0=e[X>>2]|0,K0=W0+(P0<<2)|0,V0=e[K0>>2]|0,j0=al(t,V0,m0,r0)|0,Y0=e[v0>>2]|0,s1=Y0+56|0,e[s1>>2]=j0,Al(de,i0,e0,0,r0,d0,m0),z0=e[p0>>2]|0,n1=e[X>>2]|0,L0=n1+(z0<<2)|0,o1=e[L0>>2]|0,d1=al(t,o1,m0,r0)|0,u1=e[v0>>2]|0,e[u1>>2]=d1,p1=e[p0>>2]|0,f1=e[X>>2]|0,A1=f1+(p1<<2)|0,c1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,X0=a1+28|0,B1=e[X0>>2]|0,m1=Gt(t,c1,$1,B1,9362)|0,Q1=e[v0>>2]|0,C1=Q1+4|0,e[C1>>2]=m1,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,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,X1=e[p0>>2]|0,G1=e[X>>2]|0,x1=G1+(X1<<2)|0,K1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,V1=q1+28|0,Y1=e[V1>>2]|0,t2=Gt(t,K1,H1,Y1,28086)|0,s2=e[v0>>2]|0,O1=s2+12|0,e[O1>>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,c2=Gt(t,A2,$2,f2,37449)|0,o2=e[v0>>2]|0,l2=o2+16|0,e[l2>>2]=c2,i2=e[p0>>2]|0,a2=e[X>>2]|0,m2=a2+(i2<<2)|0,n2=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,n2,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,J2=q2+(W2<<2)|0,U2=e[J2>>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,x5=e[p0>>2]|0,j2=e[X>>2]|0,p5=j2+(x5<<2)|0,D5=e[p5>>2]|0,V5=e[v0>>2]|0,u5=V5+28|0,y5=e[u5>>2]|0,s5=V5+56|0,F2=e[s5>>2]|0,R2=Gt(t,D5,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,L5=E5+(N5<<2)|0,q5=e[L5>>2]|0,z2=e[v0>>2]|0,C5=z2+28|0,$5=e[C5>>2]|0,h5=z2+56|0,w5=e[h5>>2]|0,T1=Gt(t,q5,$5,w5,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,v5=X2+(l5<<2)|0,n5=e[v5>>2]|0,a5=e[v0>>2]|0,f5=a5+28|0,K2=e[f5>>2]|0,I5=a5+56|0,r5=e[I5>>2]|0,R5=Gt(t,n5,K2,r5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=R5,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,d3=I3+28|0,W5=e[d3>>2]|0,n3=I3+56|0,a3=e[n3>>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,H3=e[e6>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,a6=X5+56|0,V3=e[a6>>2]|0,c3=Gt(t,H3,t3,V3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,J5=e[X>>2]|0,H5=J5+(Q3<<2)|0,Y5=e[H5>>2]|0,b5=e[v0>>2]|0,Y3=b5+28|0,l6=e[Y3>>2]|0,r3=b5+56|0,l3=e[r3>>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=Ir,a|0}else w=m7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=Z7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,p=Ft,D9=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,R8=t+24|0,u8=t+32|0,F8=je+2868|0,z8=m7+52|0,E7=Y8;;){if(j8=(hr+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)),Ae=e[l0>>2]|0,N8=(Ae|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=fb(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=Ae;if(zi=e[j5>>2]|0,Ji=((je+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ji>>2]|0,Ob(E7,F8,de,$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,J8=(ui|0)>0,J8)for($r=ui,p7=0,ln=0;;)if(ni=($6+4|0)+(ln<<2)|0,d7=e[ni>>2]|0,ji=(d7|0)==(x7|0),ji?(Si=D9+(p7<<2)|0,Xi=q0+(ln<<2)|0,bi=e[Xi>>2]|0,Os=(bi|0)!=0,o=Os&1,e[Si>>2]=o,Di=e2+(ln<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ri=X4+(p7<<2)|0,e[ri>>2]=e7,E=e[l0>>2]|0,hi=E,fr=_i):(hi=$r,fr=p7),xi=ln+1|0,t7=(xi|0)<(hi|0),t7)$r=hi,p7=fr,ln=xi;else{Io=fr;break}else Io=0;if(Li=(je+1312|0)+(ii<<2)|0,x4=e[Li>>2]|0,Mi=25648+(x4<<2)|0,G8=e[Mi>>2]|0,di=G8+20|0,$9=e[di>>2]|0,B8=e[z8>>2]|0,vt=B8+(ii<<2)|0,y8=e[vt>>2]|0,U8=HC[$9&7](t,y8,X4,D9,Io)|0,kn=e[l0>>2]|0,As=(kn|0)>0,As)for(An=0,Rn=0;;)if(zr=($6+4|0)+(Rn<<2)|0,$s=e[zr>>2]|0,Jr=($s|0)==(x7|0),Jr?(ls=e2+(Rn<<2)|0,cs=e[ls>>2]|0,Kr=An+1|0,gs=X4+(An<<2)|0,e[gs>>2]=cs,xn=Kr):xn=An,or=Rn+1|0,hs=(or|0)<(kn|0),hs)An=xn,Rn=or;else{_n=xn;break}else _n=0;if(ds=e[Li>>2]|0,Wr=25648+(ds<<2)|0,fs=e[Wr>>2]|0,Zr=fs+24|0,jr=e[Zr>>2]|0,Is=e[z8>>2]|0,sr=Is+(ii<<2)|0,Xr=e[sr>>2]|0,oQ[jr&3](dt,t,Xr,X4,D9,_n,U8,x7)|0,ar=x7+1|0,to=e[$6>>2]|0,ms=(ar|0)<(to|0),ms)x7=ar;else break}if(ps=E7+1|0,Es=Pu(t)|0,Ar=(Es|0)!=0,io=Ar?14:7,Cs=(E7|0)<(io|0),Cs)E7=ps;else{a=0;break}}return C=Ir,a|0}function Rb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=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,Y1=F1+28|0,W1=e[Y1>>2]|0,k2=k+104|0,U2=e[k2>>2]|0,p5=t+28|0,N5=e[p5>>2]|0,w=W1+(N5<<2)|0,J=e[w>>2]|0,i0=t+36|0,e[i0>>2]=J,d0=F1+4|0,Z0=e[d0>>2]|0,P0=Z0<<2,g=P0,o1=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,m1=C,C=C+((1*I|0)+15&-16)|0,C1=e[d0>>2]|0,y1=(C1|0)>0,y1)for(v1=o+4|0,k1=o+1028|0,S1=U2+48|0,L1=J<<1,M1=L1&2147483646,X2=0;;)if(P1=v1+(X2<<2)|0,X1=e[P1>>2]|0,G1=k1+(X1<<2)|0,x1=e[G1>>2]|0,K1=(W1+800|0)+(x1<<2)|0,q1=e[K1>>2]|0,H1=25640+(q1<<2)|0,V1=e[H1>>2]|0,t2=V1+20|0,s2=e[t2>>2]|0,e2=e[S1>>2]|0,O1=e2+(x1<<2)|0,h2=e[O1>>2]|0,Z1=pi[s2&15](t,h2)|0,I2=m1+(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,c2=X2+1|0,r2=e[d0>>2]|0,g2=(c2|0)<(r2|0),g2)X2=c2;else{a1=r2;break}else a1=C1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,d2=0;n2=U1+(d2<<2)|0,D2=e[n2>>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,J2=B1+(O2<<2)|0,e[J2>>2]=1),V2=d2+1|0,Z2=(V2|0)<(_1|0),Z2;)d2=V2;if(o2=e[o>>2]|0,l2=(o2|0)>0,l2){for(i2=o+1092|0,a2=U2+52|0,m2=o+4|0,A5=a1,v5=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)==(v5|0),T5?(i5=B1+(I5<<2)|0,x5=e[i5>>2]|0,j2=X0+(d5<<2)|0,R5=(x5|0)!=0,$=R5&1,e[j2>>2]=$,D5=e[t>>2]|0,V5=D5+(I5<<2)|0,u5=e[V5>>2]|0,b2=d5+1|0,y5=o1+(d5<<2)|0,e[y5>>2]=u5,B=e[d0>>2]|0,R2=B,l5=b2):(R2=$1,l5=d5),s5=I5+1|0,F2=(s5|0)<(R2|0),F2)$1=R2,d5=l5,I5=s5;else{_5=l5;break}else _5=0;if(Q2=i2+(v5<<2)|0,Q5=e[Q2>>2]|0,E5=(W1+1312|0)+(Q5<<2)|0,L5=e[E5>>2]|0,q5=25648+(L5<<2)|0,M5=e[q5>>2]|0,z2=M5+28|0,C5=e[z2>>2]|0,$5=e[a2>>2]|0,h5=$5+(Q5<<2)|0,w5=e[h5>>2]|0,HC[C5&7](t,w5,o1,X0,_5)|0,T1=v5+1|0,_=e[o>>2]|0,Q=(T1|0)<(_|0),!Q)break;y=e[d0>>2]|0,A5=y,v5=T1}b=e[b1>>2]|0,x=b}else x=_1;if(M=(x|0)>0,M)for(L=o+1160|0,F=e[t>>2]|0,N=o+2184|0,O=(J|0)/2&-1,H=(J|0)>1,a5=x;;){if(n5=a5+-1|0,s0=L+(n5<<2)|0,K=e[s0>>2]|0,o0=F+(K<<2)|0,Y=e[o0>>2]|0,h0=N+(n5<<2)|0,e0=e[h0>>2]|0,u0=F+(e0<<2)|0,c0=e[u0>>2]|0,H)for(r5=0;;){$0=Y+(r5<<2)|0,l0=+s[$0>>2],X=c0+(r5<<2)|0,m0=+s[X>>2],g0=l0>0,I0=m0>0;do if(g0)if(I0){s[$0>>2]=l0,r0=l0-m0,s[X>>2]=r0;break}else{s[X>>2]=l0,p0=m0+l0,s[$0>>2]=p0;break}else if(I0){s[$0>>2]=l0,C0=m0+l0,s[X>>2]=C0;break}else{s[X>>2]=l0,b0=l0-m0,s[$0>>2]=b0;break}while(!1);if(y0=r5+1|0,D0=(y0|0)<(O|0),D0)r5=y0;else break}if(V=(a5|0)>1,V)a5=n5;else break}if(t0=e[d0>>2]|0,Z=(t0|0)>0,!Z)return C=T2,0;for(A0=o+4|0,j=o+1028|0,n0=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,N0=e[v0>>2]|0,U0=(W1+800|0)+(N0<<2)|0,O0=e[U0>>2]|0,H0=25640+(O0<<2)|0,S0=e[H0>>2]|0,J0=S0+24|0,T0=e[J0>>2]|0,M0=e[n0>>2]|0,W0=M0+(N0<<2)|0,K0=e[W0>>2]|0,V0=m1+(f5<<2)|0,j0=e[V0>>2]|0,OC[T0&3](t,K0,j0,B0)|0,q0=f5+1|0,Y0=e[d0>>2]|0,s1=(q0|0)<(Y0|0),s1)f5=q0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=T2,0;for(K2=0;z0=e[t>>2]|0,n1=z0+(K2<<2)|0,L0=e[n1>>2]|0,d1=e[p5>>2]|0,u1=(U2+12|0)+(d1<<2)|0,p1=e[u1>>2]|0,f1=e[p1>>2]|0,Fb(f1,L0,L0),h1=K2+1|0,A1=e[d0>>2]|0,c1=(h1|0)<(A1|0),c1;)K2=h1;return C=T2,0}function FC(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=R9($)|0,J=a+o|0,i0=J<<2,d0=R9(i0)|0,Z0=o>>1,P0=+(o|0),o1=P0,B1=+ir(+o1),g=B1*1.4426950408889634,d=+K7(g),p=~~d,I=t+4|0,e[I>>2]=p,e[t>>2]=o,E=t+8|0,e[E>>2]=d0,y=t+12|0,e[y>>2]=w,B=(o|0)>3,!B){X0=4/P0,m1=t+16|0,s[m1>>2]=X0;return}for(b=+(o|0),D=3.141592653589793/b,k=o<<1,_=+(k|0),Q=3.141592653589793/_,v1=0;N=v1<<2,O=+(N|0),H=D*O,V=+AA(+H),t0=V,Z=v1<<1,A0=d0+(Z<<2)|0,s[A0>>2]=t0,j=+Vr(+H),n0=j,s0=-n0,K=Z|1,o0=d0+(K<<2)|0,s[o0>>2]=s0,Y=+(K|0),h0=Q*Y,e0=+AA(+h0),u0=e0,c0=Z+Z0|0,$0=d0+(c0<<2)|0,s[$0>>2]=u0,l0=+Vr(+h0),X=l0,m0=c0+1|0,g0=d0+(m0<<2)|0,s[g0>>2]=X,I0=v1+1|0,r0=(I0|0)<(a|0),r0;)v1=I0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){X0=4/P0,m1=t+16|0,s[m1>>2]=X0;return}for(L=+(o|0),F=3.141592653589793/L,k1=0;p0=k1<<2,C0=p0|2,b0=+(C0|0),y0=F*b0,D0=+AA(+y0),E0=D0*.5,Q0=E0,w0=k1<<1,B0=w0+o|0,x0=d0+(B0<<2)|0,s[x0>>2]=Q0,R0=+Vr(+y0),v0=R0*-.5,N0=v0,U0=B0+1|0,O0=d0+(U0<<2)|0,s[O0>>2]=N0,H0=k1+1|0,S0=(H0|0)<(x|0),S0;)k1=H0;if(J0=p+-1|0,T0=1<>2]=X0;return}for(;;){for(j0=K0,Q1=0,L1=0;;)if(V0=j0&S1,q0=(V0|0)==0,Y0=1<>z0,L0=(n1|0)==0,L0){y1=C1;break}else j0=n1,Q1=C1,L1=z0;if(d1=y1^-1,u1=M0&d1,p1=u1+-1|0,f1=S1<<1,h1=w+(f1<<2)|0,e[h1>>2]=p1,A1=f1|1,c1=w+(A1<<2)|0,e[c1>>2]=y1,a1=S1+1|0,$1=(a1|0)<(x|0),$1)S1=a1;else break}X0=4/P0,m1=t+16|0,s[m1>>2]=X0}function TC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;y=C,o=(t|0)==0,!o&&(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 Fb(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=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=o+($<<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;B5=L3+-16|0,w3=H5+8|0,E=+s[w3>>2],L=u3+12|0,n0=+s[L>>2],l0=E*n0,D0=-l0,O0=+s[H5>>2],q0=u3+8|0,h1=+s[q0>>2],v1=h1*O0,P1=D0-v1,s[B5>>2]=P1,O1=+s[H5>>2],g2=+s[L>>2],k2=g2*O1,D2=+s[w3>>2],S2=+s[q0>>2],y2=S2*D2,G2=k2-y2,M2=L3+-12|0,s[M2>>2]=G2,O2=H5+24|0,p2=+s[O2>>2],q2=u3+4|0,J2=+s[q2>>2],U2=p2*J2,V2=-U2,Z2=H5+16|0,A5=+s[Z2>>2],Y2=+s[u3>>2],N1=Y2*A5,t5=V2-N1,T5=L3+-8|0,s[T5>>2]=t5,x5=+s[Z2>>2],j2=+s[q2>>2],p5=j2*x5,D5=+s[O2>>2],V5=+s[u3>>2],u5=V5*D5,b2=p5-u5,y5=L3+-4|0,s[y5>>2]=b2,s5=H5+-32|0,F2=u3+16|0,Q2=s5>>>0>>0,!Q2;)u3=F2,H5=s5,L3=B5;for(Q5=a+(I<<2)|0,d=I+-8|0,N5=o+(d<<2)|0,Q3=f5,Y5=N5,D3=i5;E5=Q3+-16|0,L5=Y5+16|0,q5=+s[L5>>2],M5=Q3+-4|0,z2=+s[M5>>2],C5=z2*q5,$5=Y5+24|0,w5=+s[$5>>2],T1=Q3+-8|0,_5=+s[T1>>2],d5=_5*w5,l5=d5+C5,s[D3>>2]=l5,X2=+s[L5>>2],d2=+s[T1>>2],v5=d2*X2,n5=+s[$5>>2],a5=+s[M5>>2],K2=a5*n5,I5=v5-K2,r5=D3+4|0,s[r5>>2]=I5,R5=+s[Y5>>2],e5=Q3+-12|0,c5=+s[e5>>2],T2=c5*R5,k5=Y5+8|0,z5=+s[k5>>2],i3=+s[E5>>2],I3=i3*z5,d3=I3+T2,W5=D3+8|0,s[W5>>2]=d3,n3=+s[Y5>>2],a3=+s[E5>>2],y3=a3*n3,G5=+s[k5>>2],Z5=+s[e5>>2],x3=Z5*G5,f3=y3-x3,e6=D3+12|0,s[e6>>2]=f3,H3=Y5+-32|0,X5=D3+16|0,_3=H3>>>0>>0,!_3;)Q3=E5,Y5=H3,D3=X5;for(l6=t+4|0,r3=e[l6>>2]|0,My(r3,h5,Q5,I),l3=e[t>>2]|0,U3=e[R2>>2]|0,C6=t+12|0,b3=e[C6>>2]|0,Ry(l3,U3,b3,a),t3=e[R2>>2]|0,a6=t3+(I<<2)|0,J5=a6,b5=a,A6=i5,j5=i5;G3=A6+-16|0,V3=+s[b5>>2],c3=J5+4|0,g3=+s[c3>>2],y=g3*V3,B=b5+4|0,b=+s[B>>2],D=+s[J5>>2],k=D*b,w=y-k,_=A6+-4|0,s[_>>2]=w,Q=+s[b5>>2],x=+s[J5>>2],M=x*Q,F=+s[B>>2],N=+s[c3>>2],O=N*F,H=M+O,V=-H,s[j5>>2]=V,J=b5+8|0,t0=+s[J>>2],Z=J5+12|0,A0=+s[Z>>2],j=A0*t0,s0=b5+12|0,K=+s[s0>>2],o0=J5+8|0,Y=+s[o0>>2],h0=Y*K,i0=j-h0,e0=A6+-8|0,s[e0>>2]=i0,u0=+s[J>>2],c0=+s[o0>>2],$0=c0*u0,X=+s[s0>>2],m0=+s[Z>>2],g0=m0*X,I0=$0+g0,r0=-I0,d0=j5+4|0,s[d0>>2]=r0,p0=b5+16|0,C0=+s[p0>>2],b0=J5+20|0,y0=+s[b0>>2],E0=y0*C0,Q0=b5+20|0,w0=+s[Q0>>2],B0=J5+16|0,x0=+s[B0>>2],Z0=x0*w0,R0=E0-Z0,v0=A6+-12|0,s[v0>>2]=R0,N0=+s[p0>>2],U0=+s[B0>>2],H0=U0*N0,S0=+s[Q0>>2],J0=+s[b0>>2],T0=J0*S0,M0=H0+T0,P0=-M0,W0=j5+8|0,s[W0>>2]=P0,K0=b5+24|0,V0=+s[K0>>2],j0=J5+28|0,Y0=+s[j0>>2],s1=Y0*V0,z0=b5+28|0,n1=+s[z0>>2],L0=J5+24|0,o1=+s[L0>>2],d1=o1*n1,u1=s1-d1,s[G3>>2]=u1,p1=+s[K0>>2],f1=+s[L0>>2],A1=f1*p1,c1=+s[z0>>2],a1=+s[j0>>2],$1=a1*c1,X0=A1+$1,B1=-X0,m1=j5+12|0,s[m1>>2]=B1,Q1=j5+16|0,C1=b5+32|0,y1=J5+32|0,k1=C1>>>0>>0,k1;)J5=y1,b5=C1,A6=G3,j5=Q1;for(S1=a+(e2<<2)|0,Y3=i5,n6=S1,M3=S1;;)if(L1=n6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=n6+-4|0,s[R1>>2]=_1,F1=-_1,s[M3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],X1=n6+-8|0,s[X1>>2]=D1,G1=-D1,x1=M3+4|0,s[x1>>2]=G1,K1=Y3+-12|0,q1=+s[K1>>2],H1=n6+-12|0,s[H1>>2]=q1,V1=-q1,Y1=M3+8|0,s[Y1>>2]=V1,t2=+s[M1>>2],s[L1>>2]=t2,s2=-t2,h2=M3+12|0,s[h2>>2]=s2,Z1=M3+16|0,I2=Z1>>>0>>0,I2)Y3=M1,n6=L1,M3=Z1;else{U5=i5,z3=i5;break}for(;A2=z3+-16|0,C2=U5+12|0,$2=e[C2>>2]|0,e[A2>>2]=$2,W1=U5+8|0,f2=e[W1>>2]|0,c2=z3+-12|0,e[c2>>2]=f2,r2=U5+4|0,o2=e[r2>>2]|0,l2=z3+-8|0,e[l2>>2]=o2,i2=e[U5>>2]|0,a2=z3+-4|0,e[a2>>2]=i2,m2=U5+16|0,n2=A2>>>0>Q5>>>0,n2;)U5=m2,z3=A2}function Ly(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0;if(z5=C,k=e[t>>2]|0,w=k>>1,s1=k>>2,c1=k>>3,S1=k<<2,$=S1,G1=C,C=C+((1*$|0)+15&-16)|0,h2=G1+(w<<2)|0,g=w+s1|0,o2=o+(g<<2)|0,M2=t+8|0,N1=e[M2>>2]|0,_=N1+(w<<2)|0,t0=(c1|0)>0,t0){for(d=g+1|0,e0=o+(d<<2)|0,p0=c1+-1|0,R0=p0>>>1,W0=R0<<1,V0=w+-2|0,j0=V0-W0|0,q0=g+-4|0,Y0=R0<<2,z0=q0-Y0|0,s5=_,L5=0,f5=o2,R5=e0;n1=f5+-16|0,L0=s5+-8|0,o1=f5+-8|0,d1=+s[o1>>2],u1=+s[R5>>2],p1=u1+d1,f1=+s[n1>>2],h1=R5+8|0,A1=+s[h1>>2],a1=A1+f1,$1=s5+-4|0,X0=+s[$1>>2],B1=a1*X0,m1=+s[L0>>2],Q1=m1*p1,C1=Q1+B1,b=L5+w|0,y1=G1+(b<<2)|0,s[y1>>2]=C1,v1=+s[L0>>2],k1=v1*a1,L1=+s[$1>>2],M1=L1*p1,b1=k1-M1,_1=L5|1,D=_1+w|0,R1=G1+(D<<2)|0,s[R1>>2]=b1,F1=R5+16|0,U1=L5+2|0,D1=(U1|0)<(c1|0),D1;)s5=L0,L5=U1,f5=n1,R5=F1;P1=W0+2|0,d2=N1+(j0<<2)|0,v5=o+(z0<<2)|0,Y2=j0,y5=d2,E5=P1,a5=v5}else Y2=w,y5=_,E5=0,a5=o2;if(X1=o+4|0,x1=w-c1|0,K1=(E5|0)<(x1|0),K1){for(q1=w+-1|0,H1=q1-E5|0,V1=H1-c1|0,Y1=V1>>>1,t2=Y1<<1,s2=E5+t2|0,e2=Y1<<2,O1=e2+5|0,Z1=-2-t2|0,R2=y5,M5=E5,K2=a5,c5=X1;I2=R2+-8|0,A2=K2+-16|0,C2=K2+-8|0,$2=+s[C2>>2],W1=+s[c5>>2],f2=$2-W1,c2=+s[A2>>2],r2=c5+8|0,g2=+s[r2>>2],l2=c2-g2,i2=R2+-4|0,a2=+s[i2>>2],m2=l2*a2,n2=+s[I2>>2],k2=n2*f2,D2=k2+m2,E=M5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,y2=+s[I2>>2],G2=y2*l2,O2=+s[i2>>2],p2=O2*f2,W2=G2-p2,q2=M5|1,y=q2+w|0,J2=G1+(y<<2)|0,s[J2>>2]=W2,U2=c5+16|0,V2=M5+2|0,Z2=(V2|0)<(x1|0),Z2;)R2=I2,M5=V2,K2=A2,c5=U2;A5=s2+2|0,l5=o+(O1<<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)<(w|0),t5)for(T5=o+(k<<2)|0,Q2=F2,z2=q5,I5=T5,T2=e5;i5=Q2+-8|0,x5=I5+-16|0,j2=I5+-8|0,p5=+s[j2>>2],D5=-p5,V5=+s[T2>>2],u5=D5-V5,b2=+s[x5>>2],Q=-b2,x=T2+8|0,M=+s[x>>2],L=Q-M,F=Q2+-4|0,N=+s[F>>2],O=L*N,H=+s[i5>>2],V=H*u5,J=V+O,p=z2+w|0,Z=G1+(p<<2)|0,s[Z>>2]=J,A0=+s[i5>>2],j=A0*L,n0=+s[F>>2],s0=n0*u5,K=j-s0,o0=z2|1,I=o0+w|0,Y=G1+(I<<2)|0,s[Y>>2]=K,h0=T2+16|0,i0=z2+2|0,u0=(i0|0)<(w|0),u0;)Q2=i5,z2=i0,I5=x5,T2=h0;if($5=t+4|0,h5=e[$5>>2]|0,My(h5,N1,h2,w),d5=e[t>>2]|0,w5=e[M2>>2]|0,T1=t+12|0,_5=e[T1>>2]|0,Ry(d5,w5,_5,G1),c0=(s1|0)>0,!c0){C=z5;return}for($0=a+(w<<2)|0,l0=e[M2>>2]|0,X=l0+(w<<2)|0,m0=t+16|0,Q5=X,C5=0,n5=G1,r5=$0;g0=r5+-4|0,I0=+s[n5>>2],r0=+s[Q5>>2],d0=r0*I0,C0=n5+4|0,b0=+s[C0>>2],y0=Q5+4|0,D0=+s[y0>>2],E0=D0*b0,Q0=E0+d0,w0=+s[m0>>2],B0=Q0*w0,x0=a+(C5<<2)|0,s[x0>>2]=B0,Z0=+s[n5>>2],v0=+s[y0>>2],N0=v0*Z0,U0=+s[C0>>2],O0=+s[Q5>>2],H0=O0*U0,S0=N0-H0,J0=+s[m0>>2],T0=S0*J0,s[g0>>2]=T0,M0=n5+8|0,P0=Q5+8|0,K0=C5+1|0,N5=(K0|0)==(s1|0),!N5;)Q5=P0,C5=K0,n5=M0,r5=g0;C=z5}function My(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0,y8=0,U8=0,rr=0,kn=0;if(kn=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=o,B8=V5,y8=e8;dt=B8+24|0,Vi=+s[dt>>2],Qi=y8+24|0,ki=+s[Qi>>2],bi=Vi-ki,y0=B8+28|0,U0=+s[y0>>2],j0=y8+28|0,f1=+s[j0>>2],y1=U0-f1,D1=ki+Vi,s[dt>>2]=D1,s2=+s[j0>>2],c2=s2+U0,s[y0>>2]=c2,S2=g+4|0,Z2=+s[S2>>2],u5=Z2*y1,q5=+s[g>>2],X2=q5*bi,c5=X2+u5,s[Qi>>2]=c5,y3=+s[g>>2],a6=y3*y1,Y3=+s[S2>>2],n6=Y3*bi,S6=a6-n6,s[j0>>2]=S6,K3=B8+16|0,H6=+s[K3>>2],g9=y8+16|0,r9=+s[g9>>2],w9=H6-r9,Me=B8+20|0,Ye=+s[Me>>2],Y4=y8+20|0,fe=+s[Y4>>2],I6=Ye-fe,xe=r9+H6,s[K3>>2]=xe,I8=+s[Y4>>2],Yt=I8+Ye,s[Me>>2]=Yt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*I6,_4=g+16|0,T9=+s[_4>>2],Ft=T9*w9,u8=Ft+Bt,s[g9>>2]=u8,j8=+s[_4>>2],Nt=j8*I6,T8=+s[at>>2],Xt=T8*w9,O4=Nt-Xt,s[Y4>>2]=O4,C4=B8+8|0,Ae=+s[C4>>2],N8=y8+8|0,$i=+s[N8>>2],qi=Ae-$i,Hi=B8+12|0,Ei=+s[Hi>>2],X8=y8+12|0,Ci=+s[X8>>2],ei=Ei-Ci,Bi=$i+Ae,s[C4>>2]=Bi,ti=+s[X8>>2],yi=ti+Ei,s[Hi>>2]=yi,li=g+36|0,g7=+s[li>>2],Yi=g7*ei,wi=g+32|0,u7=+s[wi>>2],vi=u7*qi,ci=vi+Yi,s[N8>>2]=ci,h7=+s[wi>>2],zi=h7*ei,Ji=+s[li>>2],Ki=Ji*qi,Wi=zi-Ki,s[X8>>2]=Wi,gi=+s[B8>>2],Zi=+s[y8>>2],ii=gi-Zi,ui=B8+4|0,J8=+s[ui>>2],ni=y8+4|0,d7=+s[ni>>2],ji=J8-d7,f7=Zi+gi,s[B8>>2]=f7,Si=+s[ni>>2],Xi=Si+J8,s[ui>>2]=Xi,Di=g+52|0,e7=+s[Di>>2],_i=e7*ji,ri=g+48|0,xi=+s[ri>>2],t7=xi*ii,hi=t7+_i,s[y8>>2]=hi,K8=+s[ri>>2],Li=K8*ji,x4=+s[Di>>2],D0=x4*ii,E0=Li-D0,s[ni>>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,H=O0+1|0,h0=O0<<1,$0=h0|1,m0=O0*3|0,I0=m0+1|0,d0=O0<<2,di=0;;){for(J0=o5(di,N0)|0,T0=a+(J0<<2)|0,p=E+J0|0,M0=a+(p<<2)|0,u0=b+J0|0,P0=a+(u0<<2)|0,d=o,vt=M0,U8=P0;W0=vt+24|0,K0=+s[W0>>2],V0=U8+24|0,q0=+s[V0>>2],Y0=K0-q0,s1=vt+28|0,z0=+s[s1>>2],n1=U8+28|0,L0=+s[n1>>2],o1=z0-L0,d1=q0+K0,s[W0>>2]=d1,u1=+s[n1>>2],p1=u1+z0,s[s1>>2]=p1,h1=d+4|0,A1=+s[h1>>2],c1=A1*o1,a1=+s[d>>2],$1=a1*Y0,X0=$1+c1,s[V0>>2]=X0,B1=+s[d>>2],m1=B1*o1,Q1=+s[h1>>2],C1=Q1*Y0,v1=m1-C1,s[n1>>2]=v1,k1=d+(O0<<2)|0,S1=vt+16|0,L1=+s[S1>>2],M1=U8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=U8+20|0,P1=+s[U1>>2],X1=F1-P1,G1=b1+L1,s[S1>>2]=G1,x1=+s[U1>>2],K1=x1+F1,s[R1>>2]=K1,q1=d+(H<<2)|0,H1=+s[q1>>2],V1=H1*X1,Y1=+s[k1>>2],t2=Y1*_1,e2=t2+V1,s[M1>>2]=e2,O1=+s[k1>>2],h2=O1*X1,Z1=+s[q1>>2],I2=Z1*_1,A2=h2-I2,s[U1>>2]=A2,C2=d+(h0<<2)|0,$2=vt+8|0,W1=+s[$2>>2],f2=U8+8|0,r2=+s[f2>>2],g2=W1-r2,o2=vt+12|0,l2=+s[o2>>2],i2=U8+12|0,a2=+s[i2>>2],m2=l2-a2,n2=r2+W1,s[$2>>2]=n2,k2=+s[i2>>2],D2=k2+l2,s[o2>>2]=D2,y2=d+($0<<2)|0,G2=+s[y2>>2],M2=G2*m2,O2=+s[C2>>2],p2=O2*g2,W2=p2+M2,s[f2>>2]=W2,q2=+s[C2>>2],J2=q2*m2,U2=+s[y2>>2],V2=U2*g2,A5=J2-V2,s[i2>>2]=A5,Y2=d+(m0<<2)|0,N1=+s[vt>>2],t5=+s[U8>>2],T5=N1-t5,i5=vt+4|0,x5=+s[i5>>2],j2=U8+4|0,p5=+s[j2>>2],D5=x5-p5,b2=t5+N1,s[vt>>2]=b2,y5=+s[j2>>2],s5=y5+x5,s[i5>>2]=s5,F2=d+(I0<<2)|0,R2=+s[F2>>2],Q2=R2*D5,Q5=+s[Y2>>2],N5=Q5*T5,E5=N5+Q2,s[U8>>2]=E5,L5=+s[Y2>>2],M5=L5*D5,z2=+s[F2>>2],C5=z2*T5,$5=M5-C5,s[j2>>2]=$5,h5=d+(d0<<2)|0,w5=vt+-32|0,T1=U8+-32|0,_5=T1>>>0>>0,!_5;)d=h5,vt=w5,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(S0=($|0)>0,S0)$9=0;else return;for(;v5=a+($9<<2)|0,y=$9|30,n5=a+(y<<2)|0,a5=+s[n5>>2],O=$9|14,f5=a+(O<<2)|0,K2=+s[f5>>2],I5=a5-K2,Y=$9|31,r5=a+(Y<<2)|0,R5=+s[r5>>2],c0=$9|15,e5=a+(c0<<2)|0,T2=+s[e5>>2],k5=R5-T2,z5=K2+a5,s[n5>>2]=z5,i3=T2+R5,s[r5>>2]=i3,s[f5>>2]=I5,s[e5>>2]=k5,l0=$9|28,B5=a+(l0<<2)|0,I3=+s[B5>>2],X=$9|12,d3=a+(X<<2)|0,W5=+s[d3>>2],n3=I3-W5,g0=$9|29,a3=a+(g0<<2)|0,G5=+s[a3>>2],r0=$9|13,Z5=a+(r0<<2)|0,x3=+s[Z5>>2],f3=G5-x3,w3=W5+I3,s[B5>>2]=w3,e6=x3+G5,s[a3>>2]=e6,H3=n3*.9238795042037964,X5=f3*.3826834261417389,_3=H3-X5,s[d3>>2]=_3,t3=n3*.3826834261417389,G3=f3*.9238795042037964,V3=G3+t3,s[Z5>>2]=V3,p0=$9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],D=$9|10,u3=a+(D<<2)|0,Q3=+s[u3>>2],J5=g3-Q3,k=$9|27,H5=a+(k<<2)|0,Y5=+s[H5>>2],w=$9|11,b5=a+(w<<2)|0,U5=+s[b5>>2],l6=Y5-U5,r3=Q3+g3,s[c3>>2]=r3,l3=U5+Y5,s[H5>>2]=l3,U3=J5-l6,C6=U3*.7071067690849304,s[u3>>2]=C6,b3=l6+J5,L3=b3*.7071067690849304,s[b5>>2]=L3,_=$9|24,D3=a+(_<<2)|0,A6=+s[D3>>2],Q=$9|8,z3=a+(Q<<2)|0,j5=+s[z3>>2],M3=A6-j5,x=$9|25,h3=a+(x<<2)|0,J3=+s[h3>>2],M=$9|9,d6=a+(M<<2)|0,m3=+s[d6>>2],x6=J3-m3,L6=j5+A6,s[D3>>2]=L6,M6=m3+J3,s[h3>>2]=M6,r6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=r6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,v6=N6+j6,L=$9|22,R3=a+(L<<2)|0,o6=+s[R3>>2],F=$9|6,s6=a+(F<<2)|0,B6=+s[s6>>2],F3=o6-B6,N=$9|7,W3=a+(N<<2)|0,t6=+s[W3>>2],V=$9|23,R6=a+(V<<2)|0,c6=+s[R6>>2],o3=t6-c6,J6=B6+o6,s[R3>>2]=J6,A3=c6+t6,s[R6>>2]=A3,s[s6>>2]=o3,s[W3>>2]=F3,J=$9|4,g6=a+(J<<2)|0,y6=+s[g6>>2],t0=$9|20,$6=a+(t0<<2)|0,D6=+s[$6>>2],G6=y6-D6,Z=$9|5,e9=a+(Z<<2)|0,Q6=+s[e9>>2],A0=$9|21,X6=a+(A0<<2)|0,P3=+s[X6>>2],n9=Q6-P3,V6=D6+y6,s[$6>>2]=V6,o9=P3+Q6,s[X6>>2]=o9,U6=n9*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,t9=n9*.3826834261417389,_6=G6*.9238795042037964,P6=t9-_6,j=$9|2,O3=a+(j<<2)|0,O6=+s[O3>>2],n0=$9|18,s9=a+(n0<<2)|0,h9=+s[s9>>2],B9=O6-h9,s0=$9|3,y9=a+(s0<<2)|0,Q9=+s[y9>>2],K=$9|19,d9=a+(K<<2)|0,f9=+s[d9>>2],V9=Q9-f9,w6=h9+O6,s[s9>>2]=w6,q6=f9+Q9,s[d9>>2]=q6,a9=V9+B9,Y9=a9*.7071067690849304,we=V9-B9,ue=we*.7071067690849304,Ee=+s[v5>>2],o0=$9|16,z9=a+(o0<<2)|0,ne=+s[z9>>2],F9=Ee-ne,i0=$9|1,v9=a+(i0<<2)|0,K6=+s[v9>>2],e0=$9|17,A9=a+(e0<<2)|0,ve=+s[A9>>2],he=K6-ve,_9=ne+Ee,s[z9>>2]=_9,Re=ve+K6,s[A9>>2]=Re,Fe=he*.3826834261417389,Ue=F9*.9238795042037964,He=Fe+Ue,r4=he*.9238795042037964,ke=F9*.3826834261417389,Ve=r4-ke,J9=Ve-v6,de=He-b6,Pe=He+b6,Ce=Ve+v6,v4=de+J9,Z9=J9-de,k9=+s[b5>>2],k4=ue-k9,V4=+s[u3>>2],rt=V4-Y9,ze=V4+Y9,Je=k9+ue,o4=+s[d3>>2],R4=o4-F6,ot=+s[Z5>>2],re=ot-P6,u4=o4+F6,Be=ot+P6,T6=R4-re,Ke=re+R4,O9=+s[f5>>2],Te=O9-o3,h4=+s[e5>>2],oe=h4-F3,d4=o3+O9,f4=F3+h4,Se=Te+k4,s4=Te-k4,Oe=T6+v4,I4=Oe*.7071067690849304,S9=T6-v4,z4=S9*.7071067690849304,Ie=I4+Se,s[s6>>2]=Ie,S4=Se-I4,s[g6>>2]=S4,be=Ke-Z9,me=be*.7071067690849304,z6=oe-rt,F4=me+s4,s[v5>>2]=F4,T4=s4-me,s[O3>>2]=T4,st=Ke+Z9,pe=st*.7071067690849304,mt=oe+rt,Z3=z6+z4,s[y9>>2]=Z3,x9=z6-z4,s[v9>>2]=x9,b9=mt+pe,s[W3>>2]=b9,qe=mt-pe,s[e9>>2]=qe,a4=d4+ze,d8=d4-ze,N4=Pe+u4,f8=u4-Pe,_8=a4+N4,s[f5>>2]=_8,m8=a4-N4,s[d3>>2]=m8,Ut=Be-Ce,Pt=f4-Je,Ot=d8+Ut,s[z3>>2]=Ot,qt=d8-Ut,s[u3>>2]=qt,t8=Be+Ce,i8=f4+Je,x8=Pt+f8,s[b5>>2]=x8,Ht=Pt-f8,s[d6>>2]=Ht,Vt=i8+t8,s[e5>>2]=Vt,_t=i8-t8,s[Z5>>2]=_t,xt=+s[h3>>2],pt=Re-xt,zt=+s[D3>>2],Jt=_9-zt,n8=zt+_9,r8=xt+Re,Et=Jt+pt,J4=pt-Jt,G4=+s[d9>>2],Lt=+s[H5>>2],L9=G4-Lt,p8=+s[c3>>2],b4=+s[s9>>2],E8=p8-b4,L8=b4+p8,o8=Lt+G4,M8=+s[B5>>2],A4=+s[$6>>2],s8=M8-A4,Mt=+s[a3>>2],At=+s[X6>>2],We=Mt-At,U4=A4+M8,$t=At+Mt,Ct=s8-We,Rt=We+s8,m4=+s[n5>>2],se=+s[R3>>2],lt=m4-se,ct=+s[r5>>2],yt=+s[R6>>2],p4=ct-yt,D4=se+m4,K4=yt+ct,W4=lt+L9,ae=lt-L9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,De=gt*.7071067690849304,Qt=E4+W4,s[R3>>2]=Qt,a8=W4-E4,s[$6>>2]=a8,Ze=Rt-J4,C3=Ze*.7071067690849304,Z4=p4-E8,wt=C3+ae,s[z9>>2]=wt,$4=ae-C3,s[s9>>2]=$4,j9=Rt+J4,l4=j9*.7071067690849304,j4=p4+E8,Wt=Z4+De,s[d9>>2]=Wt,C8=Z4-De,s[A9>>2]=C8,A8=j4+l4,s[R6>>2]=A8,$8=j4-l4,s[X6>>2]=$8,Zt=D4+L8,l8=D4-L8,jt=U4+n8,ut=U4-n8,ht=Zt+jt,s[n5>>2]=ht,je=Zt-jt,s[B5>>2]=je,c8=$t-r8,Tt=K4-o8,X4=l8+c8,s[D3>>2]=X4,D9=l8-c8,s[c3>>2]=D9,g8=$t+r8,et=K4+o8,Y8=Tt+ut,s[H5>>2]=Y8,Z8=Tt-ut,s[h3>>2]=Z8,R8=et+g8,s[r5>>2]=R8,F8=et-g8,s[a3>>2]=F8,c4=$9+32|0,z8=(c4|0)<($|0),z8;)$9=c4}function Ry(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0;for(Q1=C,D=t>>1,k=$+(D<<2)|0,V=o+(t<<2)|0,a1=V,$1=a,X0=$,B1=k;h0=e[$1>>2]|0,g=h0+D|0,r0=$+(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,c1=+s[A1>>2],I=d+1|0,w=$+(I<<2)|0,_=+s[w>>2],Q=c1-_,x=+s[r0>>2],M=+s[L0>>2],L=M+x,F=+s[a1>>2],N=L*F,O=a1+4|0,H=+s[O>>2],J=H*Q,t0=J+N,Z=H*L,A0=F*Q,j=Z-A0,n0=B1+-16|0,s0=_+c1,K=s0*.5,o0=x-M,Y=o0*.5,i0=t0+K,s[X0>>2]=i0,e0=K-t0,u0=B1+-8|0,s[u0>>2]=e0,c0=j+Y,$0=X0+4|0,s[$0>>2]=c0,l0=j-Y,X=B1+-4|0,s[X>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+D|0,I0=$+(E<<2)|0,d0=$1+12|0,p0=e[d0>>2]|0,y=p0+D|0,C0=$+(y<<2)|0,B=E+1|0,b0=$+(B<<2)|0,y0=+s[b0>>2],b=y+1|0,D0=$+(b<<2)|0,E0=+s[D0>>2],Q0=y0-E0,w0=+s[I0>>2],B0=+s[C0>>2],Z0=B0+w0,R0=a1+8|0,v0=+s[R0>>2],N0=Z0*v0,U0=a1+12|0,O0=+s[U0>>2],H0=O0*Q0,S0=H0+N0,J0=O0*Z0,T0=v0*Q0,P0=J0-T0,W0=E0+y0,K0=W0*.5,V0=w0-B0,j0=V0*.5,q0=S0+K0,Y0=X0+8|0,s[Y0>>2]=q0,s1=K0-S0,s[n0>>2]=s1,z0=P0+j0,n1=X0+12|0,s[n1>>2]=z0,o1=P0-j0,d1=B1+-12|0,s[d1>>2]=o1,u1=a1+16|0,p1=$1+16|0,f1=X0+16|0,h1=f1>>>0>>0,h1;)a1=u1,$1=p1,X0=f1,B1=n0}function Tb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=ce(1,36)|0,d=t+4|0,p=e[d>>2]|0,I=g+4|0,e[I>>2]=p,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Nb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function Gb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Ub(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0;a9=C,w6=t,Y9=w6+48|0;do e[w6>>2]=0,w6=w6+4|0;while((w6|0)<(Y9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,r2=+(x|0),i3=r2*8,f3=i3,g3=+ir(+f3),l3=g3*1.4426950408889634,h3=+K7(l3),N6=h3+-1,R6=~~N6,L=t+32|0,e[L>>2]=R6,n0=+(g|0),l0=n0*.25,D0=l0,O0=D0*.5,q0=+($|0),h1=O0/q0,v1=+ir(+h1),P1=v1*1.4426950216293335,e2=P1+-5.965784072875977,g2=R6+1|0,G2=1<>2]=c5,k5=+($|0),z5=k5+.25,B5=z5*n0,I3=B5,d3=I3*.5,W5=d3/q0,n3=+ir(+W5),a3=n3*1.4426950216293335,y3=a3+-5.965784072875977,G5=Y2*y3,Z5=G5+.5,x3=~~Z5,w3=1-c5|0,e6=w3+x3|0,H3=t+40|0,e[H3>>2]=e6,X5=$<<2,_3=R9(X5)|0,t3=t+16|0,e[t3>>2]=_3,a6=R9(X5)|0,G3=t+20|0,e[G3>>2]=a6,V3=R9(X5)|0,c3=t+24|0,e[c3>>2]=V3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,J5=t+48|0,s[J5>>2]=1,H5=(g|0)<26e3;do if(H5)s[J5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){s[J5>>2]=.9399999976158142;break}b5=(g|0)>46e3,b5&&(s[J5>>2]=1.274999976158142)}while(!1);Y3=q0*2,U5=+(g|0),l6=($|0)>0,b3=l6,t9=0,r9=0;e:for(;;){for(y=b3^1,_6=t9;;){if(D3=_6+1|0,A6=+(D3|0),n6=A6*.08664337545633316,z3=n6+2.7488713472395148,j5=+Yr(+z3),M3=Y3*j5,J3=M3/U5,d6=+K7(J3),m3=~~d6,E=(m3|0)<=(r9|0),e9=E|y,!e9){p=D3,I=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{h9=r9;break e}}for(L6=1272+(P6<<2)|0,M6=+s[L6>>2],S6=1272+(p<<2)|0,r6=+s[S6>>2],f6=r6-M6,b6=I-r9|0,j6=+(b6|0),v6=f6/j6,R3=r9-I|0,o6=r9-$|0,s6=R3>>>0>o6>>>0,V9=s6?R3:o6,r3=r9-V9|0,G6=M6,B9=r9;B6=G6+100,K3=_3+(B9<<2)|0,s[K3>>2]=B6,F3=G6+v6,W3=B9+1|0,V6=(W3|0)==(r3|0),!V6;)G6=F3,B9=W3;if(U3=(r3|0)<($|0),C6=(p|0)<87,C6)b3=U3,t9=p,r9=r3;else{h9=r3;break}}if(L3=(h9|0)<($|0),L3)for(y9=h9;H6=y9+-1|0,$6=_3+(H6<<2)|0,D6=e[$6>>2]|0,F=_3+(y9<<2)|0,e[F>>2]=D6,N=y9+1|0,n9=(N|0)==($|0),!n9;)y9=N;if(t6=($|0)>0,t6){for(c6=$<<1,o3=(g|0)/(c6|0)&-1,J6=o+120|0,A3=e[J6>>2]|0,g6=o+124|0,y6=o+116|0,T3=o+112|0,U6=1,O3=0,Q9=-99;;){Z=o5(o3,O3)|0,A0=+(Z|0),j=A0*.0007399999885819852,s0=j,K=+is(+s0),o0=K*13.100000381469727,Y=o5(Z,Z)|0,h0=+(Y|0),i0=h0*18499999754340024e-24,e0=i0,u0=+is(+e0),c0=u0*2.240000009536743,$0=c0+o0,X=A0*9999999747378752e-20,m0=X,g0=$0+m0,I0=g0,r0=A3+Q9|0,d0=(r0|0)<(O3|0);e:do if(d0)for(p0=+s[T3>>2],C0=I0-p0,b0=C0,f9=Q9;;){if(y0=o5(f9,o3)|0,E0=+(y0|0),Q0=E0*.0007399999885819852,w0=Q0,B0=+is(+w0),x0=B0*13.100000381469727,Z0=o5(y0,y0)|0,R0=+(Z0|0),v0=R0*18499999754340024e-24,N0=v0,U0=+is(+N0),H0=U0*2.240000009536743,S0=E0*9999999747378752e-20,J0=S0,T0=x0+J0,M0=T0+H0,P0=M0($|0);e:do if(W0)Y6=U6;else for(K0=e[g6>>2]|0,V0=K0+O3|0,F6=U6;;){if(z0=(F6|0)<(V0|0),!z0&&(n1=o5(F6,o3)|0,L0=+(n1|0),o1=L0*.0007399999885819852,d1=o1,u1=+is(+d1),p1=u1*13.100000381469727,f1=o5(n1,n1)|0,A1=+(f1|0),c1=A1*18499999754340024e-24,a1=c1,$1=+is(+a1),X0=$1*2.240000009536743,B1=L0*9999999747378752e-20,m1=B1,Q1=p1+m1,C1=Q1+X0,y1=+s[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,Q9=d9}if(t6)for(O=U5*.5,H=e[L>>2]|0,V=H+1|0,J=1<>2]=O1,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=o+36|0,A2=k/q0,C2=A2,$2=o+24|0,W1=+s[$2>>2],f2=o+28|0,c2=+s[f2>>2],o2=qb(I2,C2,$,W1,c2)|0,l2=t+8|0,e[l2>>2]=o2,i2=R9(12)|0,a2=t+12|0,e[a2>>2]=i2,m2=R9(X5)|0,e[i2>>2]=m2,n2=R9(X5)|0,k2=i2+4|0,e[k2>>2]=n2,D2=R9(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,w=e[B>>2]|0,b=i2+8|0,_=e[b>>2]|0,s9=0;M2=+(s9|0),O2=M2+.5,p2=O2*U5,W2=p2/Y3,q2=+ir(+W2),J2=q2*2.885390043258667,U2=J2+-11.931568145751953,V2=U2,Z2=V2<0,o9=Z2?0:V2,d=o9>=16,g9=d?16:o9,A5=~~g9,N1=+(A5|0),t5=g9-N1,T5=t5,i5=1-T5,x5=A5+1|0,j2=(y2+132|0)+(A5<<2)|0,p5=+s[j2>>2],D5=p5,V5=D5*i5,u5=(y2+132|0)+(x5<<2)|0,y5=+s[u5>>2],s5=y5*t5,F2=s5,R2=F2+V5,Q2=R2,Q5=D+(s9<<2)|0,s[Q5>>2]=Q2,N5=(y2+200|0)+(A5<<2)|0,E5=+s[N5>>2],L5=E5,q5=L5*i5,z2=(y2+200|0)+(x5<<2)|0,C5=+s[z2>>2],$5=C5*t5,h5=$5,w5=h5+q5,T1=w5,_5=w+(s9<<2)|0,s[_5>>2]=T1,d5=(y2+268|0)+(A5<<2)|0,l5=+s[d5>>2],X2=l5,v5=X2*i5,n5=(y2+268|0)+(x5<<2)|0,a5=+s[n5>>2],f5=a5*t5,K2=f5,I5=K2+v5,r5=I5,R5=_+(s9<<2)|0,s[R5>>2]=r5,e5=s9+1|0,Q6=(e5|0)==($|0),!Q6;)s9=e5}function Fy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0;if(q0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,J=(w|0)==0,J||E2(w),i0=t+20|0,d0=e[i0>>2]|0,Z0=(d0|0)==0,Z0||E2(d0),T0=t+24|0,M0=e[T0>>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,K0=0;I=E+(K0<<2)|0,y=e[I>>2]|0,B=e[y>>2]|0,E2(B),b=e[g>>2]|0,D=b+(K0<<2)|0,k=e[D>>2]|0,_=k+4|0,Q=e[_>>2]|0,E2(Q),x=e[g>>2]|0,M=x+(K0<<2)|0,L=e[M>>2]|0,F=L+8|0,N=e[F>>2]|0,E2(N),O=e[g>>2]|0,H=O+(K0<<2)|0,V=e[H>>2]|0,t0=V+12|0,Z=e[t0>>2]|0,E2(Z),A0=e[g>>2]|0,j=A0+(K0<<2)|0,n0=e[j>>2]|0,s0=n0+16|0,K=e[s0>>2]|0,E2(K),o0=e[g>>2]|0,Y=o0+(K0<<2)|0,h0=e[Y>>2]|0,e0=h0+20|0,u0=e[e0>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(K0<<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+(K0<<2)|0,r0=e[I0>>2]|0,p0=r0+28|0,C0=e[p0>>2]|0,E2(C0),b0=e[g>>2]|0,y0=b0+(K0<<2)|0,D0=e[y0>>2]|0,E2(D0),E0=K0+1|0,W0=(E0|0)==17,!W0;)o=e[g>>2]|0,E=o,K0=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,N0=v0+4|0,U0=e[N0>>2]|0,E2(U0),O0=e[w0>>2]|0,H0=O0+8|0,S0=e[H0>>2]|0,E2(S0),J0=e[w0>>2]|0,E2(J0)),V0=t,Y0=V0+52|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0))}}function Ty(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=0,p0=0,C0=0,b0=0,y0=0;if(y0=C,p=e[t>>2]|0,I=p<<2,d=I,M=C,C=C+((1*d|0)+15&-16)|0,j=t+24|0,u0=e[j>>2]|0,Gy(p,u0,o,a,140,-1),c0=(p|0)>0,c0)for(d0=0;$0=o+(d0<<2)|0,l0=+s[$0>>2],X=a+(d0<<2)|0,m0=+s[X>>2],E=l0-m0,y=M+(d0<<2)|0,s[y>>2]=E,B=d0+1|0,I0=(B|0)==(p|0),!I0;)d0=B;if(b=e[j>>2]|0,D=t+4|0,k=e[D>>2]|0,w=k+128|0,_=e[w>>2]|0,Gy(p,b,M,a,0,_),c0)p0=0;else{C=y0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],F=M+(p0<<2)|0,N=+s[F>>2],O=L-N,s[F>>2]=O,H=p0+1|0,r0=(H|0)==(p|0),!r0;)p0=H;if(!c0){C=y0;return}for(Q=e[D>>2]|0,C0=0;V=a+(C0<<2)|0,J=+s[V>>2],t0=J,Z=t0+.5,A0=~~Z,n0=(A0|0)>39,$=n0?39:A0,s0=($|0)<0,g=s0?0:$,K=M+(C0<<2)|0,o0=+s[K>>2],Y=(Q+336|0)+(g<<2)|0,h0=+s[Y>>2],i0=h0+o0,s[V>>2]=i0,e0=C0+1|0,g0=(e0|0)==(p|0),!g0;)C0=e0;C=y0}function Ny(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0;if(B5=C,N=e[t>>2]|0,O=t+40|0,h1=e[O>>2]|0,v1=h1<<2,I=v1,P1=C,C=C+((1*I|0)+15&-16)|0,e2=t+4|0,r2=e[e2>>2]|0,y2=r2+4|0,A5=+s[y2>>2],u5=A5+g,H=(h1|0)>0,H)for($5=0;Y=P1+($5<<2)|0,s[Y>>2]=-9999,I0=$5+1|0,B0=(I0|0)<(h1|0),B0;)$5=I0;if(T0=r2+8|0,n1=+s[T0>>2],d1=u50,u1){for(p1=t+16|0,f1=e[p1>>2]|0,d5=0;A1=f1+(d5<<2)|0,c1=+s[A1>>2],a1=c1+q5,$1=a+(d5<<2)|0,s[$1>>2]=a1,X0=d5+1|0,z2=(X0|0)==(N|0),!z2;)d5=X0;if(B1=t+8|0,m1=e[B1>>2]|0,Q1=r2+496|0,C1=+s[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=o+(h5<<2)|0,R1=+s[_1>>2],F1=S1+(h5<<2)|0,U1=e[F1>>2]|0,_5=h5,a5=R1;e:for(;;)for(w5=_5;;){if(D1=w5+1|0,X1=(D1|0)<(N|0),!X1){b=0,k=D1,T1=w5,f5=a5;break e}if(G1=S1+(D1<<2)|0,x1=e[G1>>2]|0,K1=(x1|0)==(U1|0),!K1){b=1,k=D1,T1=w5,f5=a5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],V1=H1>a5,V1){_5=D1,a5=H1;continue e}else w5=D1}if(Y1=f5+6,t2=a+(T1<<2)|0,s2=+s[t2>>2],O1=Y1>s2,O1&&(h2=e[L1>>2]|0,Z1=U1>>h2,I2=(Z1|0)>16,p=I2?16:Z1,A2=(p|0)<0,d=A2?0:p,C2=m1+(d<<2)|0,$2=e[C2>>2]|0,W1=e[M1>>2]|0,f2=y1+f5,c2=f2,g2=c2+-30,o2=g2*.10000000149011612,l2=~~o2,i2=(l2|0)<0,a2=i2?0:l2,m2=(a2|0)>7,n2=m2?7:a2,k2=$2+(n2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+s[S2>>2],M2=~~G2,O2=+s[D2>>2],p2=~~O2,W2=(p2|0)<(M2|0),W2))for(q2=S1+(T1<<2)|0,J2=e[q2>>2]|0,U2=e[b1>>2]|0,V2=J2-U2|0,Z2=+(V2|0),Y2=W1>>1,N1=+(Y2|0),t5=O2+-16,T5=+(W1|0),i5=t5*T5,x5=i5-N1,j2=x5+Z2,p5=~~j2,C5=p2,z5=p5;D5=(z5|0)>0,D5&&(F=C5+2|0,V5=D2+(F<<2)|0,b2=+s[V5>>2],y5=b2+f5,s5=P1+(z5<<2)|0,F2=+s[s5>>2],R2=F2>2]=y5)),Q2=z5+W1|0,Q5=(Q2|0)<(h1|0),N5=C5+1|0,E5=(N5|0)<(M2|0),c5=E5&Q5,c5;)C5=N5,z5=Q2;if(b)h5=k;else{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(Q=t+36|0,M=Q),L5=e[M>>2]|0,Hb(P1,L5,h1),V=e[t>>2]|0,J=(V|0)>1;e:do if(J)for(t0=t+20|0,Z=t+28|0,A0=e[t0>>2]|0,j=e[A0>>2]|0,n0=L5>>1,s0=j-n0|0,K=e[Z>>2]|0,o0=s0-K|0,h0=e[e2>>2]|0,i0=h0+32|0,X=1,r0=j,X2=0,T2=o0;;){c0=P1+(T2<<2)|0,$0=+s[c0>>2],l0=A0+(X<<2)|0,m0=e[l0>>2]|0,g0=m0+r0|0,d0=g0>>1,p0=d0-K|0,C0=+s[i0>>2],b0=$0>C0,K2=b0?C0:$0,y0=(T2|0)<(p0|0);t:do if(y0)for(E=T2,r5=K2;;){for(D0=r5==-9999,y=E;;){if(E0=y+1|0,Q0=P1+(E0<<2)|0,w0=+s[Q0>>2],x0=w0>-9999,x0){if(Z0=w0=(V|0),O0=(r0|0)>(N0|0),R5=U0|O0;t:do if(R5)d2=X2;else for(v5=X2;;){if(H0=a+(v5<<2)|0,S0=+s[H0>>2],J0=S0>2]=I5),M0=v5+1|0,P0=(M0|0)<(V|0),!P0){d2=M0;break t}if(_=A0+(M0<<2)|0,L=e[_>>2]|0,W0=(L|0)>(N0|0),W0){d2=M0;break}else v5=M0}while(!1);if(e0=d2+1|0,u0=(e0|0)<(V|0),!u0){l5=d2;break e}w=A0+(d2<<2)|0,x=e[w>>2]|0,X=e0,r0=x,X2=d2,T2=k5}else l5=0;while(!1);if(K0=e[O>>2]|0,V0=K0+-1|0,j0=P1+(V0<<2)|0,q0=+s[j0>>2],Y0=(l5|0)<(V|0),Y0)n5=l5;else{C=B5;return}for(;s1=a+(n5<<2)|0,z0=+s[s1>>2],L0=z0>2]=q0),o1=n5+1|0,M5=(o1|0)==(V|0),!M5;)n5=o1;C=B5}function Al(t,o,a,$,g,d,p){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,F=e[y>>2]|0,s0=(F+12|0)+($<<2)|0,X=+s[s0>>2],C0=(E|0)>0,!!C0)for(b0=t+48|0,y0=+s[b0>>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,w=y0,_=w*.005,Q=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=b+(B0<<2)|0,N=+s[L>>2],O=N+M,H=+s[D>>2],V=O>H,x0=V?H:O,J=a+(B0<<2)|0,t0=+s[J>>2],Z=t0+X,A0=x0>2]=I,k&&(n0=p+(B0<<2)|0,K=+s[n0>>2],o0=x0-K,Y=o0>-17.200000762939453,h0=o0+17.200000762939453,i0=h0,Y?(e0=_*i0,u0=1-e0,c0=u0,$0=c0<0,$0?Q0=9999999747378752e-20:Q0=c0):(l0=Q*i0,m0=1-l0,g0=m0,Q0=g0),I0=d+(B0<<2)|0,r0=+s[I0>>2],d0=r0*Q0,s[I0>>2]=d0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Pb(t,o){t=+t,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0;return H=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,_=e[w>>2]|0,Q=o+40|0,x=e[Q>>2]|0,M=_+(x<<2)|0,L=e[M>>2]|0,F=(L|0)/2&-1,N=+(F|0),d=g+8|0,p=e[d>>2]|0,I=+(p|0),E=N/I,y=_+2936|0,B=+s[y>>2],b=B*E,D=b+t,k=D<-9999,a=k?-9999:D,+a}function Ob(t,o,a,$,g,d,p,I,E){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0;if(Ye=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,v6=e[d6>>2]|0,Z5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,D0=(o+252|0)+(t<<2)|0,O0=e[D0>>2]|0,q0=1624+(O0<<3)|0,h1=+l1[q0>>3],v1=(o+312|0)+(t<<2)|0,P1=e[v1>>2]|0,e2=E<<2,b=e2,r2=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,x=e2,b2=C,C=C+((1*x|0)+15&-16)|0,M=e2,M5=C,C=C+((1*M|0)+15&-16)|0,d2=$+1156|0,T2=(c0|0)>1e3,Ve=T2?1696:1624,He=Ve+(P1<<3)|0,Ue=+l1[He>>3],G5=o5(e2,Z5)|0,L=G5,x3=C,C=C+((1*L|0)+15&-16)|0,e[r2>>2]=x3,k=G5,f3=C,C=C+((1*k|0)+15&-16)|0,e[y2>>2]=f3,w=G5,w3=C,C=C+((1*w|0)+15&-16)|0,e[Y2>>2]=w3,_=G5,H3=C,C=C+((1*_|0)+15&-16)|0,e[b2>>2]=H3,X5=(E|0)>1,X5&&(_3=x3+(Z5<<2)|0,t3=r2+4|0,e[t3>>2]=_3,a6=f3+(Z5<<2)|0,G3=y2+4|0,e[G3>>2]=a6,V3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=V3,g3=H3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,B9=(E|0)==2,!B9))for(b5=2;N=e[r2>>2]|0,V=e[y2>>2]|0,J=e[Y2>>2]|0,t0=e[b2>>2]|0,Y5=o5(b5,Z5)|0,Y3=N+(Y5<<2)|0,U5=r2+(b5<<2)|0,e[U5>>2]=Y3,l6=V+(Y5<<2)|0,r3=y2+(b5<<2)|0,e[r3>>2]=l6,l3=J+(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,r9=(D3|0)==(E|0),!r9;)b5=D3;if(J5=e[d2>>2]|0,H5=(c0|0)>0,H5)for(A6=e[b2>>2]|0,n6=(E|0)>0,z3=c0^-1,j5=Z5^-1,q6=0,w9=z3;;){if(J3=(w9|0)>(j5|0),r4=J3?w9:j5,m3=r4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),y=L6?x6:Z5,ge(M5|0,p|0,e2|0)|0,g4(A6|0,0,G5|0)|0,n6)for(M6=(y|0)>0,S6=l0-q6|0,A9=0;;){if(R3=d+(A9<<2)|0,o6=e[R3>>2]|0,s6=o6+(q6<<2)|0,B6=M5+(A9<<2)|0,K3=e[B6>>2]|0,F3=(K3|0)==0,F3){if(M6)for(R6=Y2+(A9<<2)|0,c6=e[R6>>2]|0,J6=r2+(A9<<2)|0,A3=e[J6>>2]|0,g6=y2+(A9<<2)|0,y6=e[g6>>2]|0,T3=b2+(A9<<2)|0,H6=e[T3>>2]|0,v9=0;P0=c6+(v9<<2)|0,s[P0>>2]=1000000013351432e-25,W0=A3+(v9<<2)|0,s[W0>>2]=0,K0=y6+(v9<<2)|0,s[K0>>2]=0,V0=H6+(v9<<2)|0,e[V0>>2]=0,Y=v9+q6|0,j0=o6+(Y<<2)|0,e[j0>>2]=0,Y0=v9+1|0,O6=(Y0|0)==(m3|0),!O6;)v9=Y0}else{if(W3=Y2+(A9<<2)|0,t6=e[W3>>2]|0,M6){for(ne=0;h0=ne+q6|0,$6=o6+(h0<<2)|0,D6=e[$6>>2]|0,G6=1768+(D6<<2)|0,e9=e[G6>>2]|0,X6=t6+(ne<<2)|0,e[X6>>2]=e9,P3=ne+1|0,_6=(P3|0)==(m3|0),!_6;)ne=P3;if(n9=g+(A9<<2)|0,V6=e[n9>>2]|0,o9=b2+(A9<<2)|0,g9=e[o9>>2]|0,M6){for(z9=0;U6=(z9|0)>=(S6|0),u0=U6?Ue:h1,Y6=u0,i0=z9+q6|0,F6=V6+(i0<<2)|0,t9=+s[F6>>2],Q9=+on(+t9),X=t6+(z9<<2)|0,m0=+s[X>>2],g0=Q9/m0,I0=g9+(z9<<2)|0,_9=!(g0>2]=B,r0=z9+1|0,P6=(r0|0)==(y|0),!P6;)z9=r0;if(M6)for(d0=r2+(A9<<2)|0,p0=e[d0>>2]|0,C0=y2+(A9<<2)|0,b0=e[C0>>2]|0,F9=0;;)if(y0=F9+q6|0,E0=V6+(y0<<2)|0,Q0=+s[E0>>2],w0=Q0*Q0,B0=p0+(F9<<2)|0,s[B0>>2]=w0,x0=b0+(F9<<2)|0,s[x0>>2]=w0,Z0=+s[E0>>2],R0=Z0<0,R0&&(v0=+s[B0>>2],N0=-v0,s[B0>>2]=N0),U0=t6+(F9<<2)|0,H0=+s[U0>>2],S0=H0*H0,s[U0>>2]=S0,J0=F9+1|0,O3=(J0|0)==(m3|0),O3){O=C0,M0=p0;break}else F9=J0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,F=r2+(A9<<2)|0,Z=e[F>>2]|0,K=y2+(A9<<2)|0,O=K,M0=Z),T0=e[O>>2]|0,Re=e[$0>>2]|0,+Uy(Re,l0,M0,T0,t6,0,q6,y,s6)}if(s1=A9+1|0,s9=(s1|0)==(E|0),s9)break;A9=s1}if(r6=e[d2>>2]|0,f6=(r6|0)>0,f6)for(b6=(y|0)>0,N6=I-q6|0,j6=l0-q6|0,y3=r6,ke=0;;){if(z0=($+1160|0)+(ke<<2)|0,n1=e[z0>>2]|0,L0=($+2184|0)+(ke<<2)|0,o1=e[L0>>2]|0,d1=d+(n1<<2)|0,u1=e[d1>>2]|0,p1=u1+(q6<<2)|0,f1=d+(o1<<2)|0,A1=e[f1>>2]|0,c1=r2+(n1<<2)|0,a1=e[c1>>2]|0,$1=r2+(o1<<2)|0,X0=e[$1>>2]|0,B1=y2+(n1<<2)|0,m1=e[B1>>2]|0,Q1=y2+(o1<<2)|0,C1=e[Q1>>2]|0,y1=Y2+(n1<<2)|0,k1=e[y1>>2]|0,S1=Y2+(o1<<2)|0,L1=e[S1>>2]|0,M1=b2+(n1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=M5+(n1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,X1=M5+(o1<<2)|0,D1?(G1=e[X1>>2]|0,x1=(G1|0)==0,x1?X2=y3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[X1>>2]=1,e[F1>>2]=1,b6)for(K6=0;;){K1=(K6|0)<(N6|0);do if(K1){if(q1=b1+(K6<<2)|0,H1=e[q1>>2]|0,V1=(H1|0)==0,Y1=R1+(K6<<2)|0,V1&&(t2=e[Y1>>2]|0,s2=(t2|0)==0,s2)){i5=(K6|0)<(j6|0);do if(i5)x5=X0+(K6<<2)|0,j2=+s[x5>>2],p5=a1+(K6<<2)|0,D5=+s[p5>>2],V5=D5+j2,s[p5>>2]=V5,f9=+on(+V5),u5=m1+(K6<<2)|0,s[u5>>2]=f9,H=x5;else if(y5=a1+(K6<<2)|0,s5=+s[y5>>2],F2=X0+(K6<<2)|0,R2=+s[F2>>2],Q2=R2+s5,Q5=Q2<0,y9=+on(+s5),d9=+on(+R2),N5=d9+y9,E5=m1+(K6<<2)|0,s[E5>>2]=N5,Q5){L5=-N5,s[y5>>2]=L5,H=F2;break}else{s[y5>>2]=N5,H=F2;break}while(!1);q5=C1+(K6<<2)|0,s[q5>>2]=0,s[H>>2]=0,e[Y1>>2]=1,o0=K6+q6|0,z2=A1+(o0<<2)|0,e[z2>>2]=0;break}O1=a1+(K6<<2)|0,h2=+s[O1>>2],V9=+on(+h2),Z1=X0+(K6<<2)|0,I2=+s[Z1>>2],w6=+on(+I2),A2=w6+V9,s[O1>>2]=A2,C2=m1+(K6<<2)|0,$2=+s[C2>>2],W1=C1+(K6<<2)|0,f2=+s[W1>>2],c2=f2+$2,s[C2>>2]=c2,e[Y1>>2]=1,e[q1>>2]=1,e0=K6+q6|0,g2=u1+(e0<<2)|0,o2=e[g2>>2]|0,l2=A1+(e0<<2)|0,i2=e[l2>>2]|0,we=(o2|0)>-1,ve=0-o2|0,a2=we?o2:ve,ue=(i2|0)>-1,he=0-i2|0,m2=ue?i2:he,n2=(a2|0)>(m2|0),n2?(k2=(o2|0)>0,D2=o2-i2|0,S2=i2-o2|0,G2=k2?D2:S2,e[l2>>2]=G2,j=e[g2>>2]|0,q2=j,V2=G2):(M2=(i2|0)>0,O2=o2-i2|0,p2=i2-o2|0,W2=M2?O2:p2,e[l2>>2]=W2,e[g2>>2]=i2,A0=e[l2>>2]|0,q2=i2,V2=A0),Ee=(q2|0)>-1,Me=0-q2|0,J2=Ee?q2:Me,U2=J2<<1,Z2=(V2|0)<(U2|0),Z2||(N1=0-V2|0,e[l2>>2]=N1,t5=e[g2>>2]|0,T5=0-t5|0,e[g2>>2]=T5)}while(!1);if(C5=k1+(K6<<2)|0,$5=+s[C5>>2],h5=L1+(K6<<2)|0,w5=+s[h5>>2],T1=w5+$5,s[h5>>2]=T1,s[C5>>2]=T1,_5=K6+1|0,h9=(_5|0)==(m3|0),h9)break;K6=_5}Fe=e[$0>>2]|0,+Uy(Fe,l0,a1,m1,k1,b1,q6,y,p1),n0=e[d2>>2]|0,X2=n0}if(d5=ke+1|0,l5=(d5|0)<(X2|0),l5)y3=X2,ke=d5;else{a3=X2;break}}else a3=r6;if(v5=q6+Z5|0,n5=(c0|0)>(v5|0),Y9=w9+Z5|0,n5)q6=v5,w9=Y9;else{M3=a3;break}}else M3=J5;if(h3=(M3|0)>0,h3)n3=M3,a9=0;else{C=Ye;return}for(;a5=($+1160|0)+(a9<<2)|0,f5=e[a5>>2]|0,K2=p+(f5<<2)|0,I5=e[K2>>2]|0,r5=(I5|0)==0,R5=($+2184|0)+(a9<<2)|0,r5?(e5=e[R5>>2]|0,c5=p+(e5<<2)|0,k5=e[c5>>2]|0,z5=(k5|0)==0,z5?W5=n3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[K2>>2]=1,i3=e[R5>>2]|0,B5=p+(i3<<2)|0,e[B5>>2]=1,s0=e[d2>>2]|0,W5=s0),I3=a9+1|0,d3=(I3|0)<(W5|0),d3;)n3=W5,a9=I3;C=Ye}function qb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0;for(et=C,C=C+32480|0,Z3=et+32256|0,D9=et+1792|0,x9=et,L=a<<2,D=L,F=C,C=C+((1*D|0)+15&-16)|0,o2=R9(68)|0,g4(D9|0,0,30464)|0,M3=$>0,ue=$<0,L9=0;;){for(h4=L9<<2,A4=0;s5=A4+h4|0,C5=(s5|0)<88,C5?(n5=1272+(s5<<2)|0,z5=+s[n5>>2],j9=z5):j9=-30,x3=s5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+s[U6>>2],t9=j9>Y6,t9?l4=Y6:l4=j9):(g9=j9>-30,g9?l4=-30:l4=j9),_6=s5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,s9=+s[O6>>2],h9=l4>s9,h9?T9=s9:T9=l4):(O3=l4>-30,O3?T9=-30:T9=l4),r9=s5+3|0,B9=(r9|0)<88,B9?(d9=1272+(r9<<2)|0,f9=+s[d9>>2],V9=T9>f9,V9?j4=f9:j4=T9):(y9=T9>-30,y9?j4=-30:j4=T9),w6=Z3+(A4<<2)|0,s[w6>>2]=j4,q6=A4+1|0,Ot=(q6|0)==56,!Ot;)A4=q6;if(Ie=(D9+(L9*1792|0)|0)+448|0,N=2792+(L9*1344|0)|0,ge(Ie|0,N|0,224)|0,K=(D9+(L9*1792|0)|0)+672|0,m0=(2792+(L9*1344|0)|0)+224|0,ge(K|0,m0|0,224)|0,Q0=(D9+(L9*1792|0)|0)+896|0,S0=(2792+(L9*1344|0)|0)+448|0,ge(Q0|0,S0|0,224)|0,s1=(D9+(L9*1792|0)|0)+1120|0,c1=(2792+(L9*1344|0)|0)+672|0,ge(s1|0,c1|0,224)|0,S1=(D9+(L9*1792|0)|0)+1344|0,G1=(2792+(L9*1344|0)|0)+896|0,ge(S1|0,G1|0,224)|0,h2=(D9+(L9*1792|0)|0)+1568|0,l2=(2792+(L9*1344|0)|0)+1120|0,ge(h2|0,l2|0,224)|0,O2=D9+(L9*1792|0)|0,ge(O2|0,N|0,224)|0,t5=(D9+(L9*1792|0)|0)+224|0,ge(t5|0,N|0,224)|0,M3)for(At=0;;){if(ue)for(Bt=0;Ee=16-Bt|0,L8=(Ee|0)>-1,$8=0-Ee|0,z9=L8?Ee:$8,ne=+(z9|0),F9=ne*g,v9=F9+$,K6=v9<0,I=K6?0:v9,A9=I>0,d=A9?0:I,ve=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Me=+s[ve>>2],he=Me+d,s[ve>>2]=he,Re=Bt+1|0,Yt=(Re|0)==56,!Yt;)Bt=Re;else for(ct=0;h3=16-ct|0,o8=(h3|0)>-1,Zt=0-h3|0,N6=o8?h3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,Q9=F6<0,E=Q9?0:F6,a9=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[a9>>2],w9=Y9+E,s[a9>>2]=w9,we=ct+1|0,Vt=(we|0)==56,!Vt;)ct=we;if(r3=At+1|0,_t=(r3|0)==8,_t)break;At=r3}else for(Mt=0;;){if(ue)for(yt=0;r4=16-yt|0,M8=(r4|0)>-1,l8=0-r4|0,ke=M8?r4:l8,Ve=+(ke|0),J9=Ve*g,Ye=J9+$,de=Ye>0,p=de?0:Ye,Ce=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(yt<<2)|0,v4=+s[Ce>>2],Z9=v4+p,s[Ce>>2]=Z9,k9=yt+1|0,t8=(k9|0)==56,!t8;)yt=k9;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,V4=E8?k4:A8,rt=+(V4|0),ze=rt*g,Y4=ze+$,Je=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[Je>>2],ot=R4+Y4,s[Je>>2]=ot,re=lt+1|0,qt=(re|0)==56,!qt;)lt=re;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Fe=t+(L9<<2)|0,Ue=+s[Fe>>2],He=Ue,We=0;;){for(Be=(We|0)<2,T6=+(We|0),k=T6*10,w=70-k,Ke=Be?50:w,O9=Ke+He,fe=O9,Et=0;Te=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(Et<<2)|0,oe=+s[Te>>2],d4=oe+fe,s[Te>>2]=d4,f4=Et+1|0,qe=(f4|0)==56,!qe;)Et=f4;for(Se=x9+(We*224|0)|0,ge(Se|0,Z3|0,224)|0,s4=+(We|0),Oe=s4*10,I4=70-Oe,Lt=0;;)if(S9=(x9+(We*224|0)|0)+(Lt<<2)|0,I6=+s[S9>>2],z4=I4+I6,s[S9>>2]=z4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;be=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(at<<2)|0,me=+s[be>>2],z6=(x9+(We*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=me>F4,T4&&(s[z6>>2]=me),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(pe=We+1|0,x8=(pe|0)==8,x8){U4=1;break}else We=pe}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(x9+(xe*224|0)|0)+(G4<<2)|0,O=+s[mt>>2],H=(x9+(U4*224|0)|0)+(G4<<2)|0,V=+s[H>>2],J=O>2]=O),t0=G4+1|0,d8=(t0|0)==56,d8){J4=0;break}else G4=t0;for(;Z=(x9+(U4*224|0)|0)+(J4<<2)|0,A0=+s[Z>>2],j=((D9+(L9*1792|0)|0)+(U4*224|0)|0)+(J4<<2)|0,n0=+s[j>>2],s0=A0>2]=A0),o0=J4+1|0,a4=(o0|0)==56,!a4;)J4=o0;if(Y=U4+1|0,Ht=(Y|0)==8,Ht)break;U4=Y}if(h0=L9+1|0,xt=(h0|0)==17,xt)break;L9=h0}for(_9=o,Pe=(a|0)>0,o4=a^-1,b4=0;;){for(i0=R9(32)|0,e0=o2+(b4<<2)|0,e[e0>>2]=i0,u0=+(b4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,X=+Yr(+l0),g0=X/_9,I0=+aA(+g0),r0=~~I0,d0=+(r0|0),p0=d0*o,C0=p0+1,b0=C0,y0=+ir(+b0),D0=y0*2.885390043258667,E0=D0+-11.931568145751953,w0=+bC(+E0),B0=~~w0,x0=r0+1|0,Z0=+(x0|0),R0=Z0*o,v0=R0,N0=+ir(+v0),U0=N0*2.885390043258667,O0=U0+-11.931568145751953,H0=+aA(+O0),J0=~~H0,T0=(B0|0)>(b4|0),p8=T0?b4:B0,M0=(p8|0)<0,wt=M0?0:p8,P0=(J0|0)>16,y=P0?16:J0,W0=(wt|0)>(y|0),K0=b4+1|0,V0=(K0|0)<17,j0=c0+3.9657840728759766,$4=0;;){if(q0=R9(232)|0,Y0=i0+($4<<2)|0,e[Y0>>2]=q0,Pe)for($t=0;z0=F+($t<<2)|0,s[z0>>2]=999,n1=$t+1|0,b9=(n1|0)==(a|0),!b9;)$t=n1;if(!W0)for(p4=wt;;){for(L0=+(p4|0),o1=L0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),h1=f1*.125,A1=h1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,X0=+Yr(+$1),B1=X0/_9,m1=~~B1,Q1=A1+4.028284072875977,C1=Q1*.6931470036506653,y1=+Yr(+C1),v1=y1/_9,k1=v1+1,L1=~~k1,M1=(m1|0)<0,B=M1?0:m1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(D4|0),Ze=_1?a8:D4,R1=(L1|0)<0,n8=R1?0:L1,F1=(n8|0)>(a|0),Wt=F1?a:n8,U1=(Ze|0)<(Wt|0),D1=(Ze|0)<(a|0),jt=U1&D1,jt)for(P1=((D9+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,X1=+s[P1>>2],x1=(D4|0)<(a|0),K1=x1?D4:a,q1=K1^-1,H1=(m1|0)>0,x=m1^-1,V1=H1?x:-1,Y1=(V1|0)<(q1|0),je=Y1?q1:V1,t2=je^-1,s2=(L1|0)>0,M=L1^-1,e2=s2?M:-1,O1=(e2|0)<(o4|0),c8=O1?o4:e2,Z1=c8-je|0,I2=je+a|0,A2=I2^-1,C2=Z1>>>0>A2>>>0,Tt=C2?Z1:A2,$2=t2-Tt|0,ae=Ze;;)if(W1=F+(ae<<2)|0,f2=+s[W1>>2],c2=f2>X1,c2&&(s[W1>>2]=X1),r2=ae+1|0,pt=(r2|0)==($2|0),pt){K4=$2;break}else ae=r2;else K4=Ze;if(g2=Ct+1|0,zt=(g2|0)==56,zt){W4=K4;break}else Ct=g2,D4=K4}if(d1=(W4|0)<(a|0),d1)for(u1=((D9+(p4*1792|0)|0)+($4*224|0)|0)+220|0,p1=+s[u1>>2],P4=W4;i2=F+(P4<<2)|0,a2=+s[i2>>2],m2=a2>p1,m2&&(s[i2>>2]=p1),n2=P4+1|0,Jt=(n2|0)==(a|0),!Jt;)P4=n2;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),J2=q2*.125,U2=J2+c0,V2=U2+3.9032840728759766,Z2=V2*.6931470036506653,A5=+Yr(+Z2),Y2=A5/_9,N1=~~Y2,T5=U2+4.028284072875977,i5=T5*.6931470036506653,x5=+Yr(+i5),j2=x5/_9,p5=j2+1,D5=~~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=(D5|0)<0,r8=y5?0:D5,F2=(r8|0)>(a|0),C8=F2?a:r8,R2=(Z4|0)<(C8|0),Q2=(Z4|0)<(a|0),ut=R2&Q2,ut)for(Q5=((D9+(K0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,N5=+s[Q5>>2],E5=(E4|0)<(a|0),L5=E5?E4:a,q5=L5^-1,M5=(N1|0)>0,_=N1^-1,z2=M5?_:-1,$5=(z2|0)<(q5|0),ht=$5?q5:z2,h5=ht^-1,w5=(D5|0)>0,Q=D5^-1,T1=w5?Q:-1,_5=(T1|0)<(o4|0),Ft=_5?o4:T1,d5=Ft-ht|0,l5=ht+a|0,X2=l5^-1,d2=d5>>>0>X2>>>0,X4=d2?d5:X2,v5=h5-X4|0,De=Z4;;)if(a5=F+(De<<2)|0,f5=+s[a5>>2],K2=f5>N5,K2&&(s[a5>>2]=N5),I5=De+1|0,_8=(I5|0)==(v5|0),_8){gt=v5;break}else De=I5;else gt=Z4;if(r5=Rt+1|0,e8=(r5|0)==56,e8){_4=gt;break}else Rt=r5,E4=gt}if(M2=(_4|0)<(a|0),M2)for(p2=((D9+(K0*1792|0)|0)+($4*224|0)|0)+220|0,W2=+s[p2>>2],Qt=_4;R5=F+(Qt<<2)|0,e5=+s[R5>>2],c5=e5>W2,c5&&(s[R5>>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,n3=W5*.6931470036506653,a3=+Yr(+n3),y3=a3/_9,G5=~~y3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,e6=w3+(f3<<2)|0,s[e6>>2]=-999;else if(H3=(G5|0)<(a|0),H3){a6=F+(G5<<2)|0,G3=e[a6>>2]|0,V3=m4+2|0,g3=e[y2>>2]|0,u3=g3+(V3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}k5=q0+8|0,i3=+s[k5>>2],B5=i3>-200;do if(B5)se=0;else if(J5=q0+12|0,H5=+s[J5>>2],Y5=H5>-200,Y5)se=1;else if(D3=q0+16|0,A6=+s[D3>>2],n6=A6>-200,n6)se=2;else if(z3=q0+20|0,j5=+s[z3>>2],J3=j5>-200,J3)se=3;else if(d6=q0+24|0,m3=+s[d6>>2],x6=m3>-200,x6)se=4;else if(L6=q0+28|0,M6=+s[L6>>2],S6=M6>-200,S6)se=5;else if(r6=q0+32|0,f6=+s[r6>>2],b6=f6>-200,b6)se=6;else if(j6=q0+36|0,v6=+s[j6>>2],R3=v6>-200,R3)se=7;else if(o6=q0+40|0,s6=+s[o6>>2],B6=s6>-200,B6)se=8;else if(K3=q0+44|0,F3=+s[K3>>2],W3=F3>-200,W3)se=9;else if(t6=q0+48|0,c6=+s[t6>>2],o3=c6>-200,o3)se=10;else if(J6=q0+52|0,A3=+s[J6>>2],g6=A3>-200,g6)se=11;else if(y6=q0+56|0,T3=+s[y6>>2],H6=T3>-200,H6)se=12;else if($6=q0+60|0,D6=+s[$6>>2],e9=D6>-200,e9)se=13;else{if(Q6=q0+64|0,X6=+s[Q6>>2],P3=X6>-200,P3){se=14;break}if(n9=q0+68|0,V6=+s[n9>>2],o9=V6>-200,o9){se=15;break}se=16}while(!1);for(s[q0>>2]=se,Kt=55;;){if(b5=Kt+2|0,Y3=q0+(b5<<2)|0,U5=+s[Y3>>2],l6=U5>-200,l6){s8=Kt;break}if(l3=Kt+-1|0,U3=(l3|0)>17,U3)Kt=l3;else{s8=l3;break}}if(C6=+(s8|0),b3=q0+4|0,s[b3>>2]=C6,L3=$4+1|0,Ut=(L3|0)==8,Ut)break;$4=L3}if(Pt=(K0|0)==17,Pt)break;b4=K0}return C=et,o2|0}function Gy(t,o,a,$,g,d){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0;if(Fe=C,k=t<<2,p=k,w=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=+s[a>>2],A6=b5+g,M6=A6<1,he=M6?1:A6,B6=he*he,_=B6*.5,t0=_*he,s[w>>2]=_,s[$2>>2]=_,s[e5>>2]=0,s[a3>>2]=t0,s[t3>>2]=0,e0=(t|0)>1,e0)for(O3=1,w6=_,q6=_,a9=0,Y9=0,w9=t0,we=1;d1=a+(O3<<2)|0,m1=+s[d1>>2],R1=m1+g,V1=R1<1,_9=V1?1:R1,W1=_9*_9,k2=W1+w6,U2=W1*we,p5=U2+q6,N5=U2*we,_5=N5+a9,K2=W1*_9,I5=K2+w9,r5=U2*_9,R5=r5+Y9,c5=w+(O3<<2)|0,s[c5>>2]=k2,T2=$2+(O3<<2)|0,s[T2>>2]=p5,k5=e5+(O3<<2)|0,s[k5>>2]=_5,z5=a3+(O3<<2)|0,s[z5>>2]=I5,i3=t3+(O3<<2)|0,s[i3>>2]=R5,B5=O3+1|0,I3=we+1,P6=(B5|0)==(t|0),!P6;)O3=B5,w6=k2,q6=p5,a9=_5,Y9=R5,w9=I5,we=I3;if(p0=e[o>>2]|0,R0=p0>>16,W0=(R0|0)>-1,W0)W5=p0,y6=0,D6=0,X6=1,O6=0,ue=0;else for(G5=p0,w3=R0,s9=0,Ee=0;;)if(y3=G5&65535,Z5=w+(y3<<2)|0,x3=+s[Z5>>2],f3=0-w3|0,e6=w+(f3<<2)|0,H3=+s[e6>>2],X5=H3+x3,_3=$2+(y3<<2)|0,a6=+s[_3>>2],G3=$2+(f3<<2)|0,V3=+s[G3>>2],c3=a6-V3,g3=e5+(y3<<2)|0,u3=+s[g3>>2],Q3=e5+(f3<<2)|0,J5=+s[Q3>>2],H5=J5+u3,Y5=a3+(y3<<2)|0,Y3=+s[Y5>>2],U5=a3+(f3<<2)|0,l6=+s[U5>>2],r3=l6+Y3,l3=t3+(y3<<2)|0,U3=+s[l3>>2],C6=t3+(f3<<2)|0,b3=+s[C6>>2],L3=U3-b3,D3=r3*H5,n6=L3*c3,z3=D3-n6,j5=L3*X5,M3=r3*c3,h3=j5-M3,J3=H5*X5,d6=c3*c3,m3=J3-d6,x6=h3*Ee,L6=x6+z3,S6=L6/m3,r6=S6<0,o9=r6?0:S6,f6=o9-g,b6=$+(s9<<2)|0,s[b6>>2]=f6,N6=s9+1|0,j6=Ee+1,v6=o+(N6<<2)|0,R3=e[v6>>2]|0,o6=R3>>16,s6=(o6|0)>-1,s6){W5=R3,y6=z3,D6=h3,X6=m3,O6=N6,ue=j6;break}else G5=R3,w3=o6,s9=N6,Ee=j6;if(d3=W5&65535,n3=(d3|0)<(t|0),n3)for(b=W5,t6=d3,r9=O6,ne=ue;;)if(F3=b>>16,W3=w+(t6<<2)|0,R6=+s[W3>>2],c6=w+(F3<<2)|0,o3=+s[c6>>2],J6=R6-o3,A3=$2+(t6<<2)|0,g6=+s[A3>>2],Q=$2+(F3<<2)|0,x=+s[Q>>2],M=g6-x,L=e5+(t6<<2)|0,F=+s[L>>2],N=e5+(F3<<2)|0,O=+s[N>>2],H=F-O,V=a3+(t6<<2)|0,J=+s[V>>2],Z=a3+(F3<<2)|0,A0=+s[Z>>2],j=J-A0,n0=t3+(t6<<2)|0,s0=+s[n0>>2],K=t3+(F3<<2)|0,o0=+s[K>>2],Y=s0-o0,h0=j*H,i0=Y*M,u0=h0-i0,c0=Y*J6,$0=j*M,l0=c0-$0,X=H*J6,m0=M*M,g0=X-m0,I0=l0*ne,r0=I0+u0,d0=r0/g0,C0=d0<0,g9=C0?0:d0,b0=g9-g,y0=$+(r9<<2)|0,s[y0>>2]=b0,D0=r9+1|0,E0=ne+1,Q0=o+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0&65535,x0=(B0|0)<(t|0),x0)b=w0,t6=B0,r9=D0,ne=E0;else{T3=u0,G6=l0,P3=g0,h9=D0,z9=E0;break}else T3=y6,G6=D6,P3=X6,h9=O6,z9=ue;if(K3=(h9|0)<(t|0),K3)for(B9=h9,F9=z9;Z0=F9*G6,v0=Z0+T3,N0=v0/P3,U0=N0<0,U6=U0?0:N0,O0=U6-g,H0=$+(B9<<2)|0,s[H0>>2]=O0,S0=B9+1|0,J0=F9+1,_6=(S0|0)==(t|0),!_6;)B9=S0,F9=J0;if(T0=(d|0)<1,T0){C=Fe;return}if(M0=(d|0)/2&-1,P0=M0-d|0,K0=(P0|0)>-1,K0)H6=T3,e9=G6,n9=P3,y9=0,v9=0;else for(V0=d-M0|0,z0=M0,o1=P0,Q9=0,K6=0;;)if(s1=w+(z0<<2)|0,n1=+s[s1>>2],L0=0-o1|0,u1=w+(L0<<2)|0,p1=+s[u1>>2],f1=p1+n1,h1=$2+(z0<<2)|0,A1=+s[h1>>2],c1=$2+(L0<<2)|0,a1=+s[c1>>2],$1=A1-a1,X0=e5+(z0<<2)|0,B1=+s[X0>>2],Q1=e5+(L0<<2)|0,C1=+s[Q1>>2],y1=C1+B1,v1=a3+(z0<<2)|0,k1=+s[v1>>2],S1=a3+(L0<<2)|0,L1=+s[S1>>2],M1=L1+k1,b1=t3+(z0<<2)|0,_1=+s[b1>>2],F1=t3+(L0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*y1,X1=D1*$1,G1=P1-X1,x1=D1*f1,K1=M1*$1,q1=x1-K1,H1=y1*f1,Y1=$1*$1,t2=H1-Y1,s2=q1*K6,e2=s2+G1,O1=e2/t2,h2=O1-g,Z1=$+(Q9<<2)|0,I2=+s[Z1>>2],A2=h2>2]=h2),C2=Q9+1|0,f2=K6+1,c2=M0+C2|0,r2=c2-d|0,t9=(C2|0)==(V0|0),t9){H6=G1,e9=q1,n9=t2,y9=V0,v9=f2;break}else z0=c2,o1=r2,Q9=C2,K6=f2;if(j0=y9+M0|0,q0=(j0|0)<(t|0),q0)for(Y0=t-M0|0,D=j0,f9=y9,ve=v9;;)if(o2=D-d|0,l2=w+(D<<2)|0,i2=+s[l2>>2],a2=w+(o2<<2)|0,m2=+s[a2>>2],n2=i2-m2,D2=$2+(D<<2)|0,S2=+s[D2>>2],y2=$2+(o2<<2)|0,G2=+s[y2>>2],M2=S2-G2,O2=e5+(D<<2)|0,p2=+s[O2>>2],W2=e5+(o2<<2)|0,q2=+s[W2>>2],J2=p2-q2,V2=a3+(D<<2)|0,Z2=+s[V2>>2],A5=a3+(o2<<2)|0,Y2=+s[A5>>2],N1=Z2-Y2,t5=t3+(D<<2)|0,T5=+s[t5>>2],i5=t3+(o2<<2)|0,x5=+s[i5>>2],j2=T5-x5,D5=N1*J2,V5=j2*M2,u5=D5-V5,b2=j2*n2,y5=N1*M2,s5=b2-y5,F2=J2*n2,R2=M2*M2,Q2=F2-R2,Q5=s5*ve,E5=Q5+u5,L5=E5/Q2,q5=L5-g,M5=$+(f9<<2)|0,z2=+s[M5>>2],C5=q5>2]=q5),$5=f9+1|0,h5=ve+1,w5=$5+M0|0,F6=($5|0)==(Y0|0),F6){$6=u5,Q6=s5,V6=Q2,d9=Y0,A9=h5;break}else D=w5,f9=$5,ve=h5;else $6=H6,Q6=e9,V6=n9,d9=y9,A9=v9;if(g2=(d9|0)<(t|0),g2)V9=d9,Me=A9;else{C=Fe;return}for(;T1=Me*Q6,d5=T1+$6,l5=d5/V6,X2=l5-g,d2=$+(V9<<2)|0,v5=+s[d2>>2],n5=X2>2]=X2),a5=V9+1|0,f5=Me+1,Y6=(a5|0)==(t|0),!Y6;)V9=a5,Me=f5;C=Fe}function Hb(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0;if(d1=C,d=a<<2,$=d,p=C,C=C+((1*$|0)+15&-16)|0,g=d,x=C,C=C+((1*g|0)+15&-16)|0,A0=(a|0)>0,A0)S0=0,V0=0;else{C=d1;return}for(;;){x0=(V0|0)<2;do if(x0)v0=p+(V0<<2)|0,e[v0>>2]=S0,I=t+(S0<<2)|0,E=e[I>>2]|0,y=x+(V0<<2)|0,e[y>>2]=E,z0=V0;else{for(Z0=t+(S0<<2)|0,R0=+s[Z0>>2],j0=V0;;){if(B=j0+-1|0,b=x+(B<<2)|0,D=+s[b>>2],k=R0>2]|0,L=M+o|0,F=(S0|0)<(L|0),N=(j0|0)>1,M0=N&F,!M0){Y0=j0,o1=12;break}if(O=j0+-2|0,H=x+(O<<2)|0,V=+s[H>>2],J=!(D<=V),J){Y0=j0,o1=12;break}if(t0=p+(O<<2)|0,Z=e[t0>>2]|0,j=Z+o|0,n0=(S0|0)<(j|0),n0)j0=B;else{Y0=j0,o1=12;break}}if((o1|0)==8){o1=0,w=p+(q0<<2)|0,e[w>>2]=S0,_=x+(q0<<2)|0,s[_>>2]=R0,z0=q0;break}else if((o1|0)==12){o1=0,s0=p+(Y0<<2)|0,e[s0>>2]=S0,K=x+(Y0<<2)|0,s[K>>2]=R0,z0=Y0;break}}while(!1);if(s1=z0+1|0,o0=S0+1|0,H0=(o0|0)==(a|0),H0){n1=z0,L0=s1;break}else S0=o0,V0=s1}if(c0=(n1|0)>-1,!c0){C=d1;return}for(b0=o+1|0,J0=0,P0=0;;){if(Y=(J0|0)<(n1|0),Y?(h0=J0+1|0,i0=x+(h0<<2)|0,e0=+s[i0>>2],u0=x+(J0<<2)|0,$0=+s[u0>>2],l0=e0>$0,l0?(X=p+(h0<<2)|0,m0=e[X>>2]|0,N0=m0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=p+(J0<<2)|0,I0=e[g0>>2]|0,r0=b0+I0|0,N0=r0),d0=(N0|0)>(a|0),T0=d0?a:N0,p0=(P0|0)<(T0|0),p0)for(C0=x+(J0<<2)|0,y0=e[C0>>2]|0,D0=(N0|0)<(a|0),E0=D0?N0:a,K0=P0;;)if(Q0=t+(K0<<2)|0,e[Q0>>2]=y0,w0=K0+1|0,U0=(w0|0)==(E0|0),U0){W0=E0;break}else K0=w0;else W0=P0;if(B0=J0+1|0,O0=(B0|0)==(L0|0),O0)break;J0=B0,P0=W0}C=d1}function Uy(t,o,a,$,g,d,p,I,E){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0;if(h2=C,L=I<<2,_=L,F=C,C=C+((1*_|0)+15&-16)|0,s0=t+500|0,X=e[s0>>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),Y1=F1?I:k1,N=(Y1|0)>0,N)for(O=(d|0)==0,H=(k1|0)<(I|0),V=H?k1:I,q1=0;;){O?O1=9:(A0=d+(q1<<2)|0,j=e[A0>>2]|0,n0=(j|0)==0,n0&&(O1=9));do if((O1|0)==9)if(O1=0,K=$+(q1<<2)|0,o0=+s[K>>2],Y=g+(q1<<2)|0,h0=+s[Y>>2],i0=o0/h0,e0=a+(q1<<2)|0,u0=+s[e0>>2],c0=u0<0,$0=i0,l0=+Hr(+$0),m0=+K7(l0),c0){g0=-m0,I0=~~g0,r0=E+(q1<<2)|0,e[r0>>2]=I0;break}else{d0=~~m0,p0=E+(q1<<2)|0,e[p0>>2]=d0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(V|0),x1){K1=V;break}else q1=C0}else K1=0;if(J=(K1|0)<(I|0),!J)return w=0,C=h2,+w;for(t0=(d|0)!=0,Z=o-p|0,y=0,U1=0,H1=K1;;){t0?(b0=d+(H1<<2)|0,y0=e[b0>>2]|0,D0=(y0|0)==0,D0?O1=15:(B=y,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,Q0=$+(H1<<2)|0,w0=+s[Q0>>2],B0=g+(H1<<2)|0,x0=+s[B0>>2],Z0=w0/x0,R0=!(Z0<.25),v0=(H1|0)<(Z|0),t2=t0&v0,s2=R0|t2,s2){S0=a+(H1<<2)|0,J0=+s[S0>>2],T0=J0<0,M0=Z0,P0=+Hr(+M0),W0=+K7(P0),K0=-W0,x=T0?K0:W0,Q=~~x,V0=E+(H1<<2)|0,e[V0>>2]=Q,j0=o5(Q,Q)|0,q0=+(j0|0),s1=+s[B0>>2],z0=q0*s1,s[Q0>>2]=z0,B=y,D1=U1;break}else{N0=Z0+y,U0=U1+1|0,O0=F+(U1<<2)|0,e[O0>>2]=Q0,B=N0,D1=U0;break}while(!1);if(n1=H1+1|0,G1=(n1|0)==(I|0),G1){b=B,P1=D1;break}else y=B,U1=D1,H1=n1}if(L0=(P1|0)==0,L0||(Hu(F,P1,4,9),o1=(P1|0)>0,!o1))return w=b,C=h2,+w;for(d1=$,u1=t+512|0,p1=+l1[u1>>3],D=b,V1=0;;)if(f1=F+(V1<<2)|0,h1=e[f1>>2]|0,c1=h1,a1=c1-d1|0,$1=a1>>2,X0=D,B1=!(X0>=p1),B1?(k=D,M=0,e2=0):(m1=a+($1<<2)|0,Q1=e[m1>>2]|0,C1=Q1&-2147483648,y1=C1|1065353216,v1=(e[w2>>2]=y1,+s[w2>>2]),S1=~~v1,L1=D+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],k=L1,M=S1,e2=b1),_1=E+($1<<2)|0,e[_1>>2]=M,s[h1>>2]=e2,R1=V1+1|0,X1=(R1|0)==(P1|0),X1){w=k;break}else D=k,V1=R1;return C=h2,+w}function Vb(t,o){t=t|0,o=o|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,$=+s[a>>2],g=e[o>>2]|0,d=+s[g>>2],p=$d,y=E&1,B=I-y|0,B|0}function Yb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function zb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0;if(n0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,F=(w|0)>0,N=t+20|0,F)for(L=w,Z=0;O=e[N>>2]|0,H=O+(Z<<2)|0,V=e[H>>2]|0,J=(V|0)==0,J?d=L:(E2(V),o=e[$>>2]|0,d=o),t0=Z+1|0,g=(t0|0)<(d|0),g;)L=d,Z=t0;if(p=e[N>>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,x=(_|0)<(Q|0),x;)A0=_;M=e[B>>2]|0,E2(M),E2(t)}}function Jb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=0;if(d0=C,g=e[t>>2]|0,H2(o,g,24),d=t+4|0,Q=e[d>>2]|0,H2(o,Q,24),Z=t+8|0,Y=e[Z>>2]|0,h0=Y+-1|0,H2(o,h0,24),i0=t+12|0,e0=e[i0>>2]|0,u0=e0+-1|0,H2(o,u0,6),c0=t+20|0,p=e[c0>>2]|0,H2(o,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,w=V8(k)|0,_=(w|0)>3,x=e[D>>2]|0,_?(H2(o,x,3),H2(o,1,1),M=e[D>>2]|0,L=M>>3,H2(o,L,5)):H2(o,x,4),F=e[D>>2]|0,N=(F|0)==0,N)g0=0;else for(a=F,I0=0;;)if(O=a&1,H=O+I0|0,V=a>>>1,J=(V|0)==0,J){g0=H;break}else a=V,I0=H;if(t0=g0+$0|0,A0=X+1|0,j=e[i0>>2]|0,n0=(A0|0)<(j|0),n0)$0=t0,X=A0;else{$=t0;break}}if(B=($|0)>0,!!B)for(b=t+280|0,m0=0;s0=b+(m0<<2)|0,K=e[s0>>2]|0,H2(o,K,8),o0=m0+1|0,l0=(o0|0)==($|0),!l0;)m0=o0}}function Kb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0;a1=C,p=ce(1,2840)|0,I=t+28|0,M=e[I>>2]|0,j=n4(o,24)|0,e[p>>2]=j,$0=n4(o,24)|0,y0=p+4|0,e[y0>>2]=$0,U0=n4(o,24)|0,j0=U0+1|0,Y0=p+8|0,e[Y0>>2]=j0,s1=n4(o,6)|0,E=s1+1|0,y=p+12|0,e[y>>2]=E,B=n4(o,8)|0,b=p+20|0,e[b>>2]=B,D=(B|0)<0;e:do if(D)c1=26;else{if(k=(s1|0)>-1,k){for(w=p+24|0,n1=0,d1=0;;){if(x=n4(o,3)|0,L=n4(o,1)|0,F=(L|0)<0,F){c1=26;break e}if(N=(L|0)==0,N)L0=x;else{if(O=n4(o,5)|0,H=(O|0)<0,H){c1=26;break e}V=O<<3,J=V|x,L0=J}if(t0=w+(d1<<2)|0,e[t0>>2]=L0,Z=(L0|0)==0,Z)h1=0;else for($=L0,A1=0;;)if(A0=$&1,n0=A0+A1|0,s0=$>>>1,K=(s0|0)==0,K){h1=n0;break}else $=s0,A1=n0;if(o0=h1+n1|0,Y=d1+1|0,h0=e[y>>2]|0,i0=(Y|0)<(h0|0),i0)n1=o0,d1=Y;else{d=o0;break}}if(_=(d|0)>0,_)for(Q=p+280|0,u1=0;;){if(e0=n4(o,8)|0,u0=(e0|0)<0,u0)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=M+24|0,I0=e[g0>>2]|0,r0=(m0|0)<(I0|0),r0){if(q0)for(d0=p+280|0,p1=0;;){if(b0=d0+(p1<<2)|0,D0=e[b0>>2]|0,E0=(D0|0)<(I0|0),!E0||(Q0=(M+1824|0)+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0+12|0,x0=e[B0>>2]|0,Z0=(x0|0)==0,p0=p1+1|0,Z0))break e;if(C0=(p0|0)<(z0|0),C0)p1=p0;else break}if(R0=(M+1824|0)+(m0<<2)|0,v0=e[R0>>2]|0,N0=v0+4|0,O0=e[N0>>2]|0,H0=e[v0>>2]|0,S0=(H0|0)<1,!S0){for(J0=e[y>>2]|0,o1=H0,f1=1;;){if(P0=o5(J0,f1)|0,W0=(P0|0)>(O0|0),W0)break e;if(T0=o1+-1|0,M0=(o1|0)>1,M0)o1=T0,f1=P0;else{g=P0;break}}return K0=p+16|0,e[K0>>2]=g,a=p,a|0}}}while(!1);return(c1|0)==26&&(V0=(p|0)==0,V0)?(a=0,a|0):(E2(p),a=0,a|0)}function Wb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0;if(k1=C,d=ce(1,44)|0,p=t+4|0,x=e[p>>2]|0,A0=x+28|0,c0=e[A0>>2]|0,e[d>>2]=o,b0=o+12|0,N0=e[b0>>2]|0,V0=d+4|0,e[V0>>2]=N0,s1=c0+2848|0,z0=e[s1>>2]|0,I=d+12|0,e[I>>2]=z0,E=z0,y=o+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,w=ce(N0,4)|0,_=d+20|0,e[_>>2]=w,Q=(N0|0)>0,Q)for(M=o+24|0,L=o+280|0,n1=0,h1=0,m1=0;;){if(F=M+(h1<<2)|0,N=e[F>>2]|0,O=V8(N)|0,H=(O|0)==0,H)d1=n1,Q1=m1;else if(V=(O|0)>(m1|0),$=V?O:m1,J=ce(O,4)|0,t0=w+(h1<<2)|0,e[t0>>2]=J,Z=(O|0)>0,Z)for(j=e[F>>2]|0,n0=w+(h1<<2)|0,L0=n1,$1=0;;)if(s0=1<<$1,K=j&s0,o0=(K|0)==0,o0?o1=L0:(Y=e[s1>>2]|0,h0=L0+1|0,i0=L+(L0<<2)|0,e0=e[i0>>2]|0,u0=Y+(e0*56|0)|0,$0=e[n0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=h0),X=$1+1|0,p1=(X|0)==(O|0),p1){d1=o1,Q1=$;break}else L0=o1,$1=X;else d1=n1,Q1=$;if(m0=h1+1|0,g0=(m0|0)<(N0|0),g0)n1=d1,h1=m0,m1=Q1;else{B1=Q1;break}}else B1=0;if(I0=d+24|0,e[I0>>2]=1,r0=(k|0)>0,r0){for(p0=1,A1=0;;)if(d0=o5(p0,N0)|0,C0=A1+1|0,u1=(C0|0)==(k|0),u1){a=d0;break}else p0=d0,A1=C0;e[I0>>2]=a,E0=a}else E0=1;if(y0=d+8|0,e[y0>>2]=B1,D0=E0<<2,Q0=R9(D0)|0,w0=d+28|0,e[w0>>2]=Q0,B0=(E0|0)>0,!B0)return d|0;if(x0=k<<2,!r0){for(c1=0;K0=R9(x0)|0,j0=Q0+(c1<<2)|0,e[j0>>2]=K0,q0=c1+1|0,Y0=(q0|0)<(E0|0),Y0;)c1=q0;return d|0}for(Z0=e[w0>>2]|0,a1=0;;){for(M0=R9(x0)|0,P0=Q0+(a1<<2)|0,e[P0>>2]=M0,W0=Z0+(a1<<2)|0,J0=e[W0>>2]|0,g=E0,X0=0,y1=a1;C1=(g|0)/(N0|0)&-1,U0=(y1|0)/(C1|0)&-1,O0=o5(U0,C1)|0,H0=y1-O0|0,S0=J0+(X0<<2)|0,e[S0>>2]=U0,T0=X0+1|0,f1=(T0|0)==(k|0),!f1;)g=C1,X0=T0,y1=H0;if(R0=a1+1|0,v0=(R0|0)<(E0|0),v0)a1=R0;else break}return d|0}function Zb(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0;if(N=C,d=(g|0)>0,d)Q=0,x=0;else return 0;for(;;)if(p=$+(Q<<2)|0,I=e[p>>2]|0,E=(I|0)==0,E?M=x:(y=a+(Q<<2)|0,B=e[y>>2]|0,b=x+1|0,D=a+(x<<2)|0,e[D>>2]=B,M=b),k=Q+1|0,_=(k|0)==(g|0),_){L=M;break}else Q=k,x=M;return w=(L|0)==0,w||Py(t,o,a,L,2),0}function jb(t,o,a,$,g,d,p,I){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0;if(V=C,E=(d|0)>0,E)L=0,F=0;else return 0;for(;;)if(y=g+(L<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b?N=F:(D=$+(L<<2)|0,k=e[D>>2]|0,w=F+1|0,_=$+(F<<2)|0,e[_>>2]=k,N=w),Q=L+1|0,M=(Q|0)==(d|0),M){O=N;break}else L=Q,F=N;return x=(O|0)==0,x||Oy(t,a,$,O,p),0}function Xb(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,I=(g|0)>0,I)o1=0,m1=0;else return d=0,d|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,n0=(L|0)==0,n0?Q1=m1:(l0=a+(o1<<2)|0,D0=e[l0>>2]|0,O0=m1+1|0,W0=a+(m1<<2)|0,e[W0>>2]=D0,Q1=O0),K0=o1+1|0,Y0=(K0|0)==(g|0),Y0){C1=Q1;break}else o1=K0,m1=Q1;if(V0=(C1|0)==0,V0)return d=0,d|0;if(y=e[o>>2]|0,B=y+8|0,b=e[B>>2]|0,D=y+12|0,k=e[D>>2]|0,w=y+4|0,_=e[w>>2]|0,Q=e[y>>2]|0,x=_-Q|0,M=(x|0)/(b|0)&-1,F=C1<<2,N=W8(t,F)|0,O=+(b|0),H=100/O,V=H,J=(C1|0)>0,J)for(t0=M<<2,d1=0;K=W8(t,t0)|0,o0=N+(d1<<2)|0,e[o0>>2]=K,g4(K|0,0,t0|0)|0,Y=d1+1|0,L0=(Y|0)==(C1|0),!L0;)d1=Y;if(Z=(M|0)>0,Z)for(A0=(b|0)>0,j=k+-1|0,s0=(k|0)>1,u1=0;;){if(h0=o5(u1,b)|0,i0=e[y>>2]|0,e0=i0+h0|0,J)for(f1=0;;){if(A0)for(u0=a+(f1<<2)|0,c0=e[u0>>2]|0,q0=0,h1=0,$1=0;;)if($0=e0+h1|0,X=c0+($0<<2)|0,m0=e[X>>2]|0,p1=(m0|0)>-1,X0=0-m0|0,g0=p1?m0:X0,I0=(g0|0)>($1|0),p=I0?g0:$1,r0=g0+q0|0,d0=h1+1|0,s1=(d0|0)==(b|0),s1){j0=r0,a1=p;break}else q0=r0,h1=d0,$1=p;else j0=0,a1=0;p0=+(j0|0),C0=p0*V,b0=~~C0;e:do if(s0)for(c1=0;;){if(y0=(y+2328|0)+(c1<<2)|0,E0=e[y0>>2]|0,Q0=(a1|0)>(E0|0),!Q0&&(w0=(y+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,x0=(B0|0)<0,Z0=(b0|0)<(B0|0),B1=x0|Z0,B1)){A1=c1;break e}if(R0=c1+1|0,v0=(R0|0)<(j|0),v0)c1=R0;else{A1=R0;break}}else A1=0;while(!1);if(N0=N+(f1<<2)|0,U0=e[N0>>2]|0,H0=U0+(u1<<2)|0,e[H0>>2]=A1,S0=f1+1|0,z0=(S0|0)==(C1|0),z0)break;f1=S0}if(J0=u1+1|0,n1=(J0|0)==(M|0),n1)break;u1=J0}return T0=o+40|0,M0=e[T0>>2]|0,P0=M0+1|0,e[T0>>2]=P0,d=N,d|0}function eD(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0;if(N=C,d=(g|0)>0,d)Q=0,x=0;else return 0;for(;;)if(p=$+(Q<<2)|0,I=e[p>>2]|0,E=(I|0)==0,E?M=x:(y=a+(Q<<2)|0,B=e[y>>2]|0,b=x+1|0,D=a+(x<<2)|0,e[D>>2]=B,M=b),k=Q+1|0,_=(k|0)==(g|0),_){L=M;break}else Q=k,x=M;return w=(L|0)==0,w||Py(t,o,a,L,3),0}function tD(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=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,s0=f1&1,A1=s0+a1|0,X=P0+1|0,J0=(X|0)==(g|0),J0){c1=A1;break}else P0=X,a1=A1;if(h1=(c1|0)==0,h1)return d=0,d|0;if(E0=e[o>>2]|0,Z0=E0+8|0,R0=e[Z0>>2]|0,v0=E0+12|0,N0=e[v0>>2]|0,B=E0+4|0,b=e[B>>2]|0,D=e[E0>>2]|0,k=b-D|0,w=(k|0)/(R0|0)&-1,_=W8(t,4)|0,Q=w<<2,x=W8(t,Q)|0,e[_>>2]=x,g4(x|0,0,Q|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,N=(L|0)/(g|0)&-1,O=(R0|0)>0,H=N0+-1|0,V=(N0|0)>1,J=e[_>>2]|0,t0=(g|0)>1,W0=0,z0=N;;){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,K0=(j|0)>-1,u1=0-j|0,n0=K0?j:u1,K=(n0|0)>(d1|0),I=K?n0:d1,t0)for(S0=O0,s1=1;;)if(o0=a+(s1<<2)|0,Y=e[o0>>2]|0,h0=Y+(L0<<2)|0,i0=e[h0>>2]|0,V0=(i0|0)>-1,p1=0-i0|0,e0=V0?i0:p1,u0=(e0|0)>(S0|0),p=u0?e0:S0,c0=s1+1|0,T0=(c0|0)==(g|0),T0){H0=p;break}else S0=p,s1=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,n1=$0,o1=I;break}}else U0=0,n1=z0,o1=0;e:do if(V)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,I0=e[g0>>2]|0,r0=(o1|0)>(I0|0),!r0&&(d0=(E0+2584|0)+(Y0<<2)|0,p0=e[d0>>2]|0,C0=(U0|0)>(p0|0),!C0)){q0=Y0;break e}if(b0=Y0+1|0,y0=(b0|0)<(H|0),y0)Y0=b0;else{q0=b0;break}}else q0=0;while(!1);if(D0=J+(W0<<2)|0,e[D0>>2]=q0,Q0=W0+1|0,M0=(Q0|0)==(w|0),M0)break;W0=Q0,z0=n1}return w0=o+40|0,B0=e[w0>>2]|0,x0=B0+1|0,e[w0>>2]=x0,d=_,d|0}function iD(t,o,a,$,g,d,p,I){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0;if(c0=C,C=C+16|0,e0=c0,E=o+36|0,y=e[E>>2]|0,F=(y|0)/2&-1,N=d<<2,O=o5(N,F)|0,H=W8(o,O)|0,e[e0>>2]=H,V=(d|0)>0,!V)return C=c0,0;for(J=(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,K=(b|0)!=0,D=K&1,Y=D+i0|0,J)for(n0=0,s0=j;k=Z+(n0<<2)|0,w=e[k>>2]|0,_=H+(s0<<2)|0,e[_>>2]=w,Q=n0+1|0,x=s0+d|0,M=(Q|0)<(F|0),M;)n0=Q,s0=x;if(L=j+1|0,A0=(L|0)==(d|0),A0){h0=Y;break}else j=L,i0=Y}return o0=(h0|0)==0,o0?(C=c0,0):(Oy(t,a,e0,1,p),C=c0,0)}function nD(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;if(S1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,n0=o+16|0,l0=e[n0>>2]|0,D0=e[l0>>2]|0,O0=t+36|0,q0=e[O0>>2]|0,h1=o5(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,w=(k|0)>0,!w)return 0;_=(k|0)/(L|0)&-1,Q=D0+-1|0,x=Q+_|0,M=(x|0)/(D0|0)&-1,F=M<<2,N=W8(t,F)|0,O=(g|0)>0;e:do if(O)for(a1=0;;){if(H=$+(a1<<2)|0,V=e[H>>2]|0,J=(V|0)==0,!J){c1=a1;break e}if(t0=a1+1|0,Z=(t0|0)<(g|0),Z)a1=t0;else{c1=t0;break}}else c1=0;while(!1);if(A0=(c1|0)==(g|0),A0||(j=o+8|0,s0=e[j>>2]|0,K=(s0|0)>0,!K))return 0;o0=(_|0)>0,Y=t+4|0,h0=I+16|0,i0=o+28|0,e0=(D0|0)>0,u0=o+20|0,f1=s0,v1=0;e:for(;;){if(o0){for(c0=(v1|0)==0,$0=1<>2]|0,m0=$E(X,Y)|0,g0=(m0|0)==-1,g0){k1=23;break e}if(I0=e[h0>>2]|0,r0=(m0|0)<(I0|0),!r0){k1=23;break e}if(d0=e[i0>>2]|0,p0=d0+(m0<<2)|0,C0=e[p0>>2]|0,b0=N+(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=N+(Q1<<2)|0,B1=$1,m1=0;;){if(w0=e[Q0>>2]|0,B0=w0+(m1<<2)|0,x0=e[B0>>2]|0,Z0=(I+24|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0&$0,N0=(v0|0)==0,!N0&&(U0=e[u0>>2]|0,H0=U0+(x0<<2)|0,S0=e[H0>>2]|0,J0=S0+(v1<<2)|0,T0=e[J0>>2]|0,M0=(T0|0)==0,!M0&&(P0=o5(B1,L)|0,W0=e[I>>2]|0,K0=W0+P0|0,V0=$b(T0,a,K0,g,Y,L)|0,j0=(V0|0)==-1,j0))){k1=23;break e}if(Y0=m1+1|0,s1=B1+1|0,z0=(Y0|0)<(D0|0),n1=(s1|0)<(_|0),C1=z0&n1,C1)B1=s1,m1=Y0;else{X0=s1;break}}else X0=$1;if(L0=Q1+1|0,o1=(X0|0)<(_|0),o1)$1=X0,Q1=L0;else break}p=e[j>>2]|0,p1=p}else p1=f1;if(d1=v1+1|0,u1=(d1|0)<(p1|0),u1)f1=p1,v1=d1;else{k1=23;break}}return(k1|0)==23,0}function Py(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0;if(t2=C,y=e[o>>2]|0,B=y+8|0,N=e[B>>2]|0,K=o+16|0,m0=e[K>>2]|0,Q0=e[m0>>2]|0,S0=t+36|0,s1=e[S0>>2]|0,c1=s1>>1,S1=y+4|0,b=e[S1>>2]|0,D=(b|0)<(c1|0),d=D?b:c1,k=e[y>>2]|0,w=d-k|0,_=(w|0)>0,!_){C=t2;return}if(Q=(w|0)/(N|0)&-1,x=$<<2,p=x,M=C,C=C+((1*p|0)+15&-16)|0,L=($|0)>0,L)for(F=Q0+-1|0,O=F+Q|0,H=(O|0)/(Q0|0)&-1,V=H<<2,U1=0;h0=W8(t,V)|0,i0=M+(U1<<2)|0,e[i0>>2]=h0,e0=U1+1|0,M1=(e0|0)==($|0),!M1;)U1=e0;if(J=o+8|0,t0=e[J>>2]|0,Z=(t0|0)>0,!Z){C=t2;return}A0=(Q|0)>0,j=t+4|0,n0=y+16|0,s0=o+28|0,o0=(Q0|0)>0,Y=o+20|0,E=L^1,V1=0;e:for(;;){if(A0)for(u0=1<>2]|0,z0=$E(Y0,j)|0,n1=(z0|0)==-1,n1){Y1=25;break e}if(L0=e[n0>>2]|0,o1=(z0|0)<(L0|0),!o1){Y1=25;break e}if(d1=e[s0>>2]|0,u1=d1+(z0<<2)|0,p1=e[u1>>2]|0,f1=M+(D1<<2)|0,h1=e[f1>>2]|0,A1=h1+(x1<<2)|0,e[A1>>2]=p1,a1=(p1|0)==0,j0=D1+1|0,a1){Y1=25;break e}if(q0=(j0|0)<($|0),q0)D1=j0;else break}c0=(b1|0)<(Q|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,X1=0;;)if($1=X1+1|0,X0=R1+1|0,B1=($1|0)<(Q0|0),m1=(X0|0)<(Q|0),K1=B1&m1,K1)R1=X0,X1=$1;else{_1=X0;break t}for(;;){for(d0=o5(F1,N)|0,P1=0;;){if(I0=e[y>>2]|0,r0=I0+d0|0,p0=M+(P1<<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&u0,Z0=(x0|0)==0,!Z0&&(R0=e[Y>>2]|0,v0=R0+(E0<<2)|0,N0=e[v0>>2]|0,U0=N0+(V1<<2)|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0&&(J0=a+(P1<<2)|0,T0=e[J0>>2]|0,M0=T0+(r0<<2)|0,P0=OC[g&3](O0,M0,j,N)|0,W0=(P0|0)==-1,W0))){Y1=25;break e}if(K0=P1+1|0,V0=(K0|0)<($|0),V0)P1=K0;else break}if($0=G1+1|0,l0=F1+1|0,X=($0|0)<(Q0|0),g0=(l0|0)<(Q|0),q1=X&g0,q1)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=V1+1|0,v1=e[J>>2]|0,k1=(y1|0)<(v1|0),k1)V1=y1;else{Y1=25;break}}if((Y1|0)==25){C=t2;return}}function Oy(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,U5=Q6+1024|0,J6=Q6+512|0,A3=Q6,Q=e[o>>2]|0,x=Q+8|0,c2=e[x>>2]|0,J2=Q+12|0,j2=e[J2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,I5=e[T1>>2]|0,d3=Q+4|0,H3=e[d3>>2]|0,M=e[Q>>2]|0,j=H3-M|0,$0=(j|0)/(c2|0)&-1,g4(J6|0,0,512)|0,g4(A3|0,0,512)|0,y0=o+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,s2=o+36|0,r2=(I5|0)>0,D2=o+20|0,S2=o+32|0,y2=0-I5|0,k2=U0,g6=0;;){if(f1){for(G2=(g6|0)==0,M2=1<>2]|0,q5=L5+(j5<<2)|0,M5=e[q5>>2]|0,z2=e[Q5>>2]|0,C5=z2+4|0,$5=e[C5>>2]|0,h5=(M5|0)<($5|0),h5&&(w5=Ou(z2,M5,t)|0,_5=e[s2>>2]|0,d5=_5+w5|0,e[s2>>2]=d5),l5=v6+1|0,l6=(l5|0)==($|0),l6)break e;v6=l5}for(;;){for(b2=g+(R3<<2)|0,p5=e[b2>>2]|0,y5=p5+(j5<<2)|0,s5=e[y5>>2]|0,B6=1,$6=s5;;)if(t5=o5($6,j2)|0,T5=B6+j5|0,i5=(T5|0)<($0|0),i5?(x5=p5+(T5<<2)|0,D5=e[x5>>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[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[s2>>2]|0,Y2=A5+Z2|0,e[s2>>2]=Y2),N1=R3+1|0,D3=(N1|0)==($|0),D3)break;R3=N1}}while(!1);if(F2=(j5|0)<($0|0),R6=r2&F2,R6){for(R2=j5-$0|0,Q2=R2>>>0>>0,H6=Q2?y2:R2,N5=0-H6|0,d6=j5,K3=0;;){if(X2=o5(d6,c2)|0,d2=e[Q>>2]|0,v5=d2+X2|0,y1)for(s6=0;;){if(n5=g+(s6<<2)|0,a5=e[n5>>2]|0,f5=a5+(d6<<2)|0,K2=e[f5>>2]|0,G2&&(r5=A3+(K2<<2)|0,R5=e[r5>>2]|0,e5=R5+c2|0,e[r5>>2]=e5),c5=(Q+24|0)+(K2<<2)|0,T2=e[c5>>2]|0,k5=T2&M2,z5=(k5|0)==0,!z5&&(i3=e[D2>>2]|0,B5=i3+(K2<<2)|0,I3=e[B5>>2]|0,W5=I3+(g6<<2)|0,n3=e[W5>>2]|0,a3=(n3|0)==0,!a3)){if(y3=a+(s6<<2)|0,G5=e[y3>>2]|0,Z5=e[n3>>2]|0,x3=(c2|0)/(Z5|0)&-1,f3=(x3|0)>0,f3){for(w3=n3+48|0,e6=n3+52|0,X5=n3+44|0,_3=n3+12|0,t3=n3+4|0,L=Z5,b5=0,h3=0;;){a6=o5(h3,Z5)|0,D=a6+v5|0,G3=G5+(D<<2)|0,V3=e[w3>>2]|0,c3=e[e6>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,F=(L|0)>0;do if(Q3){if(!F){r6=0;break}for(V=g3+-1|0,m3=0,S6=0,W3=L;;)if(C0=W3+-1|0,_=D+C0|0,b0=G5+(_<<2)|0,D0=e[b0>>2]|0,E0=D0-V3|0,Q0=(E0|0)<(u3|0),Q0?(w0=u3-E0|0,B0=w0<<1,x0=B0+-1|0,N0=x0):(Z0=E0-u3|0,R0=Z0<<1,N0=R0),v0=o5(S6,g3)|0,O0=(N0|0)<0,H0=(N0|0)>=(g3|0),S0=H0?V:N0,J0=O0?0:S0,T0=J0+v0|0,M0=o3+(C0<<2)|0,e[M0>>2]=D0,P0=m3+1|0,n6=(P0|0)==(L|0),n6){r6=T0;break}else m3=P0,S6=T0,W3=C0}else{if(!F){r6=0;break}for(N=c3>>1,O=N-V3|0,H=g3+-1|0,M3=0,M6=0,F3=L;;)if(J=F3+-1|0,w=D+J|0,t0=G5+(w<<2)|0,Z=e[t0>>2]|0,A0=O+Z|0,n0=(A0|0)/(c3|0)&-1,s0=(n0|0)<(u3|0),s0?(K=u3-n0|0,o0=K<<1,Y=o0+-1|0,u0=Y):(h0=n0-u3|0,i0=h0<<1,u0=i0),e0=o5(M6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),X=l0?H:u0,m0=c0?0:X,g0=m0+e0|0,I0=o5(n0,c3)|0,r0=I0+V3|0,d0=o3+(J<<2)|0,e[d0>>2]=r0,p0=M3+1|0,z3=(p0|0)==(L|0),z3){r6=g0;break}else M3=p0,M6=g0,F3=J}while(!1);W0=e[_3>>2]|0,K0=W0+8|0,V0=e[K0>>2]|0,q0=V0+r6|0,Y0=f[q0>>0]|0,s1=Y0<<24>>24<1;do if(s1){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,n1=o5(z0,c3)|0,L0=n1+V3|0,o1=e[t3>>2]|0,d1=(o1|0)>0,d1)J5=-1,x6=0,f6=r6;else{N6=r6;break}for(;;){u1=V0+x6|0,p1=f[u1>>0]|0,h1=p1<<24>>24>0;do if(h1){if(F)for(j6=0,T3=0;;)if(A1=U5+(j6<<2)|0,c1=e[A1>>2]|0,k=D+j6|0,a1=G5+(k<<2)|0,$1=e[a1>>2]|0,X0=c1-$1|0,B1=o5(X0,X0)|0,m1=B1+T3|0,Q1=j6+1|0,A6=(Q1|0)==(L|0),A6){y6=m1;break}else j6=Q1,T3=m1;else y6=0;if(C1=(J5|0)==-1,v1=(y6|0)<(J5|0),t6=C1|v1,!t6){H5=J5,b6=f6;break}e[o3>>2]=e[U5>>2]|0,e[o3+4>>2]=e[U5+4>>2]|0,e[o3+8>>2]=e[U5+8>>2]|0,e[o3+12>>2]=e[U5+12>>2]|0,e[o3+16>>2]=e[U5+16>>2]|0,e[o3+20>>2]=e[U5+20>>2]|0,e[o3+24>>2]=e[U5+24>>2]|0,e[o3+28>>2]=e[U5+28>>2]|0,H5=y6,b6=x6}else H5=J5,b6=f6;while(!1);if(k1=e[U5>>2]|0,S1=(k1|0)<(L0|0),S1)p=U5,I=k1;else for(M1=U5,o6=0;;)if(L1=o6+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,o6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[p>>2]=U1,X1=U1):X1=I,P1=0-X1|0,e[p>>2]=P1,G1=x6+1|0,r3=(G1|0)==(o1|0),r3){N6=b6;break}else J5=H5,x6=G1,f6=b6}}else N6=r6;while(!1);if(x1=(N6|0)>-1,c6=F&x1,c6)for(d=G3,L6=0;K1=o3+(L6<<2)|0,q1=e[K1>>2]|0,H1=d+4|0,V1=e[d>>2]|0,Y1=V1-q1|0,e[d>>2]=Y1,t2=L6+1|0,l3=(t2|0)==(L|0),!l3;)d=H1,L6=t2;if(e2=Ou(n3,N6,t)|0,O1=e2+b5|0,h2=h3+1|0,U3=(h2|0)==(x3|0),U3){E=O1;break}y=e[n3>>2]|0,L=y,b5=O1,h3=h2}B=e[n5>>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=J6+($2<<2)|0,f2=e[W1>>2]|0,g2=f2+Y5|0,e[W1>>2]=g2}if(o2=s6+1|0,C6=(o2|0)==($|0),C6)break;s6=o2}if(l2=K3+1|0,i2=d6+1|0,b3=(l2|0)==(N5|0),b3)break;d6=i2,K3=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,n2=b}else n2=k2;if(a2=g6+1|0,m2=(a2|0)<(n2|0),m2)k2=n2,g6=a2;else break}C=Q6}function V8(t){t=t|0;var o=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(o=t,I=0;;)if($=o>>>1,g=I+1|0,d=($|0)==0,d){p=g;break}else o=$,I=g;return p|0}function qy(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0;f2=C,C=C+144|0,O1=f2,E=(a|0)!=0,y=E?a:o,F=y<<2,s0=R9(F)|0,g4(O1|0,0,132)|0,X=(o|0)>0;do if(X){E0=O1+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=O1+(B<<2)|0,k=e[D>>2]|0,w=v1<<24>>24>31,_=k>>>B,Q=(_|0)==0,h2=w|Q,!h2){W1=5;break e}x=s0+(k1<<2)|0,e[x>>2]=k,M=O1+(B<<2)|0,L=k&1,N=(L|0)==0;i:do if(N)for(K=k,o0=M,K1=B;;){if(n0=K+1|0,e[o0>>2]=n0,Y=K1+-1|0,h0=(K1|0)>1,!h0)break i;if(d=O1+(Y<<2)|0,I=e[d>>2]|0,i0=O1+(Y<<2)|0,e0=I&1,u0=(e0|0)==0,u0)K=I,o0=i0,K1=Y;else{g=i0,x1=Y,W1=8;break}}else g=M,x1=B,W1=8;while(!1);do if((W1|0)==8)if(W1=0,H=(x1|0)==1,H){V=e[E0>>2]|0,J=V+1|0,e[E0>>2]=J;break}else{t0=x1+-1|0,Z=O1+(t0<<2)|0,A0=e[Z>>2]|0,j=A0<<1,e[g>>2]=j;break}while(!1);if(Y1=B+1|0,O=(Y1|0)<33,O)for(R1=k,H1=B,t2=Y1;;){if(c0=O1+(t2<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){p=1;break t}if(g0=O1+(H1<<2)|0,I0=e[g0>>2]|0,r0=I0<<1,e[c0>>2]=r0,q1=t2+1|0,d0=(q1|0)<33,d0)V1=t2,R1=$0,t2=q1,H1=V1;else{p=1;break}}else p=1}else p=Y0;while(!1);if(S1=k1+p|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)k1=S1,D1=p0;else{L1=S1,W1=16;break}}if((W1|0)==5)return E2(s0),$=0,C=f2,$|0;if((W1|0)==16){if(Z1=(L1|0)==1,!Z1){P1=1,W1=27;break}if(b0=O1+8|0,y0=e[b0>>2]|0,D0=(y0|0)==2,D0)break;P1=1,W1=27;break}}else P1=1,W1=27;while(!1);e:do if((W1|0)==27){for(;W1=0,j0=O1+(P1<<2)|0,q0=e[j0>>2]|0,s1=32-P1|0,z0=-1>>>s1,n1=q0&z0,L0=(n1|0)==0,K0=P1+1|0,!!L0;)if(V0=(K0|0)<33,V0)P1=K0,W1=27;else break e;return E2(s0),$=0,C=f2,$|0}while(!1);if(!X)return $=s0,C=f2,$|0;if(E)b1=0,G1=0;else{for(M1=0,X1=0;;){if(o1=t+X1|0,d1=f[o1>>0]|0,u1=d1<<24>>24>0,u1)for(p1=s0+(M1<<2)|0,f1=e[p1>>2]|0,h1=d1<<24>>24,s2=0,C2=0;;)if(c1=C2<<1,a1=f1>>>s2,$1=a1&1,X0=$1|c1,B1=s2+1|0,m1=(B1|0)<(h1|0),m1)s2=B1,C2=X0;else{I2=X0;break}else I2=0;if(Q1=M1+1|0,C1=s0+(M1<<2)|0,e[C1>>2]=I2,y1=X1+1|0,F1=(y1|0)==(o|0),F1){$=s0;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=s0+(b1<<2)|0,O0=e[W0>>2]|0,P0=w0<<24>>24,e2=0,$2=0;;)if(N0=$2<<1,U0=O0>>>e2,S0=U0&1,J0=S0|N0,T0=e2+1|0,M0=(T0|0)<(P0|0),M0)e2=T0,$2=J0;else{A2=J0;break}else A2=0;if(x0=w0<<24>>24==0,x0?_1=b1:(Z0=b1+1|0,R0=s0+(b1<<2)|0,e[R0>>2]=A2,_1=Z0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=f2,$|0}function rD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0;if(K=C,$=t+4|0,g=e[$>>2]|0,_=e[t>>2]|0,Q=(_|0)>0,!Q)for(;;);for(x=+(g|0),M=x,L=+(_|0),F=1/L,N=F,O=+Gu(+M,+N),d=+aA(+O),p=~~d,Z=p;;){for(D=Z+1|0,H=1,V=1,J=0;;)if(B=o5(H,Z)|0,b=o5(V,D)|0,k=J+1|0,w=(k|0)<(_|0),w)H=B,V=b,J=k;else{o=B,a=b;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),t0=I&E,t0){n0=Z;break}y=(o|0)>(g|0),j=y?-1:1,A0=Z+j|0,Z=A0}return n0|0}function oD(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=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,r5=E>>>0<2,!r5)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=+gE($,b),o0=O,g0=t+20|0,w0=e[g0>>2]|0,J0=w0&2097151,j0=+(J0|0),q0=w0>>>21,Y0=q0&1023,s1=(w0|0)<0,n1=-j0,g=s1?n1:j0,L0=Y0+-788|0,o1=+gE(g,L0),d1=o1,u1=e[t>>2]|0,p1=o5(u1,o)|0,f1=ce(p1,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,U1=+Gu(+b1,+F1),D1=+aA(+U1),P1=~~D1,c5=P1;;){for(I2=c5+1|0,s5=1,F2=1,C5=0;;)if(O1=o5(s5,c5)|0,h2=o5(F2,I2)|0,A2=C5+1|0,E5=(A2|0)==(u1|0),E5){p=O1,I=h2;break}else s5=O1,F2=h2,C5=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,R5=e5+c5|0,c5=R5}if(K1=(k1|0)>0,!K1)return d=f1,d|0;for(q1=(a|0)==0,H1=t+8|0,V1=t+32|0,Y1=d1,t2=o0,s2=t+28|0,R2=0,T1=0;;){if(q1)if(c2=e[V1>>2]|0,r2=e[s2>>2]|0,g2=(r2|0)==0,o2=o5(u1,R2)|0,g2)for(w5=1,X2=0;;)if(x5=(T1|0)/(w5|0)&-1,j2=(x5|0)%(T2|0)&-1,p5=c2+(j2<<2)|0,D5=e[p5>>2]|0,V5=+(D5|0),z2=+on(+V5),u5=z2,b2=u5*Y1,y5=t2+b2,D=y5,k=o2+X2|0,w=f1+(k<<2)|0,s[w>>2]=D,_=o5(w5,T2)|0,Q=X2+1|0,x=(Q|0)<(u1|0),x)w5=_,X2=Q;else{k5=21;break}else for($5=1,d5=0,n5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(T2|0)&-1,F=c2+(L<<2)|0,N=e[F>>2]|0,H=+(N|0),q5=+on(+H),V=q5,J=V*Y1,t0=n5,Z=t0+t2,A0=Z+J,j=A0,n0=o2+d5|0,s0=f1+(n0<<2)|0,s[s0>>2]=j,K=o5($5,T2)|0,Y=d5+1|0,h0=(Y|0)<(u1|0),h0)$5=K,d5=Y,n5=j;else{k5=21;break}else if(C2=e[H1>>2]|0,$2=C2+T1|0,W1=f[$2>>0]|0,f2=W1<<24>>24==0,f2)Q2=R2;else for(i2=e[V1>>2]|0,a2=e[s2>>2]|0,m2=(a2|0)==0,n2=a+(R2<<2)|0,k2=e[n2>>2]|0,D2=o5(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),M5=+on(+p2),W2=M5,q2=W2*Y1,J2=a5,U2=J2+t2,V2=U2+q2,Z2=V2,v5=m2?a5:Z2,A5=D2+l5|0,Y2=f1+(A5<<2)|0,s[Y2>>2]=Z2,N1=o5(h5,T2)|0,T5=l5+1|0,i5=(T5|0)<(u1|0),i5)h5=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,u0=(e0|0)<(k1|0),u0)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,c1=(A1|0)>0,!c1)return d=f1,d|0;for($1=(a|0)!=0,X0=t+8|0,B1=t+32|0,m1=d1,Q1=o0,C1=t+28|0,y1=(u1|0)>0,Q5=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=Q5:k5=25):k5=25,(k5|0)==25){if(k5=0,y1)for(m0=e[B1>>2]|0,I0=e[C1>>2]|0,r0=(I0|0)==0,d0=a+(Q5<<2)|0,p0=o5(u1,_5)|0,C0=o5(u1,Q5)|0,d2=0,K2=0;b0=p0+d2|0,y0=m0+(b0<<2)|0,D0=e[y0>>2]|0,E0=+(D0|0),L5=+on(+E0),Q0=L5,B0=Q0*m1,x0=K2,Z0=x0+Q1,R0=Z0+B0,v0=R0,f5=r0?K2:v0,$1?(N0=e[d0>>2]|0,U0=o5(N0,u1)|0,O0=U0+d2|0,H0=f1+(O0<<2)|0,s[H0>>2]=v0):(S0=C0+d2|0,T0=f1+(S0<<2)|0,s[T0>>2]=v0),M0=d2+1|0,P0=(M0|0)<(u1|0),P0;)d2=M0,K2=f5;W0=Q5+1|0,N5=W0}if(K0=_5+1|0,V0=(K0|0)<(A1|0),V0)Q5=N5,_5=K0;else{d=f1;break}}return d|0}else return d=f1,d|0;return 0}function NC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0;b=C,o=t+36|0,a=e[o>>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 sD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>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,w=(k|0)==0,w||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,L=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(L|0))}function Hy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=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]=o,I=o+4|0,M=e[I>>2]|0,j=t+4|0,e[j>>2]=M,$0=t+8|0,e[$0>>2]=M,y0=e[o>>2]|0,e[t>>2]=y0,x0=o+8|0,Z0=e[x0>>2]|0,R0=qy(Z0,M,0)|0,v0=t+20|0,e[v0>>2]=R0,E=e[I>>2]|0,y=e[o>>2]|0,B=(y|0)>0,!B)for(;;);for(b=+(E|0),D=b,k=+(y|0),w=1/k,_=w,Q=+Gu(+D,+_),x=+aA(+Q),L=~~x,W0=L;;){for(J=W0+1|0,N0=1,U0=1,H0=0;;)if(H=o5(N0,W0)|0,V=o5(U0,J)|0,t0=H0+1|0,O0=(t0|0)==(y|0),O0){g=H,d=V;break}else N0=H,U0=V,H0=t0;if(F=(g|0)<=(E|0),N=(d|0)>(E|0),S0=N&F,S0){K0=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]=K0,A0=o+16|0,n0=e[A0>>2]|0,s0=n0&2097151,K=+(s0|0),o0=n0>>>21,Y=o0&1023,h0=(n0|0)<0,i0=-K,a=h0?i0:K,e0=Y+-788|0,u0=+gE(a,e0),c0=u0,J0=+Wy(c0),l0=~~J0,X=t+48|0,e[X>>2]=l0,m0=o+20|0,g0=e[m0>>2]|0,I0=g0&2097151,r0=+(I0|0),d0=g0>>>21,p0=d0&1023,C0=(g0|0)<0,b0=-r0,$=C0?b0:r0,D0=p0+-788|0,E0=+gE($,D0),Q0=E0,T0=+Wy(Q0),w0=~~T0,B0=t+52|0,e[B0>>2]=w0,0}function aD(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=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=o+4|0,k=e[D>>2]|0,C2=(k|0)>0,C2)for(z2=o+8|0,v5=e[z2>>2]|0,K3=0,G6=0;;)if(k5=v5+K3|0,Z5=f[k5>>0]|0,V3=Z5<<24>>24>0,l6=V3&1,E=l6+G6|0,j5=K3+1|0,w=(j5|0)<(k|0),w)K3=j5,G6=E;else{d0=E;break}else d0=0;if(J=t+4|0,e[J>>2]=k,i0=t+8|0,e[i0>>2]=d0,Z0=e[o>>2]|0,e[t>>2]=Z0,P0=(d0|0)>0,!P0)return $=0,C=O3,$|0;if(o1=o+8|0,B1=e[o1>>2]|0,_1=qy(B1,k,d0)|0,H1=d0<<2,d=H1,$2=C,C=C+((1*d|0)+15&-16)|0,n2=(_1|0)==0,n2){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,x5=(i5|0)==0,x5||E2(i5),p5=t+28|0,D5=e[p5>>2]|0,V5=(D5|0)==0,V5||E2(D5),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(;J2=_1+(F3<<2)|0,j2=e[J2>>2]|0,Q5=j2>>>16,N5=j2<<16,E5=Q5|N5,L5=E5>>>8,q5=L5&16711935,M5=E5<<8,C5=M5&-16711936,$5=q5|C5,h5=$5>>>4,w5=h5&252645135,T1=$5<<4,_5=T1&-252645136,d5=w5|_5,l5=d5>>>2,X2=l5&858993459,d2=d5<<2,n5=d2&-858993460,a5=X2|n5,f5=a5>>>1,K2=f5&1431655765,I5=a5<<1,r5=I5&-1431655766,R5=K2|r5,e[J2>>2]=R5,e5=$2+(F3<<2)|0,e[e5>>2]=J2,c5=F3+1|0,j6=(c5|0)==(d0|0),!j6;)F3=c5;for(Hu($2,d0,4,10),p=H1,T2=C,C=C+((1*p|0)+15&-16)|0,z5=R9(H1)|0,i3=t+20|0,e[i3>>2]=z5,B5=_1,W3=0;;)if(I3=$2+(W3<<2)|0,d3=e[I3>>2]|0,W5=d3,n3=W5-B5|0,a3=n3>>2,y3=T2+(a3<<2)|0,e[y3>>2]=W3,G5=W3+1|0,N6=(G5|0)==(d0|0),N6){t6=0;break}else W3=G5;for(;x3=_1+(t6<<2)|0,f3=e[x3>>2]|0,w3=T2+(t6<<2)|0,e6=e[w3>>2]|0,H3=z5+(e6<<2)|0,e[H3>>2]=f3,X5=t6+1|0,b6=(X5|0)==(d0|0),!b6;)t6=X5;if(E2(_1),_3=oD(o,d0,T2)|0,t3=t+16|0,e[t3>>2]=_3,a6=R9(H1)|0,G3=t+24|0,e[G3>>2]=a6,c3=e[D>>2]|0,g3=(c3|0)>0,g3)for(y=e[o1>>2]|0,R6=0,Q6=0;;)if(u3=y+R6|0,Q3=f[u3>>0]|0,J5=Q3<<24>>24>0,J5?(H5=Q6+1|0,Y5=T2+(Q6<<2)|0,b5=e[Y5>>2]|0,Y3=a6+(b5<<2)|0,e[Y3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,r3=(U5|0)<(c3|0),r3)R6=U5,Q6=X6;else{e9=X6;break}else e9=0;if(l3=R9(e9)|0,U3=t+28|0,e[U3>>2]=l3,C6=t+40|0,e[C6>>2]=0,g3){for(B=e[o1>>2]|0,s5=0,L3=B,c6=0,n9=0;;)if(b3=L3+c6|0,D3=f[b3>>0]|0,A6=D3<<24>>24>0,A6?(n6=n9+1|0,z3=T2+(n9<<2)|0,M3=e[z3>>2]|0,h3=e[U3>>2]|0,J3=h3+M3|0,f[J3>>0]=D3,d6=e[o1>>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=n6):(F2=M6,R2=d6,V6=n6)):(F2=s5,R2=L3,V6=n9),r6=c6+1|0,_=e[D>>2]|0,Q=(r6|0)<(_|0),Q)s5=F2,L3=R2,c6=r6,n9=V6;else{I=F2,o9=V6;break}if(x=(o9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,F=ce(2,4)|0,N=t+32|0,e[N>>2]=F,O=F+4|0,e[O>>2]=1,e[F>>2]=1,$=0,C=O3,$|0;P3=1}else P3=o9}else P3=0;if(H=e[i0>>2]|0,V=(H|0)==0,V)U6=-4;else{for(g=H,Y6=0;;)if(t0=g>>>1,Z=Y6+1|0,A0=(t0|0)==0,A0){F6=Y6;break}else g=t0,Y6=Z;g9=F6+-3|0,U6=g9}if(j=t+36|0,n0=(U6|0)<5,a=n0?5:U6,s0=(a|0)>8,t9=s0?8:a,e[j>>2]=t9,K=1<>2]=o0,h0=(P3|0)>0,h0)for(l0=t9,o3=0;;){if(e0=e[U3>>2]|0,u0=e0+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,X=(l0|0)<($0|0),X)Q2=l0;else if(m0=e[i3>>2]|0,g0=m0+(o3<<2)|0,I0=e[g0>>2]|0,r0=I0>>>16,p0=I0<<16,C0=r0|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,N0=v0>>>2,U0=N0&858993459,O0=v0<<2,H0=O0&-858993460,S0=U0|H0,J0=S0>>>1,T0=J0&1431655765,M0=S0<<1,W0=M0&-1431655766,K0=T0|W0,V0=l0-$0|0,j0=(V0|0)==31,j0)Q2=l0;else for(q0=o3+1|0,s1=$0,A3=0;;)if(Y0=A3<>2]=q0,L0=A3+1|0,d1=e[j>>2]|0,u1=f[u0>>0]|0,p1=u1<<24>>24,f1=d1-p1|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,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,X1=P1&-252645136,G1=D1|X1,x1=G1>>>2,K1=x1&858993459,q1=G1<<2,V1=q1&-858993460,Y1=K1|V1,t2=Y1>>>1,s2=t2&1431655765,e2=Y1<<1,O1=e2&-1431655766,h2=s2|O1,Z1=o0+(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(c2=e[i3>>2]|0,r2=c2+(W1<<2)|0,g2=e[r2>>2]|0,o2=g2>>>0>y1>>>0,o2){T3=y6;break}else y6=W1}l2=(P3|0)>(v6|0);e:do if(l2)for(i2=e[i3>>2]|0,o6=v6;;){if(a2=i2+(o6<<2)|0,m2=e[a2>>2]|0,k2=m2&X0,D2=y1>>>0>>0,D2){R3=o6;break e}if(S2=o6+1|0,y2=(P3|0)>(S2|0),y2)o6=S2;else{R3=S2;break}}else R3=v6;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,s6=R3,D6=T3}else s6=v6,D6=g6;if(q2=J6+1|0,U2=(q2|0)<(K|0),!U2){$=0;break}b=e[j>>2]|0,C1=b,v6=s6,J6=q2,g6=D6}return C=O3,$|0}function AD(t,o){t=t|0,o=o|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[o>>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 $D(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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&&(N=t+4|0,K=e[N>>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,w=(y0|0)/(k|0)&-1,_=(y|0)/(y0|0)&-1,Q=o5(_,w)|0,x=k+-1|0,M=o5(_,x)|0,L=C0-M|0,F=1-E0|0;do if((k|0)==2)if(Z=(F|0)==0,a=E+L|0,A0=K+(a<<2)|0,Z){Jy(_,w,o,K,A0),Q0=0;break}else{Jy(_,w,K,o,A0),Q0=F;break}else if((k|0)==4)if(O=L+_|0,H=(F|0)==0,$=E+L|0,V=K+($<<2)|0,g=E+O|0,J=K+(g<<2)|0,d=E+_|0,p=d+O|0,t0=K+(p<<2)|0,H){zy(_,w,o,K,V,J,t0),Q0=0;break}else{zy(_,w,K,o,V,J,t0),Q0=F;break}else if(j=(_|0)==1,D0=j?E0:F,n0=(D0|0)==0,I=E+L|0,s0=K+(I<<2)|0,n0){Ky(_,k,w,Q,o,o,o,K,K,s0),Q0=1;break}else{Ky(_,k,w,Q,K,K,K,o,o,s0),Q0=0;break}while(!1);if(o0=b0+1|0,d0=(o0|0)==(m0|0),d0){w0=Q0;break}else C0=L,b0=o0,y0=w,E0=Q0}if(Y=(w0|0)!=1,h0=(y|0)>0,B0=h0&Y,B0)p0=0;else return;for(;i0=K+(p0<<2)|0,e0=e[i0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=e0,c0=p0+1|0,r0=(c0|0)==(y|0),!r0;)p0=c0}}function Vy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0;if(B1=C,e[t>>2]=o,p=o*3|0,I=ce(p,4)|0,M=t+4|0,e[M>>2]=I,j=ce(32,4)|0,$0=t+8|0,e[$0>>2]=j,y0=(o|0)==1,!y0){Z0=j+8|0,z0=-1,u1=0,p1=o,h1=0;e:for(;;)for(R0=z0+1|0,v0=(R0|0)<4,v0?(N0=25768+(R0<<2)|0,E=e[N0>>2]|0,A1=E):(y=h1+2|0,A1=y),B=(A1|0)!=2,V0=u1,f1=p1;;){if(W0=V0+1|0,b=(f1|0)/(A1|0)&-1,D=o5(b,A1)|0,k=(f1|0)==(D|0),!k){z0=R0,u1=V0,p1=f1,h1=A1;continue e}if(w=V0+2|0,_=j+(w<<2)|0,e[_>>2]=A1,Q=(V0|0)==0,c1=B|Q,!c1){if(x=(V0|0)<1,!x)for(T0=1;L=W0-T0|0,F=L+1|0,N=j+(F<<2)|0,O=e[N>>2]|0,H=L+2|0,V=j+(H<<2)|0,e[V>>2]=O,J=T0+1|0,S0=(J|0)==(W0|0),!S0;)T0=J;e[Z0>>2]=2}if(t0=(b|0)==1,t0){a=Q,K0=W0,j0=V0;break e}else V0=W0,f1=b}if(e[j>>2]=o,Z=j+4|0,e[Z>>2]=K0,A0=+(o|0),n0=6.2831854820251465/A0,$=a^1,s0=(j0|0)>0,a1=s0&$,!!a1)for(K=o+1|0,q0=0,L0=0,o1=1;;){if(o0=L0+2|0,Y=j+(o0<<2)|0,h0=e[Y>>2]|0,i0=o5(h0,o1)|0,e0=(o|0)/(i0|0)&-1,u0=(h0|0)>1,u0){for(c0=(e0|0)>2,l0=h0+-1|0,s1=q0,n1=0,d1=0;;){if(X=d1+o1|0,m0=+(X|0),g0=m0*n0,c0)for(J0=0,M0=s1,P0=2;I0=J0+1,r0=g0*I0,U0=+AA(+r0),g=M0+o|0,d0=I+(g<<2)|0,s[d0>>2]=U0,$1=+Vr(+r0),p0=M0+2|0,d=K+M0|0,C0=I+(d<<2)|0,s[C0>>2]=$1,b0=P0+2|0,D0=(b0|0)<(e0|0),D0;)J0=I0,M0=p0,P0=b0;if(E0=s1+e0|0,Q0=n1+1|0,O0=(Q0|0)==(l0|0),O0)break;s1=E0,n1=Q0,d1=X}w0=o5(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,o1=i0}}}function Yy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;y=C,o=(t|0)==0,!o&&(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 zy(t,o,a,$,g,d,p){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0;if(I3=C,I=o5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,Y1=t<<2,W1=Y1+-1|0,k2=t<<1,d2=0,a5=I,I5=F1,e5=0,c5=E;U2=a+(a5<<2)|0,p5=+s[U2>>2],N5=a+(I5<<2)|0,y=+s[N5>>2],F=y+p5,s0=a+(e5<<2)|0,X=+s[s0>>2],E0=a+(c5<<2)|0,H0=+s[E0>>2],Y0=H0+X,A1=Y0+F,B1=e5<<2,m1=$+(B1<<2)|0,s[m1>>2]=A1,C1=Y0-F,y1=W1+B1|0,v1=$+(y1<<2)|0,s[v1>>2]=C1,k1=+s[s0>>2],S1=+s[E0>>2],L1=k1-S1,M1=B1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[N5>>2],U1=+s[U2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,X1=a5+t|0,G1=I5+t|0,x1=e5+t|0,K1=c5+t|0,q1=d2+1|0,d5=(q1|0)==(o|0),!d5;)d2=q1,a5=X1,I5=G1,e5=x1,c5=K1;if(H1=(t|0)<2,!H1){if(V1=(t|0)==2,!V1){if(Q1)for(t2=t<<1,v5=0,f5=0;;){for(r0=f5<<2,d0=r0+t2|0,X2=2,r5=f5,T2=r0,z5=d0;O1=r5+2|0,h2=T2+2|0,Z1=z5+-2|0,I2=O1+I|0,A2=X2+-2|0,C2=g+(A2<<2)|0,$2=+s[C2>>2],f2=I2+-1|0,c2=a+(f2<<2)|0,r2=+s[c2>>2],g2=r2*$2,o2=X2+-1|0,l2=g+(o2<<2)|0,i2=+s[l2>>2],a2=a+(I2<<2)|0,m2=+s[a2>>2],n2=m2*i2,D2=n2+g2,S2=m2*$2,y2=i2*r2,G2=S2-y2,M2=I2+I|0,O2=d+(A2<<2)|0,p2=+s[O2>>2],W2=M2+-1|0,q2=a+(W2<<2)|0,J2=+s[q2>>2],V2=J2*p2,Z2=d+(o2<<2)|0,A5=+s[Z2>>2],Y2=a+(M2<<2)|0,N1=+s[Y2>>2],t5=N1*A5,T5=t5+V2,i5=N1*p2,x5=A5*J2,j2=i5-x5,D5=M2+I|0,V5=p+(A2<<2)|0,u5=+s[V5>>2],b2=D5+-1|0,y5=a+(b2<<2)|0,s5=+s[y5>>2],F2=s5*u5,R2=p+(o2<<2)|0,Q2=+s[R2>>2],Q5=a+(D5<<2)|0,E5=+s[Q5>>2],L5=E5*Q2,q5=L5+F2,M5=E5*u5,z2=Q2*s5,C5=M5-z2,$5=q5+D2,h5=q5-D2,w5=C5+G2,T1=G2-C5,B=a+(O1<<2)|0,b=+s[B>>2],D=b+j2,k=b-j2,w=r5+1|0,_=a+(w<<2)|0,Q=+s[_>>2],x=Q+T5,M=Q-T5,L=$5+x,N=T2|1,O=$+(N<<2)|0,s[O>>2]=L,H=w5+D,V=$+(h2<<2)|0,s[V>>2]=H,J=M-T1,t0=z5+-3|0,Z=$+(t0<<2)|0,s[Z>>2]=J,A0=h5-k,j=$+(Z1<<2)|0,s[j>>2]=A0,n0=T1+M,K=h2+t2|0,o0=K+-1|0,Y=$+(o0<<2)|0,s[Y>>2]=n0,h0=h5+k,i0=$+(K<<2)|0,s[i0>>2]=h0,e0=x-$5,u0=Z1+t2|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=e0,l0=w5-D,m0=$+(u0<<2)|0,s[m0>>2]=l0,g0=X2+2|0,I0=(g0|0)<(t|0),I0;)X2=g0,r5=O1,T2=h2,z5=Z1;if(s2=f5+t|0,e2=v5+1|0,l5=(e2|0)==(o|0),l5)break;v5=e2,f5=s2}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,n5=0,K2=y0,R5=w0,k5=t,i3=t;B0=a+(K2<<2)|0,x0=+s[B0>>2],Z0=a+(R5<<2)|0,R0=+s[Z0>>2],v0=R0+x0,N0=v0*-.7071067690849304,U0=x0-R0,O0=U0*.7071067690849304,S0=i3+-1|0,J0=a+(S0<<2)|0,T0=+s[J0>>2],M0=O0+T0,P0=k5+-1|0,W0=$+(P0<<2)|0,s[W0>>2]=M0,K0=+s[J0>>2],V0=K0-O0,j0=k5+Q0|0,q0=j0+-1|0,s1=$+(q0<<2)|0,s[s1>>2]=V0,z0=K2+I|0,n1=a+(z0<<2)|0,L0=+s[n1>>2],o1=N0-L0,d1=$+(k5<<2)|0,s[d1>>2]=o1,u1=+s[n1>>2],p1=u1+N0,f1=$+(j0<<2)|0,s[f1>>2]=p1,h1=K2+t|0,c1=R5+t|0,a1=k5+D0|0,$1=i3+t|0,X0=n5+1|0,_5=(X0|0)==(o|0),!_5;)n5=X0,K2=h1,R5=c1,k5=a1,i3=$1}}function Jy(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0;if(D1=C,d=o5(o,t)|0,p=t<<1,x=(o|0)>0,x)for(A0=p+-1|0,B1=0,C1=0,k1=d;c0=a+(C1<<2)|0,b0=+s[c0>>2],N0=a+(k1<<2)|0,V0=+s[N0>>2],p1=V0+b0,A1=C1<<1,I=$+(A1<<2)|0,s[I>>2]=p1,E=+s[c0>>2],y=+s[N0>>2],B=E-y,b=A0+A1|0,D=$+(b<<2)|0,s[D>>2]=B,k=C1+t|0,w=k1+t|0,_=B1+1|0,a1=(_|0)==(o|0),!a1;)B1=_,C1=k,k1=w;if(Q=(t|0)<2,!Q){if(M=(t|0)==2,!M){if(x)for(m1=0,y1=0,S1=d;;){for(J0=y1<<1,T0=J0+p|0,X0=2,M1=S1,_1=T0,R1=y1,F1=J0;O=M1+2|0,H=_1+-2|0,V=R1+2|0,J=F1+2|0,t0=X0+-2|0,Z=g+(t0<<2)|0,j=+s[Z>>2],n0=M1+1|0,s0=a+(n0<<2)|0,K=+s[s0>>2],o0=K*j,Y=X0+-1|0,h0=g+(Y<<2)|0,i0=+s[h0>>2],e0=a+(O<<2)|0,u0=+s[e0>>2],$0=u0*i0,l0=$0+o0,X=u0*j,m0=i0*K,g0=X-m0,I0=a+(V<<2)|0,r0=+s[I0>>2],d0=g0+r0,p0=$+(J<<2)|0,s[p0>>2]=d0,C0=+s[I0>>2],y0=g0-C0,D0=$+(H<<2)|0,s[D0>>2]=y0,E0=R1+1|0,Q0=a+(E0<<2)|0,w0=+s[Q0>>2],B0=w0+l0,x0=F1|1,Z0=$+(x0<<2)|0,s[Z0>>2]=B0,R0=+s[Q0>>2],v0=R0-l0,U0=_1+-3|0,O0=$+(U0<<2)|0,s[O0>>2]=v0,H0=X0+2|0,S0=(H0|0)<(t|0),S0;)X0=H0,M1=O,_1=H,R1=V,F1=J;if(L=y1+t|0,F=S1+t|0,N=m1+1|0,$1=(N|0)==(o|0),$1)break;m1=N,y1=L,S1=F}if(M0=(t|0)%2&-1,P0=(M0|0)==1,P0)return}if(W0=t+-1|0,!!x)for(K0=d+W0|0,Q1=0,v1=t,L1=K0,b1=W0;j0=a+(L1<<2)|0,q0=+s[j0>>2],Y0=-q0,s1=$+(v1<<2)|0,s[s1>>2]=Y0,z0=a+(b1<<2)|0,n1=e[z0>>2]|0,L0=v1+-1|0,o1=$+(L0<<2)|0,e[o1>>2]=n1,d1=v1+p|0,u1=L1+t|0,f1=b1+t|0,h1=Q1+1|0,c1=(h1|0)==(o|0),!c1;)Q1=h1,v1=d1,L1=u1,b1=f1}}function Ky(t,o,a,$,g,d,p,I,E,y){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0;vt=C,D=+(o|0),k=6.2831854820251465/D,pt=+AA(+k),Y8=+Vr(+k),C2=o+1|0,b3=C2>>1,J9=t+-1|0,ze=J9>>1,O9=o5(a,t)|0,S9=o5(o,t)|0,pe=(t|0)==1;e:do if(!pe){if(_8=($|0)>0,_8)for(_4=0;d0=p+(_4<<2)|0,Z0=e[d0>>2]|0,P0=E+(_4<<2)|0,e[P0>>2]=Z0,o1=_4+1|0,Bt=(o1|0)==($|0),!Bt;)_4=o1;if(J=(o|0)>1,J)for(i0=(a|0)>0,wt=1,Z8=0;;){if(B1=Z8+O9|0,i0)for(l8=0,Ae=B1;_1=d+(Ae<<2)|0,H1=e[_1>>2]|0,$2=I+(Ae<<2)|0,e[$2>>2]=H1,n2=Ae+t|0,J2=l8+1|0,se=(J2|0)==(a|0),!se;)l8=J2,Ae=n2;if(j2=wt+1|0,lt=(j2|0)==(o|0),lt)break;wt=j2,Z8=B1}if(Q5=0-t|0,T1=(ze|0)>(a|0),T1){if(J)for(H3=(a|0)>0,J5=(t|0)>2,C3=Q5,j9=1,F8=0;;){if(L3=F8+O9|0,x6=C3+t|0,H3)for(o6=L3-t|0,A3=x6+-1|0,ut=0,N8=o6;;){if(P3=N8+t|0,J5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,w6=Bi+2|0,v9=E4+1|0,r4=y+(v9<<2)|0,Ve=+s[r4>>2],Ye=Bi+1|0,de=d+(Ye<<2)|0,Pe=+s[de>>2],Ce=Pe*Ve,v4=y+(O3<<2)|0,Z9=+s[v4>>2],k9=d+(w6<<2)|0,k4=+s[k9>>2],V4=k4*Z9,rt=V4+Ce,Y4=I+(Ye<<2)|0,s[Y4>>2]=rt,Je=+s[r4>>2],o4=+s[k9>>2],R4=o4*Je,ot=+s[v4>>2],re=+s[de>>2],u4=re*ot,Be=R4-u4,T6=I+(w6<<2)|0,s[T6>>2]=Be,Ke=ct+2|0,fe=(Ke|0)<(t|0),fe;)ct=Ke,E4=O3,Bi=w6;if(Te=ut+1|0,$t=(Te|0)==(a|0),$t)break;ut=Te,N8=P3}if(h4=j9+1|0,Ct=(h4|0)==(o|0),Ct)break;C3=x6,j9=h4,F8=L3}}else if(J)for(I5=(t|0)>2,d3=(a|0)>0,Z4=Q5,l4=1,z8=0;;){if(oe=Z4+t|0,d4=z8+O9|0,I5)for(f4=oe+-1|0,yt=2,gt=f4,$i=d4;;){if(Se=gt+2|0,s4=$i+2|0,d3)for(Oe=gt+1|0,I4=y+(Oe<<2)|0,I6=y+(Se<<2)|0,ht=0,ti=s4;z4=+s[I4>>2],Ie=ti+-1|0,S4=d+(Ie<<2)|0,be=+s[S4>>2],me=be*z4,z6=+s[I6>>2],F4=d+(ti<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+me,mt=I+(Ie<<2)|0,s[mt>>2]=xe,Z3=+s[I4>>2],x9=+s[F4>>2],b9=x9*Z3,qe=+s[I6>>2],a4=+s[S4>>2],d8=a4*qe,N4=b9-d8,f8=I+(ti<<2)|0,s[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=Se,$i=s4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=oe,l4=Pt,z8=d4}if(Ot=o5(O9,o)|0,qt=(ze|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+O9|0,w0=Hi-O9|0,i8)for(je=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,N0=+s[v0>>2],U0=Si+1|0,O0=I+(U0<<2)|0,H0=+s[O0>>2],S0=H0+N0,J0=d+(R0<<2)|0,s[J0>>2]=S0,T0=I+(B0<<2)|0,M0=+s[T0>>2],W0=I+(x0<<2)|0,K0=+s[W0>>2],V0=M0-K0,j0=d+(U0<<2)|0,s[j0>>2]=V0,q0=+s[T0>>2],Y0=+s[W0>>2],s1=Y0+q0,z0=d+(B0<<2)|0,s[z0>>2]=s1,n1=+s[O0>>2],L0=+s[v0>>2],d1=n1-L0,u1=d+(x0<<2)|0,s[u1>>2]=d1,p1=D4+2|0,f1=(p1|0)<(t|0),f1;)D4=p1,ii=B0,Si=x0;if(h1=li+t|0,A1=ci+t|0,c1=je+1|0,We=(c1|0)==(a|0),We)break;je=c1,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,T9=1,j8=0,qi=Ot;;){if(x=j8+O9|0,M=qi-O9|0,_)for(p4=2,yi=x,vi=M;;){if(L=yi+2|0,F=vi+2|0,Q)for(N=F-t|0,O=L-t|0,Ft=0,Zi=O,f7=N;H=Zi+t|0,V=f7+t|0,t0=H+-1|0,Z=I+(t0<<2)|0,A0=+s[Z>>2],j=V+-1|0,n0=I+(j<<2)|0,s0=+s[n0>>2],K=s0+A0,o0=d+(t0<<2)|0,s[o0>>2]=K,Y=I+(H<<2)|0,h0=+s[Y>>2],e0=I+(V<<2)|0,u0=+s[e0>>2],c0=h0-u0,$0=d+(j<<2)|0,s[$0>>2]=c0,l0=+s[Y>>2],X=+s[e0>>2],m0=X+l0,g0=d+(H<<2)|0,s[g0>>2]=m0,I0=+s[n0>>2],r0=+s[Z>>2],p0=I0-r0,C0=d+(V<<2)|0,s[C0>>2]=p0,b0=Ft+1|0,Mt=(b0|0)==(a|0),!Mt;)Ft=b0,Zi=H,f7=V;if(y0=p4+2|0,D0=(y0|0)<(t|0),D0)p4=y0,yi=L,vi=F;else break}if(E0=T9+1|0,At=(E0|0)==(b3|0),At)break;T9=E0,j8=x,qi=M}}while(!1);if(w=($|0)>0,w)for(De=0;$1=E+(De<<2)|0,X0=e[$1>>2]|0,m1=p+(De<<2)|0,e[m1>>2]=X0,Q1=De+1|0,Kt=(Q1|0)==($|0),!Kt;)De=Q1;if(C1=o5($,o)|0,y1=(b3|0)>1,y1){for(v1=(a|0)>0,Wt=1,Nt=0,Vi=C1;;){if(k1=Nt+O9|0,S1=Vi-O9|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,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],X1=P1+U1,G1=d+(b1<<2)|0,s[G1>>2]=X1,x1=+s[D1>>2],K1=+s[F1>>2],q1=x1-K1,V1=d+(R1<<2)|0,s[V1>>2]=q1,Y1=c8+1|0,A4=(Y1|0)==(a|0),!A4;)c8=Y1,g7=b1,h7=R1;if(t2=Wt+1|0,s8=(t2|0)==(b3|0),s8)break;Wt=t2,Nt=k1,Vi=S1}if(s2=o+-1|0,e2=o5(s2,$)|0,y1){for(O1=(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*Y8,W1=I2-A2,f2=Ht*pt,c2=Yt*Y8,r2=c2+f2,w)for(Qt=0,zi=h2,ui=Z1,Xi=e2,ri=$;g2=p+(Qt<<2)|0,o2=+s[g2>>2],l2=ri+1|0,i2=p+(ri<<2)|0,a2=+s[i2>>2],m2=a2*W1,k2=m2+o2,D2=zi+1|0,S2=E+(zi<<2)|0,s[S2>>2]=k2,y2=Xi+1|0,G2=p+(Xi<<2)|0,M2=+s[G2>>2],O2=M2*r2,p2=ui+1|0,W2=E+(ui<<2)|0,s[W2>>2]=O2,q2=Qt+1|0,E8=(q2|0)==($|0),!E8;)Qt=q2,zi=D2,ui=p2,Xi=y2,ri=l2;if(O1)for(Vt=r2,_t=W1,C8=2,Ji=$,J8=e2;;){if(U2=Ji+$|0,V2=J8-$|0,Z2=_t*W1,A5=Vt*r2,Y2=Z2-A5,N1=Vt*W1,t5=_t*r2,T5=t5+N1,w)for(a8=0,bi=h2,xi=Z1,Li=U2,G8=V2;i5=Li+1|0,x5=p+(Li<<2)|0,p5=+s[x5>>2],D5=p5*Y2,V5=bi+1|0,u5=E+(bi<<2)|0,b2=+s[u5>>2],y5=b2+D5,s[u5>>2]=y5,s5=G8+1|0,F2=p+(G8<<2)|0,R2=+s[F2>>2],Q2=R2*T5,N5=xi+1|0,E5=E+(xi<<2)|0,L5=+s[E5>>2],q5=L5+Q2,s[E5>>2]=q5,M5=a8+1|0,L8=(M5|0)==($|0),!L8;)a8=M5,bi=V5,xi=N5,Li=i5,G8=s5;if(z2=C8+1|0,o8=(z2|0)==(b3|0),o8)break;Vt=T5,_t=Y2,C8=z2,Ji=U2,J8=V2}if(C5=et+1|0,M8=(C5|0)==(b3|0),M8)break;Ht=r2,Yt=W1,et=C5,T8=h2,Ei=Z1}if(y1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(Ze=0,X8=$5;h5=X8+1|0,w5=p+(X8<<2)|0,_5=+s[w5>>2],d5=E+(Ze<<2)|0,l5=+s[d5>>2],X2=l5+_5,s[d5>>2]=X2,d2=Ze+1|0,p8=(d2|0)==($|0),!p8;)Ze=d2,X8=h5;if(v5=A8+1|0,b4=(v5|0)==(b3|0),b4)break;A8=v5,Xt=$5}}}if(n5=(t|0)<(a|0),n5){if(K2=(t|0)>0,K2)for(r5=(a|0)>0,W4=0;;){if(r5)for(X4=0,C4=W4,ei=W4;W5=I+(C4<<2)|0,n3=e[W5>>2]|0,a3=g+(ei<<2)|0,e[a3>>2]=n3,y3=C4+t|0,G5=ei+S9|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(K4=0,Yi=O4,Ki=Ci;R5=Yi+1|0,e5=I+(Yi<<2)|0,c5=e[e5>>2]|0,T2=Ki+1|0,k5=g+(Ki<<2)|0,e[k5>>2]=c5,z5=K4+1|0,Lt=(z5|0)==(t|0),!Lt;)K4=z5,Yi=R5,Ki=T2;if(i3=O4+t|0,B5=Ci+S9|0,I3=Tt+1|0,L9=(I3|0)==(a|0),L9)break;Tt=I3,O4=i3,Ci=B5}if(f3=t<<1,w3=o5(O9,o)|0,y1)for(e6=(a|0)>0,$8=1,R8=0,Qi=0,Wi=w3;;){if(X5=R8+f3|0,_3=Qi+O9|0,t3=Wi-O9|0,e6)for(D9=0,ni=X5,Di=_3,t7=t3;a6=I+(Di<<2)|0,G3=e[a6>>2]|0,V3=ni+-1|0,c3=g+(V3<<2)|0,e[c3>>2]=G3,g3=I+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ni<<2)|0,e[Q3>>2]=u3,H5=ni+S9|0,Y5=Di+t|0,b5=t7+t|0,Y3=D9+1|0,Et=(Y3|0)==(a|0),!Et;)D9=Y3,ni=H5,Di=Y5,t7=b5;if(U5=$8+1|0,J4=(U5|0)==(b3|0),J4)break;$8=U5,R8=X5,Qi=_3,Wi=t3}if(!pe){if(l6=(ze|0)<(a|0),r3=0-t|0,!l6){if(!y1)return;for(B=(a|0)<1,b=(t|0)<3,xt=B|b,Zt=1,u8=r3,wi=0,gi=0,d7=w3;;){if(C6=u8+f3|0,D3=wi+f3|0,A6=gi+O9|0,n6=d7-O9|0,!xt)for(g8=0,e7=C6,hi=D3,x4=A6,di=n6;;){for(ae=2;d6=t-ae|0,m3=ae+x4|0,L6=m3+-1|0,M6=I+(L6<<2)|0,S6=+s[M6>>2],r6=ae+di|0,f6=r6+-1|0,b6=I+(f6<<2)|0,N6=+s[b6>>2],j6=N6+S6,v6=ae+hi|0,R3=v6+-1|0,s6=g+(R3<<2)|0,s[s6>>2]=j6,B6=+s[M6>>2],K3=+s[b6>>2],F3=B6-K3,W3=d6+e7|0,t6=W3+-1|0,R6=g+(t6<<2)|0,s[R6>>2]=F3,c6=I+(m3<<2)|0,o3=+s[c6>>2],J6=I+(r6<<2)|0,g6=+s[J6>>2],y6=g6+o3,T3=g+(v6<<2)|0,s[T3>>2]=y6,H6=+s[J6>>2],$6=+s[c6>>2],D6=H6-$6,G6=g+(W3<<2)|0,s[G6>>2]=D6,e9=ae+2|0,Q6=(e9|0)<(t|0),Q6;)ae=e9;if(z3=e7+S9|0,j5=hi+S9|0,M3=x4+t|0,h3=di+t|0,J3=g8+1|0,n8=(J3|0)==(a|0),n8)break;g8=J3,e7=z3,hi=j5,x4=M3,di=h3}if(X6=Zt+1|0,r8=(X6|0)==(b3|0),r8)break;Zt=X6,u8=C6,wi=D3,gi=A6,d7=n6}return}if(y1)for(l3=(t|0)>2,U3=(a|0)>0,$4=1,c4=r3,u7=0,ki=0,ji=w3;;){if(n9=c4+f3|0,V6=u7+f3|0,o9=ki+O9|0,g9=ji-O9|0,l3&&(U6=n9+t|0,U3))for(P4=2;;){for(Re=P4+g9|0,Fe=P4+o9|0,Ue=P4+V6|0,He=U6-P4|0,jt=0,_i=He,K8=Ue,Mi=Fe,$9=Re;t9=Mi+-1|0,_6=I+(t9<<2)|0,P6=+s[_6>>2],O6=$9+-1|0,s9=I+(O6<<2)|0,h9=+s[s9>>2],r9=h9+P6,B9=K8+-1|0,y9=g+(B9<<2)|0,s[y9>>2]=r9,Q9=+s[_6>>2],d9=+s[s9>>2],f9=Q9-d9,V9=_i+-1|0,q6=g+(V9<<2)|0,s[q6>>2]=f9,a9=I+(Mi<<2)|0,Y9=+s[a9>>2],w9=I+($9<<2)|0,we=+s[w9>>2],ue=we+Y9,Ee=g+(K8<<2)|0,s[Ee>>2]=ue,z9=+s[w9>>2],ne=+s[a9>>2],F9=z9-ne,K6=g+(_i<<2)|0,s[K6>>2]=F9,A9=_i+S9|0,ve=K8+S9|0,Me=Mi+t|0,he=$9+t|0,_9=jt+1|0,zt=(_9|0)==(a|0),!zt;)jt=_9,_i=A9,K8=ve,Mi=Me,$9=he;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(ke=$4+1|0,Jt=(ke|0)==(b3|0),Jt)break;$4=ke,c4=n9,u7=V6,ki=o9,ji=g9}}}function lD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0,y8=0,U8=0,rr=0,kn=0,As=0,zr=0,$s=0,Jr=0,ls=0,cs=0,Kr=0,gs=0,or=0,us=0,hs=0,ds=0,Wr=0,fs=0,Zr=0,jr=0,Is=0,sr=0,Xr=0,ar=0,eo=0,to=0,ms=0,ps=0,Es=0,Ar=0,io=0,Cs=0,Sn=0,$r=0,Bs=0,ys=0,lr=0,I7=0,no=0,Qs=0,ws=0,ro=0,oo=0,so=0,vs=0,m7=0,cr=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gr=0,bn=0,ur=0,Ts=0,an=0,Ns=0,lo=0,hr=0,co=0,dr=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dn=0,Io=0,p7=0,fr=0,_n=0,An=0,xn=0,Z7=0,Ln=0,mo=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mn=0,$n=0,ln=0,Rn=0,E7=0,Os=0,fi=0,cl=0,Ir=0,mr=0,Vu=0,gl=0,qs=0,Yu=0,cA=0,ul=0,zu=0,Ju=0,Ku=0,gA=0,hl=0,dl=0,uA=0,pr=0,fl=0,Wu=0,Hs=0,cn=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,nh=0,rh=0,oh=0,sh=0,Il=0,Fn=0,ah=0,Ah=0,ml=0,$h=0,hA=0,Vs=0,dA=0,lh=0,ch=0,fA=0,pl=0,El=0,Cl=0,IA=0,Bl=0,Ys=0,gh=0,uh=0,yl=0,hh=0,dh=0,Ql=0,fh=0,Ih=0,wl=0,vl=0,kl=0,Sl=0,bl=0,Er=0,mh=0,Dl=0,ph=0,_l=0,xl=0,Eh=0,Ch=0,Bh=0,mA=0,Ll=0,Ml=0,po=0,Rl=0,pA=0,yh=0,Fl=0,Qh=0,Tl=0,wh=0,vh=0,Nl=0,Gl=0,kh=0,zs=0,Sh=0,EA=0,Ul=0,Pl=0,bh=0,Dh=0,_h=0,xh=0,Lh=0,Mh=0,Js=0,Ol=0,ql=0,Hl=0,Ks=0,Rh=0,Vl=0,Fh=0,Yl=0,Th=0,Nh=0,zl=0,CA=0,Gh=0,Uh=0,Ws=0,Ph=0,Zs=0,Oh=0,BA=0,qh=0,Hh=0,Vh=0,Jl=0,Yh=0,zh=0,Jh=0,Kh=0,Kl=0,Wl=0,gn=0,Zl=0,js=0,yA=0,QA=0,Cr=0,jl=0,Br=0,Wh=0,Xl=0,Zh=0,jh=0,Xh=0,ed=0,Xs=0,wA=0,Tn=0,td=0,id=0,ec=0,vA=0,tc=0,ic=0,nd=0,nc=0,rd=0,kA=0,od=0,sd=0,K9=0,ad=0,rc=0,Ad=0,$d=0,SA=0,ld=0,bA=0,oc=0,cd=0,gd=0,sc=0,ac=0,ud=0,DA=0,_A=0,Ac=0,$c=0,hd=0,lc=0,xA=0,dd=0,cc=0,fd=0,Id=0,md=0,pd=0,gc=0,uc=0,LA=0,ea=0,hc=0,Ed=0,dc=0,fc=0,Cd=0,Bd=0,yd=0,Ic=0,Qd=0,wd=0,vd=0,kd=0,Sd=0,bd=0,mc=0,Dd=0,pc=0,_d=0,yr=0,xd=0,Ec=0,Ld=0,Eo=0,Cc=0,MA=0,Md=0,ta=0,RA=0,Rd=0,FA=0,Bc=0,Fd=0,Td=0,Nd=0,Gd=0,Ud=0,yc=0,Pd=0,Od=0,qd=0,ia=0,Co=0,TA=0,Hd=0,NA=0,Vd=0,Yd=0,zd=0,Qc=0,Jd=0,Kd=0,Wd=0,Zd=0,jd=0,na=0,Xd=0,ef=0,wc=0,tf=0,nf=0,rf=0,of=0,C7=0,vc=0,B7=0,kc=0,GA=0,sf=0,n7=0,Bo=0,af=0,Af=0,$f=0,lf=0,cf=0,Sc=0,gf=0,uf=0,bc=0,hf=0,df=0,yo=0,UA=0,ff=0,Dc=0,If=0,mf=0,ra=0,pf=0,Ef=0,_c=0,xc=0,Cf=0,Bf=0,Qr=0,yf=0,Qf=0,wr=0,wf=0,Lc=0,vf=0,kf=0,Qo=0,Mc=0,Sf=0,Rc=0,bf=0,un=0,PA=0,Df=0,Fc=0,Tc=0,_f=0,xf=0,Nc=0,Lf=0,Mf=0,Rf=0,Gc=0,Ff=0,wo=0,Tf=0,vr=0,Nf=0,Gf=0,OA=0,Uf=0,qA=0,HA=0,Pf=0,Uc=0,Pc=0,Of=0,Oc=0,qc=0,Hc=0,qf=0,Vc=0,Yc=0,Hf=0,Vf=0,zc=0,Jc=0,Yf=0,Kc=0,Wc=0,zf=0,Jf=0,Zc=0,VA=0,jc=0,Xc=0,eg=0,tg=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,ig=0,YA=0,nI=0,rI=0,oI=0,ng=0,rg=0,sI=0,og=0,zA=0,oa=0,sg=0,aI=0,AI=0,$I=0,lI=0,ag=0,sa=0,cI=0,gI=0,uI=0,hI=0,dI=0,fI=0,II=0,mI=0,Ag=0,pI=0,EI=0,CI=0,BI=0,aa=0,$g=0,yI=0,QI=0,kr=0,lg=0,cg=0,JA=0,wI=0,gg=0,vI=0,ug=0,hg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,KA=0,xI=0,LI=0,MI=0,RI=0,dg=0,FI=0,fg=0,TI=0,NI=0,Ig=0,Nn=0,mg=0,pg=0,GI=0,Eg=0,$a=0,UI=0,PI=0,OI=0,la=0,Cg=0,qI=0,HI=0,Bg=0,VI=0,YI=0,WA=0,ca=0,zI=0,JI=0,KI=0,yg=0,Qg=0,wg=0,WI=0,ZI=0,vo=0,jI=0,vg=0,XI=0,ZA=0,kg=0,em=0,tm=0,im=0,nm=0,Sg=0,rm=0,om=0,bg=0,ga=0,sm=0,am=0,Am=0,ko=0,Dg=0,_g=0,$m=0,xg=0,Lg=0,L7=0,Mg=0,hn=0,lm=0,cm=0,gm=0,um=0,jA=0,ua=0,Rg=0,Fg=0,hm=0,ha=0,So=0,dm=0,da=0,XA=0,fm=0,e$=0,Im=0,mm=0,Tg=0,fa=0,Ng=0,pm=0,Em=0,Cm=0,Bm=0,Gg=0,ym=0,oi=0,_e=0,r7=0,Qm=0,Ug=0,Pg=0,t$=0,wm=0,Gn=0,bo=0,vm=0,km=0,Og=0,i$=0,Sm=0,qg=0,Hg=0,Vg=0,n$=0,r$=0,Yg=0,Do=0,o$=0,zg=0,bm=0,Sr=0,Dm=0,Jg=0,Ia=0,_m=0,Kg=0,M7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,R7=0,Nm=0,Gm=0,Um=0,Wg=0,y7=0,ma=0,s$=0,Zg=0,jg=0,Pm=0,Xg=0,eu=0,Om=0,qm=0,tu=0,iu=0,Hm=0,Vm=0,nu=0,Ym=0,_o=0,pa=0,Ea=0,zm=0,a$=0,Jm=0,Km=0,ru=0,xo=0,Wm=0,Zm=0,A$=0,$$=0,Ca=0,l$=0,c$=0,dn=0,Un=0,Pn=0,g$=0,u$=0,Lo=0,fn=0,br=0,jm=0,In=0,Dr=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ou=0,su=0,Qa=0,h$=0,Ni=0,wa=0,On=0,d$=0,ep=0,f$=0,tp=0,I$=0,au=0,va=0,ip=0,np=0,ka=0,rp=0,Sa=0,_r=0,tt=0,Le=0,Au=0,op=0,m$=0,$u=0,sp=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,lu=0,gp=0,up=0,hp=0,o7=0,Da=0,xr=0,p$=0,Mo=0,Ro=0,si=0,Fo=0,cu=0,gu=0,_a=0,To=0,No=0,Go=0,dp=0,Uo=0,mn=0,uu=0,qn=0,s7=0,E$=0,C$=0,X7=0,B$=0,y$=0,Q$=0,Hn=0,h6=0,xa=0,Vn=0,hu=0,L4=0,w$=0,kt=0,Po=0,Lr=0,Mr=0,q9=0,Rr=0,Yn=0,Xe=0,v$=0,VC=0,fp=0,dE=0,fE=0,YC=0,Ip=0,sQ=0,aQ=0,AQ=0,$Q=0,lQ=0,cQ=0,gQ=0,uQ=0,hQ=0,dQ=0,fQ=0,IQ=0,zC=0,JC=0,mQ=0,pQ=0,EQ=0,du=0,IE=0,Q7=0,fu=0,Iu=0,mu=0,pu=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,yp=0,Qp=0,wp=0,vp=0,kp=0,mE=0,La=0,pn=0,k$=0,Eu=0,S$=0,KC=0,Ma=0,Sp=0,b$=0,pE=0,EE=0,bp=0,CE=0,BE=0,yE=0,QE=0,wE=0,vE=0,kE=0,WC=0,ZC=0,jC=0,XC=0,eB=0,Ra=0,Fa=0,Ta=0,Na=0,CQ=0,En=0,$e=0,GD=0,Ga=0,SE=0;if(GD=C,I0=t+28|0,r0=e[I0>>2]|0,r8=(r0|0)==0,r8||(ui=r0+3456|0,mo=e[ui>>2]|0,Ol=(mo|0)==0,o=Ol&1,Eo=r0+3496|0,Oc=+l1[Eo>>3],yg=Oc>-80,yg?l1[Eo>>3]=-80:(qm=Oc<-200,qm&&(l1[Eo>>3]=-200)),d0=r0+3512|0,j2=+l1[d0>>3],A3=j2>0,A3?l1[d0>>3]=0:(ke=j2<-99999,ke&&(l1[d0>>3]=-99999)),V4=r0+3396|0,T6=e[V4>>2]|0,Oe=(T6|0)==0,Oe))return E=-131,E|0;if(T4=r0+3392|0,e[T4>>2]=1,N4=r0+3400|0,i8=+l1[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,Y8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ci=e[Xt>>2]|0,e[r0>>2]=Y8,vi=r0+4|0,e[vi>>2]=Ci,J8=(Y8|0)==(Ci|0),ri=T6+144|0,B8=e[ri>>2]|0,cs=(B8|0)>0,cs){for(Is=T6+136|0,Cs=T6+140|0,oo=T6+148|0,an=i8,Tn=r0,mE=0;;){if(_s=~~an,fo=e[Is>>2]|0,j7=e[Cs>>2]|0,fi=e[oo>>2]|0,Ju=fi+(mE<<2)|0,Zu=e[Ju>>2]|0,Fn=ce(1,1120)|0,pl=Zu+(_s<<2)|0,Ql=e[pl>>2]|0,ph=j7+(Ql*1120|0)|0,ge(Fn|0,ph|0,1120)|0,pA=e[Fn>>2]|0,Sh=(pA|0)>0,Sh){for(ql=Fn+4|0,IE=0,kE=-1;;)if(xA=ql+(IE<<2)|0,hc=e[xA>>2]|0,kd=(hc|0)>(kE|0),A0=kd?hc:kE,Cc=IE+1|0,fQ=(Cc|0)==(pA|0),fQ){j=A0;break}else IE=Cc,kE=A0;if(Gh=(j|0)<0,!Gh){for(Yh=Fn+256|0,Cr=Tn+24|0,od=Fn+192|0,cd=Fn+320|0,S$=0,yE=-1;;){if(Tc=Yh+(S$<<2)|0,vr=e[Tc>>2]|0,qc=(vr|0)>(yE|0),t0=qc?vr:yE,Wc=e[Cr>>2]|0,Zf=Wc+vr|0,e[Tc>>2]=Zf,ng=od+(S$<<2)|0,ag=e[ng>>2]|0,pI=(ag|0)==31,pI)QE=t0;else for(_9=ag,CE=0,vE=t0;;)if(JA=(cd+(S$<<5)|0)+(CE<<2)|0,Aa=e[JA>>2]|0,Ig=(Aa|0)>(vE|0),Z=Ig?Aa:vE,Cg=(Aa|0)>-1,Cg?(Qg=e[Cr>>2]|0,tm=Qg+Aa|0,e[JA>>2]=tm,s0=e[ng>>2]|0,XA=s0):XA=_9,ko=CE+1|0,gm=1<>2]|0,sf=e[ef>>2]|0,bc=e[Cr>>2]|0,Ef=bc+1|0,e[Cr>>2]=Ef,vf=(Tn+1824|0)+(bc<<2)|0,e[vf>>2]=sf,gQ=(wE|0)==0,!gQ))for(KC=0;r$=KC+1|0,i0=e[pl>>2]|0,Kg=fo+(i0<<2)|0,Um=e[Kg>>2]|0,tu=Um+(r$<<2)|0,Jm=e[tu>>2]|0,dn=e[Cr>>2]|0,Xm=dn+1|0,e[Cr>>2]=Xm,wa=(Tn+1824|0)+(dn<<2)|0,e[wa>>2]=Jm,cQ=(r$|0)==(wE|0),!cQ;)KC=r$}}if(ka=Tn+16|0,ap=e[ka>>2]|0,Da=(Tn+800|0)+(ap<<2)|0,e[Da>>2]=1,No=e[ka>>2]|0,B$=(Tn+1056|0)+(No<<2)|0,e[B$>>2]=Fn,p0=e[ka>>2]|0,R0=p0+1|0,e[ka>>2]=R0,W0=mE+1|0,d1=e[ri>>2]|0,m1=(W0|0)<(d1|0),!m1)break;n0=+l1[N4>>3],l0=e[I0>>2]|0,an=n0,Tn=l0,mE=W0}m0=e[I0>>2]|0,X5=m0}else X5=r0;R1=r0+3520|0,V1=+l1[R1>>3],$2=T6+124|0,n2=e[$2>>2]|0,J2=T6+128|0,p5=e[J2>>2]|0,N5=~~V1,_5=+(N5|0),r5=V1-_5,W5=X5+2868|0,H5=p5+(N5<<3)|0,L3=+l1[H5>>3],x6=~~L3,o6=n2+(x6*492|0)|0,ge(W5|0,o6|0,492)|0,g6=+l1[H5>>3],n9=1-r5,O6=g6*n9,q6=N5+1|0,K6=p5+(q6<<3)|0,Re=+l1[K6>>3],Fe=Re*r5,Ue=Fe+O6,He=~~Ue,r4=+(He|0),Ve=Ue-r4,J9=Ve==0,Ye=(He|0)>0,WC=Ye&J9,I=WC?1:Ve,de=WC<<31>>31,F=de+He|0,Pe=1-I,Ce=F+1|0,v4=(n2+(F*492|0)|0)+4|0,Z9=+s[v4>>2],k9=Z9,k4=Pe*k9,rt=(n2+(Ce*492|0)|0)+4|0,ze=+s[rt>>2],Y4=ze,Je=I*Y4,o4=k4+Je,R4=o4,ot=X5+2872|0,s[ot>>2]=R4,re=(n2+(F*492|0)|0)+32|0,u4=+s[re>>2],Be=u4,Ke=Pe*Be,O9=(n2+(Ce*492|0)|0)+32|0,fe=+s[O9>>2],Te=fe,h4=I*Te,oe=Ke+h4,d4=oe,f4=X5+2900|0,s[f4>>2]=d4,Se=(n2+(F*492|0)|0)+8|0,s4=+s[Se>>2],I4=s4,S9=Pe*I4,I6=(n2+(Ce*492|0)|0)+8|0,z4=+s[I6>>2],Ie=z4,S4=I*Ie,be=S9+S4,me=be,z6=X5+2876|0,s[z6>>2]=me,F4=(n2+(F*492|0)|0)+36|0,st=+s[F4>>2],pe=st,xe=Pe*pe,mt=(n2+(Ce*492|0)|0)+36|0,Z3=+s[mt>>2],x9=Z3,b9=x9*I,qe=b9+xe,a4=qe,d8=X5+2904|0,s[d8>>2]=a4,f8=(n2+(F*492|0)|0)+12|0,_8=+s[f8>>2],e8=_8,I8=e8*Pe,m8=(n2+(Ce*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,x8=X5+2880|0,s[x8>>2]=t8,Ht=(n2+(F*492|0)|0)+40|0,Vt=+s[Ht>>2],Yt=Vt,_t=Yt*Pe,xt=(n2+(Ce*492|0)|0)+40|0,pt=+s[xt>>2],zt=pt,Jt=zt*I,n8=Jt+_t,J4=n8,G4=X5+2908|0,s[G4>>2]=J4,at=(n2+(F*492|0)|0)+16|0,Lt=+s[at>>2],L9=Lt,p8=L9*Pe,b4=(n2+(Ce*492|0)|0)+16|0,E8=+s[b4>>2],L8=E8,o8=L8*I,A4=o8+p8,s8=A4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(n2+(F*492|0)|0)+44|0,At=+s[Mt>>2],We=At,U4=We*Pe,$t=(n2+(Ce*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,se=Rt*I,lt=se+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,yt=X5+3512|0,p4=+l1[yt>>3],D4=p4,K4=X5+2936|0,s[K4>>2]=D4,W4=T6+132|0,ae=e[W4>>2]|0,E4=r0+3472|0,gt=+l1[E4>>3],_4=gt,De=~~_4,Qt=+(De|0),a8=_4-Qt,Ze=a8,C3=e[I0>>2]|0,Z4=(ae|0)==0;e:do if(Z4)wt=C3+4|0,j9=e[C3>>2]|0,l4=C3+3240|0,e[l4>>2]=j9,T9=e[wt>>2]|0,j4=C3+3300|0,e[j4>>2]=T9,Wt=C3+3244|0,e[Wt>>2]=j9,C8=C3+3304|0,e[C8>>2]=T9,A8=C3+3248|0,e[A8>>2]=j9,$8=C3+3308|0,e[$8>>2]=T9,Zt=C3+3252|0,e[Zt>>2]=j9,l8=C3+3312|0,e[l8>>2]=T9,ut=C3+3256|0,e[ut>>2]=j9,ht=C3+3316|0,e[ht>>2]=T9,Ft=C3+3260|0,e[Ft>>2]=j9,je=C3+3320|0,e[je>>2]=T9,c8=C3+3264|0,e[c8>>2]=j9,Tt=C3+3324|0,e[Tt>>2]=T9,X4=C3+3268|0,e[X4>>2]=j9,D9=C3+3328|0,e[D9>>2]=T9,g8=C3+3272|0,e[g8>>2]=j9,et=C3+3332|0,e[et>>2]=T9,Z8=C3+3276|0,e[Z8>>2]=j9,R8=C3+3336|0,e[R8>>2]=T9,u8=C3+3280|0,e[u8>>2]=j9,F8=C3+3340|0,e[F8>>2]=T9,c4=C3+3284|0,e[c4>>2]=j9,z8=C3+3344|0,e[z8>>2]=T9,j8=C3+3288|0,e[j8>>2]=j9,dt=C3+3348|0,e[dt>>2]=T9,Nt=C3+3292|0,e[Nt>>2]=j9,T8=C3+3352|0,e[T8>>2]=T9,O4=C3+3296|0,e[O4>>2]=j9,C4=C3+3356|0,e[C4>>2]=T9;else{Ae=C3+3120|0,N8=ae+(De*240|0)|0,En=Ae,Ga=N8,SE=En+60|0;do e[En>>2]=e[Ga>>2]|0,En=En+4|0,Ga=Ga+4|0;while((En|0)<(SE|0));$i=C3+3180|0,qi=(ae+(De*240|0)|0)+60|0,En=$i,Ga=qi,SE=En+60|0;do e[En>>2]=e[Ga>>2]|0,En=En+4|0,Ga=Ga+4|0;while((En|0)<(SE|0));if(Hi=r0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(X8=1-Ze,ei=De+1|0,Bi=t+8|0,ti=C3+4|0,o0=e[Bi>>2]|0,yi=+(o0|0),pn=0;;){if(li=((ae+(De*240|0)|0)+120|0)+(pn<<2)|0,g7=+s[li>>2],Yi=g7,Qi=Yi*X8,wi=((ae+(ei*240|0)|0)+120|0)+(pn<<2)|0,u7=+s[wi>>2],ci=u7,h7=ci*Ze,zi=h7+Qi,Ji=zi,Ki=Ji,Wi=Ki*1e3,gi=Wi/yi,ki=e[C3>>2]|0,Zi=+(ki|0),ii=Zi*gi,ni=~~ii,d7=(C3+3e3|0)+(pn<<2)|0,e[d7>>2]=ni,ji=e[ti>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(C3+3060|0)+(pn<<2)|0,e[bi>>2]=Xi,Di=~~Ji,e7=(C3+2940|0)+(pn<<2)|0,e[e7>>2]=Di,_i=((ae+(De*240|0)|0)+180|0)+(pn<<2)|0,xi=+s[_i>>2],t7=xi,hi=t7*X8,K8=((ae+(ei*240|0)|0)+180|0)+(pn<<2)|0,Li=+s[K8>>2],x4=Li,Mi=x4*Ze,G8=Mi+hi,di=G8,$9=di,vt=$9*1e3,y8=vt/yi,U8=e[C3>>2]|0,rr=+(U8|0),kn=rr*y8,As=~~kn,zr=(C3+3240|0)+(pn<<2)|0,e[zr>>2]=As,$s=e[ti>>2]|0,Jr=+($s|0),ls=Jr*y8,Kr=~~ls,gs=(C3+3300|0)+(pn<<2)|0,e[gs>>2]=Kr,or=pn+1|0,hQ=(or|0)==15,hQ)break e;pn=or}for(us=(ae+(De*240|0)|0)+148|0,hs=+s[us>>2],ds=hs,Wr=1-Ze,fs=ds*Wr,Zr=De+1|0,jr=(ae+(Zr*240|0)|0)+148|0,sr=+s[jr>>2],Xr=sr,ar=Xr*Ze,eo=ar+fs,to=eo,ms=to,ps=ms*1e3,Es=t+8|0,Ar=C3+4|0,io=~~to,h0=e[Es>>2]|0,Sn=+(h0|0),$r=ps/Sn,Eu=0;Bs=e[C3>>2]|0,ys=+(Bs|0),lr=ys*$r,I7=~~lr,no=(C3+3e3|0)+(Eu<<2)|0,e[no>>2]=I7,Qs=e[Ar>>2]|0,ws=+(Qs|0),ro=ws*$r,so=~~ro,vs=(C3+3060|0)+(Eu<<2)|0,e[vs>>2]=so,m7=(C3+2940|0)+(Eu<<2)|0,e[m7>>2]=io,cr=Eu+1|0,IQ=(cr|0)==15,!IQ;)Eu=cr;for(ks=(ae+(De*240|0)|0)+208|0,ao=+s[ks>>2],Ss=ao,bs=Ss*Wr,Ds=(ae+(Zr*240|0)|0)+208|0,Ao=+s[Ds>>2],xs=Ao,Ls=xs*Ze,Ms=Ls+bs,$o=Ms,Rs=$o,Fs=Rs*1e3,gr=Fs/Sn,Sp=0;bn=e[C3>>2]|0,ur=+(bn|0),Ts=ur*gr,Ns=~~Ts,lo=(C3+3240|0)+(Sp<<2)|0,e[lo>>2]=Ns,hr=e[Ar>>2]|0,co=+(hr|0),dr=co*gr,Gs=~~dr,go=(C3+3300|0)+(Sp<<2)|0,e[go>>2]=Gs,uo=Sp+1|0,uQ=(uo|0)==15,!uQ;)Sp=uo}while(!1);for(Us=+l1[N4>>3],ho=T6+92|0,Ps=e[ho>>2]|0,Dn=T6+100|0,Io=e[Dn>>2]|0,p7=T6+108|0,fr=e[p7>>2]|0,_n=e[I0>>2]|0,An=_n+2852|0,xn=e[An>>2]|0,Z7=~~Us,Ln=_n+28|0,D7=e[Ln>>2]|0,_7=(D7|0)>0,_7||(e[Ln>>2]=1),i7=(xn|0)==0,i7?(x7=ce(1,520)|0,e[An>>2]=x7,Ra=x7):Ra=xn,ge(Ra|0,25784,520)|0,e[Ra>>2]=0,Mn=_n+3460|0,$n=e[Mn>>2]|0,ln=($n|0)==0,ln||(Rn=Ra+500|0,e[Rn>>2]=1,E7=Ps+(Z7<<2)|0,Os=e[E7>>2]|0,cl=Ra+504|0,e[cl>>2]=Os,Ir=Io+(Z7<<2)|0,mr=e[Ir>>2]|0,Vu=Ra+508|0,e[Vu>>2]=mr,gl=fr+(Z7<<3)|0,qs=+l1[gl>>3],Yu=Ra+512|0,l1[Yu>>3]=qs),cA=+l1[N4>>3],ul=e[ho>>2]|0,zu=e[Dn>>2]|0,Ku=e[p7>>2]|0,gA=e[I0>>2]|0,hl=gA+2856|0,dl=e[hl>>2]|0,uA=~~cA,pr=gA+28|0,fl=e[pr>>2]|0,Wu=(fl|0)>1,Wu||(e[pr>>2]=2),Hs=(dl|0)==0,Hs?(cn=ce(1,520)|0,e[hl>>2]=cn,Fa=cn):Fa=dl,ge(Fa|0,25784,520)|0,e[Fa>>2]=0,ju=gA+3460|0,Xu=e[ju>>2]|0,eh=(Xu|0)==0,eh||(th=Fa+500|0,e[th>>2]=1,ih=ul+(uA<<2)|0,nh=e[ih>>2]|0,rh=Fa+504|0,e[rh>>2]=nh,oh=zu+(uA<<2)|0,sh=e[oh>>2]|0,Il=Fa+508|0,e[Il>>2]=sh,ah=Ku+(uA<<3)|0,Ah=+l1[ah>>3],ml=Fa+512|0,l1[ml>>3]=Ah),J8||($h=+l1[N4>>3],hA=T6+96|0,Vs=e[hA>>2]|0,dA=T6+104|0,lh=e[dA>>2]|0,ch=e[p7>>2]|0,fA=e[I0>>2]|0,El=fA+2860|0,Cl=e[El>>2]|0,IA=~~$h,Bl=fA+28|0,Ys=e[Bl>>2]|0,gh=(Ys|0)>2,gh||(e[Bl>>2]=3),uh=(Cl|0)==0,uh?(yl=ce(1,520)|0,e[El>>2]=yl,Ta=yl):Ta=Cl,ge(Ta|0,25784,520)|0,e[Ta>>2]=1,hh=fA+3460|0,dh=e[hh>>2]|0,fh=(dh|0)==0,fh||(Ih=Ta+500|0,e[Ih>>2]=1,wl=Vs+(IA<<2)|0,vl=e[wl>>2]|0,kl=Ta+504|0,e[kl>>2]=vl,Sl=lh+(IA<<2)|0,bl=e[Sl>>2]|0,Er=Ta+508|0,e[Er>>2]=bl,mh=ch+(IA<<3)|0,Dl=+l1[mh>>3],_l=Ta+512|0,l1[_l>>3]=Dl),xl=+l1[N4>>3],Eh=e[hA>>2]|0,Ch=e[dA>>2]|0,Bh=e[p7>>2]|0,mA=e[I0>>2]|0,Ll=mA+2864|0,Ml=e[Ll>>2]|0,po=~~xl,Rl=mA+28|0,yh=e[Rl>>2]|0,Fl=(yh|0)>3,Fl||(e[Rl>>2]=4),Qh=(Ml|0)==0,Qh?(Tl=ce(1,520)|0,e[Ll>>2]=Tl,Na=Tl):Na=Ml,ge(Na|0,25784,520)|0,e[Na>>2]=1,wh=mA+3460|0,vh=e[wh>>2]|0,Nl=(vh|0)==0,Nl||(Gl=Na+500|0,e[Gl>>2]=1,kh=Eh+(po<<2)|0,zs=e[kh>>2]|0,EA=Na+504|0,e[EA>>2]=zs,Ul=Ch+(po<<2)|0,Pl=e[Ul>>2]|0,bh=Na+508|0,e[bh>>2]=Pl,Dh=Bh+(po<<3)|0,_h=+l1[Dh>>3],xh=Na+512|0,l1[xh>>3]=_h)),Lh=(r0+3528|0)+(o<<5)|0,Mh=+l1[Lh>>3],Js=T6+32|0,Hl=e[Js>>2]|0,Ks=T6+36|0,Rh=e[Ks>>2]|0,Vl=T6+44|0,Fh=e[Vl>>2]|0,lE(t,Mh,0,Hl,Rh,Fh),Yl=r0+3560|0,Th=+l1[Yl>>3],Nh=e[Js>>2]|0,zl=e[Ks>>2]|0,CA=T6+52|0,Uh=e[CA>>2]|0,lE(t,Th,1,Nh,zl,Uh),J8||(Ws=r0+3592|0,Ph=+l1[Ws>>3],Zs=e[Js>>2]|0,Oh=e[Ks>>2]|0,BA=e[CA>>2]|0,lE(t,Ph,2,Zs,Oh,BA),qh=r0+3624|0,Hh=+l1[qh>>3],Vh=e[Js>>2]|0,Jl=e[Ks>>2]|0,zh=T6+48|0,Jh=e[zh>>2]|0,lE(t,Hh,3,Vh,Jl,Jh)),Kh=((r0+3528|0)+(o<<5)|0)+24|0,Kl=+l1[Kh>>3],Wl=T6+80|0,gn=e[Wl>>2]|0,Zl=T6+84|0,js=e[Zl>>2]|0,yA=~~Kl,QA=+(yA|0),jl=Kl-QA,Br=e[I0>>2]|0,Wh=Br+2852|0,Xl=e[Wh>>2]|0,Zh=js+(yA<<3)|0,jh=+l1[Zh>>3],Xh=1-jl,ed=jh*Xh,Xs=yA+1|0,wA=js+(Xs<<3)|0,td=+l1[wA>>3],id=td*jl,ec=id+ed,vA=~~ec,tc=+(vA|0),ic=ec-tc,nd=ic==0,nc=(vA|0)>0,ZC=nc&nd,$=ZC?1:ic,rd=ZC<<31>>31,N=rd+vA|0,kA=1-$,sd=N+1|0,fu=0;K9=(gn+(N*160|0)|0)+(fu<<2)|0,ad=e[K9>>2]|0,rc=+(ad|0),Ad=rc*kA,$d=(gn+(sd*160|0)|0)+(fu<<2)|0,SA=e[$d>>2]|0,ld=+(SA|0),bA=ld*$,oc=bA+Ad,gd=oc,sc=(Xl+336|0)+(fu<<2)|0,s[sc>>2]=gd,ac=fu+1|0,aQ=(ac|0)==40,!aQ;)fu=ac;for(ud=r0+3584|0,DA=+l1[ud>>3],_A=~~DA,Ac=+(_A|0),$c=DA-Ac,hd=Br+2856|0,lc=e[hd>>2]|0,dd=js+(_A<<3)|0,cc=+l1[dd>>3],fd=1-$c,Id=cc*fd,md=_A+1|0,pd=js+(md<<3)|0,gc=+l1[pd>>3],uc=gc*$c,LA=uc+Id,ea=~~LA,Ed=+(ea|0),dc=LA-Ed,fc=dc==0,Cd=(ea|0)>0,jC=Cd&fc,g=jC?1:dc,Bd=jC<<31>>31,O=Bd+ea|0,yd=1-g,Ic=O+1|0,Iu=0;Qd=(gn+(O*160|0)|0)+(Iu<<2)|0,wd=e[Qd>>2]|0,vd=+(wd|0),Sd=vd*yd,bd=(gn+(Ic*160|0)|0)+(Iu<<2)|0,mc=e[bd>>2]|0,Dd=+(mc|0),pc=Dd*g,_d=pc+Sd,yr=_d,xd=(lc+336|0)+(Iu<<2)|0,s[xd>>2]=yr,Ec=Iu+1|0,AQ=(Ec|0)==40,!AQ;)Iu=Ec;if(!J8){for(Ld=r0+3616|0,MA=+l1[Ld>>3],Md=T6+88|0,ta=e[Md>>2]|0,RA=~~MA,Rd=+(RA|0),FA=MA-Rd,Bc=Br+2860|0,Fd=e[Bc>>2]|0,Td=ta+(RA<<3)|0,Nd=+l1[Td>>3],Ud=1-FA,yc=Nd*Ud,Pd=RA+1|0,Od=ta+(Pd<<3)|0,qd=+l1[Od>>3],ia=qd*FA,Co=ia+yc,TA=~~Co,Hd=+(TA|0),NA=Co-Hd,Yd=NA==0,zd=(TA|0)>0,XC=zd&Yd,d=XC?1:NA,Qc=XC<<31>>31,H=Qc+TA|0,Jd=1-d,Kd=H+1|0,mu=0;Wd=(gn+(H*160|0)|0)+(mu<<2)|0,Zd=e[Wd>>2]|0,jd=+(Zd|0),na=jd*Jd,Xd=(gn+(Kd*160|0)|0)+(mu<<2)|0,wc=e[Xd>>2]|0,tf=+(wc|0),nf=tf*d,rf=nf+na,of=rf,C7=(Fd+336|0)+(mu<<2)|0,s[C7>>2]=of,vc=mu+1|0,$Q=(vc|0)==40,!$Q;)mu=vc;for(B7=r0+3648|0,kc=+l1[B7>>3],GA=~~kc,n7=+(GA|0),Bo=kc-n7,af=Br+2864|0,Af=e[af>>2]|0,$f=ta+(GA<<3)|0,lf=+l1[$f>>3],cf=1-Bo,Sc=lf*cf,gf=GA+1|0,uf=ta+(gf<<3)|0,hf=+l1[uf>>3],df=hf*Bo,yo=df+Sc,UA=~~yo,ff=+(UA|0),Dc=yo-ff,If=Dc==0,mf=(UA|0)>0,eB=mf&If,p=eB?1:Dc,ra=eB<<31>>31,V=ra+UA|0,pf=1-p,_c=V+1|0,pu=0;xc=(gn+(V*160|0)|0)+(pu<<2)|0,Cf=e[xc>>2]|0,Bf=+(Cf|0),Qr=Bf*pf,yf=(gn+(_c*160|0)|0)+(pu<<2)|0,Qf=e[yf>>2]|0,wr=+(Qf|0),wf=wr*p,Lc=wf+Qr,kf=Lc,Qo=(Af+336|0)+(pu<<2)|0,s[Qo>>2]=kf,Mc=pu+1|0,lQ=(Mc|0)==40,!lQ;)pu=Mc}for(Sf=((r0+3528|0)+(o<<5)|0)+8|0,Rc=+l1[Sf>>3],bf=T6+40|0,un=e[bf>>2]|0,PA=~~Rc,Df=+(PA|0),Fc=Rc-Df,_f=un+(PA<<2)|0,xf=e[_f>>2]|0,Nc=+(xf|0),Lf=1-Fc,Mf=Nc*Lf,Rf=PA+1|0,Gc=un+(Rf<<2)|0,Ff=e[Gc>>2]|0,wo=+(Ff|0),Tf=wo*Fc,Nf=Tf+Mf,Gf=Nf,OA=Xl+32|0,s[OA>>2]=Gf,Uf=r0+3568|0,qA=+l1[Uf>>3],HA=~~qA,Pf=+(HA|0),Uc=qA-Pf,Pc=un+(HA<<2)|0,Of=e[Pc>>2]|0,Hc=+(Of|0),qf=1-Uc,Vc=Hc*qf,Yc=HA+1|0,Hf=un+(Yc<<2)|0,Vf=e[Hf>>2]|0,zc=+(Vf|0),Jc=zc*Uc,Yf=Jc+Vc,Kc=Yf,zf=lc+32|0,s[zf>>2]=Kc,J8||(Jf=r0+3600|0,Zc=+l1[Jf>>3],VA=~~Zc,jc=+(VA|0),Xc=Zc-jc,eg=Br+2860|0,tg=e[eg>>2]|0,Kf=un+(VA<<2)|0,Wf=e[Kf>>2]|0,jf=+(Wf|0),Xf=1-Xc,eI=jf*Xf,tI=VA+1|0,iI=un+(tI<<2)|0,ig=e[iI>>2]|0,YA=+(ig|0),nI=YA*Xc,rI=nI+eI,oI=rI,rg=tg+32|0,s[rg>>2]=oI,sI=r0+3632|0,og=+l1[sI>>3],zA=~~og,oa=+(zA|0),sg=og-oa,aI=Br+2864|0,AI=e[aI>>2]|0,$I=un+(zA<<2)|0,lI=e[$I>>2]|0,sa=+(lI|0),cI=1-sg,gI=sa*cI,uI=zA+1|0,hI=un+(uI<<2)|0,dI=e[hI>>2]|0,fI=+(dI|0),II=fI*sg,mI=II+gI,Ag=mI,EI=AI+32|0,s[EI>>2]=Ag),CI=((r0+3528|0)+(o<<5)|0)+16|0,BI=+l1[CI>>3],aa=T6+76|0,$g=e[aa>>2]|0,yI=T6+60|0,QI=e[yI>>2]|0,kr=T6+56|0,lg=e[kr>>2]|0,Ol?gg=0:(cg=r0+3408|0,wI=+l1[cg>>3],gg=wI),cE(t,BI,0,$g,QI,lg,gg),vI=r0+3576|0,ug=+l1[vI>>3],hg=e[aa>>2]|0,kI=T6+64|0,SI=e[kI>>2]|0,bI=e[kr>>2]|0,cE(t,ug,1,hg,SI,bI,0),J8?(vo=e[I0>>2]|0,jI=vo+2852|0,vg=e[jI>>2]|0,XI=vo+3496|0,ZA=+l1[XI>>3],kg=ZA,em=vg+4|0,s[em>>2]=kg,im=vo+3504|0,nm=+l1[im>>3],Sg=nm,rm=vg+8|0,s[rm>>2]=Sg,om=vo+2856|0,bg=e[om>>2]|0,ga=bg+4|0,s[ga>>2]=kg,sm=bg+8|0,s[sm>>2]=Sg,hn=vo):(DI=r0+3608|0,_I=+l1[DI>>3],KA=e[aa>>2]|0,xI=T6+68|0,LI=e[xI>>2]|0,MI=e[kr>>2]|0,cE(t,_I,2,KA,LI,MI,0),RI=r0+3640|0,dg=+l1[RI>>3],FI=e[aa>>2]|0,fg=T6+72|0,TI=e[fg>>2]|0,NI=e[kr>>2]|0,cE(t,dg,3,FI,TI,NI,0),Nn=e[I0>>2]|0,mg=Nn+2852|0,pg=e[mg>>2]|0,GI=Nn+3496|0,Eg=+l1[GI>>3],$a=Eg,UI=pg+4|0,s[UI>>2]=$a,PI=Nn+3504|0,OI=+l1[PI>>3],la=OI,qI=pg+8|0,s[qI>>2]=la,HI=Nn+2856|0,Bg=e[HI>>2]|0,VI=Bg+4|0,s[VI>>2]=$a,YI=Bg+8|0,s[YI>>2]=la,WA=Nn+2860|0,ca=e[WA>>2]|0,zI=ca+4|0,s[zI>>2]=$a,JI=ca+8|0,s[JI>>2]=la,KI=Nn+2864|0,wg=e[KI>>2]|0,WI=wg+4|0,s[WI>>2]=$a,ZI=wg+8|0,s[ZI>>2]=la,hn=Nn),am=+l1[N4>>3],Am=T6+152|0,Dg=e[Am>>2]|0,_g=~~am,$m=Dg+(_g<<3)|0,xg=e[$m>>2]|0,Lg=(Dg+(_g<<3)|0)+4|0,L7=e[Lg>>2]|0,Mg=e[hn>>2]|0,lm=hn+4|0,cm=e[lm>>2]|0,um=(Mg|0)==(cm|0),a=um?1:2,jA=hn+8|0,ua=hn+12|0,Rg=t+8|0,Fg=t+4|0,Q7=0;;){if(hm=ce(1,3208)|0,ha=(hn+544|0)+(Q7<<2)|0,e[ha>>2]=hm,So=ce(1,16)|0,dm=(hn+32|0)+(Q7<<2)|0,e[dm>>2]=So,da=26304+(Q7<<4)|0,e[So>>2]=e[da>>2]|0,e[So+4>>2]=e[da+4>>2]|0,e[So+8>>2]=e[da+8>>2]|0,e[So+12>>2]=e[da+12>>2]|0,fm=e[jA>>2]|0,e$=(Q7|0)<(fm|0),e$||(Im=Q7+1|0,e[jA>>2]=Im),mm=(hn+288|0)+(Q7<<2)|0,e[mm>>2]=0,Tg=e[ha>>2]|0,fa=xg+(Q7*3208|0)|0,ge(Tg|0,fa|0,3208)|0,Ng=e[ua>>2]|0,pm=(Q7|0)<(Ng|0),pm||(Em=Q7+1|0,e[ua>>2]=Em),Cm=e[fa>>2]|0,Gg=(Cm|0)>0,Gg)for(EE=0;;){ym=((xg+(Q7*3208|0)|0)+1092|0)+(EE<<2)|0,oi=e[ym>>2]|0,_e=e[I0>>2]|0,r7=R9(2840)|0,Qm=(_e+1568|0)+(oi<<2)|0,e[Qm>>2]=r7,Ug=(L7+(oi<<5)|0)+12|0,Pg=e[Ug>>2]|0,ge(r7|0,Pg|0,2840)|0,t$=_e+20|0,wm=e[t$>>2]|0,bo=(wm|0)>(oi|0),bo||(vm=oi+1|0,e[t$>>2]=vm),km=(L7+(oi<<5)|0)+8|0,Og=e[km>>2]|0,i$=r7+8|0,e[i$>>2]=Og,Sm=L7+(oi<<5)|0,qg=e[Sm>>2]|0,Hg=(_e+1312|0)+(oi<<2)|0,e[Hg>>2]=qg,Vg=_e+3420|0,n$=e[Vg>>2]|0,Yg=(n$|0)==0,Do=r7+12|0,o$=e[Do>>2]|0,zg=(o$|0)>0;do if(Yg){if(zg)for(Jg=(L7+(oi<<5)|0)+24|0,Ia=e[Jg>>2]|0,_m=r7+24|0,Ma=0;;)if(In=_m+(Ma<<2)|0,Dr=Ia+(Ma<<4)|0,Ri=e[Dr>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[In>>2]|0,Ba=Ti|1,e[In>>2]=Ba),ya=(Ia+(Ma<<4)|0)+4|0,ou=e[ya>>2]|0,su=(ou|0)==0,su||(b2=e[In>>2]|0,y5=b2|2,e[In>>2]=y5),s5=(Ia+(Ma<<4)|0)+8|0,F2=e[s5>>2]|0,R2=(F2|0)==0,R2||(Q2=e[In>>2]|0,Q5=Q2|4,e[In>>2]=Q5),E5=(Ia+(Ma<<4)|0)+12|0,L5=e[E5>>2]|0,q5=(L5|0)==0,q5||(M5=e[In>>2]|0,z2=M5|8,e[In>>2]=z2),C5=Ma+1|0,$5=e[Do>>2]|0,h5=(C5|0)<($5|0),h5)Ma=C5;else{Sa=$5;break}else Sa=o$;Qa=(L7+(oi<<5)|0)+16|0,h$=e[Qa>>2]|0,Ni=_e+24|0,On=e[Ni>>2]|0,d$=(On|0)>0,ep=h$;e:do if(d$)for(kp=0;;){if(f$=(_e+1824|0)+(kp<<2)|0,tp=e[f$>>2]|0,I$=(tp|0)==(h$|0),I$){L=kp;break e}if(au=kp+1|0,va=(au|0)<(On|0),va)kp=au;else{$e=116;break}}else $e=116;while(!1);if(($e|0)==116&&($e=0,ip=On+1|0,e[Ni>>2]=ip,L=On),np=r7+20|0,e[np>>2]=L,rp=(_e+1824|0)+(L<<2)|0,e[rp>>2]=ep,_r=(Sa|0)>0,!_r)break;for(tt=(L7+(oi<<5)|0)+24|0,Le=r7+280|0,Yn=0,b$=0;;){if(Au=e[tt>>2]|0,op=Au+(b$<<4)|0,m$=e[op>>2]|0,$u=(m$|0)==0,sp=m$,$u)Mo=Au,fp=Yn;else{ba=e[Ni>>2]|0,Ap=(ba|0)>0;e:do if(Ap)for(Bp=0;;){if($p=(_e+1824|0)+(Bp<<2)|0,lp=e[$p>>2]|0,cp=(lp|0)==(m$|0),cp){M=Bp;break e}if(lu=Bp+1|0,gp=(lu|0)<(ba|0),gp)Bp=lu;else{$e=123;break}}else $e=123;while(!1);($e|0)==123&&($e=0,up=ba+1|0,e[Ni>>2]=up,M=ba),hp=Yn+1|0,o7=Le+(Yn<<2)|0,e[o7>>2]=M,xr=(_e+1824|0)+(M<<2)|0,e[xr>>2]=sp,c0=e[tt>>2]|0,Mo=c0,fp=hp}if(p$=(Mo+(b$<<4)|0)+4|0,Ro=e[p$>>2]|0,si=(Ro|0)==0,Fo=Ro,si)C2=Mo,Xe=fp;else{K1=e[Ni>>2]|0,q1=(K1|0)>0;e:do if(q1)for(pp=0;;){if(H1=(_e+1824|0)+(pp<<2)|0,Y1=e[H1>>2]|0,t2=(Y1|0)==(Ro|0),t2){_=pp;break e}if(s2=pp+1|0,e2=(s2|0)<(K1|0),e2)pp=s2;else{$e=147;break}}else $e=147;while(!1);($e|0)==147&&($e=0,O1=K1+1|0,e[Ni>>2]=O1,_=K1),h2=fp+1|0,Z1=Le+(fp<<2)|0,e[Z1>>2]=_,I2=(_e+1824|0)+(_<<2)|0,e[I2>>2]=Fo,$0=e[tt>>2]|0,C2=$0,Xe=h2}if(A2=(C2+(b$<<4)|0)+8|0,W1=e[A2>>2]|0,f2=(W1|0)==0,c2=W1,f2)M2=C2,v$=Xe;else{r2=e[Ni>>2]|0,g2=(r2|0)>0;e:do if(g2)for(Ep=0;;){if(o2=(_e+1824|0)+(Ep<<2)|0,l2=e[o2>>2]|0,i2=(l2|0)==(W1|0),i2){Q=Ep;break e}if(a2=Ep+1|0,m2=(a2|0)<(r2|0),m2)Ep=a2;else{$e=153;break}}else $e=153;while(!1);($e|0)==153&&($e=0,k2=r2+1|0,e[Ni>>2]=k2,Q=r2),D2=Xe+1|0,S2=Le+(Xe<<2)|0,e[S2>>2]=Q,y2=(_e+1824|0)+(Q<<2)|0,e[y2>>2]=c2,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)VC=v$;else{q2=e[Ni>>2]|0,U2=(q2|0)>0;e:do if(U2)for(Cp=0;;){if(V2=(_e+1824|0)+(Cp<<2)|0,Z2=e[V2>>2]|0,A5=(Z2|0)==(O2|0),A5){x=Cp;break e}if(Y2=Cp+1|0,N1=(Y2|0)<(q2|0),N1)Cp=Y2;else{$e=159;break}}else $e=159;while(!1);($e|0)==159&&($e=0,t5=q2+1|0,e[Ni>>2]=t5,x=q2),T5=v$+1|0,i5=Le+(v$<<2)|0,e[i5>>2]=x,x5=(_e+1824|0)+(x<<2)|0,e[x5>>2]=W2,VC=T5}if(D5=b$+1|0,V5=e[Do>>2]|0,u5=(D5|0)<(V5|0),u5)Yn=VC,b$=D5;else break}}else{if(zg)for(bm=(L7+(oi<<5)|0)+28|0,Sr=e[bm>>2]|0,Dm=r7+24|0,La=0;;)if(M7=Dm+(La<<2)|0,xm=Sr+(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=(Sr+(La<<4)|0)+4|0,R7=e[Tm>>2]|0,Nm=(R7|0)==0,Nm||(l6=e[M7>>2]|0,r3=l6|2,e[M7>>2]=r3),l3=(Sr+(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=(Sr+(La<<4)|0)+12|0,n6=e[A6>>2]|0,z3=(n6|0)==0,z3||(j5=e[M7>>2]|0,M3=j5|8,e[M7>>2]=M3),h3=La+1|0,J3=e[Do>>2]|0,d6=(h3|0)<(J3|0),d6)La=h3;else{nu=J3;break}else nu=o$;Gm=(L7+(oi<<5)|0)+20|0,Wg=e[Gm>>2]|0,y7=_e+24|0,ma=e[y7>>2]|0,s$=(ma|0)>0,Zg=Wg;e:do if(s$)for(mp=0;;){if(jg=(_e+1824|0)+(mp<<2)|0,Pm=e[jg>>2]|0,Xg=(Pm|0)==(Wg|0),Xg){B=mp;break e}if(eu=mp+1|0,Om=(eu|0)<(ma|0),Om)mp=eu;else{$e=100;break}}else $e=100;while(!1);if(($e|0)==100&&($e=0,iu=ma+1|0,e[y7>>2]=iu,B=ma),Hm=r7+20|0,e[Hm>>2]=B,Vm=(_e+1824|0)+(B<<2)|0,e[Vm>>2]=Zg,Ym=(nu|0)>0,!Ym)break;for(_o=(L7+(oi<<5)|0)+28|0,pa=r7+280|0,Po=0,k$=0;;){if(Ea=e[_o>>2]|0,zm=Ea+(k$<<4)|0,a$=e[zm>>2]|0,Km=(a$|0)==0,ru=a$,Km)Lo=Ea,Rr=Po;else{xo=e[y7>>2]|0,Wm=(xo|0)>0;e:do if(Wm)for(vp=0;;){if(Zm=(_e+1824|0)+(vp<<2)|0,A$=e[Zm>>2]|0,$$=(A$|0)==(a$|0),$$){w=vp;break e}if(Ca=vp+1|0,l$=(Ca|0)<(xo|0),l$)vp=Ca;else{$e=107;break}}else $e=107;while(!1);($e|0)==107&&($e=0,c$=xo+1|0,e[y7>>2]=c$,w=xo),Un=Po+1|0,Pn=pa+(Po<<2)|0,e[Pn>>2]=w,g$=(_e+1824|0)+(w<<2)|0,e[g$>>2]=ru,K=e[_o>>2]|0,Lo=K,Rr=Un}if(u$=(Lo+(k$<<4)|0)+4|0,fn=e[u$>>2]|0,br=(fn|0)==0,jm=fn,br)R5=Lo,Lr=Rr;else{w5=e[y7>>2]|0,T1=(w5|0)>0;e:do if(T1)for(yp=0;;){if(d5=(_e+1824|0)+(yp<<2)|0,l5=e[d5>>2]|0,X2=(l5|0)==(fn|0),X2){b=yp;break e}if(d2=yp+1|0,v5=(d2|0)<(w5|0),v5)yp=d2;else{$e=171;break}}else $e=171;while(!1);($e|0)==171&&($e=0,n5=w5+1|0,e[y7>>2]=n5,b=w5),a5=Rr+1|0,f5=pa+(Rr<<2)|0,e[f5>>2]=b,K2=(_e+1824|0)+(b<<2)|0,e[K2>>2]=jm,e0=e[_o>>2]|0,R5=e0,Lr=a5}if(I5=(R5+(k$<<4)|0)+8|0,e5=e[I5>>2]|0,c5=(e5|0)==0,T2=e5,c5)f3=R5,Mr=Lr;else{k5=e[y7>>2]|0,z5=(k5|0)>0;e:do if(z5)for(Qp=0;;){if(i3=(_e+1824|0)+(Qp<<2)|0,B5=e[i3>>2]|0,I3=(B5|0)==(e5|0),I3){D=Qp;break e}if(d3=Qp+1|0,n3=(d3|0)<(k5|0),n3)Qp=d3;else{$e=177;break}}else $e=177;while(!1);($e|0)==177&&($e=0,a3=k5+1|0,e[y7>>2]=a3,D=k5),y3=Lr+1|0,G5=pa+(Lr<<2)|0,e[G5>>2]=D,Z5=(_e+1824|0)+(D<<2)|0,e[Z5>>2]=T2,u0=e[_o>>2]|0,f3=u0,Mr=y3}if(x3=(f3+(k$<<4)|0)+12|0,w3=e[x3>>2]|0,e6=(w3|0)==0,H3=w3,e6)q9=Mr;else{_3=e[y7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(wp=0;;){if(a6=(_e+1824|0)+(wp<<2)|0,G3=e[a6>>2]|0,V3=(G3|0)==(w3|0),V3){k=wp;break e}if(c3=wp+1|0,g3=(c3|0)<(_3|0),g3)wp=c3;else{$e=183;break}}else $e=183;while(!1);($e|0)==183&&($e=0,u3=_3+1|0,e[y7>>2]=u3,k=_3),Q3=Mr+1|0,J5=pa+(Mr<<2)|0,e[J5>>2]=k,Y5=(_e+1824|0)+(k<<2)|0,e[Y5>>2]=H3,q9=Q3}if(b5=k$+1|0,Y3=e[Do>>2]|0,U5=(b5|0)<(Y3|0),U5)Po=q9,k$=b5;else break}}while(!1);cu=_e+3480|0,gu=+l1[cu>>3],_a=gu*1e3,To=(_e+1056|0)+(Q7<<2)|0,Go=e[To>>2]|0,dp=e[Rg>>2]|0,Uo=+(dp|0),mn=Uo*.5,uu=_e+(Q7<<2)|0,qn=e[uu>>2]|0,s7=qn>>1,E$=_a>mn,zC=E$?mn:_a,C$=zC/mn,X7=+(s7|0),y$=X7*C$,Q$=~~y$,Hn=Go+1116|0,e[Hn>>2]=Q$,h6=(L7+(oi<<5)|0)+4|0,xa=e[h6>>2]|0;do if((xa|0)==2)du=250;else if((xa|0)==1){if(Vn=e[Vg>>2]|0,hu=(Vn|0)==0,L4=_e+2996|0,w$=_e+2968|0,EQ=hu?w$:L4,pQ=e[EQ>>2]|0,mQ=+(pQ|0),JC=mQ*1e3,kt=JC>mn,!kt){du=JC;break}du=mn}else du=zC;while(!1);C0=e[Hg>>2]|0,b0=(C0|0)==2;do if(b0){if(y0=_e+12|0,D0=e[y0>>2]|0,E0=(D0|0)>0,E0)for(pE=0;;){if(Q0=(_e+544|0)+(pE<<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,N0=(v0|0)==(oi|0);do if(N0){if(U0=e[Fg>>2]|0,O0=(U0|0)>0,O0)YC=0,BE=0;else{Ip=0;break}for(;;)if(H0=(w0+4|0)+(BE<<2)|0,S0=e[H0>>2]|0,J0=(S0|0)==(bp|0),T0=J0&1,J=T0+YC|0,M0=BE+1|0,sQ=(M0|0)==(U0|0),sQ){Ip=J;break}else YC=J,BE=M0}else Ip=0;while(!1);if(P0=bp+1|0,K0=(P0|0)<(B0|0),V0=(Ip|0)==0,j0=K0&V0,j0)bp=P0;else{fE=Ip;break}}else fE=0;if(q0=pE+1|0,Y0=(q0|0)<(D0|0),s1=(fE|0)==0,z0=Y0&s1,z0)pE=q0;else{dE=fE;break}}else dE=0;if(n1=du/mn,L0=+(dE|0),o1=L0*X7,u1=o1*n1,p1=e[i$>>2]|0,f1=+(p1|0),h1=u1/f1,A1=h1+.9,c1=~~A1,a1=o5(c1,p1)|0,$1=r7+4|0,e[$1>>2]=a1,X0=o5(dE,s7)|0,B1=(a1|0)>(X0|0),!B1){Y=$1,X1=a1,x1=p1;break}Q1=(X0|0)%(p1|0)&-1,C1=X0-Q1|0,e[$1>>2]=C1,Y=$1,X1=C1,x1=p1}else{if(y1=du/mn,v1=y1*X7,k1=e[i$>>2]|0,S1=+(k1|0),L1=v1/S1,M1=L1+.9,b1=~~M1,_1=o5(b1,k1)|0,F1=r7+4|0,e[F1>>2]=_1,U1=(_1|0)>(s7|0),!U1){Y=F1,X1=_1,x1=k1;break}D1=(s7|0)%(k1|0)&-1,P1=s7-D1|0,e[F1>>2]=P1,Y=F1,X1=P1,x1=k1}while(!1);if(G1=(X1|0)==0,G1&&(e[Y>>2]=x1),m3=EE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)EE=m3;else break}if(S6=Q7+1|0,r6=(S6|0)<(a|0),r6)Q7=S6;else break}return f6=r0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(v6=e[I0>>2]|0,R3=v6+3396|0,s6=e[R3>>2]|0,B6=v6+3400|0,K3=+l1[B6>>3],F3=~~K3,W3=+(F3|0),t6=K3-W3,R6=s6+4|0,c6=e[R6>>2]|0,o3=(c6|0)==0,o3?y=-1:(J6=e[Fg>>2]|0,y6=c6+(F3<<3)|0,T3=+l1[y6>>3],H6=1-t6,$6=T3*H6,D6=F3+1|0,G6=c6+(D6<<3)|0,e9=+l1[G6>>3],Q6=e9*t6,X6=Q6+$6,P3=+(J6|0),V6=X6*P3,CQ=~~V6,y=CQ),o9=t+16|0,e[o9>>2]=y),g9=r0+3424|0,U6=e[g9>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=r0+3440|0,t9=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=t9,P6=(b6|0)==0,P6?g0=0:(O3=r0+3444|0,s9=e[O3>>2]|0,h9=+(s9|0),r9=+(b6|0),B9=h9/r9,y9=~~B9,g0=y9),Q9=t+24|0,e[Q9>>2]=g0,d9=r0+3420|0,f9=e[d9>>2]|0,V9=(f9|0)==0,V9?(E=0,E|0):(w6=e[f6>>2]|0,a9=r0+3360|0,e[a9>>2]=w6,Y9=e[g9>>2]|0,w9=r0+3364|0,e[w9>>2]=Y9,we=e[F6>>2]|0,ue=r0+3368|0,e[ue>>2]=we,Ee=r0+3444|0,z9=e[Ee>>2]|0,ne=r0+3372|0,e[ne>>2]=z9,F9=r0+3448|0,v9=+l1[F9>>3],A9=r0+3376|0,l1[A9>>3]=v9,ve=r0+3432|0,Me=+l1[ve>>3],he=r0+3384|0,l1[he>>3]=Me,E=0,E|0)}function cD(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0;if(J=C,I=(a|0)<1,I)d=-131;else if(E=t+28|0,Q=e[E>>2]|0,x=$,M=x+1e-7,L=M,F=!(L>=1),p=F?L:.9998999834060669,N=Q+3416|0,s[N>>2]=p,O=p,H=Q+3400|0,y=gD(o,a,O,0,H)|0,B=Q+3396|0,e[B>>2]=y,b=(y|0)==0,b)d=-130;else return uD(t,o,a),D=Q+3420|0,e[D>>2]=0,k=Q+3464|0,e[k>>2]=1,w=lD(t)|0,_=(w|0)==0,_?(g=0,g|0):(RC(t),g=w,g|0);return RC(t),g=d,g|0}function lE(t,o,a,$,g,d){t=t|0,o=+o,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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;for(v1=C,p=~~o,I=+(p|0),M=o-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,m1=+(f1|0),E=1-M,y=m1*E,B=p+1|0,b=$+(B*20|0)|0,D=e[b>>2]|0,k=+(D|0),w=k*M,_=w+y,Q=_,x=U0+12|0,s[x>>2]=Q,L=($+(p*20|0)|0)+4|0,F=e[L>>2]|0,N=+(F|0),O=N*E,H=($+(B*20|0)|0)+4|0,V=e[H>>2]|0,J=+(V|0),t0=J*M,Z=t0+O,A0=Z,n0=U0+16|0,s[n0>>2]=A0,s0=($+(p*20|0)|0)+8|0,K=e[s0>>2]|0,o0=+(K|0),Y=o0*E,h0=($+(B*20|0)|0)+8|0,i0=e[h0>>2]|0,e0=+(i0|0),u0=e0*M,c0=u0+Y,l0=c0,X=U0+20|0,s[X>>2]=l0,m0=($+(p*20|0)|0)+12|0,g0=+s[m0>>2],I0=g0,r0=I0*E,d0=($+(B*20|0)|0)+12|0,p0=+s[d0>>2],C0=p0,b0=C0*M,D0=b0+r0,E0=D0,Q0=U0+24|0,s[Q0>>2]=E0,w0=($+(p*20|0)|0)+16|0,B0=+s[w0>>2],x0=B0,Z0=x0*E,R0=($+(B*20|0)|0)+16|0,v0=+s[R0>>2],N0=v0,O0=N0*M,H0=O0+Z0,S0=H0,J0=U0+28|0,s[J0>>2]=S0,T0=g+(p<<2)|0,M0=e[T0>>2]|0,P0=+(M0|0),W0=P0*E,K0=g+(B<<2)|0,V0=e[K0>>2]|0,q0=+(V0|0),Y0=q0*M,s1=Y0+W0,z0=s1,n1=U0+496|0,s[n1>>2]=z0,C1=0;L0=(d+(p*68|0)|0)+(C1<<2)|0,o1=e[L0>>2]|0,d1=+(o1|0),u1=d1*E,p1=(d+(B*68|0)|0)+(C1<<2)|0,h1=e[p1>>2]|0,A1=+(h1|0),c1=A1*M,a1=c1+u1,$1=a1,X0=(U0+36|0)+(C1<<2)|0,s[X0>>2]=$1,B1=C1+1|0,Q1=(B1|0)==17,!Q1;)C1=B1}function cE(t,o,a,$,g,d,p){t=t|0,o=+o,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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0;for(S2=C,k=~~o,w=+(k|0),h0=o-w,r0=t+28|0,x0=e[r0>>2]|0,M0=(x0+2852|0)+(a<<2)|0,L0=e[M0>>2]|0,X0=$+(k<<2)|0,b1=e[X0>>2]|0,q1=+(b1|0),_=1-h0,t0=q1*_,Z=k+1|0,A0=$+(Z<<2)|0,j=e[A0>>2]|0,n0=+(j|0),s0=n0*h0,K=s0+t0,o0=K,Y=L0+108|0,s[Y>>2]=o0,i0=d+(a*12|0)|0,e0=e[i0>>2]|0,u0=L0+120|0,e[u0>>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,r2=0;;)if(I0=(g+(k*204|0)|0)+(r2<<2)|0,d0=e[I0>>2]|0,p0=+(d0|0),C0=p0*_,b0=(g+(Z*204|0)|0)+(r2<<2)|0,y0=e[b0>>2]|0,D0=+(y0|0),E0=D0*h0,Q0=E0+C0,w0=Q0,B0=(L0+132|0)+(r2<<2)|0,s[B0>>2]=w0,Z0=r2+1|0,W1=(Z0|0)==17,W1){g2=0;break}else r2=Z0;for(;;)if(M1=((g+(k*204|0)|0)+68|0)+(g2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*_,U1=((g+(Z*204|0)|0)+68|0)+(g2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),X1=P1*h0,G1=X1+F1,x1=G1,K1=(L0+200|0)+(g2<<2)|0,s[K1>>2]=x1,H1=g2+1|0,f2=(H1|0)==17,f2){o2=0;break}else g2=H1;for(;V1=((g+(k*204|0)|0)+136|0)+(o2<<2)|0,Y1=e[V1>>2]|0,t2=+(Y1|0),s2=t2*_,e2=((g+(Z*204|0)|0)+136|0)+(o2<<2)|0,O1=e[e2>>2]|0,h2=+(O1|0),Z1=h2*h0,I2=Z1+s2,Q=I2,x=(L0+268|0)+(o2<<2)|0,s[x>>2]=Q,M=o2+1|0,c2=(M|0)==17,!c2;)o2=M;for(L=L0+132|0,F=+s[L>>2],S0=F+6,N=L0+132|0,O=F,H=O+p,V=H,J=V>2]=k2,R0=1;I=(L0+132|0)+(R0<<2)|0,B=+s[I>>2],v0=(L0+132|0)+(R0<<2)|0,N0=B,U0=N0+p,O0=U0,H0=O0>2]=l2,J0=R0+1|0,A2=(J0|0)==17,!A2;)R0=J0;for(T0=L0+200|0,P0=+s[T0>>2],W0=P0+6,K0=L0+200|0,V0=P0,j0=V0+p,q0=j0,Y0=q0>2]=a2,s1=1;E=(L0+200|0)+(s1<<2)|0,b=+s[E>>2],z0=(L0+200|0)+(s1<<2)|0,n1=b,o1=n1+p,d1=o1,u1=d1>2]=i2,p1=s1+1|0,C2=(p1|0)==17,!C2;)s1=p1;for(f1=L0+268|0,h1=+s[f1>>2],A1=h1+6,c1=L0+268|0,a1=h1,$1=a1+p,B1=$1,m1=B1>2]=n2,Q1=1;y=(L0+268|0)+(Q1<<2)|0,D=+s[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 gD(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;S1=C,k=($|0)==0;e:do if(k){for(K=26336,X0=0;;){if(s0=e[K>>2]|0,o0=s0+12|0,Y=e[o0>>2]|0,h0=(Y|0)==-1,e0=(Y|0)==(t|0),C1=h0|e0,C1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,X=e[l0>>2]|0,m0=(X|0)<(o|0),!m0&&(g0=e[s0>>2]|0,I0=s0+8|0,r0=e[I0>>2]|0,p0=+l1[r0>>3],C0=p0>a,!C0&&(D0=r0+(g0<<3)|0,E0=+l1[D0>>3],Q0=E0>2]|0,Z0=i0+12|0,P0=e[Z0>>2]|0,o1=(P0|0)==-1,A1=(P0|0)==(t|0),y1=o1|A1,y1&&(c1=i0+16|0,_=e[c1>>2]|0,Q=(_|0)>(o|0),!Q&&(x=i0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(F=e[i0>>2]|0,N=i0+4|0,O=e[N>>2]|0,H=+l1[O>>3],V=J>3],A0=J>Z,!A0))))){p=J,I=F,E=d0,y=O,h1=H;break e}if($1=B1+1|0,j=26336+($1<<2)|0,n0=($1|0)==17,n0){d=0;break}else d0=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=+l1[R0>>3],N0=p>3],x0=b,Q1=D}else m1=0;while(!1);return O0=(m1|0)==(I|0),O0?(H0=+(I|0),S0=H0+-.001,v1=S0):(J0=y+(m1<<3)|0,T0=+l1[J0>>3],M0=T0,W0=m1+1|0,K0=y+(W0<<3)|0,V0=+l1[K0>>3],j0=V0,q0=M0,Y0=p-q0,s1=j0-M0,z0=s1,n1=Y0/z0,L0=n1,d1=+(m1|0),u1=L0+d1,p1=u1,v1=p1),l1[g>>3]=v1,f1=e[E>>2]|0,d=f1,d|0}function uD(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0;L0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,n0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,D0=t+8|0,e[D0>>2]=a,O0=E+3456|0,e[O0>>2]=1,q0=E+3460|0,e[q0>>2]=1,s1=E+3400|0,z0=+l1[s1>>3],y=~~z0,B=+(y|0),b=z0-B,D=E+3472|0,l1[D>>3]=z0,k=E+3488|0,w=e[k>>2]|0,_=(w|0)==0,_?(Q=n0+120|0,x=e[Q>>2]|0,M=x+(y<<3)|0,F=+l1[M>>3],N=1-b,O=F*N,H=y+1|0,V=x+(H<<3)|0,J=+l1[V>>3],t0=J*b,Z=t0+O,A0=E+3480|0,l1[A0>>3]=Z,g=H,d=N):($=1-b,p=y+1|0,g=p,d=$),j=n0+112|0,s0=e[j>>2]|0,K=s0+(y<<2)|0,o0=e[K>>2]|0,Y=+(o0|0),h0=Y*d,i0=s0+(g<<2)|0,e0=e[i0>>2]|0,u0=+(e0|0),c0=u0*b,$0=c0+h0,X=E+3496|0,l1[X>>3]=$0,m0=n0+116|0,g0=e[m0>>2]|0,I0=g0+(y<<2)|0,r0=e[I0>>2]|0,d0=+(r0|0),p0=d0*d,C0=g0+(g<<2)|0,b0=e[C0>>2]|0,y0=+(b0|0),E0=y0*b,Q0=E0+p0,w0=E+3504|0,l1[w0>>3]=Q0,B0=E+3512|0,l1[B0>>3]=-6,x0=E+3520|0,l1[x0>>3]=z0,Z0=E+3528|0,l1[Z0>>3]=z0,R0=E+3536|0,l1[R0>>3]=z0,v0=E+3544|0,l1[v0>>3]=z0,N0=E+3552|0,l1[N0>>3]=z0,U0=E+3560|0,l1[U0>>3]=z0,H0=E+3568|0,l1[H0>>3]=z0,S0=E+3576|0,l1[S0>>3]=z0,J0=E+3584|0,l1[J0>>3]=z0,T0=E+3592|0,l1[T0>>3]=z0,M0=E+3600|0,l1[M0>>3]=z0,P0=E+3608|0,l1[P0>>3]=z0,W0=E+3616|0,l1[W0>>3]=z0,K0=E+3624|0,l1[K0>>3]=z0,V0=E+3632|0,l1[V0>>3]=z0,j0=E+3640|0,l1[j0>>3]=z0,Y0=E+3648|0,l1[Y0>>3]=z0}function hD(t,o,a,$,g,d){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0;if(V0=C,I=(g|0)!=0,E=I?$:0,L=I?d:0,n0=o+(E<<2)|0,l0=e[n0>>2]|0,D0=520336+(l0<<2)|0,x0=e[D0>>2]|0,Z0=o+(L<<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,w=a+(L<<2)|0,_=e[w>>2]|0,Q=(b|0)/4&-1,x=(k|0)/4&-1,M=Q-x|0,F=(k|0)/2&-1,N=M+F|0,O=(b|0)/2&-1,H=O+Q|0,p=(_|0)/-4&-1,V=H+p|0,J=(_|0)/2&-1,t0=V+J|0,Z=(M|0)>0,Z?(A0=Q-x|0,j=A0<<2,g4(t|0,0,j|0)|0,U0=M):U0=0,s0=(U0|0)<(N|0),s0)for(K=Q+F|0,o0=K-U0|0,Y=o0-x|0,O0=U0,J0=0;u0=x0+(J0<<2)|0,c0=+s[u0>>2],$0=t+(O0<<2)|0,X=+s[$0>>2],m0=X*c0,s[$0>>2]=m0,g0=O0+1|0,I0=J0+1|0,N0=(I0|0)==(Y|0),!N0;)O0=g0,J0=I0;if(h0=(_|0)>1,h0){for(i0=V+1|0,e0=(t0|0)>(i0|0),S0=V,M0=J;T0=M0+-1|0,C0=y+(T0<<2)|0,b0=+s[C0>>2],y0=t+(S0<<2)|0,E0=+s[y0>>2],Q0=E0*b0,s[y0>>2]=Q0,w0=S0+1|0,B0=(w0|0)<(t0|0),B0;)S0=w0,M0=T0;W0=e0?t0:i0,H0=W0}else H0=V;r0=(b|0)>(H0|0),r0&&(P0=t+(H0<<2)|0,d0=b-H0|0,p0=d0<<2,g4(P0|0,0,p0|0)|0)}function dD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0;if(X=C,C=C+64|0,$0=X+32|0,c0=X,$=R9(688)|0,g=$+408|0,Sb(g),_=~~o,cD(g,t,_,a)|0,t0=$+440|0,wb(t0),vb(t0,553008,553016),o0=$+456|0,nb(o0,g)|0,Y=$+568|0,tb(o0,Y)|0,h0=Cy(0)|0,BD(h0),i0=yD()|0,YS($,i0)|0,e0=$+680|0,e[e0>>2]=0,u0=$+684|0,e[u0>>2]=0,d=$+360|0,bb(o0,t0,d,$0,c0)|0,AE($,d)|0,AE($,$0)|0,AE($,c0)|0,p=$+392|0,I=yy($,p)|0,E=(I|0)==0,E)return C=X,$|0;for(y=$+396|0,B=$+404|0,b=$+400|0;D=e[u0>>2]|0,k=e[y>>2]|0,w=k+D|0,Q=e[B>>2]|0,x=w+Q|0,M=(x|0)==0,M||(N=e[e0>>2]|0,O=W7(N,x)|0,e[e0>>2]=O,H=e[u0>>2]|0,V=O+H|0,J=e[p>>2]|0,Z=e[y>>2]|0,ge(V|0,J|0,Z|0)|0,A0=Z+H|0,e[u0>>2]=A0,j=O+A0|0,n0=e[b>>2]|0,s0=e[B>>2]|0,ge(j|0,n0|0,s0|0)|0,K=s0+A0|0,e[u0>>2]=K),L=yy($,p)|0,F=(L|0)==0,!F;);return C=X,$|0}function fD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0;E=C,zS(t)|0,o=t+568|0,ib(o)|0,a=t+456|0,ky(a),$=t+440|0,kb($),g=t+408|0,RC(g),d=t+680|0,p=e[d>>2]|0,E2(p),E2(t)}function ID(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0;return d=C,a=t+456|0,$=Sy(a,o)|0,$|0}function mD(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0;if(X=C,a=t+456|0,rb(a,o)|0,$=t+568|0,w=by(a,$)|0,J=(w|0)==1,!!J)for(h0=t+360|0,i0=t+392|0,e0=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(ZS($,0)|0,eb($)|0,E=vy(a,h0)|0,y=(E|0)==0,!y)for(;;){if(AE(t,h0)|0,D=Qy(t,i0)|0,k=(D|0)==0,!k)for(;_=e[e0>>2]|0,Q=e[u0>>2]|0,x=Q+_|0,M=e[c0>>2]|0,L=x+M|0,F=(L|0)==0,F||(H=e[$0>>2]|0,V=W7(H,L)|0,e[$0>>2]=V,t0=e[e0>>2]|0,Z=V+t0|0,A0=e[g>>2]|0,j=e[u0>>2]|0,ge(Z|0,A0|0,j|0)|0,n0=j+t0|0,e[e0>>2]=n0,s0=V+n0|0,K=e[d>>2]|0,o0=e[c0>>2]|0,ge(s0|0,K|0,o0|0)|0,Y=o0+n0|0,e[e0>>2]=Y),N=Qy(t,i0)|0,O=(N|0)==0,!O;);if(B=vy(a,h0)|0,b=(B|0)==0,b)break}if(p=by(a,$)|0,I=(p|0)==1,!I)break}}function pD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function ED(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;return d=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function gE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+CD(t,o),+a}function Hu(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0;if(U3=C,C=C+688|0,r3=U3+424|0,W5=U3+192|0,t3=U3,o0=o5(a,o)|0,Y=(o0|0)==0,Y){C=U3;return}for(j=o0-a|0,V1=t3+4|0,e[V1>>2]=a,e[t3>>2]=a,n2=a,p5=a,x3=2;$2=n2+a|0,U2=$2+p5|0,N5=t3+(x3<<2)|0,e[N5>>2]=U2,_5=U2>>>0>>0,r5=x3+1|0,_5;)k2=p5,p5=U2,x3=r5,n2=k2;if(h0=0-a|0,r0=t+j|0,x0=(j|0)>0,x0)for(M0=(a|0)==0,L0=r0,b1=1,Z2=0,G5=t,H5=1;;){X0=b1&3,K1=(X0|0)==3;do if(K1){e[W5>>2]=G5,q1=(H5|0)>1;e:do if(q1){for(B=H5,Q=G5,O1=G5,X5=1;;){if(H1=Q+h0|0,Y1=B+-2|0,t2=t3+(Y1<<2)|0,s2=e[t2>>2]|0,U5=s2+a|0,n0=0-U5|0,e2=Q+n0|0,h2=pi[$&15](O1,e2)|0,Z1=(h2|0)>-1,Z1&&(I2=pi[$&15](O1,H1)|0,A2=(I2|0)>-1,A2)){f3=X5;break}if(C2=pi[$&15](e2,H1)|0,W1=(C2|0)>-1,f2=X5+1|0,c2=W5+(X5<<2)|0,W1?(e[c2>>2]=e2,r2=B+-1|0,d=e2,E=r2):(e[c2>>2]=H1,d=H1,E=Y1),g2=(E|0)>1,!g2){f3=f2;break}J=e[W5>>2]|0,B=E,Q=d,O1=J,X5=f2}if(o2=(f3|0)<2,!o2&&(l2=W5+(f3<<2)|0,e[l2>>2]=r3,!M0))for(w=a,q2=r3;;){for(p2=w>>>0>256,a2=p2?256:w,W2=e[W5>>2]|0,ge(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,ge(M2|0,G2|0,a2|0)|0,O2=M2+a2|0,e[D2>>2]=O2,n3=(S2|0)==(f3|0),!n3;)M2=G2,e6=S2;if(i2=(w|0)==(a2|0),i2)break e;m2=w-a2|0,Z=e[l2>>2]|0,w=m2,q2=Z}}while(!1);J2=b1>>>2,V2=Z2<<30,A5=J2|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,x5=G5,j2=L0-x5|0,D5=i5>>>0>>0,D5){e[W5>>2]=G5,V5=(H5|0)>1;e:do if(V5){for(b=H5,x=G5,R2=G5,_3=1;;){if(u5=x+h0|0,b2=b+-2|0,y5=t3+(b2<<2)|0,s5=e[y5>>2]|0,l6=s5+a|0,s0=0-l6|0,F2=x+s0|0,Q2=pi[$&15](R2,F2)|0,Q5=(Q2|0)>-1,Q5&&(E5=pi[$&15](R2,u5)|0,L5=(E5|0)>-1,L5)){w3=_3;break}if(q5=pi[$&15](F2,u5)|0,M5=(q5|0)>-1,z2=_3+1|0,C5=W5+(_3<<2)|0,M5?(e[C5>>2]=F2,$5=b+-1|0,p=F2,y=$5):(e[C5>>2]=u5,p=u5,y=b2),h5=(y|0)>1,!h5){w3=z2;break}t0=e[W5>>2]|0,b=y,x=p,R2=t0,_3=z2}if(w5=(w3|0)<2,!w5&&(T1=W5+(w3<<2)|0,e[T1>>2]=r3,!M0))for(_=a,e5=r3;;){for(I5=_>>>0>256,l5=I5?256:_,R5=e[W5>>2]|0,ge(e5|0,R5|0,l5|0)|0,f5=R5,H3=0;d2=W5+(H3<<2)|0,v5=H3+1|0,n5=W5+(v5<<2)|0,a5=e[n5>>2]|0,ge(f5|0,a5|0,l5|0)|0,K2=f5+l5|0,e[d2>>2]=K2,a3=(v5|0)==(w3|0),!a3;)f5=a5,H3=v5;if(d5=(_|0)==(l5|0),d5)break e;X2=_-l5|0,A0=e[T1>>2]|0,_=X2,e5=A0}}while(!1)}else uE(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,M=B5?b1:Z2,L=B5?I3:t5,d3=M<>>i0,u0=e0|d3,c0=g<>>0>>0,m0)b1=$0,Z2=x1,G5=X,H5=Y5;else{O=x1,H=$0,y3=X,J5=Y5;break}}else O=0,H=1,y3=t,J5=1;if(uE(y3,a,$,H,O,J5,0,t3),g0=(J5|0)==1,I0=(H|0)==1,Q3=I0&g0,d0=(O|0)==0,u3=d0&Q3,u3){C=U3;return}else b0=H,v0=O,Z5=y3,b5=J5;for(;;){if(p0=(b5|0)<2,!p0){Y0=v0<<2,s1=b0>>>30,z0=s1|Y0,n1=b5+-2|0,o1=b0<<1,d1=o1&2147483646,u1=s1<<31,p1=d1|u1,f1=p1^3,h1=z0>>>1,A1=t3+(n1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,K=0-Y3|0,a1=Z5+K|0,$1=b5+-1|0,uE(a1,a,$,f1,h1,$1,1,t3),B1=h1<<1,m1=s1&1,Q1=B1|m1,C1=f1<<1,y1=C1|1,v1=Z5+h0|0,uE(v1,a,$,y1,Q1,n1,1,t3),b0=y1,v0=Q1,Z5=v1,b5=n1;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{F=Q0;break}R0=(F|0)==0,R0?l3=51:K0=F}else l3=51;if((l3|0)==51){if(l3=0,N0=(v0|0)==0,N0){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,S0=k>>>1,J0=S0&1,T0=(J0|0)==0,T0)k=S0,G3=H0;else{N=H0,V3=G3;break}if(P0=V3+33|0,W0=(N|0)==0,W0){I=0,S1=b0,_1=v0,D1=0;break}else K0=P0}V0=K0>>>0>31,V0?(q0=K0,l3=56):(I=K0,S1=b0,_1=v0,D1=K0)}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,U1=D1+b5|0,V=Z5+h0|0,P1=(U1|0)==1,X1=(R1|0)==1,c3=X1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;b0=R1,v0=F1,Z5=V,b5=U1}C=U3}function uE(t,o,a,$,g,d,p,I){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=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-o|0,h0=($|0)!=1,v0=(g|0)!=0,K0=v0|h0;e:do if(K0)if(u1=I+(d<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,Y1=t+F1|0,W1=pi[a&15](Y1,t)|0,k2=(W1|0)<1,k2)B=t,M=d,V=p,Y2=1,R2=18;else for(k=t,O=d,J=p,B0=Y1,Y0=g,x5=1,b2=$;;){if(i0=(J|0)==0,d0=(O|0)>1,u5=i0&d0,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,L=O,t5=x5;break e}if(y5=w0+o|0,K=0-y5|0,R0=k+K|0,N0=pi[a&15](R0,B0)|0,U0=(N0|0)>-1,U0){b=k,L=O,t5=x5;break e}}O0=x5+1|0,H0=U2+(x5<<2)|0,e[H0>>2]=B0,S0=b2+-1|0,J0=(S0|0)==0;do if(J0)$1=32,R2=15;else{if(T0=S0&1,M0=(T0|0)==0,M0){for(Q=S0,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,s1=(Y0|0)==0,s1){$1=64,R2=15;break}if(z0=Y0&1,n1=(z0|0)==0,n1)x=Y0,D5=0;else{y=0,B1=b2,y1=Y0,L1=0;break}for(;;)if(L0=D5+1|0,o1=x>>>1,d1=o1&1,p1=(d1|0)==0,p1)x=o1,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}c1=A1>>>0>31,c1?($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,m1=32-y|0,C1=y1<>>y,S1=L1+O|0,M1=(v1|0)!=1,b1=(k1|0)!=0,_1=b1|M1,!_1){b=B0,L=S1,t5=O0;break e}if(A0=e[U2>>2]|0,R1=I+(S1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,X1=pi[a&15](P1,A0)|0,G1=(X1|0)<1,G1){B=B0,M=S1,V=0,Y2=O0,R2=18;break}else w=B0,O=S1,J=0,B0=P1,Y0=k1,x5=O0,b2=v1,k=w}else B=t,M=d,V=p,Y2=1,R2=18;while(!1);if((R2|0)==18)if(x1=(V|0)==0,x1)b=B,L=M,t5=Y2;else{C=Q2;return}K1=(t5|0)<2;e:do if(!K1&&(q1=U2+(t5<<2)|0,e[q1>>2]=F2,H1=(o|0)==0,!H1))for(N=o,f2=F2;;){for(C2=N>>>0>256,t2=C2?256:N,$2=e[U2>>2]|0,ge(f2|0,$2|0,t2|0)|0,I2=$2,i5=0;e2=U2+(i5<<2)|0,O1=i5+1|0,h2=U2+(O1<<2)|0,Z1=e[h2>>2]|0,ge(I2|0,Z1|0,t2|0)|0,A2=I2+t2|0,e[e2>>2]=A2,A5=(O1|0)==(t5|0),!A5;)I2=Z1,i5=O1;if(V1=(N|0)==(t2|0),V1)break e;s2=N-t2|0,s0=e[q1>>2]|0,N=s2,f2=s0}while(!1);e[V2>>2]=b,c2=(L|0)>1;e:do if(c2){for(_=L,H=b,a2=b,j2=1;;){if(r2=H+Y|0,g2=_+-2|0,o2=I+(g2<<2)|0,l2=e[o2>>2]|0,s5=l2+o|0,o0=0-s5|0,i2=H+o0|0,m2=pi[a&15](a2,i2)|0,n2=(m2|0)>-1,n2&&(D2=pi[a&15](a2,r2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(y2=pi[a&15](i2,r2)|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]=r2,E=r2,D=g2),W2=(D|0)>1,!W2){N1=M2;break}j=e[V2>>2]|0,_=D,H=E,a2=j,j2=M2}if(q2=(N1|0)<2,q2)y0=F2;else if(J2=V2+(N1<<2)|0,e[J2>>2]=F2,e0=(o|0)==0,e0)y0=F2;else for(F=o,b0=F2;;){for(p0=F>>>0>256,c0=p0?256:F,C0=e[V2>>2]|0,ge(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,ge(I0|0,g0|0,c0|0)|0,r0=I0+c0|0,e[l0>>2]=r0,Z2=(X|0)==(N1|0),!Z2;)I0=g0,T5=X;if(u0=(F|0)==(c0|0),u0){y0=F2;break e}$0=F-c0|0,n0=e[J2>>2]|0,F=$0,b0=n0}}else y0=F2;while(!1);C=Q2}function K7(t){t=+t;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0;return L=C,l1[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,w=B|k,w?(o=t,+o):(_=($|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,d=t+4503599627370496,p=d+-4503599627370496,x=_?g:p,I=x==0,I?(E=_?-0:0,o=E,+o):(o=x,+o))}function Wy(t){t=+t;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(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,o=b,+o):(o=D,+o))}function CD(t,o){t=+t,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0;return t0=C,d=(o|0)>1023,d?(p=t*898846567431158e293,Q=o+-1023|0,x=(Q|0)>1023,x?(M=p*898846567431158e293,L=o+-2046|0,F=(L|0)>1023,a=F?1023:L,$=a,V=M):($=Q,V=p)):(N=(o|0)<-1022,N?(O=t*22250738585072014e-324,H=o+1022|0,I=(H|0)<-1022,I?(E=O*22250738585072014e-324,y=o+2044|0,B=(y|0)<-1022,g=B?-1022:y,$=g,V=E):($=H,V=O)):($=o,V=t)),b=$+1023|0,D=Xy(b|0,0,52)|0,k=Z6,e[w2>>2]=D,e[w2+4>>2]=k,w=+l1[w2>>3],_=V*w,+_}function BD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,d=g,e[d>>2]=0}function yD(){var t=0,o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,y=t+4|0,B=y,b=e[B>>2]|0,D=kD(E|0,b|0,1284865837,1481765933)|0,k=Z6,w=rs(D|0,k|0,1,0)|0,_=Z6,a=553040,$=a,e[$>>2]=w,g=a+4|0,d=g,e[d>>2]=_,p=os(w|0,_|0,33)|0,I=Z6,p|0}function R9(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0,y8=0,U8=0,rr=0,kn=0,As=0,zr=0,$s=0,Jr=0,ls=0,cs=0,Kr=0,gs=0,or=0,us=0,hs=0,ds=0,Wr=0,fs=0,Zr=0,jr=0,Is=0,sr=0,Xr=0,ar=0,eo=0,to=0,ms=0,ps=0,Es=0,Ar=0,io=0,Cs=0,Sn=0,$r=0,Bs=0,ys=0,lr=0,I7=0,no=0,Qs=0,ws=0,ro=0,oo=0,so=0,vs=0,m7=0,cr=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gr=0,bn=0,ur=0,Ts=0,an=0,Ns=0,lo=0,hr=0,co=0,dr=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dn=0,Io=0,p7=0,fr=0,_n=0,An=0,xn=0,Z7=0,Ln=0,mo=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mn=0,$n=0,ln=0,Rn=0,E7=0,Os=0,fi=0,cl=0,Ir=0,mr=0,Vu=0,gl=0,qs=0,Yu=0,cA=0,ul=0,zu=0,Ju=0,Ku=0,gA=0,hl=0,dl=0,uA=0,pr=0,fl=0,Wu=0,Hs=0,cn=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,nh=0,rh=0,oh=0,sh=0,Il=0,Fn=0,ah=0,Ah=0,ml=0,$h=0,hA=0,Vs=0,dA=0,lh=0,ch=0,fA=0,pl=0,El=0,Cl=0,IA=0,Bl=0,Ys=0,gh=0,uh=0,yl=0,hh=0,dh=0,Ql=0,fh=0,Ih=0,wl=0,vl=0,kl=0,Sl=0,bl=0,Er=0,mh=0,Dl=0,ph=0,_l=0,xl=0,Eh=0,Ch=0,Bh=0,mA=0,Ll=0,Ml=0,po=0,Rl=0,pA=0,yh=0,Fl=0,Qh=0,Tl=0,wh=0,vh=0,Nl=0,Gl=0,kh=0,zs=0,Sh=0,EA=0,Ul=0,Pl=0,bh=0,Dh=0,_h=0,xh=0,Lh=0,Mh=0,Js=0,Ol=0,ql=0,Hl=0,Ks=0,Rh=0,Vl=0,Fh=0,Yl=0,Th=0,Nh=0,zl=0,CA=0,Gh=0,Uh=0,Ws=0,Ph=0,Zs=0,Oh=0,BA=0,qh=0,Hh=0,Vh=0,Jl=0,Yh=0,zh=0,Jh=0,Kh=0,Kl=0,Wl=0,gn=0,Zl=0,js=0,yA=0,QA=0,Cr=0,jl=0,Br=0,Wh=0,Xl=0,Zh=0,jh=0,Xh=0,ed=0,Xs=0,wA=0,Tn=0,td=0,id=0,ec=0,vA=0,tc=0,ic=0,nd=0,nc=0,rd=0,kA=0,od=0,sd=0,K9=0,ad=0,rc=0,Ad=0,$d=0,SA=0,ld=0,bA=0,oc=0,cd=0,gd=0,sc=0,ac=0,ud=0,DA=0,_A=0,Ac=0,$c=0,hd=0,lc=0,xA=0,dd=0,cc=0,fd=0,Id=0,md=0,pd=0,gc=0,uc=0,LA=0,ea=0,hc=0,Ed=0,dc=0,fc=0,Cd=0,Bd=0,yd=0,Ic=0,Qd=0,wd=0,vd=0,kd=0,Sd=0,bd=0,mc=0,Dd=0,pc=0,_d=0,yr=0,xd=0,Ec=0,Ld=0,Eo=0,Cc=0,MA=0,Md=0,ta=0,RA=0,Rd=0,FA=0,Bc=0,Fd=0,Td=0,Nd=0,Gd=0,Ud=0,yc=0,Pd=0,Od=0,qd=0,ia=0,Co=0,TA=0,Hd=0,NA=0,Vd=0,Yd=0,zd=0,Qc=0,Jd=0,Kd=0,Wd=0,Zd=0,jd=0,na=0,Xd=0,ef=0,wc=0,tf=0,nf=0,rf=0,of=0,C7=0,vc=0,B7=0,kc=0,GA=0,sf=0,n7=0,Bo=0,af=0,Af=0,$f=0,lf=0,cf=0,Sc=0,gf=0,uf=0,bc=0,hf=0,df=0,yo=0,UA=0,ff=0,Dc=0,If=0,mf=0,ra=0,pf=0,Ef=0,_c=0,xc=0,Cf=0,Bf=0,Qr=0,yf=0,Qf=0,wr=0,wf=0,Lc=0,vf=0,kf=0,Qo=0,Mc=0,Sf=0,Rc=0,bf=0,un=0,PA=0,Df=0,Fc=0,Tc=0,_f=0,xf=0,Nc=0,Lf=0,Mf=0,Rf=0,Gc=0,Ff=0,wo=0,Tf=0,vr=0,Nf=0,Gf=0,OA=0,Uf=0,qA=0,HA=0,Pf=0,Uc=0,Pc=0,Of=0,Oc=0,qc=0,Hc=0,qf=0,Vc=0,Yc=0,Hf=0,Vf=0,zc=0,Jc=0,Yf=0,Kc=0,Wc=0,zf=0,Jf=0,Zc=0,VA=0,jc=0,Xc=0,eg=0,tg=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,ig=0,YA=0,nI=0,rI=0,oI=0,ng=0,rg=0,sI=0,og=0,zA=0,oa=0,sg=0,aI=0,AI=0,$I=0,lI=0,ag=0,sa=0,cI=0,gI=0,uI=0,hI=0,dI=0,fI=0,II=0,mI=0,Ag=0,pI=0,EI=0,CI=0,BI=0,aa=0,$g=0,yI=0,QI=0,kr=0,lg=0,cg=0,JA=0,wI=0,gg=0,vI=0,ug=0,hg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,KA=0,xI=0,LI=0,MI=0,RI=0,dg=0,FI=0,fg=0,TI=0,NI=0,Ig=0,Nn=0,mg=0,pg=0,GI=0,Eg=0,$a=0,UI=0,PI=0,OI=0,la=0,Cg=0,qI=0,HI=0,Bg=0,VI=0,YI=0,WA=0,ca=0,zI=0,JI=0,KI=0,yg=0,Qg=0,wg=0,WI=0,ZI=0,vo=0,jI=0,vg=0,XI=0,ZA=0,kg=0,em=0,tm=0,im=0,nm=0,Sg=0,rm=0,om=0,bg=0,ga=0,sm=0,am=0,Am=0,ko=0,Dg=0,_g=0,$m=0,xg=0,Lg=0,L7=0,Mg=0,hn=0,lm=0,cm=0,gm=0,um=0,jA=0,ua=0,Rg=0,Fg=0,hm=0,ha=0,So=0,dm=0,da=0,XA=0,fm=0,e$=0,Im=0,mm=0,Tg=0,fa=0,Ng=0,pm=0,Em=0,Cm=0,Bm=0,Gg=0,ym=0,oi=0,_e=0,r7=0,Qm=0,Ug=0,Pg=0,t$=0,wm=0,Gn=0,bo=0,vm=0,km=0,Og=0,i$=0,Sm=0,qg=0,Hg=0,Vg=0,n$=0,r$=0,Yg=0,Do=0,o$=0,zg=0,bm=0,Sr=0,Dm=0,Jg=0,Ia=0,_m=0,Kg=0,M7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,R7=0,Nm=0,Gm=0,Um=0,Wg=0,y7=0,ma=0,s$=0,Zg=0,jg=0,Pm=0,Xg=0,eu=0,Om=0,qm=0,tu=0,iu=0,Hm=0,Vm=0,nu=0,Ym=0,_o=0,pa=0,Ea=0,zm=0,a$=0,Jm=0,Km=0,ru=0,xo=0,Wm=0,Zm=0,A$=0,$$=0,Ca=0,l$=0,c$=0,dn=0,Un=0,Pn=0,g$=0,u$=0,Lo=0,fn=0,br=0,jm=0,In=0,Dr=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ou=0,su=0,Qa=0,h$=0,Ni=0,wa=0,On=0,d$=0,ep=0,f$=0,tp=0,I$=0,au=0,va=0,ip=0,np=0,ka=0,rp=0,Sa=0,_r=0,tt=0,Le=0,Au=0,op=0,m$=0,$u=0,sp=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,lu=0,gp=0,up=0,hp=0,o7=0,Da=0,xr=0,p$=0,Mo=0,Ro=0,si=0,Fo=0,cu=0,gu=0,_a=0,To=0,No=0,Go=0,dp=0,Uo=0,mn=0,uu=0,qn=0,s7=0,E$=0,C$=0,X7=0,B$=0,y$=0,Q$=0,Hn=0,h6=0,xa=0,Vn=0,hu=0,L4=0,w$=0,kt=0,Po=0,Lr=0,Mr=0,q9=0,Rr=0,Yn=0,Xe=0,v$=0;v$=C,W1=t>>>0<245;do if(W1){if(f2=t>>>0<11,Ee=t+11|0,We=Ee&-8,x4=f2?16:We,qs=x4>>>3,BA=e[138262]|0,ia=BA>>>qs,Xc=ia&3,bg=(Xc|0)==0,!bg){c2=ia&1,f3=c2^1,g3=f3+qs|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,Q9=(h3|0)==(F6|0);do if(Q9)z9=1<>>0>>0,d4&&v2(),be=F6+12|0,b9=e[be>>2]|0,Pt=(b9|0)==(R6|0),Pt){e[be>>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,Ze=e[D4>>2]|0,A8=Ze|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,gr=Ss&16,go=no>>>gr,An=go>>>5,$n=An&8,Yu=$n|gr,fl=go>>>$n,rh=fl>>>2,dA=rh&4,uh=Yu|dA,bl=fl>>>dA,Ll=bl>>>1,Nl=Ll&2,xh=uh|Nl,Yl=bl>>>Nl,qh=Yl>>>1,Zl=qh&1,Xh=xh|Zl,nd=Yl>>>Zl,SA=Xh+nd|0,Ac=SA<<1,gc=553088+(Ac<<2)|0,P1=Ac+2|0,Ic=553088+(P1<<2)|0,yr=e[Ic>>2]|0,FA=yr+8|0,Co=e[FA>>2]|0,Zd=(gc|0)==(Co|0);do if(Zd)vc=1<>>0>>0,un&&v2(),Gc=Co+12|0,Pf=e[Gc>>2]|0,Vf=(Pf|0)==(yr|0),Vf){e[Gc>>2]=gc,e[Ic>>2]=Co,w=e[138264]|0,ca=w;break}else v2();while(!1);return eg=SA<<3,YA=eg-x4|0,aI=x4|3,fI=yr+4|0,e[fI>>2]=aI,QI=yr+x4|0,SI=YA|1,t2=x4|4,FI=yr+t2|0,e[FI>>2]=SI,UI=yr+eg|0,e[UI>>2]=YA,vg=(ca|0)==0,vg||(ga=e[138267]|0,Mg=ca>>>3,ha=Mg<<1,Ng=553088+(ha<<2)|0,Ug=e[138262]|0,qg=1<>2]|0,y2=e[138266]|0,A5=r2>>>0>>0,A5?v2():(V=_o,Ca=r2)),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]=Ng),e[138264]=YA,e[138267]=QI,tt=FA,tt|0}if(c5=e[138263]|0,y3=(c5|0)==0,y3)Le=x4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,e6=w3>>>12,H3=e6&16,X5=w3>>>H3,_3=X5>>>5,t3=_3&8,a6=t3|H3,G3=X5>>>t3,V3=G3>>>2,c3=V3&4,u3=a6|c3,Q3=G3>>>c3,J5=Q3>>>1,H5=J5&2,Y5=u3|H5,b5=Q3>>>H5,Y3=b5>>>1,U5=Y3&1,l6=Y5|U5,r3=b5>>>U5,U3=l6+r3|0,C6=553352+(U3<<2)|0,b3=e[C6>>2]|0,L3=b3+4|0,D3=e[L3>>2]|0,A6=D3&-8,n6=A6-x4|0,Da=n6,C$=b3,w$=b3;;){if(z3=C$+16|0,j5=e[z3>>2]|0,M3=(j5|0)==0,M3)if(J3=C$+20|0,d6=e[J3>>2]|0,m3=(d6|0)==0,m3){xr=Da,kt=w$;break}else L6=d6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,r6=S6-x4|0,f6=r6>>>0>>0,K=f6?r6:Da,$2=f6?L6:w$,Da=K,C$=L6,w$=$2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),v6=kt+x4|0,R3=kt>>>0>>0,R3||v2(),o6=kt+24|0,s6=e[o6>>2]|0,B6=kt+12|0,K3=e[B6>>2]|0,F3=(K3|0)==(kt|0);do if(F3){if(H6=kt+20|0,$6=e[H6>>2]|0,D6=($6|0)==0,D6)if(e9=kt+16|0,Q6=e[e9>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else fn=Q6,Ba=e9;else fn=$6,Ba=H6;for(;;){if(P3=fn+20|0,n9=e[P3>>2]|0,V6=(n9|0)==0,!V6){fn=n9,Ba=P3;continue}if(o9=fn+16|0,g9=e[o9>>2]|0,U6=(g9|0)==0,U6){In=fn,su=Ba;break}else fn=g9,Ba=o9}if(Y6=su>>>0>>0,Y6)v2();else{e[su>>2]=0,Ri=In;break}}else if(W3=kt+8|0,t6=e[W3>>2]|0,c6=t6>>>0>>0,c6&&v2(),o3=t6+12|0,J6=e[o3>>2]|0,A3=(J6|0)==(kt|0),A3||v2(),g6=K3+8|0,y6=e[g6>>2]|0,T3=(y6|0)==(kt|0),T3){e[o3>>2]=K3,e[g6>>2]=t6,Ri=K3;break}else v2();while(!1);t9=(s6|0)==0;do if(!t9){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,s9=(kt|0)==(O6|0),s9){if(e[O3>>2]=Ri,ip=(Ri|0)==0,ip){h9=1<>>0>>0,f9&&v2(),V9=s6+16|0,w6=e[V9>>2]|0,q6=(w6|0)==(kt|0),q6?e[V9>>2]=Ri:(a9=s6+20|0,e[a9>>2]=Ri),Y9=(Ri|0)==0,Y9)break;w9=e[138266]|0,we=Ri>>>0>>0,we&&v2(),ue=Ri+24|0,e[ue>>2]=s6,ne=kt+16|0,F9=e[ne>>2]|0,v9=(F9|0)==0;do if(!v9)if(K6=F9>>>0>>0,K6)v2();else{A9=Ri+16|0,e[A9>>2]=F9,ve=F9+24|0,e[ve>>2]=Ri;break}while(!1);if(Me=kt+20|0,he=e[Me>>2]|0,_9=(he|0)==0,!_9)if(Re=e[138266]|0,Ue=he>>>0>>0,Ue)v2();else{He=Ri+20|0,e[He>>2]=he,r4=he+24|0,e[r4>>2]=Ri;break}}while(!1);return ke=xr>>>0<16,ke?(Ve=xr+x4|0,J9=Ve|3,Ye=kt+4|0,e[Ye>>2]=J9,X1=Ve+4|0,de=kt+X1|0,Pe=e[de>>2]|0,Ce=Pe|1,e[de>>2]=Ce):(Z9=x4|3,k9=kt+4|0,e[k9>>2]=Z9,k4=xr|1,m0=x4|4,V4=kt+m0|0,e[V4>>2]=k4,I0=xr+x4|0,rt=kt+I0|0,e[rt>>2]=xr,ze=e[138264]|0,Y4=(ze|0)==0,Y4||(Je=e[138267]|0,o4=ze>>>3,R4=o4<<1,re=553088+(R4<<2)|0,u4=e[138262]|0,Be=1<>2]|0,h4=e[138266]|0,oe=Te>>>0

>>0,oe?v2():(O=fe,$$=Te)),e[O>>2]=Je,f4=$$+12|0,e[f4>>2]=Je,Se=Je+8|0,e[Se>>2]=$$,s4=Je+12|0,e[s4>>2]=re),e[138264]=xr,e[138267]=v6),Oe=kt+8|0,tt=Oe,tt|0}}else Le=x4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(S9=t+11|0,I6=S9&-8,z4=e[138263]|0,Ie=(z4|0)==0,Ie)Le=I6;else{S4=0-I6|0,me=S9>>>8,z6=(me|0)==0,z6?_r=0:(F4=I6>>>0>16777215,F4?_r=31:(T4=me+1048320|0,st=T4>>>16,pe=st&8,xe=me<>>16,x9=Z3&4,qe=x9|pe,a4=xe<>>16,f8=N4&2,_8=qe|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,_r=x8)),Ht=553352+(_r<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ro=S4,B$=0,Mr=0,Xe=86;else for(_t=(_r|0)==31,xt=_r>>>1,zt=25-xt|0,Jt=_t?0:zt,n8=I6<>2]|0,J4=Et&-8,G4=J4-I6|0,at=G4>>>0>>0,at)if(Lt=(J4|0)==(I6|0),Lt){Fo=G4,Hn=X7,Yn=X7,Xe=90;break e}else Mo=G4,Lr=X7;else Mo=p$,Lr=Po;if(L9=X7+20|0,b4=e[L9>>2]|0,E8=_a>>>31,L8=(X7+16|0)+(E8<<2)|0,o8=e[L8>>2]|0,M8=(b4|0)==0,A4=(b4|0)==(o8|0),Ap=M8|A4,gu=Ap?cu:b4,s8=(o8|0)==0,Kt=_a<<1,s8){Ro=Mo,B$=gu,Mr=Lr,Xe=86;break}else p$=Mo,cu=gu,_a=Kt,X7=o8,Po=Lr}while(!1);if((Xe|0)==86){if(Mt=(B$|0)==0,At=(Mr|0)==0,sp=Mt&At,sp){if($t=2<<_r,Ct=0-$t|0,Rt=$t|Ct,m4=z4&Rt,se=(m4|0)==0,se){Le=I6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,yt=ct>>>12,p4=yt&16,K4=ct>>>p4,W4=K4>>>5,ae=W4&8,P4=ae|p4,E4=K4>>>ae,gt=E4>>>2,_4=gt&4,De=P4|_4,Qt=E4>>>_4,a8=Qt>>>1,C3=a8&2,Z4=De|C3,wt=Qt>>>C3,$4=wt>>>1,j9=$4&1,l4=Z4|j9,T9=wt>>>j9,j4=l4+T9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,y$=C8,Rr=0}else y$=B$,Rr=Mr;$8=(y$|0)==0,$8?(si=Ro,q9=Rr):(Fo=Ro,Hn=y$,Yn=Rr,Xe=90)}if((Xe|0)==90)for(;;){if(Xe=0,Zt=Hn+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,ht=ut>>>0>>0,o0=ht?ut:Fo,Q$=ht?Hn:Yn,Ft=Hn+16|0,je=e[Ft>>2]|0,c8=(je|0)==0,!c8){Fo=o0,Hn=je,Yn=Q$,Xe=90;continue}if(Tt=Hn+20|0,D9=e[Tt>>2]|0,g8=(D9|0)==0,g8){si=o0,q9=Q$;break}else Fo=o0,Hn=D9,Yn=Q$,Xe=90}if(et=(q9|0)==0,et)Le=I6;else if(Y8=e[138264]|0,Z8=Y8-I6|0,R8=si>>>0>>0,R8){u8=e[138266]|0,F8=q9>>>0>>0,F8&&v2(),c4=q9+I6|0,z8=q9>>>0>>0,z8||v2(),dt=q9+24|0,Nt=e[dt>>2]|0,T8=q9+12|0,Xt=e[T8>>2]|0,O4=(Xt|0)==(q9|0);do if(O4){if(ei=q9+20|0,Bi=e[ei>>2]|0,ti=(Bi|0)==0,ti)if(yi=q9+16|0,li=e[yi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else Dr=li,Qa=yi;else Dr=Bi,Qa=ei;for(;;){if(Qi=Dr+20|0,wi=e[Qi>>2]|0,u7=(wi|0)==0,!u7){Dr=wi,Qa=Qi;continue}if(vi=Dr+16|0,ci=e[vi>>2]|0,h7=(ci|0)==0,h7){Xm=Dr,h$=Qa;break}else Dr=ci,Qa=vi}if(zi=h$>>>0>>0,zi)v2();else{e[h$>>2]=0,Ti=Xm;break}}else if(C4=q9+8|0,Ae=e[C4>>2]|0,N8=Ae>>>0>>0,N8&&v2(),$i=Ae+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(q9|0),Vi||v2(),Ei=Xt+8|0,X8=e[Ei>>2]|0,Ci=(X8|0)==(q9|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=Ae,Ti=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(Ki=q9+28|0,Wi=e[Ki>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ii=(q9|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)==(q9|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ri=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,hi=q9+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,$9=K8+24|0,e[$9>>2]=Ti;break}while(!1);if(B8=q9+20|0,vt=e[B8>>2]|0,y8=(vt|0)==0,!y8)if(U8=e[138266]|0,rr=vt>>>0>>0,rr)v2();else{kn=Ti+20|0,e[kn>>2]=vt,As=vt+24|0,e[As>>2]=Ti;break}}while(!1);$s=si>>>0<16;e:do if($s)Jr=si+I6|0,ls=Jr|3,cs=q9+4|0,e[cs>>2]=ls,d1=Jr+4|0,Kr=q9+d1|0,gs=e[Kr>>2]|0,or=gs|1,e[Kr>>2]=or;else{if(us=I6|3,hs=q9+4|0,e[hs>>2]=us,ds=si|1,l0=I6|4,fs=q9+l0|0,e[fs>>2]=ds,C0=si+I6|0,Zr=q9+C0|0,e[Zr>>2]=si,jr=si>>>3,Is=si>>>0<256,Is){sr=jr<<1,Xr=553088+(sr<<2)|0,ar=e[138262]|0,eo=1<>2]|0,Cs=e[138266]|0,Sn=io>>>0>>0,Sn?v2():(N=Ar,c$=io)),e[N>>2]=c4,$r=c$+12|0,e[$r>>2]=c4,Y0=I6+8|0,Bs=q9+Y0|0,e[Bs>>2]=c$,z0=I6+12|0,ys=q9+z0|0,e[ys>>2]=Xr;break}if(lr=si>>>8,I7=(lr|0)==0,I7?Un=0:(Qs=si>>>0>16777215,Qs?Un=31:(ws=lr+1048320|0,ro=ws>>>16,oo=ro&8,so=lr<>>16,cr=m7&4,ks=cr|oo,ao=so<>>16,Ao=Ds&2,_s=ks|Ao,xs=14-_s|0,Ls=ao<>>15,$o=xs+Ms|0,Rs=$o<<1,Fs=$o+7|0,bn=si>>>Fs,ur=bn&1,Ts=ur|Rs,Un=Ts)),an=553352+(Un<<2)|0,f1=I6+28|0,Ns=q9+f1|0,e[Ns>>2]=Un,M1=I6+16|0,lo=q9+M1|0,x1=I6+20|0,hr=q9+x1|0,e[hr>>2]=0,e[lo>>2]=0,co=e[138263]|0,dr=1<>2]=c4,V1=I6+24|0,ho=q9+V1|0,e[ho>>2]=an,s2=I6+12|0,fo=q9+s2|0,e[fo>>2]=c4,O1=I6+8|0,Ps=q9+O1|0,e[Ps>>2]=c4;break}Dn=e[an>>2]|0,Io=Dn+4|0,p7=e[Io>>2]|0,fr=p7&-8,_n=(fr|0)==(si|0);t:do if(_n)Ni=Dn;else{for(xn=(Un|0)==31,Z7=Un>>>1,Ln=25-Z7|0,mo=xn?0:Ln,j7=si<>>31,E7=(d$+16|0)+(Rn<<2)|0,i7=e[E7>>2]|0,Os=(i7|0)==0,Os){k=E7,ep=d$;break}if(D7=g$<<1,_7=i7+4|0,x7=e[_7>>2]|0,Mn=x7&-8,ln=(Mn|0)==(si|0),ln){Ni=i7;break t}else g$=D7,d$=i7}if(fi=e[138266]|0,cl=k>>>0>>0,cl)v2();else{e[k>>2]=c4,E0=I6+24|0,Ir=q9+E0|0,e[Ir>>2]=ep,H0=I6+12|0,mr=q9+H0|0,e[mr>>2]=c4,V0=I6+8|0,Vu=q9+V0|0,e[Vu>>2]=c4;break e}}while(!1);if(gl=Ni+8|0,cA=e[gl>>2]|0,ul=e[138266]|0,zu=cA>>>0>=ul>>>0,Au=Ni>>>0>=ul>>>0,Ju=zu&Au,Ju){Ku=cA+12|0,e[Ku>>2]=c4,e[gl>>2]=c4,h2=I6+8|0,gA=q9+h2|0,e[gA>>2]=cA,I2=I6+12|0,hl=q9+I2|0,e[hl>>2]=Ni,y0=I6+24|0,dl=q9+y0|0,e[dl>>2]=0;break}else v2()}while(!1);return uA=q9+8|0,tt=uA,tt|0}else Le=I6}while(!1);if(pr=e[138264]|0,Wu=pr>>>0>>0,!Wu)return Hs=pr-Le|0,cn=e[138267]|0,Zu=Hs>>>0>15,Zu?(ju=cn+Le|0,e[138267]=ju,e[138264]=Hs,Xu=Hs|1,p1=Le+4|0,eh=cn+p1|0,e[eh>>2]=Xu,th=cn+pr|0,e[th>>2]=Hs,ih=Le|3,nh=cn+4|0,e[nh>>2]=ih):(e[138264]=0,e[138267]=0,oh=pr|3,sh=cn+4|0,e[sh>>2]=oh,g0=pr+4|0,Il=cn+g0|0,Fn=e[Il>>2]|0,ah=Fn|1,e[Il>>2]=ah),Ah=cn+8|0,tt=Ah,tt|0;if(ml=e[138265]|0,$h=ml>>>0>Le>>>0,$h)return hA=ml-Le|0,e[138265]=hA,Vs=e[138268]|0,lh=Vs+Le|0,e[138268]=lh,ch=hA|1,Y=Le+4|0,fA=Vs+Y|0,e[fA>>2]=ch,pl=Le|3,El=Vs+4|0,e[El>>2]=pl,Cl=Vs+8|0,tt=Cl,tt|0;IA=e[138380]|0,Bl=(IA|0)==0;do if(Bl)if(Ys=FS(30)|0,gh=Ys+-1|0,yl=gh&Ys,hh=(yl|0)==0,hh){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,dh=Cy(0)|0,Ql=dh&-16,fh=Ql^1431655768,e[138380]=fh;break}else v2();while(!1);if(Ih=Le+48|0,wl=e[138382]|0,vl=Le+47|0,kl=wl+vl|0,Sl=0-wl|0,Er=kl&Sl,mh=Er>>>0>Le>>>0,!mh||(Dl=e[138372]|0,ph=(Dl|0)==0,!ph&&(_l=e[138370]|0,xl=_l+Er|0,Eh=xl>>>0<=_l>>>0,Ch=xl>>>0>Dl>>>0,ba=Eh|Ch,ba)))return tt=0,tt|0;Bh=e[138373]|0,mA=Bh&4,Ml=(mA|0)==0;e:do if(Ml){po=e[138268]|0,Rl=(po|0)==0;t:do if(Rl)Xe=174;else{for(To=553496;;){if(pA=e[To>>2]|0,yh=pA>>>0>po>>>0,!yh&&(Fl=To+4|0,Qh=e[Fl>>2]|0,Tl=pA+Qh|0,wh=Tl>>>0>po>>>0,wh)){b=To,D=Fl;break}if(vh=To+8|0,Gl=e[vh>>2]|0,kh=(Gl|0)==0,kh){Xe=174;break t}else To=Gl}if(Gh=e[138265]|0,Uh=kl-Gh|0,Ws=Uh&Sl,Ph=Ws>>>0<2147483647,Ph)if(Zs=Oi(Ws|0)|0,Oh=e[b>>2]|0,Hh=e[D>>2]|0,Vh=Oh+Hh|0,Jl=(Zs|0)==(Vh|0),o=Jl?Ws:0,Jl)if(Yh=(Zs|0)==-1,Yh)Vn=o;else{h6=Zs,L4=o,Xe=194;break e}else va=Zs,s7=Ws,xa=o,Xe=184;else Vn=0}while(!1);do if((Xe|0)==174)if(zs=Oi(0)|0,Sh=(zs|0)==-1,Sh)Vn=0;else if(EA=zs,Ul=e[138381]|0,Pl=Ul+-1|0,bh=Pl&EA,Dh=(bh|0)==0,Dh?qn=Er:(_h=Pl+EA|0,Lh=0-Ul|0,Mh=_h&Lh,Js=Er-EA|0,Ol=Js+Mh|0,qn=Ol),ql=e[138370]|0,Hl=ql+qn|0,Ks=qn>>>0>Le>>>0,Rh=qn>>>0<2147483647,ap=Ks&Rh,ap){if(Vl=e[138372]|0,Fh=(Vl|0)==0,!Fh&&(Th=Hl>>>0<=ql>>>0,Nh=Hl>>>0>Vl>>>0,$p=Th|Nh,$p)){Vn=0;break}if(zl=Oi(qn|0)|0,CA=(zl|0)==(zs|0),uu=CA?qn:0,CA){h6=zs,L4=uu,Xe=194;break e}else va=zl,s7=qn,xa=uu,Xe=184}else Vn=0;while(!1);t:do if((Xe|0)==184){zh=0-s7|0,Jh=(va|0)!=-1,Kh=s7>>>0<2147483647,cp=Kh&Jh,Kl=Ih>>>0>s7>>>0,gp=Kl&cp;do if(gp)if(Wl=e[138382]|0,gn=vl-s7|0,js=gn+Wl|0,yA=0-Wl|0,QA=js&yA,Cr=QA>>>0<2147483647,Cr)if(jl=Oi(QA|0)|0,Br=(jl|0)==-1,Br){Oi(zh|0)|0,Vn=xa;break t}else{Wh=QA+s7|0,E$=Wh;break}else E$=s7;else E$=s7;while(!1);if(Xl=(va|0)==-1,Xl)Vn=xa;else{h6=va,L4=E$,Xe=194;break e}}while(!1);Zh=e[138373]|0,jh=Zh|4,e[138373]=jh,hu=Vn,Xe=191}else hu=0,Xe=191;while(!1);if((Xe|0)==191&&(ed=Er>>>0<2147483647,ed&&(Xs=Oi(Er|0)|0,wA=Oi(0)|0,Tn=(Xs|0)!=-1,td=(wA|0)!=-1,lp=Tn&td,id=Xs>>>0>>0,up=id&lp,up&&(ec=wA,vA=Xs,tc=ec-vA|0,ic=Le+40|0,nc=tc>>>0>ic>>>0,C2=nc?tc:hu,nc&&(h6=Xs,L4=C2,Xe=194)))),(Xe|0)==194){rd=e[138370]|0,kA=rd+L4|0,e[138370]=kA,od=e[138371]|0,sd=kA>>>0>od>>>0,sd&&(e[138371]=kA),K9=e[138268]|0,ad=(K9|0)==0;e:do if(ad){for(rc=e[138266]|0,Ad=(rc|0)==0,$d=h6>>>0>>0,hp=Ad|$d,hp&&(e[138266]=h6),e[138374]=h6,e[138375]=L4,e[138377]=0,ld=e[138380]|0,e[138271]=ld,e[138270]=-1,Sa=0;bA=Sa<<1,oc=553088+(bA<<2)|0,h0=bA+3|0,cd=553088+(h0<<2)|0,e[cd>>2]=oc,r0=bA+2|0,gd=553088+(r0<<2)|0,e[gd>>2]=oc,sc=Sa+1|0,rp=(sc|0)==32,!rp;)Sa=sc;ac=L4+-40|0,ud=h6+8|0,DA=ud,_A=DA&7,$c=(_A|0)==0,hd=0-DA|0,lc=hd&7,xA=$c?0:lc,dd=h6+xA|0,cc=ac-xA|0,e[138268]=dd,e[138265]=cc,fd=cc|1,e0=xA+4|0,Id=h6+e0|0,e[Id>>2]=fd,h1=L4+-36|0,md=h6+h1|0,e[md>>2]=40,pd=e[138384]|0,e[138269]=pd}else{for(Go=553496;;){if(uc=e[Go>>2]|0,LA=Go+4|0,ea=e[LA>>2]|0,hc=uc+ea|0,Ed=(h6|0)==(hc|0),Ed){E=uc,y=LA,B=ea,dp=Go,Xe=204;break}if(dc=Go+8|0,fc=e[dc>>2]|0,Cd=(fc|0)==0,Cd)break;Go=fc}if((Xe|0)==204&&(Bd=dp+12|0,yd=e[Bd>>2]|0,Qd=yd&8,wd=(Qd|0)==0,wd&&(vd=K9>>>0>=E>>>0,kd=K9>>>0
>>0,lu=kd&vd,lu))){Sd=B+L4|0,e[y>>2]=Sd,bd=e[138265]|0,mc=bd+L4|0,Dd=K9+8|0,pc=Dd,_d=pc&7,xd=(_d|0)==0,Ec=0-pc|0,Ld=Ec&7,Eo=xd?0:Ld,Cc=K9+Eo|0,MA=mc-Eo|0,e[138268]=Cc,e[138265]=MA,Md=MA|1,c0=Eo+4|0,ta=K9+c0|0,e[ta>>2]=Md,a1=mc+4|0,RA=K9+a1|0,e[RA>>2]=40,Rd=e[138384]|0,e[138269]=Rd;break}for(Bc=e[138266]|0,Fd=h6>>>0>>0,Fd?(e[138266]=h6,Qo=h6):Qo=Bc,Td=h6+L4|0,Uo=553496;;){if(Nd=e[Uo>>2]|0,Gd=(Nd|0)==(Td|0),Gd){I=Uo,mn=Uo,Xe=212;break}if(Ud=Uo+8|0,yc=e[Ud>>2]|0,Pd=(yc|0)==0,Pd){No=553496;break}else Uo=yc}if((Xe|0)==212)if(Od=mn+12|0,qd=e[Od>>2]|0,TA=qd&8,Hd=(TA|0)==0,Hd){e[I>>2]=h6,NA=mn+4|0,Vd=e[NA>>2]|0,Yd=Vd+L4|0,e[NA>>2]=Yd,zd=h6+8|0,Qc=zd,Jd=Qc&7,Kd=(Jd|0)==0,Wd=0-Qc|0,jd=Wd&7,na=Kd?0:jd,Xd=h6+na|0,B0=L4+8|0,ef=h6+B0|0,wc=ef,tf=wc&7,nf=(tf|0)==0,rf=0-wc|0,of=rf&7,C7=nf?0:of,x0=C7+L4|0,B7=h6+x0|0,kc=B7,GA=Xd,sf=kc-GA|0,$0=na+Le|0,n7=h6+$0|0,Bo=sf-Le|0,af=Le|3,p0=na+4|0,Af=h6+p0|0,e[Af>>2]=af,$f=(B7|0)==(K9|0);t:do if($f)lf=e[138265]|0,Sc=lf+Bo|0,e[138265]=Sc,e[138268]=n7,gf=Sc|1,H1=$0+4|0,uf=h6+H1|0,e[uf>>2]=gf;else{if(bc=e[138267]|0,hf=(B7|0)==(bc|0),hf){df=e[138264]|0,yo=df+Bo|0,e[138264]=yo,e[138267]=n7,UA=yo|1,K1=$0+4|0,ff=h6+K1|0,e[ff>>2]=UA,q1=yo+$0|0,Dc=h6+q1|0,e[Dc>>2]=yo;break}if($1=L4+4|0,Z0=$1+C7|0,mf=h6+Z0|0,ra=e[mf>>2]|0,pf=ra&3,Ef=(pf|0)==1,Ef){_c=ra&-8,xc=ra>>>3,Cf=ra>>>0<256;i:do if(Cf){U1=C7|8,W0=U1+L4|0,Bf=h6+W0|0,Qr=e[Bf>>2]|0,D1=L4+12|0,K0=D1+C7|0,yf=h6+K0|0,wr=e[yf>>2]|0,wf=xc<<1,Lc=553088+(wf<<2)|0,vf=(Qr|0)==(Lc|0);do if(!vf){if(kf=Qr>>>0>>0,kf&&v2(),Mc=Qr+12|0,Sf=e[Mc>>2]|0,Rc=(Sf|0)==(B7|0),Rc)break;v2()}while(!1);if(bf=(wr|0)==(Qr|0),bf){PA=1<>>0>>0,xf&&v2(),Nc=wr+8|0,Lf=e[Nc>>2]|0,Mf=(Lf|0)==(B7|0),Mf){H=Nc;break}v2()}while(!1);Rf=Qr+12|0,e[Rf>>2]=wr,e[H>>2]=Qr}else{R1=C7|24,R0=R1+L4|0,Ff=h6+R0|0,wo=e[Ff>>2]|0,Y1=L4+12|0,v0=Y1+C7|0,Tf=h6+v0|0,vr=e[Tf>>2]|0,Nf=(vr|0)==(B7|0);do if(Nf){if(e2=C7|16,M0=$1+e2|0,qc=h6+M0|0,Hc=e[qc>>2]|0,qf=(Hc|0)==0,qf)if(P0=e2+L4|0,Vc=h6+P0|0,Yc=e[Vc>>2]|0,Hf=(Yc|0)==0,Hf){Fi=0;break}else br=Yc,ya=Vc;else br=Hc,ya=qc;for(;;){if(zc=br+20|0,Jc=e[zc>>2]|0,Yf=(Jc|0)==0,!Yf){br=Jc,ya=zc;continue}if(Kc=br+16|0,Wc=e[Kc>>2]|0,zf=(Wc|0)==0,zf){jm=br,ou=ya;break}else br=Wc,ya=Kc}if(Jf=ou>>>0>>0,Jf)v2();else{e[ou>>2]=0,Fi=jm;break}}else if(F1=C7|8,N0=F1+L4|0,Gf=h6+N0|0,OA=e[Gf>>2]|0,Uf=OA>>>0>>0,Uf&&v2(),qA=OA+12|0,HA=e[qA>>2]|0,Uc=(HA|0)==(B7|0),Uc||v2(),Pc=vr+8|0,Of=e[Pc>>2]|0,Oc=(Of|0)==(B7|0),Oc){e[qA>>2]=vr,e[Pc>>2]=OA,Fi=vr;break}else v2();while(!1);if(Zc=(wo|0)==0,Zc)break;b1=L4+28|0,U0=b1+C7|0,VA=h6+U0|0,jc=e[VA>>2]|0,tg=553352+(jc<<2)|0,Kf=e[tg>>2]|0,Wf=(B7|0)==(Kf|0);do if(Wf){if(e[tg>>2]=Fi,np=(Fi|0)==0,!np)break;Zf=1<>>0>>0,iI&&v2(),ig=wo+16|0,nI=e[ig>>2]|0,rI=(nI|0)==(B7|0),rI?e[ig>>2]=Fi:(oI=wo+20|0,e[oI>>2]=Fi),ng=(Fi|0)==0,ng)break i;while(!1);rg=e[138266]|0,sI=Fi>>>0>>0,sI&&v2(),og=Fi+24|0,e[og>>2]=wo,_1=C7|16,O0=_1+L4|0,zA=h6+O0|0,oa=e[zA>>2]|0,sg=(oa|0)==0;do if(!sg)if(AI=oa>>>0>>0,AI)v2();else{$I=Fi+16|0,e[$I>>2]=oa,lI=oa+24|0,e[lI>>2]=Fi;break}while(!1);if(J0=$1+_1|0,ag=h6+J0|0,sa=e[ag>>2]|0,cI=(sa|0)==0,cI)break;if(gI=e[138266]|0,uI=sa>>>0>>0,uI)v2();else{hI=Fi+20|0,e[hI>>2]=sa,dI=sa+24|0,e[dI>>2]=Fi;break}}while(!1);A2=_c|C7,T0=A2+L4|0,II=h6+T0|0,mI=_c+Bo|0,$u=II,o7=mI}else $u=B7,o7=Bo;if(Ag=$u+4|0,pI=e[Ag>>2]|0,EI=pI&-2,e[Ag>>2]=EI,CI=o7|1,D0=$0+4|0,BI=h6+D0|0,e[BI>>2]=CI,Q0=o7+$0|0,aa=h6+Q0|0,e[aa>>2]=o7,$g=o7>>>3,yI=o7>>>0<256,yI){kr=$g<<1,lg=553088+(kr<<2)|0,cg=e[138262]|0,JA=1<<$g,wI=cg&JA,gg=(wI|0)==0;do if(gg)vI=cg|JA,e[138262]=vI,x=kr+2|0,j=553088+(x<<2)|0,F=j,l$=lg;else{if(S1=kr+2|0,ug=553088+(S1<<2)|0,hg=e[ug>>2]|0,kI=e[138266]|0,bI=hg>>>0>>0,!bI){F=ug,l$=hg;break}v2()}while(!1);e[F>>2]=n7,DI=l$+12|0,e[DI>>2]=n7,v1=$0+8|0,_I=h6+v1|0,e[_I>>2]=l$,k1=$0+12|0,Aa=h6+k1|0,e[Aa>>2]=lg;break}KA=o7>>>8,xI=(KA|0)==0;do if(xI)Pn=0;else{if(LI=o7>>>0>16777215,LI){Pn=31;break}MI=KA+1048320|0,RI=MI>>>16,dg=RI&8,fg=KA<>>16,Ig=NI&4,Nn=Ig|dg,mg=fg<>>16,Eg=GI&2,$a=Nn|Eg,PI=14-$a|0,OI=mg<>>15,Cg=PI+la|0,qI=Cg<<1,HI=Cg+7|0,Bg=o7>>>HI,VI=Bg&1,YI=VI|qI,Pn=YI}while(!1);if(WA=553352+(Pn<<2)|0,S0=$0+28|0,zI=h6+S0|0,e[zI>>2]=Pn,j0=$0+16|0,JI=h6+j0|0,q0=$0+20|0,KI=h6+q0|0,e[KI>>2]=0,e[JI>>2]=0,yg=e[138263]|0,Qg=1<>2]=n7,s1=$0+24|0,vo=h6+s1|0,e[vo>>2]=WA,n1=$0+12|0,jI=h6+n1|0,e[jI>>2]=n7,o1=$0+8|0,XI=h6+o1|0,e[XI>>2]=n7;break}ZA=e[WA>>2]|0,kg=ZA+4|0,em=e[kg>>2]|0,tm=em&-8,im=(tm|0)==(o7|0);i:do if(im)On=ZA;else{for(nm=(Pn|0)==31,Sg=Pn>>>1,rm=25-Sg|0,om=nm?0:rm,sm=o7<>>31,Lg=(f$+16|0)+(xg<<2)|0,ko=e[Lg>>2]|0,L7=(ko|0)==0,L7){a=Lg,tp=f$;break}if(am=Lo<<1,Am=ko+4|0,Dg=e[Am>>2]|0,_g=Dg&-8,$m=(_g|0)==(o7|0),$m){On=ko;break i}else Lo=am,f$=ko}if(hn=e[138266]|0,lm=a>>>0>>0,lm)v2();else{e[a>>2]=n7,Q1=$0+24|0,cm=h6+Q1|0,e[cm>>2]=tp,C1=$0+12|0,gm=h6+C1|0,e[gm>>2]=n7,y1=$0+8|0,um=h6+y1|0,e[um>>2]=n7;break t}}while(!1);if(jA=On+8|0,ua=e[jA>>2]|0,Rg=e[138266]|0,Fg=ua>>>0>=Rg>>>0,m$=On>>>0>=Rg>>>0,hm=Fg&m$,hm){So=ua+12|0,e[So>>2]=n7,e[jA>>2]=n7,X0=$0+8|0,dm=h6+X0|0,e[dm>>2]=ua,B1=$0+12|0,da=h6+B1|0,e[da>>2]=On,m1=$0+24|0,XA=h6+m1|0,e[XA>>2]=0;break}else v2()}while(!1);return u1=na|8,fm=h6+u1|0,tt=fm,tt|0}else No=553496;for(;;){if(e$=e[No>>2]|0,Im=e$>>>0>K9>>>0,!Im&&(mm=No+4|0,Tg=e[mm>>2]|0,fa=e$+Tg|0,pm=fa>>>0>K9>>>0,pm)){g=e$,d=Tg,p=fa;break}Em=No+8|0,Cm=e[Em>>2]|0,No=Cm}if(u0=d+-47|0,d0=d+-39|0,Bm=g+d0|0,Gg=Bm,ym=Gg&7,oi=(ym|0)==0,_e=0-Gg|0,r7=_e&7,Qm=oi?0:r7,c1=u0+Qm|0,Pg=g+c1|0,t$=K9+16|0,wm=Pg>>>0>>0,Gn=wm?K9:Pg,bo=Gn+8|0,vm=L4+-40|0,km=h6+8|0,Og=km,i$=Og&7,Sm=(i$|0)==0,Hg=0-Og|0,Vg=Hg&7,n$=Sm?0:Vg,r$=h6+n$|0,Yg=vm-n$|0,e[138268]=r$,e[138265]=Yg,Do=Yg|1,i0=n$+4|0,o$=h6+i0|0,e[o$>>2]=Do,A1=L4+-36|0,zg=h6+A1|0,e[zg>>2]=40,bm=e[138384]|0,e[138269]=bm,Sr=Gn+4|0,e[Sr>>2]=27,e[bo>>2]=e[138374]|0,e[bo+4>>2]=e[138375]|0,e[bo+8>>2]=e[138376]|0,e[bo+12>>2]=e[138377]|0,e[138374]=h6,e[138375]=L4,e[138377]=0,e[138376]=bo,Jg=Gn+28|0,e[Jg>>2]=7,Ia=Gn+32|0,_m=Ia>>>0

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

>>0,Lm;)M7=Kg;if(Mm=(Gn|0)==(K9|0),!Mm){if(Rm=Gn,Fm=K9,R7=Rm-Fm|0,Nm=e[Sr>>2]|0,Gm=Nm&-2,e[Sr>>2]=Gm,Um=R7|1,Wg=K9+4|0,e[Wg>>2]=Um,e[Gn>>2]=R7,y7=R7>>>3,ma=R7>>>0<256,ma){s$=y7<<1,Zg=553088+(s$<<2)|0,jg=e[138262]|0,Xg=1<>2]|0,Hm=e[138266]|0,Vm=iu>>>0>>0,Vm?v2():(L=tu,A$=iu)),e[L>>2]=K9,nu=A$+12|0,e[nu>>2]=K9,Ym=K9+8|0,e[Ym>>2]=A$,pa=K9+12|0,e[pa>>2]=Zg;break}if(Ea=R7>>>8,zm=(Ea|0)==0,zm?dn=0:(a$=R7>>>0>16777215,a$?dn=31:(Jm=Ea+1048320|0,Km=Jm>>>16,ru=Km&8,xo=Ea<>>16,g2=Zm&4,o2=g2|ru,l2=xo<>>16,m2=a2&2,n2=o2|m2,k2=14-n2|0,D2=l2<>>15,G2=k2+S2|0,M2=G2<<1,O2=G2+7|0,p2=R7>>>O2,W2=p2&1,q2=W2|M2,dn=q2)),J2=553352+(dn<<2)|0,U2=K9+28|0,e[U2>>2]=dn,V2=K9+20|0,e[V2>>2]=0,e[t$>>2]=0,Z2=e[138263]|0,Y2=1<>2]=K9,i5=K9+24|0,e[i5>>2]=J2,x5=K9+12|0,e[x5>>2]=K9,j2=K9+8|0,e[j2>>2]=K9;break}p5=e[J2>>2]|0,D5=p5+4|0,V5=e[D5>>2]|0,b2=V5&-8,y5=(b2|0)==(R7|0);t:do if(y5)wa=p5;else{for(s5=(dn|0)==31,F2=dn>>>1,R2=25-F2|0,Q2=s5?0:R2,Q5=R7<>>31,h5=(I$+16|0)+($5<<2)|0,L5=e[h5>>2]|0,w5=(L5|0)==0,w5){$=h5,au=I$;break}if(N5=u$<<1,E5=L5+4|0,M5=e[E5>>2]|0,z2=M5&-8,C5=(z2|0)==(R7|0),C5){wa=L5;break t}else u$=N5,I$=L5}if(T1=e[138266]|0,_5=$>>>0>>0,_5)v2();else{e[$>>2]=K9,d5=K9+24|0,e[d5>>2]=au,l5=K9+12|0,e[l5>>2]=K9,d2=K9+8|0,e[d2>>2]=K9;break e}}while(!1);if(v5=wa+8|0,n5=e[v5>>2]|0,a5=e[138266]|0,f5=n5>>>0>=a5>>>0,op=wa>>>0>=a5>>>0,K2=f5&op,K2){I5=n5+12|0,e[I5>>2]=K9,e[v5>>2]=K9,r5=K9+8|0,e[r5>>2]=n5,R5=K9+12|0,e[R5>>2]=wa,e5=K9+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(T2=e[138265]|0,k5=T2>>>0>Le>>>0,k5)return z5=T2-Le|0,e[138265]=z5,i3=e[138268]|0,B5=i3+Le|0,e[138268]=B5,I3=z5|1,X=Le+4|0,d3=i3+X|0,e[d3>>2]=I3,W5=Le|3,n3=i3+4|0,e[n3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=Ey()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,d8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){Y=t+-8|0,W2=e[138266]|0,v6=Y>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,ne=f9&3,Ue=(ne|0)==1,Ue&&v2(),Z9=f9&-8,y=Z9+-8|0,re=t+y|0,h0=f9&1,r0=(h0|0)==0;do if(r0){if(x0=e[Y>>2]|0,M0=(ne|0)==0,M0)return;if(Q=-8-x0|0,L0=t+Q|0,X0=x0+Z9|0,b1=L0>>>0>>0,b1&&v2(),q1=e[138267]|0,A2=(L0|0)==(q1|0),A2){if(t0=Z9+-4|0,c0=t+t0|0,$0=e[c0>>2]|0,l0=$0&3,X=(l0|0)==3,!X){Z3=L0,x9=X0;break}e[138264]=X0,m0=$0&-2,e[c0>>2]=m0,g0=X0|1,x=Q+4|0,I0=t+x|0,e[I0>>2]=g0,e[re>>2]=X0;return}if(a2=x0>>>3,q2=x0>>>0<256,q2){if(Z=Q+8|0,x5=t+Z|0,Q2=e[x5>>2]|0,A0=Q+12|0,w5=t+A0|0,K2=e[w5>>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,J6=(R3|0)==(L0|0),J6||v2()),X6=(K2|0)==(Q2|0),X6){V6=1<>>0>>0,F6&&v2(),t9=K2+8|0,P6=e[t9>>2]|0,O3=(P6|0)==(L0|0),O3?g=t9:v2()),O6=Q2+12|0,e[O6>>2]=K2,e[g>>2]=Q2,Z3=L0,x9=X0;break}M=Q+24|0,s9=t+M|0,h9=e[s9>>2]|0,L=Q+12|0,r9=t+L|0,B9=e[r9>>2]|0,y9=(B9|0)==(L0|0);do if(y9){if(N=Q+20|0,ue=t+N|0,Ee=e[ue>>2]|0,z9=(Ee|0)==0,z9)if(F=Q+16|0,F9=t+F|0,v9=e[F9>>2]|0,K6=(v9|0)==0,K6){S9=0;break}else Oe=v9,S4=F9;else Oe=Ee,S4=ue;for(;;){if(A9=Oe+20|0,ve=e[A9>>2]|0,Me=(ve|0)==0,!Me){Oe=ve,S4=A9;continue}if(he=Oe+16|0,_9=e[he>>2]|0,Re=(_9|0)==0,Re){I4=Oe,be=S4;break}else Oe=_9,S4=he}if(Fe=be>>>0>>0,Fe)v2();else{e[be>>2]=0,S9=I4;break}}else if(J=Q+8|0,Q9=t+J|0,d9=e[Q9>>2]|0,V9=d9>>>0>>0,V9&&v2(),w6=d9+12|0,q6=e[w6>>2]|0,a9=(q6|0)==(L0|0),a9||v2(),Y9=B9+8|0,w9=e[Y9>>2]|0,we=(w9|0)==(L0|0),we){e[w6>>2]=B9,e[Y9>>2]=d9,S9=B9;break}else v2();while(!1);if(He=(h9|0)==0,He)Z3=L0,x9=X0;else{if(O=Q+28|0,r4=t+O|0,ke=e[r4>>2]|0,Ve=553352+(ke<<2)|0,J9=e[Ve>>2]|0,Ye=(L0|0)==(J9|0),Ye){if(e[Ve>>2]=S9,pe=(S9|0)==0,pe){de=1<>>0>>0,k4&&v2(),V4=h9+16|0,rt=e[V4>>2]|0,ze=(rt|0)==(L0|0),ze?e[V4>>2]=S9:(Y4=h9+20|0,e[Y4>>2]=S9),Je=(S9|0)==0,Je){Z3=L0,x9=X0;break}o4=e[138266]|0,R4=S9>>>0>>0,R4&&v2(),ot=S9+24|0,e[ot>>2]=h9,H=Q+16|0,u4=t+H|0,Be=e[u4>>2]|0,T6=(Be|0)==0;do if(!T6)if(Ke=Be>>>0>>0,Ke)v2();else{O9=S9+16|0,e[O9>>2]=Be,fe=Be+24|0,e[fe>>2]=S9;break}while(!1);if(V=Q+20|0,Te=t+V|0,h4=e[Te>>2]|0,oe=(h4|0)==0,oe)Z3=L0,x9=X0;else if(d4=e[138266]|0,i0=h4>>>0>>0,i0)v2();else{e0=S9+20|0,e[e0>>2]=h4,u0=h4+24|0,e[u0>>2]=S9,Z3=L0,x9=X0;break}}}else Z3=Y,x9=Z9;while(!1);if(d0=Z3>>>0>>0,d0||v2(),_=Z9+-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=(re|0)==(Q0|0),w0){if(B0=e[138265]|0,Z0=B0+x9|0,e[138265]=Z0,e[138268]=Z3,R0=Z0|1,v0=Z3+4|0,e[v0>>2]=R0,N0=e[138267]|0,U0=(Z3|0)==(N0|0),!U0)return;e[138267]=0,e[138264]=0;return}if(O0=e[138267]|0,H0=(re|0)==(O0|0),H0){S0=e[138264]|0,J0=S0+x9|0,e[138264]=J0,e[138267]=Z3,T0=J0|1,P0=Z3+4|0,e[P0>>2]=T0,W0=Z3+J0|0,e[W0>>2]=J0;return}K0=C0&-8,V0=K0+x9|0,j0=C0>>>3,q0=C0>>>0<256;do if(q0){if(Y0=t+Z9|0,s1=e[Y0>>2]|0,w=Z9|4,z0=t+w|0,n1=e[z0>>2]|0,o1=j0<<1,d1=553088+(o1<<2)|0,u1=(s1|0)==(d1|0),u1||(p1=e[138266]|0,f1=s1>>>0>>0,f1&&v2(),h1=s1+12|0,A1=e[h1>>2]|0,c1=(A1|0)==(re|0),c1||v2()),a1=(n1|0)==(s1|0),a1){$1=1<>>0>>0,v1&&v2(),k1=n1+8|0,S1=e[k1>>2]|0,L1=(S1|0)==(re|0),L1?$=k1:v2()),M1=s1+12|0,e[M1>>2]=n1,e[$>>2]=s1}else{j=Z9+16|0,_1=t+j|0,R1=e[_1>>2]|0,n0=Z9|4,F1=t+n0|0,U1=e[F1>>2]|0,D1=(U1|0)==(re|0);do if(D1){if(K=Z9+12|0,e2=t+K|0,O1=e[e2>>2]|0,h2=(O1|0)==0,h2)if(s0=Z9+8|0,Z1=t+s0|0,I2=e[Z1>>2]|0,C2=(I2|0)==0,C2){Ie=0;break}else I6=I2,me=Z1;else I6=O1,me=e2;for(;;){if($2=I6+20|0,W1=e[$2>>2]|0,f2=(W1|0)==0,!f2){I6=W1,me=$2;continue}if(c2=I6+16|0,r2=e[c2>>2]|0,g2=(r2|0)==0,g2){z4=I6,z6=me;break}else I6=r2,me=c2}if(o2=e[138266]|0,l2=z6>>>0>>0,l2)v2();else{e[z6>>2]=0,Ie=z4;break}}else if(P1=t+Z9|0,X1=e[P1>>2]|0,G1=e[138266]|0,x1=X1>>>0>>0,x1&&v2(),K1=X1+12|0,H1=e[K1>>2]|0,V1=(H1|0)==(re|0),V1||v2(),Y1=U1+8|0,t2=e[Y1>>2]|0,s2=(t2|0)==(re|0),s2){e[K1>>2]=U1,e[Y1>>2]=X1,Ie=U1;break}else v2();while(!1);if(i2=(R1|0)==0,!i2){if(b=Z9+20|0,m2=t+b|0,n2=e[m2>>2]|0,k2=553352+(n2<<2)|0,D2=e[k2>>2]|0,S2=(re|0)==(D2|0),S2){if(e[k2>>2]=Ie,xe=(Ie|0)==0,xe){y2=1<>>0>>0,J2&&v2(),U2=R1+16|0,V2=e[U2>>2]|0,Z2=(V2|0)==(re|0),Z2?e[U2>>2]=Ie:(A5=R1+20|0,e[A5>>2]=Ie),Y2=(Ie|0)==0,Y2)break;N1=e[138266]|0,t5=Ie>>>0>>0,t5&&v2(),T5=Ie+24|0,e[T5>>2]=R1,D=Z9+8|0,i5=t+D|0,j2=e[i5>>2]|0,p5=(j2|0)==0;do if(!p5)if(D5=j2>>>0>>0,D5)v2();else{V5=Ie+16|0,e[V5>>2]=j2,u5=j2+24|0,e[u5>>2]=Ie;break}while(!1);if(k=Z9+12|0,b2=t+k|0,y5=e[b2>>2]|0,s5=(y5|0)==0,!s5)if(F2=e[138266]|0,R2=y5>>>0>>0,R2)v2();else{Q5=Ie+20|0,e[Q5>>2]=y5,N5=y5+24|0,e[N5>>2]=Ie;break}}}while(!1);if(E5=V0|1,L5=Z3+4|0,e[L5>>2]=E5,q5=Z3+V0|0,e[q5>>2]=V0,M5=e[138267]|0,z2=(Z3|0)==(M5|0),z2){e[138264]=V0;return}else b9=V0}else C5=C0&-2,e[p0>>2]=C5,$5=x9|1,h5=Z3+4|0,e[h5>>2]=$5,T1=Z3+x9|0,e[T1>>2]=x9,b9=x9;if(_5=b9>>>3,d5=b9>>>0<256,d5){l5=_5<<1,X2=553088+(l5<<2)|0,d2=e[138262]|0,v5=1<<_5,n5=d2&v5,a5=(n5|0)==0,a5?(f5=d2|v5,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,r5=e[I5>>2]|0,R5=e[138266]|0,e5=r5>>>0>>0,e5?v2():(d=I5,f4=r5)),e[d>>2]=Z3,c5=f4+12|0,e[c5>>2]=Z3,T2=Z3+8|0,e[T2>>2]=f4,k5=Z3+12|0,e[k5>>2]=X2;return}z5=b9>>>8,i3=(z5|0)==0,i3?Se=0:(B5=b9>>>0>16777215,B5?Se=31:(d3=z5+1048320|0,W5=d3>>>16,n3=W5&8,a3=z5<>>16,Z5=G5&4,x3=Z5|n3,f3=a3<>>16,X5=H3&2,_3=x3|X5,t3=14-_3|0,a6=f3<>>15,V3=t3+G3|0,c3=V3<<1,g3=V3+7|0,u3=b9>>>g3,J5=u3&1,H5=J5|c3,Se=H5)),Y5=553352+(Se<<2)|0,b5=Z3+28|0,e[b5>>2]=Se,Y3=Z3+16|0,U5=Z3+20|0,e[U5>>2]=0,e[Y3>>2]=0,l6=e[138263]|0,r3=1<>2]=Z3,L3=Z3+24|0,e[L3>>2]=Y5,D3=Z3+12|0,e[D3>>2]=Z3,A6=Z3+8|0,e[A6>>2]=Z3;else{n6=e[Y5>>2]|0,z3=n6+4|0,j5=e[z3>>2]|0,M3=j5&-8,h3=(M3|0)==(b9|0);t:do if(h3)F4=n6;else{for(J3=(Se|0)==31,m3=Se>>>1,x6=25-m3|0,L6=J3?0:x6,M6=b9<>>31,s6=(T4+16|0)+(o6<<2)|0,f6=e[s6>>2]|0,B6=(f6|0)==0,B6){o=s6,st=T4;break}if(S6=s4<<1,r6=f6+4|0,b6=e[r6>>2]|0,N6=b6&-8,j6=(N6|0)==(b9|0),j6){F4=f6;break t}else s4=S6,T4=f6}if(K3=e[138266]|0,F3=o>>>0>>0,F3)v2();else{e[o>>2]=Z3,W3=Z3+24|0,e[W3>>2]=st,t6=Z3+12|0,e[t6>>2]=Z3,R6=Z3+8|0,e[R6>>2]=Z3;break e}}while(!1);if(c6=F4+8|0,o3=e[c6>>2]|0,A3=e[138266]|0,g6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,y6=g6&mt,y6){T3=o3+12|0,e[T3>>2]=Z3,e[c6>>2]=Z3,H6=Z3+8|0,e[H6>>2]=o3,$6=Z3+12|0,e[$6>>2]=F4,D6=Z3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,e9=G6+-1|0,e[138270]=e9,Q6=(e9|0)==0,Q6)a4=553504;else return;for(;qe=e[a4>>2]|0,P3=(qe|0)==0,n9=qe+8|0,!P3;)a4=n9;e[138270]=-1}}function ce(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0;return x=C,$=(t|0)==0,$?_=0:(g=o5(o,t)|0,I=o|t,E=I>>>0>65535,E?(y=(g>>>0)/(t>>>0)&-1,B=(y|0)==(o|0),a=B?g:-1,_=a):_=g),b=R9(_)|0,D=(b|0)==0,D||(k=b+-4|0,w=e[k>>2]|0,d=w&3,p=(d|0)==0,p)||g4(b|0,0,_|0)|0,b|0}function W7(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0;return Z=C,a=(t|0)==0,a?($=R9(o)|0,J=$,J|0):(w=o>>>0>4294967231,w?(M=Ey()|0,e[M>>2]=12,J=0,J|0):(L=o>>>0<11,F=o+11|0,N=F&-8,O=L?16:N,H=t+-8|0,V=QD(H,O)|0,g=(V|0)==0,g?(p=R9(o)|0,I=(p|0)==0,I?(J=0,J|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,x=Q?_:o,ge(p|0,t|0,x|0)|0,E2(t),J=p,J|0)):(d=V+8|0,J=d,J|0)))}function QD(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0;if(Z5=C,H=t+4|0,V=e[H>>2]|0,D1=V&-8,s2=t+D1|0,c2=e[138266]|0,S2=V&3,I3=t>>>0>=c2>>>0,d3=(S2|0)!=1,W5=d3&I3,Z2=t>>>0>>0,n3=W5&Z2,n3||v2(),x=D1|4,V5=t+x|0,L5=e[V5>>2]|0,l5=L5&1,J=(l5|0)==0,J&&v2(),i0=(S2|0)==0,i0)return d0=o>>>0<256,d0?(B5=0,B5|0):(Z0=o+4|0,P0=D1>>>0>>0,!P0&&(o1=D1-o|0,B1=e[138382]|0,_1=B1<<1,F1=o1>>>0>_1>>>0,!F1)?(B5=t,B5|0):(B5=0,B5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,X1=P1>>>0>15,X1?(G1=t+o|0,x1=V&1,K1=x1|o,q1=K1|2,e[H>>2]=q1,Q=o+4|0,H1=t+Q|0,V1=P1|3,e[H1>>2]=V1,Y1=e[V5>>2]|0,t2=Y1|1,e[V5>>2]=t2,Zy(G1,P1),B5=t,B5|0):(B5=t,B5|0);if(e2=e[138268]|0,O1=(s2|0)==(e2|0),O1)return h2=e[138265]|0,Z1=h2+D1|0,I2=Z1>>>0>o>>>0,I2?(A2=Z1-o|0,C2=t+o|0,$2=V&1,W1=$2|o,f2=W1|2,e[H>>2]=f2,_=o+4|0,r2=t+_|0,g2=A2|1,e[r2>>2]=g2,e[138268]=C2,e[138265]=A2,B5=t,B5|0):(B5=0,B5|0);if(o2=e[138267]|0,l2=(s2|0)==(o2|0),l2)return i2=e[138264]|0,a2=i2+D1|0,m2=a2>>>0>>0,m2?(B5=0,B5|0):(n2=a2-o|0,k2=n2>>>0>15,k2?(D2=t+o|0,y2=t+a2|0,G2=V&1,M2=G2|o,O2=M2|2,e[H>>2]=O2,D=o+4|0,p2=t+D|0,W2=n2|1,e[p2>>2]=W2,e[y2>>2]=n2,w=a2+4|0,q2=t+w|0,J2=e[q2>>2]|0,U2=J2&-2,e[q2>>2]=U2,a3=D2,y3=n2):(V2=V&1,A5=V2|a2,Y2=A5|2,e[H>>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=L5&2,x5=(i5|0)==0,!x5||(j2=L5&-8,p5=j2+D1|0,D5=p5>>>0>>0,D5))return B5=0,B5|0;u5=p5-o|0,b2=L5>>>3,y5=L5>>>0<256;do if(y5){if(y=D1+8|0,s5=t+y|0,F2=e[s5>>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(),M5=F2+12|0,z2=e[M5>>2]|0,C5=(z2|0)==(s2|0),C5||v2()),$5=(Q2|0)==(F2|0),$5){h5=1<>>0>>0,X2&&v2(),d2=Q2+8|0,v5=e[d2>>2]|0,n5=(v5|0)==(s2|0),n5?$=d2:v2()),a5=F2+12|0,e[a5>>2]=Q2,e[$>>2]=F2}else{g=D1+24|0,f5=t+g|0,K2=e[f5>>2]|0,k=D1+12|0,I5=t+k|0,r5=e[I5>>2]|0,R5=(r5|0)==(s2|0);do if(R5){if(L=D1+20|0,h0=t+L|0,e0=e[h0>>2]|0,u0=(e0|0)==0,u0)if(M=D1+16|0,c0=t+M|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,r0=e[I0>>2]|0,p0=(r0|0)==0,p0){c5=e5,z5=k5;break}else e5=r0,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,n0=e[j>>2]|0,s0=(n0|0)==(s2|0),s0||v2(),K=r5+8|0,o0=e[K>>2]|0,Y=(o0|0)==(s2|0),Y){e[j>>2]=r5,e[K>>2]=Z,T2=r5;break}else v2();while(!1);if(b0=(K2|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=(s2|0)==(Q0|0),w0){if(e[E0>>2]=T2,i3=(T2|0)==0,i3){B0=1<>>0>>0,U0&&v2(),O0=K2+16|0,H0=e[O0>>2]|0,S0=(H0|0)==(s2|0),S0?e[O0>>2]=T2:(J0=K2+20|0,e[J0>>2]=T2),T0=(T2|0)==0,T0)break;M0=e[138266]|0,W0=T2>>>0>>0,W0&&v2(),K0=T2+24|0,e[K0>>2]=K2,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{s1=T2+16|0,e[s1>>2]=j0,z0=j0+24|0,e[z0>>2]=T2;break}while(!1);if(I=D1+20|0,n1=t+I|0,L0=e[n1>>2]|0,d1=(L0|0)==0,!d1)if(u1=e[138266]|0,p1=L0>>>0>>0,p1)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?(c1=V&1,a1=p5|c1,$1=a1|2,e[H>>2]=$1,O=p5|4,X0=t+O|0,m1=e[X0>>2]|0,Q1=m1|1,e[X0>>2]=Q1,B5=t,B5|0):(C1=t+o|0,y1=V&1,v1=y1|o,k1=v1|2,e[H>>2]=k1,F=o+4|0,S1=t+F|0,L1=u5|3,e[S1>>2]=L1,N=p5|4,M1=t+N|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,Zy(C1,u5),B5=t,B5|0)}function Zy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0;be=C,e0=t+o|0,u0=t+4|0,V2=e[u0>>2]|0,B6=V2&1,X6=(B6|0)==0;do if(X6){if(P6=e[t>>2]|0,V9=V2&3,F9=(V9|0)==0,F9)return;if(He=0-P6|0,k9=t+He|0,c0=P6+o|0,b0=e[138266]|0,N0=k9>>>0>>0,N0&&v2(),V0=e[138267]|0,p1=(k9|0)==(V0|0),p1){if(k=o+4|0,re=t+k|0,$0=e[re>>2]|0,l0=$0&3,X=(l0|0)==3,!X){a=k9,$=c0;break}e[138264]=c0,m0=$0&-2,e[re>>2]=m0,g0=c0|1,L=4-P6|0,I0=t+L|0,e[I0>>2]=g0,e[e0>>2]=c0;return}if(C1=P6>>>3,U1=P6>>>0<256,U1){if(j=8-P6|0,t2=t+j|0,f2=e[t2>>2]|0,n0=12-P6|0,D2=t+n0|0,Z2=e[D2>>2]|0,V5=C1<<1,L5=553088+(V5<<2)|0,l5=(f2|0)==(L5|0),l5||(e5=f2>>>0>>0,e5&&v2(),a3=f2+12|0,t3=e[a3>>2]|0,b5=(t3|0)==(k9|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)==(k9|0),G6?E=$6:v2()),e9=f2+12|0,e[e9>>2]=Z2,e[E>>2]=f2,a=k9,$=c0;break}F=24-P6|0,Q6=t+F|0,P3=e[Q6>>2]|0,N=12-P6|0,n9=t+N|0,V6=e[n9>>2]|0,o9=(V6|0)==(k9|0);do if(o9){if(O=16-P6|0,H=O+4|0,h9=t+H|0,r9=e[h9>>2]|0,B9=(r9|0)==0,B9)if(y9=t+O|0,Q9=e[y9>>2]|0,d9=(Q9|0)==0,d9){fe=0;break}else Ke=Q9,d4=y9;else Ke=r9,d4=h9;for(;;){if(f9=Ke+20|0,w6=e[f9>>2]|0,q6=(w6|0)==0,!q6){Ke=w6,d4=f9;continue}if(a9=Ke+16|0,Y9=e[a9>>2]|0,w9=(Y9|0)==0,w9){O9=Ke,f4=d4;break}else Ke=Y9,d4=a9}if(we=f4>>>0>>0,we)v2();else{e[f4>>2]=0,fe=O9;break}}else if(A0=8-P6|0,g9=t+A0|0,U6=e[g9>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,t9=e[F6>>2]|0,_6=(t9|0)==(k9|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,s9=(O6|0)==(k9|0),s9){e[F6>>2]=V6,e[O3>>2]=U6,fe=V6;break}else v2();while(!1);if(ue=(P3|0)==0,ue)a=k9,$=c0;else{if(J=28-P6|0,Ee=t+J|0,z9=e[Ee>>2]|0,ne=553352+(z9<<2)|0,v9=e[ne>>2]|0,K6=(k9|0)==(v9|0),K6){if(e[ne>>2]=fe,I6=(fe|0)==0,I6){A9=1<>>0<_9>>>0,Re&&v2(),Fe=P3+16|0,Ue=e[Fe>>2]|0,r4=(Ue|0)==(k9|0),r4?e[Fe>>2]=fe:(ke=P3+20|0,e[ke>>2]=fe),Ve=(fe|0)==0,Ve){a=k9,$=c0;break}J9=e[138266]|0,Ye=fe>>>0>>0,Ye&&v2(),de=fe+24|0,e[de>>2]=P3,t0=16-P6|0,Pe=t+t0|0,Ce=e[Pe>>2]|0,v4=(Ce|0)==0;do if(!v4)if(Z9=Ce>>>0>>0,Z9)v2();else{k4=fe+16|0,e[k4>>2]=Ce,V4=Ce+24|0,e[V4>>2]=fe;break}while(!1);if(Z=t0+4|0,rt=t+Z|0,ze=e[rt>>2]|0,Y4=(ze|0)==0,Y4)a=k9,$=c0;else if(Je=e[138266]|0,o4=ze>>>0>>0,o4)v2();else{R4=fe+20|0,e[R4>>2]=ze,ot=ze+24|0,e[ot>>2]=fe,a=k9,$=c0;break}}}else a=t,$=o;while(!1);if(r0=e[138266]|0,d0=e0>>>0>>0,d0&&v2(),w=o+4|0,p0=t+w|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,S0=H0+$|0,e[138264]=S0,e[138267]=a,J0=S0|1,T0=a+4|0,e[T0>>2]=J0,M0=a+S0|0,e[M0>>2]=S0;return}P0=C0&-8,W0=P0+$|0,K0=C0>>>3,j0=C0>>>0<256;do if(j0){if(x=o+8|0,q0=t+x|0,Y0=e[q0>>2]|0,M=o+12|0,s1=t+M|0,z0=e[s1>>2]|0,n1=K0<<1,L0=553088+(n1<<2)|0,o1=(Y0|0)==(L0|0),o1||(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){c1=1<>>0>>0,m1&&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=o+24|0,S1=t+V|0,L1=e[S1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(e0|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,Y1)if(K=o+16|0,s2=t+K|0,e2=e[s2>>2]|0,O1=(e2|0)==0,O1){oe=0;break}else Te=e2,Se=s2;else Te=V1,Se=H1;for(;;){if(h2=Te+20|0,Z1=e[h2>>2]|0,I2=(Z1|0)==0,!I2){Te=Z1,Se=h2;continue}if(A2=Te+16|0,C2=e[A2>>2]|0,$2=(C2|0)==0,$2){h4=Te,s4=Se;break}else Te=C2,Se=A2}if(W1=s4>>>0>>0,W1)v2();else{e[s4>>2]=0,oe=h4;break}}else if(Q=o+8|0,R1=t+Q|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,X1=e[P1>>2]|0,G1=(X1|0)==(e0|0),G1||v2(),x1=b1+8|0,K1=e[x1>>2]|0,q1=(K1|0)==(e0|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,oe=b1;break}else v2();while(!1);if(c2=(L1|0)==0,!c2){if(h0=o+28|0,r2=t+h0|0,g2=e[r2>>2]|0,o2=553352+(g2<<2)|0,l2=e[o2>>2]|0,i2=(e0|0)==(l2|0),i2){if(e[o2>>2]=oe,z4=(oe|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]=oe:(p2=L1+20|0,e[p2>>2]=oe),W2=(oe|0)==0,W2)break;q2=e[138266]|0,J2=oe>>>0>>0,J2&&v2(),U2=oe+24|0,e[U2>>2]=L1,i0=o+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=oe+16|0,e[T5>>2]=Y2,i5=Y2+24|0,e[i5>>2]=oe;break}while(!1);if(_=o+20|0,x5=t+_|0,j2=e[x5>>2]|0,p5=(j2|0)==0,!p5)if(D5=e[138266]|0,u5=j2>>>0>>0,u5)v2();else{b2=oe+20|0,e[b2>>2]=j2,y5=j2+24|0,e[y5>>2]=oe;break}}}while(!1);if(s5=W0|1,F2=a+4|0,e[F2>>2]=s5,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,M5=a+$|0,e[M5>>2]=$,g=$;if(z2=g>>>3,C5=g>>>0<256,C5){$5=z2<<1,h5=553088+($5<<2)|0,w5=e[138262]|0,T1=1<>2]|0,n5=e[138266]|0,a5=v5>>>0>>0,a5?v2():(y=d2,u4=v5)),e[y>>2]=a,f5=u4+12|0,e[f5>>2]=a,K2=a+8|0,e[K2>>2]=u4,I5=a+12|0,e[I5>>2]=h5;return}if(r5=g>>>8,R5=(r5|0)==0,R5?Be=0:(c5=g>>>0>16777215,c5?Be=31:(T2=r5+1048320|0,k5=T2>>>16,z5=k5&8,i3=r5<>>16,d3=I3&4,W5=d3|z5,n3=i3<>>16,Z5=G5&2,x3=W5|Z5,f3=14-x3|0,w3=n3<>>15,H3=f3+e6|0,X5=H3<<1,_3=H3+7|0,a6=g>>>_3,G3=a6&1,V3=G3|X5,Be=V3)),c3=553352+(Be<<2)|0,g3=a+28|0,e[g3>>2]=Be,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,J5=e[138263]|0,H5=1<>2]=a,l6=a+24|0,e[l6>>2]=c3,r3=a+12|0,e[r3>>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)Oe=U3;else{for(n6=(Be|0)==31,z3=Be>>>1,j5=25-z3|0,M3=n6?0:j5,h3=g<>>31,f6=(I4+16|0)+(r6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){d=f6,S9=I4;break}if(J3=T6<<1,d6=m3+4|0,x6=e[d6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){Oe=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=d>>>0>>0,j6&&v2(),e[d>>2]=a,v6=a+24|0,e[v6>>2]=S9,R3=a+12|0,e[R3>>2]=a,o6=a+8|0,e[o6>>2]=a;return}while(!1);s6=Oe+8|0,F3=e[s6>>2]|0,W3=e[138266]|0,t6=F3>>>0>=W3>>>0,Ie=Oe>>>0>=W3>>>0,R6=t6&Ie,R6||v2(),c6=F3+12|0,e[c6>>2]=a,e[s6>>2]=a,o3=a+8|0,e[o3>>2]=F3,J6=a+12|0,e[J6>>2]=Oe,A3=a+24|0,e[A3>>2]=0}function wD(){e[6410]=W9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,p=0;if($=t+a|0,(a|0)>=20){if(o=o&255,p=t&3,g=o|o<<8|o<<16|o<<24,d=$&-4,p)for(p=t+4-p|0;(t|0)<(p|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function $l(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function jy(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+($l(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function Xy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,d=o+$+(g>>>0>>0|0)>>>0,Z6=d,g|0|0}function os(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(Z6=0,o>>>a-32|0)}function ge(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return RS(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function lA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ge(t,o,a)|0;return t|0}function GC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function ss(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return g=t-a>>>0,d=o-$>>>0,d=o-$-(a>>>0>t>>>0|0)>>>0,Z6=d,g|0|0}function ax(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(Z6=(o|0)<0?-1:0,o>>a-32|0)}function eQ(t){t=t|0;var o=0;return o=f[U9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[U9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[U9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[U9+(t>>>24)>>0]|0)+24|0))}function vD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,p=0,I=0,E=0;return a=t&65535,$=o&65535,g=o5($,a)|0,d=t>>>16,p=(g>>>16)+(o5($,d)|0)|0,I=o>>>16,E=o5(I,a)|0,Z6=((p>>>16)+(o5(I,d)|0)|0)+(((p&65535)+E|0)>>>16)|0,0|(p+E<<16|g&65535)|0}function Ax(t,o,a,$){t=t|0,o=o|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,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,d=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,p=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=ss(g^t,d^o,g,d)|0,y=Z6,B=ss(p^a,I^$,p,I)|0,b=p^g,D=I^d,k=hE(E,y,B,Z6,0)|0,w=ss(k^b,Z6^D,b,D)|0,w|0}function $x(t,o,a,$){t=t|0,o=o|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,w=0;return w=C,C=C+8|0,g=w|0,d=o>>31|((o|0)<0?-1:0)<<1,p=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,y=ss(d^t,p^o,d,p)|0,B=Z6,b=ss(I^a,E^$,I,E)|0,hE(y,B,b,Z6,g)|0,D=ss(e[g>>2]^d,e[g+4>>2]^p,d,p)|0,k=Z6,C=w,Z6=k,D|0}function kD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,p=0,I=0,E=0;return g=t,d=a,p=vD(g,d)|0,I=Z6,E=o5(o,d)|0,Z6=((o5($,g)|0)+E|0)+I|I&0,0|p&-1|0}function lx(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=hE(t,o,a,$,0)|0,g|0}function cx(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,hE(t,o,a,$,g)|0,C=d,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function hE(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0;if(d=t,p=o,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]=o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0):(b&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,T0=(d>>>0)/(E>>>0)>>>0,Z6=M0,T0|0);D=(B|0)==0;do if(E|0){if(!D){if(Z=ns(B|0)|0,A0=Z-(ns(I|0)|0)|0,A0>>>0<=31){j=A0+1|0,n0=31-A0|0,s0=A0-31>>31,i0=j,h0=d>>>(j>>>0)&s0|I<>>(j>>>0)&s0,o0=0,K=d<>2]=0|t&-1,e[g+4>>2]=p|o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0)}if(M=E-1|0,M&E|0){F=(ns(E|0)|0)+33|0,N=F-(ns(I|0)|0)|0,O=64-N|0,H=32-N|0,V=H>>31,J=N-32|0,t0=J>>31,i0=N,h0=H-1>>31&I>>>(J>>>0)|(I<>>(N>>>0))&t0,Y=t0&I>>>(N>>>0),o0=d<>>(J>>>0))&V|d<>31;break}return g|0&&(e[g>>2]=M&d,e[g+4>>2]=0),(E|0)==1?(M0=p|o&0,T0=0|t&-1,Z6=M0,T0|0):(L=eQ(E|0)|0,M0=0|I>>>(L>>>0),T0=I<<32-L|d>>>(L>>>0)|0,Z6=M0,T0|0)}else{if(D)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,T0=(I>>>0)/(E>>>0)>>>0,Z6=M0,T0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),M0=0,T0=(I>>>0)/(B>>>0)>>>0,Z6=M0,T0|0;if(k=B-1|0,!(k&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=k&I|o&0),M0=0,T0=I>>>((eQ(B|0)|0)>>>0),Z6=M0,T0|0;if(w=ns(B|0)|0,_=w-(ns(I|0)|0)|0,_>>>0<=30){Q=_+1|0,x=31-_|0,i0=Q,h0=I<>>(Q>>>0),Y=I>>>(Q>>>0),o0=0,K=d<>2]=0|t&-1,e[g+4>>2]=p|o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0)}while(!1);if(!(i0|0))O0=K,U0=o0,N0=Y,v0=h0,R0=0,Z0=0;else{for(e0=0|a&-1,u0=y|$&0,c0=rs(e0|0,u0|0,-1,-1)|0,$0=Z6,r0=K,I0=o0,g0=Y,m0=h0,X=i0,l0=0;d0=I0>>>31|r0<<1,p0=l0|I0<<1,C0=0|(m0<<1|r0>>>31),b0=m0>>>31|g0<<1|0,ss(c0,$0,C0,b0)|0,y0=Z6,D0=y0>>31|((y0|0)<0?-1:0)<<1,E0=D0&1,Q0=ss(C0,b0,D0&e0,(((y0|0)<0?-1:0)>>31|((y0|0)<0?-1:0)<<1)&u0)|0,w0=Q0,B0=Z6,x0=X-1|0,x0|0;)r0=d0,I0=p0,g0=B0,m0=w0,X=x0,l0=E0;O0=d0,U0=p0,N0=B0,v0=w0,R0=0,Z0=E0}return H0=U0,S0=0,J0=O0|S0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=N0|0),M0=(0|H0)>>>31|J0<<1|(S0<<1|H0>>>31)&0|R0,T0=(H0<<1|0)&-2|Z0,Z6=M0,T0|0}function SD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,OC[t&3](o|0,a|0,$|0,g|0)|0}function bD(t,o){t=t|0,o=o|0,as[t&7](o|0)}function DD(t,o,a){t=t|0,o=o|0,a=a|0,qC[t&3](o|0,a|0)}function _D(t,o){return t=t|0,o=o|0,nQ[t&1](o|0)|0}function xD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,rQ[t&1](o|0,a|0,$|0)}function LD(t,o,a,$,g,d,p,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0,E=E|0,oQ[t&3](o|0,a|0,$|0,g|0,d|0,p|0,I|0,E|0)|0}function MD(t,o,a){return t=t|0,o=o|0,a=a|0,pi[t&15](o|0,a|0)|0}function RD(t,o,a,$,g,d){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,HC[t&7](o|0,a|0,$|0,g|0,d|0)|0}function FD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,nr(0),0}function UC(t){t=t|0,nr(1)}function tQ(t,o){t=t|0,o=o|0,nr(2)}function TD(t){return t=t|0,nr(3),0}function ND(t,o,a){t=t|0,o=o|0,a=a|0,nr(4)}function iQ(t,o,a,$,g,d,p,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0,nr(5),0}function ll(t,o){return t=t|0,o=o|0,nr(6),0}function PC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,nr(7),0}var OC=[FD,yb,ab,Ab],as=[UC,Eb,Cb,Lb,Yb,zb,UC,UC],qC=[tQ,Ib,Jb,tQ],nQ=[TD,Mb],rQ=[ND,_b],oQ=[iQ,jb,iD,iQ],pi=[ll,mb,pb,Bb,xb,Rb,Kb,Wb,Qb,Vb,AD,ll,ll,ll,ll,ll],HC=[PC,Zb,Xb,eD,tD,nD,PC,PC];return{_memmove:lA,_strlen:$l,_strcat:jy,_free:E2,_i64Add:rs,_encoder_clear:fD,_encoder_transfer_data:ED,_encoder_data_len:pD,_memset:g4,_malloc:R9,_memcpy:ge,_encoder_init:dD,_encoder_process:mD,_bitshift64Lshr:os,_bitshift64Shl:Xy,_strcpy:GC,_encoder_analysis_buffer:ID,runPostSets:wD,stackAlloc:NS,stackSave:GS,stackRestore:US,establishStackSpace:PS,setThrew:OS,setTempRet0:qS,getTempRet0:HS,dynCall_iiiii:SD,dynCall_vi:bD,dynCall_vii:DD,dynCall_ii:_D,dynCall_viii:xD,dynCall_iiiiiiiii:LD,dynCall_iii:MD,dynCall_iiiiii:RD}}(r.asmGlobalArg,r.asmLibraryArg,q7),F_=r.runPostSets=te.runPostSets,pS=r._strlen=te._strlen,ES=r._strcat=te._strcat,kC=r._free=te._free,T_=r._encoder_init=te._encoder_init,CS=r._i64Add=te._i64Add,BS=r._memmove=te._memmove,N_=r._encoder_transfer_data=te._encoder_transfer_data,G_=r._encoder_process=te._encoder_process,U_=r._encoder_data_len=te._encoder_data_len,yS=r._memset=te._memset,Nu=r._malloc=te._malloc,QS=r._memcpy=te._memcpy,P_=r._encoder_clear=te._encoder_clear,wS=r._bitshift64Lshr=te._bitshift64Lshr,O_=r._encoder_analysis_buffer=te._encoder_analysis_buffer,vS=r._strcpy=te._strcpy,kS=r._bitshift64Shl=te._bitshift64Shl,q_=r.dynCall_iiiii=te.dynCall_iiiii,H_=r.dynCall_vi=te.dynCall_vi,V_=r.dynCall_vii=te.dynCall_vii,Y_=r.dynCall_ii=te.dynCall_ii,z_=r.dynCall_viii=te.dynCall_viii,J_=r.dynCall_iiiiiiiii=te.dynCall_iiiiiiiii,K_=r.dynCall_iii=te.dynCall_iii,W_=r.dynCall_iiiiii=te.dynCall_iiiiii;v.stackAlloc=te.stackAlloc,v.stackSave=te.stackSave,v.stackRestore=te.stackRestore,v.establishStackSpace=te.establishStackSpace,v.setTempRet0=te.setTempRet0,v.getTempRet0=te.getTempRet0;var Z_=function(){var n={math:{}};n.math.Long=function(W,_0){this.low_=W|0,this.high_=_0|0},n.math.Long.IntCache_={},n.math.Long.fromInt=function(W){if(-128<=W&&W<128){var _0=n.math.Long.IntCache_[W];if(_0)return _0}var t1=new n.math.Long(W|0,W<0?-1:0);return-128<=W&&W<128&&(n.math.Long.IntCache_[W]=t1),t1},n.math.Long.fromNumber=function(W){return isNaN(W)||!isFinite(W)?n.math.Long.ZERO:W<=-n.math.Long.TWO_PWR_63_DBL_?n.math.Long.MIN_VALUE:W+1>=n.math.Long.TWO_PWR_63_DBL_?n.math.Long.MAX_VALUE:W<0?n.math.Long.fromNumber(-W).negate():new n.math.Long(W%n.math.Long.TWO_PWR_32_DBL_|0,W/n.math.Long.TWO_PWR_32_DBL_|0)},n.math.Long.fromBits=function(W,_0){return new n.math.Long(W,_0)},n.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=n.math.Long.fromNumber(Math.pow(t1,8)),e3=n.math.Long.ZERO,O5=0;O5=0?this.low_:n.math.Long.TWO_PWR_32_DBL_+this.low_},n.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(n.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},n.math.Long.prototype.isZero=function(){return this.high_==0&&this.low_==0},n.math.Long.prototype.isNegative=function(){return this.high_<0},n.math.Long.prototype.isOdd=function(){return(this.low_&1)==1},n.math.Long.prototype.equals=function(W){return this.high_==W.high_&&this.low_==W.low_},n.math.Long.prototype.notEquals=function(W){return this.high_!=W.high_||this.low_!=W.low_},n.math.Long.prototype.lessThan=function(W){return this.compare(W)<0},n.math.Long.prototype.lessThanOrEqual=function(W){return this.compare(W)<=0},n.math.Long.prototype.greaterThan=function(W){return this.compare(W)>0},n.math.Long.prototype.greaterThanOrEqual=function(W){return this.compare(W)>=0},n.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},n.math.Long.prototype.negate=function(){return this.equals(n.math.Long.MIN_VALUE)?n.math.Long.MIN_VALUE:this.not().add(n.math.Long.ONE)},n.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,i9=W.low_>>>16,H9=W.low_&65535,P9=0,i4=0,Ai=0,sn=0;return sn+=e3+H9,Ai+=sn>>>16,sn&=65535,Ai+=B2+i9,i4+=Ai>>>16,Ai&=65535,i4+=t1+N3,P9+=i4>>>16,i4&=65535,P9+=_0+O5,P9&=65535,n.math.Long.fromBits(Ai<<16|sn,P9<<16|i4)},n.math.Long.prototype.subtract=function(W){return this.add(W.negate())},n.math.Long.prototype.multiply=function(W){if(this.isZero())return n.math.Long.ZERO;if(W.isZero())return n.math.Long.ZERO;if(this.equals(n.math.Long.MIN_VALUE))return W.isOdd()?n.math.Long.MIN_VALUE:n.math.Long.ZERO;if(W.equals(n.math.Long.MIN_VALUE))return this.isOdd()?n.math.Long.MIN_VALUE:n.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(n.math.Long.TWO_PWR_24_)&&W.lessThan(n.math.Long.TWO_PWR_24_))return n.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,i9=W.low_>>>16,H9=W.low_&65535,P9=0,i4=0,Ai=0,sn=0;return sn+=e3*H9,Ai+=sn>>>16,sn&=65535,Ai+=B2*H9,i4+=Ai>>>16,Ai&=65535,Ai+=e3*i9,i4+=Ai>>>16,Ai&=65535,i4+=t1*H9,P9+=i4>>>16,i4&=65535,i4+=B2*i9,P9+=i4>>>16,i4&=65535,i4+=e3*N3,P9+=i4>>>16,i4&=65535,P9+=_0*H9+t1*i9+B2*N3+e3*O5,P9&=65535,n.math.Long.fromBits(Ai<<16|sn,P9<<16|i4)},n.math.Long.prototype.div=function(W){if(W.isZero())throw Error("division by zero");if(this.isZero())return n.math.Long.ZERO;if(this.equals(n.math.Long.MIN_VALUE)){if(W.equals(n.math.Long.ONE)||W.equals(n.math.Long.NEG_ONE))return n.math.Long.MIN_VALUE;if(W.equals(n.math.Long.MIN_VALUE))return n.math.Long.ONE;var _0=this.shiftRight(1),t1=_0.div(W).shiftLeft(1);if(t1.equals(n.math.Long.ZERO))return W.isNegative()?n.math.Long.ONE:n.math.Long.NEG_ONE;var O5=this.subtract(W.multiply(t1)),B2=t1.add(O5.div(W));return B2}else if(W.equals(n.math.Long.MIN_VALUE))return n.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=n.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),i9=N3<=48?1:Math.pow(2,N3-48),H9=n.math.Long.fromNumber(t1),P9=H9.multiply(W);P9.isNegative()||P9.greaterThan(O5);)t1-=i9,H9=n.math.Long.fromNumber(t1),P9=H9.multiply(W);H9.isZero()&&(H9=n.math.Long.ONE),e3=e3.add(H9),O5=O5.subtract(P9)}return e3},n.math.Long.prototype.modulo=function(W){return this.subtract(this.div(W).multiply(W))},n.math.Long.prototype.not=function(){return n.math.Long.fromBits(~this.low_,~this.high_)},n.math.Long.prototype.and=function(W){return n.math.Long.fromBits(this.low_&W.low_,this.high_&W.high_)},n.math.Long.prototype.or=function(W){return n.math.Long.fromBits(this.low_|W.low_,this.high_|W.high_)},n.math.Long.prototype.xor=function(W){return n.math.Long.fromBits(this.low_^W.low_,this.high_^W.high_)},n.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 n.math.Long.fromBits(_0<>>32-W)}else return n.math.Long.fromBits(0,_0<>>W|_0<<32-W,_0>>W)}else return n.math.Long.fromBits(_0>>W-32,_0>=0?0:-1)},n.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 n.math.Long.fromBits(t1>>>W|_0<<32-W,_0>>>W)}else return W==32?n.math.Long.fromBits(_0,0):n.math.Long.fromBits(_0>>>W-32,0)};var l={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 r1(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,i9=_0>>15;--O5>=0;){var H9=this[W]&32767,P9=this[W++]>>15,i4=i9*H9+P9*N3;H9=N3*H9+((i4&32767)<<15)+t1[B2]+(e3&1073741823),e3=(H9>>>30)+(i4>>>15)+i9*P9+(e3>>>30),t1[B2++]=H9&1073741823}return e3}function s(W,_0,t1,B2,e3,O5){for(var N3=_0&16383,i9=_0>>14;--O5>=0;){var H9=this[W]&16383,P9=this[W++]>>14,i4=i9*H9+P9*N3;H9=N3*H9+((i4&16383)<<14)+t1[B2]+e3,e3=(H9>>28)+(i4>>14)+i9*P9,t1[B2++]=H9&268435455}return e3}z&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,h=30):z&&l.appName!="Netscape"?(e.prototype.am=r1,h=26):(e.prototype.am=s,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 ie(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:W9(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,i9=this.DB-N3*this.DB%_0;if(N3-- >0)for(i9>i9)>0&&(e3=!0,O5=U9(B2));N3>=0;)i9<_0?(B2=(this[N3]&(1<>(i9+=this.DB-_0)):(B2=this[N3]>>(i9-=_0)&t1,i9<=0&&(i9+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=U9(B2));return e3?O5:"0"}function J7(){var W=e1();return e.ZERO.subTo(this,W),W}function vn(){return this.s<0?this.negate():this}function sl(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 sE(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 XB(){return this.t<=0?0:this.DB*(this.t-1)+sE(this[this.t-1]^this.s&this.DM)}function ey(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 ty(W,_0){for(var t1=W;t1=0;--i9)_0[i9+O5+1]=this[i9]>>B2|N3,N3=(this[i9]&e3)<=0;--i9)_0[i9]=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 ry(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 sy(W,_0,t1){var B2=W.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(H9,O5),e3.lShiftTo(H9,t1)):(B2.copyTo(O5),e3.copyTo(t1));var P9=O5.t,i4=O5[P9-1];if(i4!=0){var Ai=i4*(1<1?O5[P9-2]>>this.F2:0),sn=this.FV/Ai,my=(1<=0&&(t1[t1.t++]=1,t1.subTo(Oi,t1)),e.ONE.dlShiftTo(P9,Oi),Oi.subTo(O5,O5);O5.t=0;){var aE=t1[--$A]==i4?this.DM:Math.floor(t1[$A]*sn+(t1[$A-1]+py)*my);if((t1[$A]+=O5.am(0,aE,t1,Uu,0,P9))0&&t1.rShiftTo(H9,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 sA(W){this.m=W}function Ay(W){return W.s<0||W.compareTo(this.m)>=0?W.mod(this.m):W}function $y(W){return W}function ly(W){W.divRemTo(this.m,null,W)}function cy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}function aA(W,_0){W.squareTo(_0),this.reduce(_0)}sA.prototype.convert=Ay,sA.prototype.revert=$y,sA.prototype.reduce=ly,sA.prototype.mulTo=cy,sA.prototype.sqrTo=aA;function on(){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 Hr(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 Vr(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 gy(W,_0){W.squareTo(_0),this.reduce(_0)}function uy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}Hr.prototype.convert=Gu,Hr.prototype.revert=AA,Hr.prototype.reduce=Vr,Hr.prototype.mulTo=uy,Hr.prototype.sqrTo=gy;function hy(){return(this.t>0?this[0]&1:this.s)==0}function is(W,_0){if(W>4294967295||W<1)return e.ONE;var t1=e1(),B2=e1(),e3=_0.convert(this),O5=sE(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 dy(W,_0){var t1;return W<256||_0.isEven()?t1=new sA(_0):t1=new Hr(_0),this.exp(W,t1)}e.prototype.copyTo=Qe,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=ey,e.prototype.drShiftTo=ty,e.prototype.lShiftTo=iy,e.prototype.rShiftTo=ny,e.prototype.subTo=Z6,e.prototype.multiplyTo=ry,e.prototype.squareTo=oy,e.prototype.divRemTo=sy,e.prototype.invDigit=on,e.prototype.isEven=hy,e.prototype.exp=is,e.prototype.toString=z7,e.prototype.negate=J7,e.prototype.abs=vn,e.prototype.compareTo=sl,e.prototype.bitLength=XB,e.prototype.mod=ay,e.prototype.modPowInt=dy,e.ZERO=ie(0),e.ONE=ie(1);function Yr(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,i9=0;i9=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 ir(W){return Math.floor(Math.LN2*this.DB/Math.log(W))}function bC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function o5(W){this[this.t]=this.am(0,W-1,this,0,0,this.t),++this.t,this.clamp()}function fy(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 ns(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=ie(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 nr(){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=Yr,e.prototype.chunkSize=ir,e.prototype.signum=bC,e.prototype.dMultiply=o5,e.prototype.dAddOffset=fy,e.prototype.toRadix=ns,e.prototype.intValue=nr,e.prototype.addTo=Iy;var c7={abs:function(W,_0){var t1=new n.math.Long(W,_0),B2;t1.isNegative()?B2=t1.negate():B2=t1,G9[bt>>2]=B2.low_,G9[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 n.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 i9=new e;if(i9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var H9=new e;O5.addTo(c7.two64,H9),O5=H9}var P9=!1;O5.compareTo(N3)<0?(O5=N3,P9=!0):O5.compareTo(i9)>0&&(O5=i9,P9=!0);var i4=n.math.Long.fromString(O5.toString());if(G9[bt>>2]=i4.low_,G9[bt+4>>2]=i4.high_,P9)throw"range error"}};return c7}();function oA(n){this.name="ExitStatus",this.message="Program terminated with exit("+n+")",this.status=n}oA.prototype=new Error,oA.prototype.constructor=oA;var KB,oE=null,SS=!1;V7=function n(){r.calledRun||SC(),r.calledRun||(V7=n)},r.callMain=r.callMain=function(l){Ge(k8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),Ge(Xp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Zo();var h=l.length+1;function f(){for(var r1=0;r1<3;r1++)z.push(0)}var z=[B3(tr(r.thisProgram),"i8",iA)];f();for(var e=0;e0||(Fu(),k8>0)||r.calledRun)return;function l(){r.calledRun||(r.calledRun=!0,!P&&(Zo(),UB(),c&&oE!==null&&r.printErr("pre-main prep time: "+(Date.now()-oE)+" ms"),r.onRuntimeInitialized&&r.onRuntimeInitialized(),r._main&&jB&&r.callMain(n),X$()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),l()},1)):l()}r.run=r.run=SC;function WB(n,l){if(!(l&&r.noExitRuntime))throw r.noExitRuntime||(P=!0,G0=n,S7=KB,eE(),r.onExit&&r.onExit(n)),u?(process.stdout.once("drain",function(){process.exit(n)}),console.log(" "),setTimeout(function(){process.exit(n)},500)):R&&typeof quit=="function"&&quit(n),new oA(n)}r.exit=r.exit=WB;var ZB=[];function ts(n){n!==void 0?(r.print(n),r.printErr(n),n=JSON.stringify(n)):n="",P=!0,G0=1;var l=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+n+") at "+Wp()+l;throw ZB&&ZB.forEach(function(f){h=f(h,n)}),h}if(r.abort=r.abort=ts,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var jB=!0;r.noInitialRun&&(jB=!1),SC();var bS=r._encoder_init,DS=r._encoder_clear,_S=r._encoder_analysis_buffer,xS=r._encoder_process,LS=r._encoder_data_len,MS=r._encoder_transfer_data,b7=r.HEAPU8,nl=r.HEAPU32,rl=r.HEAPF32,ol=function(n,l,h){this.numChannels=l,this.oggBuffers=[],this.encoder=bS(this.numChannels,n,h)};ol.prototype.encode=function(n){for(var l=n[0].length,h=_S(this.encoder,l)>>2,f=0;f>2);this.process(l)},ol.prototype.finish=function(){this.process(0);let n=this.oggBuffers.slice();return this.cleanup(),n},ol.prototype.cancel=ol.prototype.cleanup=function(){DS(this.encoder),delete this.encoder,delete this.oggBuffers},ol.prototype.process=function(n){xS(this.encoder,n);var l=LS(this.encoder);if(l>0){var h=MS(this.encoder);this.oggBuffers.push(new Uint8Array(b7.subarray(h,h+l)))}},dC.OggVorbisEncoder=ol}};typeof window<"u"&&window===self&&dC.init();function Nk(r,i,A,c){let u=new dC.OggVorbisEncoder(A,i,c);u.encode(r);let m=u.finish(),R=m.reduce((G,k0)=>G+k0.length,0),q=new Uint8Array(R),U=0;for(let G of m)q.set(G,U),U+=G.length;return q}var fC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragend",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{u.preventDefault(),c.classList.add("hidden");let m=u.dataTransfer.files[0];if(!m)return;let R=m.name,q=await m.arrayBuffer(),U=q.slice(0,4),G=new TextDecoder;if(G.decode(U)==="RIFF"){let k0=q.slice(8,12);if(G.decode(k0)==="RMID"){i({buf:q,name:R});return}A(q);return}i({buf:q,name:R})})}};async function Gk(){let r="locale.exportAudio.formats.formats.dls.warning.";Ne(this.localeManager.getLocaleString(r+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(r+"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(r+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(r+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;le(i.id),F7("%cExporting DLS...",E1.info);let c=await this.seq.getMIDI(),u=Vo(c.embeddedSoundFont||this.soundFont);Pa(c,await this.synth.getSynthesizerSnapshot()),A&&Su(u,c);let m=u.writeDLS(),R=new Blob([m.buffer],{type:"audio/dls"});this.saveBlob(R,`${u.soundFontInfo.INAM||"unnamed"}.dls`),u9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var y_=!1,Zn=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,c,u=y_){this.localeManager=c,this.context=i,this.enableDebug=u,this.isExporting=!1,this.compressionFunc=Nk;let m;this.ready=new Promise(R=>m=R),this.initializeContext(i,A).then(()=>{m()})}saveBlob(i,A){let c=URL.createObjectURL(i),u=document.createElement("a");u.href=c,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 T of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(T,"innerText",T.getAttribute("translate-path"));for(let T of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(T,"innerText",T.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(T,"title",T.getAttribute("translate-path-title")+".description");this.soundFont=A;let u=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Tk;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 R=new URL(m+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),U=await(await fetch(R)).arrayBuffer();this.impulseResponseRaw=U,this.impulseResponse=await i.decodeAudioData(U.slice(0,U.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new Cu(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",T=>{this.sfError&&this.sfError(T.message)}),await this.synth.isReady,this.midHandler=new WE,this.wml=new ZE(this.synth),this.keyboard=new Lp(this.channelColors,this.synth);let G=document.getElementById("note_canvas");G.width=window.innerWidth*window.devicePixelRatio,G.height=window.innerHeight*window.devicePixelRatio,this.renderer=new G7(this.channelColors,this.synth,G,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let k0=!1,v=()=>{if(G.width=window.innerWidth*window.devicePixelRatio,G.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),N7){if(window.innerWidth/window.innerHeight>1){if(!k0){let T=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");k0=!0,T.parentElement.insertBefore(P,T)}}else if(k0){let T=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");k0=!1,T.parentElement.insertBefore(T,P)}}this.renderer.render(!1,!0)};v(),window.addEventListener("resize",v.bind(this)),window.addEventListener("orientationchange",v.bind(this)),N7&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Wn(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new iC(document.getElementById("player_info"),this.localeManager),this.seqUI=new Oo(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 fC(T=>{this.play([{binary:T.buf,altName:T.name}]),T.name.length>20&&(T.name=T.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=T.name},T=>{this.reloadSf(T)}),document.addEventListener("keydown",T=>{switch(T.key.toLowerCase()){case q8.cinematicMode:this.seq&&this.seq.pause();let P=window.prompt(`Cinematic mode activated! +`));if(!l)return null;n.input=tr(l,!0)}return n.input.shift()},put_char:function(n,l){l===null||l===10?(r.print(zo(n.output,0)),n.output=[]):l!=0&&n.output.push(l)},flush:function(n){n.output&&n.output.length>0&&(r.print(zo(n.output,0)),n.output=[])}},default_tty1_ops:{put_char:function(n,l){l===null||l===10?(r.printErr(zo(n.output,0)),n.output=[]):l!=0&&n.output.push(l)},flush:function(n){n.output&&n.output.length>0&&(r.printErr(zo(n.output,0)),n.output=[])}}},M9={ops_table:null,mount:function(n){return M9.createNode(null,"/",16895,0)},createNode:function(n,l,h,f){if(S.isBlkdev(h)||S.isFIFO(h))throw new S.ErrnoError(N2.EPERM);M9.ops_table||(M9.ops_table={dir:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,lookup:M9.node_ops.lookup,mknod:M9.node_ops.mknod,rename:M9.node_ops.rename,unlink:M9.node_ops.unlink,rmdir:M9.node_ops.rmdir,readdir:M9.node_ops.readdir,symlink:M9.node_ops.symlink},stream:{llseek:M9.stream_ops.llseek}},file:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:{llseek:M9.stream_ops.llseek,read:M9.stream_ops.read,write:M9.stream_ops.write,allocate:M9.stream_ops.allocate,mmap:M9.stream_ops.mmap,msync:M9.stream_ops.msync}},link:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,readlink:M9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:S.chrdev_stream_ops}});var z=S.createNode(n,l,h,f);return S.isDir(z.mode)?(z.node_ops=M9.ops_table.dir.node,z.stream_ops=M9.ops_table.dir.stream,z.contents={}):S.isFile(z.mode)?(z.node_ops=M9.ops_table.file.node,z.stream_ops=M9.ops_table.file.stream,z.usedBytes=0,z.contents=null):S.isLink(z.mode)?(z.node_ops=M9.ops_table.link.node,z.stream_ops=M9.ops_table.link.stream):S.isChrdev(z.mode)&&(z.node_ops=M9.ops_table.chrdev.node,z.stream_ops=M9.ops_table.chrdev.stream),z.timestamp=Date.now(),n&&(n.contents[l]=z),z},getFileDataAsRegularArray:function(n){if(n.contents&&n.contents.subarray){for(var l=[],h=0;hn.contents.length&&(n.contents=M9.getFileDataAsRegularArray(n),n.usedBytes=n.contents.length),!n.contents||n.contents.subarray){var h=n.contents?n.contents.buffer.byteLength:0;if(h>=l)return;var f=1024*1024;l=Math.max(l,h*(h0&&n.contents.set(z.subarray(0,n.usedBytes),0);return}for(!n.contents&&l>0&&(n.contents=[]);n.contents.lengthl)n.contents.length=l;else for(;n.contents.length=n.node.usedBytes)return 0;var e1=Math.min(n.node.usedBytes-z,f);if(Ge(e1>=0),e1>8&&e.subarray)l.set(e.subarray(z,z+e1),h);else for(var r1=0;r10||z+fP5.timestamp)&&(z.push(S5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(S5){var w2=l.entries[S5],P5=n.entries[S5];P5||(e.push(S5),f++)}),!f)return h(null);var e1=!1,r1=0,x2=n.type==="remote"?n.db:l.db,s=x2.transaction([S8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(S8.DB_STORE_NAME);function C(S5){if(S5)return C.errored?void 0:(C.errored=!0,h(S5));if(++r1>=f)return h(null)}s.onerror=function(S5){C(this.error),S5.preventDefault()},z.sort().forEach(function(S5){l.type==="local"?S8.loadRemoteEntry(l1,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(l1,S5,P5,C)})}),e.sort().reverse().forEach(function(S5){l.type==="local"?S8.removeLocalEntry(S5,C):S8.removeRemoteEntry(l1,S5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(n){return Ge(u),ft.createNode(null,"/",ft.getMode(n.opts.root),0)},createNode:function(n,l,h,f){if(!S.isDir(h)&&!S.isFile(h)&&!S.isLink(h))throw new S.ErrnoError(N2.EINVAL);var z=S.createNode(n,l,h);return z.node_ops=ft.node_ops,z.stream_ops=ft.stream_ops,z},getMode:function(n){var l;try{l=b8.lstatSync(n),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}return l.mode},realPath:function(n){for(var l=[];n.parent!==n;)l.push(n.name),n=n.parent;return l.push(n.mount.opts.root),l.reverse(),m9.join.apply(null,l)},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(n){return n in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[n]:n},node_ops:{getattr:function(n){var l=ft.realPath(n),h;try{h=b8.lstatSync(l)}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(n,l){var h=ft.realPath(n);try{if(l.mode!==void 0&&(b8.chmodSync(h,l.mode),n.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);b8.utimesSync(h,f,f)}l.size!==void 0&&b8.truncateSync(h,l.size)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},lookup:function(n,l){var h=m9.join2(ft.realPath(n),l),f=ft.getMode(h);return ft.createNode(n,l,f)},mknod:function(n,l,h,f){var z=ft.createNode(n,l,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(n,l,h){var f=ft.realPath(n),z=m9.join2(ft.realPath(l),h);try{b8.renameSync(f,z)}catch(e){throw e.code?new S.ErrnoError(N2[e.code]):e}},unlink:function(n,l){var h=m9.join2(ft.realPath(n),l);try{b8.unlinkSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},rmdir:function(n,l){var h=m9.join2(ft.realPath(n),l);try{b8.rmdirSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},readdir:function(n){var l=ft.realPath(n);try{return b8.readdirSync(l)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},symlink:function(n,l,h){var f=m9.join2(ft.realPath(n),l);try{b8.symlinkSync(h,f)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},readlink:function(n){var l=ft.realPath(n);try{return l=b8.readlinkSync(l),l=JB.relative(JB.resolve(n.mount.opts.root),l),l}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}}},stream_ops:{open:function(n){var l=ft.realPath(n.node);try{S.isFile(n.node.mode)&&(n.nfd=b8.openSync(l,ft.flagsToPermissionString(n.flags)))}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},close:function(n){try{S.isFile(n.node.mode)&&n.nfd&&b8.closeSync(n.nfd)}catch(l){throw l.code?new S.ErrnoError(N2[l.code]):l}},read:function(n,l,h,f,z){if(f===0)return 0;var e=new Buffer(f),e1;try{e1=b8.readSync(n.nfd,e,0,f,z)}catch(x2){throw new S.ErrnoError(N2[x2.code])}if(e1>0)for(var r1=0;r18)throw new S.ErrnoError(N2.ELOOP);for(var z=m9.normalizeArray(n.split("/").filter(function(S5){return!!S5}),!1),e=S.root,e1="/",r1=0;r140)throw new S.ErrnoError(N2.ELOOP)}}return{path:e1,node:e}},getPath:function(n){for(var l;;){if(S.isRoot(n)){var h=n.mount.mountpoint;return l?h[h.length-1]!=="/"?h+"/"+l:h+l:h}l=l?n.name+"/"+l:n.name,n=n.parent}},hashName:function(n,l){for(var h=0,f=0;f>>0)%S.nameTable.length},hashAddNode:function(n){var l=S.hashName(n.parent.id,n.name);n.name_next=S.nameTable[l],S.nameTable[l]=n},hashRemoveNode:function(n){var l=S.hashName(n.parent.id,n.name);if(S.nameTable[l]===n)S.nameTable[l]=n.name_next;else for(var h=S.nameTable[l];h;){if(h.name_next===n){h.name_next=n.name_next;break}h=h.name_next}},lookupNode:function(n,l){var h=S.mayLookup(n);if(h)throw new S.ErrnoError(h,n);for(var f=S.hashName(n.id,l),z=S.nameTable[f];z;z=z.name_next){var e=z.name;if(z.parent.id===n.id&&e===l)return z}return S.lookup(n,l)},createNode:function(n,l,h,f){if(!S.FSNode){S.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=S.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},S.FSNode.prototype={};var z=365,e=146;Object.defineProperties(S.FSNode.prototype,{read:{get:function(){return(this.mode&z)===z},set:function(r1){r1?this.mode|=z:this.mode&=~z}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?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(n,l,h,f);return S.hashAddNode(e1),e1},destroyNode:function(n){S.hashRemoveNode(n)},isRoot:function(n){return n===n.parent},isMountpoint:function(n){return!!n.mounted},isFile:function(n){return(n&61440)===32768},isDir:function(n){return(n&61440)===16384},isLink:function(n){return(n&61440)===40960},isChrdev:function(n){return(n&61440)===8192},isBlkdev:function(n){return(n&61440)===24576},isFIFO:function(n){return(n&61440)===4096},isSocket:function(n){return(n&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(n){var l=S.flagModes[n];if(typeof l>"u")throw new Error("Unknown file open mode: "+n);return l},flagsToPermissionString:function(n){var l=n&2097155,h=["r","w","rw"][l];return n&512&&(h+="w"),h},nodePermissions:function(n,l){return S.ignorePermissions?0:l.indexOf("r")!==-1&&!(n.mode&292)||l.indexOf("w")!==-1&&!(n.mode&146)||l.indexOf("x")!==-1&&!(n.mode&73)?N2.EACCES:0},mayLookup:function(n){var l=S.nodePermissions(n,"x");return l||(n.node_ops.lookup?0:N2.EACCES)},mayCreate:function(n,l){try{var h=S.lookupNode(n,l);return N2.EEXIST}catch{}return S.nodePermissions(n,"wx")},mayDelete:function(n,l,h){var f;try{f=S.lookupNode(n,l)}catch(e){return e.errno}var z=S.nodePermissions(n,"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(n,l){return n?S.isLink(n.mode)?N2.ELOOP:S.isDir(n.mode)&&(l&2097155||l&512)?N2.EISDIR:S.nodePermissions(n,S.flagsToPermissionString(l)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(n,l){n=n||0,l=l||S.MAX_OPEN_FDS;for(var h=n;h<=l;h++)if(!S.streams[h])return h;throw new S.ErrnoError(N2.EMFILE)},getStream:function(n){return S.streams[n]},createStream:function(n,l,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 n)f[z]=n[z];n=f;var e=S.nextfd(l,h);return n.fd=e,S.streams[e]=n,n},closeStream:function(n){S.streams[n]=null},getStreamFromPtr:function(n){return S.streams[n-1]},getPtrForStream:function(n){return n?n.fd+1:0},chrdev_stream_ops:{open:function(n){var l=S.getDevice(n.node.rdev);n.stream_ops=l.stream_ops,n.stream_ops.open&&n.stream_ops.open(n)},llseek:function(){throw new S.ErrnoError(N2.ESPIPE)}},major:function(n){return n>>8},minor:function(n){return n&255},makedev:function(n,l){return n<<8|l},registerDevice:function(n,l){S.devices[n]={stream_ops:l}},getDevice:function(n){return S.devices[n]},getMounts:function(n){for(var l=[],h=[n];h.length;){var f=h.pop();l.push(f),h.push.apply(h,f.mounts)}return l},syncfs:function(n,l){typeof n=="function"&&(l=n,n=!1);var h=S.getMounts(S.root.mount),f=0;function z(e){if(e)return z.errored?void 0:(z.errored=!0,l(e));++f>=h.length&&l(null)}h.forEach(function(e){if(!e.type.syncfs)return z(null);e.type.syncfs(e,n,z)})},mount:function(n,l,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 r1={type:n,opts:l,mountpoint:h,mounts:[]},x2=n.mount(r1);return x2.mount=r1,r1.root=x2,f?S.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(n){var l=S.lookupPath(n,{follow_mount:!1});if(!S.isMountpoint(l.node))throw new S.ErrnoError(N2.EINVAL);var h=l.node,f=h.mounted,z=S.getMounts(f);Object.keys(S.nameTable).forEach(function(e1){for(var r1=S.nameTable[e1];r1;){var x2=r1.name_next;z.indexOf(r1.mount)!==-1&&S.destroyNode(r1),r1=x2}}),h.mounted=null;var e=h.mount.mounts.indexOf(f);Ge(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(n,l){return n.node_ops.lookup(n,l)},mknod:function(n,l,h){var f=S.lookupPath(n,{parent:!0}),z=f.node,e=m9.basename(n);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,l,h)},create:function(n,l){return l=l!==void 0?l:438,l&=4095,l|=32768,S.mknod(n,l,0)},mkdir:function(n,l){return l=l!==void 0?l:511,l&=1023,l|=16384,S.mknod(n,l,0)},mkdev:function(n,l,h){return typeof h>"u"&&(h=l,l=438),l|=8192,S.mknod(n,l,h)},symlink:function(n,l){if(!m9.resolve(n))throw new S.ErrnoError(N2.ENOENT);var h=S.lookupPath(l,{parent:!0}),f=h.node;if(!f)throw new S.ErrnoError(N2.ENOENT);var z=m9.basename(l),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,n)},rename:function(n,l){var h=m9.dirname(n),f=m9.dirname(l),z=m9.basename(n),e=m9.basename(l),e1,r1,x2;try{e1=S.lookupPath(n,{parent:!0}),r1=e1.node,e1=S.lookupPath(l,{parent:!0}),x2=e1.node}catch{throw new S.ErrnoError(N2.EBUSY)}if(!r1||!x2)throw new S.ErrnoError(N2.ENOENT);if(r1.mount!==x2.mount)throw new S.ErrnoError(N2.EXDEV);var s=S.lookupNode(r1,z),l1=m9.relative(n,f);if(l1.charAt(0)!==".")throw new S.ErrnoError(N2.EINVAL);if(l1=m9.relative(l,h),l1.charAt(0)!==".")throw new S.ErrnoError(N2.ENOTEMPTY);var C;try{C=S.lookupNode(x2,e)}catch{}if(s!==C){var S5=S.isDir(s.mode),w2=S.mayDelete(r1,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(!r1.node_ops.rename)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(s)||C&&S.isMountpoint(C))throw new S.ErrnoError(N2.EBUSY);if(x2!==r1&&(w2=S.nodePermissions(r1,"w"),w2))throw new S.ErrnoError(w2);try{S.trackingDelegate.willMovePath&&S.trackingDelegate.willMovePath(n,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+n+"', '"+l+"') threw an exception: "+P5.message)}S.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{S.hashAddNode(s)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(n,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+n+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(n){var l=S.lookupPath(n,{parent:!0}),h=l.node,f=m9.basename(n),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(n)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+n+"') threw an exception: "+e1.message)}h.node_ops.rmdir(h,f),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(n)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+n+"') threw an exception: "+e1.message)}},readdir:function(n){var l=S.lookupPath(n,{follow:!0}),h=l.node;if(!h.node_ops.readdir)throw new S.ErrnoError(N2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(n){var l=S.lookupPath(n,{parent:!0}),h=l.node,f=m9.basename(n),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(n)}catch(e1){console.log("FS.trackingDelegate['willDeletePath']('"+n+"') threw an exception: "+e1.message)}h.node_ops.unlink(h,f),S.destroyNode(z);try{S.trackingDelegate.onDeletePath&&S.trackingDelegate.onDeletePath(n)}catch(e1){console.log("FS.trackingDelegate['onDeletePath']('"+n+"') threw an exception: "+e1.message)}},readlink:function(n){var l=S.lookupPath(n),h=l.node;if(!h)throw new S.ErrnoError(N2.ENOENT);if(!h.node_ops.readlink)throw new S.ErrnoError(N2.EINVAL);return m9.resolve(S.getPath(l.node.parent),h.node_ops.readlink(h))},stat:function(n,l){var h=S.lookupPath(n,{follow:!l}),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(n){return S.stat(n,!0)},chmod:function(n,l,h){var f;if(typeof n=="string"){var z=S.lookupPath(n,{follow:!h});f=z.node}else f=n;if(!f.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(n,l){S.chmod(n,l,!0)},fchmod:function(n,l){var h=S.getStream(n);if(!h)throw new S.ErrnoError(N2.EBADF);S.chmod(h.node,l)},chown:function(n,l,h,f){var z;if(typeof n=="string"){var e=S.lookupPath(n,{follow:!f});z=e.node}else z=n;if(!z.node_ops.setattr)throw new S.ErrnoError(N2.EPERM);z.node_ops.setattr(z,{timestamp:Date.now()})},lchown:function(n,l,h){S.chown(n,l,h,!0)},fchown:function(n,l,h){var f=S.getStream(n);if(!f)throw new S.ErrnoError(N2.EBADF);S.chown(f.node,l,h)},truncate:function(n,l){if(l<0)throw new S.ErrnoError(N2.EINVAL);var h;if(typeof n=="string"){var f=S.lookupPath(n,{follow:!0});h=f.node}else h=n;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:l,timestamp:Date.now()})},ftruncate:function(n,l){var h=S.getStream(n);if(!h)throw new S.ErrnoError(N2.EBADF);if(!(h.flags&2097155))throw new S.ErrnoError(N2.EINVAL);S.truncate(h.node,l)},utime:function(n,l,h){var f=S.lookupPath(n,{follow:!0}),z=f.node;z.node_ops.setattr(z,{timestamp:Math.max(l,h)})},open:function(n,l,h,f,z){if(n==="")throw new S.ErrnoError(N2.ENOENT);l=typeof l=="string"?S.modeStringToFlags(l):l,h=typeof h>"u"?438:h,l&64?h=h&4095|32768:h=0;var e;if(typeof n=="object")e=n;else{n=m9.normalize(n);try{var e1=S.lookupPath(n,{follow:!(l&131072)});e=e1.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new S.ErrnoError(N2.EEXIST)}else e=S.mknod(n,h,0),r1=!0;if(!e)throw new S.ErrnoError(N2.ENOENT);if(S.isChrdev(e.mode)&&(l&=-513),!r1){var x2=S.mayOpen(e,l);if(x2)throw new S.ErrnoError(x2)}l&512&&S.truncate(e,0),l&=-641;var s=S.createStream({node:e,path:S.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,z);s.stream_ops.open&&s.stream_ops.open(s),r.logReadFiles&&!(l&1)&&(S.readFiles||(S.readFiles={}),n in S.readFiles||(S.readFiles[n]=1,r.printErr("read file: "+n)));try{if(S.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=S.tracking.openFlags.READ),l&2097155&&(l1|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(n,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+n+"', flags) threw an exception: "+C.message)}return s},close:function(n){try{n.stream_ops.close&&n.stream_ops.close(n)}catch(l){throw l}finally{S.closeStream(n.fd)}},llseek:function(n,l,h){if(!n.seekable||!n.stream_ops.llseek)throw new S.ErrnoError(N2.ESPIPE);return n.position=n.stream_ops.llseek(n,l,h),n.ungotten=[],n.position},read:function(n,l,h,f,z){if(f<0||z<0)throw new S.ErrnoError(N2.EINVAL);if((n.flags&2097155)===1)throw new S.ErrnoError(N2.EBADF);if(S.isDir(n.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!n.stream_ops.read)throw new S.ErrnoError(N2.EINVAL);var e=!0;if(typeof z>"u")z=n.position,e=!1;else if(!n.seekable)throw new S.ErrnoError(N2.ESPIPE);var e1=n.stream_ops.read(n,l,h,f,z);return e||(n.position+=e1),e1},write:function(n,l,h,f,z,e){if(f<0||z<0)throw new S.ErrnoError(N2.EINVAL);if(!(n.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(S.isDir(n.node.mode))throw new S.ErrnoError(N2.EISDIR);if(!n.stream_ops.write)throw new S.ErrnoError(N2.EINVAL);n.flags&1024&&S.llseek(n,0,2);var e1=!0;if(typeof z>"u")z=n.position,e1=!1;else if(!n.seekable)throw new S.ErrnoError(N2.ESPIPE);var r1=n.stream_ops.write(n,l,h,f,z,e);e1||(n.position+=r1);try{n.path&&S.trackingDelegate.onWriteToFile&&S.trackingDelegate.onWriteToFile(n.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(n,l,h){if(l<0||h<=0)throw new S.ErrnoError(N2.EINVAL);if(!(n.flags&2097155))throw new S.ErrnoError(N2.EBADF);if(!S.isFile(n.node.mode)&&!S.isDir(node.mode))throw new S.ErrnoError(N2.ENODEV);if(!n.stream_ops.allocate)throw new S.ErrnoError(N2.EOPNOTSUPP);n.stream_ops.allocate(n,l,h)},mmap:function(n,l,h,f,z,e,e1){if((n.flags&2097155)===1)throw new S.ErrnoError(N2.EACCES);if(!n.stream_ops.mmap)throw new S.ErrnoError(N2.ENODEV);return n.stream_ops.mmap(n,l,h,f,z,e,e1)},msync:function(n,l,h,f,z){return!n||!n.stream_ops.msync?0:n.stream_ops.msync(n,l,h,f,z)},munmap:function(n){return 0},ioctl:function(n,l,h){if(!n.stream_ops.ioctl)throw new S.ErrnoError(N2.ENOTTY);return n.stream_ops.ioctl(n,l,h)},readFile:function(n,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var h,f=S.open(n,l.flags),z=S.stat(n),e=z.size,e1=new Uint8Array(e);return S.read(f,e1,0,e,0),l.encoding==="utf8"?h=zo(e1,0):l.encoding==="binary"&&(h=e1),S.close(f),h},writeFile:function(n,l,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(n,h.flags,h.mode);if(h.encoding==="utf8"){var z=new Uint8Array(Jo(l)+1),e=Ur(l,z,0,z.length);S.write(f,z,0,e,0,h.canOwn)}else h.encoding==="binary"&&S.write(f,l,0,l.length,0,h.canOwn);S.close(f)},cwd:function(){return S.currentPath},chdir:function(n){var l=S.lookupPath(n,{follow:!0});if(!S.isDir(l.node.mode))throw new S.ErrnoError(N2.ENOTDIR);var h=S.nodePermissions(l.node,"x");if(h)throw new S.ErrnoError(h);S.currentPath=l.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)),qr.register(S.makedev(5,0),qr.default_tty_ops),qr.register(S.makedev(6,0),qr.default_tty1_ops),S.mkdev("/dev/tty",S.makedev(5,0)),S.mkdev("/dev/tty1",S.makedev(6,0));var n;if(typeof crypto<"u"){var l=new Uint8Array(1);n=function(){return crypto.getRandomValues(l),l[0]}}else u?n=void 0:n=function(){return Math.random()*256|0};S.createDevice("/dev","random",n),S.createDevice("/dev","urandom",n),S.mkdir("/dev/shm"),S.mkdir("/dev/shm/tmp")},createStandardStreams:function(){r.stdin?S.createDevice("/dev","stdin",r.stdin):S.symlink("/dev/tty","/dev/stdin"),r.stdout?S.createDevice("/dev","stdout",null,r.stdout):S.symlink("/dev/tty","/dev/stdout"),r.stderr?S.createDevice("/dev","stderr",null,r.stderr):S.symlink("/dev/tty1","/dev/stderr");var n=S.open("/dev/stdin","r");G9[Yk>>2]=S.getPtrForStream(n),Ge(n.fd===0,"invalid handle for stdin ("+n.fd+")");var l=S.open("/dev/stdout","w");G9[zk>>2]=S.getPtrForStream(l),Ge(l.fd===1,"invalid handle for stdout ("+l.fd+")");var h=S.open("/dev/stderr","w");G9[Jk>>2]=S.getPtrForStream(h),Ge(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(l,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(l),this.message=Vk[l]},S.ErrnoError.prototype=new Error,S.ErrnoError.prototype.constructor=S.ErrnoError,[N2.ENOENT].forEach(function(n){S.genericErrors[n]=new S.ErrnoError(n),S.genericErrors[n].stack=""}))},staticInit:function(){S.ensureErrnoError(),S.nameTable=new Array(4096),S.mount(M9,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices()},init:function(n,l,h){Ge(!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(),r.stdin=n||r.stdin,r.stdout=l||r.stdout,r.stderr=h||r.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;for(var n=0;nthis.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,U9=(P5=S5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",W9=1024*1024;U9||(W9=w2);var Qe=function(ie,It){if(ie>It)throw new Error("invalid range ("+ie+", "+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!==W9&&t4.setRequestHeader("Range","bytes="+ie+"-"+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||[]):tr(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(ie){var It=ie*W9,t4=(ie+1)*W9-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[ie]>"u"&&(Dt.chunks[ie]=Qe(It,t4)),typeof Dt.chunks[ie]>"u")throw new Error("doXHR failed!");return Dt.chunks[ie]}),this._length=w2,this._chunkSize=W9,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 r1={isDevice:!1,contents:e1}}else var r1={isDevice:!1,url:h};var x2=S.createFile(n,l,r1,f,z);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var S5=x2.stream_ops[C];s[C]=function(){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);return S5.apply(null,arguments)}}),s.read=function(S5,w2,P5,U9,W9){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);var Qe=S5.node.contents;if(W9>=Qe.length)return 0;var Dt=Math.min(Qe.length-W9,U9);if(Ge(Dt>=0),Qe.slice)for(var ie=0;ie=0;f--){var z=n[f];z==="."?n.splice(f,1):z===".."?(n.splice(f,1),h++):h&&(n.splice(f,1),h--)}if(l)for(;h--;h)n.unshift("..");return n},normalize:function(n){var l=n.charAt(0)==="/",h=n.substr(-1)==="/";return n=m9.normalizeArray(n.split("/").filter(function(f){return!!f}),!l).join("/"),!n&&!l&&(n="."),n&&h&&(n+="/"),(l?"/":"")+n},dirname:function(n){var l=m9.splitPath(n),h=l[0],f=l[1];return!h&&!f?".":(f&&(f=f.substr(0,f.length-1)),h+f)},basename:function(n){if(n==="/")return"/";var l=n.lastIndexOf("/");return l===-1?n:n.substr(l+1)},extname:function(n){return m9.splitPath(n)[3]},join:function(){var n=Array.prototype.slice.call(arguments,0);return m9.normalize(n.join("/"))},join2:function(n,l){return m9.normalize(n+"/"+l)},resolve:function(){for(var n="",l=!1,h=arguments.length-1;h>=-1&&!l;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"";n=f+"/"+n,l=f.charAt(0)==="/"}return n=m9.normalizeArray(n.split("/").filter(function(z){return!!z}),!l).join("/"),(l?"/":"")+n||"."},relative:function(n,l){n=m9.resolve(n).substr(1),l=m9.resolve(l).substr(1);function h(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=h(n.split("/")),z=h(l.split("/")),e=Math.min(f.length,z.length),e1=e,r1=0;r10){var r1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&r.ctx&&(r.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?v.dynCall("vi",n,[f]):v.dynCall("v",n)}),!(e0?nE(0,1e3/l):nE(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var n=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,YB(h,0,!1,J1.mainLoop.arg,!0),nE(n,l),J1.mainLoop.scheduler()},updateStatus:function(){if(r.setStatus){var n=r.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),r.noImageDecoding=!0);var n={};n.canHandle=function(e){return!r.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},n.handle=function(e,e1,r1,x2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(e1)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(e1)}))}catch(w2){v.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),S5=new Image;S5.onload=function(){Ge(S5.complete,"Image "+e1+" could not be decoded");var P5=document.createElement("canvas");P5.width=S5.width,P5.height=S5.height;var U9=P5.getContext("2d");U9.drawImage(S5,0,0),r.preloadedImages[e1]=P5,J1.URLObject.revokeObjectURL(C),r1&&r1(e)},S5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},S5.src=C},r.preloadPlugins.push(n);var l={};l.canHandle=function(e){return!r.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,e1,r1,x2){var s=!1;function l1(U9){s||(s=!0,r.preloadedAudios[e1]=U9,r1&&r1(e))}function C(){s||(s=!0,r.preloadedAudios[e1]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var S5=new Blob([e],{type:J1.getMimetype(e1)})}catch{return C()}var w2=J1.URLObject.createObjectURL(S5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(W9){if(s)return;console.log("warning: browser could not fully decode audio "+e1+", trying slower base64 approach");function Qe(Dt){for(var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",z7=0,J7=0,vn=0;vn=6;){var sl=z7>>J7-6&63;J7-=6,t4+=ie[sl]}return J7==2?(t4+=ie[(z7&3)<<4],t4+=It+It):J7==4&&(t4+=ie[(z7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+e1.substr(-3)+";base64,"+Qe(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},r.preloadPlugins.push(l);var h=r.canvas;function f(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),r.elementPointerLock&&h.addEventListener("click",function(z){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),z.preventDefault())},!1))},createContext:function(n,l,h,f){if(l&&r.ctx&&n==r.canvas)return r.ctx;var z,e;if(l){var e1={antialias:!1,alpha:!1};if(f)for(var r1 in f)e1[r1]=f[r1];e=GL.createContext(n,e1),e&&(z=GL.getContext(e).GLctx),n.style.backgroundColor="black"}else z=n.getContext("2d");return z?(h&&(l||Ge(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),r.ctx=z,l&&GL.makeContextCurrent(e),r.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),z):null},destroyContext:function(n,l,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(n,l,h){J1.lockPointer=n,J1.resizeCanvas=l,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=r.canvas;function z(){J1.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),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(e1.parentNode.insertBefore(f,e1),e1.parentNode.removeChild(e1),J1.resizeCanvas&&J1.setWindowedCanvasSize()),r.onFullScreen&&r.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.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(n){var l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-l,0);setTimeout(n,h)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(n){return function(){if(!P)return n.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var n=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],n.forEach(function(l){l()})}},safeRequestAnimationFrame:function(n){return J1.requestAnimationFrame(function(){P||(J1.allowAsyncCallbacks?n():J1.queuedAsyncCallbacks.push(n))})},safeSetTimeout:function(n,l){return r.noExitRuntime=!0,setTimeout(function(){P||(J1.allowAsyncCallbacks?n():J1.queuedAsyncCallbacks.push(n))},l)},safeSetInterval:function(n,l){return r.noExitRuntime=!0,setInterval(function(){P||J1.allowAsyncCallbacks&&n()},l)},getMimetype:function(n){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[n.substr(n.lastIndexOf(".")+1)]},getUserMedia:function(n){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(n)},getMovementX:function(n){return n.movementX||n.mozMovementX||n.webkitMovementX||0},getMovementY:function(n){return n.movementY||n.mozMovementY||n.webkitMovementY||0},getMouseWheelDelta:function(n){var l=0;switch(n.type){case"DOMMouseScroll":l=n.detail;break;case"mousewheel":l=n.wheelDelta;break;case"wheel":l=n.deltaY;break;default:throw"unrecognized mouse wheel event: "+n.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(n){if(J1.pointerLock)n.type!="mousemove"&&"mozMovementX"in n?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(n),J1.mouseMovementY=J1.getMovementY(n)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=r.canvas.getBoundingClientRect(),h=r.canvas.width,f=r.canvas.height,z=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(n.type==="touchstart"||n.type==="touchend"||n.type==="touchmove"){var e1=n.touch;if(e1===void 0)return;var r1=e1.pageX-(z+l.left),x2=e1.pageY-(e+l.top);r1=r1*(h/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(n.type==="touchstart")J1.lastTouches[e1.identifier]=s,J1.touches[e1.identifier]=s;else if(n.type==="touchend"||n.type==="touchmove"){var l1=J1.touches[e1.identifier];l1||(l1=s),J1.lastTouches[e1.identifier]=l1,J1.touches[e1.identifier]=s}return}var C=n.pageX-(z+l.left),S5=n.pageY-(e+l.top);C=C*(h/l.width),S5=S5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=S5-J1.mouseY,J1.mouseX=C,J1.mouseY=S5}},xhrLoad:function(n,l,h){var f=new XMLHttpRequest;f.open("GET",n,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):h()},f.onerror=h,f.send(null)},asyncLoad:function(n,l,h,f){J1.xhrLoad(n,function(z){Ge(z,'Loading data file "'+n+'" failed (no arrayBuffer).'),l(new Uint8Array(z)),f||Qn("al "+n)},function(z){if(h)h();else throw'Loading data file "'+n+'" failed.'}),f||Or("al "+n)},resizeListeners:[],updateResizeListeners:function(){var n=r.canvas;J1.resizeListeners.forEach(function(l){l(n.width,n.height)})},setCanvasSize:function(n,l,h){var f=r.canvas;J1.updateCanvasDimensions(f,n,l),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var n=nl[SDL.screen+v.QUANTUM_SIZE*0>>2];n=n|8388608,G9[SDL.screen+v.QUANTUM_SIZE*0>>2]=n}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var n=nl[SDL.screen+v.QUANTUM_SIZE*0>>2];n=n&-8388609,G9[SDL.screen+v.QUANTUM_SIZE*0>>2]=n}J1.updateResizeListeners()},updateCanvasDimensions:function(n,l,h){l&&h?(n.widthNative=l,n.heightNative=h):(l=n.widthNative,h=n.heightNative);var f=l,z=h;if(r.forcedAspectRatio&&r.forcedAspectRatio>0&&(f/z>2]=l),l}function $S(){r.printErr("missing function: floor0_exportbundle"),ts(-1)}if(Xo=v.staticAlloc(4),G9[Xo>>2]=0,r.requestFullScreen=function(l,h,f){J1.requestFullScreen(l,h,f)},r.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},r.setCanvasSize=function(l,h,f){J1.setCanvasSize(l,h,f)},r.pauseMainLoop=function(){J1.mainLoop.pause()},r.resumeMainLoop=function(){J1.mainLoop.resume()},r.getUserMedia=function(){J1.getUserMedia()},r.createContext=function(l,h,f,z){return J1.createContext(l,h,f,z)},S.staticInit(),Z$.unshift(function(){!r.noFSInit&&!S.init.initialized&&S.init()}),Lu.push(function(){S.ignorePermissions=!1}),j$.push(function(){S.quit()}),r.FS_createFolder=S.createFolder,r.FS_createPath=S.createPath,r.FS_createDataFile=S.createDataFile,r.FS_createPreloadedFile=S.createPreloadedFile,r.FS_createLazyFile=S.createLazyFile,r.FS_createLink=S.createLink,r.FS_createDevice=S.createDevice,Z$.unshift(function(){qr.init()}),j$.push(function(){qr.shutdown()}),u)var b8=void 0,JB=void 0;xu=S7=v.alignMemory(Xn),z$=!0,J$=xu+jp,K$=O7=v.alignMemory(J$),Ge(K$>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 sx(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 qS(t){t=t|0,Z6=t}function HS(){return Z6|0}function _C(t){t=t|0;var o=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,o=R9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function VS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,b=(B|0)==0,!b&&(D=a<<3,k=o-D|0,w=t+8|0,_=e[w>>2]|0,Q=_+a|0,e[$>>2]=Q,x=t+4|0,e[x>>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,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0;Y0=C,d=a>>>0>32;do if(!d){if(p=e[t>>2]|0,x=t+16|0,A0=e[x>>2]|0,c0=A0+-4|0,b0=(p|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,b0)H=g;else{if(N0=(g|0)==0,N0)return;if(K0=(A0|0)>2147483391,K0||(V0=t+8|0,j0=e[V0>>2]|0,I=A0+256|0,E=W7(j0,I)|0,y=(E|0)==0,y))break;e[V0>>2]=E,B=e[x>>2]|0,b=B+256|0,e[x>>2]=b,D=e[t>>2]|0,k=E+D|0,e[$>>2]=k,H=k}w=8+(a<<2)|0,_=e[w>>2]|0,Q=_&o,R=t+4|0,L=e[R>>2]|0,F=L+a|0,N=Q<>0]|0,V=O&255,J=V|N,t0=J&255,f[H>>0]=t0,Z=(F|0)>7;do if(Z&&(j=e[R>>2]|0,n0=8-j|0,s0=Q>>>n0,K=s0&255,o0=e[$>>2]|0,Y=o0+1|0,f[Y>>0]=K,h0=(F|0)>15,h0&&(i0=e[R>>2]|0,e0=16-i0|0,u0=Q>>>e0,$0=u0&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,r0=Q>>>I0,d0=r0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=d0,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,S0=e[$>>2]|0,J0=S0+U0|0,e[$>>2]=J0,T0=F&7,e[R>>2]=T0;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 xC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;d=C,o=t+8|0,a=e[o>>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 o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;y=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[o>>2]=d,p=d,f[p>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function LC(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,_=e[g>>2]|0,t0=t+4|0,e0=e[t0>>2]|0,p0=e0+o|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,w=k&255,Q=w>>>e0,x=(p0|0)>8,x?(R=D+1|0,L=f[R>>0]|0,F=L&255,N=8-e0|0,O=F<16,V?(J=D+2|0,Z=f[J>>0]|0,A0=Z&255,j=16-e0|0,n0=A0<24,K?(o0=D+3|0,Y=f[o0>>0]|0,h0=Y&255,i0=24-e0|0,u0=h0<>0]|0,g0=m0&255,I0=32-e0|0,r0=g0<>2]|0,b=$+o|0,D=e[t>>2]|0,k=t+16|0,w=e[k>>2]|0,_=b+7|0,Q=_>>3,x=w-Q|0,R=(D|0)>(x|0),R){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;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,L=y,e[a>>2]=L;return}}function n4(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0;M0=C,E=o>>>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+(o<<2)|0,F=e[y>>2]|0,s0=t+4|0,X=e[s0>>2]|0,E0=X+o|0,N0=e[t>>2]|0,U0=t+16|0,O0=e[U0>>2]|0,H0=O0+-4|0,B=(N0|0)<(H0|0),!B){if(b=E0+7|0,D=b>>3,k=O0-D|0,w=(N0|0)>(k|0),w){d=t,p=s0,v0=O0;break}if(_=(E0|0)==0,_)return a=0,a|0}return Q=t+12|0,x=e[Q>>2]|0,R=f[x>>0]|0,L=R&255,N=L>>>X,O=(E0|0)>8,O?(H=x+1|0,V=f[H>>0]|0,J=V&255,t0=8-X|0,Z=J<16,j?(n0=x+2|0,K=f[n0>>0]|0,o0=K&255,Y=16-X|0,h0=o0<24,e0?(u0=x+3|0,c0=f[u0>>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=N0+w0|0,e[t>>2]=x0,Z0=E0&7,e[s0>>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 o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,d=(g|0)/8&-1,p=d+o|0,p|0}function By(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function YS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=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=R9(16384)|0,e[t>>2]=k,w=R9(4096)|0,_=t+16|0,e[_>>2]=w,Q=R9(8192)|0,x=t+20|0,e[x>>2]=Q,R=(k|0)==0;do if(R)I=w;else{if(L=(w|0)==0,p=(Q|0)==0,F=p|L,F){E2(k),$=e[_>>2]|0,I=$;break}return b=t+336|0,e[b>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),y=e[x>>2]|0,B=(y|0)==0,B||E2(y),g4(t|0,0,360)|0,a=-1,a|0}function zS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0;return b=C,o=(t|0)==0,o||(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 JS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0;if(O0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,k=a+22|0,f[k>>0]=0,V=e[t>>2]|0,h0=V+23|0,f[h0>>0]=0,r0=e[t>>2]|0,D0=r0+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,w=d+v0|0,_=f[w>>0]|0,Q=_&255,x=Q^D,R=144+(x<<2)|0,L=e[R>>2]|0,F=L^b,N=v0+1|0,O=(N|0)<($|0),O)x0=F,v0=N;else{B0=F;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,N0=0;;)if(H=R0<<8,J=R0>>>24,t0=B+N0|0,Z=f[t0>>0]|0,A0=Z&255,j=A0^J,n0=144+(j<<2)|0,s0=e[n0>>2]|0,K=s0^H,o0=N0+1|0,Y=(o0|0)<(I|0),Y)R0=K,N0=o0;else{Z0=K;break}else Z0=B0;i0=Z0&255,e0=e[t>>2]|0,u0=e0+22|0,f[u0>>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,d0=I0+24|0,f[d0>>0]=g0,p0=Z0>>>24,C0=p0&255,b0=e[t>>2]|0,y0=b0+25|0,f[y0>>0]=C0}}function KS(t,o,a,$,g,d){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0;if(p2=C,r0=(t|0)==0,r0||(x0=e[t>>2]|0,M0=(x0|0)==0,M0))return I=-1,I|0;if(L0=(o|0)==0,L0)return I=0,I|0;X0=(a|0)>0;e:do if(X0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,A2=(q1|0)<0,w=2147483647-q1|0,J=(m2|0)>(w|0),G2=A2|J,G2){I=-1;break}if(i0=q1+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||(d0=e[k>>2]|0,p0=d0-g0|0,e[k>>2]=p0,C0=(d0|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),N0=t+16|0,U0=e[N0>>2]|0,O0=(U0|0)==0,O0||E2(U0),H0=t+20|0,S0=e[H0>>2]|0,J0=(S0|0)==0,J0||E2(S0),g4(t|0,0,360)|0,I=-1,I|0;if(T0=D0+a2|0,P0=(T0|0)<2147482623,W0=T0+1024|0,p=P0?W0:T0,K0=e[t>>2]|0,V0=W7(K0,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),s1=t+16|0,z0=e[s1>>2]|0,n1=(z0|0)==0,n1||E2(z0),o1=t+20|0,d1=e[o1>>2]|0,u1=(d1|0)==0,u1||E2(d1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(p1=WS(t,X)|0,f1=(p1|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=o+(D2<<3)|0,L1=e[S1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ge(v1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[k>>2]|0,U1=F1+R1|0,e[k>>2]=U1,D1=D2+1|0,n2=(D1|0)==(a|0),!n2;)k1=U1,D2=D1;if(h1=(a2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,h1){for(B1=t+352|0,m1=t+20|0,Q1=e[m1>>2]|0,C1=(l0|0)>1,y2=0;P1=c1+y2|0,X1=$1+(P1<<2)|0,e[X1>>2]=255,G1=B1,x1=G1,K1=e[x1>>2]|0,H1=G1+4|0,V1=H1,Y1=e[V1>>2]|0,t2=Q1+(P1<<3)|0,s2=t2,e2=s2,e[e2>>2]=K1,O1=s2+4|0,h2=O1,e[h2>>2]=Y1,Z1=y2+1|0,I2=(Z1|0)<(l0|0),I2;)y2=Z1;M2=C1?l0:1,B=B1,c2=Q1,S2=M2}else E=t+20|0,b=e[E>>2]|0,D=t+352|0,B=D,c2=b,S2=0;return C2=(a2|0)%255&-1,$2=c1+S2|0,W1=$1+($2<<2)|0,e[W1>>2]=C2,f2=c2+($2<<3)|0,r2=f2,g2=r2,e[g2>>2]=g,o2=r2+4|0,l2=o2,e[l2>>2]=d,i2=B,_=i2,e[_>>2]=g,Q=i2+4|0,x=Q,e[x>>2]=d,R=$1+(c1<<2)|0,L=e[R>>2]|0,F=L|256,e[R>>2]=F,N=c1+X|0,e[A1>>2]=N,O=t+344|0,H=O,V=H,t0=e[V>>2]|0,Z=H+4|0,A0=Z,j=e[A0>>2]|0,n0=rs(t0|0,j|0,1,0)|0,s0=Z6,K=O,o0=K,e[o0>>2]=n0,Y=K+4|0,h0=Y,e[h0>>2]=s0,e0=($|0)==0,e0?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function AE(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0;return R=C,C=C+16|0,Q=R,a=e[o>>2]|0,e[Q>>2]=a,$=o+4|0,E=e[$>>2]|0,y=Q+4|0,e[y>>2]=E,B=o+12|0,b=e[B>>2]|0,D=o+16|0,k=D,w=k,_=e[w>>2]|0,g=k+4|0,d=g,p=e[d>>2]|0,I=KS(t,Q,1,b,_,p)|0,C=R,I|0}function yy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=wy(t,o,1,4096)|0,a|0}function Qy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=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?x=7:_=0):Q?_=0:x=7,(x|0)==7&&(_=1),w=wy(t,o,_,4096)|0,a=w,a|0)}function WS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=0;return d0=C,g=t+24|0,d=e[g>>2]|0,Q=d-o|0,Z=t+28|0,u0=e[Z>>2]|0,l0=(Q|0)>(u0|0),l0?($=0,$|0):(X=2147483647-o|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+o|0,k=(D|0)<2147483615,w=D+32|0,a=k?w:D,_=t+16|0,x=e[_>>2]|0,R=a<<2,L=W7(x,R)|0,F=(L|0)==0,F?(N=e[t>>2]|0,O=(N|0)==0,O||E2(N),H=e[_>>2]|0,V=(H|0)==0,V||E2(H),J=t+20|0,t0=e[J>>2]|0,A0=(t0|0)==0,A0||E2(t0),g4(t|0,0,360)|0,$=-1,$|0):(e[_>>2]=L,j=t+20|0,n0=e[j>>2]|0,s0=a<<3,K=W7(n0,s0)|0,o0=(K|0)==0,o0?(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]=K,e[g>>2]=a,$=0,$|0))))}function wy(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0;if(b5=C,Q=t+28|0,x=e[Q>>2]|0,d1=(x|0)>255,g=d1?255:x,m1=(t|0)==0,m1||(R1=e[t>>2]|0,V1=(R1|0)==0,$2=(g|0)==0,_3=$2|V1,_3))return d=0,d|0;n2=t+332|0,J2=e[n2>>2]|0,j2=(J2|0)==0;e:do if(j2)for(y0=t+16|0,g3=0;;){if(U0=(g3|0)<(g|0),!U0){I=a,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,J5=g3,Y5=14;break e}if(j0=e[y0>>2]|0,z0=j0+(g3<<2)|0,n1=e[z0>>2]|0,L0=n1&255,o1=(L0|0)==255,u1=g3+1|0,o1)g3=u1;else{I=a,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,J5=u1,Y5=14;break}}else if(R=(g|0)>0,R){for(j=t+16|0,$0=t+20|0,Q5=0,_5=-1,d5=-1,l5=-1,X2=-1,d2=-1,v5=-1,n5=-1,a5=-1,t3=0,G3=0,Q3=0;;){if(p1=(Q5|0)>($|0),f1=(t3|0)>3,H3=p1&f1,H3){p=1,q5=_5,M5=d5,z2=l5,C5=X2,$5=d2,h5=v5,w5=n5,T1=a5,u3=Q3;break}if(h1=e[j>>2]|0,A1=h1+(Q3<<2)|0,c1=e[A1>>2]|0,a1=c1&255,$1=a1+Q5|0,X0=(a1|0)==255,X0?(f5=_5,K2=d5,I5=l5,r5=X2,R5=d2,e5=v5,c5=n5,T2=a5,a6=0,V3=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=os(v1|0,L1|0,8)|0,F1=Z6,U1=_1&255,D1=os(v1|0,L1|0,16)|0,P1=Z6,X1=D1&255,G1=os(v1|0,L1|0,24)|0,x1=Z6,K1=G1&255,q1=L1&255,H1=os(v1|0,L1|0,40)|0,Y1=Z6,t2=H1&255,s2=os(v1|0,L1|0,48)|0,e2=Z6,O1=s2&255,h2=os(v1|0,L1|0,56)|0,Z1=Z6,I2=h2&255,f5=b1,K2=X1,I5=K1,r5=q1,R5=t2,e5=O1,c5=I2,T2=U1,a6=M1,V3=M1),A2=Q3+1|0,C2=(A2|0)<(g|0),C2)Q5=$1,_5=f5,d5=K2,l5=I5,X2=r5,d2=R5,v5=e5,n5=c5,a5=T2,t3=a6,G3=V3,Q3=A2;else{p=a,q5=f5,M5=K2,z2=I5,C5=r5,$5=R5,h5=e5,w5=c5,T1=T2,u3=A2;break}}W1=(u3|0)==255,W1?(a3=q5,y3=M5,G5=z2,Z5=C5,x3=$5,f3=h5,w3=w5,e6=T1,H5=255):(I=p,k5=q5,z5=M5,i3=z2,B5=C5,I3=$5,d3=h5,W5=w5,n3=T1,J5=u3,Y5=14)}else I=a,k5=-1,z5=-1,i3=-1,B5=-1,I3=-1,d3=-1,W5=-1,n3=-1,J5=0,Y5=14;while(!1);if((Y5|0)==14){if(f2=(I|0)==0,f2)return d=0,d|0;a3=k5,y3=z5,G5=i3,Z5=B5,x3=I3,f3=d3,w3=W5,e6=n3,H5=J5}if(c2=t+40|0,f[c2>>0]=79,f[c2+1>>0]=103,f[c2+2>>0]=103,f[c2+3>>0]=83,r2=t+44|0,f[r2>>0]=0,g2=t+45|0,f[g2>>0]=0,o2=t+16|0,l2=e[o2>>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[g2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,y2=(S2|0)!=0,G2=(x|0)==(H5|0),X5=y2&G2,X5&&(y=j2?k2:m2,M2=y|4,O2=M2&255,f[g2>>0]=O2),e[n2>>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,x5=t5>>>8,p5=x5&255,D5=t+55|0,f[D5>>0]=p5,V5=t5>>>16,u5=V5&255,b2=t+56|0,f[b2>>0]=u5,y5=t5>>>24,s5=y5&255,F2=t+57|0,f[F2>>0]=s5,R2=t+340|0,Q2=e[R2>>2]|0,L=(Q2|0)==-1,L?(e[R2>>2]=0,N=0):N=Q2,F=N+1|0,e[R2>>2]=F,O=N&255,H=t+58|0,f[H>>0]=O,V=N>>>8,J=V&255,t0=t+59|0,f[t0>>0]=J,Z=N>>>16,A0=Z&255,n0=t+60|0,f[n0>>0]=A0,s0=N>>>24,K=s0&255,o0=t+61|0,f[o0>>0]=K,Y=t+62|0,h0=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]=h0,e0=(H5|0)>0,e0){if(u0=e[l2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,X=u0&255,L5=(H5|0)==1,L5)B=X;else for(g0=1,D0=X;;)if(D=e[o2>>2]|0,m0=D+(g0<<2)|0,I0=e[m0>>2]|0,r0=I0&255,d0=g0+27|0,p0=(t+40|0)+d0|0,f[p0>>0]=r0,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,w=e[Q>>2]|0,_=e[o2>>2]|0,v0=k,S0=w,T0=_,N5=B}else v0=R1,S0=x,T0=l2,N5=0;return e[o>>2]=c2,Q0=H5+27|0,w0=t+324|0,e[w0>>2]=Q0,B0=o+4|0,e[B0>>2]=Q0,x0=t+12|0,Z0=e[x0>>2]|0,R0=v0+Z0|0,N0=o+8|0,e[N0>>2]=R0,O0=o+12|0,e[O0>>2]=N5,H0=S0-H5|0,e[Q>>2]=H0,J0=T0+(H5<<2)|0,M0=H0<<2,lA(T0|0,J0|0,M0|0)|0,P0=t+20|0,W0=e[P0>>2]|0,K0=W0+(H5<<3)|0,V0=e[Q>>2]|0,q0=V0<<3,lA(W0|0,K0|0,q0|0)|0,Y0=e[x0>>2]|0,s1=Y0+N5|0,e[x0>>2]=s1,JS(o),d=1,d|0}function ZS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=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),w=g+44|0,Q=e[w>>2]|0,mi(Q),x=g+48|0,R=e[x>>2]|0,mi(R),L=g+52|0,F=e[L>>2]|0,mi(F),N=g+56|0,O=e[N>>2]|0,mi(O),H=g+60|0,V=e[H>>2]|0,mi(V),J=g+64|0,Z=e[J>>2]|0,mi(Z),A0=g+68|0,j=e[A0>>2]|0,mi(j),n0=e[6416]|0,s0=n0+12|0,K=e[s0>>2]|0,o0=nQ[K&1](t)|0,Y=(o0|0)==0,Y?(h0=(o|0)==0,h0?(a=0,a|0):(i0=Pu(t)|0,u0=(i0|0)==0,u0?(c0=t+4|0,$0=By(c0)|0,e[o>>2]=$0,l0=D8(c0)|0,X=o+4|0,e[X>>2]=l0,m0=o+8|0,e[m0>>2]=0,g0=t+44|0,I0=e[g0>>2]|0,r0=o+12|0,e[r0>>2]=I0,d0=t+48|0,C0=d0,b0=C0,y0=e[b0>>2]|0,D0=C0+4|0,E0=D0,Q0=e[E0>>2]|0,w0=o+16|0,B0=w0,x0=B0,e[x0>>2]=y0,Z0=B0+4|0,v0=Z0,e[v0>>2]=Q0,N0=t+56|0,U0=N0,O0=U0,H0=e[O0>>2]|0,S0=U0+4|0,J0=S0,T0=e[J0>>2]|0,M0=o+24|0,P0=M0,K0=P0,e[K0>>2]=H0,V0=P0+4|0,j0=V0,e[j0>>2]=T0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function jS(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=0,p0=0,C0=0,b0=0,y0=0,D0=0;y0=C,a=t+28|0,$=e[a>>2]|0,C0=o,D0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(D0|0));w=$+3372|0,J=e[w>>2]|0,i0=(J|0)>0,i0&&(g0=t+8|0,I0=e[g0>>2]|0,r0=e[$>>2]|0,d0=r0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(r0|0)&-1,p=o+24|0,e[p>>2]=d,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,y=+(E|0),B=+(d0|0),b=y*B,D=+(I0|0),k=b/D,_=+K7(k),Q=~~_,x=o+12|0,e[x>>2]=Q,R=$+3364|0,L=e[R>>2]|0,F=+(L|0),N=F*B,O=N/D,H=+K7(O),V=~~H,t0=o+16|0,e[t0>>2]=V,Z=$+3368|0,A0=e[Z>>2]|0,j=+(A0|0),n0=j*B,s0=n0/D,K=+K7(s0),o0=~~K,Y=o+20|0,e[Y>>2]=o0,h0=o+32|0,l1[h0>>3]=7,e0=+(J|0),u0=$+3376|0,c0=+l1[u0>>3],$0=e0*c0,l0=~~$0,X=o+8|0,e[X>>2]=l0,m0=o+4|0,e[m0>>2]=l0)}function XS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Pu(t){t=t|0;var o=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,o=E&1,o|0}function eb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=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,M5=b2+104|0,d2=e[M5>>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=+l1[b>>3],o0=+K7(O),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,J0=e[w0>>2]|0,z0=D8(J0)|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,x5=e[T5>>2]|0,Y=p2,D0=T5,B0=x5):(j2=d2+104|0,p5=e[j2>>2]|0,D5=d2+100|0,V5=e[D5>>2]|0,u5=o5(p5,p2)|0,y5=o5(p5,V5)|0,Y=u5,D0=D5,B0=y5),s5=U5+(x1<<2)|0,F2=e[s5>>2]|0,R2=F2>>1,Q2=U5+3372|0,Q5=e[Q2>>2]|0,N5=+(Q5|0),E5=U5+3376|0,L5=+l1[E5>>3],q5=N5*L5,z2=~~q5,C5=d2+80|0,$5=e[C5>>2]|0,h5=($5|0)==0,w5=d2+120|0,h5)return T1=e[w5>>2]|0,_5=(T1|0)==0,_5?(e[w5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[w5>>2]=t,d5=d2+92|0,l5=e[d5>>2]|0,X2=(l5|0)>0,X2){I2?c5=l5:(v5=d2+104|0,n5=e[v5>>2]|0,a5=o5(n5,l5)|0,c5=a5),f5=U5+3384|0,K2=+l1[f5>>3],I5=15/K2,r5=d2+84|0,R5=e[r5>>2]|0,e5=a1-c5|0,k5=R5+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,d3=I3+R5|0,W5=(d3|0)>(z2|0),W5)for(z3=g0;;){if(n3=z3+-1|0,a3=(B+12|0)+(n3<<2)|0,y3=e[a3>>2]|0,Z5=D8(y3)|0,x3=Z5<<3,f3=(z3|0)>1,w3=(x3|0)>(c5|0),L6=w3&f3,!L6){j5=n3;break e}if(I=e[r5>>2]|0,e6=x3-c5|0,H3=e6+I|0,X5=(H3|0)>(z2|0),X5)z3=n3;else{j5=n3;break}}else j5=g0;else j5=g0;else if(_3=(k5|0)<(z2|0),_3)if(t3=g0+1|0,a6=(t3|0)<15,V3=(a1|0)<(c5|0),r6=V3&a6,r6)if(c3=a1-c5|0,g3=c3+R5|0,u3=(g3|0)<(z2|0),u3)for(J5=t3;;){if(Q3=(B+12|0)+(J5<<2)|0,H5=e[Q3>>2]|0,Y5=D8(H5)|0,b5=Y5<<3,Y3=J5+1|0,l6=(Y3|0)<15,r3=(b5|0)<(c5|0),S6=r3&l6,!S6){j5=J5;break e}if(p=e[r5>>2]|0,l3=b5-c5|0,U3=l3+p|0,C6=(U3|0)<(z2|0),C6)J5=Y3;else{j5=J5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+l1[b>>3],D3=b3-L3,A6=+K7(D3),n6=+(R2|0),D=A6/n6,k=G5+8|0,w=e[k>>2]|0,_=+(w|0),Q=_*D,x=-I5,R=QI5,R3=L?I5:v6,F=R3/_,N=F*n6,H=N+L3,l1[b>>3]=H,V=+K7(H),J=~~V,t0=(B+12|0)+(J<<2)|0,Z=e[t0>>2]|0,A0=D8(Z)|0,j=A0<<3,E=e[i2>>2]|0,n0=E,M3=J,o6=j}else n0=p2,M3=g0,o6=a1;s0=(n0|0)>0,K=(o6|0)<(Y|0),f6=K&s0;e:do if(f6)if(h0=d2+88|0,i0=e[h0>>2]|0,e0=o6-Y|0,u0=e0+i0|0,c0=(u0|0)<0,c0)for(h3=M3,s6=o6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){J3=$0,B6=s6;break e}if(X=(B+12|0)+($0<<2)|0,m0=e[X>>2]|0,I0=D8(m0)|0,r0=I0<<3,d0=e[h0>>2]|0,p0=r0-Y|0,C0=p0+d0|0,b0=(C0|0)<0,b0)h3=$0,s6=r0;else{J3=$0,B6=r0;break}}else J3=M3,B6=o6;else J3=M3,B6=o6;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,N0=e[Q2>>2]|0,U0=(v0|0)>(N0|0),U0)for(d6=J3,K3=B6;;){if(O0=d6+-1|0,H0=(d6|0)<1,H0){m3=O0,F3=K3;break e}if(S0=(B+12|0)+(O0<<2)|0,T0=e[S0>>2]|0,M0=D8(T0)|0,P0=M0<<3,W0=e[x0>>2]|0,K0=P0-B0|0,V0=K0+W0|0,j0=e[Q2>>2]|0,q0=(V0|0)>(j0|0),q0)d6=O0,K3=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)s1=e[Q2>>2]|0,n1=d2+88|0,L0=e[n1>>2]|0,o1=s1+B0|0,d1=o1-L0|0,u1=(d1|0)/8&-1,p1=d2+124|0,e[p1>>2]=0,f1=B+12|0,h1=e[f1>>2]|0,A1=D8(h1)|0,c1=(A1|0)>(u1|0),c1?($1=e[f1>>2]|0,X0=u1<<3,VS($1,X0),B1=e[f1>>2]|0,m1=D8(B1)|0,Q1=m1<<3,W3=Q1):W3=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,U1=S1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,x6=U1;;)if(X1=x6+-1|0,H2(G1,0,8),K1=(x6|0)>1,q1=e[_1>>2]|0,K1)G1=q1,x6=X1;else{d=q1;break}else d=P1;H1=D8(d)|0,V1=H1<<3,W3=V1}Y1=e[i2>>2]|0,t2=(Y1|0)>0,t2?t6=37:(s2=e[D0>>2]|0,e2=(s2|0)>0,e2&&(t6=37));do if((t6|0)==37){if(O1=(B0|0)>0,h2=(W3|0)>(B0|0),N6=O1&h2,N6){A2=W3-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,c2=(W3|0)<(Y|0),j6=f2&c2,j6){r2=W3-Y|0,g2=d2+88|0,o2=e[g2>>2]|0,l2=r2+o2|0,e[g2>>2]=l2;break}if(a2=d2+88|0,m2=e[a2>>2]|0,n2=(m2|0)>(z2|0),n2)if(O1){k2=W3-B0|0,D2=m2+k2|0,S2=(D2|0)<(z2|0),o=S2?z2:D2,e[a2>>2]=o;break}else{e[a2>>2]=z2;break}else if(f2){y2=W3-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,J2=(q2|0)==0,J2?Y2=O2:(U2=d2+104|0,V2=e[U2>>2]|0,Z2=o5(V2,O2)|0,Y2=Z2),A5=W3-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 vy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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=(o|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=By(D)|0,e[o>>2]=k,w=e[b>>2]|0,Q=D8(w)|0,x=o+4|0,e[x>>2]=Q,R=o+8|0,e[R>>2]=0,L=t0+44|0,F=e[L>>2]|0,N=o+12|0,e[N>>2]=F,O=t0+48|0,H=O,V=H,J=e[V>>2]|0,Z=H+4|0,A0=Z,j=e[A0>>2]|0,n0=o+16|0,s0=n0,K=s0,e[K>>2]=J,o0=s0+4|0,Y=o0,e[Y>>2]=j,h0=t0+56|0,i0=h0,u0=i0,c0=e[u0>>2]|0,$0=i0+4|0,l0=$0,X=e[l0>>2]|0,m0=o+24|0,g0=m0,I0=g0,e[I0>>2]=c0,r0=g0+4|0,d0=r0,e[d0>>2]=X),e[_>>2]=0,a=1,a|0)}function tb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0;N=C,L=o,O=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(O|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,y=o+68|0,e[y>>2]=0,B=e[t>>2]|0,b=(B|0)==0,b)return 0;for(D=ce(1,72)|0,k=o+104|0,e[k>>2]=D,w=D+4|0,s[w>>2]=-9999,_=o+4|0,Q=D+12|0,g=D+40|0,R=0;;)if(d=(R|0)==7,d){e[g>>2]=_,_C(_),R=8;continue}else{if(p=ce(1,20)|0,I=Q+(R<<2)|0,e[I>>2]=p,_C(p),E=R+1|0,x=(E|0)==15,x)break;R=E;continue}return 0}function W8(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0;return Z=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,F=L+$|0,N=t+76|0,O=e[N>>2]|0,H=(F|0)>(O|0),V=t+68|0,J=e[V>>2]|0,H?(g=(J|0)==0,g||(d=J,p=R9(8)|0,I=t+80|0,E=e[I>>2]|0,y=E+L|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[N>>2]=$,k=R9($)|0,e[V>>2]=k,e[w>>2]=0,Q=k,x=0,_=Q+x|0,R=x+$|0,e[w>>2]=R,_|0):(Q=J,x=L,_=Q+x|0,R=x+$|0,e[w>>2]=R,_|0)}function ib(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=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,J=(V|0)==0,!J)for(o0=V;t0=o0+4|0,Z=e[t0>>2]|0,A0=e[o0>>2]|0,E2(A0),E2(o0),j=(Z|0)==0,!j;)o0=Z;if(n0=t+80|0,d=e[n0>>2]|0,p=(d|0)==0,o=t+68|0,a=e[o>>2]|0,p?Q=a:(I=t+76|0,E=e[I>>2]|0,y=E+d|0,B=W7(a,y)|0,e[o>>2]=B,b=e[n0>>2]|0,D=e[I>>2]|0,k=D+b|0,e[I>>2]=k,e[n0>>2]=0,Q=B),w=t+72|0,e[w>>2]=0,e[_>>2]=0,x=(Q|0)==0,x||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 K=0;for(;;){if(L=(g+12|0)+(K<<2)|0,F=e[L>>2]|0,xC(F),N=(K|0)==7,N){K=8;continue}if(O=e[L>>2]|0,E2(O),H=K+1|0,s0=(H|0)==15,s0)break;K=H}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,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0;return x=C,$=ob(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,y=e[E>>2]|0,B=Tb(o)|0,b=y+60|0,e[b>>2]=B,D=ce(1,180)|0,e[y>>2]=D,lb(D,o),k=y+80|0,jS(o,k),w=t+64|0,_=w,d=_,e[d>>2]=3,p=_+4|0,I=p,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function ky(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0;if(q2=C,B=(t|0)==0,!B){if(b=t+4|0,w0=e[b>>2]|0,J0=(w0|0)!=0,J0?(z0=w0+28|0,a1=e[z0>>2]|0,S0=a1):S0=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||(cb(l2),H=e[x1>>2]|0,E2(H)),Y=x1+12|0,I0=e[Y>>2]|0,C0=(I0|0)==0,C0||(b0=e[I0>>2]|0,NC(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,NC(Z0),R0=e[Q0>>2]|0,v0=e[R0>>2]|0,E2(v0),N0=e[Q0>>2]|0,E2(N0)),U0=x1+48|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0){if(T0=(S0|0)==0,T0)C1=O0;else if(M0=S0+16|0,P0=e[M0>>2]|0,W0=(P0|0)>0,W0){if(K0=S0+800|0,V0=e[K0>>2]|0,j0=25640+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+16|0,s1=e[Y0>>2]|0,n1=e[O0>>2]|0,as[s1&7](n1),L0=e[M0>>2]|0,o1=(L0|0)>1,o1)for(u1=1;o=e[U0>>2]|0,d1=K0+(u1<<2)|0,p1=e[d1>>2]|0,f1=25640+(p1<<2)|0,h1=e[f1>>2]|0,A1=h1+16|0,c1=e[A1>>2]|0,$1=o+(u1<<2)|0,X0=e[$1>>2]|0,as[c1&7](X0),B1=u1+1|0,m1=e[M0>>2]|0,Q1=(B1|0)<(m1|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=(S0|0)==0,S1)W1=v1;else if(M1=S0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=S0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,X1=e[P1>>2]|0,G1=e[v1>>2]|0,as[X1&7](G1),K1=e[M1>>2]|0,q1=(K1|0)>1,q1)for(V1=1;$=e[y1>>2]|0,H1=R1+(V1<<2)|0,Y1=e[H1>>2]|0,t2=25648+(Y1<<2)|0,s2=e[t2>>2]|0,e2=s2+16|0,O1=e[e2>>2]|0,h2=$+(V1<<2)|0,I2=e[h2>>2]|0,as[O1&7](I2),A2=V1+1|0,C2=e[M1>>2]|0,$2=(A2|0)<(C2|0),$2;)V1=A2;g=e[y1>>2]|0,W1=g}else W1=v1;E2(W1)}if(f2=x1+56|0,c2=e[f2>>2]|0,r2=(c2|0)==0,!r2){if(g2=(S0|0)==0,g2)M2=c2;else if(o2=S0+28|0,i2=e[o2>>2]|0,a2=(i2|0)>0,a2){if(Fy(c2),m2=e[o2>>2]|0,n2=(m2|0)>1,n2)for(D2=1;d=e[f2>>2]|0,k2=d+(D2*52|0)|0,Fy(k2),S2=D2+1|0,y2=e[o2>>2]|0,G2=(S2|0)<(y2|0),G2;)D2=S2;p=e[f2>>2]|0,M2=p}else M2=c2;E2(M2)}k=x1+60|0,w=e[k>>2]|0,_=(w|0)==0,_||Nb(w),Q=x1+80|0,XS(Q),x=x1+20|0,Yy(x),R=x1+32|0,Yy(R)}if(L=t+8|0,F=e[L>>2]|0,N=(F|0)==0,!N){if(J0)if(O=w0+4|0,V=e[O>>2]|0,J=(V|0)>0,J){for(Z=F,p0=V,O2=0;t0=Z+(O2<<2)|0,A0=e[t0>>2]|0,j=(A0|0)==0,j?K=p0:(E2(A0),E=e[O>>2]|0,K=E),n0=O2+1|0,s0=(n0|0)<(K|0),!!s0;)I=e[L>>2]|0,Z=I,p0=K,O2=n0;y=e[L>>2]|0,o0=y}else o0=F;else o0=F;E2(o0),h0=t+12|0,i0=e[h0>>2]|0,e0=(i0|0)==0,e0||E2(i0)}Z1&&(u0=x1+64|0,c0=e[u0>>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,r0=e[g0>>2]|0,d0=(r0|0)==0,d0||E2(r0),E2(x1)),p2=t,J2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(J2|0))}}function Sy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0;if(J0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,n0=e[L>>2]|0,l0=n0+64|0,D0=e[l0>>2]|0,v0=(D0|0)==0,v0||E2(D0),e[l0>>2]=0,N0=n0+68|0,U0=e[N0>>2]|0,O0=(U0|0)==0,O0||E2(U0),e[N0>>2]=0,y=n0+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,w=k+o|0,_=t+16|0,Q=e[_>>2]|0,x=(w|0)<(Q|0),x)a=E+4|0,d=e[a>>2]|0,o0=d,S0=11;else if(R=o<<1,F=k+R|0,e[_>>2]=F,N=E+4|0,O=e[N>>2]|0,H=(O|0)>0,H)if(V=t+8|0,J=e[V>>2]|0,t0=e[J>>2]|0,Z=F<<2,A0=W7(t0,Z)|0,j=e[V>>2]|0,e[j>>2]=A0,s0=e[N>>2]|0,K=(s0|0)>1,K)for($0=1;;)if($=e[_>>2]|0,u0=e[V>>2]|0,c0=u0+($0<<2)|0,X=e[c0>>2]|0,m0=$<<2,g0=W7(X,m0)|0,I0=e[V>>2]|0,r0=I0+($0<<2)|0,e[r0>>2]=g0,d0=$0+1|0,p0=e[N>>2]|0,C0=(d0|0)<(p0|0),C0)$0=d0;else{o0=p0,S0=11;break}else o0=s0,S0=11;if((S0|0)==11&&(Y=(o0|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)<(o0|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 rb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0;if(V0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,n0=e[L>>2]|0,l0=(o|0)<1,!l0)return b0=t+20|0,y0=e[b0>>2]|0,E0=y0+o|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,N0=e[v0>>2]|0,U0=E0-N0|0,H0=n0+4|0,S0=e[H0>>2]|0,J0=(U0|0)>(S0|0),!J0)?($=0,C=V0,$|0):(Dy(t),$=0,C=V0,$|0));if(D0=C,C=C+128|0,O0=t+28|0,T0=e[O0>>2]|0,M0=(T0|0)==0,M0&&Dy(t),P0=n0+4|0,y=e[P0>>2]|0,B=y*3|0,Sy(t,B)|0,b=t+20|0,D=e[b>>2]|0,k=t+32|0,e[k>>2]=D,w=e[P0>>2]|0,_=w*3|0,Q=D+_|0,e[b>>2]=Q,x=E+4|0,R=e[x>>2]|0,F=(R|0)>0,!F)return $=0,C=V0,$|0;for(N=t+8|0,O=D,W0=0;;){if(H=(O|0)>64,H?(V=e[P0>>2]|0,J=(O|0)>(V|0),a=J?V:O,t0=e[N>>2]|0,Z=t0+(W0<<2)|0,A0=e[Z>>2]|0,d=O-a|0,j=A0+(d<<2)|0,+_y(j,D0,a,32),s0=e[N>>2]|0,K=s0+(W0<<2)|0,o0=e[K>>2]|0,Y=e[k>>2]|0,h0=o0+(Y<<2)|0,p=Y+-32|0,i0=o0+(p<<2)|0,e0=e[b>>2]|0,u0=e0-Y|0,xy(D0,i0,32,h0,u0)):(c0=e[N>>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,r0=I0<<2,g4(m0|0,0,r0|0)|0),d0=W0+1|0,p0=e[x>>2]|0,C0=(d0|0)<(p0|0),!C0){$=0;break}g=e[k>>2]|0,O=g,W0=d0}return C=V0,$|0}function by(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0;if(ue=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,s9=e[V6>>2]|0,k=t+40|0,V=e[k>>2]|0,h0=b5+(V<<2)|0,r0=e[h0>>2]|0,x0=(r0|0)/2&-1,M0=s9-x0|0,L0=o+104|0,X0=e[L0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,q2=e[m2>>2]|0,x5=(q2|0)==-1,x5))return $=0,$|0;Q2=gb(t)|0,w5=(Q2|0)==-1;do if(w5){if(K2=e[m2>>2]|0,I3=(K2|0)==0,I3)return $=0,$|0;e6=t+44|0,e[e6>>2]=0,d=e6,z3=0;break}else if(Q3=e[b5>>2]|0,Y3=b5+4|0,U5=e[Y3>>2]|0,l6=(Q3|0)==(U5|0),r3=t+44|0,l6){e[r3>>2]=0,d=r3,z3=0;break}else{e[r3>>2]=Q2,d=r3,z3=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,n6=b5+(z3<<2)|0,j5=e[n6>>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=o+84|0,r6=e[S6>>2]|0,f6=(r6|0)==0,!f6)for(w9=r6;b6=w9+4|0,N6=e[b6>>2]|0,j6=e[w9>>2]|0,E2(j6),E2(w9),v6=(N6|0)==0,!v6;)w9=N6;R3=o+80|0,o6=e[R3>>2]|0,s6=(o6|0)==0,s6||(K3=o+68|0,F3=e[K3>>2]|0,W3=o+76|0,t6=e[W3>>2]|0,R6=t6+o6|0,c6=W7(F3,R6)|0,e[K3>>2]=c6,o3=e[R3>>2]|0,J6=e[W3>>2]|0,A3=J6+o3|0,e[W3>>2]=A3,e[R3>>2]=0),g6=o+72|0,e[g6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,$6=o+24|0,e[$6>>2]=H6,D6=e[k>>2]|0,G6=o+28|0,e[G6>>2]=D6,e9=e[d>>2]|0,Q6=o+32|0,e[Q6>>2]=e9,X6=(D6|0)==0;do if(X6)if(g9=ub(t)|0,U6=(g9|0)==0,Y6=X0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,n9=(e9|0)==0,Y9=P3|n9,o9=X0+8|0,Y9){e[o9>>2]=0;break}else{e[o9>>2]=1;break}while(!1);F6=o+64|0,e[F6>>2]=t,t9=t+64|0,_6=t9,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,h9=O6,r9=e[h9>>2]|0,B9=rs(O3|0,r9|0,1,0)|0,y9=Z6,Q9=t9,d9=Q9,e[d9>>2]=B9,f9=Q9+4|0,V9=f9,e[V9>>2]=y9,w6=o+56|0,q6=w6,w=q6,e[w>>2]=O3,_=q6+4|0,Q=_,e[Q>>2]=r9,x=t+56|0,R=x,L=R,F=e[L>>2]|0,N=R+4|0,O=N,H=e[O>>2]|0,J=o+48|0,t0=J,Z=t0,e[Z>>2]=F,A0=t0+4|0,j=A0,e[j>>2]=H,n0=e[k>>2]|0,s0=b5+(n0<<2)|0,K=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=K,Y=X0+4|0,i0=+s[Y>>2],e0=+s[y6>>2],u0=i0>e0,u0?(s[y6>>2]=i0,c0=i0):c0=e0,$0=+Pb(c0,t),s[y6>>2]=$0,s[Y>>2]=$0,l0=D+4|0,X=e[l0>>2]|0,m0=X<<2,g0=m0+7|0,I0=g0&-8,d0=e[g6>>2]|0,p0=I0+d0|0,C0=o+76|0,b0=e[C0>>2]|0,y0=(p0|0)>(b0|0),D0=o+68|0,E0=e[D0>>2]|0,y0?(Q0=(E0|0)==0,Q0||(w0=E0,B0=R9(8)|0,Z0=e[R3>>2]|0,R0=Z0+d0|0,e[R3>>2]=R0,v0=e[S6>>2]|0,N0=B0+4|0,e[N0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=I0,U0=R9(I0)|0,e[D0>>2]=U0,e[g6>>2]=0,g=e[l0>>2]|0,H0=U0,S0=0,P0=g,q0=I0):(H0=E0,S0=d0,P0=X,q0=b0),O0=H0+S0|0,J0=S0+I0|0,e[g6>>2]=J0,e[o>>2]=O0,T0=P0<<2,W0=T0+7|0,K0=W0&-8,V0=K0+J0|0,j0=(V0|0)>(q0|0),j0?(Y0=(H0|0)==0,Y0||(s1=H0,z0=R9(8)|0,n1=e[R3>>2]|0,o1=n1+J0|0,e[R3>>2]=o1,d1=e[S6>>2]|0,u1=z0+4|0,e[u1>>2]=d1,e[z0>>2]=s1,e[S6>>2]=z0),e[C0>>2]=K0,p1=R9(K0)|0,e[D0>>2]=p1,e[g6>>2]=0,p=e[l0>>2]|0,h1=p1,A1=0,a1=p,Y5=K0):(h1=H0,A1=J0,a1=P0,Y5=q0),f1=h1+A1|0,c1=A1+K0|0,e[g6>>2]=c1,e[X0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(B1=t+8|0,S1=c1,M1=Y5,_1=h1,a9=0;;){if(m1=e[o0>>2]|0,Q1=m1+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,U1=R9(8)|0,D1=e[R3>>2]|0,P1=D1+S1|0,e[R3>>2]=P1,X1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=X1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=v1,x1=R9(v1)|0,e[D0>>2]=x1,e[g6>>2]=0,H1=x1,V1=0):(H1=_1,V1=S1),K1=H1+V1|0,Y1=V1+v1|0,e[g6>>2]=Y1,t2=e[X0>>2]|0,s2=t2+(a9<<2)|0,e[s2>>2]=K1,e2=e[X0>>2]|0,O1=e2+(a9<<2)|0,h2=e[O1>>2]|0,Z1=e[B1>>2]|0,I2=Z1+(a9<<2)|0,$2=e[I2>>2]|0,ge(h2|0,$2|0,C1|0)|0,W1=e[X0>>2]|0,f2=W1+(a9<<2)|0,c2=e[f2>>2]|0,r2=c2+(M0<<2)|0,g2=e[o>>2]|0,o2=g2+(a9<<2)|0,e[o2>>2]=r2,l2=a9+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,a9=l2}while(!1);if(n2=e[m2>>2]|0,k2=(n2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(n2|0),!S2))return e[m2>>2]=-1,y2=o+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(J2=e[M6>>2]|0,hb(J2,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,D5=e[Y2>>2]|0,V5=D5+(u5<<2)|0,b2=e[V5>>2]|0,y5=b2+(p2<<2)|0,s5=B<<2,lA(b2|0,y5|0,s5|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[d>>2]|0,e[k>>2]=E5,e[V6>>2]=O2,L5=e[m2>>2]|0,q5=(L5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,H3=x,X5=H3,_3=e[X5>>2]|0,t3=H3+4|0,a6=t3,G3=e[a6>>2]|0,V3=rs(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=x,u3=g3,e[u3>>2]=V3,J5=g3+4|0,H5=J5,e[H5>>2]=c3,$=1,$|0):(M5=L5-p2|0,z2=(M5|0)<1,a=z2?-1:M5,e[m2>>2]=a,C5=(a|0)>(O2|0),C5?(c5=(p2|0)<0,T2=c5<<31>>31,k5=x,z5=k5,i3=e[z5>>2]|0,B5=k5+4|0,d3=B5,W5=e[d3>>2]|0,n3=rs(i3|0,W5|0,p2|0,T2|0)|0,a3=Z6,y3=x,G5=y3,e[G5>>2]=n3,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=x,l5=d5,X2=e[l5>>2]|0,d2=d5+4|0,v5=d2,n5=e[v5>>2]|0,a5=rs(X2|0,n5|0,h5|0,_5|0)|0,f5=Z6,I5=x,r5=I5,e[r5>>2]=a5,R5=I5+4|0,e5=R5,e[e5>>2]=f5,$=1,$|0))}function ob(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0;if(r5=C,y=o+28|0,B=e[y>>2]|0,k1=(B|0)==0,k1||(X1=B+8|0,O1=e[X1>>2]|0,g2=(O1|0)<1,g2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,M5=e[b2>>2]|0,b=(M5|0)<(G2|0),b))return $=1,$|0;O=B+3656|0,o0=e[O>>2]|0,K2=t,R5=K2+112|0;do e[K2>>2]=0,K2=K2+4|0;while((K2|0)<(R5|0));g0=ce(1,136)|0,w0=t+104|0,e[w0>>2]=g0,J0=t+4|0,e[J0>>2]=o,z0=e[X1>>2]|0,a1=z0+-1|0,y1=V8(a1)|0,v1=g0+44|0,e[v1>>2]=y1,S1=ce(1,4)|0,L1=g0+12|0,e[L1>>2]=S1,M1=ce(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=ce(1,20)|0,e[S1>>2]=_1,R1=ce(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,TC(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,TC(P1,x1),K1=e[B>>2]|0,q1=V8(K1)|0,H1=q1+-7|0,V1=g0+4|0,e[V1>>2]=H1,Y1=e[b2>>2]|0,t2=V8(Y1)|0,s2=t2+-7|0,e2=g0+8|0,e[e2>>2]=s2,h2=(a|0)==0;e:do if(h2){if(Q2=B+2848|0,Q5=e[Q2>>2]|0,N5=(Q5|0)==0,N5&&(E5=B+24|0,L5=e[E5>>2]|0,q5=ce(L5,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,h5=e[$5>>2]|0,w5=(h5|0)==0,w5){T1=Q1;break}if(d5=e[Q2>>2]|0,l5=d5+(v5*56|0)|0,X2=aD(l5,h5)|0,D=(X2|0)==0,!D){I5=20;break}if(k=e[$5>>2]|0,GC(k),e[$5>>2]=0,w=v5+1|0,_=e[E5>>2]|0,Q=(w|0)<(_|0),Q)Q1=_,v5=w;else break e}if((I5|0)==20&&(I=e[E5>>2]|0,T1=I),_5=(T1|0)>0,_5)for(C1=T1,f5=0;A1=(B+1824|0)+(f5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?m1=C1:(GC(c1),e[A1>>2]=0,E=e[E5>>2]|0,m1=E),X0=f5+1|0,B1=(X0|0)<(m1|0),B1;)C1=m1,f5=X0;return ky(t),$=-1,$|0}}else{if(Z1=g0+20|0,I2=e[B>>2]|0,Vy(Z1,I2),A2=g0+32|0,C2=e[b2>>2]|0,Vy(A2,C2),$2=B+2848|0,W1=e[$2>>2]|0,f2=(W1|0)==0,f2&&(c2=B+24|0,r2=e[c2>>2]|0,o2=ce(r2,56)|0,e[$2>>2]=o2,l2=e[c2>>2]|0,i2=(l2|0)>0,i2&&(a2=B+1824|0,m2=e[a2>>2]|0,Hy(o2,m2)|0,n2=e[c2>>2]|0,k2=(n2|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,Hy(D2,M2)|0,O2=S2+1|0,p2=e[c2>>2]|0,W2=(O2|0)<(p2|0),W2;)S2=O2;q2=B+28|0,J2=e[q2>>2]|0,U2=ce(J2,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=o+8|0,i5=U2,d2=0;;){if(T5=i5+(d2*52|0)|0,x5=(B+2852|0)+(d2<<2)|0,j2=e[x5>>2]|0,p5=e[j2>>2]|0,D5=B+(p5<<2)|0,V5=e[D5>>2]|0,u5=(V5|0)/2&-1,y5=e[t5>>2]|0,Ub(T5,j2,N1,u5,y5),s5=d2+1|0,F2=e[q2>>2]|0,R2=(s5|0)<(F2|0),!R2)break t;d=e[V2>>2]|0,i5=d,d2=s5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,R=t+16|0,e[R>>2]=x,L=o+4|0,F=e[L>>2]|0,N=F<<2,H=R9(N)|0,V=t+8|0,e[V>>2]=H,J=R9(N)|0,t0=t+12|0,e[t0>>2]=J,Z=(F|0)>0,Z&&(A0=ce(x,4)|0,e[H>>2]=A0,j=(F|0)>1,j))for(K=1;p=e[V>>2]|0,n0=ce(x,4)|0,s0=p+(K<<2)|0,e[s0>>2]=n0,Y=K+1|0,h0=(Y|0)<(F|0),h0;)K=Y;if(i0=t+36|0,e[i0>>2]=0,e0=t+40|0,e[e0>>2]=0,u0=e[b2>>2]|0,c0=(u0|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=ce(m0,4)|0,r0=g0+48|0,e[r0>>2]=I0,d0=B+20|0,p0=e[d0>>2]|0,C0=ce(p0,4)|0,b0=g0+52|0,e[b0>>2]=C0,y0=e[X>>2]|0,D0=(y0|0)>0,D0)for(n5=0;B0=(B+800|0)+(n5<<2)|0,x0=e[B0>>2]|0,Z0=25640+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0+8|0,N0=e[v0>>2]|0,U0=(B+1056|0)+(n5<<2)|0,O0=e[U0>>2]|0,H0=pi[N0&15](t,O0)|0,S0=e[r0>>2]|0,T0=S0+(n5<<2)|0,e[T0>>2]=H0,M0=n5+1|0,P0=e[X>>2]|0,W0=(M0|0)<(P0|0),W0;)n5=M0;if(E0=e[d0>>2]|0,Q0=(E0|0)>0,Q0)a5=0;else return $=0,$|0;for(;;)if(K0=(B+1312|0)+(a5<<2)|0,V0=e[K0>>2]|0,j0=25648+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+8|0,s1=e[Y0>>2]|0,n1=(B+1568|0)+(a5<<2)|0,L0=e[n1>>2]|0,o1=pi[s1&15](t,L0)|0,d1=e[b0>>2]|0,u1=d1+(a5<<2)|0,e[u1>>2]=o1,p1=a5+1|0,f1=e[d0>>2]|0,h1=(p1|0)<(f1|0),h1)a5=p1;else{$=0;break}return $|0}function Dy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,o=Z,u0=C,C=C+((1*o|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(w=e[b>>2]|0,_=w+(w0<<2)|0,x=e[_>>2]|0,B0=0;R=B0^-1,L=D+R|0,F=x+(L<<2)|0,N=e[F>>2]|0,O=u0+(B0<<2)|0,e[O>>2]=N,H=B0+1|0,V=(D|0)>(H|0),V;)B0=H;if(J=e[y0>>2]|0,t0=D-J|0,+_y(u0,g,t0,16),A0=e[d>>2]|0,j=e[y0>>2]|0,a=A0-j|0,n0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,xy(g,s0,16,n0,j),K=e[d>>2]|0,o0=(K|0)>0,o0)for(Y=e[b>>2]|0,h0=Y+(w0<<2)|0,i0=e[h0>>2]|0,x0=0;e0=u0+(x0<<2)|0,c0=e[e0>>2]|0,$0=x0^-1,l0=K+$0|0,X=i0+(l0<<2)|0,e[X>>2]=c0,m0=x0+1|0,g0=(K|0)>(m0|0),g0;)x0=m0;if(I0=w0+1|0,r0=e[p>>2]|0,d0=r0+4|0,p0=e[d0>>2]|0,b0=(I0|0)<(p0|0),b0)D=K,w0=I0;else break}C=R0}function sb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0;l2=C,H2(o,5653314,24),p=e[t>>2]|0,H2(o,p,16),I=t+4|0,V=e[I>>2]|0,H2(o,V,24),h0=e[I>>2]|0,r0=(h0|0)>1;e:do if(r0)for(x0=t+8|0,M0=e[x0>>2]|0,g=f[M0>>0]|0,L0=g,O1=1;;){if(X0=L0<<24>>24==0,X0){e2=O1;break e}if(b1=M0+O1|0,E=f[b1>>0]|0,_=E<<24>>24>24,_){e2=O1;break e}if(Q=O1+1|0,x=(Q|0)<(h0|0),x)L0=E,O1=Q;else{e2=Q;break}}else e2=1;while(!1);R=(e2|0)==(h0|0);e:do if(R){if(H2(o,1,1),L=t+8|0,F=e[L>>2]|0,N=f[F>>0]|0,O=N<<24>>24,H=O+-1|0,H2(o,H,5),J=e[I>>2]|0,t0=(J|0)>1,t0)for(w=J,H1=0,Z1=1;;){if(Z=e[L>>2]|0,A0=Z+Z1|0,j=f[A0>>0]|0,n0=Z1+-1|0,s0=Z+n0|0,K=f[s0>>0]|0,o0=j<<24>>24>K<<24>>24,o0)for(Y=K<<24>>24,i0=j<<24>>24,c0=w,V1=H1,c2=Y;;)if(e0=Z1-V1|0,u0=c0-V1|0,$0=V8(u0)|0,H2(o,e0,$0),l0=c2+1|0,s2=(l0|0)==(i0|0),d=e[I>>2]|0,s2){g0=d,Y1=Z1;break}else c0=d,V1=Z1,c2=l0;else g0=w,Y1=H1;if(X=Z1+1|0,m0=(X|0)<(g0|0),m0)w=g0,H1=Y1,Z1=X;else{$=g0,q1=Y1,h2=X;break}}else $=J,q1=0,h2=1;I0=h2-q1|0,d0=$-q1|0,p0=V8(d0)|0,H2(o,I0,p0)}else{H2(o,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(o,0,1),v0=e[I>>2]|0,N0=(v0|0)>0,!N0)break;for(U0=t+8|0,C2=0;;)if(O0=e[U0>>2]|0,H0=O0+C2|0,S0=f[H0>>0]|0,J0=S0<<24>>24,T0=J0+-1|0,H2(o,T0,5),P0=C2+1|0,W0=e[I>>2]|0,K0=(P0|0)<(W0|0),K0)C2=P0;else break e}if(H2(o,1,1),V0=e[I>>2]|0,j0=(V0|0)>0,j0)for(q0=t+8|0,$2=0;Y0=e[q0>>2]|0,s1=Y0+$2|0,z0=f[s1>>0]|0,n1=z0<<24>>24==0,n1?H2(o,0,1):(H2(o,1,1),o1=e[q0>>2]|0,d1=o1+$2|0,u1=f[d1>>0]|0,p1=u1<<24>>24,f1=p1+-1|0,H2(o,f1,5)),h1=$2+1|0,A1=e[I>>2]|0,c1=(h1|0)<(A1|0),c1;)$2=h1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,H2(o,$1,4),B1=e[a1>>2]|0,(B1|0)==2|(B1|0)==1)o2=28;else if(B1|0)return a=-1,a|0;do if((o2|0)==28){if(m1=t+32|0,Q1=e[m1>>2]|0,C1=(Q1|0)==0,C1)return a=-1,a|0;if(y1=t+16|0,v1=e[y1>>2]|0,H2(o,v1,32),k1=t+20|0,S1=e[k1>>2]|0,H2(o,S1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,H2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,H2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=rD(t)|0,g2=D1;else if((U1|0)==2)P1=e[I>>2]|0,X1=e[t>>2]|0,G1=o5(X1,P1)|0,g2=G1;else break;if(x1=(g2|0)>0,x1)for(W1=0;K1=e[m1>>2]|0,y=K1+(W1<<2)|0,B=e[y>>2]|0,f2=(B|0)>-1,r2=0-B|0,b=f2?B:r2,D=e[L1>>2]|0,H2(o,b,D),k=W1+1|0,t2=(k|0)==(g2|0),!t2;)W1=k}while(!1);return a=0,a|0}function Ou(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0;return t0=C,g=(o|0)<0,g||(d=t+12|0,Q=e[d>>2]|0,R=Q+4|0,L=e[R>>2]|0,F=(L|0)>(o|0),!F)?($=0,$|0):(N=t+20|0,O=e[N>>2]|0,H=O+(o<<2)|0,V=e[H>>2]|0,p=Q+8|0,I=e[p>>2]|0,E=I+o|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,w=k+o|0,_=f[w>>0]|0,x=_<<24>>24,$=x,$|0)}function $E(t,o){t=t|0,o=o|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=qu(t,o)|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 ab(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0;if(r0=C,E=t+8|0,y=e[E>>2]|0,F=(y|0)>0,!F)return g=0,C=r0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,Y=o0<<2,d=Y,h0=C,C=C+((1*d|0)+15&-16)|0,i0=(o0|0)>0;e:do if(i0){for(e0=t+16|0,l0=0;;){if(H=qu(t,a)|0,V=(H|0)==-1,V){g=-1;break}if(J=e[e0>>2]|0,t0=e[t>>2]|0,Z=o5(t0,H)|0,A0=J+(Z<<2)|0,j=h0+(l0<<2)|0,e[j>>2]=A0,n0=l0+1|0,K=(n0|0)<(o0|0),K)l0=n0;else{u0=t0;break e}}return C=r0,g|0}else u0=s0;while(!1);if(p=(u0|0)<1,I=i0^1,c0=p|I,c0)return g=0,C=r0,g|0;for(X=0,g0=0;;){for(m0=0;k=h0+(m0<<2)|0,w=e[k>>2]|0,_=w+(X<<2)|0,Q=+s[_>>2],x=m0+g0|0,R=o+(x<<2)|0,L=+s[R>>2],N=L+Q,s[R>>2]=N,O=m0+1|0,$0=(O|0)==(o0|0),!$0;)m0=O;if(B=X+1|0,b=g0+o0|0,D=(B|0)<(u0|0),D)X=B,g0=b;else{g=0;break}}return C=r0,g|0}function Ab(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=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,T0=(B0|0)>8,T0){if(M1=($|0)>0,!M1)return g=0,g|0;for(K1=t+16|0,i2=0;;){if(i0=qu(t,a)|0,e0=(i0|0)==-1,e0){g=-1,N1=29;break}if(u0=e[K1>>2]|0,c0=e[t>>2]|0,$0=o5(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=u0+(t0<<2)|0,r0=+s[g0>>2],d0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],b0=C0+r0,s[p0>>2]=b0,y0=(m0|0)<(c0|0),y0;)m2=d0,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(n1=t+16|0,$1=($|0)>0,$1)n2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(K=qu(t,a)|0,o0=(K|0)==-1,o0){g=-1,N1=29;break e}switch(Y=e[n1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=K,Q=Y,N1=19;break t}case 3:{b=K,x=Y,N1=21;break t}case 7:{I=K,k=Y,N1=13;break t}case 6:{E=K,w=Y,N1=15;break t}case 8:{d=Y,p=K,N1=12;break t}case 5:{y=K,_=Y,N1=17;break t}case 1:{W1=K,c2=Y,O2=n2,A5=0;break t}case 2:{D=K,R=Y,N1=23;break t}default:}}if((N1|0)==12?(N1=0,D0=p<<3,E0=d+(D0<<2)|0,Q0=+s[E0>>2],w0=n2+1|0,x0=o+(n2<<2)|0,Z0=+s[x0>>2],R0=Z0+Q0,s[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=n2,W2=0,N1=14):(N1|0)==15?(N1=0,K0=E*6|0,j0=K0,Y0=w,D2=n2,q2=0,N1=16):(N1|0)==17?(N1=0,u1=y*5|0,f1=u1,A1=_,S2=n2,J2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,y1=Q1,k1=Q,y2=n2,U2=0,N1=20):(N1|0)==21?(N1=0,F1=b*3|0,D1=F1,X1=x,G2=n2,V2=0,N1=22):(N1|0)==23&&(N1=0,Y1=D<<1,s2=Y1,O1=R,M2=n2,Z2=0,N1=24),(N1|0)==14&&(N1=0,N0=W2+1|0,J=W2+U0|0,O0=H0+(J<<2)|0,S0=+s[O0>>2],J0=k2+1|0,M0=o+(k2<<2)|0,P0=+s[M0>>2],W0=P0+S0,s[M0>>2]=W0,j0=U0,Y0=H0,D2=J0,q2=N0,N1=16),(N1|0)==16&&(N1=0,V0=q2+1|0,V=q2+j0|0,q0=Y0+(V<<2)|0,s1=+s[q0>>2],z0=D2+1|0,L0=o+(D2<<2)|0,o1=+s[L0>>2],d1=o1+s1,s[L0>>2]=d1,f1=j0,A1=Y0,S2=z0,J2=V0,N1=18),(N1|0)==18&&(N1=0,p1=J2+1|0,H=J2+f1|0,h1=A1+(H<<2)|0,c1=+s[h1>>2],a1=S2+1|0,X0=o+(S2<<2)|0,B1=+s[X0>>2],m1=B1+c1,s[X0>>2]=m1,y1=f1,k1=A1,y2=a1,U2=p1,N1=20),(N1|0)==20&&(N1=0,C1=U2+1|0,O=U2+y1|0,v1=k1+(O<<2)|0,S1=+s[v1>>2],L1=y2+1|0,b1=o+(y2<<2)|0,_1=+s[b1>>2],R1=_1+S1,s[b1>>2]=R1,D1=y1,X1=k1,G2=L1,V2=C1,N1=22),(N1|0)==22&&(N1=0,U1=V2+1|0,N=V2+D1|0,P1=X1+(N<<2)|0,G1=+s[P1>>2],x1=G2+1|0,q1=o+(G2<<2)|0,H1=+s[q1>>2],V1=H1+G1,s[q1>>2]=V1,s2=D1,O1=X1,M2=x1,Z2=U1,N1=24),(N1|0)==24&&(N1=0,t2=Z2+1|0,F=Z2+s2|0,e2=O1+(F<<2)|0,h2=+s[e2>>2],Z1=M2+1|0,A2=o+(M2<<2)|0,C2=+s[A2>>2],$2=C2+h2,s[A2>>2]=$2,W1=s2,c2=O1,O2=Z1,A5=t2),L=A5+W1|0,f2=c2+(L<<2)|0,r2=+s[f2>>2],g2=O2+1|0,o2=o+(O2<<2)|0,l2=+s[o2>>2],n0=l2+r2,s[o2>>2]=n0,s0=(g2|0)<($|0),s0)n2=g2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function $b(t,o,a,$,g,d){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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||(n0=(a|0)/($|0)&-1,s0=d+a|0,K=(s0|0)/($|0)&-1,o0=(n0|0)<(K|0),!o0))return I=0,I|0;for(Y=t+16|0,e0=0,$0=n0;;){if(i0=qu(t,g)|0,D=(i0|0)==-1,D){I=-1,g0=8;break}if(k=e[Y>>2]|0,w=e[t>>2]|0,_=o5(w,i0)|0,Q=(w|0)>0,Q)for(c0=e0,X=$0,m0=0;;)if(y=m0+_|0,x=k+(y<<2)|0,R=+s[x>>2],L=c0+1|0,F=o+(c0<<2)|0,N=e[F>>2]|0,H=N+(X<<2)|0,V=+s[H>>2],J=V+R,s[H>>2]=J,t0=(L|0)==($|0),Z=t0&1,E=Z+X|0,p=t0?0:L,A0=m0+1|0,j=(A0|0)<(w|0),j)c0=p,X=E,m0=A0;else{u0=p,l0=E;break}else u0=e0,l0=$0;if(h0=(l0|0)<(K|0),h0)e0=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function qu(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0;m1=C,g=t+40|0,d=e[g>>2]|0,Q=t+36|0,Z=e[Q>>2]|0,u0=LC(o,Z)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,K0=e[v0>>2]|0,d1=K0+(u0<<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,p1=D,h1=E;break}return k=u1+-1|0,w=t+28|0,_=e[w>>2]|0,x=_+k|0,R=f[x>>0]|0,L=R<<24>>24,MC(o,L),a=k,a|0}else F=t+8|0,N=e[F>>2]|0,p1=N,h1=0;while(!1);if(O=LC(o,d)|0,H=(O|0)<0,V=(d|0)>1,J=H&V,J)for(X0=d;;)if(t0=X0+-1|0,A0=LC(o,t0)|0,j=(A0|0)<0,n0=(t0|0)>1,s0=j&n0,s0)X0=t0;else{$=j,a1=A0,$1=t0;break}else $=H,a1=O,$1=d;if($)return a=-1,a|0;if(K=a1>>>16,o0=a1<<16,Y=K|o0,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,r0=I0>>>2,d0=r0&858993459,p0=I0<<2,b0=p0&-858993460,y0=d0|b0,D0=y0>>>1,E0=D0&1431655765,Q0=y0<<1,w0=Q0&-1431655766,B0=E0|w0,x0=p1-h1|0,Z0=(x0|0)>1,Z0)for(R0=t+20|0,N0=e[R0>>2]|0,O0=x0,f1=p1,c1=h1;;)if(U0=O0>>1,H0=U0+c1|0,S0=N0+(H0<<2)|0,J0=e[S0>>2]|0,T0=J0>>>0>B0>>>0,M0=T0?0:U0,P0=M0+c1|0,W0=T0?U0:0,V0=f1-W0|0,j0=V0-P0|0,q0=(j0|0)>1,q0)O0=j0,f1=V0,c1=P0;else{A1=P0;break}else A1=h1;return Y0=t+28|0,s1=e[Y0>>2]|0,z0=s1+A1|0,n1=f[z0>>0]|0,L0=n1<<24>>24,o1=(L0|0)>($1|0),o1?(MC(o,$1),a=-1,a|0):(MC(o,L0),a=A1,a|0)}function lb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0;for(d1=C,y=o+28|0,B=e[y>>2]|0,N=o+4|0,K=e[N>>2]|0,m0=t+4|0,e[m0>>2]=128,Q0=t+8|0,e[Q0>>2]=64,S0=B+2932|0,K0=e[S0>>2]|0,V0=t+12|0,e[V0>>2]=K0,e[t>>2]=K,j0=t+164|0,e[j0>>2]=128,b=B+4|0,D=e[b>>2]|0,k=(D|0)/2&-1,w=t+176|0,e[w>>2]=k,_=ce(128,4)|0,Q=t+36|0,e[Q>>2]=_,x=t+16|0,TC(x,128),R=e[Q>>2]|0,z0=0;L=+(z0|0),F=L*.024736950028266088,O=+Vr(+F),H=O,V=R+(z0<<2)|0,J=H*H,s[V>>2]=J,t0=z0+1|0,s1=(t0|0)==128,!s1;)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,n0=t+60|0,e[n0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>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,u0=t+120|0,e[u0>>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=R9(X)|0,r0=((t+40|0)+(L0<<4)|0)+8|0,e[r0>>2]=I0,d0=(g0|0)>0,d0){for(p0=+(g0|0),C0=((t+40|0)+(L0<<4)|0)+12|0,E=+s[C0>>2],R0=E,n1=0;;)if(b0=+(n1|0),y0=b0+.5,D0=y0/p0,E0=D0*3.141592653589793,w0=+Vr(+E0),B0=w0,x0=I0+(n1<<2)|0,s[x0>>2]=B0,Z0=R0+B0,v0=n1+1|0,q0=(v0|0)==(g0|0),q0){a=Z0;break}else R0=Z0,n1=v0;s[C0>>2]=a,p=C0,U0=a}else g=((t+40|0)+(L0<<4)|0)+12|0,I=+s[g>>2],p=g,U0=I;if(N0=1/U0,s[p>>2]=N0,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=K*7|0,J0=ce(H0,144)|0,T0=t+152|0,e[T0>>2]=J0,M0=e[j0>>2]|0,P0=ce(M0,4)|0,W0=t+160|0,e[W0>>2]=P0}function cb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0;H=C,o=t+16|0,NC(o),a=t+48|0,k=e[a>>2]|0,E2(k),_=t+64|0,Q=e[_>>2]|0,E2(Q),x=t+80|0,R=e[x>>2]|0,E2(R),L=t+96|0,F=e[L>>2]|0,E2(F),N=t+112|0,$=e[N>>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,w=e[D>>2]|0,E2(w),g4(t|0,0,180)|0}function gb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0;if(t2=C,d=t+4|0,p=e[d>>2]|0,F=p+28|0,s0=e[F>>2]|0,X=s0+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,w=e[k>>2]|0,_=(w|0)/(b|0)&-1,Q=_+-4|0,x=(D|0)<0,o=x?0:D,R=_+2|0,L=Y0+164|0,N=e[L>>2]|0,O=(R|0)>(N|0),O&&(e[L>>2]=R,H=Y0+160|0,V=e[H>>2]|0,J=R<<2,t0=W7(V,J)|0,e[H>>2]=t0),Z=(o|0)<(Q|0),Z)for(A0=Y0+156|0,j=Y0+160|0,n0=t+8|0,K=Y0+40|0,o0=Y0+152|0,x1=o;;){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,u0=(e0|0)>0,u0){for(G1=0,V1=0;;)if(m0=e[n0>>2]|0,g0=m0+(G1<<2)|0,I0=e[g0>>2]|0,r0=e[I>>2]|0,d0=o5(r0,x1)|0,p0=I0+(d0<<2)|0,C0=e[o0>>2]|0,b0=G1*7|0,y0=C0+(b0*144|0)|0,D0=db(Y0,X,p0,K,y0)|0,Q0=D0|V1,w0=G1+1|0,B0=e[Y0>>2]|0,x0=(w0|0)<(B0|0),x0)G1=w0,V1=Q0;else{g=Q0;break}Z0=x1+2|0,R0=e[j>>2]|0,v0=R0+(Z0<<2)|0,e[v0>>2]=0,N0=g&1,U0=(N0|0)==0,U0||(O0=R0+(x1<<2)|0,e[O0>>2]=1,S0=x1+1|0,J0=R0+(S0<<2)|0,e[J0>>2]=1),T0=g&2,M0=(T0|0)==0,M0||(P0=R0+(x1<<2)|0,e[P0>>2]=1,W0=(x1|0)>0,W0&&(K0=x1+-1|0,V0=R0+(K0<<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(s1=x1+1|0,X1=(s1|0)==(Q|0),X1)break;x1=s1}if(z0=e[I>>2]|0,n1=o5(z0,Q)|0,e[A1>>2]=n1,L0=t+48|0,o1=e[L0>>2]|0,d1=t+40|0,u1=e[d1>>2]|0,p1=s0+(u1<<2)|0,f1=e[p1>>2]|0,h1=(f1|0)/4&-1,c1=h1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,X0=($1|0)/2&-1,B1=c1+X0|0,m1=e[s0>>2]|0,Q1=(m1|0)/4&-1,C1=B1+Q1|0,y1=Y0+176|0,v1=e[y1>>2]|0,S1=n1-z0|0,L1=(v1|0)<(S1|0),!L1)return a=-1,a|0;for(M1=Y0+160|0,K1=v1;;){if(R1=(K1|0)<(C1|0),!R1){a=1,Y1=22;break}if(e[y1>>2]=K1,F1=(K1|0)/(z0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,y=(K1|0)>(o1|0),H1=y&E,b1=z0+K1|0,H1){q1=K1,Y1=21;break}if(_1=(b1|0)<(S1|0),_1)K1=b1;else{a=-1,Y1=22;break}}return(Y1|0)==21?(B=Y0+172|0,e[B>>2]=q1,a=0,a|0):(Y1|0)==22?a|0:0}function ub(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,u0=e[Z>>2]|0,g0=u0+28|0,I0=e[g0>>2]|0,r0=t+48|0,d0=e[r0>>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=d0-y|0,b=y+d0|0,D=(p|0)==0,D?(V=e[I0>>2]|0,J=(V|0)/4&-1,a=J,$=J):(k=t+36|0,w=e[k>>2]|0,_=I0+(w<<2)|0,x=e[_>>2]|0,R=(x|0)/4&-1,L=t+44|0,F=e[L>>2]|0,N=I0+(F<<2)|0,O=e[N>>2]|0,H=(O|0)/4&-1,a=H,$=R),C0=B-$|0,b0=b+a|0,t0=Q+172|0,A0=e[t0>>2]|0,j=(A0|0)>=(C0|0),n0=(A0|0)<(b0|0),D0=j&n0,D0)return o=1,o|0;if(s0=Q+8|0,K=e[s0>>2]|0,o0=(C0|0)/(K|0)&-1,Y=(b0|0)/(K|0)&-1,h0=(o0|0)<(Y|0),!h0)return o=0,o|0;for(i0=Q+160|0,e0=e[i0>>2]|0,y0=o0;;){if(l0=e0+(y0<<2)|0,X=e[l0>>2]|0,m0=(X|0)==0,c0=y0+1|0,!m0){o=1,E0=9;break}if($0=(c0|0)<(Y|0),$0)y0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function hb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0;if(V=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,Q=e[w>>2]|0,x=($|0)/(Q|0)&-1,R=x+2|0,L=(o|0)/(Q|0)&-1,F=t+160|0,N=e[F>>2]|0,O=N+(L<<2)|0,g=R-L|0,d=g<<2,lA(N|0,O|0,d|0)|0,p=e[a>>2]|0,I=p-o|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-o|0,e[D>>2]=_;return}b=y-o|0,e[E>>2]=b,D=t+176|0,k=e[D>>2]|0,_=k-o|0,e[D>>2]=_}function db(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=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,g2=t+12|0,G2=+s[g2>>2],Y2=A0<<2,x=Y2,b2=C,C=C+((1*x|0)+15&-16)|0,M5=t+156|0,d2=e[M5>>2]|0,T2=(d2|0)>5,G5=(d2|0)/2&-1,d=T2?G5:2,j=o+60|0,$0=+s[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(s2=t+36|0,c2=e[s2>>2]|0,Y5=0;o2=a+(Y5<<2)|0,l2=+s[o2>>2],i2=c2+(Y5<<2)|0,a2=+s[i2>>2],m2=a2*l2,n2=b2+(Y5<<2)|0,s[n2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(A0|0),!Q3;)Y5=k2;D2=t+16|0,Ly(D2,b2,b2),S2=+s[b2>>2],y2=S2*S2,M2=y2,O2=b2+4|0,p2=+s[O2>>2],W2=p2,q2=W2*W2,J2=q2*.7,U2=J2+M2,V2=b2+8|0,Z2=+s[V2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=U2+t5,i5=T5,x5=g+140|0,j2=e[x5>>2]|0,p5=(j2|0)==0,p5?(D5=g+136|0,V5=+s[D5>>2],u5=V5+i5,y5=g+132|0,s[y5>>2]=u5,s[D5>>2]=i5,O=y5,z2=u5):(s5=g+132|0,F2=+s[s5>>2],R2=F2+i5,s[s5>>2]=R2,Q2=g+136|0,Q5=+s[Q2>>2],N5=Q5+i5,s[Q2>>2]=N5,O=s5,z2=R2),E5=(g+72|0)+(j2<<2)|0,L5=+s[E5>>2],q5=z2-L5,s[O>>2]=q5,s[E5>>2]=i5,C5=e[x5>>2]|0,$5=C5+1|0,h5=(C5|0)>13,p=h5?0:$5,e[x5>>2]=p,w5=(A0|0)/2&-1,T1=(A0|0)>1;e:do if(T1)for(_5=z2*.0625,d5=(s[w2>>2]=_5,e[w2>>2]|0),l5=d5&2147483647,X2=+(l5>>>0),v5=X2*7177114298428933e-22,n5=v5+-764.6162109375,a5=n5,f5=a5*.5,K2=f5+-15,I5=K2,R=I5,N0=S2,b5=0;;){if(v0=N0*N0,O0=b5|1,H0=b2+(O0<<2)|0,S0=+s[H0>>2],J0=S0*S0,T0=J0+v0,M0=(s[w2>>2]=T0,e[w2>>2]|0),P0=M0&2147483647,W0=+(P0>>>0),K0=W0*35885571492144663e-23,V0=K0+-382.30810546875,q0=V0>1,z0=b2+(s1<<2)|0,s[z0>>2]=t0,n1=b5+2|0,L0=(n1|0)<(w5|0),!L0)break e;o1=R+-8,F=b2+(n1<<2)|0,N=+s[F>>2],R=o1,N0=N,b5=n1}while(!1);if(r5=(d|0)>0,r5)l3=0,z3=0;else{for(r3=0,n6=0;;){if(d1=($+(r3<<4)|0)+4|0,u1=e[d1>>2]|0,p1=(u1|0)>0,p1)for(h1=$+(r3<<4)|0,A1=e[h1>>2]|0,c1=($+(r3<<4)|0)+8|0,a1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,X0=b2+($1<<2)|0,B1=+s[X0>>2],m1=a1+(Y3<<2)|0,Q1=+s[m1>>2],C1=Q1*B1,v1=C1+c3,k1=Y3+1|0,S1=(k1|0)<(u1|0),S1)c3=v1,Y3=k1;else{G3=v1;break}else G3=0;if(L1=($+(r3<<4)|0)+12|0,M1=+s[L1>>2],b1=M1*G3,_1=(g+(r3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,y=F1?16:-1,I=y+R1|0,U1=(g+(r3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],X1=b1P1,b=x1?P1:b1,K1=b+-99999,q1=G1+99999,H1=(g+(r3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,V1=e[_1>>2]|0,Y1=V1+1|0,t2=(V1|0)>15,_=t2?0:Y1,e[_1>>2]=_,e2=(o+4|0)+(r3<<2)|0,O1=+s[e2>>2],h2=O1+b3,Z1=q1>h2,I2=n6|5,j5=Z1?I2:n6,A2=(o+32|0)+(r3<<2)|0,C2=+s[A2>>2],$2=C2-b3,W1=K1<$2,f2=j5|2,h3=W1?f2:j5,r2=r3+1|0,u3=(r2|0)==7,u3){A6=h3;break}else r3=r2,n6=h3}return C=m3,A6|0}for(;;){if(R5=($+(l3<<4)|0)+4|0,e5=e[R5>>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(u0=c0+U5|0,l0=b2+(u0<<2)|0,X=+s[l0>>2],m0=g0+(U5<<2)|0,I0=+s[m0>>2],r0=I0*X,d0=r0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=d0,U5=p0;else{V3=d0;break}else V3=0;for(E0=($+(l3<<4)|0)+12|0,Q0=+s[E0>>2],d3=Q0*V3,n3=(g+(l3*144|0)|0)+68|0,I3=e[n3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,x0=+s[B0>>2],Z0=d3x0,D=R0?x0:d3,l6=0,U3=E,L3=-99999,D3=99999;;)if(s0=(U3|0)<1,w=s0?16:-1,k=w+U3|0,K=(g+(l3*144|0)|0)+(k<<2)|0,o0=+s[K>>2],Y=L3o0,H=i0?o0:D3,e0=l6+1|0,J5=(e0|0)==(d|0),J5){L=h0,V=H;break}else l6=e0,U3=k,L3=h0,D3=H;if(k5=D-V,z5=i3-L,B5=(g+(l3*144|0)|0)+(I3<<2)|0,s[B5>>2]=d3,W5=e[n3>>2]|0,a3=W5+1|0,y3=(W5|0)>15,Q=y3?0:a3,e[n3>>2]=Q,Z5=(o+4|0)+(l3<<2)|0,x3=+s[Z5>>2],f3=x3+b3,w3=z5>f3,e6=z3|5,M3=w3?e6:z3,H3=(o+32|0)+(l3<<2)|0,X5=+s[H3>>2],_3=X5-b3,t3=k5<_3,a6=M3|2,J3=t3?a6:M3,n0=l3+1|0,H5=(n0|0)==7,H5){A6=J3;break}else l3=n0,z3=J3}return C=m3,A6|0}function al(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=0,N8=0;if(Ae=C,C=C+4912|0,z6=Ae+1328|0,be=Ae+1064|0,me=Ae+804|0,Pt=Ae+544|0,F4=Ae+284|0,t8=Ae+24|0,$8=Ae+20|0,Zt=Ae+16|0,Ot=Ae+12|0,qt=Ae+8|0,T4=Ae+4|0,st=Ae,A0=o+1296|0,j=e[A0>>2]|0,y2=o+1288|0,r6=e[y2>>2]|0,O3=o+1284|0,w6=e[O3>>2]|0,v9=(w6|0)>0,v9){for(mt=0;r4=be+(mt<<2)|0,e[r4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(w6|0),!S4;)mt=k4;if(v9){for(Z3=0;Be=me+(Z3<<2)|0,e[Be>>2]=-200,n0=Z3+1|0,Ie=(n0|0)==(w6|0),!Ie;)Z3=n0;if(v9){for(l0=w6<<2,g4(Pt|0,0,l0|0)|0,x9=0;D0=F4+(x9<<2)|0,e[D0>>2]=1,O0=x9+1|0,z4=(O0|0)==(w6|0),!z4;)x9=O0;if(v9){if(h1=w6<<2,g4(t8|0,-1,h1|0)|0,v1=(w6|0)>1,!v1)return A4=0,C=Ae,A4|0;for(P1=r6+-1|0,e2=j+1112|0,r2=w6+-1|0,N=e[o>>2]|0,ke=N,b9=0,b4=0;;){Re=b9+1|0,Fe=o+(Re<<2)|0,Ue=e[Fe>>2]|0,He=z6+(b9*56|0)|0,O4=He,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[He>>2]=ke,Ve=(z6+(b9*56|0)|0)+4|0,e[Ve>>2]=Ue,J9=(Ue|0)<(r6|0),s8=J9?Ue:P1,Ye=(s8|0)<(ke|0),Ye)_t=0,r8=0,Mt=0,Rt=0,yt=0,P4=0,a8=0,j9=0,jt=0,Tt=0,Z8=0,j8=0;else for(xe=ke,pt=0,J4=0,We=0,se=0,D4=0,gt=0,C3=0,T9=0,ht=0,D9=0,u8=0,Nt=0;;){de=$+(xe<<2)|0,J=+s[de>>2],Pe=J*7.314285755157471,Ce=Pe+1023.5,v4=~~Ce,Z9=(v4|0)>1023,k9=(v4|0)<0,p=k9?0:v4,b=Z9?1023:p,V4=(b|0)==0;do if(V4)Jt=pt,at=J4,$t=We,Bt=se,W4=D4,De=gt,wt=C3,Wt=T9,je=ht,et=D9,c4=u8,Xt=Nt;else if(rt=a+(xe<<2)|0,ze=+s[rt>>2],Y4=+s[e2>>2],Je=Y4+ze,o4=!(Je>=J),o4){h4=xe+gt|0,oe=b+Nt|0,d4=o5(xe,xe)|0,f4=d4+se|0,Se=o5(b,b)|0,s0=Se+D9|0,K=o5(b,xe)|0,o0=K+T9|0,Y=J4+1|0,Jt=pt,at=Y,$t=We,Bt=f4,W4=D4,De=h4,wt=C3,Wt=o0,je=ht,et=s0,c4=u8,Xt=oe;break}else{R4=xe+D4|0,ot=b+u8|0,re=o5(xe,xe)|0,u4=re+We|0,T6=o5(b,b)|0,Ke=T6+ht|0,O9=o5(b,xe)|0,fe=O9+C3|0,Te=pt+1|0,Jt=Te,at=J4,$t=u4,Bt=se,W4=R4,De=gt,wt=fe,Wt=T9,je=Ke,et=D9,c4=ot,Xt=Nt;break}while(!1);if(h0=xe+1|0,i0=(xe|0)<(s8|0),i0)xe=h0,pt=Jt,J4=at,We=$t,se=Bt,D4=W4,gt=De,C3=wt,T9=Wt,ht=je,D9=et,u8=c4,Nt=Xt;else{_t=Jt,r8=at,Mt=$t,Rt=Bt,yt=W4,P4=De,a8=wt,j9=Wt,jt=je,Tt=et,Z8=c4,j8=Xt;break}}if(e0=(z6+(b9*56|0)|0)+8|0,e[e0>>2]=yt,u0=(z6+(b9*56|0)|0)+12|0,e[u0>>2]=Z8,c0=(z6+(b9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(b9*56|0)|0)+20|0,e[$0>>2]=jt,X=(z6+(b9*56|0)|0)+24|0,e[X>>2]=a8,m0=(z6+(b9*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(b9*56|0)|0)+32|0,e[g0>>2]=P4,I0=(z6+(b9*56|0)|0)+36|0,e[I0>>2]=j8,r0=(z6+(b9*56|0)|0)+40|0,e[r0>>2]=Rt,d0=(z6+(b9*56|0)|0)+44|0,e[d0>>2]=Tt,p0=(z6+(b9*56|0)|0)+48|0,e[p0>>2]=j9,C0=(z6+(b9*56|0)|0)+52|0,e[C0>>2]=r8,b0=_t+b4|0,I6=(Re|0)==(r2|0),I6){E8=b0;break}else ke=Ue,b9=Re,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=Ae,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]=r6,Y2=(r6|0)<1,Y2)Yt=0,n8=0,Kt=0,Ct=0,ct=0,ae=0,Qt=0,$4=0,l8=0,c8=0,Y8=0,z8=0;else for(b2=j+1112|0,pe=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,Ze=0,l4=0,ut=0,X4=0,R8=0,dt=0;;){M5=$+(pe<<2)|0,V=+s[M5>>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,z3=(B|0)==0;do if(z3)zt=xt,G4=Et,U4=At,lt=m4,K4=p4,_4=E4,Z4=Ze,j4=l4,Ft=ut,g8=X4,F8=R8,T8=dt;else if(f6=a+(pe<<2)|0,W3=+s[f6>>2],$6=+s[b2>>2],g9=$6+W3,U6=!(g9>=V),U6){B9=pe+E4|0,y9=B+dt|0,Q9=o5(pe,pe)|0,d9=Q9+m4|0,f9=o5(B,B)|0,V9=f9+X4|0,q6=o5(B,pe)|0,a9=q6+l4|0,Y9=Et+1|0,zt=xt,G4=Y9,U4=At,lt=d9,K4=p4,_4=B9,Z4=Ze,j4=a9,Ft=ut,g8=V9,F8=R8,T8=y9;break}else{Y6=pe+p4|0,F6=B+R8|0,t9=o5(pe,pe)|0,_6=t9+At|0,P6=o5(B,B)|0,O6=P6+ut|0,s9=o5(B,pe)|0,h9=s9+Ze|0,r9=xt+1|0,zt=r9,G4=Et,U4=_6,lt=m4,K4=Y6,_4=E4,Z4=h9,j4=l4,Ft=O6,g8=X4,F8=F6,T8=dt;break}while(!1);if(w9=pe+1|0,S9=(w9|0)==(r6|0),S9){Yt=zt,n8=G4,Kt=U4,Ct=lt,ct=K4,ae=_4,Qt=Z4,$4=j4,l8=Ft,c8=g8,Y8=F8,z8=T8;break}else pe=w9,xt=zt,Et=G4,At=U4,m4=lt,p4=K4,E4=_4,Ze=Z4,l4=j4,ut=Ft,X4=g8,R8=F8,dt=T8}we=z6+8|0,e[we>>2]=ct,ue=z6+12|0,e[ue>>2]=Y8,Ee=z6+16|0,e[Ee>>2]=Kt,z9=z6+20|0,e[z9>>2]=l8,ne=z6+24|0,e[ne>>2]=Qt,F9=z6+28|0,e[F9>>2]=Yt,K6=z6+32|0,e[K6>>2]=ae,A9=z6+36|0,e[A9>>2]=z8,ve=z6+40|0,e[ve>>2]=Ct,Me=z6+44|0,e[Me>>2]=c8,he=z6+48|0,e[he>>2]=$4,_9=z6+52|0,e[_9>>2]=n8,E8=Yt}if(y0=(E8|0)==0,y0)return A4=0,C=Ae,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=w6+-1|0,RC(z6,E0,$8,Zt,j)|0,Q0=e[$8>>2]|0,e[be>>2]=Q0,e[me>>2]=Q0,w0=e[Zt>>2]|0,B0=me+4|0,e[B0>>2]=w0,x0=be+4|0,e[x0>>2]=w0,Z0=(w6|0)>2;do if(Z0){R0=j+1112|0,v0=j+1096|0,N0=j+1100|0,U0=j+1104|0,qe=2;e:for(;;){H0=(o+520|0)+(qe<<2)|0,S0=e[H0>>2]|0,J0=Pt+(S0<<2)|0,T0=e[J0>>2]|0,M0=F4+(S0<<2)|0,P0=e[M0>>2]|0,W0=t8+(T0<<2)|0,K0=e[W0>>2]|0,V0=(K0|0)==(P0|0);t:do if(!V0){if(j0=(o+520|0)+(T0<<2)|0,Y0=e[j0>>2]|0,s1=(o+520|0)+(P0<<2)|0,z0=e[s1>>2]|0,e[W0>>2]=P0,n1=(j+836|0)+(T0<<2)|0,L0=e[n1>>2]|0,o1=(j+836|0)+(P0<<2)|0,d1=e[o1>>2]|0,u1=be+(T0<<2)|0,p1=e[u1>>2]|0,f1=(p1|0)<0,A1=me+(T0<<2)|0,c1=e[A1>>2]|0,f1?w=c1:(a1=(c1|0)<0,a1?w=p1:($1=c1+p1|0,X0=$1>>1,w=X0)),B1=be+(P0<<2)|0,m1=e[B1>>2]|0,Q1=(m1|0)<0,C1=me+(P0<<2)|0,y1=e[C1>>2]|0,Q1?Q=y1:(k1=(y1|0)<0,k1?Q=m1:(S1=y1+m1|0,L1=S1>>1,Q=L1)),M1=(w|0)==-1,b1=(Q|0)==-1,L8=M1|b1,L8){C4=38;break e}_1=Q-w|0,R1=d1-L0|0,N4=(_1|0)>-1,L9=0-_1|0,F1=N4?_1:L9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,X1=D1|1,G1=$+(L0<<2)|0,Z=+s[G1>>2],x1=Z*7.314285755157471,K1=x1+1023.5,q1=~~K1,H1=(q1|0)>1023,V1=(q1|0)<0,I=V1?0:q1,D=H1?1023:I,Y1=o5(U1,R1)|0,f8=(Y1|0)>-1,p8=0-Y1|0,t2=f8?Y1:p8,s2=F1-t2|0,O1=w-D|0,h2=o5(O1,O1)|0,Z1=a+(L0<<2)|0,I2=+s[Z1>>2],A2=+s[R0>>2],C2=A2+I2,$2=!(C2>=Z),$2?C4=42:(W1=+(w|0),f2=+s[v0>>2],c2=f2+W1,g2=+(D|0),o2=c2>2],i2=W1-l2,a2=i2>g2,a2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=L0+1|0,n2=(m2|0)<(d1|0),n2)for(p2=m2,s4=0,x8=h2,Vt=1,C8=w;;){if(k2=s4+s2|0,D2=(k2|0)<(R1|0),S2=D2?0:X1,M2=D2?0:R1,Oe=k2-M2|0,F=C8+U1|0,A8=F+S2|0,O2=$+(p2<<2)|0,t0=+s[O2>>2],W2=t0*7.314285755157471,q2=W2+1023.5,J2=~~q2,U2=(J2|0)>1023,V2=(J2|0)<0,E=V2?0:J2,_=U2?1023:E,Z2=A8-_|0,A5=o5(Z2,Z2)|0,N1=A5+x8|0,t5=Vt+1|0,T5=a+(p2<<2)|0,i5=+s[T5>>2],x5=i5+A2,j2=x5>=t0,p5=(_|0)!=0,o8=j2&p5,o8&&(D5=+(A8|0),V5=+s[v0>>2],u5=V5+D5,y5=+(_|0),s5=u5>2],R2=D5-F2,Q2=R2>y5,Q2)))break i;if(Q5=p2+1|0,N5=(Q5|0)<(d1|0),N5)p2=Q5,s4=Oe,x8=N1,Vt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=h2,Ht=1;if(E5=+s[v0>>2],L5=E5*E5,q5=+(Ht|0),z2=L5/q5,C5=+s[U0>>2],$5=z2>C5,!$5&&(h5=+s[N0>>2],w5=h5*h5,T1=w5/q5,_5=T1>C5,!_5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),X2=l5>C5,X2)))break;g3=be+(qe<<2)|0,e[g3>>2]=-200,u3=me+(qe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,v5=z6+(Y0*56|0)|0,n5=S0-Y0|0,a5=RC(v5,n5,Ot,qt,j)|0,f5=z6+(S0*56|0)|0,K2=z0-S0|0,I5=RC(f5,K2,T4,st,j)|0,r5=(a5|0)!=0,r5&&(e[Ot>>2]=w,R5=e[T4>>2]|0,e[qt>>2]=R5),e5=(I5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=Q,r5)){k5=be+(qe<<2)|0,e[k5>>2]=-200,z5=me+(qe<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,B5=(T0|0)==0,B5&&(e[be>>2]=i3),I3=e[qt>>2]|0,d3=be+(qe<<2)|0,e[d3>>2]=I3,W5=e[T4>>2]|0,n3=me+(qe<<2)|0,e[n3>>2]=W5,a3=e[st>>2]|0,e[B1>>2]=a3,y3=(P0|0)==1,y3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(S0|0)>0;i:do if(f3)for(e8=S0;;){if(_8=e8+-1|0,e6=F4+(_8<<2)|0,H3=e[e6>>2]|0,X5=(H3|0)==(P0|0),!X5)break i;if(e[e6>>2]=qe,_3=(e8|0)>1,_3)e8=_8;else break}while(!1);if(m8=S0+1|0,w3=(m8|0)<(w6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,a6=e[t3>>2]|0,V3=(a6|0)==(T0|0),!V3)break t;if(e[t3>>2]=qe,I8=Ut+1|0,c3=(I8|0)<(w6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=qe+1|0,J5=(Q3|0)<(w6|0),J5)qe=Q3;else{C4=68;break}}if((C4|0)==38)TS(1);else if((C4|0)==68){O=e[be>>2]|0,H=e[me>>2]|0,b5=O,l6=H;break}}else b5=Q0,l6=Q0;while(!1);if(H5=w6<<2,Y5=W8(t,H5)|0,Y3=(b5|0)<0,Y3?k=l6:(r3=(l6|0)<0,r3?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,n6=A6>>1,R=n6)),j5=Y5+4|0,e[j5>>2]=R,Z0)a4=2;else return A4=Y5,C=Ae,A4|0;for(;;)if(M3=a4+-2|0,h3=(o+1032|0)+(M3<<2)|0,J3=e[h3>>2]|0,d6=(o+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,v6=e[j6>>2]|0,R3=(j+836|0)+(a4<<2)|0,o6=e[R3>>2]|0,s6=N6&32767,B6=v6&32767,K3=B6-s6|0,F3=S6-L6|0,d8=(K3|0)>-1,Lt=0-K3|0,t6=d8?K3:Lt,R6=o6-L6|0,c6=o5(t6,R6)|0,o3=(c6|0)/(F3|0)&-1,J6=(K3|0)<0,A3=0-o3|0,L=J6?A3:o3,x=L+s6|0,g6=be+(a4<<2)|0,y6=e[g6>>2]|0,T3=(y6|0)<0,H6=me+(a4<<2)|0,D6=e[H6>>2]|0,T3?y=D6:(G6=(D6|0)<0,G6?y=y6:(e9=D6+y6|0,Q6=e9>>1,y=Q6)),X6=(y|0)<0,P3=(x|0)==(y|0),M8=X6|P3,n9=x|32768,g=M8?n9:y,V6=Y5+(a4<<2)|0,e[V6>>2]=g,o9=a4+1|0,I4=(o9|0)==(w6|0),I4){A4=Y5;break}else a4=o9;return C=Ae,A4|0}function Gt(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0;if(u0=C,d=o+1284|0,p=e[d>>2]|0,x=(a|0)!=0,t0=($|0)!=0,h0=x&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(n0=65536-g|0,Y=0;;)if(s0=a+(Y<<2)|0,K=e[s0>>2]|0,I=K&32767,E=o5(I,n0)|0,y=$+(Y<<2)|0,B=e[y>>2]|0,b=B&32767,D=o5(b,g)|0,k=E+32768|0,w=k+D|0,_=w>>16,Q=A0+(Y<<2)|0,e[Q>>2]=_,R=e[s0>>2]|0,L=R&32768,F=(L|0)==0,F||(N=e[y>>2]|0,O=N&32768,H=(O|0)==0,H||(V=_|32768,e[Q>>2]=V)),J=Y+1|0,o0=(J|0)==(p|0),o0){i0=A0;break}else Y=J;return i0|0}function fb(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=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=o+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,x=l3+2848|0,A0=e[x>>2]|0,c0=($|0)==0,c0)return H2(t,0,1),T5=o+36|0,i5=e[T5>>2]|0,x5=(i5|0)/2&-1,j2=x5<<2,g4(g|0,0,j2|0)|0,p=0,C=O6,p|0;if(b0=(F2|0)>0,b0)for(N0=Q+832|0,B6=0;V0=$+(B6<<2)|0,p1=e[V0>>2]|0,C1=p1&32767,U1=e[N0>>2]|0,(U1|0)==4?(Z2=C1>>>4,Y6=Z2):(U1|0)==1?(t2=C1>>>2,Y6=t2):(U1|0)==2?(c2=C1>>>3,Y6=c2):(U1|0)==3?(S2=(C1>>>0)/12&-1,Y6=S2):Y6=C1,p5=p1&32768,D5=p5|Y6,e[V0>>2]=D5,V5=B6+1|0,v6=(V5|0)==(F2|0),!v6;)B6=V5;if(u5=e[$>>2]|0,e[U6>>2]=u5,b2=$+4|0,y5=e[b2>>2]|0,s5=U6+4|0,e[s5>>2]=y5,R2=(F2|0)>2,Q2=a+1292|0,R2){for(K3=2;;){if(Q5=K3+-2|0,N5=(a+1032|0)+(Q5<<2)|0,E5=e[N5>>2]|0,L5=(a+780|0)+(Q5<<2)|0,q5=e[L5>>2]|0,M5=(Q+836|0)+(E5<<2)|0,z2=e[M5>>2]|0,C5=(Q+836|0)+(q5<<2)|0,h5=e[C5>>2]|0,w5=$+(E5<<2)|0,T1=e[w5>>2]|0,_5=$+(q5<<2)|0,d5=e[_5>>2]|0,l5=(Q+836|0)+(K3<<2)|0,X2=e[l5>>2]|0,d2=T1&32767,v5=d5&32767,n5=v5-d2|0,f5=h5-z2|0,W3=(n5|0)>-1,n9=0-n5|0,K2=W3?n5:n9,I5=X2-z2|0,r5=o5(K2,I5)|0,R5=(r5|0)/(f5|0)&-1,e5=(n5|0)<0,c5=0-R5|0,E=e5?c5:R5,I=E+d2|0,T2=$+(K3<<2)|0,k5=e[T2>>2]|0,z5=k5&32768,B5=(z5|0)!=0,I3=(k5|0)==(I|0),g9=B5|I3,g9)d3=I|32768,e[T2>>2]=d3,W5=U6+(K3<<2)|0,e[W5>>2]=0;else{n3=e[Q2>>2]|0,a3=n3-I|0,y3=(a3|0)<(I|0),d=y3?a3:I,G5=k5-I|0,Z5=(G5|0)<0;do if(Z5)if(x3=0-d|0,w3=(G5|0)<(x3|0),w3){e6=G5^-1,H3=d+e6|0,F6=H3;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);V3=U6+(K3<<2)|0,e[V3>>2]=F6,e[w5>>2]=d2,c3=e[_5>>2]|0,u3=c3&32767,e[_5>>2]=u3}if(Q3=K3+1|0,j6=(Q3|0)==(F2|0),j6)break;K3=Q3}b=e[U6>>2]|0,D=e[s5>>2]|0,A6=b,M3=D}else A6=u5,M3=y5;if(H2(t,1,1),J5=a+1308|0,H5=e[J5>>2]|0,Y5=H5+1|0,e[J5>>2]=Y5,b5=e[Q2>>2]|0,Y3=b5+-1|0,U5=V8(Y3)|0,l6=U5<<1,r3=a+1304|0,U3=e[r3>>2]|0,C6=U3+l6|0,e[r3>>2]=C6,b3=e[Q2>>2]|0,L3=b3+-1|0,D3=V8(L3)|0,H2(t,A6,D3),n6=e[Q2>>2]|0,z3=n6+-1|0,j5=V8(z3)|0,H2(t,M3,j5),R=e[Q>>2]|0,L=(R|0)>0,L)for(F=a+1300|0,F3=0,c6=2;;){if(N=(Q+4|0)+(F3<<2)|0,O=e[N>>2]|0,H=(Q+128|0)+(O<<2)|0,V=e[H>>2]|0,J=(Q+192|0)+(O<<2)|0,t0=e[J>>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,n0=(t0|0)==31,!n0)for(A3=0;d0=((Q+320|0)+(O<<5)|0)+(A3<<2)|0,p0=e[d0>>2]|0,C0=(p0|0)<0,C0?w=1:(y0=(l3+1824|0)+(p0<<2)|0,D0=e[y0>>2]|0,E0=D0+4|0,Q0=e[E0>>2]|0,w=Q0),w0=P3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,x0=(B0|0)<(Z|0),x0;)A3=B0;s0=(V|0)>0;e:do if(s0){if(n0)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(K=P3+(H6<<2)|0,o0=e[K>>2]|0,h0=(Y|0)<(o0|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,u0=h3+(y6<<2)|0,e[u0>>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,T0=A0+(J0*56|0)|0,M0=Ou(T0,m3,t)|0,P0=e[F>>2]|0,W0=P0+M0|0,e[F>>2]=W0}if(K0=(V|0)>0,K0)for(T3=0;j0=h3+(T3<<2)|0,q0=e[j0>>2]|0,Y0=((Q+320|0)+(O<<5)|0)+(q0<<2)|0,s1=e[Y0>>2]|0,z0=(s1|0)>-1,z0&&(n1=T3+c6|0,L0=U6+(n1<<2)|0,o1=e[L0>>2]|0,d1=(A0+(s1*56|0)|0)+4|0,u1=e[d1>>2]|0,f1=(o1|0)<(u1|0),f1&&(h1=A0+(s1*56|0)|0,A1=Ou(h1,o1,t)|0,c1=e[r3>>2]|0,a1=c1+A1|0,e[r3>>2]=a1)),$1=T3+1|0,b6=($1|0)==(V|0),!b6;)T3=$1;if(X0=V+c6|0,B1=F3+1|0,m1=e[Q>>2]|0,Q1=(B1|0)<(m1|0),Q1)F3=B1,c6=X0;else break}if(y1=e[$>>2]|0,v1=Q+832|0,k1=e[v1>>2]|0,S1=o5(k1,y1)|0,L1=o+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(o6=0,o3=1,D6=0,Q6=S1;;){if(K1=(a+260|0)+(o3<<2)|0,q1=e[K1>>2]|0,H1=$+(q1<<2)|0,V1=e[H1>>2]|0,Y1=V1&32767,s2=(Y1|0)==(V1|0),s2)if(e2=e[v1>>2]|0,O1=o5(e2,V1)|0,h2=(Q+836|0)+(q1<<2)|0,Z1=e[h2>>2]|0,I2=O1-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,r2=W1|1,g2=o5($2,A2)|0,R6=(g2|0)>-1,o9=0-g2|0,o2=R6?g2:o9,l2=C2-o2|0,i2=(R1|0)>(Z1|0),t9=i2?Z1:R1,a2=(t9|0)>(D6|0),a2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),n2=D6+1|0,k2=(n2|0)<(t9|0),k2)for(p2=n2,M6=0,_6=Q6;;)if(D2=M6+l2|0,y2=(D2|0)<(A2|0),G2=y2?0:r2,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)==(t9|0),f6){s6=Z1,G6=Z1,X6=O1;break}else p2=W2,M6=S6,_6=P6;else s6=Z1,G6=Z1,X6=O1;else s6=o6,G6=D6,X6=Q6;if(q2=o3+1|0,J2=e[f2>>2]|0,U2=(q2|0)<(J2|0),U2)o6=s6,o3=q2,D6=G6,Q6=X6;else{R3=s6,e9=X6;break}}else R3=0,e9=S1;if(P1=o+36|0,X1=e[P1>>2]|0,G1=(X1|0)/2&-1,x1=(R3|0)<(G1|0),x1)J6=R3;else return p=1,C=O6,p|0;for(;;)if(V2=g+(J6<<2)|0,e[V2>>2]=e9,A5=J6+1|0,Y2=e[P1>>2]|0,N1=(Y2|0)/2&-1,t5=(A5|0)<(N1|0),t5)J6=A5;else{p=1;break}return C=O6,p|0}function RC(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0;if(A5=C,y=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,y0=e[$0>>2]|0,U0=(o|0)>0,U0)for(j0=g+1108|0,f1=+s[j0>>2],r2=0,i2=0,m2=0,S2=0,O2=0,J2=0;;)if(y1=(t+(i2*56|0)|0)+52|0,D1=e[y1>>2]|0,s2=(t+(i2*56|0)|0)+28|0,b=e[s2>>2]|0,O=b+D1|0,K=+(O|0),o0=K*f1,Y=b+1|0,h0=+(Y|0),i0=o0/h0,e0=i0,u0=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),r0=I0*u0,d0=X+S2,p0=d0+r0,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*u0,x0=D0+J2,Z0=x0+B0,R0=(t+(i2*56|0)|0)+40|0,v0=e[R0>>2]|0,N0=+(v0|0),O0=(t+(i2*56|0)|0)+16|0,H0=e[O0>>2]|0,S0=+(H0|0),J0=S0*u0,T0=N0+m2,M0=T0+J0,P0=(t+(i2*56|0)|0)+48|0,W0=e[P0>>2]|0,K0=+(W0|0),V0=(t+(i2*56|0)|0)+24|0,q0=e[V0>>2]|0,Y0=+(q0|0),s1=Y0*u0,z0=K0+O2,n1=z0+s1,L0=+(D1|0),o1=+(b|0),d1=u0*o1,u1=L0+r2,p1=u1+d1,h1=i2+1|0,l2=(h1|0)==(o|0),l2){c2=p1,a2=M0,D2=p0,M2=n1,q2=Z0;break}else r2=p1,i2=h1,m2=M0,S2=p0,O2=n1,J2=Z0;else c2=0,a2=0,D2=0,M2=0,q2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(a1=+(y|0),$1=D2+a1,X0=+(A1|0),B1=X0+q2,m1=o5(y,y)|0,Q1=+(m1|0),C1=a2+Q1,v1=o5(A1,y)|0,k1=+(v1|0),S1=k1+M2,L1=c2+1,g2=L1,n2=C1,y2=$1,p2=S1,U2=B1):(g2=c2,n2=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),U1=F1+U2,P1=o5(y0,y0)|0,X1=+(P1|0),G1=n2+X1,x1=o5(M1,y0)|0,K1=+(x1|0),q1=K1+p2,H1=g2+1,o2=H1,k2=G1,G2=R1,W2=q1,V2=U1):(o2=g2,k2=n2,G2=y2,W2=p2,V2=U2),V1=k2*o2,Y1=G2*G2,t2=V1-Y1,e2=t2>0,e2?(O1=V2*k2,h2=G2*W2,Z1=O1-h2,I2=Z1/t2,A2=W2*o2,C2=G2*V2,$2=A2-C2,W1=$2/t2,f2=+(y|0),D=W1*f2,k=D+I2,w=+K7(k),_=~~w,e[a>>2]=_,Q=+(y0|0),x=W1*Q,R=x+I2,L=+K7(R),F=~~L,e[$>>2]=F,N=e[a>>2]|0,H=(N|0)>1023,H?(e[a>>2]=1023,p=e[$>>2]|0,V=p,n0=1023):(V=F,n0=N),J=(V|0)>1023,J?(e[$>>2]=1023,I=e[a>>2]|0,t0=I,s0=1023):(t0=n0,s0=V),Z=(t0|0)<0,Z?(e[a>>2]=0,E=e[$>>2]|0,A0=E):A0=s0,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 Ib(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=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(o,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(o,b,4),D=e[B>>2]|0,k=(z0|0)<(D|0),a=k?D:z0,w=W0+1|0,_=e[t>>2]|0,Q=(w|0)<(_|0),Q)W0=w,z0=a;else{$=a;break}if(H0=($|0)>-1,H0)for(S0=t+128|0,J0=t+192|0,E=t+256|0,y=t+320|0,K0=0;;){if(x=S0+(K0<<2)|0,L=e[x>>2]|0,F=L+-1|0,H2(o,F,3),N=J0+(K0<<2)|0,O=e[N>>2]|0,H2(o,O,2),H=e[N>>2]|0,V=(H|0)==0,V?(j0=0,n1=8):(J=E+(K0<<2)|0,t0=e[J>>2]|0,H2(o,t0,8),g=e[N>>2]|0,Z=(g|0)==31,Z||(j0=0,n1=8)),(n1|0)==8)for(;n1=0,A0=(y+(K0<<5)|0)+(j0<<2)|0,n0=e[A0>>2]|0,s0=n0+1|0,H2(o,s0,8),K=j0+1|0,o0=e[N>>2]|0,Y=1<>2]|0,c0=u0+-1|0,H2(o,c0,2),l0=R+-1|0,X=V8(l0)|0,H2(o,X,4),m0=V8(l0)|0,g0=e[t>>2]|0,I0=(g0|0)>0,!!I0)for(r0=t+4|0,d0=t+128|0,O0=g0,T0=0,V0=0,q0=0;;){if(p0=r0+(V0<<2)|0,C0=e[p0>>2]|0,b0=d0+(C0<<2)|0,D0=e[b0>>2]|0,E0=D0+T0|0,Q0=(q0|0)<(E0|0),Q0){for(s1=q0;w0=s1+2|0,B0=p+(w0<<2)|0,x0=e[B0>>2]|0,H2(o,x0,m0),Z0=s1+1|0,M0=(Z0|0)==(E0|0),!M0;)s1=Z0;d=e[t>>2]|0,N0=d,Y0=E0}else N0=O0,Y0=q0;if(R0=V0+1|0,v0=(R0|0)<(N0|0),v0)O0=N0,T0=E0,V0=R0,q0=Y0;else break}}function mb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0;Z1=C,C=C+272|0,O1=Z1,_=t+28|0,Q=e[_>>2]|0,Z=ce(1,1120)|0,u0=n4(o,5)|0,e[Z>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=Z+4|0,X1=0,s2=-1;;){if(L=n4(o,4)|0,F=v0+(X1<<2)|0,e[F>>2]=L,N=(L|0)<0,N)break e;if(O=(s2|0)<(L|0),g=O?L:s2,H=X1+1|0,V=e[Z>>2]|0,J=(H|0)<(V|0),J)X1=H,s2=g;else{d=g;break}}if(K0=(d|0)>-1,K0)for(u1=Z+128|0,Q1=Z+192|0,F1=Z+256|0,x=Q+24|0,R=Z+320|0,G1=0;;){if(t0=n4(o,3)|0,A0=t0+1|0,j=u1+(G1<<2)|0,e[j>>2]=A0,n0=n4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=n0,K=(n0|0)<0,K||(o0=(n0|0)==0,o0?(p=F1+(G1<<2)|0,I=e[p>>2]|0,i0=I):(Y=n4(o,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=Y,i0=Y),e0=(i0|0)<0,e0)||(c0=e[x>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,X=(l0|0)==31,!X)for(H1=0;;){if(d0=n4(o,8)|0,p0=d0+-1|0,b0=(R+(G1<<5)|0)+(H1<<2)|0,e[b0>>2]=p0,y0=(d0|0)<0,y0||(D0=e[x>>2]|0,E0=(d0|0)>(D0|0),I0=H1+1|0,E0))break e;if(m0=e[s0>>2]|0,g0=1<>2]=x0,R0=n4(o,4)|0,N0=(R0|0)<0,!N0)){if(U0=e[Z>>2]|0,O0=(U0|0)>0,O0)for(H0=Z+4|0,S0=Z+128|0,J0=Z+836|0,T0=1<>2]|0,W0=S0+(P0<<2)|0,V0=e[W0>>2]|0,j0=V0+P1|0,q0=(j0|0)>63,q0)break e;if(Y0=(V1|0)<(j0|0),Y0){for(t2=V1;;){if(s1=n4(o,R0)|0,z0=t2+2|0,n1=J0+(z0<<2)|0,e[n1>>2]=s1,L0=(s1|0)>-1,o1=(s1|0)<(T0|0),e2=L0&o1,!e2)break e;if(d1=t2+1|0,p1=(d1|0)<(j0|0),p1)t2=d1;else{$=d1;break}}B=e[Z>>2]|0,A1=B,Y1=$}else A1=U1,Y1=V1;if(f1=x1+1|0,h1=(f1|0)<(A1|0),h1)U1=A1,P1=j0,x1=f1,V1=Y1;else{E=J0,y=T0,D1=j0;break}}else k=Z+836|0,w=1<>2]=0,c1=Z+840|0,e[c1>>2]=y,a1=D1+2|0,$1=(D1|0)>-2,$1)for(K1=0;X0=E+(K1<<2)|0,B1=O1+(K1<<2)|0,e[B1>>2]=X0,m1=K1+1|0,C1=(m1|0)<(a1|0),C1;)K1=m1;Hu(O1,a1,4,8),y1=(a1|0)>1;t:do if(y1){for(b=e[O1>>2]|0,D=e[b>>2]|0,b1=D,q1=1;S1=O1+(q1<<2)|0,L1=e[S1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),v1=q1+1|0,!_1;)if(k1=(v1|0)<(a1|0),k1)b1=M1,q1=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 pb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,$=ce(1,1312)|0,g=$+1296|0,e[g>>2]=o,_=o+836|0,t0=o+840|0,e0=e[t0>>2]|0,p0=$+1288|0,e[p0>>2]=e0,R0=e[o>>2]|0,W0=(R0|0)>0,W0){for(z0=o+4|0,d=o+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,w=$+1284|0,e[w>>2]=k,Q=(a|0)>-2,Q?(N=k,k1=a,_1=7):(Hu(b1,k,4,8),v1=a)}else s1=$+1284|0,e[s1>>2]=2,N=2,k1=0,_1=7;if((_1|0)==7){for(h1=0;x=_+(h1<<2)|0,R=b1+(h1<<2)|0,e[R>>2]=x,L=h1+1|0,F=(L|0)<(N|0),F;)h1=L;for(Hu(b1,N,4,8),O=_,H=$+260|0,A1=0;Z=b1+(A1<<2)|0,A0=e[Z>>2]|0,j=A0,n0=j-O|0,s0=n0>>2,K=H+(A1<<2)|0,e[K>>2]=s0,o0=A1+1|0,Y=(o0|0)<(N|0),Y;)A1=o0;for(V=$+260|0,J=$+520|0,c1=0;i0=V+(c1<<2)|0,u0=e[i0>>2]|0,c0=J+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(N|0),l0;)c1=$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,r0=$+(a1<<2)|0,e[r0>>2]=I0,d0=a1+1|0,C0=(d0|0)<(N|0),C0)a1=d0;else{v1=k1;break}}if(b0=o+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,N0=_+(v0<<2)|0,U0=e[N0>>2]|0,O0=e[p0>>2]|0,L0=1,u1=O0,X0=0,B1=0,C1=0;;)if(H0=_+(X0<<2)|0,S0=e[H0>>2]|0,J0=(S0|0)>(C1|0),T0=(S0|0)<(U0|0),L1=J0&T0,m1=L1?X0:B1,y1=L1?S0:C1,M0=(S0|0)<(u1|0),P0=(S0|0)>(U0|0),M1=M0&P0,o1=M1?X0:L0,p1=M1?S0:u1,K0=X0+1|0,V0=(K0|0)<(v0|0),V0)L0=o1,u1=p1,X0=K0,B1=m1,C1=y1;else{d1=o1,Q1=m1;break}if(j0=x0+($1<<2)|0,e[j0>>2]=Q1,q0=Z0+($1<<2)|0,e[q0>>2]=d1,Y0=$1+1|0,n1=(Y0|0)==(v1|0),n1)break;$1=Y0}return C=R1,$|0}function Eb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Cb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Bb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0;if(S2=C,d=o+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,P1=v1+2848|0,e2=e[P1>>2]|0,I=t+4|0,R=n4(I,1)|0,j=(R|0)==1,!j)return a=0,a|0;Y=o+1284|0,h0=e[Y>>2]|0,i0=h0<<2,e0=W8(t,i0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,X=V8($0)|0,m0=n4(I,X)|0,e[e0>>2]=m0,g0=e[u0>>2]|0,I0=g0+-1|0,r0=V8(I0)|0,d0=n4(I,r0)|0,p0=e0+4|0,e[p0>>2]=d0,C0=e[p>>2]|0,b0=(C0|0)>0;e:do if(b0){o2=0,a2=2;t:for(;;){if(B0=(p+4|0)+(o2<<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,N0=e[v0>>2]|0,U0=1<>2]|0,T0=e2+(J0*56|0)|0,M0=$E(T0,I)|0,P0=(M0|0)==-1,P0){a=0,D2=25;break}else r2=M0;if(W0=(R0|0)>0,W0)for(K0=U0+-1|0,g2=r2,m2=0;;){if(V0=g2&K0,j0=((p+320|0)+(x0<<5)|0)+(V0<<2)|0,Y0=e[j0>>2]|0,s1=g2>>N0,z0=(Y0|0)>-1,z0){if(n1=e2+(Y0*56|0)|0,L0=$E(n1,I)|0,o1=m2+a2|0,d1=e0+(o1<<2)|0,e[d1>>2]=L0,u1=(L0|0)==-1,u1){a=0,D2=25;break t}}else p1=m2+a2|0,f1=e0+(p1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,c1=(A1|0)<(R0|0),c1)g2=s1,m2=A1;else break}if(a1=R0+a2|0,$1=o2+1|0,X0=e[p>>2]|0,B1=($1|0)<(X0|0),B1)o2=$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=o+1032|0,w0=o+780|0,l2=2;;){if(m1=l2+-2|0,Q1=Q0+(m1<<2)|0,C1=e[Q1>>2]|0,y1=(p+836|0)+(C1<<2)|0,k1=e[y1>>2]|0,S1=w0+(m1<<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,U1=e[F1>>2]|0,D1=(p+836|0)+(l2<<2)|0,X1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,K1=x1-G1|0,q1=b1-k1|0,i2=(K1|0)>-1,n2=0-K1|0,H1=i2?K1:n2,V1=X1-k1|0,Y1=o5(H1,V1)|0,t2=(Y1|0)/(q1|0)&-1,s2=(K1|0)<0,O1=0-t2|0,g=s2?O1:t2,$=g+G1|0,h2=e[u0>>2]|0,Z1=h2-$|0,I2=e0+(l2<<2)|0,A2=e[I2>>2]|0,C2=(A2|0)==0,C2)n0=$|32768,e[I2>>2]=n0;else{$2=(Z1|0)<($|0),W1=$2?Z1:$,f2=W1<<1,c2=(A2|0)<(f2|0);do if(c2)if(D=A2&1,k=(D|0)==0,k){x=A2>>1,k2=x;break}else{w=A2+1|0,_=w>>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);L=k2+$|0,F=L&32767,e[I2>>2]=F,N=e[Q1>>2]|0,O=e0+(N<<2)|0,H=e[O>>2]|0,V=H&32767,e[O>>2]=V,J=e[S1>>2]|0,t0=e0+(J<<2)|0,Z=e[t0>>2]|0,A0=Z&32767,e[t0>>2]=A0}if(s0=l2+1|0,K=e[Y>>2]|0,o0=(s0|0)<(K|0),o0)l2=s0;else{a=e0;break}}return a|0}function yb(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0;if(D1=C,p=o+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,p1=e[u1>>2]|0,E=j0+(p1<<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,w=e[k>>2]|0,_=o5(w,D)|0,Q=(_|0)<0,x=(_|0)>255,L=x?255:_,F=Q?0:L,N=o+1284|0,O=e[N>>2]|0,H=(O|0)>1,H)for(V=o+260|0,$1=0,Q1=1,y1=0,S1=F;;){if(A0=V+(Q1<<2)|0,n0=e[A0>>2]|0,s0=a+(n0<<2)|0,K=e[s0>>2]|0,o0=K&32767,Y=(o0|0)==(K|0),Y)if(h0=(I+836|0)+(n0<<2)|0,i0=e[h0>>2]|0,e0=o5(w,K)|0,u0=(e0|0)<0,c0=(e0|0)>255,l0=c0?255:e0,X=u0?0:l0,m0=X-S1|0,g0=i0-y1|0,B1=(m0|0)>-1,M1=0-m0|0,I0=B1?m0:M1,r0=(m0|0)/(g0|0)&-1,d0=m0>>31,p0=d0|1,C0=o5(r0,g0)|0,m1=(C0|0)>-1,b1=0-C0|0,b0=m1?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=+s[w0>>2],x0=$+(y1<<2)|0,Z0=+s[x0>>2],R0=Z0*B0,s[x0>>2]=R0),v0=y1+1|0,N0=(v0|0)<(_1|0),N0)for(W0=v0,f1=0,R1=S1;;)if(O0=f1+D0|0,H0=(O0|0)<(g0|0),S0=H0?0:p0,J0=H0?0:g0,h1=O0-J0|0,d=R1+r0|0,F1=d+S0|0,T0=1768+(F1<<2)|0,M0=+s[T0>>2],P0=$+(W0<<2)|0,K0=+s[P0>>2],V0=K0*M0,s[P0>>2]=V0,q0=W0+1|0,c1=(q0|0)==(_1|0),c1){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,s1=(Y0|0)<(O|0),s1)$1=X0,Q1=Y0,y1=v1,S1=L1;else{a1=X0,k1=L1;break}}else a1=0,k1=F;if(J=(a1|0)<(B|0),!J)return g=1,g|0;for(t0=1768+(k1<<2)|0,Z=+s[t0>>2],C1=a1;;)if(z0=$+(C1<<2)|0,n1=+s[z0>>2],L0=n1*Z,s[z0>>2]=L0,o1=C1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else C1=o1;return g|0}function Qb(t,o){t=t|0,o=o|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[o>>2]|0,d=e[g>>2]|0,p=$-d|0,p|0}function wb(t){t=t|0;var o=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 vb(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0;u0=C,g=$l(o|0)|0,d=$l(a|0)|0,Q=g+2|0,Z=Q+d|0,$=Z,j=C,C=C+((1*$|0)+15&-16)|0,UC(j|0,o|0)|0,i0=$l(j|0)|0,h0=j+i0|0,f[h0>>0]=61,f[h0+1>>0]=0,jy(j|0,a|0)|0,n0=e[t>>2]|0,s0=t+8|0,K=e[s0>>2]|0,o0=K<<2,Y=o0+8|0,p=W7(n0,Y)|0,e[t>>2]=p,I=t+4|0,E=e[I>>2]|0,y=e[s0>>2]|0,B=y<<2,b=B+8|0,D=W7(E,b)|0,e[I>>2]=D,k=$l(j|0)|0,w=e[s0>>2]|0,_=D+(w<<2)|0,e[_>>2]=k,x=k+1|0,R=R9(x)|0,L=e[t>>2]|0,F=L+(w<<2)|0,e[F>>2]=R,N=e[t>>2]|0,O=N+(w<<2)|0,H=e[O>>2]|0,UC(H|0,j|0)|0,V=e[s0>>2]|0,J=V+1|0,e[s0>>2]=J,t0=e[t>>2]|0,A0=t0+(J<<2)|0,e[A0>>2]=0,C=u0}function kb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=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,L=e[R>>2]|0,F=(L|0)>0,F){for(x=L,O=d,J=0;N=O+(J<<2)|0,H=e[N>>2]|0,V=(H|0)==0,V?E=x:(E2(H),a=e[R>>2]|0,E=a),p=J+1|0,I=(p|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,O=o,J=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,w=e[k>>2]|0,_=(w|0)==0,_||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function Sb(t){t=t|0;var o=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,o=ce(1,3664)|0,a=t+28|0,e[a>>2]=o}function FC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,d=t+28|0,p=e[d>>2]|0,x=(p|0)==0,x){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),o=e[A0>>2]|0,b=o),y=$1+1|0,B=(y|0)<(b|0),B;)f1=b,$1=y;if(N0=p+12|0,V0=e[N0>>2]|0,p1=(V0|0)>0,p1)for(h1=V0,X0=0;_=(p+544|0)+(X0<<2)|0,Q=e[_>>2]|0,R=(Q|0)==0,R?Z=h1:(L=(p+288|0)+(X0<<2)|0,F=e[L>>2]|0,N=25664+(F<<2)|0,O=e[N>>2]|0,H=O+8|0,V=e[H>>2]|0,as[V&7](Q),a=e[N0>>2]|0,Z=a),J=X0+1|0,t0=(J|0)<(Z|0),t0;)h1=Z,X0=J;if(D=p+16|0,k=e[D>>2]|0,w=(k|0)>0,w)for(A1=k,B1=0;K=(p+1056|0)+(B1<<2)|0,o0=e[K>>2]|0,Y=(o0|0)==0,Y?g0=A1:(h0=(p+800|0)+(B1<<2)|0,i0=e[h0>>2]|0,e0=25640+(i0<<2)|0,u0=e[e0>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,as[l0&7](o0),$=e[D>>2]|0,g0=$),X=B1+1|0,m0=(X|0)<(g0|0),m0;)A1=g0,B1=X;if(j=p+20|0,n0=e[j>>2]|0,s0=(n0|0)>0,s0)for(c1=n0,m1=0;C0=(p+1568|0)+(m1<<2)|0,y0=e[C0>>2]|0,D0=(y0|0)==0,D0?U0=c1:(E0=(p+1312|0)+(m1<<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,as[Z0&7](y0),g=e[j>>2]|0,U0=g),R0=m1+1|0,v0=(R0|0)<(U0|0),v0;)c1=U0,m1=R0;if(I0=p+24|0,r0=e[I0>>2]|0,d0=(r0|0)>0,p0=p+2848|0,d0)for(Q1=0;O0=(p+1824|0)+(Q1<<2)|0,H0=e[O0>>2]|0,S0=(H0|0)==0,S0||GC(H0),J0=e[p0>>2]|0,T0=(J0|0)==0,T0||(M0=J0+(Q1*56|0)|0,sD(M0)),P0=Q1+1|0,W0=e[I0>>2]|0,K0=(P0|0)<(W0|0),K0;)Q1=P0;if(j0=e[p0>>2]|0,q0=(j0|0)==0,q0||E2(j0),Y0=p+28|0,s1=e[Y0>>2]|0,z0=(s1|0)>0,z0)for(C1=0;n1=(p+2852|0)+(C1<<2)|0,L0=e[n1>>2]|0,Gb(L0),o1=C1+1|0,d1=e[Y0>>2]|0,u1=(o1|0)<(d1|0),u1;)C1=o1;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 bb(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=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,c1=t+104|0,S1=e[c1>>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,o2=e[h2>>2]|0,M2=(o2|0)<1,M2)_5=-129,l5=27;else if(_C(T1),N1=y+28|0,y5=e[N1>>2]|0,B=(y5|0)==0,B)_5=-130,l5=27;else if(N=e[y5>>2]|0,K=(N|0)<64,K)_5=-130,l5=27;else if(m0=y5+4|0,Q0=e[m0>>2]|0,S0=(Q0|0)<(N|0),S0)_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),s1=e[h2>>2]|0,H2(T1,s1,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,m1=e[B1>>2]|0,H2(T1,m1,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=D8(T1)|0,F1=R9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=D8(T1)|0,ge(F1|0,D1|0,P1|0)|0,X1=e[M1>>2]|0,e[a>>2]=X1,x1=D8(T1)|0,K1=a+4|0,e[K1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,mi(T1),Db(T1,o),V1=S1+68|0,Y1=e[V1>>2]|0,t2=(Y1|0)==0,t2||E2(Y1),s2=D8(T1)|0,e2=R9(s2)|0,e[V1>>2]=e2,O1=e[U1>>2]|0,Z1=D8(T1)|0,ge(e2|0,O1|0,Z1|0)|0,I2=e[V1>>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,c2=f2,e[c2>>2]=1,r2=f2+4|0,g2=r2,e[g2>>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,n2=m2+-1|0,H2(T1,n2,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=sb(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),J2=l2+16|0,U2=e[J2>>2]|0,V2=U2+-1|0,H2(T1,V2,6),Z2=e[J2>>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,x5=e[i5>>2]|0,j2=e[x5>>2]|0,p5=(j2|0)==0,p5)break e;if(D5=(l2+1056|0)+(C5<<2)|0,V5=e[D5>>2]|0,HC[j2&3](V5,T1),u5=C5+1|0,b2=e[J2>>2]|0,s5=(u5|0)<(b2|0),s5)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,L5=e[E5>>2]|0,H2(T1,L5,16),q5=e[E5>>2]|0,M5=25648+(q5<<2)|0,b=e[M5>>2]|0,D=e[b>>2]|0,k=(l2+1568|0)+($5<<2)|0,w=e[k>>2]|0,HC[D&3](w,T1),_=$5+1|0,Q=e[F2>>2]|0,x=(_|0)<(Q|0),x;)$5=_;if(R=l2+12|0,L=e[R>>2]|0,F=L+-1|0,H2(T1,F,6),O=e[R>>2]|0,H=(O|0)>0,H)for(h5=0;V=(l2+288|0)+(h5<<2)|0,J=e[V>>2]|0,H2(T1,J,16),t0=e[V>>2]|0,Z=25664+(t0<<2)|0,A0=e[Z>>2]|0,j=e[A0>>2]|0,n0=(l2+544|0)+(h5<<2)|0,s0=e[n0>>2]|0,rQ[j&1](y,s0,T1),o0=h5+1|0,Y=e[R>>2]|0,h0=(o0|0)<(Y|0),h0;)h5=o0;if(i0=l2+8|0,e0=e[i0>>2]|0,u0=e0+-1|0,H2(T1,u0,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,r0=I0+4|0,d0=e[r0>>2]|0,H2(T1,d0,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),N0=D8(T1)|0,U0=R9(N0)|0,e[Z0>>2]=U0,O0=e[U1>>2]|0,H0=D8(T1)|0,ge(U0|0,O0|0,H0|0)|0,J0=e[Z0>>2]|0,e[g>>2]=J0,T0=D8(T1)|0,M0=g+4|0,e[M0>>2]=T0,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,K0=W0,V0=K0,e[V0>>2]=2,j0=K0+4|0,q0=j0,e[q0>>2]=0,xC(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),xC(T1),Y0=e[I>>2]|0,z0=(Y0|0)==0,z0||E2(Y0),n1=S1+68|0,L0=e[n1>>2]|0,o1=(L0|0)==0,o1||E2(L0),d1=S1+72|0,u1=e[d1>>2]|0,p1=(u1|0)==0,p1||E2(u1),e[I>>2]=0,e[n1>>2]=0,e[d1>>2]=0,d=d5,C=X2,d|0}function Db(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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),K=(p|0)==0,!K;)a=I,g=p;if(o0=o+8|0,Y=e[o0>>2]|0,H2(t,Y,32),h0=e[o0>>2]|0,i0=(h0|0)>0,!i0){H2(t,1,1);return}for(e0=o+4|0,u0=0;;){if(E=e[o>>2]|0,y=E+(u0<<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+(u0<<2)|0,w=e[k>>2]|0,H2(t,w,32),_=e[e0>>2]|0,Q=_+(u0<<2)|0,x=e[Q>>2]|0,L=(x|0)==0,!L)for(F=e[o>>2]|0,N=F+(u0<<2)|0,O=e[N>>2]|0,$=O,d=x;H=d+-1|0,V=$+1|0,J=f[$>>0]|0,t0=J<<24>>24,H2(t,t0,8),Z=(H|0)==0,!Z;)$=V,d=H;if(A0=u0+1|0,n0=e[o0>>2]|0,s0=(A0|0)<(n0|0),s0)u0=A0;else break}H2(t,1,1)}function _y(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0;if(Y1=C,E=$+1|0,y=E<<3,g=y,F=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,d=s0,X=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)H=0;else{for(H0=$;;){if(Y0=(H0|0)<(a|0),Y0)for(Q1=0,R1=H0;;)if(A1=t+(R1<<2)|0,B1=+s[A1>>2],B=B1,b=R1-H0|0,D=t+(b<<2)|0,k=+s[D>>2],w=k,_=w*B,Q=_+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){m1=Q;break}else Q1=Q,R1=x;else m1=0;if(R=F+(H0<<3)|0,l1[R>>3]=m1,L=H0+-1|0,N=(H0|0)==0,N)break;H0=L}I=+l1[F>>3],H=I}if(O=H*1.0000000001,V=H*1e-9,J=V+1e-10,t0=($|0)>0,t0)y1=O,F1=0;else return S1=O,X0=S1,C=Y1,+X0;for(;;){if(D1=F1+1|0,Z=y1>3],Y=-o0,h0=(F1|0)>0,h0){for(P1=0,q1=Y;;)if(u0=X+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=F+($0<<3)|0,m0=+l1[l0>>3],g0=m0*c0,I0=q1-g0,r0=P1+1|0,b1=(r0|0)==(F1|0),b1){p=I0;break}else P1=r0,q1=I0;if(d0=p/y1,p0=X+(F1<<3)|0,l1[p0>>3]=d0,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=+l1[Q0>>3],B0=y0-G1|0,x0=X+(B0<<3)|0,Z0=+l1[x0>>3],R0=Z0*d0,v0=R0+w0,l1[Q0>>3]=v0,N0=w0*d0,U0=+l1[x0>>3],O0=U0+N0,l1[x0>>3]=O0,S0=G1+1|0,J0=(S0|0)<(C0|0),J0;)G1=S0;H1=D0?C0:1,V0=d0,X1=H1}else V0=d0,X1=0}else i0=Y/y1,e0=X+(F1<<3)|0,l1[e0>>3]=i0,V0=i0,X1=0;if(T0=F1&1,M0=(T0|0)==0,M0||(P0=X+(X1<<3)|0,W0=+l1[P0>>3],K0=W0*V0,j0=K0+W0,l1[P0>>3]=j0),q0=V0*V0,s1=1-q0,z0=s1*y1,n1=(D1|0)<($|0),n1)y1=z0,F1=D1;else{k1=z0;break}}if((V1|0)==8&&(A0=X+(U1<<3)|0,j=$-U1|0,n0=j<<3,g4(A0|0,0,n0|0)|0,k1=v1),t0)C1=.99,x1=0;else return S1=k1,X0=S1,C=Y1,+X0;for(;L0=X+(x1<<3)|0,o1=+l1[L0>>3],d1=o1*C1,l1[L0>>3]=d1,u1=C1*.99,p1=x1+1|0,M1=(p1|0)==($|0),!M1;)C1=u1,x1=p1;if(t0)K1=0;else return S1=k1,X0=S1,C=Y1,+X0;for(;;)if(f1=X+(K1<<3)|0,h1=+l1[f1>>3],c1=h1,a1=o+(K1<<2)|0,s[a1>>2]=c1,$1=K1+1|0,L1=($1|0)==($|0),L1){S1=k1;break}else K1=$1;return X0=S1,C=Y1,+X0}function xy(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0;if(e0=C,I=g+a|0,E=I<<2,d=E,L=C,C=C+((1*d|0)+15&-16)|0,N=(o|0)==0,O=(a|0)>0,N?O&&(V=a<<2,g4(L|0,0,V|0)|0):O&&(H=a<<2,ge(L|0,o|0,H|0)|0),J=(g|0)>0,!J){C=e0;return}if(t0=(a|0)>0,t0)n0=0,s0=a;else{Z=g<<2,g4(L|0,0,Z|0)|0,g4($|0,0,Z|0)|0,C=e0;return}for(;;){for(o0=n0,Y=a,h0=0;;)if(D=o0+1|0,k=L+(o0<<2)|0,w=+s[k>>2],_=Y+-1|0,Q=t+(_<<2)|0,x=+s[Q>>2],R=x*w,F=h0-R,A0=(D|0)==(s0|0),A0){p=F;break}else o0=D,Y=_,h0=F;if(y=L+(s0<<2)|0,s[y>>2]=p,B=$+(n0<<2)|0,s[B>>2]=p,b=n0+1|0,K=s0+1|0,j=(b|0)==(g|0),j)break;n0=b,s0=K}C=e0}function _b(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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[o>>2]|0,d=(g|0)>1,d?(H2(a,1,1),Q=e[o>>2]|0,Z=Q+-1|0,H2(a,Z,4)):H2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(H2(a,1,1),b0=e[u0>>2]|0,y0=b0+-1|0,H2(a,y0,8),D0=e[u0>>2]|0,p=(D0|0)>0,p)for(I=o+1160|0,E=t+4|0,y=o+2184|0,E0=0;B=I+(E0<<2)|0,b=e[B>>2]|0,D=e[E>>2]|0,k=D+-1|0,w=V8(k)|0,H2(a,b,w),_=y+(E0<<2)|0,x=e[_>>2]|0,R=e[E>>2]|0,L=R+-1|0,F=V8(L)|0,H2(a,x,F),N=E0+1|0,O=e[u0>>2]|0,H=(N|0)<(O|0),H;)E0=N}else H2(a,0,1);if(H2(a,0,2),V=e[o>>2]|0,J=(V|0)>1,J){if(t0=t+4|0,A0=e[t0>>2]|0,j=(A0|0)>0,j){for(n0=o+4|0,Q0=0;h0=n0+(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[o>>2]|0,s0=$,B0=13}}else s0=V,B0=13;if(!((B0|0)==13&&(K=(s0|0)>0,!K)))for(o0=o+1028|0,Y=o+1092|0,w0=0;H2(a,0,8),l0=o0+(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,r0=e[o>>2]|0,d0=(I0|0)<(r0|0),d0;)w0=I0}function xb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0;a1=C,g=ce(1,3208)|0,d=t+28|0,Q=e[d>>2]|0,g4(g|0,0,3208)|0,Z=t+4|0,u0=e[Z>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=n4(o,1)|0,K0=(v0|0)<0,K0)c1=24;else{if(z0=(v0|0)==0,z0)e[g>>2]=1;else if(n1=n4(o,4)|0,p=n1+1|0,e[g>>2]=p,I=(n1|0)<0,I)break;if(E=n4(o,1)|0,y=(E|0)<0,!y){if(B=(E|0)==0,!B){if(b=n4(o,8)|0,D=b+1|0,k=g+1156|0,e[k>>2]=D,w=(b|0)<0,w)break;for(_=g+1160|0,x=g+2184|0,$=e[Z>>2]|0,O=$,L0=0;;){if(N=O+-1|0,H=V8(N)|0,V=n4(o,H)|0,J=_+(L0<<2)|0,e[J>>2]=V,t0=e[Z>>2]|0,A0=t0+-1|0,j=V8(A0)|0,n0=n4(o,j)|0,s0=x+(L0<<2)|0,e[s0>>2]=n0,K=n0|V,o0=(K|0)<0,Y=(V|0)==(n0|0),u1=Y|o0,u1||(h0=e[Z>>2]|0,i0=(V|0)<(h0|0),e0=(n0|0)<(h0|0),p1=i0&e0,L=L0+1|0,!p1))break e;if(R=e[k>>2]|0,F=(L|0)<(R|0),F)O=h0,L0=L;else break}}if(c0=n4(o,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,o1=0;;){if(B0=n4(o,4)|0,x0=I0+(o1<<2)|0,e[x0>>2]=B0,Z0=e[g>>2]|0,R0=(B0|0)>=(Z0|0),N0=(B0|0)<0,f1=N0|R0,Q0=o1+1|0,f1)break e;if(E0=e[Z>>2]|0,w0=(Q0|0)<(E0|0),w0)o1=Q0;else{r0=Z0,c1=17;break}}}else r0=l0,c1=17;if((c1|0)==17&&(d0=(r0|0)>0,!d0))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(n4(o,8)|0,S0=n4(o,8)|0,J0=p0+(d1<<2)|0,e[J0>>2]=S0,T0=e[b0>>2]|0,M0=(S0|0)>=(T0|0),P0=(S0|0)<0,h1=P0|M0,h1||(W0=n4(o,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(c1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function Lb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Mb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0,y8=0,U8=0,rr=0,kn=0,As=0,zr=0,$s=0,Jr=0,ls=0,cs=0,Kr=0,gs=0,or=0,us=0,hs=0,ds=0,Wr=0,fs=0,Zr=0,jr=0,Is=0,sr=0,Xr=0,ar=0,eo=0,to=0,ms=0,ps=0,Es=0,Ar=0,io=0,Cs=0,Sn=0,$r=0,Bs=0,ys=0,lr=0,I7=0,no=0,Qs=0,ws=0,ro=0,oo=0,so=0,vs=0,m7=0,cr=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gr=0,bn=0,ur=0,Ts=0,an=0,Ns=0,lo=0,hr=0,co=0,dr=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dn=0,Io=0,p7=0,fr=0,_n=0,An=0,xn=0,Z7=0,Ln=0,mo=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mn=0,$n=0,ln=0,Rn=0,E7=0,Os=0,fi=0,cl=0,Ir=0,mr=0;if(Ir=C,x=t+64|0,R=e[x>>2]|0,r2=R+4|0,z3=e[r2>>2]|0,Te=z3+28|0,je=e[Te>>2]|0,Bs=R+104|0,m7=e[Bs>>2]|0,Ms=t+104|0,hr=e[Ms>>2]|0,L=t+36|0,n0=e[L>>2]|0,l0=z3+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,P1=v1<<2,e2=W8(t,P1)|0,g2=e[l0>>2]|0,G2=g2<<2,Y2=W8(t,G2)|0,b2=hr+4|0,M5=+s[b2>>2],d2=e[l0>>2]|0,T2=d2<<2,g=T2,G5=C,C=C+((1*g|0)+15&-16)|0,G3=hr+8|0,U5=e[G3>>2]|0,j5=t+28|0,f6=e[j5>>2]|0,W3=(je+544|0)+(f6<<2)|0,$6=e[W3>>2]|0,U6=m7+56|0,B9=e[U6>>2]|0,we=(f6|0)!=0,he=we?2:0,_=he+U5|0,de=B9+(_*52|0)|0,Je=t+40|0,e[Je>>2]=f6,h4=(d2|0)>0,h4)for(Ie=+(n0|0),Z3=4/Ie,m8=(s[w2>>2]=Z3,e[w2>>2]|0),_t=(n0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),De=ct*7177114298428933e-22,j4=De+-764.6162109375,c8=j4,c4=c8+.345,$i=c4,li=m7+4|0,Ki=t+24|0,f7=t+32|0,K8=$i+-764.6162109375,rr=n0+-1|0,us=(rr|0)>1,eo=$i+-382.30810546875,Ln=M5,j7=0;;){if(ys=e[t>>2]|0,lr=ys+(j7<<2)|0,I7=e[lr>>2]|0,no=W8(t,Lt)|0,Qs=e2+(j7<<2)|0,e[Qs>>2]=no,ws=W8(t,Lt)|0,ro=h1+(j7<<2)|0,e[ro>>2]=ws,oo=e[Ki>>2]|0,so=e[j5>>2]|0,vs=e[f7>>2]|0,hD(I7,li,je,oo,so,vs),cr=e[j5>>2]|0,ks=(m7+12|0)+(cr<<2)|0,ao=e[ks>>2]|0,Ss=e[ao>>2]|0,bs=e[ro>>2]|0,Ly(Ss,I7,bs),Ds=e[j5>>2]|0,Ao=(m7+20|0)+(Ds*12|0)|0,$D(Ao,I7),_s=e[I7>>2]|0,xs=_s&2147483647,Ls=+(xs>>>0),$o=Ls*7177114298428933e-22,Rs=K8+$o,Fs=Rs,gr=Fs+.345,bn=gr,s[I7>>2]=bn,ur=G5+(j7<<2)|0,s[ur>>2]=bn,us)for(J=bn,Mn=1;;)if(Ts=I7+(Mn<<2)|0,an=+s[Ts>>2],Ns=an*an,lo=Mn+1|0,co=I7+(lo<<2)|0,dr=+s[co>>2],Gs=dr*dr,go=Gs+Ns,uo=(s[w2>>2]=go,e[w2>>2]|0),Us=uo&2147483647,ho=+(Us>>>0),fo=ho*35885571492144663e-23,Ps=eo+fo,Dn=Ps,F=Dn+.345,N=F,O=lo>>1,H=I7+(O<<2)|0,s[H>>2]=N,V=N>J,V?(s[ur>>2]=N,Sn=N):Sn=J,t0=Mn+2|0,Z=(t0|0)<(rr|0),Z)J=Sn,Mn=t0;else{j=Sn;break}else j=bn;if(A0=j>0,A0?(s[ur>>2]=0,K=0):K=j,s0=K>Ln,mo=s0?K:Ln,o0=j7+1|0,Y=e[l0>>2]|0,h0=(o0|0)<(Y|0),h0)Ln=mo,j7=o0;else{y=Lt,b=_t,Z7=mo;break}}else D=(n0|0)/2&-1,k=D<<2,y=k,b=D,Z7=M5;i0=W8(t,y)|0,e0=W8(t,y)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(n0|0)>1,X=m7+48|0,$0)_7=0;else{for(D7=0;;){s6=($6+4|0)+(D7<<2)|0,B6=e[s6>>2]|0,K3=h1+(D7<<2)|0,F3=e[K3>>2]|0,t6=e[t>>2]|0,R6=t6+(D7<<2)|0,c6=e[R6>>2]|0,o3=c6+(b<<2)|0,e[Je>>2]=f6,J6=W8(t,60)|0,A3=Y2+(D7<<2)|0,e[A3>>2]=J6,fi=J6,mr=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mr|0));if(Ty(de,o3,i0),g6=G5+(D7<<2)|0,y6=+s[g6>>2],Ny(de,c6,e0,Z7,y6),Al(de,i0,e0,1,c6,F3,o3),T3=($6+1028|0)+(B6<<2)|0,H6=e[T3>>2]|0,D6=(je+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,e9=(G6|0)==1,!e9){a=-1;break}if(Q6=e[X>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,n9=al(t,P3,o3,c6)|0,V6=e[A3>>2]|0,o9=V6+28|0,e[o9>>2]=n9,g9=Pu(t)|0,Y6=(g9|0)==0,Y6||(F6=e[A3>>2]|0,t9=F6+28|0,_6=e[t9>>2]|0,P6=(_6|0)==0,P6||(Al(de,i0,e0,2,c6,F3,o3),O3=e[T3>>2]|0,O6=e[X>>2]|0,s9=O6+(O3<<2)|0,h9=e[s9>>2]|0,r9=al(t,h9,o3,c6)|0,y9=e[A3>>2]|0,Q9=y9+56|0,e[Q9>>2]=r9,Al(de,i0,e0,0,c6,F3,o3),d9=e[T3>>2]|0,f9=e[X>>2]|0,V9=f9+(d9<<2)|0,w6=e[V9>>2]|0,q6=al(t,w6,o3,c6)|0,a9=e[A3>>2]|0,e[a9>>2]=q6,Y9=e[T3>>2]|0,w9=e[X>>2]|0,ue=w9+(Y9<<2)|0,Ee=e[ue>>2]|0,z9=e[A3>>2]|0,ne=e[z9>>2]|0,F9=z9+28|0,v9=e[F9>>2]|0,K6=Gt(t,Ee,ne,v9,9362)|0,A9=e[A3>>2]|0,ve=A9+4|0,e[ve>>2]=K6,Me=e[T3>>2]|0,_9=e[X>>2]|0,Re=_9+(Me<<2)|0,Fe=e[Re>>2]|0,Ue=e[A3>>2]|0,He=e[Ue>>2]|0,r4=Ue+28|0,ke=e[r4>>2]|0,Ve=Gt(t,Fe,He,ke,18724)|0,J9=e[A3>>2]|0,Ye=J9+8|0,e[Ye>>2]=Ve,Pe=e[T3>>2]|0,Ce=e[X>>2]|0,v4=Ce+(Pe<<2)|0,Z9=e[v4>>2]|0,k9=e[A3>>2]|0,k4=e[k9>>2]|0,V4=k9+28|0,rt=e[V4>>2]|0,ze=Gt(t,Z9,k4,rt,28086)|0,Y4=e[A3>>2]|0,o4=Y4+12|0,e[o4>>2]=ze,R4=e[T3>>2]|0,ot=e[X>>2]|0,re=ot+(R4<<2)|0,u4=e[re>>2]|0,Be=e[A3>>2]|0,T6=e[Be>>2]|0,Ke=Be+28|0,O9=e[Ke>>2]|0,fe=Gt(t,u4,T6,O9,37449)|0,oe=e[A3>>2]|0,d4=oe+16|0,e[d4>>2]=fe,f4=e[T3>>2]|0,Se=e[X>>2]|0,s4=Se+(f4<<2)|0,Oe=e[s4>>2]|0,I4=e[A3>>2]|0,S9=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,S4=Gt(t,Oe,S9,z4,46811)|0,be=e[A3>>2]|0,me=be+20|0,e[me>>2]=S4,z6=e[T3>>2]|0,F4=e[X>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,pe=e[A3>>2]|0,xe=e[pe>>2]|0,mt=pe+28|0,x9=e[mt>>2]|0,b9=Gt(t,st,xe,x9,56173)|0,qe=e[A3>>2]|0,a4=qe+24|0,e[a4>>2]=b9,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,Jt=xt+56|0,n8=e[Jt>>2]|0,r8=Gt(t,Yt,zt,n8,18724)|0,Et=e[A3>>2]|0,J4=Et+36|0,e[J4>>2]=r8,G4=e[T3>>2]|0,at=e[X>>2]|0,L9=at+(G4<<2)|0,p8=e[L9>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,L8=e[E8>>2]|0,o8=b4+56|0,M8=e[o8>>2]|0,A4=Gt(t,p8,L8,M8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=A4,At=e[T3>>2]|0,We=e[X>>2]|0,U4=We+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,se=Ct+56|0,lt=e[se>>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,K4=e[X>>2]|0,W4=K4+(D4<<2)|0,ae=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,ae,gt,Qt,46811)|0,Ze=e[A3>>2]|0,C3=Ze+48|0,e[C3>>2]=a8,Z4=e[T3>>2]|0,wt=e[X>>2]|0,$4=wt+(Z4<<2)|0,j9=e[$4>>2]|0,l4=e[A3>>2]|0,T9=l4+28|0,Wt=e[T9>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,j9,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=Ir,a|0}for(;;){N6=($6+4|0)+(_7<<2)|0,C0=e[N6>>2]|0,j6=h1+(_7<<2)|0,d0=e[j6>>2]|0,v6=e[t>>2]|0,R3=v6+(_7<<2)|0,r0=e[R3>>2]|0,m0=r0+(b<<2)|0,e[Je>>2]=f6,o6=W8(t,60)|0,v0=Y2+(_7<<2)|0,e[v0>>2]=o6,fi=o6,mr=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mr|0));for($n=0;n6=d0+($n<<2)|0,M3=e[n6>>2]|0,h3=M3&2147483647,J3=+(h3>>>0),d6=J3*7177114298428933e-22,m3=d6+-764.6162109375,x6=m3,L6=x6+.345,M6=L6,Q=$n+b|0,S6=r0+(Q<<2)|0,s[S6>>2]=M6,r6=$n+1|0,b6=(r6|0)<(b|0),b6;)$n=r6;if(Ty(de,m0,i0),g0=G5+(_7<<2)|0,I0=+s[g0>>2],Ny(de,r0,e0,Z7,I0),Al(de,i0,e0,1,r0,d0,m0),p0=($6+1028|0)+(C0<<2)|0,b0=e[p0>>2]|0,y0=(je+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,r0)|0,R0=e[v0>>2]|0,N0=R0+28|0,e[N0>>2]=Z0,U0=Pu(t)|0,H0=(U0|0)==0,H0||(S0=e[v0>>2]|0,J0=S0+28|0,T0=e[J0>>2]|0,M0=(T0|0)==0,M0||(Al(de,i0,e0,2,r0,d0,m0),P0=e[p0>>2]|0,W0=e[X>>2]|0,K0=W0+(P0<<2)|0,V0=e[K0>>2]|0,j0=al(t,V0,m0,r0)|0,Y0=e[v0>>2]|0,s1=Y0+56|0,e[s1>>2]=j0,Al(de,i0,e0,0,r0,d0,m0),z0=e[p0>>2]|0,n1=e[X>>2]|0,L0=n1+(z0<<2)|0,o1=e[L0>>2]|0,d1=al(t,o1,m0,r0)|0,u1=e[v0>>2]|0,e[u1>>2]=d1,p1=e[p0>>2]|0,f1=e[X>>2]|0,A1=f1+(p1<<2)|0,c1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,X0=a1+28|0,B1=e[X0>>2]|0,m1=Gt(t,c1,$1,B1,9362)|0,Q1=e[v0>>2]|0,C1=Q1+4|0,e[C1>>2]=m1,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,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,X1=e[p0>>2]|0,G1=e[X>>2]|0,x1=G1+(X1<<2)|0,K1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,V1=q1+28|0,Y1=e[V1>>2]|0,t2=Gt(t,K1,H1,Y1,28086)|0,s2=e[v0>>2]|0,O1=s2+12|0,e[O1>>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,c2=Gt(t,A2,$2,f2,37449)|0,o2=e[v0>>2]|0,l2=o2+16|0,e[l2>>2]=c2,i2=e[p0>>2]|0,a2=e[X>>2]|0,m2=a2+(i2<<2)|0,n2=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,n2,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,J2=q2+(W2<<2)|0,U2=e[J2>>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,x5=e[p0>>2]|0,j2=e[X>>2]|0,p5=j2+(x5<<2)|0,D5=e[p5>>2]|0,V5=e[v0>>2]|0,u5=V5+28|0,y5=e[u5>>2]|0,s5=V5+56|0,F2=e[s5>>2]|0,R2=Gt(t,D5,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,L5=E5+(N5<<2)|0,q5=e[L5>>2]|0,z2=e[v0>>2]|0,C5=z2+28|0,$5=e[C5>>2]|0,h5=z2+56|0,w5=e[h5>>2]|0,T1=Gt(t,q5,$5,w5,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,v5=X2+(l5<<2)|0,n5=e[v5>>2]|0,a5=e[v0>>2]|0,f5=a5+28|0,K2=e[f5>>2]|0,I5=a5+56|0,r5=e[I5>>2]|0,R5=Gt(t,n5,K2,r5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=R5,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,d3=I3+28|0,W5=e[d3>>2]|0,n3=I3+56|0,a3=e[n3>>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,H3=e[e6>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,a6=X5+56|0,V3=e[a6>>2]|0,c3=Gt(t,H3,t3,V3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,J5=e[X>>2]|0,H5=J5+(Q3<<2)|0,Y5=e[H5>>2]|0,b5=e[v0>>2]|0,Y3=b5+28|0,l6=e[Y3>>2]|0,r3=b5+56|0,l3=e[r3>>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=Ir,a|0}else w=m7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=Z7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,p=Ft,D9=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,R8=t+24|0,u8=t+32|0,F8=je+2868|0,z8=m7+52|0,E7=Y8;;){if(j8=(hr+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)),Ae=e[l0>>2]|0,N8=(Ae|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=fb(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=Ae;if(zi=e[j5>>2]|0,Ji=((je+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ji>>2]|0,Ob(E7,F8,de,$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,J8=(ui|0)>0,J8)for($r=ui,p7=0,ln=0;;)if(ni=($6+4|0)+(ln<<2)|0,d7=e[ni>>2]|0,ji=(d7|0)==(x7|0),ji?(Si=D9+(p7<<2)|0,Xi=q0+(ln<<2)|0,bi=e[Xi>>2]|0,Os=(bi|0)!=0,o=Os&1,e[Si>>2]=o,Di=e2+(ln<<2)|0,e7=e[Di>>2]|0,_i=p7+1|0,ri=X4+(p7<<2)|0,e[ri>>2]=e7,E=e[l0>>2]|0,hi=E,fr=_i):(hi=$r,fr=p7),xi=ln+1|0,t7=(xi|0)<(hi|0),t7)$r=hi,p7=fr,ln=xi;else{Io=fr;break}else Io=0;if(Li=(je+1312|0)+(ii<<2)|0,x4=e[Li>>2]|0,Mi=25648+(x4<<2)|0,G8=e[Mi>>2]|0,di=G8+20|0,$9=e[di>>2]|0,B8=e[z8>>2]|0,vt=B8+(ii<<2)|0,y8=e[vt>>2]|0,U8=VC[$9&7](t,y8,X4,D9,Io)|0,kn=e[l0>>2]|0,As=(kn|0)>0,As)for(An=0,Rn=0;;)if(zr=($6+4|0)+(Rn<<2)|0,$s=e[zr>>2]|0,Jr=($s|0)==(x7|0),Jr?(ls=e2+(Rn<<2)|0,cs=e[ls>>2]|0,Kr=An+1|0,gs=X4+(An<<2)|0,e[gs>>2]=cs,xn=Kr):xn=An,or=Rn+1|0,hs=(or|0)<(kn|0),hs)An=xn,Rn=or;else{_n=xn;break}else _n=0;if(ds=e[Li>>2]|0,Wr=25648+(ds<<2)|0,fs=e[Wr>>2]|0,Zr=fs+24|0,jr=e[Zr>>2]|0,Is=e[z8>>2]|0,sr=Is+(ii<<2)|0,Xr=e[sr>>2]|0,oQ[jr&3](dt,t,Xr,X4,D9,_n,U8,x7)|0,ar=x7+1|0,to=e[$6>>2]|0,ms=(ar|0)<(to|0),ms)x7=ar;else break}if(ps=E7+1|0,Es=Pu(t)|0,Ar=(Es|0)!=0,io=Ar?14:7,Cs=(E7|0)<(io|0),Cs)E7=ps;else{a=0;break}}return C=Ir,a|0}function Rb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=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,Y1=F1+28|0,W1=e[Y1>>2]|0,k2=k+104|0,U2=e[k2>>2]|0,p5=t+28|0,N5=e[p5>>2]|0,w=W1+(N5<<2)|0,J=e[w>>2]|0,i0=t+36|0,e[i0>>2]=J,d0=F1+4|0,Z0=e[d0>>2]|0,P0=Z0<<2,g=P0,o1=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,m1=C,C=C+((1*I|0)+15&-16)|0,C1=e[d0>>2]|0,y1=(C1|0)>0,y1)for(v1=o+4|0,k1=o+1028|0,S1=U2+48|0,L1=J<<1,M1=L1&2147483646,X2=0;;)if(P1=v1+(X2<<2)|0,X1=e[P1>>2]|0,G1=k1+(X1<<2)|0,x1=e[G1>>2]|0,K1=(W1+800|0)+(x1<<2)|0,q1=e[K1>>2]|0,H1=25640+(q1<<2)|0,V1=e[H1>>2]|0,t2=V1+20|0,s2=e[t2>>2]|0,e2=e[S1>>2]|0,O1=e2+(x1<<2)|0,h2=e[O1>>2]|0,Z1=pi[s2&15](t,h2)|0,I2=m1+(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,c2=X2+1|0,r2=e[d0>>2]|0,g2=(c2|0)<(r2|0),g2)X2=c2;else{a1=r2;break}else a1=C1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,d2=0;n2=U1+(d2<<2)|0,D2=e[n2>>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,J2=B1+(O2<<2)|0,e[J2>>2]=1),V2=d2+1|0,Z2=(V2|0)<(_1|0),Z2;)d2=V2;if(o2=e[o>>2]|0,l2=(o2|0)>0,l2){for(i2=o+1092|0,a2=U2+52|0,m2=o+4|0,A5=a1,v5=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)==(v5|0),T5?(i5=B1+(I5<<2)|0,x5=e[i5>>2]|0,j2=X0+(d5<<2)|0,R5=(x5|0)!=0,$=R5&1,e[j2>>2]=$,D5=e[t>>2]|0,V5=D5+(I5<<2)|0,u5=e[V5>>2]|0,b2=d5+1|0,y5=o1+(d5<<2)|0,e[y5>>2]=u5,B=e[d0>>2]|0,R2=B,l5=b2):(R2=$1,l5=d5),s5=I5+1|0,F2=(s5|0)<(R2|0),F2)$1=R2,d5=l5,I5=s5;else{_5=l5;break}else _5=0;if(Q2=i2+(v5<<2)|0,Q5=e[Q2>>2]|0,E5=(W1+1312|0)+(Q5<<2)|0,L5=e[E5>>2]|0,q5=25648+(L5<<2)|0,M5=e[q5>>2]|0,z2=M5+28|0,C5=e[z2>>2]|0,$5=e[a2>>2]|0,h5=$5+(Q5<<2)|0,w5=e[h5>>2]|0,VC[C5&7](t,w5,o1,X0,_5)|0,T1=v5+1|0,_=e[o>>2]|0,Q=(T1|0)<(_|0),!Q)break;y=e[d0>>2]|0,A5=y,v5=T1}b=e[b1>>2]|0,x=b}else x=_1;if(R=(x|0)>0,R)for(L=o+1160|0,F=e[t>>2]|0,N=o+2184|0,O=(J|0)/2&-1,H=(J|0)>1,a5=x;;){if(n5=a5+-1|0,s0=L+(n5<<2)|0,K=e[s0>>2]|0,o0=F+(K<<2)|0,Y=e[o0>>2]|0,h0=N+(n5<<2)|0,e0=e[h0>>2]|0,u0=F+(e0<<2)|0,c0=e[u0>>2]|0,H)for(r5=0;;){$0=Y+(r5<<2)|0,l0=+s[$0>>2],X=c0+(r5<<2)|0,m0=+s[X>>2],g0=l0>0,I0=m0>0;do if(g0)if(I0){s[$0>>2]=l0,r0=l0-m0,s[X>>2]=r0;break}else{s[X>>2]=l0,p0=m0+l0,s[$0>>2]=p0;break}else if(I0){s[$0>>2]=l0,C0=m0+l0,s[X>>2]=C0;break}else{s[X>>2]=l0,b0=l0-m0,s[$0>>2]=b0;break}while(!1);if(y0=r5+1|0,D0=(y0|0)<(O|0),D0)r5=y0;else break}if(V=(a5|0)>1,V)a5=n5;else break}if(t0=e[d0>>2]|0,Z=(t0|0)>0,!Z)return C=T2,0;for(A0=o+4|0,j=o+1028|0,n0=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,N0=e[v0>>2]|0,U0=(W1+800|0)+(N0<<2)|0,O0=e[U0>>2]|0,H0=25640+(O0<<2)|0,S0=e[H0>>2]|0,J0=S0+24|0,T0=e[J0>>2]|0,M0=e[n0>>2]|0,W0=M0+(N0<<2)|0,K0=e[W0>>2]|0,V0=m1+(f5<<2)|0,j0=e[V0>>2]|0,qC[T0&3](t,K0,j0,B0)|0,q0=f5+1|0,Y0=e[d0>>2]|0,s1=(q0|0)<(Y0|0),s1)f5=q0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=T2,0;for(K2=0;z0=e[t>>2]|0,n1=z0+(K2<<2)|0,L0=e[n1>>2]|0,d1=e[p5>>2]|0,u1=(U2+12|0)+(d1<<2)|0,p1=e[u1>>2]|0,f1=e[p1>>2]|0,Fb(f1,L0,L0),h1=K2+1|0,A1=e[d0>>2]|0,c1=(h1|0)<(A1|0),c1;)K2=h1;return C=T2,0}function TC(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=R9($)|0,J=a+o|0,i0=J<<2,d0=R9(i0)|0,Z0=o>>1,P0=+(o|0),o1=P0,B1=+ir(+o1),g=B1*1.4426950408889634,d=+K7(g),p=~~d,I=t+4|0,e[I>>2]=p,e[t>>2]=o,E=t+8|0,e[E>>2]=d0,y=t+12|0,e[y>>2]=w,B=(o|0)>3,!B){X0=4/P0,m1=t+16|0,s[m1>>2]=X0;return}for(b=+(o|0),D=3.141592653589793/b,k=o<<1,_=+(k|0),Q=3.141592653589793/_,v1=0;N=v1<<2,O=+(N|0),H=D*O,V=+AA(+H),t0=V,Z=v1<<1,A0=d0+(Z<<2)|0,s[A0>>2]=t0,j=+Vr(+H),n0=j,s0=-n0,K=Z|1,o0=d0+(K<<2)|0,s[o0>>2]=s0,Y=+(K|0),h0=Q*Y,e0=+AA(+h0),u0=e0,c0=Z+Z0|0,$0=d0+(c0<<2)|0,s[$0>>2]=u0,l0=+Vr(+h0),X=l0,m0=c0+1|0,g0=d0+(m0<<2)|0,s[g0>>2]=X,I0=v1+1|0,r0=(I0|0)<(a|0),r0;)v1=I0;if(x=(o|0)/8&-1,R=(o|0)>7,!R){X0=4/P0,m1=t+16|0,s[m1>>2]=X0;return}for(L=+(o|0),F=3.141592653589793/L,k1=0;p0=k1<<2,C0=p0|2,b0=+(C0|0),y0=F*b0,D0=+AA(+y0),E0=D0*.5,Q0=E0,w0=k1<<1,B0=w0+o|0,x0=d0+(B0<<2)|0,s[x0>>2]=Q0,R0=+Vr(+y0),v0=R0*-.5,N0=v0,U0=B0+1|0,O0=d0+(U0<<2)|0,s[O0>>2]=N0,H0=k1+1|0,S0=(H0|0)<(x|0),S0;)k1=H0;if(J0=p+-1|0,T0=1<>2]=X0;return}for(;;){for(j0=K0,Q1=0,L1=0;;)if(V0=j0&S1,q0=(V0|0)==0,Y0=1<>z0,L0=(n1|0)==0,L0){y1=C1;break}else j0=n1,Q1=C1,L1=z0;if(d1=y1^-1,u1=M0&d1,p1=u1+-1|0,f1=S1<<1,h1=w+(f1<<2)|0,e[h1>>2]=p1,A1=f1|1,c1=w+(A1<<2)|0,e[c1>>2]=y1,a1=S1+1|0,$1=(a1|0)<(x|0),$1)S1=a1;else break}X0=4/P0,m1=t+16|0,s[m1>>2]=X0}function NC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;y=C,o=(t|0)==0,!o&&(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 Fb(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=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=o+($<<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;B5=L3+-16|0,w3=H5+8|0,E=+s[w3>>2],L=u3+12|0,n0=+s[L>>2],l0=E*n0,D0=-l0,O0=+s[H5>>2],q0=u3+8|0,h1=+s[q0>>2],v1=h1*O0,P1=D0-v1,s[B5>>2]=P1,O1=+s[H5>>2],g2=+s[L>>2],k2=g2*O1,D2=+s[w3>>2],S2=+s[q0>>2],y2=S2*D2,G2=k2-y2,M2=L3+-12|0,s[M2>>2]=G2,O2=H5+24|0,p2=+s[O2>>2],q2=u3+4|0,J2=+s[q2>>2],U2=p2*J2,V2=-U2,Z2=H5+16|0,A5=+s[Z2>>2],Y2=+s[u3>>2],N1=Y2*A5,t5=V2-N1,T5=L3+-8|0,s[T5>>2]=t5,x5=+s[Z2>>2],j2=+s[q2>>2],p5=j2*x5,D5=+s[O2>>2],V5=+s[u3>>2],u5=V5*D5,b2=p5-u5,y5=L3+-4|0,s[y5>>2]=b2,s5=H5+-32|0,F2=u3+16|0,Q2=s5>>>0>>0,!Q2;)u3=F2,H5=s5,L3=B5;for(Q5=a+(I<<2)|0,d=I+-8|0,N5=o+(d<<2)|0,Q3=f5,Y5=N5,D3=i5;E5=Q3+-16|0,L5=Y5+16|0,q5=+s[L5>>2],M5=Q3+-4|0,z2=+s[M5>>2],C5=z2*q5,$5=Y5+24|0,w5=+s[$5>>2],T1=Q3+-8|0,_5=+s[T1>>2],d5=_5*w5,l5=d5+C5,s[D3>>2]=l5,X2=+s[L5>>2],d2=+s[T1>>2],v5=d2*X2,n5=+s[$5>>2],a5=+s[M5>>2],K2=a5*n5,I5=v5-K2,r5=D3+4|0,s[r5>>2]=I5,R5=+s[Y5>>2],e5=Q3+-12|0,c5=+s[e5>>2],T2=c5*R5,k5=Y5+8|0,z5=+s[k5>>2],i3=+s[E5>>2],I3=i3*z5,d3=I3+T2,W5=D3+8|0,s[W5>>2]=d3,n3=+s[Y5>>2],a3=+s[E5>>2],y3=a3*n3,G5=+s[k5>>2],Z5=+s[e5>>2],x3=Z5*G5,f3=y3-x3,e6=D3+12|0,s[e6>>2]=f3,H3=Y5+-32|0,X5=D3+16|0,_3=H3>>>0>>0,!_3;)Q3=E5,Y5=H3,D3=X5;for(l6=t+4|0,r3=e[l6>>2]|0,My(r3,h5,Q5,I),l3=e[t>>2]|0,U3=e[R2>>2]|0,C6=t+12|0,b3=e[C6>>2]|0,Ry(l3,U3,b3,a),t3=e[R2>>2]|0,a6=t3+(I<<2)|0,J5=a6,b5=a,A6=i5,j5=i5;G3=A6+-16|0,V3=+s[b5>>2],c3=J5+4|0,g3=+s[c3>>2],y=g3*V3,B=b5+4|0,b=+s[B>>2],D=+s[J5>>2],k=D*b,w=y-k,_=A6+-4|0,s[_>>2]=w,Q=+s[b5>>2],x=+s[J5>>2],R=x*Q,F=+s[B>>2],N=+s[c3>>2],O=N*F,H=R+O,V=-H,s[j5>>2]=V,J=b5+8|0,t0=+s[J>>2],Z=J5+12|0,A0=+s[Z>>2],j=A0*t0,s0=b5+12|0,K=+s[s0>>2],o0=J5+8|0,Y=+s[o0>>2],h0=Y*K,i0=j-h0,e0=A6+-8|0,s[e0>>2]=i0,u0=+s[J>>2],c0=+s[o0>>2],$0=c0*u0,X=+s[s0>>2],m0=+s[Z>>2],g0=m0*X,I0=$0+g0,r0=-I0,d0=j5+4|0,s[d0>>2]=r0,p0=b5+16|0,C0=+s[p0>>2],b0=J5+20|0,y0=+s[b0>>2],E0=y0*C0,Q0=b5+20|0,w0=+s[Q0>>2],B0=J5+16|0,x0=+s[B0>>2],Z0=x0*w0,R0=E0-Z0,v0=A6+-12|0,s[v0>>2]=R0,N0=+s[p0>>2],U0=+s[B0>>2],H0=U0*N0,S0=+s[Q0>>2],J0=+s[b0>>2],T0=J0*S0,M0=H0+T0,P0=-M0,W0=j5+8|0,s[W0>>2]=P0,K0=b5+24|0,V0=+s[K0>>2],j0=J5+28|0,Y0=+s[j0>>2],s1=Y0*V0,z0=b5+28|0,n1=+s[z0>>2],L0=J5+24|0,o1=+s[L0>>2],d1=o1*n1,u1=s1-d1,s[G3>>2]=u1,p1=+s[K0>>2],f1=+s[L0>>2],A1=f1*p1,c1=+s[z0>>2],a1=+s[j0>>2],$1=a1*c1,X0=A1+$1,B1=-X0,m1=j5+12|0,s[m1>>2]=B1,Q1=j5+16|0,C1=b5+32|0,y1=J5+32|0,k1=C1>>>0>>0,k1;)J5=y1,b5=C1,A6=G3,j5=Q1;for(S1=a+(e2<<2)|0,Y3=i5,n6=S1,M3=S1;;)if(L1=n6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=n6+-4|0,s[R1>>2]=_1,F1=-_1,s[M3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],X1=n6+-8|0,s[X1>>2]=D1,G1=-D1,x1=M3+4|0,s[x1>>2]=G1,K1=Y3+-12|0,q1=+s[K1>>2],H1=n6+-12|0,s[H1>>2]=q1,V1=-q1,Y1=M3+8|0,s[Y1>>2]=V1,t2=+s[M1>>2],s[L1>>2]=t2,s2=-t2,h2=M3+12|0,s[h2>>2]=s2,Z1=M3+16|0,I2=Z1>>>0>>0,I2)Y3=M1,n6=L1,M3=Z1;else{U5=i5,z3=i5;break}for(;A2=z3+-16|0,C2=U5+12|0,$2=e[C2>>2]|0,e[A2>>2]=$2,W1=U5+8|0,f2=e[W1>>2]|0,c2=z3+-12|0,e[c2>>2]=f2,r2=U5+4|0,o2=e[r2>>2]|0,l2=z3+-8|0,e[l2>>2]=o2,i2=e[U5>>2]|0,a2=z3+-4|0,e[a2>>2]=i2,m2=U5+16|0,n2=A2>>>0>Q5>>>0,n2;)U5=m2,z3=A2}function Ly(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0;if(z5=C,k=e[t>>2]|0,w=k>>1,s1=k>>2,c1=k>>3,S1=k<<2,$=S1,G1=C,C=C+((1*$|0)+15&-16)|0,h2=G1+(w<<2)|0,g=w+s1|0,o2=o+(g<<2)|0,M2=t+8|0,N1=e[M2>>2]|0,_=N1+(w<<2)|0,t0=(c1|0)>0,t0){for(d=g+1|0,e0=o+(d<<2)|0,p0=c1+-1|0,R0=p0>>>1,W0=R0<<1,V0=w+-2|0,j0=V0-W0|0,q0=g+-4|0,Y0=R0<<2,z0=q0-Y0|0,s5=_,L5=0,f5=o2,R5=e0;n1=f5+-16|0,L0=s5+-8|0,o1=f5+-8|0,d1=+s[o1>>2],u1=+s[R5>>2],p1=u1+d1,f1=+s[n1>>2],h1=R5+8|0,A1=+s[h1>>2],a1=A1+f1,$1=s5+-4|0,X0=+s[$1>>2],B1=a1*X0,m1=+s[L0>>2],Q1=m1*p1,C1=Q1+B1,b=L5+w|0,y1=G1+(b<<2)|0,s[y1>>2]=C1,v1=+s[L0>>2],k1=v1*a1,L1=+s[$1>>2],M1=L1*p1,b1=k1-M1,_1=L5|1,D=_1+w|0,R1=G1+(D<<2)|0,s[R1>>2]=b1,F1=R5+16|0,U1=L5+2|0,D1=(U1|0)<(c1|0),D1;)s5=L0,L5=U1,f5=n1,R5=F1;P1=W0+2|0,d2=N1+(j0<<2)|0,v5=o+(z0<<2)|0,Y2=j0,y5=d2,E5=P1,a5=v5}else Y2=w,y5=_,E5=0,a5=o2;if(X1=o+4|0,x1=w-c1|0,K1=(E5|0)<(x1|0),K1){for(q1=w+-1|0,H1=q1-E5|0,V1=H1-c1|0,Y1=V1>>>1,t2=Y1<<1,s2=E5+t2|0,e2=Y1<<2,O1=e2+5|0,Z1=-2-t2|0,R2=y5,M5=E5,K2=a5,c5=X1;I2=R2+-8|0,A2=K2+-16|0,C2=K2+-8|0,$2=+s[C2>>2],W1=+s[c5>>2],f2=$2-W1,c2=+s[A2>>2],r2=c5+8|0,g2=+s[r2>>2],l2=c2-g2,i2=R2+-4|0,a2=+s[i2>>2],m2=l2*a2,n2=+s[I2>>2],k2=n2*f2,D2=k2+m2,E=M5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,y2=+s[I2>>2],G2=y2*l2,O2=+s[i2>>2],p2=O2*f2,W2=G2-p2,q2=M5|1,y=q2+w|0,J2=G1+(y<<2)|0,s[J2>>2]=W2,U2=c5+16|0,V2=M5+2|0,Z2=(V2|0)<(x1|0),Z2;)R2=I2,M5=V2,K2=A2,c5=U2;A5=s2+2|0,l5=o+(O1<<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)<(w|0),t5)for(T5=o+(k<<2)|0,Q2=F2,z2=q5,I5=T5,T2=e5;i5=Q2+-8|0,x5=I5+-16|0,j2=I5+-8|0,p5=+s[j2>>2],D5=-p5,V5=+s[T2>>2],u5=D5-V5,b2=+s[x5>>2],Q=-b2,x=T2+8|0,R=+s[x>>2],L=Q-R,F=Q2+-4|0,N=+s[F>>2],O=L*N,H=+s[i5>>2],V=H*u5,J=V+O,p=z2+w|0,Z=G1+(p<<2)|0,s[Z>>2]=J,A0=+s[i5>>2],j=A0*L,n0=+s[F>>2],s0=n0*u5,K=j-s0,o0=z2|1,I=o0+w|0,Y=G1+(I<<2)|0,s[Y>>2]=K,h0=T2+16|0,i0=z2+2|0,u0=(i0|0)<(w|0),u0;)Q2=i5,z2=i0,I5=x5,T2=h0;if($5=t+4|0,h5=e[$5>>2]|0,My(h5,N1,h2,w),d5=e[t>>2]|0,w5=e[M2>>2]|0,T1=t+12|0,_5=e[T1>>2]|0,Ry(d5,w5,_5,G1),c0=(s1|0)>0,!c0){C=z5;return}for($0=a+(w<<2)|0,l0=e[M2>>2]|0,X=l0+(w<<2)|0,m0=t+16|0,Q5=X,C5=0,n5=G1,r5=$0;g0=r5+-4|0,I0=+s[n5>>2],r0=+s[Q5>>2],d0=r0*I0,C0=n5+4|0,b0=+s[C0>>2],y0=Q5+4|0,D0=+s[y0>>2],E0=D0*b0,Q0=E0+d0,w0=+s[m0>>2],B0=Q0*w0,x0=a+(C5<<2)|0,s[x0>>2]=B0,Z0=+s[n5>>2],v0=+s[y0>>2],N0=v0*Z0,U0=+s[C0>>2],O0=+s[Q5>>2],H0=O0*U0,S0=N0-H0,J0=+s[m0>>2],T0=S0*J0,s[g0>>2]=T0,M0=n5+8|0,P0=Q5+8|0,K0=C5+1|0,N5=(K0|0)==(s1|0),!N5;)Q5=P0,C5=K0,n5=M0,r5=g0;C=z5}function My(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0,y8=0,U8=0,rr=0,kn=0;if(kn=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=o,B8=V5,y8=e8;dt=B8+24|0,Vi=+s[dt>>2],Qi=y8+24|0,ki=+s[Qi>>2],bi=Vi-ki,y0=B8+28|0,U0=+s[y0>>2],j0=y8+28|0,f1=+s[j0>>2],y1=U0-f1,D1=ki+Vi,s[dt>>2]=D1,s2=+s[j0>>2],c2=s2+U0,s[y0>>2]=c2,S2=g+4|0,Z2=+s[S2>>2],u5=Z2*y1,q5=+s[g>>2],X2=q5*bi,c5=X2+u5,s[Qi>>2]=c5,y3=+s[g>>2],a6=y3*y1,Y3=+s[S2>>2],n6=Y3*bi,S6=a6-n6,s[j0>>2]=S6,K3=B8+16|0,H6=+s[K3>>2],g9=y8+16|0,r9=+s[g9>>2],w9=H6-r9,Me=B8+20|0,Ye=+s[Me>>2],Y4=y8+20|0,fe=+s[Y4>>2],I6=Ye-fe,xe=r9+H6,s[K3>>2]=xe,I8=+s[Y4>>2],Yt=I8+Ye,s[Me>>2]=Yt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*I6,_4=g+16|0,T9=+s[_4>>2],Ft=T9*w9,u8=Ft+Bt,s[g9>>2]=u8,j8=+s[_4>>2],Nt=j8*I6,T8=+s[at>>2],Xt=T8*w9,O4=Nt-Xt,s[Y4>>2]=O4,C4=B8+8|0,Ae=+s[C4>>2],N8=y8+8|0,$i=+s[N8>>2],qi=Ae-$i,Hi=B8+12|0,Ei=+s[Hi>>2],X8=y8+12|0,Ci=+s[X8>>2],ei=Ei-Ci,Bi=$i+Ae,s[C4>>2]=Bi,ti=+s[X8>>2],yi=ti+Ei,s[Hi>>2]=yi,li=g+36|0,g7=+s[li>>2],Yi=g7*ei,wi=g+32|0,u7=+s[wi>>2],vi=u7*qi,ci=vi+Yi,s[N8>>2]=ci,h7=+s[wi>>2],zi=h7*ei,Ji=+s[li>>2],Ki=Ji*qi,Wi=zi-Ki,s[X8>>2]=Wi,gi=+s[B8>>2],Zi=+s[y8>>2],ii=gi-Zi,ui=B8+4|0,J8=+s[ui>>2],ni=y8+4|0,d7=+s[ni>>2],ji=J8-d7,f7=Zi+gi,s[B8>>2]=f7,Si=+s[ni>>2],Xi=Si+J8,s[ui>>2]=Xi,Di=g+52|0,e7=+s[Di>>2],_i=e7*ji,ri=g+48|0,xi=+s[ri>>2],t7=xi*ii,hi=t7+_i,s[y8>>2]=hi,K8=+s[ri>>2],Li=K8*ji,x4=+s[Di>>2],D0=x4*ii,E0=Li-D0,s[ni>>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,H=O0+1|0,h0=O0<<1,$0=h0|1,m0=O0*3|0,I0=m0+1|0,d0=O0<<2,di=0;;){for(J0=o5(di,N0)|0,T0=a+(J0<<2)|0,p=E+J0|0,M0=a+(p<<2)|0,u0=b+J0|0,P0=a+(u0<<2)|0,d=o,vt=M0,U8=P0;W0=vt+24|0,K0=+s[W0>>2],V0=U8+24|0,q0=+s[V0>>2],Y0=K0-q0,s1=vt+28|0,z0=+s[s1>>2],n1=U8+28|0,L0=+s[n1>>2],o1=z0-L0,d1=q0+K0,s[W0>>2]=d1,u1=+s[n1>>2],p1=u1+z0,s[s1>>2]=p1,h1=d+4|0,A1=+s[h1>>2],c1=A1*o1,a1=+s[d>>2],$1=a1*Y0,X0=$1+c1,s[V0>>2]=X0,B1=+s[d>>2],m1=B1*o1,Q1=+s[h1>>2],C1=Q1*Y0,v1=m1-C1,s[n1>>2]=v1,k1=d+(O0<<2)|0,S1=vt+16|0,L1=+s[S1>>2],M1=U8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=U8+20|0,P1=+s[U1>>2],X1=F1-P1,G1=b1+L1,s[S1>>2]=G1,x1=+s[U1>>2],K1=x1+F1,s[R1>>2]=K1,q1=d+(H<<2)|0,H1=+s[q1>>2],V1=H1*X1,Y1=+s[k1>>2],t2=Y1*_1,e2=t2+V1,s[M1>>2]=e2,O1=+s[k1>>2],h2=O1*X1,Z1=+s[q1>>2],I2=Z1*_1,A2=h2-I2,s[U1>>2]=A2,C2=d+(h0<<2)|0,$2=vt+8|0,W1=+s[$2>>2],f2=U8+8|0,r2=+s[f2>>2],g2=W1-r2,o2=vt+12|0,l2=+s[o2>>2],i2=U8+12|0,a2=+s[i2>>2],m2=l2-a2,n2=r2+W1,s[$2>>2]=n2,k2=+s[i2>>2],D2=k2+l2,s[o2>>2]=D2,y2=d+($0<<2)|0,G2=+s[y2>>2],M2=G2*m2,O2=+s[C2>>2],p2=O2*g2,W2=p2+M2,s[f2>>2]=W2,q2=+s[C2>>2],J2=q2*m2,U2=+s[y2>>2],V2=U2*g2,A5=J2-V2,s[i2>>2]=A5,Y2=d+(m0<<2)|0,N1=+s[vt>>2],t5=+s[U8>>2],T5=N1-t5,i5=vt+4|0,x5=+s[i5>>2],j2=U8+4|0,p5=+s[j2>>2],D5=x5-p5,b2=t5+N1,s[vt>>2]=b2,y5=+s[j2>>2],s5=y5+x5,s[i5>>2]=s5,F2=d+(I0<<2)|0,R2=+s[F2>>2],Q2=R2*D5,Q5=+s[Y2>>2],N5=Q5*T5,E5=N5+Q2,s[U8>>2]=E5,L5=+s[Y2>>2],M5=L5*D5,z2=+s[F2>>2],C5=z2*T5,$5=M5-C5,s[j2>>2]=$5,h5=d+(d0<<2)|0,w5=vt+-32|0,T1=U8+-32|0,_5=T1>>>0>>0,!_5;)d=h5,vt=w5,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(S0=($|0)>0,S0)$9=0;else return;for(;v5=a+($9<<2)|0,y=$9|30,n5=a+(y<<2)|0,a5=+s[n5>>2],O=$9|14,f5=a+(O<<2)|0,K2=+s[f5>>2],I5=a5-K2,Y=$9|31,r5=a+(Y<<2)|0,R5=+s[r5>>2],c0=$9|15,e5=a+(c0<<2)|0,T2=+s[e5>>2],k5=R5-T2,z5=K2+a5,s[n5>>2]=z5,i3=T2+R5,s[r5>>2]=i3,s[f5>>2]=I5,s[e5>>2]=k5,l0=$9|28,B5=a+(l0<<2)|0,I3=+s[B5>>2],X=$9|12,d3=a+(X<<2)|0,W5=+s[d3>>2],n3=I3-W5,g0=$9|29,a3=a+(g0<<2)|0,G5=+s[a3>>2],r0=$9|13,Z5=a+(r0<<2)|0,x3=+s[Z5>>2],f3=G5-x3,w3=W5+I3,s[B5>>2]=w3,e6=x3+G5,s[a3>>2]=e6,H3=n3*.9238795042037964,X5=f3*.3826834261417389,_3=H3-X5,s[d3>>2]=_3,t3=n3*.3826834261417389,G3=f3*.9238795042037964,V3=G3+t3,s[Z5>>2]=V3,p0=$9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],D=$9|10,u3=a+(D<<2)|0,Q3=+s[u3>>2],J5=g3-Q3,k=$9|27,H5=a+(k<<2)|0,Y5=+s[H5>>2],w=$9|11,b5=a+(w<<2)|0,U5=+s[b5>>2],l6=Y5-U5,r3=Q3+g3,s[c3>>2]=r3,l3=U5+Y5,s[H5>>2]=l3,U3=J5-l6,C6=U3*.7071067690849304,s[u3>>2]=C6,b3=l6+J5,L3=b3*.7071067690849304,s[b5>>2]=L3,_=$9|24,D3=a+(_<<2)|0,A6=+s[D3>>2],Q=$9|8,z3=a+(Q<<2)|0,j5=+s[z3>>2],M3=A6-j5,x=$9|25,h3=a+(x<<2)|0,J3=+s[h3>>2],R=$9|9,d6=a+(R<<2)|0,m3=+s[d6>>2],x6=J3-m3,L6=j5+A6,s[D3>>2]=L6,M6=m3+J3,s[h3>>2]=M6,r6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=r6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,v6=N6+j6,L=$9|22,R3=a+(L<<2)|0,o6=+s[R3>>2],F=$9|6,s6=a+(F<<2)|0,B6=+s[s6>>2],F3=o6-B6,N=$9|7,W3=a+(N<<2)|0,t6=+s[W3>>2],V=$9|23,R6=a+(V<<2)|0,c6=+s[R6>>2],o3=t6-c6,J6=B6+o6,s[R3>>2]=J6,A3=c6+t6,s[R6>>2]=A3,s[s6>>2]=o3,s[W3>>2]=F3,J=$9|4,g6=a+(J<<2)|0,y6=+s[g6>>2],t0=$9|20,$6=a+(t0<<2)|0,D6=+s[$6>>2],G6=y6-D6,Z=$9|5,e9=a+(Z<<2)|0,Q6=+s[e9>>2],A0=$9|21,X6=a+(A0<<2)|0,P3=+s[X6>>2],n9=Q6-P3,V6=D6+y6,s[$6>>2]=V6,o9=P3+Q6,s[X6>>2]=o9,U6=n9*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,t9=n9*.3826834261417389,_6=G6*.9238795042037964,P6=t9-_6,j=$9|2,O3=a+(j<<2)|0,O6=+s[O3>>2],n0=$9|18,s9=a+(n0<<2)|0,h9=+s[s9>>2],B9=O6-h9,s0=$9|3,y9=a+(s0<<2)|0,Q9=+s[y9>>2],K=$9|19,d9=a+(K<<2)|0,f9=+s[d9>>2],V9=Q9-f9,w6=h9+O6,s[s9>>2]=w6,q6=f9+Q9,s[d9>>2]=q6,a9=V9+B9,Y9=a9*.7071067690849304,we=V9-B9,ue=we*.7071067690849304,Ee=+s[v5>>2],o0=$9|16,z9=a+(o0<<2)|0,ne=+s[z9>>2],F9=Ee-ne,i0=$9|1,v9=a+(i0<<2)|0,K6=+s[v9>>2],e0=$9|17,A9=a+(e0<<2)|0,ve=+s[A9>>2],he=K6-ve,_9=ne+Ee,s[z9>>2]=_9,Re=ve+K6,s[A9>>2]=Re,Fe=he*.3826834261417389,Ue=F9*.9238795042037964,He=Fe+Ue,r4=he*.9238795042037964,ke=F9*.3826834261417389,Ve=r4-ke,J9=Ve-v6,de=He-b6,Pe=He+b6,Ce=Ve+v6,v4=de+J9,Z9=J9-de,k9=+s[b5>>2],k4=ue-k9,V4=+s[u3>>2],rt=V4-Y9,ze=V4+Y9,Je=k9+ue,o4=+s[d3>>2],R4=o4-F6,ot=+s[Z5>>2],re=ot-P6,u4=o4+F6,Be=ot+P6,T6=R4-re,Ke=re+R4,O9=+s[f5>>2],Te=O9-o3,h4=+s[e5>>2],oe=h4-F3,d4=o3+O9,f4=F3+h4,Se=Te+k4,s4=Te-k4,Oe=T6+v4,I4=Oe*.7071067690849304,S9=T6-v4,z4=S9*.7071067690849304,Ie=I4+Se,s[s6>>2]=Ie,S4=Se-I4,s[g6>>2]=S4,be=Ke-Z9,me=be*.7071067690849304,z6=oe-rt,F4=me+s4,s[v5>>2]=F4,T4=s4-me,s[O3>>2]=T4,st=Ke+Z9,pe=st*.7071067690849304,mt=oe+rt,Z3=z6+z4,s[y9>>2]=Z3,x9=z6-z4,s[v9>>2]=x9,b9=mt+pe,s[W3>>2]=b9,qe=mt-pe,s[e9>>2]=qe,a4=d4+ze,d8=d4-ze,N4=Pe+u4,f8=u4-Pe,_8=a4+N4,s[f5>>2]=_8,m8=a4-N4,s[d3>>2]=m8,Ut=Be-Ce,Pt=f4-Je,Ot=d8+Ut,s[z3>>2]=Ot,qt=d8-Ut,s[u3>>2]=qt,t8=Be+Ce,i8=f4+Je,x8=Pt+f8,s[b5>>2]=x8,Ht=Pt-f8,s[d6>>2]=Ht,Vt=i8+t8,s[e5>>2]=Vt,_t=i8-t8,s[Z5>>2]=_t,xt=+s[h3>>2],pt=Re-xt,zt=+s[D3>>2],Jt=_9-zt,n8=zt+_9,r8=xt+Re,Et=Jt+pt,J4=pt-Jt,G4=+s[d9>>2],Lt=+s[H5>>2],L9=G4-Lt,p8=+s[c3>>2],b4=+s[s9>>2],E8=p8-b4,L8=b4+p8,o8=Lt+G4,M8=+s[B5>>2],A4=+s[$6>>2],s8=M8-A4,Mt=+s[a3>>2],At=+s[X6>>2],We=Mt-At,U4=A4+M8,$t=At+Mt,Ct=s8-We,Rt=We+s8,m4=+s[n5>>2],se=+s[R3>>2],lt=m4-se,ct=+s[r5>>2],yt=+s[R6>>2],p4=ct-yt,D4=se+m4,K4=yt+ct,W4=lt+L9,ae=lt-L9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,De=gt*.7071067690849304,Qt=E4+W4,s[R3>>2]=Qt,a8=W4-E4,s[$6>>2]=a8,Ze=Rt-J4,C3=Ze*.7071067690849304,Z4=p4-E8,wt=C3+ae,s[z9>>2]=wt,$4=ae-C3,s[s9>>2]=$4,j9=Rt+J4,l4=j9*.7071067690849304,j4=p4+E8,Wt=Z4+De,s[d9>>2]=Wt,C8=Z4-De,s[A9>>2]=C8,A8=j4+l4,s[R6>>2]=A8,$8=j4-l4,s[X6>>2]=$8,Zt=D4+L8,l8=D4-L8,jt=U4+n8,ut=U4-n8,ht=Zt+jt,s[n5>>2]=ht,je=Zt-jt,s[B5>>2]=je,c8=$t-r8,Tt=K4-o8,X4=l8+c8,s[D3>>2]=X4,D9=l8-c8,s[c3>>2]=D9,g8=$t+r8,et=K4+o8,Y8=Tt+ut,s[H5>>2]=Y8,Z8=Tt-ut,s[h3>>2]=Z8,R8=et+g8,s[r5>>2]=R8,F8=et-g8,s[a3>>2]=F8,c4=$9+32|0,z8=(c4|0)<($|0),z8;)$9=c4}function Ry(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0;for(Q1=C,D=t>>1,k=$+(D<<2)|0,V=o+(t<<2)|0,a1=V,$1=a,X0=$,B1=k;h0=e[$1>>2]|0,g=h0+D|0,r0=$+(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,c1=+s[A1>>2],I=d+1|0,w=$+(I<<2)|0,_=+s[w>>2],Q=c1-_,x=+s[r0>>2],R=+s[L0>>2],L=R+x,F=+s[a1>>2],N=L*F,O=a1+4|0,H=+s[O>>2],J=H*Q,t0=J+N,Z=H*L,A0=F*Q,j=Z-A0,n0=B1+-16|0,s0=_+c1,K=s0*.5,o0=x-R,Y=o0*.5,i0=t0+K,s[X0>>2]=i0,e0=K-t0,u0=B1+-8|0,s[u0>>2]=e0,c0=j+Y,$0=X0+4|0,s[$0>>2]=c0,l0=j-Y,X=B1+-4|0,s[X>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+D|0,I0=$+(E<<2)|0,d0=$1+12|0,p0=e[d0>>2]|0,y=p0+D|0,C0=$+(y<<2)|0,B=E+1|0,b0=$+(B<<2)|0,y0=+s[b0>>2],b=y+1|0,D0=$+(b<<2)|0,E0=+s[D0>>2],Q0=y0-E0,w0=+s[I0>>2],B0=+s[C0>>2],Z0=B0+w0,R0=a1+8|0,v0=+s[R0>>2],N0=Z0*v0,U0=a1+12|0,O0=+s[U0>>2],H0=O0*Q0,S0=H0+N0,J0=O0*Z0,T0=v0*Q0,P0=J0-T0,W0=E0+y0,K0=W0*.5,V0=w0-B0,j0=V0*.5,q0=S0+K0,Y0=X0+8|0,s[Y0>>2]=q0,s1=K0-S0,s[n0>>2]=s1,z0=P0+j0,n1=X0+12|0,s[n1>>2]=z0,o1=P0-j0,d1=B1+-12|0,s[d1>>2]=o1,u1=a1+16|0,p1=$1+16|0,f1=X0+16|0,h1=f1>>>0>>0,h1;)a1=u1,$1=p1,X0=f1,B1=n0}function Tb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=ce(1,36)|0,d=t+4|0,p=e[d>>2]|0,I=g+4|0,e[I>>2]=p,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Nb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function Gb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Ub(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0;a9=C,w6=t,Y9=w6+48|0;do e[w6>>2]=0,w6=w6+4|0;while((w6|0)<(Y9|0));x=e[a>>2]|0,R=t+36|0,e[R>>2]=x,r2=+(x|0),i3=r2*8,f3=i3,g3=+ir(+f3),l3=g3*1.4426950408889634,h3=+K7(l3),N6=h3+-1,R6=~~N6,L=t+32|0,e[L>>2]=R6,n0=+(g|0),l0=n0*.25,D0=l0,O0=D0*.5,q0=+($|0),h1=O0/q0,v1=+ir(+h1),P1=v1*1.4426950216293335,e2=P1+-5.965784072875977,g2=R6+1|0,G2=1<>2]=c5,k5=+($|0),z5=k5+.25,B5=z5*n0,I3=B5,d3=I3*.5,W5=d3/q0,n3=+ir(+W5),a3=n3*1.4426950216293335,y3=a3+-5.965784072875977,G5=Y2*y3,Z5=G5+.5,x3=~~Z5,w3=1-c5|0,e6=w3+x3|0,H3=t+40|0,e[H3>>2]=e6,X5=$<<2,_3=R9(X5)|0,t3=t+16|0,e[t3>>2]=_3,a6=R9(X5)|0,G3=t+20|0,e[G3>>2]=a6,V3=R9(X5)|0,c3=t+24|0,e[c3>>2]=V3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,J5=t+48|0,s[J5>>2]=1,H5=(g|0)<26e3;do if(H5)s[J5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){s[J5>>2]=.9399999976158142;break}b5=(g|0)>46e3,b5&&(s[J5>>2]=1.274999976158142)}while(!1);Y3=q0*2,U5=+(g|0),l6=($|0)>0,b3=l6,t9=0,r9=0;e:for(;;){for(y=b3^1,_6=t9;;){if(D3=_6+1|0,A6=+(D3|0),n6=A6*.08664337545633316,z3=n6+2.7488713472395148,j5=+Yr(+z3),M3=Y3*j5,J3=M3/U5,d6=+K7(J3),m3=~~d6,E=(m3|0)<=(r9|0),e9=E|y,!e9){p=D3,I=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{h9=r9;break e}}for(L6=1272+(P6<<2)|0,M6=+s[L6>>2],S6=1272+(p<<2)|0,r6=+s[S6>>2],f6=r6-M6,b6=I-r9|0,j6=+(b6|0),v6=f6/j6,R3=r9-I|0,o6=r9-$|0,s6=R3>>>0>o6>>>0,V9=s6?R3:o6,r3=r9-V9|0,G6=M6,B9=r9;B6=G6+100,K3=_3+(B9<<2)|0,s[K3>>2]=B6,F3=G6+v6,W3=B9+1|0,V6=(W3|0)==(r3|0),!V6;)G6=F3,B9=W3;if(U3=(r3|0)<($|0),C6=(p|0)<87,C6)b3=U3,t9=p,r9=r3;else{h9=r3;break}}if(L3=(h9|0)<($|0),L3)for(y9=h9;H6=y9+-1|0,$6=_3+(H6<<2)|0,D6=e[$6>>2]|0,F=_3+(y9<<2)|0,e[F>>2]=D6,N=y9+1|0,n9=(N|0)==($|0),!n9;)y9=N;if(t6=($|0)>0,t6){for(c6=$<<1,o3=(g|0)/(c6|0)&-1,J6=o+120|0,A3=e[J6>>2]|0,g6=o+124|0,y6=o+116|0,T3=o+112|0,U6=1,O3=0,Q9=-99;;){Z=o5(o3,O3)|0,A0=+(Z|0),j=A0*.0007399999885819852,s0=j,K=+is(+s0),o0=K*13.100000381469727,Y=o5(Z,Z)|0,h0=+(Y|0),i0=h0*18499999754340024e-24,e0=i0,u0=+is(+e0),c0=u0*2.240000009536743,$0=c0+o0,X=A0*9999999747378752e-20,m0=X,g0=$0+m0,I0=g0,r0=A3+Q9|0,d0=(r0|0)<(O3|0);e:do if(d0)for(p0=+s[T3>>2],C0=I0-p0,b0=C0,f9=Q9;;){if(y0=o5(f9,o3)|0,E0=+(y0|0),Q0=E0*.0007399999885819852,w0=Q0,B0=+is(+w0),x0=B0*13.100000381469727,Z0=o5(y0,y0)|0,R0=+(Z0|0),v0=R0*18499999754340024e-24,N0=v0,U0=+is(+N0),H0=U0*2.240000009536743,S0=E0*9999999747378752e-20,J0=S0,T0=x0+J0,M0=T0+H0,P0=M0($|0);e:do if(W0)Y6=U6;else for(K0=e[g6>>2]|0,V0=K0+O3|0,F6=U6;;){if(z0=(F6|0)<(V0|0),!z0&&(n1=o5(F6,o3)|0,L0=+(n1|0),o1=L0*.0007399999885819852,d1=o1,u1=+is(+d1),p1=u1*13.100000381469727,f1=o5(n1,n1)|0,A1=+(f1|0),c1=A1*18499999754340024e-24,a1=c1,$1=+is(+a1),X0=$1*2.240000009536743,B1=L0*9999999747378752e-20,m1=B1,Q1=p1+m1,C1=Q1+X0,y1=+s[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,Q9=d9}if(t6)for(O=U5*.5,H=e[L>>2]|0,V=H+1|0,J=1<>2]=O1,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=o+36|0,A2=k/q0,C2=A2,$2=o+24|0,W1=+s[$2>>2],f2=o+28|0,c2=+s[f2>>2],o2=qb(I2,C2,$,W1,c2)|0,l2=t+8|0,e[l2>>2]=o2,i2=R9(12)|0,a2=t+12|0,e[a2>>2]=i2,m2=R9(X5)|0,e[i2>>2]=m2,n2=R9(X5)|0,k2=i2+4|0,e[k2>>2]=n2,D2=R9(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,w=e[B>>2]|0,b=i2+8|0,_=e[b>>2]|0,s9=0;M2=+(s9|0),O2=M2+.5,p2=O2*U5,W2=p2/Y3,q2=+ir(+W2),J2=q2*2.885390043258667,U2=J2+-11.931568145751953,V2=U2,Z2=V2<0,o9=Z2?0:V2,d=o9>=16,g9=d?16:o9,A5=~~g9,N1=+(A5|0),t5=g9-N1,T5=t5,i5=1-T5,x5=A5+1|0,j2=(y2+132|0)+(A5<<2)|0,p5=+s[j2>>2],D5=p5,V5=D5*i5,u5=(y2+132|0)+(x5<<2)|0,y5=+s[u5>>2],s5=y5*t5,F2=s5,R2=F2+V5,Q2=R2,Q5=D+(s9<<2)|0,s[Q5>>2]=Q2,N5=(y2+200|0)+(A5<<2)|0,E5=+s[N5>>2],L5=E5,q5=L5*i5,z2=(y2+200|0)+(x5<<2)|0,C5=+s[z2>>2],$5=C5*t5,h5=$5,w5=h5+q5,T1=w5,_5=w+(s9<<2)|0,s[_5>>2]=T1,d5=(y2+268|0)+(A5<<2)|0,l5=+s[d5>>2],X2=l5,v5=X2*i5,n5=(y2+268|0)+(x5<<2)|0,a5=+s[n5>>2],f5=a5*t5,K2=f5,I5=K2+v5,r5=I5,R5=_+(s9<<2)|0,s[R5>>2]=r5,e5=s9+1|0,Q6=(e5|0)==($|0),!Q6;)s9=e5}function Fy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0;if(q0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,J=(w|0)==0,J||E2(w),i0=t+20|0,d0=e[i0>>2]|0,Z0=(d0|0)==0,Z0||E2(d0),T0=t+24|0,M0=e[T0>>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,K0=0;I=E+(K0<<2)|0,y=e[I>>2]|0,B=e[y>>2]|0,E2(B),b=e[g>>2]|0,D=b+(K0<<2)|0,k=e[D>>2]|0,_=k+4|0,Q=e[_>>2]|0,E2(Q),x=e[g>>2]|0,R=x+(K0<<2)|0,L=e[R>>2]|0,F=L+8|0,N=e[F>>2]|0,E2(N),O=e[g>>2]|0,H=O+(K0<<2)|0,V=e[H>>2]|0,t0=V+12|0,Z=e[t0>>2]|0,E2(Z),A0=e[g>>2]|0,j=A0+(K0<<2)|0,n0=e[j>>2]|0,s0=n0+16|0,K=e[s0>>2]|0,E2(K),o0=e[g>>2]|0,Y=o0+(K0<<2)|0,h0=e[Y>>2]|0,e0=h0+20|0,u0=e[e0>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(K0<<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+(K0<<2)|0,r0=e[I0>>2]|0,p0=r0+28|0,C0=e[p0>>2]|0,E2(C0),b0=e[g>>2]|0,y0=b0+(K0<<2)|0,D0=e[y0>>2]|0,E2(D0),E0=K0+1|0,W0=(E0|0)==17,!W0;)o=e[g>>2]|0,E=o,K0=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,N0=v0+4|0,U0=e[N0>>2]|0,E2(U0),O0=e[w0>>2]|0,H0=O0+8|0,S0=e[H0>>2]|0,E2(S0),J0=e[w0>>2]|0,E2(J0)),V0=t,Y0=V0+52|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0))}}function Ty(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,u0=e[j>>2]|0,Gy(p,u0,o,a,140,-1),c0=(p|0)>0,c0)for(d0=0;$0=o+(d0<<2)|0,l0=+s[$0>>2],X=a+(d0<<2)|0,m0=+s[X>>2],E=l0-m0,y=R+(d0<<2)|0,s[y>>2]=E,B=d0+1|0,I0=(B|0)==(p|0),!I0;)d0=B;if(b=e[j>>2]|0,D=t+4|0,k=e[D>>2]|0,w=k+128|0,_=e[w>>2]|0,Gy(p,b,R,a,0,_),c0)p0=0;else{C=y0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],F=R+(p0<<2)|0,N=+s[F>>2],O=L-N,s[F>>2]=O,H=p0+1|0,r0=(H|0)==(p|0),!r0;)p0=H;if(!c0){C=y0;return}for(Q=e[D>>2]|0,C0=0;V=a+(C0<<2)|0,J=+s[V>>2],t0=J,Z=t0+.5,A0=~~Z,n0=(A0|0)>39,$=n0?39:A0,s0=($|0)<0,g=s0?0:$,K=R+(C0<<2)|0,o0=+s[K>>2],Y=(Q+336|0)+(g<<2)|0,h0=+s[Y>>2],i0=h0+o0,s[V>>2]=i0,e0=C0+1|0,g0=(e0|0)==(p|0),!g0;)C0=e0;C=y0}function Ny(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0;if(B5=C,N=e[t>>2]|0,O=t+40|0,h1=e[O>>2]|0,v1=h1<<2,I=v1,P1=C,C=C+((1*I|0)+15&-16)|0,e2=t+4|0,r2=e[e2>>2]|0,y2=r2+4|0,A5=+s[y2>>2],u5=A5+g,H=(h1|0)>0,H)for($5=0;Y=P1+($5<<2)|0,s[Y>>2]=-9999,I0=$5+1|0,B0=(I0|0)<(h1|0),B0;)$5=I0;if(T0=r2+8|0,n1=+s[T0>>2],d1=u50,u1){for(p1=t+16|0,f1=e[p1>>2]|0,d5=0;A1=f1+(d5<<2)|0,c1=+s[A1>>2],a1=c1+q5,$1=a+(d5<<2)|0,s[$1>>2]=a1,X0=d5+1|0,z2=(X0|0)==(N|0),!z2;)d5=X0;if(B1=t+8|0,m1=e[B1>>2]|0,Q1=r2+496|0,C1=+s[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=o+(h5<<2)|0,R1=+s[_1>>2],F1=S1+(h5<<2)|0,U1=e[F1>>2]|0,_5=h5,a5=R1;e:for(;;)for(w5=_5;;){if(D1=w5+1|0,X1=(D1|0)<(N|0),!X1){b=0,k=D1,T1=w5,f5=a5;break e}if(G1=S1+(D1<<2)|0,x1=e[G1>>2]|0,K1=(x1|0)==(U1|0),!K1){b=1,k=D1,T1=w5,f5=a5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],V1=H1>a5,V1){_5=D1,a5=H1;continue e}else w5=D1}if(Y1=f5+6,t2=a+(T1<<2)|0,s2=+s[t2>>2],O1=Y1>s2,O1&&(h2=e[L1>>2]|0,Z1=U1>>h2,I2=(Z1|0)>16,p=I2?16:Z1,A2=(p|0)<0,d=A2?0:p,C2=m1+(d<<2)|0,$2=e[C2>>2]|0,W1=e[M1>>2]|0,f2=y1+f5,c2=f2,g2=c2+-30,o2=g2*.10000000149011612,l2=~~o2,i2=(l2|0)<0,a2=i2?0:l2,m2=(a2|0)>7,n2=m2?7:a2,k2=$2+(n2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,G2=+s[S2>>2],M2=~~G2,O2=+s[D2>>2],p2=~~O2,W2=(p2|0)<(M2|0),W2))for(q2=S1+(T1<<2)|0,J2=e[q2>>2]|0,U2=e[b1>>2]|0,V2=J2-U2|0,Z2=+(V2|0),Y2=W1>>1,N1=+(Y2|0),t5=O2+-16,T5=+(W1|0),i5=t5*T5,x5=i5-N1,j2=x5+Z2,p5=~~j2,C5=p2,z5=p5;D5=(z5|0)>0,D5&&(F=C5+2|0,V5=D2+(F<<2)|0,b2=+s[V5>>2],y5=b2+f5,s5=P1+(z5<<2)|0,F2=+s[s5>>2],R2=F2>2]=y5)),Q2=z5+W1|0,Q5=(Q2|0)<(h1|0),N5=C5+1|0,E5=(N5|0)<(M2|0),c5=E5&Q5,c5;)C5=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),L5=e[R>>2]|0,Hb(P1,L5,h1),V=e[t>>2]|0,J=(V|0)>1;e:do if(J)for(t0=t+20|0,Z=t+28|0,A0=e[t0>>2]|0,j=e[A0>>2]|0,n0=L5>>1,s0=j-n0|0,K=e[Z>>2]|0,o0=s0-K|0,h0=e[e2>>2]|0,i0=h0+32|0,X=1,r0=j,X2=0,T2=o0;;){c0=P1+(T2<<2)|0,$0=+s[c0>>2],l0=A0+(X<<2)|0,m0=e[l0>>2]|0,g0=m0+r0|0,d0=g0>>1,p0=d0-K|0,C0=+s[i0>>2],b0=$0>C0,K2=b0?C0:$0,y0=(T2|0)<(p0|0);t:do if(y0)for(E=T2,r5=K2;;){for(D0=r5==-9999,y=E;;){if(E0=y+1|0,Q0=P1+(E0<<2)|0,w0=+s[Q0>>2],x0=w0>-9999,x0){if(Z0=w0=(V|0),O0=(r0|0)>(N0|0),R5=U0|O0;t:do if(R5)d2=X2;else for(v5=X2;;){if(H0=a+(v5<<2)|0,S0=+s[H0>>2],J0=S0>2]=I5),M0=v5+1|0,P0=(M0|0)<(V|0),!P0){d2=M0;break t}if(_=A0+(M0<<2)|0,L=e[_>>2]|0,W0=(L|0)>(N0|0),W0){d2=M0;break}else v5=M0}while(!1);if(e0=d2+1|0,u0=(e0|0)<(V|0),!u0){l5=d2;break e}w=A0+(d2<<2)|0,x=e[w>>2]|0,X=e0,r0=x,X2=d2,T2=k5}else l5=0;while(!1);if(K0=e[O>>2]|0,V0=K0+-1|0,j0=P1+(V0<<2)|0,q0=+s[j0>>2],Y0=(l5|0)<(V|0),Y0)n5=l5;else{C=B5;return}for(;s1=a+(n5<<2)|0,z0=+s[s1>>2],L0=z0>2]=q0),o1=n5+1|0,M5=(o1|0)==(V|0),!M5;)n5=o1;C=B5}function Al(t,o,a,$,g,d,p){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,F=e[y>>2]|0,s0=(F+12|0)+($<<2)|0,X=+s[s0>>2],C0=(E|0)>0,!!C0)for(b0=t+48|0,y0=+s[b0>>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,w=y0,_=w*.005,Q=w*3e-4,B0=0;x=o+(B0<<2)|0,R=+s[x>>2],L=b+(B0<<2)|0,N=+s[L>>2],O=N+R,H=+s[D>>2],V=O>H,x0=V?H:O,J=a+(B0<<2)|0,t0=+s[J>>2],Z=t0+X,A0=x0>2]=I,k&&(n0=p+(B0<<2)|0,K=+s[n0>>2],o0=x0-K,Y=o0>-17.200000762939453,h0=o0+17.200000762939453,i0=h0,Y?(e0=_*i0,u0=1-e0,c0=u0,$0=c0<0,$0?Q0=9999999747378752e-20:Q0=c0):(l0=Q*i0,m0=1-l0,g0=m0,Q0=g0),I0=d+(B0<<2)|0,r0=+s[I0>>2],d0=r0*Q0,s[I0>>2]=d0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Pb(t,o){t=+t,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0;return H=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,_=e[w>>2]|0,Q=o+40|0,x=e[Q>>2]|0,R=_+(x<<2)|0,L=e[R>>2]|0,F=(L|0)/2&-1,N=+(F|0),d=g+8|0,p=e[d>>2]|0,I=+(p|0),E=N/I,y=_+2936|0,B=+s[y>>2],b=B*E,D=b+t,k=D<-9999,a=k?-9999:D,+a}function Ob(t,o,a,$,g,d,p,I,E){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0;if(Ye=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,v6=e[d6>>2]|0,Z5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,D0=(o+252|0)+(t<<2)|0,O0=e[D0>>2]|0,q0=1624+(O0<<3)|0,h1=+l1[q0>>3],v1=(o+312|0)+(t<<2)|0,P1=e[v1>>2]|0,e2=E<<2,b=e2,r2=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,x=e2,b2=C,C=C+((1*x|0)+15&-16)|0,R=e2,M5=C,C=C+((1*R|0)+15&-16)|0,d2=$+1156|0,T2=(c0|0)>1e3,Ve=T2?1696:1624,He=Ve+(P1<<3)|0,Ue=+l1[He>>3],G5=o5(e2,Z5)|0,L=G5,x3=C,C=C+((1*L|0)+15&-16)|0,e[r2>>2]=x3,k=G5,f3=C,C=C+((1*k|0)+15&-16)|0,e[y2>>2]=f3,w=G5,w3=C,C=C+((1*w|0)+15&-16)|0,e[Y2>>2]=w3,_=G5,H3=C,C=C+((1*_|0)+15&-16)|0,e[b2>>2]=H3,X5=(E|0)>1,X5&&(_3=x3+(Z5<<2)|0,t3=r2+4|0,e[t3>>2]=_3,a6=f3+(Z5<<2)|0,G3=y2+4|0,e[G3>>2]=a6,V3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=V3,g3=H3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,B9=(E|0)==2,!B9))for(b5=2;N=e[r2>>2]|0,V=e[y2>>2]|0,J=e[Y2>>2]|0,t0=e[b2>>2]|0,Y5=o5(b5,Z5)|0,Y3=N+(Y5<<2)|0,U5=r2+(b5<<2)|0,e[U5>>2]=Y3,l6=V+(Y5<<2)|0,r3=y2+(b5<<2)|0,e[r3>>2]=l6,l3=J+(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,r9=(D3|0)==(E|0),!r9;)b5=D3;if(J5=e[d2>>2]|0,H5=(c0|0)>0,H5)for(A6=e[b2>>2]|0,n6=(E|0)>0,z3=c0^-1,j5=Z5^-1,q6=0,w9=z3;;){if(J3=(w9|0)>(j5|0),r4=J3?w9:j5,m3=r4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),y=L6?x6:Z5,ge(M5|0,p|0,e2|0)|0,g4(A6|0,0,G5|0)|0,n6)for(M6=(y|0)>0,S6=l0-q6|0,A9=0;;){if(R3=d+(A9<<2)|0,o6=e[R3>>2]|0,s6=o6+(q6<<2)|0,B6=M5+(A9<<2)|0,K3=e[B6>>2]|0,F3=(K3|0)==0,F3){if(M6)for(R6=Y2+(A9<<2)|0,c6=e[R6>>2]|0,J6=r2+(A9<<2)|0,A3=e[J6>>2]|0,g6=y2+(A9<<2)|0,y6=e[g6>>2]|0,T3=b2+(A9<<2)|0,H6=e[T3>>2]|0,v9=0;P0=c6+(v9<<2)|0,s[P0>>2]=1000000013351432e-25,W0=A3+(v9<<2)|0,s[W0>>2]=0,K0=y6+(v9<<2)|0,s[K0>>2]=0,V0=H6+(v9<<2)|0,e[V0>>2]=0,Y=v9+q6|0,j0=o6+(Y<<2)|0,e[j0>>2]=0,Y0=v9+1|0,O6=(Y0|0)==(m3|0),!O6;)v9=Y0}else{if(W3=Y2+(A9<<2)|0,t6=e[W3>>2]|0,M6){for(ne=0;h0=ne+q6|0,$6=o6+(h0<<2)|0,D6=e[$6>>2]|0,G6=1768+(D6<<2)|0,e9=e[G6>>2]|0,X6=t6+(ne<<2)|0,e[X6>>2]=e9,P3=ne+1|0,_6=(P3|0)==(m3|0),!_6;)ne=P3;if(n9=g+(A9<<2)|0,V6=e[n9>>2]|0,o9=b2+(A9<<2)|0,g9=e[o9>>2]|0,M6){for(z9=0;U6=(z9|0)>=(S6|0),u0=U6?Ue:h1,Y6=u0,i0=z9+q6|0,F6=V6+(i0<<2)|0,t9=+s[F6>>2],Q9=+on(+t9),X=t6+(z9<<2)|0,m0=+s[X>>2],g0=Q9/m0,I0=g9+(z9<<2)|0,_9=!(g0>2]=B,r0=z9+1|0,P6=(r0|0)==(y|0),!P6;)z9=r0;if(M6)for(d0=r2+(A9<<2)|0,p0=e[d0>>2]|0,C0=y2+(A9<<2)|0,b0=e[C0>>2]|0,F9=0;;)if(y0=F9+q6|0,E0=V6+(y0<<2)|0,Q0=+s[E0>>2],w0=Q0*Q0,B0=p0+(F9<<2)|0,s[B0>>2]=w0,x0=b0+(F9<<2)|0,s[x0>>2]=w0,Z0=+s[E0>>2],R0=Z0<0,R0&&(v0=+s[B0>>2],N0=-v0,s[B0>>2]=N0),U0=t6+(F9<<2)|0,H0=+s[U0>>2],S0=H0*H0,s[U0>>2]=S0,J0=F9+1|0,O3=(J0|0)==(m3|0),O3){O=C0,M0=p0;break}else F9=J0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,F=r2+(A9<<2)|0,Z=e[F>>2]|0,K=y2+(A9<<2)|0,O=K,M0=Z),T0=e[O>>2]|0,Re=e[$0>>2]|0,+Uy(Re,l0,M0,T0,t6,0,q6,y,s6)}if(s1=A9+1|0,s9=(s1|0)==(E|0),s9)break;A9=s1}if(r6=e[d2>>2]|0,f6=(r6|0)>0,f6)for(b6=(y|0)>0,N6=I-q6|0,j6=l0-q6|0,y3=r6,ke=0;;){if(z0=($+1160|0)+(ke<<2)|0,n1=e[z0>>2]|0,L0=($+2184|0)+(ke<<2)|0,o1=e[L0>>2]|0,d1=d+(n1<<2)|0,u1=e[d1>>2]|0,p1=u1+(q6<<2)|0,f1=d+(o1<<2)|0,A1=e[f1>>2]|0,c1=r2+(n1<<2)|0,a1=e[c1>>2]|0,$1=r2+(o1<<2)|0,X0=e[$1>>2]|0,B1=y2+(n1<<2)|0,m1=e[B1>>2]|0,Q1=y2+(o1<<2)|0,C1=e[Q1>>2]|0,y1=Y2+(n1<<2)|0,k1=e[y1>>2]|0,S1=Y2+(o1<<2)|0,L1=e[S1>>2]|0,M1=b2+(n1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=M5+(n1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,X1=M5+(o1<<2)|0,D1?(G1=e[X1>>2]|0,x1=(G1|0)==0,x1?X2=y3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[X1>>2]=1,e[F1>>2]=1,b6)for(K6=0;;){K1=(K6|0)<(N6|0);do if(K1){if(q1=b1+(K6<<2)|0,H1=e[q1>>2]|0,V1=(H1|0)==0,Y1=R1+(K6<<2)|0,V1&&(t2=e[Y1>>2]|0,s2=(t2|0)==0,s2)){i5=(K6|0)<(j6|0);do if(i5)x5=X0+(K6<<2)|0,j2=+s[x5>>2],p5=a1+(K6<<2)|0,D5=+s[p5>>2],V5=D5+j2,s[p5>>2]=V5,f9=+on(+V5),u5=m1+(K6<<2)|0,s[u5>>2]=f9,H=x5;else if(y5=a1+(K6<<2)|0,s5=+s[y5>>2],F2=X0+(K6<<2)|0,R2=+s[F2>>2],Q2=R2+s5,Q5=Q2<0,y9=+on(+s5),d9=+on(+R2),N5=d9+y9,E5=m1+(K6<<2)|0,s[E5>>2]=N5,Q5){L5=-N5,s[y5>>2]=L5,H=F2;break}else{s[y5>>2]=N5,H=F2;break}while(!1);q5=C1+(K6<<2)|0,s[q5>>2]=0,s[H>>2]=0,e[Y1>>2]=1,o0=K6+q6|0,z2=A1+(o0<<2)|0,e[z2>>2]=0;break}O1=a1+(K6<<2)|0,h2=+s[O1>>2],V9=+on(+h2),Z1=X0+(K6<<2)|0,I2=+s[Z1>>2],w6=+on(+I2),A2=w6+V9,s[O1>>2]=A2,C2=m1+(K6<<2)|0,$2=+s[C2>>2],W1=C1+(K6<<2)|0,f2=+s[W1>>2],c2=f2+$2,s[C2>>2]=c2,e[Y1>>2]=1,e[q1>>2]=1,e0=K6+q6|0,g2=u1+(e0<<2)|0,o2=e[g2>>2]|0,l2=A1+(e0<<2)|0,i2=e[l2>>2]|0,we=(o2|0)>-1,ve=0-o2|0,a2=we?o2:ve,ue=(i2|0)>-1,he=0-i2|0,m2=ue?i2:he,n2=(a2|0)>(m2|0),n2?(k2=(o2|0)>0,D2=o2-i2|0,S2=i2-o2|0,G2=k2?D2:S2,e[l2>>2]=G2,j=e[g2>>2]|0,q2=j,V2=G2):(M2=(i2|0)>0,O2=o2-i2|0,p2=i2-o2|0,W2=M2?O2:p2,e[l2>>2]=W2,e[g2>>2]=i2,A0=e[l2>>2]|0,q2=i2,V2=A0),Ee=(q2|0)>-1,Me=0-q2|0,J2=Ee?q2:Me,U2=J2<<1,Z2=(V2|0)<(U2|0),Z2||(N1=0-V2|0,e[l2>>2]=N1,t5=e[g2>>2]|0,T5=0-t5|0,e[g2>>2]=T5)}while(!1);if(C5=k1+(K6<<2)|0,$5=+s[C5>>2],h5=L1+(K6<<2)|0,w5=+s[h5>>2],T1=w5+$5,s[h5>>2]=T1,s[C5>>2]=T1,_5=K6+1|0,h9=(_5|0)==(m3|0),h9)break;K6=_5}Fe=e[$0>>2]|0,+Uy(Fe,l0,a1,m1,k1,b1,q6,y,p1),n0=e[d2>>2]|0,X2=n0}if(d5=ke+1|0,l5=(d5|0)<(X2|0),l5)y3=X2,ke=d5;else{a3=X2;break}}else a3=r6;if(v5=q6+Z5|0,n5=(c0|0)>(v5|0),Y9=w9+Z5|0,n5)q6=v5,w9=Y9;else{M3=a3;break}}else M3=J5;if(h3=(M3|0)>0,h3)n3=M3,a9=0;else{C=Ye;return}for(;a5=($+1160|0)+(a9<<2)|0,f5=e[a5>>2]|0,K2=p+(f5<<2)|0,I5=e[K2>>2]|0,r5=(I5|0)==0,R5=($+2184|0)+(a9<<2)|0,r5?(e5=e[R5>>2]|0,c5=p+(e5<<2)|0,k5=e[c5>>2]|0,z5=(k5|0)==0,z5?W5=n3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[K2>>2]=1,i3=e[R5>>2]|0,B5=p+(i3<<2)|0,e[B5>>2]=1,s0=e[d2>>2]|0,W5=s0),I3=a9+1|0,d3=(I3|0)<(W5|0),d3;)n3=W5,a9=I3;C=Ye}function qb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0;for(et=C,C=C+32480|0,Z3=et+32256|0,D9=et+1792|0,x9=et,L=a<<2,D=L,F=C,C=C+((1*D|0)+15&-16)|0,o2=R9(68)|0,g4(D9|0,0,30464)|0,M3=$>0,ue=$<0,L9=0;;){for(h4=L9<<2,A4=0;s5=A4+h4|0,C5=(s5|0)<88,C5?(n5=1272+(s5<<2)|0,z5=+s[n5>>2],j9=z5):j9=-30,x3=s5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+s[U6>>2],t9=j9>Y6,t9?l4=Y6:l4=j9):(g9=j9>-30,g9?l4=-30:l4=j9),_6=s5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,s9=+s[O6>>2],h9=l4>s9,h9?T9=s9:T9=l4):(O3=l4>-30,O3?T9=-30:T9=l4),r9=s5+3|0,B9=(r9|0)<88,B9?(d9=1272+(r9<<2)|0,f9=+s[d9>>2],V9=T9>f9,V9?j4=f9:j4=T9):(y9=T9>-30,y9?j4=-30:j4=T9),w6=Z3+(A4<<2)|0,s[w6>>2]=j4,q6=A4+1|0,Ot=(q6|0)==56,!Ot;)A4=q6;if(Ie=(D9+(L9*1792|0)|0)+448|0,N=2792+(L9*1344|0)|0,ge(Ie|0,N|0,224)|0,K=(D9+(L9*1792|0)|0)+672|0,m0=(2792+(L9*1344|0)|0)+224|0,ge(K|0,m0|0,224)|0,Q0=(D9+(L9*1792|0)|0)+896|0,S0=(2792+(L9*1344|0)|0)+448|0,ge(Q0|0,S0|0,224)|0,s1=(D9+(L9*1792|0)|0)+1120|0,c1=(2792+(L9*1344|0)|0)+672|0,ge(s1|0,c1|0,224)|0,S1=(D9+(L9*1792|0)|0)+1344|0,G1=(2792+(L9*1344|0)|0)+896|0,ge(S1|0,G1|0,224)|0,h2=(D9+(L9*1792|0)|0)+1568|0,l2=(2792+(L9*1344|0)|0)+1120|0,ge(h2|0,l2|0,224)|0,O2=D9+(L9*1792|0)|0,ge(O2|0,N|0,224)|0,t5=(D9+(L9*1792|0)|0)+224|0,ge(t5|0,N|0,224)|0,M3)for(At=0;;){if(ue)for(Bt=0;Ee=16-Bt|0,L8=(Ee|0)>-1,$8=0-Ee|0,z9=L8?Ee:$8,ne=+(z9|0),F9=ne*g,v9=F9+$,K6=v9<0,I=K6?0:v9,A9=I>0,d=A9?0:I,ve=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Me=+s[ve>>2],he=Me+d,s[ve>>2]=he,Re=Bt+1|0,Yt=(Re|0)==56,!Yt;)Bt=Re;else for(ct=0;h3=16-ct|0,o8=(h3|0)>-1,Zt=0-h3|0,N6=o8?h3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,Q9=F6<0,E=Q9?0:F6,a9=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[a9>>2],w9=Y9+E,s[a9>>2]=w9,we=ct+1|0,Vt=(we|0)==56,!Vt;)ct=we;if(r3=At+1|0,_t=(r3|0)==8,_t)break;At=r3}else for(Mt=0;;){if(ue)for(yt=0;r4=16-yt|0,M8=(r4|0)>-1,l8=0-r4|0,ke=M8?r4:l8,Ve=+(ke|0),J9=Ve*g,Ye=J9+$,de=Ye>0,p=de?0:Ye,Ce=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(yt<<2)|0,v4=+s[Ce>>2],Z9=v4+p,s[Ce>>2]=Z9,k9=yt+1|0,t8=(k9|0)==56,!t8;)yt=k9;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,V4=E8?k4:A8,rt=+(V4|0),ze=rt*g,Y4=ze+$,Je=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[Je>>2],ot=R4+Y4,s[Je>>2]=ot,re=lt+1|0,qt=(re|0)==56,!qt;)lt=re;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Fe=t+(L9<<2)|0,Ue=+s[Fe>>2],He=Ue,We=0;;){for(Be=(We|0)<2,T6=+(We|0),k=T6*10,w=70-k,Ke=Be?50:w,O9=Ke+He,fe=O9,Et=0;Te=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(Et<<2)|0,oe=+s[Te>>2],d4=oe+fe,s[Te>>2]=d4,f4=Et+1|0,qe=(f4|0)==56,!qe;)Et=f4;for(Se=x9+(We*224|0)|0,ge(Se|0,Z3|0,224)|0,s4=+(We|0),Oe=s4*10,I4=70-Oe,Lt=0;;)if(S9=(x9+(We*224|0)|0)+(Lt<<2)|0,I6=+s[S9>>2],z4=I4+I6,s[S9>>2]=z4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;be=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(at<<2)|0,me=+s[be>>2],z6=(x9+(We*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=me>F4,T4&&(s[z6>>2]=me),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(pe=We+1|0,x8=(pe|0)==8,x8){U4=1;break}else We=pe}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(x9+(xe*224|0)|0)+(G4<<2)|0,O=+s[mt>>2],H=(x9+(U4*224|0)|0)+(G4<<2)|0,V=+s[H>>2],J=O>2]=O),t0=G4+1|0,d8=(t0|0)==56,d8){J4=0;break}else G4=t0;for(;Z=(x9+(U4*224|0)|0)+(J4<<2)|0,A0=+s[Z>>2],j=((D9+(L9*1792|0)|0)+(U4*224|0)|0)+(J4<<2)|0,n0=+s[j>>2],s0=A0>2]=A0),o0=J4+1|0,a4=(o0|0)==56,!a4;)J4=o0;if(Y=U4+1|0,Ht=(Y|0)==8,Ht)break;U4=Y}if(h0=L9+1|0,xt=(h0|0)==17,xt)break;L9=h0}for(_9=o,Pe=(a|0)>0,o4=a^-1,b4=0;;){for(i0=R9(32)|0,e0=o2+(b4<<2)|0,e[e0>>2]=i0,u0=+(b4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,X=+Yr(+l0),g0=X/_9,I0=+aA(+g0),r0=~~I0,d0=+(r0|0),p0=d0*o,C0=p0+1,b0=C0,y0=+ir(+b0),D0=y0*2.885390043258667,E0=D0+-11.931568145751953,w0=+DC(+E0),B0=~~w0,x0=r0+1|0,Z0=+(x0|0),R0=Z0*o,v0=R0,N0=+ir(+v0),U0=N0*2.885390043258667,O0=U0+-11.931568145751953,H0=+aA(+O0),J0=~~H0,T0=(B0|0)>(b4|0),p8=T0?b4:B0,M0=(p8|0)<0,wt=M0?0:p8,P0=(J0|0)>16,y=P0?16:J0,W0=(wt|0)>(y|0),K0=b4+1|0,V0=(K0|0)<17,j0=c0+3.9657840728759766,$4=0;;){if(q0=R9(232)|0,Y0=i0+($4<<2)|0,e[Y0>>2]=q0,Pe)for($t=0;z0=F+($t<<2)|0,s[z0>>2]=999,n1=$t+1|0,b9=(n1|0)==(a|0),!b9;)$t=n1;if(!W0)for(p4=wt;;){for(L0=+(p4|0),o1=L0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),h1=f1*.125,A1=h1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,X0=+Yr(+$1),B1=X0/_9,m1=~~B1,Q1=A1+4.028284072875977,C1=Q1*.6931470036506653,y1=+Yr(+C1),v1=y1/_9,k1=v1+1,L1=~~k1,M1=(m1|0)<0,B=M1?0:m1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(D4|0),Ze=_1?a8:D4,R1=(L1|0)<0,n8=R1?0:L1,F1=(n8|0)>(a|0),Wt=F1?a:n8,U1=(Ze|0)<(Wt|0),D1=(Ze|0)<(a|0),jt=U1&D1,jt)for(P1=((D9+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,X1=+s[P1>>2],x1=(D4|0)<(a|0),K1=x1?D4:a,q1=K1^-1,H1=(m1|0)>0,x=m1^-1,V1=H1?x:-1,Y1=(V1|0)<(q1|0),je=Y1?q1:V1,t2=je^-1,s2=(L1|0)>0,R=L1^-1,e2=s2?R:-1,O1=(e2|0)<(o4|0),c8=O1?o4:e2,Z1=c8-je|0,I2=je+a|0,A2=I2^-1,C2=Z1>>>0>A2>>>0,Tt=C2?Z1:A2,$2=t2-Tt|0,ae=Ze;;)if(W1=F+(ae<<2)|0,f2=+s[W1>>2],c2=f2>X1,c2&&(s[W1>>2]=X1),r2=ae+1|0,pt=(r2|0)==($2|0),pt){K4=$2;break}else ae=r2;else K4=Ze;if(g2=Ct+1|0,zt=(g2|0)==56,zt){W4=K4;break}else Ct=g2,D4=K4}if(d1=(W4|0)<(a|0),d1)for(u1=((D9+(p4*1792|0)|0)+($4*224|0)|0)+220|0,p1=+s[u1>>2],P4=W4;i2=F+(P4<<2)|0,a2=+s[i2>>2],m2=a2>p1,m2&&(s[i2>>2]=p1),n2=P4+1|0,Jt=(n2|0)==(a|0),!Jt;)P4=n2;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),J2=q2*.125,U2=J2+c0,V2=U2+3.9032840728759766,Z2=V2*.6931470036506653,A5=+Yr(+Z2),Y2=A5/_9,N1=~~Y2,T5=U2+4.028284072875977,i5=T5*.6931470036506653,x5=+Yr(+i5),j2=x5/_9,p5=j2+1,D5=~~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=(D5|0)<0,r8=y5?0:D5,F2=(r8|0)>(a|0),C8=F2?a:r8,R2=(Z4|0)<(C8|0),Q2=(Z4|0)<(a|0),ut=R2&Q2,ut)for(Q5=((D9+(K0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,N5=+s[Q5>>2],E5=(E4|0)<(a|0),L5=E5?E4:a,q5=L5^-1,M5=(N1|0)>0,_=N1^-1,z2=M5?_:-1,$5=(z2|0)<(q5|0),ht=$5?q5:z2,h5=ht^-1,w5=(D5|0)>0,Q=D5^-1,T1=w5?Q:-1,_5=(T1|0)<(o4|0),Ft=_5?o4:T1,d5=Ft-ht|0,l5=ht+a|0,X2=l5^-1,d2=d5>>>0>X2>>>0,X4=d2?d5:X2,v5=h5-X4|0,De=Z4;;)if(a5=F+(De<<2)|0,f5=+s[a5>>2],K2=f5>N5,K2&&(s[a5>>2]=N5),I5=De+1|0,_8=(I5|0)==(v5|0),_8){gt=v5;break}else De=I5;else gt=Z4;if(r5=Rt+1|0,e8=(r5|0)==56,e8){_4=gt;break}else Rt=r5,E4=gt}if(M2=(_4|0)<(a|0),M2)for(p2=((D9+(K0*1792|0)|0)+($4*224|0)|0)+220|0,W2=+s[p2>>2],Qt=_4;R5=F+(Qt<<2)|0,e5=+s[R5>>2],c5=e5>W2,c5&&(s[R5>>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,n3=W5*.6931470036506653,a3=+Yr(+n3),y3=a3/_9,G5=~~y3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,e6=w3+(f3<<2)|0,s[e6>>2]=-999;else if(H3=(G5|0)<(a|0),H3){a6=F+(G5<<2)|0,G3=e[a6>>2]|0,V3=m4+2|0,g3=e[y2>>2]|0,u3=g3+(V3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}k5=q0+8|0,i3=+s[k5>>2],B5=i3>-200;do if(B5)se=0;else if(J5=q0+12|0,H5=+s[J5>>2],Y5=H5>-200,Y5)se=1;else if(D3=q0+16|0,A6=+s[D3>>2],n6=A6>-200,n6)se=2;else if(z3=q0+20|0,j5=+s[z3>>2],J3=j5>-200,J3)se=3;else if(d6=q0+24|0,m3=+s[d6>>2],x6=m3>-200,x6)se=4;else if(L6=q0+28|0,M6=+s[L6>>2],S6=M6>-200,S6)se=5;else if(r6=q0+32|0,f6=+s[r6>>2],b6=f6>-200,b6)se=6;else if(j6=q0+36|0,v6=+s[j6>>2],R3=v6>-200,R3)se=7;else if(o6=q0+40|0,s6=+s[o6>>2],B6=s6>-200,B6)se=8;else if(K3=q0+44|0,F3=+s[K3>>2],W3=F3>-200,W3)se=9;else if(t6=q0+48|0,c6=+s[t6>>2],o3=c6>-200,o3)se=10;else if(J6=q0+52|0,A3=+s[J6>>2],g6=A3>-200,g6)se=11;else if(y6=q0+56|0,T3=+s[y6>>2],H6=T3>-200,H6)se=12;else if($6=q0+60|0,D6=+s[$6>>2],e9=D6>-200,e9)se=13;else{if(Q6=q0+64|0,X6=+s[Q6>>2],P3=X6>-200,P3){se=14;break}if(n9=q0+68|0,V6=+s[n9>>2],o9=V6>-200,o9){se=15;break}se=16}while(!1);for(s[q0>>2]=se,Kt=55;;){if(b5=Kt+2|0,Y3=q0+(b5<<2)|0,U5=+s[Y3>>2],l6=U5>-200,l6){s8=Kt;break}if(l3=Kt+-1|0,U3=(l3|0)>17,U3)Kt=l3;else{s8=l3;break}}if(C6=+(s8|0),b3=q0+4|0,s[b3>>2]=C6,L3=$4+1|0,Ut=(L3|0)==8,Ut)break;$4=L3}if(Pt=(K0|0)==17,Pt)break;b4=K0}return C=et,o2|0}function Gy(t,o,a,$,g,d){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0;if(Fe=C,k=t<<2,p=k,w=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=+s[a>>2],A6=b5+g,M6=A6<1,he=M6?1:A6,B6=he*he,_=B6*.5,t0=_*he,s[w>>2]=_,s[$2>>2]=_,s[e5>>2]=0,s[a3>>2]=t0,s[t3>>2]=0,e0=(t|0)>1,e0)for(O3=1,w6=_,q6=_,a9=0,Y9=0,w9=t0,we=1;d1=a+(O3<<2)|0,m1=+s[d1>>2],R1=m1+g,V1=R1<1,_9=V1?1:R1,W1=_9*_9,k2=W1+w6,U2=W1*we,p5=U2+q6,N5=U2*we,_5=N5+a9,K2=W1*_9,I5=K2+w9,r5=U2*_9,R5=r5+Y9,c5=w+(O3<<2)|0,s[c5>>2]=k2,T2=$2+(O3<<2)|0,s[T2>>2]=p5,k5=e5+(O3<<2)|0,s[k5>>2]=_5,z5=a3+(O3<<2)|0,s[z5>>2]=I5,i3=t3+(O3<<2)|0,s[i3>>2]=R5,B5=O3+1|0,I3=we+1,P6=(B5|0)==(t|0),!P6;)O3=B5,w6=k2,q6=p5,a9=_5,Y9=R5,w9=I5,we=I3;if(p0=e[o>>2]|0,R0=p0>>16,W0=(R0|0)>-1,W0)W5=p0,y6=0,D6=0,X6=1,O6=0,ue=0;else for(G5=p0,w3=R0,s9=0,Ee=0;;)if(y3=G5&65535,Z5=w+(y3<<2)|0,x3=+s[Z5>>2],f3=0-w3|0,e6=w+(f3<<2)|0,H3=+s[e6>>2],X5=H3+x3,_3=$2+(y3<<2)|0,a6=+s[_3>>2],G3=$2+(f3<<2)|0,V3=+s[G3>>2],c3=a6-V3,g3=e5+(y3<<2)|0,u3=+s[g3>>2],Q3=e5+(f3<<2)|0,J5=+s[Q3>>2],H5=J5+u3,Y5=a3+(y3<<2)|0,Y3=+s[Y5>>2],U5=a3+(f3<<2)|0,l6=+s[U5>>2],r3=l6+Y3,l3=t3+(y3<<2)|0,U3=+s[l3>>2],C6=t3+(f3<<2)|0,b3=+s[C6>>2],L3=U3-b3,D3=r3*H5,n6=L3*c3,z3=D3-n6,j5=L3*X5,M3=r3*c3,h3=j5-M3,J3=H5*X5,d6=c3*c3,m3=J3-d6,x6=h3*Ee,L6=x6+z3,S6=L6/m3,r6=S6<0,o9=r6?0:S6,f6=o9-g,b6=$+(s9<<2)|0,s[b6>>2]=f6,N6=s9+1|0,j6=Ee+1,v6=o+(N6<<2)|0,R3=e[v6>>2]|0,o6=R3>>16,s6=(o6|0)>-1,s6){W5=R3,y6=z3,D6=h3,X6=m3,O6=N6,ue=j6;break}else G5=R3,w3=o6,s9=N6,Ee=j6;if(d3=W5&65535,n3=(d3|0)<(t|0),n3)for(b=W5,t6=d3,r9=O6,ne=ue;;)if(F3=b>>16,W3=w+(t6<<2)|0,R6=+s[W3>>2],c6=w+(F3<<2)|0,o3=+s[c6>>2],J6=R6-o3,A3=$2+(t6<<2)|0,g6=+s[A3>>2],Q=$2+(F3<<2)|0,x=+s[Q>>2],R=g6-x,L=e5+(t6<<2)|0,F=+s[L>>2],N=e5+(F3<<2)|0,O=+s[N>>2],H=F-O,V=a3+(t6<<2)|0,J=+s[V>>2],Z=a3+(F3<<2)|0,A0=+s[Z>>2],j=J-A0,n0=t3+(t6<<2)|0,s0=+s[n0>>2],K=t3+(F3<<2)|0,o0=+s[K>>2],Y=s0-o0,h0=j*H,i0=Y*R,u0=h0-i0,c0=Y*J6,$0=j*R,l0=c0-$0,X=H*J6,m0=R*R,g0=X-m0,I0=l0*ne,r0=I0+u0,d0=r0/g0,C0=d0<0,g9=C0?0:d0,b0=g9-g,y0=$+(r9<<2)|0,s[y0>>2]=b0,D0=r9+1|0,E0=ne+1,Q0=o+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0&65535,x0=(B0|0)<(t|0),x0)b=w0,t6=B0,r9=D0,ne=E0;else{T3=u0,G6=l0,P3=g0,h9=D0,z9=E0;break}else T3=y6,G6=D6,P3=X6,h9=O6,z9=ue;if(K3=(h9|0)<(t|0),K3)for(B9=h9,F9=z9;Z0=F9*G6,v0=Z0+T3,N0=v0/P3,U0=N0<0,U6=U0?0:N0,O0=U6-g,H0=$+(B9<<2)|0,s[H0>>2]=O0,S0=B9+1|0,J0=F9+1,_6=(S0|0)==(t|0),!_6;)B9=S0,F9=J0;if(T0=(d|0)<1,T0){C=Fe;return}if(M0=(d|0)/2&-1,P0=M0-d|0,K0=(P0|0)>-1,K0)H6=T3,e9=G6,n9=P3,y9=0,v9=0;else for(V0=d-M0|0,z0=M0,o1=P0,Q9=0,K6=0;;)if(s1=w+(z0<<2)|0,n1=+s[s1>>2],L0=0-o1|0,u1=w+(L0<<2)|0,p1=+s[u1>>2],f1=p1+n1,h1=$2+(z0<<2)|0,A1=+s[h1>>2],c1=$2+(L0<<2)|0,a1=+s[c1>>2],$1=A1-a1,X0=e5+(z0<<2)|0,B1=+s[X0>>2],Q1=e5+(L0<<2)|0,C1=+s[Q1>>2],y1=C1+B1,v1=a3+(z0<<2)|0,k1=+s[v1>>2],S1=a3+(L0<<2)|0,L1=+s[S1>>2],M1=L1+k1,b1=t3+(z0<<2)|0,_1=+s[b1>>2],F1=t3+(L0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*y1,X1=D1*$1,G1=P1-X1,x1=D1*f1,K1=M1*$1,q1=x1-K1,H1=y1*f1,Y1=$1*$1,t2=H1-Y1,s2=q1*K6,e2=s2+G1,O1=e2/t2,h2=O1-g,Z1=$+(Q9<<2)|0,I2=+s[Z1>>2],A2=h2>2]=h2),C2=Q9+1|0,f2=K6+1,c2=M0+C2|0,r2=c2-d|0,t9=(C2|0)==(V0|0),t9){H6=G1,e9=q1,n9=t2,y9=V0,v9=f2;break}else z0=c2,o1=r2,Q9=C2,K6=f2;if(j0=y9+M0|0,q0=(j0|0)<(t|0),q0)for(Y0=t-M0|0,D=j0,f9=y9,ve=v9;;)if(o2=D-d|0,l2=w+(D<<2)|0,i2=+s[l2>>2],a2=w+(o2<<2)|0,m2=+s[a2>>2],n2=i2-m2,D2=$2+(D<<2)|0,S2=+s[D2>>2],y2=$2+(o2<<2)|0,G2=+s[y2>>2],M2=S2-G2,O2=e5+(D<<2)|0,p2=+s[O2>>2],W2=e5+(o2<<2)|0,q2=+s[W2>>2],J2=p2-q2,V2=a3+(D<<2)|0,Z2=+s[V2>>2],A5=a3+(o2<<2)|0,Y2=+s[A5>>2],N1=Z2-Y2,t5=t3+(D<<2)|0,T5=+s[t5>>2],i5=t3+(o2<<2)|0,x5=+s[i5>>2],j2=T5-x5,D5=N1*J2,V5=j2*M2,u5=D5-V5,b2=j2*n2,y5=N1*M2,s5=b2-y5,F2=J2*n2,R2=M2*M2,Q2=F2-R2,Q5=s5*ve,E5=Q5+u5,L5=E5/Q2,q5=L5-g,M5=$+(f9<<2)|0,z2=+s[M5>>2],C5=q5>2]=q5),$5=f9+1|0,h5=ve+1,w5=$5+M0|0,F6=($5|0)==(Y0|0),F6){$6=u5,Q6=s5,V6=Q2,d9=Y0,A9=h5;break}else D=w5,f9=$5,ve=h5;else $6=H6,Q6=e9,V6=n9,d9=y9,A9=v9;if(g2=(d9|0)<(t|0),g2)V9=d9,Me=A9;else{C=Fe;return}for(;T1=Me*Q6,d5=T1+$6,l5=d5/V6,X2=l5-g,d2=$+(V9<<2)|0,v5=+s[d2>>2],n5=X2>2]=X2),a5=V9+1|0,f5=Me+1,Y6=(a5|0)==(t|0),!Y6;)V9=a5,Me=f5;C=Fe}function Hb(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0;if(d1=C,d=a<<2,$=d,p=C,C=C+((1*$|0)+15&-16)|0,g=d,x=C,C=C+((1*g|0)+15&-16)|0,A0=(a|0)>0,A0)S0=0,V0=0;else{C=d1;return}for(;;){x0=(V0|0)<2;do if(x0)v0=p+(V0<<2)|0,e[v0>>2]=S0,I=t+(S0<<2)|0,E=e[I>>2]|0,y=x+(V0<<2)|0,e[y>>2]=E,z0=V0;else{for(Z0=t+(S0<<2)|0,R0=+s[Z0>>2],j0=V0;;){if(B=j0+-1|0,b=x+(B<<2)|0,D=+s[b>>2],k=R0>2]|0,L=R+o|0,F=(S0|0)<(L|0),N=(j0|0)>1,M0=N&F,!M0){Y0=j0,o1=12;break}if(O=j0+-2|0,H=x+(O<<2)|0,V=+s[H>>2],J=!(D<=V),J){Y0=j0,o1=12;break}if(t0=p+(O<<2)|0,Z=e[t0>>2]|0,j=Z+o|0,n0=(S0|0)<(j|0),n0)j0=B;else{Y0=j0,o1=12;break}}if((o1|0)==8){o1=0,w=p+(q0<<2)|0,e[w>>2]=S0,_=x+(q0<<2)|0,s[_>>2]=R0,z0=q0;break}else if((o1|0)==12){o1=0,s0=p+(Y0<<2)|0,e[s0>>2]=S0,K=x+(Y0<<2)|0,s[K>>2]=R0,z0=Y0;break}}while(!1);if(s1=z0+1|0,o0=S0+1|0,H0=(o0|0)==(a|0),H0){n1=z0,L0=s1;break}else S0=o0,V0=s1}if(c0=(n1|0)>-1,!c0){C=d1;return}for(b0=o+1|0,J0=0,P0=0;;){if(Y=(J0|0)<(n1|0),Y?(h0=J0+1|0,i0=x+(h0<<2)|0,e0=+s[i0>>2],u0=x+(J0<<2)|0,$0=+s[u0>>2],l0=e0>$0,l0?(X=p+(h0<<2)|0,m0=e[X>>2]|0,N0=m0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=p+(J0<<2)|0,I0=e[g0>>2]|0,r0=b0+I0|0,N0=r0),d0=(N0|0)>(a|0),T0=d0?a:N0,p0=(P0|0)<(T0|0),p0)for(C0=x+(J0<<2)|0,y0=e[C0>>2]|0,D0=(N0|0)<(a|0),E0=D0?N0:a,K0=P0;;)if(Q0=t+(K0<<2)|0,e[Q0>>2]=y0,w0=K0+1|0,U0=(w0|0)==(E0|0),U0){W0=E0;break}else K0=w0;else W0=P0;if(B0=J0+1|0,O0=(B0|0)==(L0|0),O0)break;J0=B0,P0=W0}C=d1}function Uy(t,o,a,$,g,d,p,I,E){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0;if(h2=C,L=I<<2,_=L,F=C,C=C+((1*_|0)+15&-16)|0,s0=t+500|0,X=e[s0>>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),Y1=F1?I:k1,N=(Y1|0)>0,N)for(O=(d|0)==0,H=(k1|0)<(I|0),V=H?k1:I,q1=0;;){O?O1=9:(A0=d+(q1<<2)|0,j=e[A0>>2]|0,n0=(j|0)==0,n0&&(O1=9));do if((O1|0)==9)if(O1=0,K=$+(q1<<2)|0,o0=+s[K>>2],Y=g+(q1<<2)|0,h0=+s[Y>>2],i0=o0/h0,e0=a+(q1<<2)|0,u0=+s[e0>>2],c0=u0<0,$0=i0,l0=+Hr(+$0),m0=+K7(l0),c0){g0=-m0,I0=~~g0,r0=E+(q1<<2)|0,e[r0>>2]=I0;break}else{d0=~~m0,p0=E+(q1<<2)|0,e[p0>>2]=d0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(V|0),x1){K1=V;break}else q1=C0}else K1=0;if(J=(K1|0)<(I|0),!J)return w=0,C=h2,+w;for(t0=(d|0)!=0,Z=o-p|0,y=0,U1=0,H1=K1;;){t0?(b0=d+(H1<<2)|0,y0=e[b0>>2]|0,D0=(y0|0)==0,D0?O1=15:(B=y,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,Q0=$+(H1<<2)|0,w0=+s[Q0>>2],B0=g+(H1<<2)|0,x0=+s[B0>>2],Z0=w0/x0,R0=!(Z0<.25),v0=(H1|0)<(Z|0),t2=t0&v0,s2=R0|t2,s2){S0=a+(H1<<2)|0,J0=+s[S0>>2],T0=J0<0,M0=Z0,P0=+Hr(+M0),W0=+K7(P0),K0=-W0,x=T0?K0:W0,Q=~~x,V0=E+(H1<<2)|0,e[V0>>2]=Q,j0=o5(Q,Q)|0,q0=+(j0|0),s1=+s[B0>>2],z0=q0*s1,s[Q0>>2]=z0,B=y,D1=U1;break}else{N0=Z0+y,U0=U1+1|0,O0=F+(U1<<2)|0,e[O0>>2]=Q0,B=N0,D1=U0;break}while(!1);if(n1=H1+1|0,G1=(n1|0)==(I|0),G1){b=B,P1=D1;break}else y=B,U1=D1,H1=n1}if(L0=(P1|0)==0,L0||(Hu(F,P1,4,9),o1=(P1|0)>0,!o1))return w=b,C=h2,+w;for(d1=$,u1=t+512|0,p1=+l1[u1>>3],D=b,V1=0;;)if(f1=F+(V1<<2)|0,h1=e[f1>>2]|0,c1=h1,a1=c1-d1|0,$1=a1>>2,X0=D,B1=!(X0>=p1),B1?(k=D,R=0,e2=0):(m1=a+($1<<2)|0,Q1=e[m1>>2]|0,C1=Q1&-2147483648,y1=C1|1065353216,v1=(e[w2>>2]=y1,+s[w2>>2]),S1=~~v1,L1=D+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],k=L1,R=S1,e2=b1),_1=E+($1<<2)|0,e[_1>>2]=R,s[h1>>2]=e2,R1=V1+1|0,X1=(R1|0)==(P1|0),X1){w=k;break}else D=k,V1=R1;return C=h2,+w}function Vb(t,o){t=t|0,o=o|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,$=+s[a>>2],g=e[o>>2]|0,d=+s[g>>2],p=$d,y=E&1,B=I-y|0,B|0}function Yb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function zb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0;if(n0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,F=(w|0)>0,N=t+20|0,F)for(L=w,Z=0;O=e[N>>2]|0,H=O+(Z<<2)|0,V=e[H>>2]|0,J=(V|0)==0,J?d=L:(E2(V),o=e[$>>2]|0,d=o),t0=Z+1|0,g=(t0|0)<(d|0),g;)L=d,Z=t0;if(p=e[N>>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,x=(_|0)<(Q|0),x;)A0=_;R=e[B>>2]|0,E2(R),E2(t)}}function Jb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=0;if(d0=C,g=e[t>>2]|0,H2(o,g,24),d=t+4|0,Q=e[d>>2]|0,H2(o,Q,24),Z=t+8|0,Y=e[Z>>2]|0,h0=Y+-1|0,H2(o,h0,24),i0=t+12|0,e0=e[i0>>2]|0,u0=e0+-1|0,H2(o,u0,6),c0=t+20|0,p=e[c0>>2]|0,H2(o,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,w=V8(k)|0,_=(w|0)>3,x=e[D>>2]|0,_?(H2(o,x,3),H2(o,1,1),R=e[D>>2]|0,L=R>>3,H2(o,L,5)):H2(o,x,4),F=e[D>>2]|0,N=(F|0)==0,N)g0=0;else for(a=F,I0=0;;)if(O=a&1,H=O+I0|0,V=a>>>1,J=(V|0)==0,J){g0=H;break}else a=V,I0=H;if(t0=g0+$0|0,A0=X+1|0,j=e[i0>>2]|0,n0=(A0|0)<(j|0),n0)$0=t0,X=A0;else{$=t0;break}}if(B=($|0)>0,!!B)for(b=t+280|0,m0=0;s0=b+(m0<<2)|0,K=e[s0>>2]|0,H2(o,K,8),o0=m0+1|0,l0=(o0|0)==($|0),!l0;)m0=o0}}function Kb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0;a1=C,p=ce(1,2840)|0,I=t+28|0,R=e[I>>2]|0,j=n4(o,24)|0,e[p>>2]=j,$0=n4(o,24)|0,y0=p+4|0,e[y0>>2]=$0,U0=n4(o,24)|0,j0=U0+1|0,Y0=p+8|0,e[Y0>>2]=j0,s1=n4(o,6)|0,E=s1+1|0,y=p+12|0,e[y>>2]=E,B=n4(o,8)|0,b=p+20|0,e[b>>2]=B,D=(B|0)<0;e:do if(D)c1=26;else{if(k=(s1|0)>-1,k){for(w=p+24|0,n1=0,d1=0;;){if(x=n4(o,3)|0,L=n4(o,1)|0,F=(L|0)<0,F){c1=26;break e}if(N=(L|0)==0,N)L0=x;else{if(O=n4(o,5)|0,H=(O|0)<0,H){c1=26;break e}V=O<<3,J=V|x,L0=J}if(t0=w+(d1<<2)|0,e[t0>>2]=L0,Z=(L0|0)==0,Z)h1=0;else for($=L0,A1=0;;)if(A0=$&1,n0=A0+A1|0,s0=$>>>1,K=(s0|0)==0,K){h1=n0;break}else $=s0,A1=n0;if(o0=h1+n1|0,Y=d1+1|0,h0=e[y>>2]|0,i0=(Y|0)<(h0|0),i0)n1=o0,d1=Y;else{d=o0;break}}if(_=(d|0)>0,_)for(Q=p+280|0,u1=0;;){if(e0=n4(o,8)|0,u0=(e0|0)<0,u0)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,r0=(m0|0)<(I0|0),r0){if(q0)for(d0=p+280|0,p1=0;;){if(b0=d0+(p1<<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=p1+1|0,Z0))break e;if(C0=(p0|0)<(z0|0),C0)p1=p0;else break}if(R0=(R+1824|0)+(m0<<2)|0,v0=e[R0>>2]|0,N0=v0+4|0,O0=e[N0>>2]|0,H0=e[v0>>2]|0,S0=(H0|0)<1,!S0){for(J0=e[y>>2]|0,o1=H0,f1=1;;){if(P0=o5(J0,f1)|0,W0=(P0|0)>(O0|0),W0)break e;if(T0=o1+-1|0,M0=(o1|0)>1,M0)o1=T0,f1=P0;else{g=P0;break}}return K0=p+16|0,e[K0>>2]=g,a=p,a|0}}}while(!1);return(c1|0)==26&&(V0=(p|0)==0,V0)?(a=0,a|0):(E2(p),a=0,a|0)}function Wb(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0;if(k1=C,d=ce(1,44)|0,p=t+4|0,x=e[p>>2]|0,A0=x+28|0,c0=e[A0>>2]|0,e[d>>2]=o,b0=o+12|0,N0=e[b0>>2]|0,V0=d+4|0,e[V0>>2]=N0,s1=c0+2848|0,z0=e[s1>>2]|0,I=d+12|0,e[I>>2]=z0,E=z0,y=o+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,w=ce(N0,4)|0,_=d+20|0,e[_>>2]=w,Q=(N0|0)>0,Q)for(R=o+24|0,L=o+280|0,n1=0,h1=0,m1=0;;){if(F=R+(h1<<2)|0,N=e[F>>2]|0,O=V8(N)|0,H=(O|0)==0,H)d1=n1,Q1=m1;else if(V=(O|0)>(m1|0),$=V?O:m1,J=ce(O,4)|0,t0=w+(h1<<2)|0,e[t0>>2]=J,Z=(O|0)>0,Z)for(j=e[F>>2]|0,n0=w+(h1<<2)|0,L0=n1,$1=0;;)if(s0=1<<$1,K=j&s0,o0=(K|0)==0,o0?o1=L0:(Y=e[s1>>2]|0,h0=L0+1|0,i0=L+(L0<<2)|0,e0=e[i0>>2]|0,u0=Y+(e0*56|0)|0,$0=e[n0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=h0),X=$1+1|0,p1=(X|0)==(O|0),p1){d1=o1,Q1=$;break}else L0=o1,$1=X;else d1=n1,Q1=$;if(m0=h1+1|0,g0=(m0|0)<(N0|0),g0)n1=d1,h1=m0,m1=Q1;else{B1=Q1;break}}else B1=0;if(I0=d+24|0,e[I0>>2]=1,r0=(k|0)>0,r0){for(p0=1,A1=0;;)if(d0=o5(p0,N0)|0,C0=A1+1|0,u1=(C0|0)==(k|0),u1){a=d0;break}else p0=d0,A1=C0;e[I0>>2]=a,E0=a}else E0=1;if(y0=d+8|0,e[y0>>2]=B1,D0=E0<<2,Q0=R9(D0)|0,w0=d+28|0,e[w0>>2]=Q0,B0=(E0|0)>0,!B0)return d|0;if(x0=k<<2,!r0){for(c1=0;K0=R9(x0)|0,j0=Q0+(c1<<2)|0,e[j0>>2]=K0,q0=c1+1|0,Y0=(q0|0)<(E0|0),Y0;)c1=q0;return d|0}for(Z0=e[w0>>2]|0,a1=0;;){for(M0=R9(x0)|0,P0=Q0+(a1<<2)|0,e[P0>>2]=M0,W0=Z0+(a1<<2)|0,J0=e[W0>>2]|0,g=E0,X0=0,y1=a1;C1=(g|0)/(N0|0)&-1,U0=(y1|0)/(C1|0)&-1,O0=o5(U0,C1)|0,H0=y1-O0|0,S0=J0+(X0<<2)|0,e[S0>>2]=U0,T0=X0+1|0,f1=(T0|0)==(k|0),!f1;)g=C1,X0=T0,y1=H0;if(R0=a1+1|0,v0=(R0|0)<(E0|0),v0)a1=R0;else break}return d|0}function Zb(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0;if(N=C,d=(g|0)>0,d)Q=0,x=0;else return 0;for(;;)if(p=$+(Q<<2)|0,I=e[p>>2]|0,E=(I|0)==0,E?R=x:(y=a+(Q<<2)|0,B=e[y>>2]|0,b=x+1|0,D=a+(x<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){L=R;break}else Q=k,x=R;return w=(L|0)==0,w||Py(t,o,a,L,2),0}function jb(t,o,a,$,g,d,p,I){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0;if(V=C,E=(d|0)>0,E)L=0,F=0;else return 0;for(;;)if(y=g+(L<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b?N=F:(D=$+(L<<2)|0,k=e[D>>2]|0,w=F+1|0,_=$+(F<<2)|0,e[_>>2]=k,N=w),Q=L+1|0,R=(Q|0)==(d|0),R){O=N;break}else L=Q,F=N;return x=(O|0)==0,x||Oy(t,a,$,O,p),0}function Xb(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,I=(g|0)>0,I)o1=0,m1=0;else return d=0,d|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,n0=(L|0)==0,n0?Q1=m1:(l0=a+(o1<<2)|0,D0=e[l0>>2]|0,O0=m1+1|0,W0=a+(m1<<2)|0,e[W0>>2]=D0,Q1=O0),K0=o1+1|0,Y0=(K0|0)==(g|0),Y0){C1=Q1;break}else o1=K0,m1=Q1;if(V0=(C1|0)==0,V0)return d=0,d|0;if(y=e[o>>2]|0,B=y+8|0,b=e[B>>2]|0,D=y+12|0,k=e[D>>2]|0,w=y+4|0,_=e[w>>2]|0,Q=e[y>>2]|0,x=_-Q|0,R=(x|0)/(b|0)&-1,F=C1<<2,N=W8(t,F)|0,O=+(b|0),H=100/O,V=H,J=(C1|0)>0,J)for(t0=R<<2,d1=0;K=W8(t,t0)|0,o0=N+(d1<<2)|0,e[o0>>2]=K,g4(K|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,s0=(k|0)>1,u1=0;;){if(h0=o5(u1,b)|0,i0=e[y>>2]|0,e0=i0+h0|0,J)for(f1=0;;){if(A0)for(u0=a+(f1<<2)|0,c0=e[u0>>2]|0,q0=0,h1=0,$1=0;;)if($0=e0+h1|0,X=c0+($0<<2)|0,m0=e[X>>2]|0,p1=(m0|0)>-1,X0=0-m0|0,g0=p1?m0:X0,I0=(g0|0)>($1|0),p=I0?g0:$1,r0=g0+q0|0,d0=h1+1|0,s1=(d0|0)==(b|0),s1){j0=r0,a1=p;break}else q0=r0,h1=d0,$1=p;else j0=0,a1=0;p0=+(j0|0),C0=p0*V,b0=~~C0;e:do if(s0)for(c1=0;;){if(y0=(y+2328|0)+(c1<<2)|0,E0=e[y0>>2]|0,Q0=(a1|0)>(E0|0),!Q0&&(w0=(y+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,x0=(B0|0)<0,Z0=(b0|0)<(B0|0),B1=x0|Z0,B1)){A1=c1;break e}if(R0=c1+1|0,v0=(R0|0)<(j|0),v0)c1=R0;else{A1=R0;break}}else A1=0;while(!1);if(N0=N+(f1<<2)|0,U0=e[N0>>2]|0,H0=U0+(u1<<2)|0,e[H0>>2]=A1,S0=f1+1|0,z0=(S0|0)==(C1|0),z0)break;f1=S0}if(J0=u1+1|0,n1=(J0|0)==(R|0),n1)break;u1=J0}return T0=o+40|0,M0=e[T0>>2]|0,P0=M0+1|0,e[T0>>2]=P0,d=N,d|0}function eD(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0;if(N=C,d=(g|0)>0,d)Q=0,x=0;else return 0;for(;;)if(p=$+(Q<<2)|0,I=e[p>>2]|0,E=(I|0)==0,E?R=x:(y=a+(Q<<2)|0,B=e[y>>2]|0,b=x+1|0,D=a+(x<<2)|0,e[D>>2]=B,R=b),k=Q+1|0,_=(k|0)==(g|0),_){L=R;break}else Q=k,x=R;return w=(L|0)==0,w||Py(t,o,a,L,3),0}function tD(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=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,s0=f1&1,A1=s0+a1|0,X=P0+1|0,J0=(X|0)==(g|0),J0){c1=A1;break}else P0=X,a1=A1;if(h1=(c1|0)==0,h1)return d=0,d|0;if(E0=e[o>>2]|0,Z0=E0+8|0,R0=e[Z0>>2]|0,v0=E0+12|0,N0=e[v0>>2]|0,B=E0+4|0,b=e[B>>2]|0,D=e[E0>>2]|0,k=b-D|0,w=(k|0)/(R0|0)&-1,_=W8(t,4)|0,Q=w<<2,x=W8(t,Q)|0,e[_>>2]=x,g4(x|0,0,Q|0)|0,R=(w|0)>0,R)for(L=e[E0>>2]|0,N=(L|0)/(g|0)&-1,O=(R0|0)>0,H=N0+-1|0,V=(N0|0)>1,J=e[_>>2]|0,t0=(g|0)>1,W0=0,z0=N;;){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,K0=(j|0)>-1,u1=0-j|0,n0=K0?j:u1,K=(n0|0)>(d1|0),I=K?n0:d1,t0)for(S0=O0,s1=1;;)if(o0=a+(s1<<2)|0,Y=e[o0>>2]|0,h0=Y+(L0<<2)|0,i0=e[h0>>2]|0,V0=(i0|0)>-1,p1=0-i0|0,e0=V0?i0:p1,u0=(e0|0)>(S0|0),p=u0?e0:S0,c0=s1+1|0,T0=(c0|0)==(g|0),T0){H0=p;break}else S0=p,s1=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,n1=$0,o1=I;break}}else U0=0,n1=z0,o1=0;e:do if(V)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,I0=e[g0>>2]|0,r0=(o1|0)>(I0|0),!r0&&(d0=(E0+2584|0)+(Y0<<2)|0,p0=e[d0>>2]|0,C0=(U0|0)>(p0|0),!C0)){q0=Y0;break e}if(b0=Y0+1|0,y0=(b0|0)<(H|0),y0)Y0=b0;else{q0=b0;break}}else q0=0;while(!1);if(D0=J+(W0<<2)|0,e[D0>>2]=q0,Q0=W0+1|0,M0=(Q0|0)==(w|0),M0)break;W0=Q0,z0=n1}return w0=o+40|0,B0=e[w0>>2]|0,x0=B0+1|0,e[w0>>2]=x0,d=_,d|0}function iD(t,o,a,$,g,d,p,I){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0;if(c0=C,C=C+16|0,e0=c0,E=o+36|0,y=e[E>>2]|0,F=(y|0)/2&-1,N=d<<2,O=o5(N,F)|0,H=W8(o,O)|0,e[e0>>2]=H,V=(d|0)>0,!V)return C=c0,0;for(J=(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,K=(b|0)!=0,D=K&1,Y=D+i0|0,J)for(n0=0,s0=j;k=Z+(n0<<2)|0,w=e[k>>2]|0,_=H+(s0<<2)|0,e[_>>2]=w,Q=n0+1|0,x=s0+d|0,R=(Q|0)<(F|0),R;)n0=Q,s0=x;if(L=j+1|0,A0=(L|0)==(d|0),A0){h0=Y;break}else j=L,i0=Y}return o0=(h0|0)==0,o0?(C=c0,0):(Oy(t,a,e0,1,p),C=c0,0)}function nD(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;if(S1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,n0=o+16|0,l0=e[n0>>2]|0,D0=e[l0>>2]|0,O0=t+36|0,q0=e[O0>>2]|0,h1=o5(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,w=(k|0)>0,!w)return 0;_=(k|0)/(L|0)&-1,Q=D0+-1|0,x=Q+_|0,R=(x|0)/(D0|0)&-1,F=R<<2,N=W8(t,F)|0,O=(g|0)>0;e:do if(O)for(a1=0;;){if(H=$+(a1<<2)|0,V=e[H>>2]|0,J=(V|0)==0,!J){c1=a1;break e}if(t0=a1+1|0,Z=(t0|0)<(g|0),Z)a1=t0;else{c1=t0;break}}else c1=0;while(!1);if(A0=(c1|0)==(g|0),A0||(j=o+8|0,s0=e[j>>2]|0,K=(s0|0)>0,!K))return 0;o0=(_|0)>0,Y=t+4|0,h0=I+16|0,i0=o+28|0,e0=(D0|0)>0,u0=o+20|0,f1=s0,v1=0;e:for(;;){if(o0){for(c0=(v1|0)==0,$0=1<>2]|0,m0=$E(X,Y)|0,g0=(m0|0)==-1,g0){k1=23;break e}if(I0=e[h0>>2]|0,r0=(m0|0)<(I0|0),!r0){k1=23;break e}if(d0=e[i0>>2]|0,p0=d0+(m0<<2)|0,C0=e[p0>>2]|0,b0=N+(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=N+(Q1<<2)|0,B1=$1,m1=0;;){if(w0=e[Q0>>2]|0,B0=w0+(m1<<2)|0,x0=e[B0>>2]|0,Z0=(I+24|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0&$0,N0=(v0|0)==0,!N0&&(U0=e[u0>>2]|0,H0=U0+(x0<<2)|0,S0=e[H0>>2]|0,J0=S0+(v1<<2)|0,T0=e[J0>>2]|0,M0=(T0|0)==0,!M0&&(P0=o5(B1,L)|0,W0=e[I>>2]|0,K0=W0+P0|0,V0=$b(T0,a,K0,g,Y,L)|0,j0=(V0|0)==-1,j0))){k1=23;break e}if(Y0=m1+1|0,s1=B1+1|0,z0=(Y0|0)<(D0|0),n1=(s1|0)<(_|0),C1=z0&n1,C1)B1=s1,m1=Y0;else{X0=s1;break}}else X0=$1;if(L0=Q1+1|0,o1=(X0|0)<(_|0),o1)$1=X0,Q1=L0;else break}p=e[j>>2]|0,p1=p}else p1=f1;if(d1=v1+1|0,u1=(d1|0)<(p1|0),u1)f1=p1,v1=d1;else{k1=23;break}}return(k1|0)==23,0}function Py(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0;if(t2=C,y=e[o>>2]|0,B=y+8|0,N=e[B>>2]|0,K=o+16|0,m0=e[K>>2]|0,Q0=e[m0>>2]|0,S0=t+36|0,s1=e[S0>>2]|0,c1=s1>>1,S1=y+4|0,b=e[S1>>2]|0,D=(b|0)<(c1|0),d=D?b:c1,k=e[y>>2]|0,w=d-k|0,_=(w|0)>0,!_){C=t2;return}if(Q=(w|0)/(N|0)&-1,x=$<<2,p=x,R=C,C=C+((1*p|0)+15&-16)|0,L=($|0)>0,L)for(F=Q0+-1|0,O=F+Q|0,H=(O|0)/(Q0|0)&-1,V=H<<2,U1=0;h0=W8(t,V)|0,i0=R+(U1<<2)|0,e[i0>>2]=h0,e0=U1+1|0,M1=(e0|0)==($|0),!M1;)U1=e0;if(J=o+8|0,t0=e[J>>2]|0,Z=(t0|0)>0,!Z){C=t2;return}A0=(Q|0)>0,j=t+4|0,n0=y+16|0,s0=o+28|0,o0=(Q0|0)>0,Y=o+20|0,E=L^1,V1=0;e:for(;;){if(A0)for(u0=1<>2]|0,z0=$E(Y0,j)|0,n1=(z0|0)==-1,n1){Y1=25;break e}if(L0=e[n0>>2]|0,o1=(z0|0)<(L0|0),!o1){Y1=25;break e}if(d1=e[s0>>2]|0,u1=d1+(z0<<2)|0,p1=e[u1>>2]|0,f1=R+(D1<<2)|0,h1=e[f1>>2]|0,A1=h1+(x1<<2)|0,e[A1>>2]=p1,a1=(p1|0)==0,j0=D1+1|0,a1){Y1=25;break e}if(q0=(j0|0)<($|0),q0)D1=j0;else break}c0=(b1|0)<(Q|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,X1=0;;)if($1=X1+1|0,X0=R1+1|0,B1=($1|0)<(Q0|0),m1=(X0|0)<(Q|0),K1=B1&m1,K1)R1=X0,X1=$1;else{_1=X0;break t}for(;;){for(d0=o5(F1,N)|0,P1=0;;){if(I0=e[y>>2]|0,r0=I0+d0|0,p0=R+(P1<<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&u0,Z0=(x0|0)==0,!Z0&&(R0=e[Y>>2]|0,v0=R0+(E0<<2)|0,N0=e[v0>>2]|0,U0=N0+(V1<<2)|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0&&(J0=a+(P1<<2)|0,T0=e[J0>>2]|0,M0=T0+(r0<<2)|0,P0=qC[g&3](O0,M0,j,N)|0,W0=(P0|0)==-1,W0))){Y1=25;break e}if(K0=P1+1|0,V0=(K0|0)<($|0),V0)P1=K0;else break}if($0=G1+1|0,l0=F1+1|0,X=($0|0)<(Q0|0),g0=(l0|0)<(Q|0),q1=X&g0,q1)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=V1+1|0,v1=e[J>>2]|0,k1=(y1|0)<(v1|0),k1)V1=y1;else{Y1=25;break}}if((Y1|0)==25){C=t2;return}}function Oy(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,U5=Q6+1024|0,J6=Q6+512|0,A3=Q6,Q=e[o>>2]|0,x=Q+8|0,c2=e[x>>2]|0,J2=Q+12|0,j2=e[J2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,I5=e[T1>>2]|0,d3=Q+4|0,H3=e[d3>>2]|0,R=e[Q>>2]|0,j=H3-R|0,$0=(j|0)/(c2|0)&-1,g4(J6|0,0,512)|0,g4(A3|0,0,512)|0,y0=o+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,s2=o+36|0,r2=(I5|0)>0,D2=o+20|0,S2=o+32|0,y2=0-I5|0,k2=U0,g6=0;;){if(f1){for(G2=(g6|0)==0,M2=1<>2]|0,q5=L5+(j5<<2)|0,M5=e[q5>>2]|0,z2=e[Q5>>2]|0,C5=z2+4|0,$5=e[C5>>2]|0,h5=(M5|0)<($5|0),h5&&(w5=Ou(z2,M5,t)|0,_5=e[s2>>2]|0,d5=_5+w5|0,e[s2>>2]=d5),l5=v6+1|0,l6=(l5|0)==($|0),l6)break e;v6=l5}for(;;){for(b2=g+(R3<<2)|0,p5=e[b2>>2]|0,y5=p5+(j5<<2)|0,s5=e[y5>>2]|0,B6=1,$6=s5;;)if(t5=o5($6,j2)|0,T5=B6+j5|0,i5=(T5|0)<($0|0),i5?(x5=p5+(T5<<2)|0,D5=e[x5>>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[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[s2>>2]|0,Y2=A5+Z2|0,e[s2>>2]=Y2),N1=R3+1|0,D3=(N1|0)==($|0),D3)break;R3=N1}}while(!1);if(F2=(j5|0)<($0|0),R6=r2&F2,R6){for(R2=j5-$0|0,Q2=R2>>>0>>0,H6=Q2?y2:R2,N5=0-H6|0,d6=j5,K3=0;;){if(X2=o5(d6,c2)|0,d2=e[Q>>2]|0,v5=d2+X2|0,y1)for(s6=0;;){if(n5=g+(s6<<2)|0,a5=e[n5>>2]|0,f5=a5+(d6<<2)|0,K2=e[f5>>2]|0,G2&&(r5=A3+(K2<<2)|0,R5=e[r5>>2]|0,e5=R5+c2|0,e[r5>>2]=e5),c5=(Q+24|0)+(K2<<2)|0,T2=e[c5>>2]|0,k5=T2&M2,z5=(k5|0)==0,!z5&&(i3=e[D2>>2]|0,B5=i3+(K2<<2)|0,I3=e[B5>>2]|0,W5=I3+(g6<<2)|0,n3=e[W5>>2]|0,a3=(n3|0)==0,!a3)){if(y3=a+(s6<<2)|0,G5=e[y3>>2]|0,Z5=e[n3>>2]|0,x3=(c2|0)/(Z5|0)&-1,f3=(x3|0)>0,f3){for(w3=n3+48|0,e6=n3+52|0,X5=n3+44|0,_3=n3+12|0,t3=n3+4|0,L=Z5,b5=0,h3=0;;){a6=o5(h3,Z5)|0,D=a6+v5|0,G3=G5+(D<<2)|0,V3=e[w3>>2]|0,c3=e[e6>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,F=(L|0)>0;do if(Q3){if(!F){r6=0;break}for(V=g3+-1|0,m3=0,S6=0,W3=L;;)if(C0=W3+-1|0,_=D+C0|0,b0=G5+(_<<2)|0,D0=e[b0>>2]|0,E0=D0-V3|0,Q0=(E0|0)<(u3|0),Q0?(w0=u3-E0|0,B0=w0<<1,x0=B0+-1|0,N0=x0):(Z0=E0-u3|0,R0=Z0<<1,N0=R0),v0=o5(S6,g3)|0,O0=(N0|0)<0,H0=(N0|0)>=(g3|0),S0=H0?V:N0,J0=O0?0:S0,T0=J0+v0|0,M0=o3+(C0<<2)|0,e[M0>>2]=D0,P0=m3+1|0,n6=(P0|0)==(L|0),n6){r6=T0;break}else m3=P0,S6=T0,W3=C0}else{if(!F){r6=0;break}for(N=c3>>1,O=N-V3|0,H=g3+-1|0,M3=0,M6=0,F3=L;;)if(J=F3+-1|0,w=D+J|0,t0=G5+(w<<2)|0,Z=e[t0>>2]|0,A0=O+Z|0,n0=(A0|0)/(c3|0)&-1,s0=(n0|0)<(u3|0),s0?(K=u3-n0|0,o0=K<<1,Y=o0+-1|0,u0=Y):(h0=n0-u3|0,i0=h0<<1,u0=i0),e0=o5(M6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),X=l0?H:u0,m0=c0?0:X,g0=m0+e0|0,I0=o5(n0,c3)|0,r0=I0+V3|0,d0=o3+(J<<2)|0,e[d0>>2]=r0,p0=M3+1|0,z3=(p0|0)==(L|0),z3){r6=g0;break}else M3=p0,M6=g0,F3=J}while(!1);W0=e[_3>>2]|0,K0=W0+8|0,V0=e[K0>>2]|0,q0=V0+r6|0,Y0=f[q0>>0]|0,s1=Y0<<24>>24<1;do if(s1){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,n1=o5(z0,c3)|0,L0=n1+V3|0,o1=e[t3>>2]|0,d1=(o1|0)>0,d1)J5=-1,x6=0,f6=r6;else{N6=r6;break}for(;;){u1=V0+x6|0,p1=f[u1>>0]|0,h1=p1<<24>>24>0;do if(h1){if(F)for(j6=0,T3=0;;)if(A1=U5+(j6<<2)|0,c1=e[A1>>2]|0,k=D+j6|0,a1=G5+(k<<2)|0,$1=e[a1>>2]|0,X0=c1-$1|0,B1=o5(X0,X0)|0,m1=B1+T3|0,Q1=j6+1|0,A6=(Q1|0)==(L|0),A6){y6=m1;break}else j6=Q1,T3=m1;else y6=0;if(C1=(J5|0)==-1,v1=(y6|0)<(J5|0),t6=C1|v1,!t6){H5=J5,b6=f6;break}e[o3>>2]=e[U5>>2]|0,e[o3+4>>2]=e[U5+4>>2]|0,e[o3+8>>2]=e[U5+8>>2]|0,e[o3+12>>2]=e[U5+12>>2]|0,e[o3+16>>2]=e[U5+16>>2]|0,e[o3+20>>2]=e[U5+20>>2]|0,e[o3+24>>2]=e[U5+24>>2]|0,e[o3+28>>2]=e[U5+28>>2]|0,H5=y6,b6=x6}else H5=J5,b6=f6;while(!1);if(k1=e[U5>>2]|0,S1=(k1|0)<(L0|0),S1)p=U5,I=k1;else for(M1=U5,o6=0;;)if(L1=o6+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,o6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[p>>2]=U1,X1=U1):X1=I,P1=0-X1|0,e[p>>2]=P1,G1=x6+1|0,r3=(G1|0)==(o1|0),r3){N6=b6;break}else J5=H5,x6=G1,f6=b6}}else N6=r6;while(!1);if(x1=(N6|0)>-1,c6=F&x1,c6)for(d=G3,L6=0;K1=o3+(L6<<2)|0,q1=e[K1>>2]|0,H1=d+4|0,V1=e[d>>2]|0,Y1=V1-q1|0,e[d>>2]=Y1,t2=L6+1|0,l3=(t2|0)==(L|0),!l3;)d=H1,L6=t2;if(e2=Ou(n3,N6,t)|0,O1=e2+b5|0,h2=h3+1|0,U3=(h2|0)==(x3|0),U3){E=O1;break}y=e[n3>>2]|0,L=y,b5=O1,h3=h2}B=e[n5>>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=J6+($2<<2)|0,f2=e[W1>>2]|0,g2=f2+Y5|0,e[W1>>2]=g2}if(o2=s6+1|0,C6=(o2|0)==($|0),C6)break;s6=o2}if(l2=K3+1|0,i2=d6+1|0,b3=(l2|0)==(N5|0),b3)break;d6=i2,K3=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,n2=b}else n2=k2;if(a2=g6+1|0,m2=(a2|0)<(n2|0),m2)k2=n2,g6=a2;else break}C=Q6}function V8(t){t=t|0;var o=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(o=t,I=0;;)if($=o>>>1,g=I+1|0,d=($|0)==0,d){p=g;break}else o=$,I=g;return p|0}function qy(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0;f2=C,C=C+144|0,O1=f2,E=(a|0)!=0,y=E?a:o,F=y<<2,s0=R9(F)|0,g4(O1|0,0,132)|0,X=(o|0)>0;do if(X){E0=O1+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=O1+(B<<2)|0,k=e[D>>2]|0,w=v1<<24>>24>31,_=k>>>B,Q=(_|0)==0,h2=w|Q,!h2){W1=5;break e}x=s0+(k1<<2)|0,e[x>>2]=k,R=O1+(B<<2)|0,L=k&1,N=(L|0)==0;i:do if(N)for(K=k,o0=R,K1=B;;){if(n0=K+1|0,e[o0>>2]=n0,Y=K1+-1|0,h0=(K1|0)>1,!h0)break i;if(d=O1+(Y<<2)|0,I=e[d>>2]|0,i0=O1+(Y<<2)|0,e0=I&1,u0=(e0|0)==0,u0)K=I,o0=i0,K1=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,H=(x1|0)==1,H){V=e[E0>>2]|0,J=V+1|0,e[E0>>2]=J;break}else{t0=x1+-1|0,Z=O1+(t0<<2)|0,A0=e[Z>>2]|0,j=A0<<1,e[g>>2]=j;break}while(!1);if(Y1=B+1|0,O=(Y1|0)<33,O)for(R1=k,H1=B,t2=Y1;;){if(c0=O1+(t2<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){p=1;break t}if(g0=O1+(H1<<2)|0,I0=e[g0>>2]|0,r0=I0<<1,e[c0>>2]=r0,q1=t2+1|0,d0=(q1|0)<33,d0)V1=t2,R1=$0,t2=q1,H1=V1;else{p=1;break}}else p=1}else p=Y0;while(!1);if(S1=k1+p|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)k1=S1,D1=p0;else{L1=S1,W1=16;break}}if((W1|0)==5)return E2(s0),$=0,C=f2,$|0;if((W1|0)==16){if(Z1=(L1|0)==1,!Z1){P1=1,W1=27;break}if(b0=O1+8|0,y0=e[b0>>2]|0,D0=(y0|0)==2,D0)break;P1=1,W1=27;break}}else P1=1,W1=27;while(!1);e:do if((W1|0)==27){for(;W1=0,j0=O1+(P1<<2)|0,q0=e[j0>>2]|0,s1=32-P1|0,z0=-1>>>s1,n1=q0&z0,L0=(n1|0)==0,K0=P1+1|0,!!L0;)if(V0=(K0|0)<33,V0)P1=K0,W1=27;else break e;return E2(s0),$=0,C=f2,$|0}while(!1);if(!X)return $=s0,C=f2,$|0;if(E)b1=0,G1=0;else{for(M1=0,X1=0;;){if(o1=t+X1|0,d1=f[o1>>0]|0,u1=d1<<24>>24>0,u1)for(p1=s0+(M1<<2)|0,f1=e[p1>>2]|0,h1=d1<<24>>24,s2=0,C2=0;;)if(c1=C2<<1,a1=f1>>>s2,$1=a1&1,X0=$1|c1,B1=s2+1|0,m1=(B1|0)<(h1|0),m1)s2=B1,C2=X0;else{I2=X0;break}else I2=0;if(Q1=M1+1|0,C1=s0+(M1<<2)|0,e[C1>>2]=I2,y1=X1+1|0,F1=(y1|0)==(o|0),F1){$=s0;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=s0+(b1<<2)|0,O0=e[W0>>2]|0,P0=w0<<24>>24,e2=0,$2=0;;)if(N0=$2<<1,U0=O0>>>e2,S0=U0&1,J0=S0|N0,T0=e2+1|0,M0=(T0|0)<(P0|0),M0)e2=T0,$2=J0;else{A2=J0;break}else A2=0;if(x0=w0<<24>>24==0,x0?_1=b1:(Z0=b1+1|0,R0=s0+(b1<<2)|0,e[R0>>2]=A2,_1=Z0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=f2,$|0}function rD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0;if(K=C,$=t+4|0,g=e[$>>2]|0,_=e[t>>2]|0,Q=(_|0)>0,!Q)for(;;);for(x=+(g|0),R=x,L=+(_|0),F=1/L,N=F,O=+Gu(+R,+N),d=+aA(+O),p=~~d,Z=p;;){for(D=Z+1|0,H=1,V=1,J=0;;)if(B=o5(H,Z)|0,b=o5(V,D)|0,k=J+1|0,w=(k|0)<(_|0),w)H=B,V=b,J=k;else{o=B,a=b;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),t0=I&E,t0){n0=Z;break}y=(o|0)>(g|0),j=y?-1:1,A0=Z+j|0,Z=A0}return n0|0}function oD(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=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,r5=E>>>0<2,!r5)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=+gE($,b),o0=O,g0=t+20|0,w0=e[g0>>2]|0,J0=w0&2097151,j0=+(J0|0),q0=w0>>>21,Y0=q0&1023,s1=(w0|0)<0,n1=-j0,g=s1?n1:j0,L0=Y0+-788|0,o1=+gE(g,L0),d1=o1,u1=e[t>>2]|0,p1=o5(u1,o)|0,f1=ce(p1,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,U1=+Gu(+b1,+F1),D1=+aA(+U1),P1=~~D1,c5=P1;;){for(I2=c5+1|0,s5=1,F2=1,C5=0;;)if(O1=o5(s5,c5)|0,h2=o5(F2,I2)|0,A2=C5+1|0,E5=(A2|0)==(u1|0),E5){p=O1,I=h2;break}else s5=O1,F2=h2,C5=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,R5=e5+c5|0,c5=R5}if(K1=(k1|0)>0,!K1)return d=f1,d|0;for(q1=(a|0)==0,H1=t+8|0,V1=t+32|0,Y1=d1,t2=o0,s2=t+28|0,R2=0,T1=0;;){if(q1)if(c2=e[V1>>2]|0,r2=e[s2>>2]|0,g2=(r2|0)==0,o2=o5(u1,R2)|0,g2)for(w5=1,X2=0;;)if(x5=(T1|0)/(w5|0)&-1,j2=(x5|0)%(T2|0)&-1,p5=c2+(j2<<2)|0,D5=e[p5>>2]|0,V5=+(D5|0),z2=+on(+V5),u5=z2,b2=u5*Y1,y5=t2+b2,D=y5,k=o2+X2|0,w=f1+(k<<2)|0,s[w>>2]=D,_=o5(w5,T2)|0,Q=X2+1|0,x=(Q|0)<(u1|0),x)w5=_,X2=Q;else{k5=21;break}else for($5=1,d5=0,n5=0;;)if(R=(T1|0)/($5|0)&-1,L=(R|0)%(T2|0)&-1,F=c2+(L<<2)|0,N=e[F>>2]|0,H=+(N|0),q5=+on(+H),V=q5,J=V*Y1,t0=n5,Z=t0+t2,A0=Z+J,j=A0,n0=o2+d5|0,s0=f1+(n0<<2)|0,s[s0>>2]=j,K=o5($5,T2)|0,Y=d5+1|0,h0=(Y|0)<(u1|0),h0)$5=K,d5=Y,n5=j;else{k5=21;break}else if(C2=e[H1>>2]|0,$2=C2+T1|0,W1=f[$2>>0]|0,f2=W1<<24>>24==0,f2)Q2=R2;else for(i2=e[V1>>2]|0,a2=e[s2>>2]|0,m2=(a2|0)==0,n2=a+(R2<<2)|0,k2=e[n2>>2]|0,D2=o5(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),M5=+on(+p2),W2=M5,q2=W2*Y1,J2=a5,U2=J2+t2,V2=U2+q2,Z2=V2,v5=m2?a5:Z2,A5=D2+l5|0,Y2=f1+(A5<<2)|0,s[Y2>>2]=Z2,N1=o5(h5,T2)|0,T5=l5+1|0,i5=(T5|0)<(u1|0),i5)h5=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,u0=(e0|0)<(k1|0),u0)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,c1=(A1|0)>0,!c1)return d=f1,d|0;for($1=(a|0)!=0,X0=t+8|0,B1=t+32|0,m1=d1,Q1=o0,C1=t+28|0,y1=(u1|0)>0,Q5=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=Q5:k5=25):k5=25,(k5|0)==25){if(k5=0,y1)for(m0=e[B1>>2]|0,I0=e[C1>>2]|0,r0=(I0|0)==0,d0=a+(Q5<<2)|0,p0=o5(u1,_5)|0,C0=o5(u1,Q5)|0,d2=0,K2=0;b0=p0+d2|0,y0=m0+(b0<<2)|0,D0=e[y0>>2]|0,E0=+(D0|0),L5=+on(+E0),Q0=L5,B0=Q0*m1,x0=K2,Z0=x0+Q1,R0=Z0+B0,v0=R0,f5=r0?K2:v0,$1?(N0=e[d0>>2]|0,U0=o5(N0,u1)|0,O0=U0+d2|0,H0=f1+(O0<<2)|0,s[H0>>2]=v0):(S0=C0+d2|0,T0=f1+(S0<<2)|0,s[T0>>2]=v0),M0=d2+1|0,P0=(M0|0)<(u1|0),P0;)d2=M0,K2=f5;W0=Q5+1|0,N5=W0}if(K0=_5+1|0,V0=(K0|0)<(A1|0),V0)Q5=N5,_5=K0;else{d=f1;break}}return d|0}else return d=f1,d|0;return 0}function GC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0;b=C,o=t+36|0,a=e[o>>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 sD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0;R=C,o=t+16|0,a=e[o>>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,w=(k|0)==0,w||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,L=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(L|0))}function Hy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=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]=o,I=o+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[o>>2]|0,e[t>>2]=y0,x0=o+8|0,Z0=e[x0>>2]|0,R0=qy(Z0,R,0)|0,v0=t+20|0,e[v0>>2]=R0,E=e[I>>2]|0,y=e[o>>2]|0,B=(y|0)>0,!B)for(;;);for(b=+(E|0),D=b,k=+(y|0),w=1/k,_=w,Q=+Gu(+D,+_),x=+aA(+Q),L=~~x,W0=L;;){for(J=W0+1|0,N0=1,U0=1,H0=0;;)if(H=o5(N0,W0)|0,V=o5(U0,J)|0,t0=H0+1|0,O0=(t0|0)==(y|0),O0){g=H,d=V;break}else N0=H,U0=V,H0=t0;if(F=(g|0)<=(E|0),N=(d|0)>(E|0),S0=N&F,S0){K0=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]=K0,A0=o+16|0,n0=e[A0>>2]|0,s0=n0&2097151,K=+(s0|0),o0=n0>>>21,Y=o0&1023,h0=(n0|0)<0,i0=-K,a=h0?i0:K,e0=Y+-788|0,u0=+gE(a,e0),c0=u0,J0=+Wy(c0),l0=~~J0,X=t+48|0,e[X>>2]=l0,m0=o+20|0,g0=e[m0>>2]|0,I0=g0&2097151,r0=+(I0|0),d0=g0>>>21,p0=d0&1023,C0=(g0|0)<0,b0=-r0,$=C0?b0:r0,D0=p0+-788|0,E0=+gE($,D0),Q0=E0,T0=+Wy(Q0),w0=~~T0,B0=t+52|0,e[B0>>2]=w0,0}function aD(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=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=o+4|0,k=e[D>>2]|0,C2=(k|0)>0,C2)for(z2=o+8|0,v5=e[z2>>2]|0,K3=0,G6=0;;)if(k5=v5+K3|0,Z5=f[k5>>0]|0,V3=Z5<<24>>24>0,l6=V3&1,E=l6+G6|0,j5=K3+1|0,w=(j5|0)<(k|0),w)K3=j5,G6=E;else{d0=E;break}else d0=0;if(J=t+4|0,e[J>>2]=k,i0=t+8|0,e[i0>>2]=d0,Z0=e[o>>2]|0,e[t>>2]=Z0,P0=(d0|0)>0,!P0)return $=0,C=O3,$|0;if(o1=o+8|0,B1=e[o1>>2]|0,_1=qy(B1,k,d0)|0,H1=d0<<2,d=H1,$2=C,C=C+((1*d|0)+15&-16)|0,n2=(_1|0)==0,n2){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,x5=(i5|0)==0,x5||E2(i5),p5=t+28|0,D5=e[p5>>2]|0,V5=(D5|0)==0,V5||E2(D5),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(;J2=_1+(F3<<2)|0,j2=e[J2>>2]|0,Q5=j2>>>16,N5=j2<<16,E5=Q5|N5,L5=E5>>>8,q5=L5&16711935,M5=E5<<8,C5=M5&-16711936,$5=q5|C5,h5=$5>>>4,w5=h5&252645135,T1=$5<<4,_5=T1&-252645136,d5=w5|_5,l5=d5>>>2,X2=l5&858993459,d2=d5<<2,n5=d2&-858993460,a5=X2|n5,f5=a5>>>1,K2=f5&1431655765,I5=a5<<1,r5=I5&-1431655766,R5=K2|r5,e[J2>>2]=R5,e5=$2+(F3<<2)|0,e[e5>>2]=J2,c5=F3+1|0,j6=(c5|0)==(d0|0),!j6;)F3=c5;for(Hu($2,d0,4,10),p=H1,T2=C,C=C+((1*p|0)+15&-16)|0,z5=R9(H1)|0,i3=t+20|0,e[i3>>2]=z5,B5=_1,W3=0;;)if(I3=$2+(W3<<2)|0,d3=e[I3>>2]|0,W5=d3,n3=W5-B5|0,a3=n3>>2,y3=T2+(a3<<2)|0,e[y3>>2]=W3,G5=W3+1|0,N6=(G5|0)==(d0|0),N6){t6=0;break}else W3=G5;for(;x3=_1+(t6<<2)|0,f3=e[x3>>2]|0,w3=T2+(t6<<2)|0,e6=e[w3>>2]|0,H3=z5+(e6<<2)|0,e[H3>>2]=f3,X5=t6+1|0,b6=(X5|0)==(d0|0),!b6;)t6=X5;if(E2(_1),_3=oD(o,d0,T2)|0,t3=t+16|0,e[t3>>2]=_3,a6=R9(H1)|0,G3=t+24|0,e[G3>>2]=a6,c3=e[D>>2]|0,g3=(c3|0)>0,g3)for(y=e[o1>>2]|0,R6=0,Q6=0;;)if(u3=y+R6|0,Q3=f[u3>>0]|0,J5=Q3<<24>>24>0,J5?(H5=Q6+1|0,Y5=T2+(Q6<<2)|0,b5=e[Y5>>2]|0,Y3=a6+(b5<<2)|0,e[Y3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,r3=(U5|0)<(c3|0),r3)R6=U5,Q6=X6;else{e9=X6;break}else e9=0;if(l3=R9(e9)|0,U3=t+28|0,e[U3>>2]=l3,C6=t+40|0,e[C6>>2]=0,g3){for(B=e[o1>>2]|0,s5=0,L3=B,c6=0,n9=0;;)if(b3=L3+c6|0,D3=f[b3>>0]|0,A6=D3<<24>>24>0,A6?(n6=n9+1|0,z3=T2+(n9<<2)|0,M3=e[z3>>2]|0,h3=e[U3>>2]|0,J3=h3+M3|0,f[J3>>0]=D3,d6=e[o1>>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=n6):(F2=M6,R2=d6,V6=n6)):(F2=s5,R2=L3,V6=n9),r6=c6+1|0,_=e[D>>2]|0,Q=(r6|0)<(_|0),Q)s5=F2,L3=R2,c6=r6,n9=V6;else{I=F2,o9=V6;break}if(x=(o9|0)==1,x){if(R=(I|0)==1,R)return L=t+36|0,e[L>>2]=1,F=ce(2,4)|0,N=t+32|0,e[N>>2]=F,O=F+4|0,e[O>>2]=1,e[F>>2]=1,$=0,C=O3,$|0;P3=1}else P3=o9}else P3=0;if(H=e[i0>>2]|0,V=(H|0)==0,V)U6=-4;else{for(g=H,Y6=0;;)if(t0=g>>>1,Z=Y6+1|0,A0=(t0|0)==0,A0){F6=Y6;break}else g=t0,Y6=Z;g9=F6+-3|0,U6=g9}if(j=t+36|0,n0=(U6|0)<5,a=n0?5:U6,s0=(a|0)>8,t9=s0?8:a,e[j>>2]=t9,K=1<>2]=o0,h0=(P3|0)>0,h0)for(l0=t9,o3=0;;){if(e0=e[U3>>2]|0,u0=e0+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,X=(l0|0)<($0|0),X)Q2=l0;else if(m0=e[i3>>2]|0,g0=m0+(o3<<2)|0,I0=e[g0>>2]|0,r0=I0>>>16,p0=I0<<16,C0=r0|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,N0=v0>>>2,U0=N0&858993459,O0=v0<<2,H0=O0&-858993460,S0=U0|H0,J0=S0>>>1,T0=J0&1431655765,M0=S0<<1,W0=M0&-1431655766,K0=T0|W0,V0=l0-$0|0,j0=(V0|0)==31,j0)Q2=l0;else for(q0=o3+1|0,s1=$0,A3=0;;)if(Y0=A3<>2]=q0,L0=A3+1|0,d1=e[j>>2]|0,u1=f[u0>>0]|0,p1=u1<<24>>24,f1=d1-p1|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,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,X1=P1&-252645136,G1=D1|X1,x1=G1>>>2,K1=x1&858993459,q1=G1<<2,V1=q1&-858993460,Y1=K1|V1,t2=Y1>>>1,s2=t2&1431655765,e2=Y1<<1,O1=e2&-1431655766,h2=s2|O1,Z1=o0+(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(c2=e[i3>>2]|0,r2=c2+(W1<<2)|0,g2=e[r2>>2]|0,o2=g2>>>0>y1>>>0,o2){T3=y6;break}else y6=W1}l2=(P3|0)>(v6|0);e:do if(l2)for(i2=e[i3>>2]|0,o6=v6;;){if(a2=i2+(o6<<2)|0,m2=e[a2>>2]|0,k2=m2&X0,D2=y1>>>0>>0,D2){R3=o6;break e}if(S2=o6+1|0,y2=(P3|0)>(S2|0),y2)o6=S2;else{R3=S2;break}}else R3=v6;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,s6=R3,D6=T3}else s6=v6,D6=g6;if(q2=J6+1|0,U2=(q2|0)<(K|0),!U2){$=0;break}b=e[j>>2]|0,C1=b,v6=s6,J6=q2,g6=D6}return C=O3,$|0}function AD(t,o){t=t|0,o=o|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[o>>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 $D(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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&&(N=t+4|0,K=e[N>>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,w=(y0|0)/(k|0)&-1,_=(y|0)/(y0|0)&-1,Q=o5(_,w)|0,x=k+-1|0,R=o5(_,x)|0,L=C0-R|0,F=1-E0|0;do if((k|0)==2)if(Z=(F|0)==0,a=E+L|0,A0=K+(a<<2)|0,Z){Jy(_,w,o,K,A0),Q0=0;break}else{Jy(_,w,K,o,A0),Q0=F;break}else if((k|0)==4)if(O=L+_|0,H=(F|0)==0,$=E+L|0,V=K+($<<2)|0,g=E+O|0,J=K+(g<<2)|0,d=E+_|0,p=d+O|0,t0=K+(p<<2)|0,H){zy(_,w,o,K,V,J,t0),Q0=0;break}else{zy(_,w,K,o,V,J,t0),Q0=F;break}else if(j=(_|0)==1,D0=j?E0:F,n0=(D0|0)==0,I=E+L|0,s0=K+(I<<2)|0,n0){Ky(_,k,w,Q,o,o,o,K,K,s0),Q0=1;break}else{Ky(_,k,w,Q,K,K,K,o,o,s0),Q0=0;break}while(!1);if(o0=b0+1|0,d0=(o0|0)==(m0|0),d0){w0=Q0;break}else C0=L,b0=o0,y0=w,E0=Q0}if(Y=(w0|0)!=1,h0=(y|0)>0,B0=h0&Y,B0)p0=0;else return;for(;i0=K+(p0<<2)|0,e0=e[i0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=e0,c0=p0+1|0,r0=(c0|0)==(y|0),!r0;)p0=c0}}function Vy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0;if(B1=C,e[t>>2]=o,p=o*3|0,I=ce(p,4)|0,R=t+4|0,e[R>>2]=I,j=ce(32,4)|0,$0=t+8|0,e[$0>>2]=j,y0=(o|0)==1,!y0){Z0=j+8|0,z0=-1,u1=0,p1=o,h1=0;e:for(;;)for(R0=z0+1|0,v0=(R0|0)<4,v0?(N0=25768+(R0<<2)|0,E=e[N0>>2]|0,A1=E):(y=h1+2|0,A1=y),B=(A1|0)!=2,V0=u1,f1=p1;;){if(W0=V0+1|0,b=(f1|0)/(A1|0)&-1,D=o5(b,A1)|0,k=(f1|0)==(D|0),!k){z0=R0,u1=V0,p1=f1,h1=A1;continue e}if(w=V0+2|0,_=j+(w<<2)|0,e[_>>2]=A1,Q=(V0|0)==0,c1=B|Q,!c1){if(x=(V0|0)<1,!x)for(T0=1;L=W0-T0|0,F=L+1|0,N=j+(F<<2)|0,O=e[N>>2]|0,H=L+2|0,V=j+(H<<2)|0,e[V>>2]=O,J=T0+1|0,S0=(J|0)==(W0|0),!S0;)T0=J;e[Z0>>2]=2}if(t0=(b|0)==1,t0){a=Q,K0=W0,j0=V0;break e}else V0=W0,f1=b}if(e[j>>2]=o,Z=j+4|0,e[Z>>2]=K0,A0=+(o|0),n0=6.2831854820251465/A0,$=a^1,s0=(j0|0)>0,a1=s0&$,!!a1)for(K=o+1|0,q0=0,L0=0,o1=1;;){if(o0=L0+2|0,Y=j+(o0<<2)|0,h0=e[Y>>2]|0,i0=o5(h0,o1)|0,e0=(o|0)/(i0|0)&-1,u0=(h0|0)>1,u0){for(c0=(e0|0)>2,l0=h0+-1|0,s1=q0,n1=0,d1=0;;){if(X=d1+o1|0,m0=+(X|0),g0=m0*n0,c0)for(J0=0,M0=s1,P0=2;I0=J0+1,r0=g0*I0,U0=+AA(+r0),g=M0+o|0,d0=I+(g<<2)|0,s[d0>>2]=U0,$1=+Vr(+r0),p0=M0+2|0,d=K+M0|0,C0=I+(d<<2)|0,s[C0>>2]=$1,b0=P0+2|0,D0=(b0|0)<(e0|0),D0;)J0=I0,M0=p0,P0=b0;if(E0=s1+e0|0,Q0=n1+1|0,O0=(Q0|0)==(l0|0),O0)break;s1=E0,n1=Q0,d1=X}w0=o5(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,o1=i0}}}function Yy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0;y=C,o=(t|0)==0,!o&&(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 zy(t,o,a,$,g,d,p){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0;if(I3=C,I=o5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,Y1=t<<2,W1=Y1+-1|0,k2=t<<1,d2=0,a5=I,I5=F1,e5=0,c5=E;U2=a+(a5<<2)|0,p5=+s[U2>>2],N5=a+(I5<<2)|0,y=+s[N5>>2],F=y+p5,s0=a+(e5<<2)|0,X=+s[s0>>2],E0=a+(c5<<2)|0,H0=+s[E0>>2],Y0=H0+X,A1=Y0+F,B1=e5<<2,m1=$+(B1<<2)|0,s[m1>>2]=A1,C1=Y0-F,y1=W1+B1|0,v1=$+(y1<<2)|0,s[v1>>2]=C1,k1=+s[s0>>2],S1=+s[E0>>2],L1=k1-S1,M1=B1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[N5>>2],U1=+s[U2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,X1=a5+t|0,G1=I5+t|0,x1=e5+t|0,K1=c5+t|0,q1=d2+1|0,d5=(q1|0)==(o|0),!d5;)d2=q1,a5=X1,I5=G1,e5=x1,c5=K1;if(H1=(t|0)<2,!H1){if(V1=(t|0)==2,!V1){if(Q1)for(t2=t<<1,v5=0,f5=0;;){for(r0=f5<<2,d0=r0+t2|0,X2=2,r5=f5,T2=r0,z5=d0;O1=r5+2|0,h2=T2+2|0,Z1=z5+-2|0,I2=O1+I|0,A2=X2+-2|0,C2=g+(A2<<2)|0,$2=+s[C2>>2],f2=I2+-1|0,c2=a+(f2<<2)|0,r2=+s[c2>>2],g2=r2*$2,o2=X2+-1|0,l2=g+(o2<<2)|0,i2=+s[l2>>2],a2=a+(I2<<2)|0,m2=+s[a2>>2],n2=m2*i2,D2=n2+g2,S2=m2*$2,y2=i2*r2,G2=S2-y2,M2=I2+I|0,O2=d+(A2<<2)|0,p2=+s[O2>>2],W2=M2+-1|0,q2=a+(W2<<2)|0,J2=+s[q2>>2],V2=J2*p2,Z2=d+(o2<<2)|0,A5=+s[Z2>>2],Y2=a+(M2<<2)|0,N1=+s[Y2>>2],t5=N1*A5,T5=t5+V2,i5=N1*p2,x5=A5*J2,j2=i5-x5,D5=M2+I|0,V5=p+(A2<<2)|0,u5=+s[V5>>2],b2=D5+-1|0,y5=a+(b2<<2)|0,s5=+s[y5>>2],F2=s5*u5,R2=p+(o2<<2)|0,Q2=+s[R2>>2],Q5=a+(D5<<2)|0,E5=+s[Q5>>2],L5=E5*Q2,q5=L5+F2,M5=E5*u5,z2=Q2*s5,C5=M5-z2,$5=q5+D2,h5=q5-D2,w5=C5+G2,T1=G2-C5,B=a+(O1<<2)|0,b=+s[B>>2],D=b+j2,k=b-j2,w=r5+1|0,_=a+(w<<2)|0,Q=+s[_>>2],x=Q+T5,R=Q-T5,L=$5+x,N=T2|1,O=$+(N<<2)|0,s[O>>2]=L,H=w5+D,V=$+(h2<<2)|0,s[V>>2]=H,J=R-T1,t0=z5+-3|0,Z=$+(t0<<2)|0,s[Z>>2]=J,A0=h5-k,j=$+(Z1<<2)|0,s[j>>2]=A0,n0=T1+R,K=h2+t2|0,o0=K+-1|0,Y=$+(o0<<2)|0,s[Y>>2]=n0,h0=h5+k,i0=$+(K<<2)|0,s[i0>>2]=h0,e0=x-$5,u0=Z1+t2|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=e0,l0=w5-D,m0=$+(u0<<2)|0,s[m0>>2]=l0,g0=X2+2|0,I0=(g0|0)<(t|0),I0;)X2=g0,r5=O1,T2=h2,z5=Z1;if(s2=f5+t|0,e2=v5+1|0,l5=(e2|0)==(o|0),l5)break;v5=e2,f5=s2}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,n5=0,K2=y0,R5=w0,k5=t,i3=t;B0=a+(K2<<2)|0,x0=+s[B0>>2],Z0=a+(R5<<2)|0,R0=+s[Z0>>2],v0=R0+x0,N0=v0*-.7071067690849304,U0=x0-R0,O0=U0*.7071067690849304,S0=i3+-1|0,J0=a+(S0<<2)|0,T0=+s[J0>>2],M0=O0+T0,P0=k5+-1|0,W0=$+(P0<<2)|0,s[W0>>2]=M0,K0=+s[J0>>2],V0=K0-O0,j0=k5+Q0|0,q0=j0+-1|0,s1=$+(q0<<2)|0,s[s1>>2]=V0,z0=K2+I|0,n1=a+(z0<<2)|0,L0=+s[n1>>2],o1=N0-L0,d1=$+(k5<<2)|0,s[d1>>2]=o1,u1=+s[n1>>2],p1=u1+N0,f1=$+(j0<<2)|0,s[f1>>2]=p1,h1=K2+t|0,c1=R5+t|0,a1=k5+D0|0,$1=i3+t|0,X0=n5+1|0,_5=(X0|0)==(o|0),!_5;)n5=X0,K2=h1,R5=c1,k5=a1,i3=$1}}function Jy(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0;if(D1=C,d=o5(o,t)|0,p=t<<1,x=(o|0)>0,x)for(A0=p+-1|0,B1=0,C1=0,k1=d;c0=a+(C1<<2)|0,b0=+s[c0>>2],N0=a+(k1<<2)|0,V0=+s[N0>>2],p1=V0+b0,A1=C1<<1,I=$+(A1<<2)|0,s[I>>2]=p1,E=+s[c0>>2],y=+s[N0>>2],B=E-y,b=A0+A1|0,D=$+(b<<2)|0,s[D>>2]=B,k=C1+t|0,w=k1+t|0,_=B1+1|0,a1=(_|0)==(o|0),!a1;)B1=_,C1=k,k1=w;if(Q=(t|0)<2,!Q){if(R=(t|0)==2,!R){if(x)for(m1=0,y1=0,S1=d;;){for(J0=y1<<1,T0=J0+p|0,X0=2,M1=S1,_1=T0,R1=y1,F1=J0;O=M1+2|0,H=_1+-2|0,V=R1+2|0,J=F1+2|0,t0=X0+-2|0,Z=g+(t0<<2)|0,j=+s[Z>>2],n0=M1+1|0,s0=a+(n0<<2)|0,K=+s[s0>>2],o0=K*j,Y=X0+-1|0,h0=g+(Y<<2)|0,i0=+s[h0>>2],e0=a+(O<<2)|0,u0=+s[e0>>2],$0=u0*i0,l0=$0+o0,X=u0*j,m0=i0*K,g0=X-m0,I0=a+(V<<2)|0,r0=+s[I0>>2],d0=g0+r0,p0=$+(J<<2)|0,s[p0>>2]=d0,C0=+s[I0>>2],y0=g0-C0,D0=$+(H<<2)|0,s[D0>>2]=y0,E0=R1+1|0,Q0=a+(E0<<2)|0,w0=+s[Q0>>2],B0=w0+l0,x0=F1|1,Z0=$+(x0<<2)|0,s[Z0>>2]=B0,R0=+s[Q0>>2],v0=R0-l0,U0=_1+-3|0,O0=$+(U0<<2)|0,s[O0>>2]=v0,H0=X0+2|0,S0=(H0|0)<(t|0),S0;)X0=H0,M1=O,_1=H,R1=V,F1=J;if(L=y1+t|0,F=S1+t|0,N=m1+1|0,$1=(N|0)==(o|0),$1)break;m1=N,y1=L,S1=F}if(M0=(t|0)%2&-1,P0=(M0|0)==1,P0)return}if(W0=t+-1|0,!!x)for(K0=d+W0|0,Q1=0,v1=t,L1=K0,b1=W0;j0=a+(L1<<2)|0,q0=+s[j0>>2],Y0=-q0,s1=$+(v1<<2)|0,s[s1>>2]=Y0,z0=a+(b1<<2)|0,n1=e[z0>>2]|0,L0=v1+-1|0,o1=$+(L0<<2)|0,e[o1>>2]=n1,d1=v1+p|0,u1=L1+t|0,f1=b1+t|0,h1=Q1+1|0,c1=(h1|0)==(o|0),!c1;)Q1=h1,v1=d1,L1=u1,b1=f1}}function Ky(t,o,a,$,g,d,p,I,E,y){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0;vt=C,D=+(o|0),k=6.2831854820251465/D,pt=+AA(+k),Y8=+Vr(+k),C2=o+1|0,b3=C2>>1,J9=t+-1|0,ze=J9>>1,O9=o5(a,t)|0,S9=o5(o,t)|0,pe=(t|0)==1;e:do if(!pe){if(_8=($|0)>0,_8)for(_4=0;d0=p+(_4<<2)|0,Z0=e[d0>>2]|0,P0=E+(_4<<2)|0,e[P0>>2]=Z0,o1=_4+1|0,Bt=(o1|0)==($|0),!Bt;)_4=o1;if(J=(o|0)>1,J)for(i0=(a|0)>0,wt=1,Z8=0;;){if(B1=Z8+O9|0,i0)for(l8=0,Ae=B1;_1=d+(Ae<<2)|0,H1=e[_1>>2]|0,$2=I+(Ae<<2)|0,e[$2>>2]=H1,n2=Ae+t|0,J2=l8+1|0,se=(J2|0)==(a|0),!se;)l8=J2,Ae=n2;if(j2=wt+1|0,lt=(j2|0)==(o|0),lt)break;wt=j2,Z8=B1}if(Q5=0-t|0,T1=(ze|0)>(a|0),T1){if(J)for(H3=(a|0)>0,J5=(t|0)>2,C3=Q5,j9=1,F8=0;;){if(L3=F8+O9|0,x6=C3+t|0,H3)for(o6=L3-t|0,A3=x6+-1|0,ut=0,N8=o6;;){if(P3=N8+t|0,J5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,w6=Bi+2|0,v9=E4+1|0,r4=y+(v9<<2)|0,Ve=+s[r4>>2],Ye=Bi+1|0,de=d+(Ye<<2)|0,Pe=+s[de>>2],Ce=Pe*Ve,v4=y+(O3<<2)|0,Z9=+s[v4>>2],k9=d+(w6<<2)|0,k4=+s[k9>>2],V4=k4*Z9,rt=V4+Ce,Y4=I+(Ye<<2)|0,s[Y4>>2]=rt,Je=+s[r4>>2],o4=+s[k9>>2],R4=o4*Je,ot=+s[v4>>2],re=+s[de>>2],u4=re*ot,Be=R4-u4,T6=I+(w6<<2)|0,s[T6>>2]=Be,Ke=ct+2|0,fe=(Ke|0)<(t|0),fe;)ct=Ke,E4=O3,Bi=w6;if(Te=ut+1|0,$t=(Te|0)==(a|0),$t)break;ut=Te,N8=P3}if(h4=j9+1|0,Ct=(h4|0)==(o|0),Ct)break;C3=x6,j9=h4,F8=L3}}else if(J)for(I5=(t|0)>2,d3=(a|0)>0,Z4=Q5,l4=1,z8=0;;){if(oe=Z4+t|0,d4=z8+O9|0,I5)for(f4=oe+-1|0,yt=2,gt=f4,$i=d4;;){if(Se=gt+2|0,s4=$i+2|0,d3)for(Oe=gt+1|0,I4=y+(Oe<<2)|0,I6=y+(Se<<2)|0,ht=0,ti=s4;z4=+s[I4>>2],Ie=ti+-1|0,S4=d+(Ie<<2)|0,be=+s[S4>>2],me=be*z4,z6=+s[I6>>2],F4=d+(ti<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+me,mt=I+(Ie<<2)|0,s[mt>>2]=xe,Z3=+s[I4>>2],x9=+s[F4>>2],b9=x9*Z3,qe=+s[I6>>2],a4=+s[S4>>2],d8=a4*qe,N4=b9-d8,f8=I+(ti<<2)|0,s[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=Se,$i=s4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=oe,l4=Pt,z8=d4}if(Ot=o5(O9,o)|0,qt=(ze|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+O9|0,w0=Hi-O9|0,i8)for(je=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,N0=+s[v0>>2],U0=Si+1|0,O0=I+(U0<<2)|0,H0=+s[O0>>2],S0=H0+N0,J0=d+(R0<<2)|0,s[J0>>2]=S0,T0=I+(B0<<2)|0,M0=+s[T0>>2],W0=I+(x0<<2)|0,K0=+s[W0>>2],V0=M0-K0,j0=d+(U0<<2)|0,s[j0>>2]=V0,q0=+s[T0>>2],Y0=+s[W0>>2],s1=Y0+q0,z0=d+(B0<<2)|0,s[z0>>2]=s1,n1=+s[O0>>2],L0=+s[v0>>2],d1=n1-L0,u1=d+(x0<<2)|0,s[u1>>2]=d1,p1=D4+2|0,f1=(p1|0)<(t|0),f1;)D4=p1,ii=B0,Si=x0;if(h1=li+t|0,A1=ci+t|0,c1=je+1|0,We=(c1|0)==(a|0),We)break;je=c1,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,T9=1,j8=0,qi=Ot;;){if(x=j8+O9|0,R=qi-O9|0,_)for(p4=2,yi=x,vi=R;;){if(L=yi+2|0,F=vi+2|0,Q)for(N=F-t|0,O=L-t|0,Ft=0,Zi=O,f7=N;H=Zi+t|0,V=f7+t|0,t0=H+-1|0,Z=I+(t0<<2)|0,A0=+s[Z>>2],j=V+-1|0,n0=I+(j<<2)|0,s0=+s[n0>>2],K=s0+A0,o0=d+(t0<<2)|0,s[o0>>2]=K,Y=I+(H<<2)|0,h0=+s[Y>>2],e0=I+(V<<2)|0,u0=+s[e0>>2],c0=h0-u0,$0=d+(j<<2)|0,s[$0>>2]=c0,l0=+s[Y>>2],X=+s[e0>>2],m0=X+l0,g0=d+(H<<2)|0,s[g0>>2]=m0,I0=+s[n0>>2],r0=+s[Z>>2],p0=I0-r0,C0=d+(V<<2)|0,s[C0>>2]=p0,b0=Ft+1|0,Mt=(b0|0)==(a|0),!Mt;)Ft=b0,Zi=H,f7=V;if(y0=p4+2|0,D0=(y0|0)<(t|0),D0)p4=y0,yi=L,vi=F;else break}if(E0=T9+1|0,At=(E0|0)==(b3|0),At)break;T9=E0,j8=x,qi=R}}while(!1);if(w=($|0)>0,w)for(De=0;$1=E+(De<<2)|0,X0=e[$1>>2]|0,m1=p+(De<<2)|0,e[m1>>2]=X0,Q1=De+1|0,Kt=(Q1|0)==($|0),!Kt;)De=Q1;if(C1=o5($,o)|0,y1=(b3|0)>1,y1){for(v1=(a|0)>0,Wt=1,Nt=0,Vi=C1;;){if(k1=Nt+O9|0,S1=Vi-O9|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,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],X1=P1+U1,G1=d+(b1<<2)|0,s[G1>>2]=X1,x1=+s[D1>>2],K1=+s[F1>>2],q1=x1-K1,V1=d+(R1<<2)|0,s[V1>>2]=q1,Y1=c8+1|0,A4=(Y1|0)==(a|0),!A4;)c8=Y1,g7=b1,h7=R1;if(t2=Wt+1|0,s8=(t2|0)==(b3|0),s8)break;Wt=t2,Nt=k1,Vi=S1}if(s2=o+-1|0,e2=o5(s2,$)|0,y1){for(O1=(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*Y8,W1=I2-A2,f2=Ht*pt,c2=Yt*Y8,r2=c2+f2,w)for(Qt=0,zi=h2,ui=Z1,Xi=e2,ri=$;g2=p+(Qt<<2)|0,o2=+s[g2>>2],l2=ri+1|0,i2=p+(ri<<2)|0,a2=+s[i2>>2],m2=a2*W1,k2=m2+o2,D2=zi+1|0,S2=E+(zi<<2)|0,s[S2>>2]=k2,y2=Xi+1|0,G2=p+(Xi<<2)|0,M2=+s[G2>>2],O2=M2*r2,p2=ui+1|0,W2=E+(ui<<2)|0,s[W2>>2]=O2,q2=Qt+1|0,E8=(q2|0)==($|0),!E8;)Qt=q2,zi=D2,ui=p2,Xi=y2,ri=l2;if(O1)for(Vt=r2,_t=W1,C8=2,Ji=$,J8=e2;;){if(U2=Ji+$|0,V2=J8-$|0,Z2=_t*W1,A5=Vt*r2,Y2=Z2-A5,N1=Vt*W1,t5=_t*r2,T5=t5+N1,w)for(a8=0,bi=h2,xi=Z1,Li=U2,G8=V2;i5=Li+1|0,x5=p+(Li<<2)|0,p5=+s[x5>>2],D5=p5*Y2,V5=bi+1|0,u5=E+(bi<<2)|0,b2=+s[u5>>2],y5=b2+D5,s[u5>>2]=y5,s5=G8+1|0,F2=p+(G8<<2)|0,R2=+s[F2>>2],Q2=R2*T5,N5=xi+1|0,E5=E+(xi<<2)|0,L5=+s[E5>>2],q5=L5+Q2,s[E5>>2]=q5,M5=a8+1|0,L8=(M5|0)==($|0),!L8;)a8=M5,bi=V5,xi=N5,Li=i5,G8=s5;if(z2=C8+1|0,o8=(z2|0)==(b3|0),o8)break;Vt=T5,_t=Y2,C8=z2,Ji=U2,J8=V2}if(C5=et+1|0,M8=(C5|0)==(b3|0),M8)break;Ht=r2,Yt=W1,et=C5,T8=h2,Ei=Z1}if(y1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(Ze=0,X8=$5;h5=X8+1|0,w5=p+(X8<<2)|0,_5=+s[w5>>2],d5=E+(Ze<<2)|0,l5=+s[d5>>2],X2=l5+_5,s[d5>>2]=X2,d2=Ze+1|0,p8=(d2|0)==($|0),!p8;)Ze=d2,X8=h5;if(v5=A8+1|0,b4=(v5|0)==(b3|0),b4)break;A8=v5,Xt=$5}}}if(n5=(t|0)<(a|0),n5){if(K2=(t|0)>0,K2)for(r5=(a|0)>0,W4=0;;){if(r5)for(X4=0,C4=W4,ei=W4;W5=I+(C4<<2)|0,n3=e[W5>>2]|0,a3=g+(ei<<2)|0,e[a3>>2]=n3,y3=C4+t|0,G5=ei+S9|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(K4=0,Yi=O4,Ki=Ci;R5=Yi+1|0,e5=I+(Yi<<2)|0,c5=e[e5>>2]|0,T2=Ki+1|0,k5=g+(Ki<<2)|0,e[k5>>2]=c5,z5=K4+1|0,Lt=(z5|0)==(t|0),!Lt;)K4=z5,Yi=R5,Ki=T2;if(i3=O4+t|0,B5=Ci+S9|0,I3=Tt+1|0,L9=(I3|0)==(a|0),L9)break;Tt=I3,O4=i3,Ci=B5}if(f3=t<<1,w3=o5(O9,o)|0,y1)for(e6=(a|0)>0,$8=1,R8=0,Qi=0,Wi=w3;;){if(X5=R8+f3|0,_3=Qi+O9|0,t3=Wi-O9|0,e6)for(D9=0,ni=X5,Di=_3,t7=t3;a6=I+(Di<<2)|0,G3=e[a6>>2]|0,V3=ni+-1|0,c3=g+(V3<<2)|0,e[c3>>2]=G3,g3=I+(t7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ni<<2)|0,e[Q3>>2]=u3,H5=ni+S9|0,Y5=Di+t|0,b5=t7+t|0,Y3=D9+1|0,Et=(Y3|0)==(a|0),!Et;)D9=Y3,ni=H5,Di=Y5,t7=b5;if(U5=$8+1|0,J4=(U5|0)==(b3|0),J4)break;$8=U5,R8=X5,Qi=_3,Wi=t3}if(!pe){if(l6=(ze|0)<(a|0),r3=0-t|0,!l6){if(!y1)return;for(B=(a|0)<1,b=(t|0)<3,xt=B|b,Zt=1,u8=r3,wi=0,gi=0,d7=w3;;){if(C6=u8+f3|0,D3=wi+f3|0,A6=gi+O9|0,n6=d7-O9|0,!xt)for(g8=0,e7=C6,hi=D3,x4=A6,di=n6;;){for(ae=2;d6=t-ae|0,m3=ae+x4|0,L6=m3+-1|0,M6=I+(L6<<2)|0,S6=+s[M6>>2],r6=ae+di|0,f6=r6+-1|0,b6=I+(f6<<2)|0,N6=+s[b6>>2],j6=N6+S6,v6=ae+hi|0,R3=v6+-1|0,s6=g+(R3<<2)|0,s[s6>>2]=j6,B6=+s[M6>>2],K3=+s[b6>>2],F3=B6-K3,W3=d6+e7|0,t6=W3+-1|0,R6=g+(t6<<2)|0,s[R6>>2]=F3,c6=I+(m3<<2)|0,o3=+s[c6>>2],J6=I+(r6<<2)|0,g6=+s[J6>>2],y6=g6+o3,T3=g+(v6<<2)|0,s[T3>>2]=y6,H6=+s[J6>>2],$6=+s[c6>>2],D6=H6-$6,G6=g+(W3<<2)|0,s[G6>>2]=D6,e9=ae+2|0,Q6=(e9|0)<(t|0),Q6;)ae=e9;if(z3=e7+S9|0,j5=hi+S9|0,M3=x4+t|0,h3=di+t|0,J3=g8+1|0,n8=(J3|0)==(a|0),n8)break;g8=J3,e7=z3,hi=j5,x4=M3,di=h3}if(X6=Zt+1|0,r8=(X6|0)==(b3|0),r8)break;Zt=X6,u8=C6,wi=D3,gi=A6,d7=n6}return}if(y1)for(l3=(t|0)>2,U3=(a|0)>0,$4=1,c4=r3,u7=0,ki=0,ji=w3;;){if(n9=c4+f3|0,V6=u7+f3|0,o9=ki+O9|0,g9=ji-O9|0,l3&&(U6=n9+t|0,U3))for(P4=2;;){for(Re=P4+g9|0,Fe=P4+o9|0,Ue=P4+V6|0,He=U6-P4|0,jt=0,_i=He,K8=Ue,Mi=Fe,$9=Re;t9=Mi+-1|0,_6=I+(t9<<2)|0,P6=+s[_6>>2],O6=$9+-1|0,s9=I+(O6<<2)|0,h9=+s[s9>>2],r9=h9+P6,B9=K8+-1|0,y9=g+(B9<<2)|0,s[y9>>2]=r9,Q9=+s[_6>>2],d9=+s[s9>>2],f9=Q9-d9,V9=_i+-1|0,q6=g+(V9<<2)|0,s[q6>>2]=f9,a9=I+(Mi<<2)|0,Y9=+s[a9>>2],w9=I+($9<<2)|0,we=+s[w9>>2],ue=we+Y9,Ee=g+(K8<<2)|0,s[Ee>>2]=ue,z9=+s[w9>>2],ne=+s[a9>>2],F9=z9-ne,K6=g+(_i<<2)|0,s[K6>>2]=F9,A9=_i+S9|0,ve=K8+S9|0,Me=Mi+t|0,he=$9+t|0,_9=jt+1|0,zt=(_9|0)==(a|0),!zt;)jt=_9,_i=A9,K8=ve,Mi=Me,$9=he;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(ke=$4+1|0,Jt=(ke|0)==(b3|0),Jt)break;$4=ke,c4=n9,u7=V6,ki=o9,ji=g9}}}function lD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0,y8=0,U8=0,rr=0,kn=0,As=0,zr=0,$s=0,Jr=0,ls=0,cs=0,Kr=0,gs=0,or=0,us=0,hs=0,ds=0,Wr=0,fs=0,Zr=0,jr=0,Is=0,sr=0,Xr=0,ar=0,eo=0,to=0,ms=0,ps=0,Es=0,Ar=0,io=0,Cs=0,Sn=0,$r=0,Bs=0,ys=0,lr=0,I7=0,no=0,Qs=0,ws=0,ro=0,oo=0,so=0,vs=0,m7=0,cr=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gr=0,bn=0,ur=0,Ts=0,an=0,Ns=0,lo=0,hr=0,co=0,dr=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dn=0,Io=0,p7=0,fr=0,_n=0,An=0,xn=0,Z7=0,Ln=0,mo=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mn=0,$n=0,ln=0,Rn=0,E7=0,Os=0,fi=0,cl=0,Ir=0,mr=0,Vu=0,gl=0,qs=0,Yu=0,cA=0,ul=0,zu=0,Ju=0,Ku=0,gA=0,hl=0,dl=0,uA=0,pr=0,fl=0,Wu=0,Hs=0,cn=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,nh=0,rh=0,oh=0,sh=0,Il=0,Fn=0,ah=0,Ah=0,ml=0,$h=0,hA=0,Vs=0,dA=0,lh=0,ch=0,fA=0,pl=0,El=0,Cl=0,IA=0,Bl=0,Ys=0,gh=0,uh=0,yl=0,hh=0,dh=0,Ql=0,fh=0,Ih=0,wl=0,vl=0,kl=0,Sl=0,bl=0,Er=0,mh=0,Dl=0,ph=0,_l=0,xl=0,Eh=0,Ch=0,Bh=0,mA=0,Ll=0,Ml=0,po=0,Rl=0,pA=0,yh=0,Fl=0,Qh=0,Tl=0,wh=0,vh=0,Nl=0,Gl=0,kh=0,zs=0,Sh=0,EA=0,Ul=0,Pl=0,bh=0,Dh=0,_h=0,xh=0,Lh=0,Mh=0,Js=0,Ol=0,ql=0,Hl=0,Ks=0,Rh=0,Vl=0,Fh=0,Yl=0,Th=0,Nh=0,zl=0,CA=0,Gh=0,Uh=0,Ws=0,Ph=0,Zs=0,Oh=0,BA=0,qh=0,Hh=0,Vh=0,Jl=0,Yh=0,zh=0,Jh=0,Kh=0,Kl=0,Wl=0,gn=0,Zl=0,js=0,yA=0,QA=0,Cr=0,jl=0,Br=0,Wh=0,Xl=0,Zh=0,jh=0,Xh=0,ed=0,Xs=0,wA=0,Tn=0,td=0,id=0,ec=0,vA=0,tc=0,ic=0,nd=0,nc=0,rd=0,kA=0,od=0,sd=0,K9=0,ad=0,rc=0,Ad=0,$d=0,SA=0,ld=0,bA=0,oc=0,cd=0,gd=0,sc=0,ac=0,ud=0,DA=0,_A=0,Ac=0,$c=0,hd=0,lc=0,xA=0,dd=0,cc=0,fd=0,Id=0,md=0,pd=0,gc=0,uc=0,LA=0,ea=0,hc=0,Ed=0,dc=0,fc=0,Cd=0,Bd=0,yd=0,Ic=0,Qd=0,wd=0,vd=0,kd=0,Sd=0,bd=0,mc=0,Dd=0,pc=0,_d=0,yr=0,xd=0,Ec=0,Ld=0,Eo=0,Cc=0,MA=0,Md=0,ta=0,RA=0,Rd=0,FA=0,Bc=0,Fd=0,Td=0,Nd=0,Gd=0,Ud=0,yc=0,Pd=0,Od=0,qd=0,ia=0,Co=0,TA=0,Hd=0,NA=0,Vd=0,Yd=0,zd=0,Qc=0,Jd=0,Kd=0,Wd=0,Zd=0,jd=0,na=0,Xd=0,ef=0,wc=0,tf=0,nf=0,rf=0,of=0,C7=0,vc=0,B7=0,kc=0,GA=0,sf=0,n7=0,Bo=0,af=0,Af=0,$f=0,lf=0,cf=0,Sc=0,gf=0,uf=0,bc=0,hf=0,df=0,yo=0,UA=0,ff=0,Dc=0,If=0,mf=0,ra=0,pf=0,Ef=0,_c=0,xc=0,Cf=0,Bf=0,Qr=0,yf=0,Qf=0,wr=0,wf=0,Lc=0,vf=0,kf=0,Qo=0,Mc=0,Sf=0,Rc=0,bf=0,un=0,PA=0,Df=0,Fc=0,Tc=0,_f=0,xf=0,Nc=0,Lf=0,Mf=0,Rf=0,Gc=0,Ff=0,wo=0,Tf=0,vr=0,Nf=0,Gf=0,OA=0,Uf=0,qA=0,HA=0,Pf=0,Uc=0,Pc=0,Of=0,Oc=0,qc=0,Hc=0,qf=0,Vc=0,Yc=0,Hf=0,Vf=0,zc=0,Jc=0,Yf=0,Kc=0,Wc=0,zf=0,Jf=0,Zc=0,VA=0,jc=0,Xc=0,eg=0,tg=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,ig=0,YA=0,nI=0,rI=0,oI=0,ng=0,rg=0,sI=0,og=0,zA=0,oa=0,sg=0,aI=0,AI=0,$I=0,lI=0,ag=0,sa=0,cI=0,gI=0,uI=0,hI=0,dI=0,fI=0,II=0,mI=0,Ag=0,pI=0,EI=0,CI=0,BI=0,aa=0,$g=0,yI=0,QI=0,kr=0,lg=0,cg=0,JA=0,wI=0,gg=0,vI=0,ug=0,hg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,KA=0,xI=0,LI=0,MI=0,RI=0,dg=0,FI=0,fg=0,TI=0,NI=0,Ig=0,Nn=0,mg=0,pg=0,GI=0,Eg=0,$a=0,UI=0,PI=0,OI=0,la=0,Cg=0,qI=0,HI=0,Bg=0,VI=0,YI=0,WA=0,ca=0,zI=0,JI=0,KI=0,yg=0,Qg=0,wg=0,WI=0,ZI=0,vo=0,jI=0,vg=0,XI=0,ZA=0,kg=0,em=0,tm=0,im=0,nm=0,Sg=0,rm=0,om=0,bg=0,ga=0,sm=0,am=0,Am=0,ko=0,Dg=0,_g=0,$m=0,xg=0,Lg=0,L7=0,Mg=0,hn=0,lm=0,cm=0,gm=0,um=0,jA=0,ua=0,Rg=0,Fg=0,hm=0,ha=0,So=0,dm=0,da=0,XA=0,fm=0,e$=0,Im=0,mm=0,Tg=0,fa=0,Ng=0,pm=0,Em=0,Cm=0,Bm=0,Gg=0,ym=0,oi=0,_e=0,r7=0,Qm=0,Ug=0,Pg=0,t$=0,wm=0,Gn=0,bo=0,vm=0,km=0,Og=0,i$=0,Sm=0,qg=0,Hg=0,Vg=0,n$=0,r$=0,Yg=0,Do=0,o$=0,zg=0,bm=0,Sr=0,Dm=0,Jg=0,Ia=0,_m=0,Kg=0,M7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,R7=0,Nm=0,Gm=0,Um=0,Wg=0,y7=0,ma=0,s$=0,Zg=0,jg=0,Pm=0,Xg=0,eu=0,Om=0,qm=0,tu=0,iu=0,Hm=0,Vm=0,nu=0,Ym=0,_o=0,pa=0,Ea=0,zm=0,a$=0,Jm=0,Km=0,ru=0,xo=0,Wm=0,Zm=0,A$=0,$$=0,Ca=0,l$=0,c$=0,dn=0,Un=0,Pn=0,g$=0,u$=0,Lo=0,fn=0,br=0,jm=0,In=0,Dr=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ou=0,su=0,Qa=0,h$=0,Ni=0,wa=0,On=0,d$=0,ep=0,f$=0,tp=0,I$=0,au=0,va=0,ip=0,np=0,ka=0,rp=0,Sa=0,_r=0,tt=0,Le=0,Au=0,op=0,m$=0,$u=0,sp=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,lu=0,gp=0,up=0,hp=0,o7=0,Da=0,xr=0,p$=0,Mo=0,Ro=0,si=0,Fo=0,cu=0,gu=0,_a=0,To=0,No=0,Go=0,dp=0,Uo=0,mn=0,uu=0,qn=0,s7=0,E$=0,C$=0,X7=0,B$=0,y$=0,Q$=0,Hn=0,h6=0,xa=0,Vn=0,hu=0,L4=0,w$=0,kt=0,Po=0,Lr=0,Mr=0,q9=0,Rr=0,Yn=0,Xe=0,v$=0,YC=0,fp=0,dE=0,fE=0,zC=0,Ip=0,sQ=0,aQ=0,AQ=0,$Q=0,lQ=0,cQ=0,gQ=0,uQ=0,hQ=0,dQ=0,fQ=0,IQ=0,JC=0,KC=0,mQ=0,pQ=0,EQ=0,du=0,IE=0,Q7=0,fu=0,Iu=0,mu=0,pu=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,yp=0,Qp=0,wp=0,vp=0,kp=0,mE=0,La=0,pn=0,k$=0,Eu=0,S$=0,WC=0,Ma=0,Sp=0,b$=0,pE=0,EE=0,bp=0,CE=0,BE=0,yE=0,QE=0,wE=0,vE=0,kE=0,ZC=0,jC=0,XC=0,eB=0,tB=0,Ra=0,Fa=0,Ta=0,Na=0,CQ=0,En=0,$e=0,GD=0,Ga=0,SE=0;if(GD=C,I0=t+28|0,r0=e[I0>>2]|0,r8=(r0|0)==0,r8||(ui=r0+3456|0,mo=e[ui>>2]|0,Ol=(mo|0)==0,o=Ol&1,Eo=r0+3496|0,Oc=+l1[Eo>>3],yg=Oc>-80,yg?l1[Eo>>3]=-80:(qm=Oc<-200,qm&&(l1[Eo>>3]=-200)),d0=r0+3512|0,j2=+l1[d0>>3],A3=j2>0,A3?l1[d0>>3]=0:(ke=j2<-99999,ke&&(l1[d0>>3]=-99999)),V4=r0+3396|0,T6=e[V4>>2]|0,Oe=(T6|0)==0,Oe))return E=-131,E|0;if(T4=r0+3392|0,e[T4>>2]=1,N4=r0+3400|0,i8=+l1[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,Y8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ci=e[Xt>>2]|0,e[r0>>2]=Y8,vi=r0+4|0,e[vi>>2]=Ci,J8=(Y8|0)==(Ci|0),ri=T6+144|0,B8=e[ri>>2]|0,cs=(B8|0)>0,cs){for(Is=T6+136|0,Cs=T6+140|0,oo=T6+148|0,an=i8,Tn=r0,mE=0;;){if(_s=~~an,fo=e[Is>>2]|0,j7=e[Cs>>2]|0,fi=e[oo>>2]|0,Ju=fi+(mE<<2)|0,Zu=e[Ju>>2]|0,Fn=ce(1,1120)|0,pl=Zu+(_s<<2)|0,Ql=e[pl>>2]|0,ph=j7+(Ql*1120|0)|0,ge(Fn|0,ph|0,1120)|0,pA=e[Fn>>2]|0,Sh=(pA|0)>0,Sh){for(ql=Fn+4|0,IE=0,kE=-1;;)if(xA=ql+(IE<<2)|0,hc=e[xA>>2]|0,kd=(hc|0)>(kE|0),A0=kd?hc:kE,Cc=IE+1|0,fQ=(Cc|0)==(pA|0),fQ){j=A0;break}else IE=Cc,kE=A0;if(Gh=(j|0)<0,!Gh){for(Yh=Fn+256|0,Cr=Tn+24|0,od=Fn+192|0,cd=Fn+320|0,S$=0,yE=-1;;){if(Tc=Yh+(S$<<2)|0,vr=e[Tc>>2]|0,qc=(vr|0)>(yE|0),t0=qc?vr:yE,Wc=e[Cr>>2]|0,Zf=Wc+vr|0,e[Tc>>2]=Zf,ng=od+(S$<<2)|0,ag=e[ng>>2]|0,pI=(ag|0)==31,pI)QE=t0;else for(_9=ag,CE=0,vE=t0;;)if(JA=(cd+(S$<<5)|0)+(CE<<2)|0,Aa=e[JA>>2]|0,Ig=(Aa|0)>(vE|0),Z=Ig?Aa:vE,Cg=(Aa|0)>-1,Cg?(Qg=e[Cr>>2]|0,tm=Qg+Aa|0,e[JA>>2]=tm,s0=e[ng>>2]|0,XA=s0):XA=_9,ko=CE+1|0,gm=1<>2]|0,sf=e[ef>>2]|0,bc=e[Cr>>2]|0,Ef=bc+1|0,e[Cr>>2]=Ef,vf=(Tn+1824|0)+(bc<<2)|0,e[vf>>2]=sf,gQ=(wE|0)==0,!gQ))for(WC=0;r$=WC+1|0,i0=e[pl>>2]|0,Kg=fo+(i0<<2)|0,Um=e[Kg>>2]|0,tu=Um+(r$<<2)|0,Jm=e[tu>>2]|0,dn=e[Cr>>2]|0,Xm=dn+1|0,e[Cr>>2]=Xm,wa=(Tn+1824|0)+(dn<<2)|0,e[wa>>2]=Jm,cQ=(r$|0)==(wE|0),!cQ;)WC=r$}}if(ka=Tn+16|0,ap=e[ka>>2]|0,Da=(Tn+800|0)+(ap<<2)|0,e[Da>>2]=1,No=e[ka>>2]|0,B$=(Tn+1056|0)+(No<<2)|0,e[B$>>2]=Fn,p0=e[ka>>2]|0,R0=p0+1|0,e[ka>>2]=R0,W0=mE+1|0,d1=e[ri>>2]|0,m1=(W0|0)<(d1|0),!m1)break;n0=+l1[N4>>3],l0=e[I0>>2]|0,an=n0,Tn=l0,mE=W0}m0=e[I0>>2]|0,X5=m0}else X5=r0;R1=r0+3520|0,V1=+l1[R1>>3],$2=T6+124|0,n2=e[$2>>2]|0,J2=T6+128|0,p5=e[J2>>2]|0,N5=~~V1,_5=+(N5|0),r5=V1-_5,W5=X5+2868|0,H5=p5+(N5<<3)|0,L3=+l1[H5>>3],x6=~~L3,o6=n2+(x6*492|0)|0,ge(W5|0,o6|0,492)|0,g6=+l1[H5>>3],n9=1-r5,O6=g6*n9,q6=N5+1|0,K6=p5+(q6<<3)|0,Re=+l1[K6>>3],Fe=Re*r5,Ue=Fe+O6,He=~~Ue,r4=+(He|0),Ve=Ue-r4,J9=Ve==0,Ye=(He|0)>0,ZC=Ye&J9,I=ZC?1:Ve,de=ZC<<31>>31,F=de+He|0,Pe=1-I,Ce=F+1|0,v4=(n2+(F*492|0)|0)+4|0,Z9=+s[v4>>2],k9=Z9,k4=Pe*k9,rt=(n2+(Ce*492|0)|0)+4|0,ze=+s[rt>>2],Y4=ze,Je=I*Y4,o4=k4+Je,R4=o4,ot=X5+2872|0,s[ot>>2]=R4,re=(n2+(F*492|0)|0)+32|0,u4=+s[re>>2],Be=u4,Ke=Pe*Be,O9=(n2+(Ce*492|0)|0)+32|0,fe=+s[O9>>2],Te=fe,h4=I*Te,oe=Ke+h4,d4=oe,f4=X5+2900|0,s[f4>>2]=d4,Se=(n2+(F*492|0)|0)+8|0,s4=+s[Se>>2],I4=s4,S9=Pe*I4,I6=(n2+(Ce*492|0)|0)+8|0,z4=+s[I6>>2],Ie=z4,S4=I*Ie,be=S9+S4,me=be,z6=X5+2876|0,s[z6>>2]=me,F4=(n2+(F*492|0)|0)+36|0,st=+s[F4>>2],pe=st,xe=Pe*pe,mt=(n2+(Ce*492|0)|0)+36|0,Z3=+s[mt>>2],x9=Z3,b9=x9*I,qe=b9+xe,a4=qe,d8=X5+2904|0,s[d8>>2]=a4,f8=(n2+(F*492|0)|0)+12|0,_8=+s[f8>>2],e8=_8,I8=e8*Pe,m8=(n2+(Ce*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,x8=X5+2880|0,s[x8>>2]=t8,Ht=(n2+(F*492|0)|0)+40|0,Vt=+s[Ht>>2],Yt=Vt,_t=Yt*Pe,xt=(n2+(Ce*492|0)|0)+40|0,pt=+s[xt>>2],zt=pt,Jt=zt*I,n8=Jt+_t,J4=n8,G4=X5+2908|0,s[G4>>2]=J4,at=(n2+(F*492|0)|0)+16|0,Lt=+s[at>>2],L9=Lt,p8=L9*Pe,b4=(n2+(Ce*492|0)|0)+16|0,E8=+s[b4>>2],L8=E8,o8=L8*I,A4=o8+p8,s8=A4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(n2+(F*492|0)|0)+44|0,At=+s[Mt>>2],We=At,U4=We*Pe,$t=(n2+(Ce*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,se=Rt*I,lt=se+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,yt=X5+3512|0,p4=+l1[yt>>3],D4=p4,K4=X5+2936|0,s[K4>>2]=D4,W4=T6+132|0,ae=e[W4>>2]|0,E4=r0+3472|0,gt=+l1[E4>>3],_4=gt,De=~~_4,Qt=+(De|0),a8=_4-Qt,Ze=a8,C3=e[I0>>2]|0,Z4=(ae|0)==0;e:do if(Z4)wt=C3+4|0,j9=e[C3>>2]|0,l4=C3+3240|0,e[l4>>2]=j9,T9=e[wt>>2]|0,j4=C3+3300|0,e[j4>>2]=T9,Wt=C3+3244|0,e[Wt>>2]=j9,C8=C3+3304|0,e[C8>>2]=T9,A8=C3+3248|0,e[A8>>2]=j9,$8=C3+3308|0,e[$8>>2]=T9,Zt=C3+3252|0,e[Zt>>2]=j9,l8=C3+3312|0,e[l8>>2]=T9,ut=C3+3256|0,e[ut>>2]=j9,ht=C3+3316|0,e[ht>>2]=T9,Ft=C3+3260|0,e[Ft>>2]=j9,je=C3+3320|0,e[je>>2]=T9,c8=C3+3264|0,e[c8>>2]=j9,Tt=C3+3324|0,e[Tt>>2]=T9,X4=C3+3268|0,e[X4>>2]=j9,D9=C3+3328|0,e[D9>>2]=T9,g8=C3+3272|0,e[g8>>2]=j9,et=C3+3332|0,e[et>>2]=T9,Z8=C3+3276|0,e[Z8>>2]=j9,R8=C3+3336|0,e[R8>>2]=T9,u8=C3+3280|0,e[u8>>2]=j9,F8=C3+3340|0,e[F8>>2]=T9,c4=C3+3284|0,e[c4>>2]=j9,z8=C3+3344|0,e[z8>>2]=T9,j8=C3+3288|0,e[j8>>2]=j9,dt=C3+3348|0,e[dt>>2]=T9,Nt=C3+3292|0,e[Nt>>2]=j9,T8=C3+3352|0,e[T8>>2]=T9,O4=C3+3296|0,e[O4>>2]=j9,C4=C3+3356|0,e[C4>>2]=T9;else{Ae=C3+3120|0,N8=ae+(De*240|0)|0,En=Ae,Ga=N8,SE=En+60|0;do e[En>>2]=e[Ga>>2]|0,En=En+4|0,Ga=Ga+4|0;while((En|0)<(SE|0));$i=C3+3180|0,qi=(ae+(De*240|0)|0)+60|0,En=$i,Ga=qi,SE=En+60|0;do e[En>>2]=e[Ga>>2]|0,En=En+4|0,Ga=Ga+4|0;while((En|0)<(SE|0));if(Hi=r0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(X8=1-Ze,ei=De+1|0,Bi=t+8|0,ti=C3+4|0,o0=e[Bi>>2]|0,yi=+(o0|0),pn=0;;){if(li=((ae+(De*240|0)|0)+120|0)+(pn<<2)|0,g7=+s[li>>2],Yi=g7,Qi=Yi*X8,wi=((ae+(ei*240|0)|0)+120|0)+(pn<<2)|0,u7=+s[wi>>2],ci=u7,h7=ci*Ze,zi=h7+Qi,Ji=zi,Ki=Ji,Wi=Ki*1e3,gi=Wi/yi,ki=e[C3>>2]|0,Zi=+(ki|0),ii=Zi*gi,ni=~~ii,d7=(C3+3e3|0)+(pn<<2)|0,e[d7>>2]=ni,ji=e[ti>>2]|0,f7=+(ji|0),Si=f7*gi,Xi=~~Si,bi=(C3+3060|0)+(pn<<2)|0,e[bi>>2]=Xi,Di=~~Ji,e7=(C3+2940|0)+(pn<<2)|0,e[e7>>2]=Di,_i=((ae+(De*240|0)|0)+180|0)+(pn<<2)|0,xi=+s[_i>>2],t7=xi,hi=t7*X8,K8=((ae+(ei*240|0)|0)+180|0)+(pn<<2)|0,Li=+s[K8>>2],x4=Li,Mi=x4*Ze,G8=Mi+hi,di=G8,$9=di,vt=$9*1e3,y8=vt/yi,U8=e[C3>>2]|0,rr=+(U8|0),kn=rr*y8,As=~~kn,zr=(C3+3240|0)+(pn<<2)|0,e[zr>>2]=As,$s=e[ti>>2]|0,Jr=+($s|0),ls=Jr*y8,Kr=~~ls,gs=(C3+3300|0)+(pn<<2)|0,e[gs>>2]=Kr,or=pn+1|0,hQ=(or|0)==15,hQ)break e;pn=or}for(us=(ae+(De*240|0)|0)+148|0,hs=+s[us>>2],ds=hs,Wr=1-Ze,fs=ds*Wr,Zr=De+1|0,jr=(ae+(Zr*240|0)|0)+148|0,sr=+s[jr>>2],Xr=sr,ar=Xr*Ze,eo=ar+fs,to=eo,ms=to,ps=ms*1e3,Es=t+8|0,Ar=C3+4|0,io=~~to,h0=e[Es>>2]|0,Sn=+(h0|0),$r=ps/Sn,Eu=0;Bs=e[C3>>2]|0,ys=+(Bs|0),lr=ys*$r,I7=~~lr,no=(C3+3e3|0)+(Eu<<2)|0,e[no>>2]=I7,Qs=e[Ar>>2]|0,ws=+(Qs|0),ro=ws*$r,so=~~ro,vs=(C3+3060|0)+(Eu<<2)|0,e[vs>>2]=so,m7=(C3+2940|0)+(Eu<<2)|0,e[m7>>2]=io,cr=Eu+1|0,IQ=(cr|0)==15,!IQ;)Eu=cr;for(ks=(ae+(De*240|0)|0)+208|0,ao=+s[ks>>2],Ss=ao,bs=Ss*Wr,Ds=(ae+(Zr*240|0)|0)+208|0,Ao=+s[Ds>>2],xs=Ao,Ls=xs*Ze,Ms=Ls+bs,$o=Ms,Rs=$o,Fs=Rs*1e3,gr=Fs/Sn,Sp=0;bn=e[C3>>2]|0,ur=+(bn|0),Ts=ur*gr,Ns=~~Ts,lo=(C3+3240|0)+(Sp<<2)|0,e[lo>>2]=Ns,hr=e[Ar>>2]|0,co=+(hr|0),dr=co*gr,Gs=~~dr,go=(C3+3300|0)+(Sp<<2)|0,e[go>>2]=Gs,uo=Sp+1|0,uQ=(uo|0)==15,!uQ;)Sp=uo}while(!1);for(Us=+l1[N4>>3],ho=T6+92|0,Ps=e[ho>>2]|0,Dn=T6+100|0,Io=e[Dn>>2]|0,p7=T6+108|0,fr=e[p7>>2]|0,_n=e[I0>>2]|0,An=_n+2852|0,xn=e[An>>2]|0,Z7=~~Us,Ln=_n+28|0,D7=e[Ln>>2]|0,_7=(D7|0)>0,_7||(e[Ln>>2]=1),i7=(xn|0)==0,i7?(x7=ce(1,520)|0,e[An>>2]=x7,Ra=x7):Ra=xn,ge(Ra|0,25784,520)|0,e[Ra>>2]=0,Mn=_n+3460|0,$n=e[Mn>>2]|0,ln=($n|0)==0,ln||(Rn=Ra+500|0,e[Rn>>2]=1,E7=Ps+(Z7<<2)|0,Os=e[E7>>2]|0,cl=Ra+504|0,e[cl>>2]=Os,Ir=Io+(Z7<<2)|0,mr=e[Ir>>2]|0,Vu=Ra+508|0,e[Vu>>2]=mr,gl=fr+(Z7<<3)|0,qs=+l1[gl>>3],Yu=Ra+512|0,l1[Yu>>3]=qs),cA=+l1[N4>>3],ul=e[ho>>2]|0,zu=e[Dn>>2]|0,Ku=e[p7>>2]|0,gA=e[I0>>2]|0,hl=gA+2856|0,dl=e[hl>>2]|0,uA=~~cA,pr=gA+28|0,fl=e[pr>>2]|0,Wu=(fl|0)>1,Wu||(e[pr>>2]=2),Hs=(dl|0)==0,Hs?(cn=ce(1,520)|0,e[hl>>2]=cn,Fa=cn):Fa=dl,ge(Fa|0,25784,520)|0,e[Fa>>2]=0,ju=gA+3460|0,Xu=e[ju>>2]|0,eh=(Xu|0)==0,eh||(th=Fa+500|0,e[th>>2]=1,ih=ul+(uA<<2)|0,nh=e[ih>>2]|0,rh=Fa+504|0,e[rh>>2]=nh,oh=zu+(uA<<2)|0,sh=e[oh>>2]|0,Il=Fa+508|0,e[Il>>2]=sh,ah=Ku+(uA<<3)|0,Ah=+l1[ah>>3],ml=Fa+512|0,l1[ml>>3]=Ah),J8||($h=+l1[N4>>3],hA=T6+96|0,Vs=e[hA>>2]|0,dA=T6+104|0,lh=e[dA>>2]|0,ch=e[p7>>2]|0,fA=e[I0>>2]|0,El=fA+2860|0,Cl=e[El>>2]|0,IA=~~$h,Bl=fA+28|0,Ys=e[Bl>>2]|0,gh=(Ys|0)>2,gh||(e[Bl>>2]=3),uh=(Cl|0)==0,uh?(yl=ce(1,520)|0,e[El>>2]=yl,Ta=yl):Ta=Cl,ge(Ta|0,25784,520)|0,e[Ta>>2]=1,hh=fA+3460|0,dh=e[hh>>2]|0,fh=(dh|0)==0,fh||(Ih=Ta+500|0,e[Ih>>2]=1,wl=Vs+(IA<<2)|0,vl=e[wl>>2]|0,kl=Ta+504|0,e[kl>>2]=vl,Sl=lh+(IA<<2)|0,bl=e[Sl>>2]|0,Er=Ta+508|0,e[Er>>2]=bl,mh=ch+(IA<<3)|0,Dl=+l1[mh>>3],_l=Ta+512|0,l1[_l>>3]=Dl),xl=+l1[N4>>3],Eh=e[hA>>2]|0,Ch=e[dA>>2]|0,Bh=e[p7>>2]|0,mA=e[I0>>2]|0,Ll=mA+2864|0,Ml=e[Ll>>2]|0,po=~~xl,Rl=mA+28|0,yh=e[Rl>>2]|0,Fl=(yh|0)>3,Fl||(e[Rl>>2]=4),Qh=(Ml|0)==0,Qh?(Tl=ce(1,520)|0,e[Ll>>2]=Tl,Na=Tl):Na=Ml,ge(Na|0,25784,520)|0,e[Na>>2]=1,wh=mA+3460|0,vh=e[wh>>2]|0,Nl=(vh|0)==0,Nl||(Gl=Na+500|0,e[Gl>>2]=1,kh=Eh+(po<<2)|0,zs=e[kh>>2]|0,EA=Na+504|0,e[EA>>2]=zs,Ul=Ch+(po<<2)|0,Pl=e[Ul>>2]|0,bh=Na+508|0,e[bh>>2]=Pl,Dh=Bh+(po<<3)|0,_h=+l1[Dh>>3],xh=Na+512|0,l1[xh>>3]=_h)),Lh=(r0+3528|0)+(o<<5)|0,Mh=+l1[Lh>>3],Js=T6+32|0,Hl=e[Js>>2]|0,Ks=T6+36|0,Rh=e[Ks>>2]|0,Vl=T6+44|0,Fh=e[Vl>>2]|0,lE(t,Mh,0,Hl,Rh,Fh),Yl=r0+3560|0,Th=+l1[Yl>>3],Nh=e[Js>>2]|0,zl=e[Ks>>2]|0,CA=T6+52|0,Uh=e[CA>>2]|0,lE(t,Th,1,Nh,zl,Uh),J8||(Ws=r0+3592|0,Ph=+l1[Ws>>3],Zs=e[Js>>2]|0,Oh=e[Ks>>2]|0,BA=e[CA>>2]|0,lE(t,Ph,2,Zs,Oh,BA),qh=r0+3624|0,Hh=+l1[qh>>3],Vh=e[Js>>2]|0,Jl=e[Ks>>2]|0,zh=T6+48|0,Jh=e[zh>>2]|0,lE(t,Hh,3,Vh,Jl,Jh)),Kh=((r0+3528|0)+(o<<5)|0)+24|0,Kl=+l1[Kh>>3],Wl=T6+80|0,gn=e[Wl>>2]|0,Zl=T6+84|0,js=e[Zl>>2]|0,yA=~~Kl,QA=+(yA|0),jl=Kl-QA,Br=e[I0>>2]|0,Wh=Br+2852|0,Xl=e[Wh>>2]|0,Zh=js+(yA<<3)|0,jh=+l1[Zh>>3],Xh=1-jl,ed=jh*Xh,Xs=yA+1|0,wA=js+(Xs<<3)|0,td=+l1[wA>>3],id=td*jl,ec=id+ed,vA=~~ec,tc=+(vA|0),ic=ec-tc,nd=ic==0,nc=(vA|0)>0,jC=nc&nd,$=jC?1:ic,rd=jC<<31>>31,N=rd+vA|0,kA=1-$,sd=N+1|0,fu=0;K9=(gn+(N*160|0)|0)+(fu<<2)|0,ad=e[K9>>2]|0,rc=+(ad|0),Ad=rc*kA,$d=(gn+(sd*160|0)|0)+(fu<<2)|0,SA=e[$d>>2]|0,ld=+(SA|0),bA=ld*$,oc=bA+Ad,gd=oc,sc=(Xl+336|0)+(fu<<2)|0,s[sc>>2]=gd,ac=fu+1|0,aQ=(ac|0)==40,!aQ;)fu=ac;for(ud=r0+3584|0,DA=+l1[ud>>3],_A=~~DA,Ac=+(_A|0),$c=DA-Ac,hd=Br+2856|0,lc=e[hd>>2]|0,dd=js+(_A<<3)|0,cc=+l1[dd>>3],fd=1-$c,Id=cc*fd,md=_A+1|0,pd=js+(md<<3)|0,gc=+l1[pd>>3],uc=gc*$c,LA=uc+Id,ea=~~LA,Ed=+(ea|0),dc=LA-Ed,fc=dc==0,Cd=(ea|0)>0,XC=Cd&fc,g=XC?1:dc,Bd=XC<<31>>31,O=Bd+ea|0,yd=1-g,Ic=O+1|0,Iu=0;Qd=(gn+(O*160|0)|0)+(Iu<<2)|0,wd=e[Qd>>2]|0,vd=+(wd|0),Sd=vd*yd,bd=(gn+(Ic*160|0)|0)+(Iu<<2)|0,mc=e[bd>>2]|0,Dd=+(mc|0),pc=Dd*g,_d=pc+Sd,yr=_d,xd=(lc+336|0)+(Iu<<2)|0,s[xd>>2]=yr,Ec=Iu+1|0,AQ=(Ec|0)==40,!AQ;)Iu=Ec;if(!J8){for(Ld=r0+3616|0,MA=+l1[Ld>>3],Md=T6+88|0,ta=e[Md>>2]|0,RA=~~MA,Rd=+(RA|0),FA=MA-Rd,Bc=Br+2860|0,Fd=e[Bc>>2]|0,Td=ta+(RA<<3)|0,Nd=+l1[Td>>3],Ud=1-FA,yc=Nd*Ud,Pd=RA+1|0,Od=ta+(Pd<<3)|0,qd=+l1[Od>>3],ia=qd*FA,Co=ia+yc,TA=~~Co,Hd=+(TA|0),NA=Co-Hd,Yd=NA==0,zd=(TA|0)>0,eB=zd&Yd,d=eB?1:NA,Qc=eB<<31>>31,H=Qc+TA|0,Jd=1-d,Kd=H+1|0,mu=0;Wd=(gn+(H*160|0)|0)+(mu<<2)|0,Zd=e[Wd>>2]|0,jd=+(Zd|0),na=jd*Jd,Xd=(gn+(Kd*160|0)|0)+(mu<<2)|0,wc=e[Xd>>2]|0,tf=+(wc|0),nf=tf*d,rf=nf+na,of=rf,C7=(Fd+336|0)+(mu<<2)|0,s[C7>>2]=of,vc=mu+1|0,$Q=(vc|0)==40,!$Q;)mu=vc;for(B7=r0+3648|0,kc=+l1[B7>>3],GA=~~kc,n7=+(GA|0),Bo=kc-n7,af=Br+2864|0,Af=e[af>>2]|0,$f=ta+(GA<<3)|0,lf=+l1[$f>>3],cf=1-Bo,Sc=lf*cf,gf=GA+1|0,uf=ta+(gf<<3)|0,hf=+l1[uf>>3],df=hf*Bo,yo=df+Sc,UA=~~yo,ff=+(UA|0),Dc=yo-ff,If=Dc==0,mf=(UA|0)>0,tB=mf&If,p=tB?1:Dc,ra=tB<<31>>31,V=ra+UA|0,pf=1-p,_c=V+1|0,pu=0;xc=(gn+(V*160|0)|0)+(pu<<2)|0,Cf=e[xc>>2]|0,Bf=+(Cf|0),Qr=Bf*pf,yf=(gn+(_c*160|0)|0)+(pu<<2)|0,Qf=e[yf>>2]|0,wr=+(Qf|0),wf=wr*p,Lc=wf+Qr,kf=Lc,Qo=(Af+336|0)+(pu<<2)|0,s[Qo>>2]=kf,Mc=pu+1|0,lQ=(Mc|0)==40,!lQ;)pu=Mc}for(Sf=((r0+3528|0)+(o<<5)|0)+8|0,Rc=+l1[Sf>>3],bf=T6+40|0,un=e[bf>>2]|0,PA=~~Rc,Df=+(PA|0),Fc=Rc-Df,_f=un+(PA<<2)|0,xf=e[_f>>2]|0,Nc=+(xf|0),Lf=1-Fc,Mf=Nc*Lf,Rf=PA+1|0,Gc=un+(Rf<<2)|0,Ff=e[Gc>>2]|0,wo=+(Ff|0),Tf=wo*Fc,Nf=Tf+Mf,Gf=Nf,OA=Xl+32|0,s[OA>>2]=Gf,Uf=r0+3568|0,qA=+l1[Uf>>3],HA=~~qA,Pf=+(HA|0),Uc=qA-Pf,Pc=un+(HA<<2)|0,Of=e[Pc>>2]|0,Hc=+(Of|0),qf=1-Uc,Vc=Hc*qf,Yc=HA+1|0,Hf=un+(Yc<<2)|0,Vf=e[Hf>>2]|0,zc=+(Vf|0),Jc=zc*Uc,Yf=Jc+Vc,Kc=Yf,zf=lc+32|0,s[zf>>2]=Kc,J8||(Jf=r0+3600|0,Zc=+l1[Jf>>3],VA=~~Zc,jc=+(VA|0),Xc=Zc-jc,eg=Br+2860|0,tg=e[eg>>2]|0,Kf=un+(VA<<2)|0,Wf=e[Kf>>2]|0,jf=+(Wf|0),Xf=1-Xc,eI=jf*Xf,tI=VA+1|0,iI=un+(tI<<2)|0,ig=e[iI>>2]|0,YA=+(ig|0),nI=YA*Xc,rI=nI+eI,oI=rI,rg=tg+32|0,s[rg>>2]=oI,sI=r0+3632|0,og=+l1[sI>>3],zA=~~og,oa=+(zA|0),sg=og-oa,aI=Br+2864|0,AI=e[aI>>2]|0,$I=un+(zA<<2)|0,lI=e[$I>>2]|0,sa=+(lI|0),cI=1-sg,gI=sa*cI,uI=zA+1|0,hI=un+(uI<<2)|0,dI=e[hI>>2]|0,fI=+(dI|0),II=fI*sg,mI=II+gI,Ag=mI,EI=AI+32|0,s[EI>>2]=Ag),CI=((r0+3528|0)+(o<<5)|0)+16|0,BI=+l1[CI>>3],aa=T6+76|0,$g=e[aa>>2]|0,yI=T6+60|0,QI=e[yI>>2]|0,kr=T6+56|0,lg=e[kr>>2]|0,Ol?gg=0:(cg=r0+3408|0,wI=+l1[cg>>3],gg=wI),cE(t,BI,0,$g,QI,lg,gg),vI=r0+3576|0,ug=+l1[vI>>3],hg=e[aa>>2]|0,kI=T6+64|0,SI=e[kI>>2]|0,bI=e[kr>>2]|0,cE(t,ug,1,hg,SI,bI,0),J8?(vo=e[I0>>2]|0,jI=vo+2852|0,vg=e[jI>>2]|0,XI=vo+3496|0,ZA=+l1[XI>>3],kg=ZA,em=vg+4|0,s[em>>2]=kg,im=vo+3504|0,nm=+l1[im>>3],Sg=nm,rm=vg+8|0,s[rm>>2]=Sg,om=vo+2856|0,bg=e[om>>2]|0,ga=bg+4|0,s[ga>>2]=kg,sm=bg+8|0,s[sm>>2]=Sg,hn=vo):(DI=r0+3608|0,_I=+l1[DI>>3],KA=e[aa>>2]|0,xI=T6+68|0,LI=e[xI>>2]|0,MI=e[kr>>2]|0,cE(t,_I,2,KA,LI,MI,0),RI=r0+3640|0,dg=+l1[RI>>3],FI=e[aa>>2]|0,fg=T6+72|0,TI=e[fg>>2]|0,NI=e[kr>>2]|0,cE(t,dg,3,FI,TI,NI,0),Nn=e[I0>>2]|0,mg=Nn+2852|0,pg=e[mg>>2]|0,GI=Nn+3496|0,Eg=+l1[GI>>3],$a=Eg,UI=pg+4|0,s[UI>>2]=$a,PI=Nn+3504|0,OI=+l1[PI>>3],la=OI,qI=pg+8|0,s[qI>>2]=la,HI=Nn+2856|0,Bg=e[HI>>2]|0,VI=Bg+4|0,s[VI>>2]=$a,YI=Bg+8|0,s[YI>>2]=la,WA=Nn+2860|0,ca=e[WA>>2]|0,zI=ca+4|0,s[zI>>2]=$a,JI=ca+8|0,s[JI>>2]=la,KI=Nn+2864|0,wg=e[KI>>2]|0,WI=wg+4|0,s[WI>>2]=$a,ZI=wg+8|0,s[ZI>>2]=la,hn=Nn),am=+l1[N4>>3],Am=T6+152|0,Dg=e[Am>>2]|0,_g=~~am,$m=Dg+(_g<<3)|0,xg=e[$m>>2]|0,Lg=(Dg+(_g<<3)|0)+4|0,L7=e[Lg>>2]|0,Mg=e[hn>>2]|0,lm=hn+4|0,cm=e[lm>>2]|0,um=(Mg|0)==(cm|0),a=um?1:2,jA=hn+8|0,ua=hn+12|0,Rg=t+8|0,Fg=t+4|0,Q7=0;;){if(hm=ce(1,3208)|0,ha=(hn+544|0)+(Q7<<2)|0,e[ha>>2]=hm,So=ce(1,16)|0,dm=(hn+32|0)+(Q7<<2)|0,e[dm>>2]=So,da=26304+(Q7<<4)|0,e[So>>2]=e[da>>2]|0,e[So+4>>2]=e[da+4>>2]|0,e[So+8>>2]=e[da+8>>2]|0,e[So+12>>2]=e[da+12>>2]|0,fm=e[jA>>2]|0,e$=(Q7|0)<(fm|0),e$||(Im=Q7+1|0,e[jA>>2]=Im),mm=(hn+288|0)+(Q7<<2)|0,e[mm>>2]=0,Tg=e[ha>>2]|0,fa=xg+(Q7*3208|0)|0,ge(Tg|0,fa|0,3208)|0,Ng=e[ua>>2]|0,pm=(Q7|0)<(Ng|0),pm||(Em=Q7+1|0,e[ua>>2]=Em),Cm=e[fa>>2]|0,Gg=(Cm|0)>0,Gg)for(EE=0;;){ym=((xg+(Q7*3208|0)|0)+1092|0)+(EE<<2)|0,oi=e[ym>>2]|0,_e=e[I0>>2]|0,r7=R9(2840)|0,Qm=(_e+1568|0)+(oi<<2)|0,e[Qm>>2]=r7,Ug=(L7+(oi<<5)|0)+12|0,Pg=e[Ug>>2]|0,ge(r7|0,Pg|0,2840)|0,t$=_e+20|0,wm=e[t$>>2]|0,bo=(wm|0)>(oi|0),bo||(vm=oi+1|0,e[t$>>2]=vm),km=(L7+(oi<<5)|0)+8|0,Og=e[km>>2]|0,i$=r7+8|0,e[i$>>2]=Og,Sm=L7+(oi<<5)|0,qg=e[Sm>>2]|0,Hg=(_e+1312|0)+(oi<<2)|0,e[Hg>>2]=qg,Vg=_e+3420|0,n$=e[Vg>>2]|0,Yg=(n$|0)==0,Do=r7+12|0,o$=e[Do>>2]|0,zg=(o$|0)>0;do if(Yg){if(zg)for(Jg=(L7+(oi<<5)|0)+24|0,Ia=e[Jg>>2]|0,_m=r7+24|0,Ma=0;;)if(In=_m+(Ma<<2)|0,Dr=Ia+(Ma<<4)|0,Ri=e[Dr>>2]|0,Fi=(Ri|0)==0,Fi||(Ti=e[In>>2]|0,Ba=Ti|1,e[In>>2]=Ba),ya=(Ia+(Ma<<4)|0)+4|0,ou=e[ya>>2]|0,su=(ou|0)==0,su||(b2=e[In>>2]|0,y5=b2|2,e[In>>2]=y5),s5=(Ia+(Ma<<4)|0)+8|0,F2=e[s5>>2]|0,R2=(F2|0)==0,R2||(Q2=e[In>>2]|0,Q5=Q2|4,e[In>>2]=Q5),E5=(Ia+(Ma<<4)|0)+12|0,L5=e[E5>>2]|0,q5=(L5|0)==0,q5||(M5=e[In>>2]|0,z2=M5|8,e[In>>2]=z2),C5=Ma+1|0,$5=e[Do>>2]|0,h5=(C5|0)<($5|0),h5)Ma=C5;else{Sa=$5;break}else Sa=o$;Qa=(L7+(oi<<5)|0)+16|0,h$=e[Qa>>2]|0,Ni=_e+24|0,On=e[Ni>>2]|0,d$=(On|0)>0,ep=h$;e:do if(d$)for(kp=0;;){if(f$=(_e+1824|0)+(kp<<2)|0,tp=e[f$>>2]|0,I$=(tp|0)==(h$|0),I$){L=kp;break e}if(au=kp+1|0,va=(au|0)<(On|0),va)kp=au;else{$e=116;break}}else $e=116;while(!1);if(($e|0)==116&&($e=0,ip=On+1|0,e[Ni>>2]=ip,L=On),np=r7+20|0,e[np>>2]=L,rp=(_e+1824|0)+(L<<2)|0,e[rp>>2]=ep,_r=(Sa|0)>0,!_r)break;for(tt=(L7+(oi<<5)|0)+24|0,Le=r7+280|0,Yn=0,b$=0;;){if(Au=e[tt>>2]|0,op=Au+(b$<<4)|0,m$=e[op>>2]|0,$u=(m$|0)==0,sp=m$,$u)Mo=Au,fp=Yn;else{ba=e[Ni>>2]|0,Ap=(ba|0)>0;e:do if(Ap)for(Bp=0;;){if($p=(_e+1824|0)+(Bp<<2)|0,lp=e[$p>>2]|0,cp=(lp|0)==(m$|0),cp){R=Bp;break e}if(lu=Bp+1|0,gp=(lu|0)<(ba|0),gp)Bp=lu;else{$e=123;break}}else $e=123;while(!1);($e|0)==123&&($e=0,up=ba+1|0,e[Ni>>2]=up,R=ba),hp=Yn+1|0,o7=Le+(Yn<<2)|0,e[o7>>2]=R,xr=(_e+1824|0)+(R<<2)|0,e[xr>>2]=sp,c0=e[tt>>2]|0,Mo=c0,fp=hp}if(p$=(Mo+(b$<<4)|0)+4|0,Ro=e[p$>>2]|0,si=(Ro|0)==0,Fo=Ro,si)C2=Mo,Xe=fp;else{K1=e[Ni>>2]|0,q1=(K1|0)>0;e:do if(q1)for(pp=0;;){if(H1=(_e+1824|0)+(pp<<2)|0,Y1=e[H1>>2]|0,t2=(Y1|0)==(Ro|0),t2){_=pp;break e}if(s2=pp+1|0,e2=(s2|0)<(K1|0),e2)pp=s2;else{$e=147;break}}else $e=147;while(!1);($e|0)==147&&($e=0,O1=K1+1|0,e[Ni>>2]=O1,_=K1),h2=fp+1|0,Z1=Le+(fp<<2)|0,e[Z1>>2]=_,I2=(_e+1824|0)+(_<<2)|0,e[I2>>2]=Fo,$0=e[tt>>2]|0,C2=$0,Xe=h2}if(A2=(C2+(b$<<4)|0)+8|0,W1=e[A2>>2]|0,f2=(W1|0)==0,c2=W1,f2)M2=C2,v$=Xe;else{r2=e[Ni>>2]|0,g2=(r2|0)>0;e:do if(g2)for(Ep=0;;){if(o2=(_e+1824|0)+(Ep<<2)|0,l2=e[o2>>2]|0,i2=(l2|0)==(W1|0),i2){Q=Ep;break e}if(a2=Ep+1|0,m2=(a2|0)<(r2|0),m2)Ep=a2;else{$e=153;break}}else $e=153;while(!1);($e|0)==153&&($e=0,k2=r2+1|0,e[Ni>>2]=k2,Q=r2),D2=Xe+1|0,S2=Le+(Xe<<2)|0,e[S2>>2]=Q,y2=(_e+1824|0)+(Q<<2)|0,e[y2>>2]=c2,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)YC=v$;else{q2=e[Ni>>2]|0,U2=(q2|0)>0;e:do if(U2)for(Cp=0;;){if(V2=(_e+1824|0)+(Cp<<2)|0,Z2=e[V2>>2]|0,A5=(Z2|0)==(O2|0),A5){x=Cp;break e}if(Y2=Cp+1|0,N1=(Y2|0)<(q2|0),N1)Cp=Y2;else{$e=159;break}}else $e=159;while(!1);($e|0)==159&&($e=0,t5=q2+1|0,e[Ni>>2]=t5,x=q2),T5=v$+1|0,i5=Le+(v$<<2)|0,e[i5>>2]=x,x5=(_e+1824|0)+(x<<2)|0,e[x5>>2]=W2,YC=T5}if(D5=b$+1|0,V5=e[Do>>2]|0,u5=(D5|0)<(V5|0),u5)Yn=YC,b$=D5;else break}}else{if(zg)for(bm=(L7+(oi<<5)|0)+28|0,Sr=e[bm>>2]|0,Dm=r7+24|0,La=0;;)if(M7=Dm+(La<<2)|0,xm=Sr+(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=(Sr+(La<<4)|0)+4|0,R7=e[Tm>>2]|0,Nm=(R7|0)==0,Nm||(l6=e[M7>>2]|0,r3=l6|2,e[M7>>2]=r3),l3=(Sr+(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=(Sr+(La<<4)|0)+12|0,n6=e[A6>>2]|0,z3=(n6|0)==0,z3||(j5=e[M7>>2]|0,M3=j5|8,e[M7>>2]=M3),h3=La+1|0,J3=e[Do>>2]|0,d6=(h3|0)<(J3|0),d6)La=h3;else{nu=J3;break}else nu=o$;Gm=(L7+(oi<<5)|0)+20|0,Wg=e[Gm>>2]|0,y7=_e+24|0,ma=e[y7>>2]|0,s$=(ma|0)>0,Zg=Wg;e:do if(s$)for(mp=0;;){if(jg=(_e+1824|0)+(mp<<2)|0,Pm=e[jg>>2]|0,Xg=(Pm|0)==(Wg|0),Xg){B=mp;break e}if(eu=mp+1|0,Om=(eu|0)<(ma|0),Om)mp=eu;else{$e=100;break}}else $e=100;while(!1);if(($e|0)==100&&($e=0,iu=ma+1|0,e[y7>>2]=iu,B=ma),Hm=r7+20|0,e[Hm>>2]=B,Vm=(_e+1824|0)+(B<<2)|0,e[Vm>>2]=Zg,Ym=(nu|0)>0,!Ym)break;for(_o=(L7+(oi<<5)|0)+28|0,pa=r7+280|0,Po=0,k$=0;;){if(Ea=e[_o>>2]|0,zm=Ea+(k$<<4)|0,a$=e[zm>>2]|0,Km=(a$|0)==0,ru=a$,Km)Lo=Ea,Rr=Po;else{xo=e[y7>>2]|0,Wm=(xo|0)>0;e:do if(Wm)for(vp=0;;){if(Zm=(_e+1824|0)+(vp<<2)|0,A$=e[Zm>>2]|0,$$=(A$|0)==(a$|0),$$){w=vp;break e}if(Ca=vp+1|0,l$=(Ca|0)<(xo|0),l$)vp=Ca;else{$e=107;break}}else $e=107;while(!1);($e|0)==107&&($e=0,c$=xo+1|0,e[y7>>2]=c$,w=xo),Un=Po+1|0,Pn=pa+(Po<<2)|0,e[Pn>>2]=w,g$=(_e+1824|0)+(w<<2)|0,e[g$>>2]=ru,K=e[_o>>2]|0,Lo=K,Rr=Un}if(u$=(Lo+(k$<<4)|0)+4|0,fn=e[u$>>2]|0,br=(fn|0)==0,jm=fn,br)R5=Lo,Lr=Rr;else{w5=e[y7>>2]|0,T1=(w5|0)>0;e:do if(T1)for(yp=0;;){if(d5=(_e+1824|0)+(yp<<2)|0,l5=e[d5>>2]|0,X2=(l5|0)==(fn|0),X2){b=yp;break e}if(d2=yp+1|0,v5=(d2|0)<(w5|0),v5)yp=d2;else{$e=171;break}}else $e=171;while(!1);($e|0)==171&&($e=0,n5=w5+1|0,e[y7>>2]=n5,b=w5),a5=Rr+1|0,f5=pa+(Rr<<2)|0,e[f5>>2]=b,K2=(_e+1824|0)+(b<<2)|0,e[K2>>2]=jm,e0=e[_o>>2]|0,R5=e0,Lr=a5}if(I5=(R5+(k$<<4)|0)+8|0,e5=e[I5>>2]|0,c5=(e5|0)==0,T2=e5,c5)f3=R5,Mr=Lr;else{k5=e[y7>>2]|0,z5=(k5|0)>0;e:do if(z5)for(Qp=0;;){if(i3=(_e+1824|0)+(Qp<<2)|0,B5=e[i3>>2]|0,I3=(B5|0)==(e5|0),I3){D=Qp;break e}if(d3=Qp+1|0,n3=(d3|0)<(k5|0),n3)Qp=d3;else{$e=177;break}}else $e=177;while(!1);($e|0)==177&&($e=0,a3=k5+1|0,e[y7>>2]=a3,D=k5),y3=Lr+1|0,G5=pa+(Lr<<2)|0,e[G5>>2]=D,Z5=(_e+1824|0)+(D<<2)|0,e[Z5>>2]=T2,u0=e[_o>>2]|0,f3=u0,Mr=y3}if(x3=(f3+(k$<<4)|0)+12|0,w3=e[x3>>2]|0,e6=(w3|0)==0,H3=w3,e6)q9=Mr;else{_3=e[y7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(wp=0;;){if(a6=(_e+1824|0)+(wp<<2)|0,G3=e[a6>>2]|0,V3=(G3|0)==(w3|0),V3){k=wp;break e}if(c3=wp+1|0,g3=(c3|0)<(_3|0),g3)wp=c3;else{$e=183;break}}else $e=183;while(!1);($e|0)==183&&($e=0,u3=_3+1|0,e[y7>>2]=u3,k=_3),Q3=Mr+1|0,J5=pa+(Mr<<2)|0,e[J5>>2]=k,Y5=(_e+1824|0)+(k<<2)|0,e[Y5>>2]=H3,q9=Q3}if(b5=k$+1|0,Y3=e[Do>>2]|0,U5=(b5|0)<(Y3|0),U5)Po=q9,k$=b5;else break}}while(!1);cu=_e+3480|0,gu=+l1[cu>>3],_a=gu*1e3,To=(_e+1056|0)+(Q7<<2)|0,Go=e[To>>2]|0,dp=e[Rg>>2]|0,Uo=+(dp|0),mn=Uo*.5,uu=_e+(Q7<<2)|0,qn=e[uu>>2]|0,s7=qn>>1,E$=_a>mn,JC=E$?mn:_a,C$=JC/mn,X7=+(s7|0),y$=X7*C$,Q$=~~y$,Hn=Go+1116|0,e[Hn>>2]=Q$,h6=(L7+(oi<<5)|0)+4|0,xa=e[h6>>2]|0;do if((xa|0)==2)du=250;else if((xa|0)==1){if(Vn=e[Vg>>2]|0,hu=(Vn|0)==0,L4=_e+2996|0,w$=_e+2968|0,EQ=hu?w$:L4,pQ=e[EQ>>2]|0,mQ=+(pQ|0),KC=mQ*1e3,kt=KC>mn,!kt){du=KC;break}du=mn}else du=JC;while(!1);C0=e[Hg>>2]|0,b0=(C0|0)==2;do if(b0){if(y0=_e+12|0,D0=e[y0>>2]|0,E0=(D0|0)>0,E0)for(pE=0;;){if(Q0=(_e+544|0)+(pE<<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,N0=(v0|0)==(oi|0);do if(N0){if(U0=e[Fg>>2]|0,O0=(U0|0)>0,O0)zC=0,BE=0;else{Ip=0;break}for(;;)if(H0=(w0+4|0)+(BE<<2)|0,S0=e[H0>>2]|0,J0=(S0|0)==(bp|0),T0=J0&1,J=T0+zC|0,M0=BE+1|0,sQ=(M0|0)==(U0|0),sQ){Ip=J;break}else zC=J,BE=M0}else Ip=0;while(!1);if(P0=bp+1|0,K0=(P0|0)<(B0|0),V0=(Ip|0)==0,j0=K0&V0,j0)bp=P0;else{fE=Ip;break}}else fE=0;if(q0=pE+1|0,Y0=(q0|0)<(D0|0),s1=(fE|0)==0,z0=Y0&s1,z0)pE=q0;else{dE=fE;break}}else dE=0;if(n1=du/mn,L0=+(dE|0),o1=L0*X7,u1=o1*n1,p1=e[i$>>2]|0,f1=+(p1|0),h1=u1/f1,A1=h1+.9,c1=~~A1,a1=o5(c1,p1)|0,$1=r7+4|0,e[$1>>2]=a1,X0=o5(dE,s7)|0,B1=(a1|0)>(X0|0),!B1){Y=$1,X1=a1,x1=p1;break}Q1=(X0|0)%(p1|0)&-1,C1=X0-Q1|0,e[$1>>2]=C1,Y=$1,X1=C1,x1=p1}else{if(y1=du/mn,v1=y1*X7,k1=e[i$>>2]|0,S1=+(k1|0),L1=v1/S1,M1=L1+.9,b1=~~M1,_1=o5(b1,k1)|0,F1=r7+4|0,e[F1>>2]=_1,U1=(_1|0)>(s7|0),!U1){Y=F1,X1=_1,x1=k1;break}D1=(s7|0)%(k1|0)&-1,P1=s7-D1|0,e[F1>>2]=P1,Y=F1,X1=P1,x1=k1}while(!1);if(G1=(X1|0)==0,G1&&(e[Y>>2]=x1),m3=EE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)EE=m3;else break}if(S6=Q7+1|0,r6=(S6|0)<(a|0),r6)Q7=S6;else break}return f6=r0+3428|0,b6=e[f6>>2]|0,N6=(b6|0)>0,N6?(j6=t+16|0,e[j6>>2]=b6):(v6=e[I0>>2]|0,R3=v6+3396|0,s6=e[R3>>2]|0,B6=v6+3400|0,K3=+l1[B6>>3],F3=~~K3,W3=+(F3|0),t6=K3-W3,R6=s6+4|0,c6=e[R6>>2]|0,o3=(c6|0)==0,o3?y=-1:(J6=e[Fg>>2]|0,y6=c6+(F3<<3)|0,T3=+l1[y6>>3],H6=1-t6,$6=T3*H6,D6=F3+1|0,G6=c6+(D6<<3)|0,e9=+l1[G6>>3],Q6=e9*t6,X6=Q6+$6,P3=+(J6|0),V6=X6*P3,CQ=~~V6,y=CQ),o9=t+16|0,e[o9>>2]=y),g9=r0+3424|0,U6=e[g9>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=r0+3440|0,t9=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=t9,P6=(b6|0)==0,P6?g0=0:(O3=r0+3444|0,s9=e[O3>>2]|0,h9=+(s9|0),r9=+(b6|0),B9=h9/r9,y9=~~B9,g0=y9),Q9=t+24|0,e[Q9>>2]=g0,d9=r0+3420|0,f9=e[d9>>2]|0,V9=(f9|0)==0,V9?(E=0,E|0):(w6=e[f6>>2]|0,a9=r0+3360|0,e[a9>>2]=w6,Y9=e[g9>>2]|0,w9=r0+3364|0,e[w9>>2]=Y9,we=e[F6>>2]|0,ue=r0+3368|0,e[ue>>2]=we,Ee=r0+3444|0,z9=e[Ee>>2]|0,ne=r0+3372|0,e[ne>>2]=z9,F9=r0+3448|0,v9=+l1[F9>>3],A9=r0+3376|0,l1[A9>>3]=v9,ve=r0+3432|0,Me=+l1[ve>>3],he=r0+3384|0,l1[he>>3]=Me,E=0,E|0)}function cD(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0;if(J=C,I=(a|0)<1,I)d=-131;else if(E=t+28|0,Q=e[E>>2]|0,x=$,R=x+1e-7,L=R,F=!(L>=1),p=F?L:.9998999834060669,N=Q+3416|0,s[N>>2]=p,O=p,H=Q+3400|0,y=gD(o,a,O,0,H)|0,B=Q+3396|0,e[B>>2]=y,b=(y|0)==0,b)d=-130;else return uD(t,o,a),D=Q+3420|0,e[D>>2]=0,k=Q+3464|0,e[k>>2]=1,w=lD(t)|0,_=(w|0)==0,_?(g=0,g|0):(FC(t),g=w,g|0);return FC(t),g=d,g|0}function lE(t,o,a,$,g,d){t=t|0,o=+o,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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;for(v1=C,p=~~o,I=+(p|0),R=o-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,m1=+(f1|0),E=1-R,y=m1*E,B=p+1|0,b=$+(B*20|0)|0,D=e[b>>2]|0,k=+(D|0),w=k*R,_=w+y,Q=_,x=U0+12|0,s[x>>2]=Q,L=($+(p*20|0)|0)+4|0,F=e[L>>2]|0,N=+(F|0),O=N*E,H=($+(B*20|0)|0)+4|0,V=e[H>>2]|0,J=+(V|0),t0=J*R,Z=t0+O,A0=Z,n0=U0+16|0,s[n0>>2]=A0,s0=($+(p*20|0)|0)+8|0,K=e[s0>>2]|0,o0=+(K|0),Y=o0*E,h0=($+(B*20|0)|0)+8|0,i0=e[h0>>2]|0,e0=+(i0|0),u0=e0*R,c0=u0+Y,l0=c0,X=U0+20|0,s[X>>2]=l0,m0=($+(p*20|0)|0)+12|0,g0=+s[m0>>2],I0=g0,r0=I0*E,d0=($+(B*20|0)|0)+12|0,p0=+s[d0>>2],C0=p0,b0=C0*R,D0=b0+r0,E0=D0,Q0=U0+24|0,s[Q0>>2]=E0,w0=($+(p*20|0)|0)+16|0,B0=+s[w0>>2],x0=B0,Z0=x0*E,R0=($+(B*20|0)|0)+16|0,v0=+s[R0>>2],N0=v0,O0=N0*R,H0=O0+Z0,S0=H0,J0=U0+28|0,s[J0>>2]=S0,T0=g+(p<<2)|0,M0=e[T0>>2]|0,P0=+(M0|0),W0=P0*E,K0=g+(B<<2)|0,V0=e[K0>>2]|0,q0=+(V0|0),Y0=q0*R,s1=Y0+W0,z0=s1,n1=U0+496|0,s[n1>>2]=z0,C1=0;L0=(d+(p*68|0)|0)+(C1<<2)|0,o1=e[L0>>2]|0,d1=+(o1|0),u1=d1*E,p1=(d+(B*68|0)|0)+(C1<<2)|0,h1=e[p1>>2]|0,A1=+(h1|0),c1=A1*R,a1=c1+u1,$1=a1,X0=(U0+36|0)+(C1<<2)|0,s[X0>>2]=$1,B1=C1+1|0,Q1=(B1|0)==17,!Q1;)C1=B1}function cE(t,o,a,$,g,d,p){t=t|0,o=+o,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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0;for(S2=C,k=~~o,w=+(k|0),h0=o-w,r0=t+28|0,x0=e[r0>>2]|0,M0=(x0+2852|0)+(a<<2)|0,L0=e[M0>>2]|0,X0=$+(k<<2)|0,b1=e[X0>>2]|0,q1=+(b1|0),_=1-h0,t0=q1*_,Z=k+1|0,A0=$+(Z<<2)|0,j=e[A0>>2]|0,n0=+(j|0),s0=n0*h0,K=s0+t0,o0=K,Y=L0+108|0,s[Y>>2]=o0,i0=d+(a*12|0)|0,e0=e[i0>>2]|0,u0=L0+120|0,e[u0>>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,r2=0;;)if(I0=(g+(k*204|0)|0)+(r2<<2)|0,d0=e[I0>>2]|0,p0=+(d0|0),C0=p0*_,b0=(g+(Z*204|0)|0)+(r2<<2)|0,y0=e[b0>>2]|0,D0=+(y0|0),E0=D0*h0,Q0=E0+C0,w0=Q0,B0=(L0+132|0)+(r2<<2)|0,s[B0>>2]=w0,Z0=r2+1|0,W1=(Z0|0)==17,W1){g2=0;break}else r2=Z0;for(;;)if(M1=((g+(k*204|0)|0)+68|0)+(g2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*_,U1=((g+(Z*204|0)|0)+68|0)+(g2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),X1=P1*h0,G1=X1+F1,x1=G1,K1=(L0+200|0)+(g2<<2)|0,s[K1>>2]=x1,H1=g2+1|0,f2=(H1|0)==17,f2){o2=0;break}else g2=H1;for(;V1=((g+(k*204|0)|0)+136|0)+(o2<<2)|0,Y1=e[V1>>2]|0,t2=+(Y1|0),s2=t2*_,e2=((g+(Z*204|0)|0)+136|0)+(o2<<2)|0,O1=e[e2>>2]|0,h2=+(O1|0),Z1=h2*h0,I2=Z1+s2,Q=I2,x=(L0+268|0)+(o2<<2)|0,s[x>>2]=Q,R=o2+1|0,c2=(R|0)==17,!c2;)o2=R;for(L=L0+132|0,F=+s[L>>2],S0=F+6,N=L0+132|0,O=F,H=O+p,V=H,J=V>2]=k2,R0=1;I=(L0+132|0)+(R0<<2)|0,B=+s[I>>2],v0=(L0+132|0)+(R0<<2)|0,N0=B,U0=N0+p,O0=U0,H0=O0>2]=l2,J0=R0+1|0,A2=(J0|0)==17,!A2;)R0=J0;for(T0=L0+200|0,P0=+s[T0>>2],W0=P0+6,K0=L0+200|0,V0=P0,j0=V0+p,q0=j0,Y0=q0>2]=a2,s1=1;E=(L0+200|0)+(s1<<2)|0,b=+s[E>>2],z0=(L0+200|0)+(s1<<2)|0,n1=b,o1=n1+p,d1=o1,u1=d1>2]=i2,p1=s1+1|0,C2=(p1|0)==17,!C2;)s1=p1;for(f1=L0+268|0,h1=+s[f1>>2],A1=h1+6,c1=L0+268|0,a1=h1,$1=a1+p,B1=$1,m1=B1>2]=n2,Q1=1;y=(L0+268|0)+(Q1<<2)|0,D=+s[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 gD(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;S1=C,k=($|0)==0;e:do if(k){for(K=26336,X0=0;;){if(s0=e[K>>2]|0,o0=s0+12|0,Y=e[o0>>2]|0,h0=(Y|0)==-1,e0=(Y|0)==(t|0),C1=h0|e0,C1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,X=e[l0>>2]|0,m0=(X|0)<(o|0),!m0&&(g0=e[s0>>2]|0,I0=s0+8|0,r0=e[I0>>2]|0,p0=+l1[r0>>3],C0=p0>a,!C0&&(D0=r0+(g0<<3)|0,E0=+l1[D0>>3],Q0=E0>2]|0,Z0=i0+12|0,P0=e[Z0>>2]|0,o1=(P0|0)==-1,A1=(P0|0)==(t|0),y1=o1|A1,y1&&(c1=i0+16|0,_=e[c1>>2]|0,Q=(_|0)>(o|0),!Q&&(x=i0+20|0,R=e[x>>2]|0,L=(R|0)<(o|0),!L&&(F=e[i0>>2]|0,N=i0+4|0,O=e[N>>2]|0,H=+l1[O>>3],V=J>3],A0=J>Z,!A0))))){p=J,I=F,E=d0,y=O,h1=H;break e}if($1=B1+1|0,j=26336+($1<<2)|0,n0=($1|0)==17,n0){d=0;break}else d0=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=+l1[R0>>3],N0=p>3],x0=b,Q1=D}else m1=0;while(!1);return O0=(m1|0)==(I|0),O0?(H0=+(I|0),S0=H0+-.001,v1=S0):(J0=y+(m1<<3)|0,T0=+l1[J0>>3],M0=T0,W0=m1+1|0,K0=y+(W0<<3)|0,V0=+l1[K0>>3],j0=V0,q0=M0,Y0=p-q0,s1=j0-M0,z0=s1,n1=Y0/z0,L0=n1,d1=+(m1|0),u1=L0+d1,p1=u1,v1=p1),l1[g>>3]=v1,f1=e[E>>2]|0,d=f1,d|0}function uD(t,o,a){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0;L0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,n0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,D0=t+8|0,e[D0>>2]=a,O0=E+3456|0,e[O0>>2]=1,q0=E+3460|0,e[q0>>2]=1,s1=E+3400|0,z0=+l1[s1>>3],y=~~z0,B=+(y|0),b=z0-B,D=E+3472|0,l1[D>>3]=z0,k=E+3488|0,w=e[k>>2]|0,_=(w|0)==0,_?(Q=n0+120|0,x=e[Q>>2]|0,R=x+(y<<3)|0,F=+l1[R>>3],N=1-b,O=F*N,H=y+1|0,V=x+(H<<3)|0,J=+l1[V>>3],t0=J*b,Z=t0+O,A0=E+3480|0,l1[A0>>3]=Z,g=H,d=N):($=1-b,p=y+1|0,g=p,d=$),j=n0+112|0,s0=e[j>>2]|0,K=s0+(y<<2)|0,o0=e[K>>2]|0,Y=+(o0|0),h0=Y*d,i0=s0+(g<<2)|0,e0=e[i0>>2]|0,u0=+(e0|0),c0=u0*b,$0=c0+h0,X=E+3496|0,l1[X>>3]=$0,m0=n0+116|0,g0=e[m0>>2]|0,I0=g0+(y<<2)|0,r0=e[I0>>2]|0,d0=+(r0|0),p0=d0*d,C0=g0+(g<<2)|0,b0=e[C0>>2]|0,y0=+(b0|0),E0=y0*b,Q0=E0+p0,w0=E+3504|0,l1[w0>>3]=Q0,B0=E+3512|0,l1[B0>>3]=-6,x0=E+3520|0,l1[x0>>3]=z0,Z0=E+3528|0,l1[Z0>>3]=z0,R0=E+3536|0,l1[R0>>3]=z0,v0=E+3544|0,l1[v0>>3]=z0,N0=E+3552|0,l1[N0>>3]=z0,U0=E+3560|0,l1[U0>>3]=z0,H0=E+3568|0,l1[H0>>3]=z0,S0=E+3576|0,l1[S0>>3]=z0,J0=E+3584|0,l1[J0>>3]=z0,T0=E+3592|0,l1[T0>>3]=z0,M0=E+3600|0,l1[M0>>3]=z0,P0=E+3608|0,l1[P0>>3]=z0,W0=E+3616|0,l1[W0>>3]=z0,K0=E+3624|0,l1[K0>>3]=z0,V0=E+3632|0,l1[V0>>3]=z0,j0=E+3640|0,l1[j0>>3]=z0,Y0=E+3648|0,l1[Y0>>3]=z0}function hD(t,o,a,$,g,d){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0;if(V0=C,I=(g|0)!=0,E=I?$:0,L=I?d:0,n0=o+(E<<2)|0,l0=e[n0>>2]|0,D0=520336+(l0<<2)|0,x0=e[D0>>2]|0,Z0=o+(L<<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,w=a+(L<<2)|0,_=e[w>>2]|0,Q=(b|0)/4&-1,x=(k|0)/4&-1,R=Q-x|0,F=(k|0)/2&-1,N=R+F|0,O=(b|0)/2&-1,H=O+Q|0,p=(_|0)/-4&-1,V=H+p|0,J=(_|0)/2&-1,t0=V+J|0,Z=(R|0)>0,Z?(A0=Q-x|0,j=A0<<2,g4(t|0,0,j|0)|0,U0=R):U0=0,s0=(U0|0)<(N|0),s0)for(K=Q+F|0,o0=K-U0|0,Y=o0-x|0,O0=U0,J0=0;u0=x0+(J0<<2)|0,c0=+s[u0>>2],$0=t+(O0<<2)|0,X=+s[$0>>2],m0=X*c0,s[$0>>2]=m0,g0=O0+1|0,I0=J0+1|0,N0=(I0|0)==(Y|0),!N0;)O0=g0,J0=I0;if(h0=(_|0)>1,h0){for(i0=V+1|0,e0=(t0|0)>(i0|0),S0=V,M0=J;T0=M0+-1|0,C0=y+(T0<<2)|0,b0=+s[C0>>2],y0=t+(S0<<2)|0,E0=+s[y0>>2],Q0=E0*b0,s[y0>>2]=Q0,w0=S0+1|0,B0=(w0|0)<(t0|0),B0;)S0=w0,M0=T0;W0=e0?t0:i0,H0=W0}else H0=V;r0=(b|0)>(H0|0),r0&&(P0=t+(H0<<2)|0,d0=b-H0|0,p0=d0<<2,g4(P0|0,0,p0|0)|0)}function dD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0;if(X=C,C=C+64|0,$0=X+32|0,c0=X,$=R9(688)|0,g=$+408|0,Sb(g),_=~~o,cD(g,t,_,a)|0,t0=$+440|0,wb(t0),vb(t0,553008,553016),o0=$+456|0,nb(o0,g)|0,Y=$+568|0,tb(o0,Y)|0,h0=Cy(0)|0,BD(h0),i0=yD()|0,YS($,i0)|0,e0=$+680|0,e[e0>>2]=0,u0=$+684|0,e[u0>>2]=0,d=$+360|0,bb(o0,t0,d,$0,c0)|0,AE($,d)|0,AE($,$0)|0,AE($,c0)|0,p=$+392|0,I=yy($,p)|0,E=(I|0)==0,E)return C=X,$|0;for(y=$+396|0,B=$+404|0,b=$+400|0;D=e[u0>>2]|0,k=e[y>>2]|0,w=k+D|0,Q=e[B>>2]|0,x=w+Q|0,R=(x|0)==0,R||(N=e[e0>>2]|0,O=W7(N,x)|0,e[e0>>2]=O,H=e[u0>>2]|0,V=O+H|0,J=e[p>>2]|0,Z=e[y>>2]|0,ge(V|0,J|0,Z|0)|0,A0=Z+H|0,e[u0>>2]=A0,j=O+A0|0,n0=e[b>>2]|0,s0=e[B>>2]|0,ge(j|0,n0|0,s0|0)|0,K=s0+A0|0,e[u0>>2]=K),L=yy($,p)|0,F=(L|0)==0,!F;);return C=X,$|0}function fD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0;E=C,zS(t)|0,o=t+568|0,ib(o)|0,a=t+456|0,ky(a),$=t+440|0,kb($),g=t+408|0,FC(g),d=t+680|0,p=e[d>>2]|0,E2(p),E2(t)}function ID(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0;return d=C,a=t+456|0,$=Sy(a,o)|0,$|0}function mD(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0;if(X=C,a=t+456|0,rb(a,o)|0,$=t+568|0,w=by(a,$)|0,J=(w|0)==1,!!J)for(h0=t+360|0,i0=t+392|0,e0=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(ZS($,0)|0,eb($)|0,E=vy(a,h0)|0,y=(E|0)==0,!y)for(;;){if(AE(t,h0)|0,D=Qy(t,i0)|0,k=(D|0)==0,!k)for(;_=e[e0>>2]|0,Q=e[u0>>2]|0,x=Q+_|0,R=e[c0>>2]|0,L=x+R|0,F=(L|0)==0,F||(H=e[$0>>2]|0,V=W7(H,L)|0,e[$0>>2]=V,t0=e[e0>>2]|0,Z=V+t0|0,A0=e[g>>2]|0,j=e[u0>>2]|0,ge(Z|0,A0|0,j|0)|0,n0=j+t0|0,e[e0>>2]=n0,s0=V+n0|0,K=e[d>>2]|0,o0=e[c0>>2]|0,ge(s0|0,K|0,o0|0)|0,Y=o0+n0|0,e[e0>>2]=Y),N=Qy(t,i0)|0,O=(N|0)==0,!O;);if(B=vy(a,h0)|0,b=(B|0)==0,b)break}if(p=by(a,$)|0,I=(p|0)==1,!I)break}}function pD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function ED(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;return d=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function gE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+CD(t,o),+a}function Hu(t,o,a,$){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0;if(U3=C,C=C+688|0,r3=U3+424|0,W5=U3+192|0,t3=U3,o0=o5(a,o)|0,Y=(o0|0)==0,Y){C=U3;return}for(j=o0-a|0,V1=t3+4|0,e[V1>>2]=a,e[t3>>2]=a,n2=a,p5=a,x3=2;$2=n2+a|0,U2=$2+p5|0,N5=t3+(x3<<2)|0,e[N5>>2]=U2,_5=U2>>>0>>0,r5=x3+1|0,_5;)k2=p5,p5=U2,x3=r5,n2=k2;if(h0=0-a|0,r0=t+j|0,x0=(j|0)>0,x0)for(M0=(a|0)==0,L0=r0,b1=1,Z2=0,G5=t,H5=1;;){X0=b1&3,K1=(X0|0)==3;do if(K1){e[W5>>2]=G5,q1=(H5|0)>1;e:do if(q1){for(B=H5,Q=G5,O1=G5,X5=1;;){if(H1=Q+h0|0,Y1=B+-2|0,t2=t3+(Y1<<2)|0,s2=e[t2>>2]|0,U5=s2+a|0,n0=0-U5|0,e2=Q+n0|0,h2=pi[$&15](O1,e2)|0,Z1=(h2|0)>-1,Z1&&(I2=pi[$&15](O1,H1)|0,A2=(I2|0)>-1,A2)){f3=X5;break}if(C2=pi[$&15](e2,H1)|0,W1=(C2|0)>-1,f2=X5+1|0,c2=W5+(X5<<2)|0,W1?(e[c2>>2]=e2,r2=B+-1|0,d=e2,E=r2):(e[c2>>2]=H1,d=H1,E=Y1),g2=(E|0)>1,!g2){f3=f2;break}J=e[W5>>2]|0,B=E,Q=d,O1=J,X5=f2}if(o2=(f3|0)<2,!o2&&(l2=W5+(f3<<2)|0,e[l2>>2]=r3,!M0))for(w=a,q2=r3;;){for(p2=w>>>0>256,a2=p2?256:w,W2=e[W5>>2]|0,ge(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,ge(M2|0,G2|0,a2|0)|0,O2=M2+a2|0,e[D2>>2]=O2,n3=(S2|0)==(f3|0),!n3;)M2=G2,e6=S2;if(i2=(w|0)==(a2|0),i2)break e;m2=w-a2|0,Z=e[l2>>2]|0,w=m2,q2=Z}}while(!1);J2=b1>>>2,V2=Z2<<30,A5=J2|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,x5=G5,j2=L0-x5|0,D5=i5>>>0>>0,D5){e[W5>>2]=G5,V5=(H5|0)>1;e:do if(V5){for(b=H5,x=G5,R2=G5,_3=1;;){if(u5=x+h0|0,b2=b+-2|0,y5=t3+(b2<<2)|0,s5=e[y5>>2]|0,l6=s5+a|0,s0=0-l6|0,F2=x+s0|0,Q2=pi[$&15](R2,F2)|0,Q5=(Q2|0)>-1,Q5&&(E5=pi[$&15](R2,u5)|0,L5=(E5|0)>-1,L5)){w3=_3;break}if(q5=pi[$&15](F2,u5)|0,M5=(q5|0)>-1,z2=_3+1|0,C5=W5+(_3<<2)|0,M5?(e[C5>>2]=F2,$5=b+-1|0,p=F2,y=$5):(e[C5>>2]=u5,p=u5,y=b2),h5=(y|0)>1,!h5){w3=z2;break}t0=e[W5>>2]|0,b=y,x=p,R2=t0,_3=z2}if(w5=(w3|0)<2,!w5&&(T1=W5+(w3<<2)|0,e[T1>>2]=r3,!M0))for(_=a,e5=r3;;){for(I5=_>>>0>256,l5=I5?256:_,R5=e[W5>>2]|0,ge(e5|0,R5|0,l5|0)|0,f5=R5,H3=0;d2=W5+(H3<<2)|0,v5=H3+1|0,n5=W5+(v5<<2)|0,a5=e[n5>>2]|0,ge(f5|0,a5|0,l5|0)|0,K2=f5+l5|0,e[d2>>2]=K2,a3=(v5|0)==(w3|0),!a3;)f5=a5,H3=v5;if(d5=(_|0)==(l5|0),d5)break e;X2=_-l5|0,A0=e[T1>>2]|0,_=X2,e5=A0}}while(!1)}else uE(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,L=B5?I3:t5,d3=R<>>i0,u0=e0|d3,c0=g<>>0>>0,m0)b1=$0,Z2=x1,G5=X,H5=Y5;else{O=x1,H=$0,y3=X,J5=Y5;break}}else O=0,H=1,y3=t,J5=1;if(uE(y3,a,$,H,O,J5,0,t3),g0=(J5|0)==1,I0=(H|0)==1,Q3=I0&g0,d0=(O|0)==0,u3=d0&Q3,u3){C=U3;return}else b0=H,v0=O,Z5=y3,b5=J5;for(;;){if(p0=(b5|0)<2,!p0){Y0=v0<<2,s1=b0>>>30,z0=s1|Y0,n1=b5+-2|0,o1=b0<<1,d1=o1&2147483646,u1=s1<<31,p1=d1|u1,f1=p1^3,h1=z0>>>1,A1=t3+(n1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,K=0-Y3|0,a1=Z5+K|0,$1=b5+-1|0,uE(a1,a,$,f1,h1,$1,1,t3),B1=h1<<1,m1=s1&1,Q1=B1|m1,C1=f1<<1,y1=C1|1,v1=Z5+h0|0,uE(v1,a,$,y1,Q1,n1,1,t3),b0=y1,v0=Q1,Z5=v1,b5=n1;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{F=Q0;break}R0=(F|0)==0,R0?l3=51:K0=F}else l3=51;if((l3|0)==51){if(l3=0,N0=(v0|0)==0,N0){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,S0=k>>>1,J0=S0&1,T0=(J0|0)==0,T0)k=S0,G3=H0;else{N=H0,V3=G3;break}if(P0=V3+33|0,W0=(N|0)==0,W0){I=0,S1=b0,_1=v0,D1=0;break}else K0=P0}V0=K0>>>0>31,V0?(q0=K0,l3=56):(I=K0,S1=b0,_1=v0,D1=K0)}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,U1=D1+b5|0,V=Z5+h0|0,P1=(U1|0)==1,X1=(R1|0)==1,c3=X1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;b0=R1,v0=F1,Z5=V,b5=U1}C=U3}function uE(t,o,a,$,g,d,p,I){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=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-o|0,h0=($|0)!=1,v0=(g|0)!=0,K0=v0|h0;e:do if(K0)if(u1=I+(d<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,Y1=t+F1|0,W1=pi[a&15](Y1,t)|0,k2=(W1|0)<1,k2)B=t,R=d,V=p,Y2=1,R2=18;else for(k=t,O=d,J=p,B0=Y1,Y0=g,x5=1,b2=$;;){if(i0=(J|0)==0,d0=(O|0)>1,u5=i0&d0,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,L=O,t5=x5;break e}if(y5=w0+o|0,K=0-y5|0,R0=k+K|0,N0=pi[a&15](R0,B0)|0,U0=(N0|0)>-1,U0){b=k,L=O,t5=x5;break e}}O0=x5+1|0,H0=U2+(x5<<2)|0,e[H0>>2]=B0,S0=b2+-1|0,J0=(S0|0)==0;do if(J0)$1=32,R2=15;else{if(T0=S0&1,M0=(T0|0)==0,M0){for(Q=S0,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,s1=(Y0|0)==0,s1){$1=64,R2=15;break}if(z0=Y0&1,n1=(z0|0)==0,n1)x=Y0,D5=0;else{y=0,B1=b2,y1=Y0,L1=0;break}for(;;)if(L0=D5+1|0,o1=x>>>1,d1=o1&1,p1=(d1|0)==0,p1)x=o1,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}c1=A1>>>0>31,c1?($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,m1=32-y|0,C1=y1<>>y,S1=L1+O|0,M1=(v1|0)!=1,b1=(k1|0)!=0,_1=b1|M1,!_1){b=B0,L=S1,t5=O0;break e}if(A0=e[U2>>2]|0,R1=I+(S1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,X1=pi[a&15](P1,A0)|0,G1=(X1|0)<1,G1){B=B0,R=S1,V=0,Y2=O0,R2=18;break}else w=B0,O=S1,J=0,B0=P1,Y0=k1,x5=O0,b2=v1,k=w}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,L=R,t5=Y2;else{C=Q2;return}K1=(t5|0)<2;e:do if(!K1&&(q1=U2+(t5<<2)|0,e[q1>>2]=F2,H1=(o|0)==0,!H1))for(N=o,f2=F2;;){for(C2=N>>>0>256,t2=C2?256:N,$2=e[U2>>2]|0,ge(f2|0,$2|0,t2|0)|0,I2=$2,i5=0;e2=U2+(i5<<2)|0,O1=i5+1|0,h2=U2+(O1<<2)|0,Z1=e[h2>>2]|0,ge(I2|0,Z1|0,t2|0)|0,A2=I2+t2|0,e[e2>>2]=A2,A5=(O1|0)==(t5|0),!A5;)I2=Z1,i5=O1;if(V1=(N|0)==(t2|0),V1)break e;s2=N-t2|0,s0=e[q1>>2]|0,N=s2,f2=s0}while(!1);e[V2>>2]=b,c2=(L|0)>1;e:do if(c2){for(_=L,H=b,a2=b,j2=1;;){if(r2=H+Y|0,g2=_+-2|0,o2=I+(g2<<2)|0,l2=e[o2>>2]|0,s5=l2+o|0,o0=0-s5|0,i2=H+o0|0,m2=pi[a&15](a2,i2)|0,n2=(m2|0)>-1,n2&&(D2=pi[a&15](a2,r2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(y2=pi[a&15](i2,r2)|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]=r2,E=r2,D=g2),W2=(D|0)>1,!W2){N1=M2;break}j=e[V2>>2]|0,_=D,H=E,a2=j,j2=M2}if(q2=(N1|0)<2,q2)y0=F2;else if(J2=V2+(N1<<2)|0,e[J2>>2]=F2,e0=(o|0)==0,e0)y0=F2;else for(F=o,b0=F2;;){for(p0=F>>>0>256,c0=p0?256:F,C0=e[V2>>2]|0,ge(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,ge(I0|0,g0|0,c0|0)|0,r0=I0+c0|0,e[l0>>2]=r0,Z2=(X|0)==(N1|0),!Z2;)I0=g0,T5=X;if(u0=(F|0)==(c0|0),u0){y0=F2;break e}$0=F-c0|0,n0=e[J2>>2]|0,F=$0,b0=n0}}else y0=F2;while(!1);C=Q2}function K7(t){t=+t;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0;return L=C,l1[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,w=B|k,w?(o=t,+o):(_=($|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,d=t+4503599627370496,p=d+-4503599627370496,x=_?g:p,I=x==0,I?(E=_?-0:0,o=E,+o):(o=x,+o))}function Wy(t){t=+t;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(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,o=b,+o):(o=D,+o))}function CD(t,o){t=+t,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0;return t0=C,d=(o|0)>1023,d?(p=t*898846567431158e293,Q=o+-1023|0,x=(Q|0)>1023,x?(R=p*898846567431158e293,L=o+-2046|0,F=(L|0)>1023,a=F?1023:L,$=a,V=R):($=Q,V=p)):(N=(o|0)<-1022,N?(O=t*22250738585072014e-324,H=o+1022|0,I=(H|0)<-1022,I?(E=O*22250738585072014e-324,y=o+2044|0,B=(y|0)<-1022,g=B?-1022:y,$=g,V=E):($=H,V=O)):($=o,V=t)),b=$+1023|0,D=Xy(b|0,0,52)|0,k=Z6,e[w2>>2]=D,e[w2+4>>2]=k,w=+l1[w2>>3],_=V*w,+_}function BD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,d=g,e[d>>2]=0}function yD(){var t=0,o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,y=t+4|0,B=y,b=e[B>>2]|0,D=kD(E|0,b|0,1284865837,1481765933)|0,k=Z6,w=rs(D|0,k|0,1,0)|0,_=Z6,a=553040,$=a,e[$>>2]=w,g=a+4|0,d=g,e[d>>2]=_,p=os(w|0,_|0,33)|0,I=Z6,p|0}function R9(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=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,Jt=0,n8=0,r8=0,Et=0,J4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,De=0,Qt=0,a8=0,Ze=0,C3=0,Z4=0,wt=0,$4=0,j9=0,l4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,Y8=0,Z8=0,R8=0,u8=0,F8=0,c4=0,z8=0,j8=0,dt=0,Nt=0,T8=0,Xt=0,O4=0,C4=0,Ae=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,Ji=0,Ki=0,Wi=0,gi=0,ki=0,Zi=0,ii=0,ui=0,J8=0,ni=0,d7=0,ji=0,f7=0,Si=0,Xi=0,bi=0,Di=0,e7=0,_i=0,ri=0,xi=0,t7=0,hi=0,K8=0,Li=0,x4=0,Mi=0,G8=0,di=0,$9=0,B8=0,vt=0,y8=0,U8=0,rr=0,kn=0,As=0,zr=0,$s=0,Jr=0,ls=0,cs=0,Kr=0,gs=0,or=0,us=0,hs=0,ds=0,Wr=0,fs=0,Zr=0,jr=0,Is=0,sr=0,Xr=0,ar=0,eo=0,to=0,ms=0,ps=0,Es=0,Ar=0,io=0,Cs=0,Sn=0,$r=0,Bs=0,ys=0,lr=0,I7=0,no=0,Qs=0,ws=0,ro=0,oo=0,so=0,vs=0,m7=0,cr=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gr=0,bn=0,ur=0,Ts=0,an=0,Ns=0,lo=0,hr=0,co=0,dr=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dn=0,Io=0,p7=0,fr=0,_n=0,An=0,xn=0,Z7=0,Ln=0,mo=0,j7=0,D7=0,_7=0,i7=0,x7=0,Mn=0,$n=0,ln=0,Rn=0,E7=0,Os=0,fi=0,cl=0,Ir=0,mr=0,Vu=0,gl=0,qs=0,Yu=0,cA=0,ul=0,zu=0,Ju=0,Ku=0,gA=0,hl=0,dl=0,uA=0,pr=0,fl=0,Wu=0,Hs=0,cn=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,nh=0,rh=0,oh=0,sh=0,Il=0,Fn=0,ah=0,Ah=0,ml=0,$h=0,hA=0,Vs=0,dA=0,lh=0,ch=0,fA=0,pl=0,El=0,Cl=0,IA=0,Bl=0,Ys=0,gh=0,uh=0,yl=0,hh=0,dh=0,Ql=0,fh=0,Ih=0,wl=0,vl=0,kl=0,Sl=0,bl=0,Er=0,mh=0,Dl=0,ph=0,_l=0,xl=0,Eh=0,Ch=0,Bh=0,mA=0,Ll=0,Ml=0,po=0,Rl=0,pA=0,yh=0,Fl=0,Qh=0,Tl=0,wh=0,vh=0,Nl=0,Gl=0,kh=0,zs=0,Sh=0,EA=0,Ul=0,Pl=0,bh=0,Dh=0,_h=0,xh=0,Lh=0,Mh=0,Js=0,Ol=0,ql=0,Hl=0,Ks=0,Rh=0,Vl=0,Fh=0,Yl=0,Th=0,Nh=0,zl=0,CA=0,Gh=0,Uh=0,Ws=0,Ph=0,Zs=0,Oh=0,BA=0,qh=0,Hh=0,Vh=0,Jl=0,Yh=0,zh=0,Jh=0,Kh=0,Kl=0,Wl=0,gn=0,Zl=0,js=0,yA=0,QA=0,Cr=0,jl=0,Br=0,Wh=0,Xl=0,Zh=0,jh=0,Xh=0,ed=0,Xs=0,wA=0,Tn=0,td=0,id=0,ec=0,vA=0,tc=0,ic=0,nd=0,nc=0,rd=0,kA=0,od=0,sd=0,K9=0,ad=0,rc=0,Ad=0,$d=0,SA=0,ld=0,bA=0,oc=0,cd=0,gd=0,sc=0,ac=0,ud=0,DA=0,_A=0,Ac=0,$c=0,hd=0,lc=0,xA=0,dd=0,cc=0,fd=0,Id=0,md=0,pd=0,gc=0,uc=0,LA=0,ea=0,hc=0,Ed=0,dc=0,fc=0,Cd=0,Bd=0,yd=0,Ic=0,Qd=0,wd=0,vd=0,kd=0,Sd=0,bd=0,mc=0,Dd=0,pc=0,_d=0,yr=0,xd=0,Ec=0,Ld=0,Eo=0,Cc=0,MA=0,Md=0,ta=0,RA=0,Rd=0,FA=0,Bc=0,Fd=0,Td=0,Nd=0,Gd=0,Ud=0,yc=0,Pd=0,Od=0,qd=0,ia=0,Co=0,TA=0,Hd=0,NA=0,Vd=0,Yd=0,zd=0,Qc=0,Jd=0,Kd=0,Wd=0,Zd=0,jd=0,na=0,Xd=0,ef=0,wc=0,tf=0,nf=0,rf=0,of=0,C7=0,vc=0,B7=0,kc=0,GA=0,sf=0,n7=0,Bo=0,af=0,Af=0,$f=0,lf=0,cf=0,Sc=0,gf=0,uf=0,bc=0,hf=0,df=0,yo=0,UA=0,ff=0,Dc=0,If=0,mf=0,ra=0,pf=0,Ef=0,_c=0,xc=0,Cf=0,Bf=0,Qr=0,yf=0,Qf=0,wr=0,wf=0,Lc=0,vf=0,kf=0,Qo=0,Mc=0,Sf=0,Rc=0,bf=0,un=0,PA=0,Df=0,Fc=0,Tc=0,_f=0,xf=0,Nc=0,Lf=0,Mf=0,Rf=0,Gc=0,Ff=0,wo=0,Tf=0,vr=0,Nf=0,Gf=0,OA=0,Uf=0,qA=0,HA=0,Pf=0,Uc=0,Pc=0,Of=0,Oc=0,qc=0,Hc=0,qf=0,Vc=0,Yc=0,Hf=0,Vf=0,zc=0,Jc=0,Yf=0,Kc=0,Wc=0,zf=0,Jf=0,Zc=0,VA=0,jc=0,Xc=0,eg=0,tg=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,eI=0,tI=0,iI=0,ig=0,YA=0,nI=0,rI=0,oI=0,ng=0,rg=0,sI=0,og=0,zA=0,oa=0,sg=0,aI=0,AI=0,$I=0,lI=0,ag=0,sa=0,cI=0,gI=0,uI=0,hI=0,dI=0,fI=0,II=0,mI=0,Ag=0,pI=0,EI=0,CI=0,BI=0,aa=0,$g=0,yI=0,QI=0,kr=0,lg=0,cg=0,JA=0,wI=0,gg=0,vI=0,ug=0,hg=0,kI=0,SI=0,bI=0,DI=0,_I=0,Aa=0,KA=0,xI=0,LI=0,MI=0,RI=0,dg=0,FI=0,fg=0,TI=0,NI=0,Ig=0,Nn=0,mg=0,pg=0,GI=0,Eg=0,$a=0,UI=0,PI=0,OI=0,la=0,Cg=0,qI=0,HI=0,Bg=0,VI=0,YI=0,WA=0,ca=0,zI=0,JI=0,KI=0,yg=0,Qg=0,wg=0,WI=0,ZI=0,vo=0,jI=0,vg=0,XI=0,ZA=0,kg=0,em=0,tm=0,im=0,nm=0,Sg=0,rm=0,om=0,bg=0,ga=0,sm=0,am=0,Am=0,ko=0,Dg=0,_g=0,$m=0,xg=0,Lg=0,L7=0,Mg=0,hn=0,lm=0,cm=0,gm=0,um=0,jA=0,ua=0,Rg=0,Fg=0,hm=0,ha=0,So=0,dm=0,da=0,XA=0,fm=0,e$=0,Im=0,mm=0,Tg=0,fa=0,Ng=0,pm=0,Em=0,Cm=0,Bm=0,Gg=0,ym=0,oi=0,_e=0,r7=0,Qm=0,Ug=0,Pg=0,t$=0,wm=0,Gn=0,bo=0,vm=0,km=0,Og=0,i$=0,Sm=0,qg=0,Hg=0,Vg=0,n$=0,r$=0,Yg=0,Do=0,o$=0,zg=0,bm=0,Sr=0,Dm=0,Jg=0,Ia=0,_m=0,Kg=0,M7=0,xm=0,Lm=0,Mm=0,Rm=0,Fm=0,Tm=0,R7=0,Nm=0,Gm=0,Um=0,Wg=0,y7=0,ma=0,s$=0,Zg=0,jg=0,Pm=0,Xg=0,eu=0,Om=0,qm=0,tu=0,iu=0,Hm=0,Vm=0,nu=0,Ym=0,_o=0,pa=0,Ea=0,zm=0,a$=0,Jm=0,Km=0,ru=0,xo=0,Wm=0,Zm=0,A$=0,$$=0,Ca=0,l$=0,c$=0,dn=0,Un=0,Pn=0,g$=0,u$=0,Lo=0,fn=0,br=0,jm=0,In=0,Dr=0,Xm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,ou=0,su=0,Qa=0,h$=0,Ni=0,wa=0,On=0,d$=0,ep=0,f$=0,tp=0,I$=0,au=0,va=0,ip=0,np=0,ka=0,rp=0,Sa=0,_r=0,tt=0,Le=0,Au=0,op=0,m$=0,$u=0,sp=0,ap=0,ba=0,Ap=0,$p=0,lp=0,cp=0,lu=0,gp=0,up=0,hp=0,o7=0,Da=0,xr=0,p$=0,Mo=0,Ro=0,si=0,Fo=0,cu=0,gu=0,_a=0,To=0,No=0,Go=0,dp=0,Uo=0,mn=0,uu=0,qn=0,s7=0,E$=0,C$=0,X7=0,B$=0,y$=0,Q$=0,Hn=0,h6=0,xa=0,Vn=0,hu=0,L4=0,w$=0,kt=0,Po=0,Lr=0,Mr=0,q9=0,Rr=0,Yn=0,Xe=0,v$=0;v$=C,W1=t>>>0<245;do if(W1){if(f2=t>>>0<11,Ee=t+11|0,We=Ee&-8,x4=f2?16:We,qs=x4>>>3,BA=e[138262]|0,ia=BA>>>qs,Xc=ia&3,bg=(Xc|0)==0,!bg){c2=ia&1,f3=c2^1,g3=f3+qs|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,Q9=(h3|0)==(F6|0);do if(Q9)z9=1<>>0>>0,d4&&v2(),be=F6+12|0,b9=e[be>>2]|0,Pt=(b9|0)==(R6|0),Pt){e[be>>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,Ze=e[D4>>2]|0,A8=Ze|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,gr=Ss&16,go=no>>>gr,An=go>>>5,$n=An&8,Yu=$n|gr,fl=go>>>$n,rh=fl>>>2,dA=rh&4,uh=Yu|dA,bl=fl>>>dA,Ll=bl>>>1,Nl=Ll&2,xh=uh|Nl,Yl=bl>>>Nl,qh=Yl>>>1,Zl=qh&1,Xh=xh|Zl,nd=Yl>>>Zl,SA=Xh+nd|0,Ac=SA<<1,gc=553088+(Ac<<2)|0,P1=Ac+2|0,Ic=553088+(P1<<2)|0,yr=e[Ic>>2]|0,FA=yr+8|0,Co=e[FA>>2]|0,Zd=(gc|0)==(Co|0);do if(Zd)vc=1<>>0>>0,un&&v2(),Gc=Co+12|0,Pf=e[Gc>>2]|0,Vf=(Pf|0)==(yr|0),Vf){e[Gc>>2]=gc,e[Ic>>2]=Co,w=e[138264]|0,ca=w;break}else v2();while(!1);return eg=SA<<3,YA=eg-x4|0,aI=x4|3,fI=yr+4|0,e[fI>>2]=aI,QI=yr+x4|0,SI=YA|1,t2=x4|4,FI=yr+t2|0,e[FI>>2]=SI,UI=yr+eg|0,e[UI>>2]=YA,vg=(ca|0)==0,vg||(ga=e[138267]|0,Mg=ca>>>3,ha=Mg<<1,Ng=553088+(ha<<2)|0,Ug=e[138262]|0,qg=1<>2]|0,y2=e[138266]|0,A5=r2>>>0>>0,A5?v2():(V=_o,Ca=r2)),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]=Ng),e[138264]=YA,e[138267]=QI,tt=FA,tt|0}if(c5=e[138263]|0,y3=(c5|0)==0,y3)Le=x4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,e6=w3>>>12,H3=e6&16,X5=w3>>>H3,_3=X5>>>5,t3=_3&8,a6=t3|H3,G3=X5>>>t3,V3=G3>>>2,c3=V3&4,u3=a6|c3,Q3=G3>>>c3,J5=Q3>>>1,H5=J5&2,Y5=u3|H5,b5=Q3>>>H5,Y3=b5>>>1,U5=Y3&1,l6=Y5|U5,r3=b5>>>U5,U3=l6+r3|0,C6=553352+(U3<<2)|0,b3=e[C6>>2]|0,L3=b3+4|0,D3=e[L3>>2]|0,A6=D3&-8,n6=A6-x4|0,Da=n6,C$=b3,w$=b3;;){if(z3=C$+16|0,j5=e[z3>>2]|0,M3=(j5|0)==0,M3)if(J3=C$+20|0,d6=e[J3>>2]|0,m3=(d6|0)==0,m3){xr=Da,kt=w$;break}else L6=d6;else L6=j5;x6=L6+4|0,M6=e[x6>>2]|0,S6=M6&-8,r6=S6-x4|0,f6=r6>>>0>>0,K=f6?r6:Da,$2=f6?L6:w$,Da=K,C$=L6,w$=$2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),v6=kt+x4|0,R3=kt>>>0>>0,R3||v2(),o6=kt+24|0,s6=e[o6>>2]|0,B6=kt+12|0,K3=e[B6>>2]|0,F3=(K3|0)==(kt|0);do if(F3){if(H6=kt+20|0,$6=e[H6>>2]|0,D6=($6|0)==0,D6)if(e9=kt+16|0,Q6=e[e9>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else fn=Q6,Ba=e9;else fn=$6,Ba=H6;for(;;){if(P3=fn+20|0,n9=e[P3>>2]|0,V6=(n9|0)==0,!V6){fn=n9,Ba=P3;continue}if(o9=fn+16|0,g9=e[o9>>2]|0,U6=(g9|0)==0,U6){In=fn,su=Ba;break}else fn=g9,Ba=o9}if(Y6=su>>>0>>0,Y6)v2();else{e[su>>2]=0,Ri=In;break}}else if(W3=kt+8|0,t6=e[W3>>2]|0,c6=t6>>>0>>0,c6&&v2(),o3=t6+12|0,J6=e[o3>>2]|0,A3=(J6|0)==(kt|0),A3||v2(),g6=K3+8|0,y6=e[g6>>2]|0,T3=(y6|0)==(kt|0),T3){e[o3>>2]=K3,e[g6>>2]=t6,Ri=K3;break}else v2();while(!1);t9=(s6|0)==0;do if(!t9){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,s9=(kt|0)==(O6|0),s9){if(e[O3>>2]=Ri,ip=(Ri|0)==0,ip){h9=1<>>0>>0,f9&&v2(),V9=s6+16|0,w6=e[V9>>2]|0,q6=(w6|0)==(kt|0),q6?e[V9>>2]=Ri:(a9=s6+20|0,e[a9>>2]=Ri),Y9=(Ri|0)==0,Y9)break;w9=e[138266]|0,we=Ri>>>0>>0,we&&v2(),ue=Ri+24|0,e[ue>>2]=s6,ne=kt+16|0,F9=e[ne>>2]|0,v9=(F9|0)==0;do if(!v9)if(K6=F9>>>0>>0,K6)v2();else{A9=Ri+16|0,e[A9>>2]=F9,ve=F9+24|0,e[ve>>2]=Ri;break}while(!1);if(Me=kt+20|0,he=e[Me>>2]|0,_9=(he|0)==0,!_9)if(Re=e[138266]|0,Ue=he>>>0>>0,Ue)v2();else{He=Ri+20|0,e[He>>2]=he,r4=he+24|0,e[r4>>2]=Ri;break}}while(!1);return ke=xr>>>0<16,ke?(Ve=xr+x4|0,J9=Ve|3,Ye=kt+4|0,e[Ye>>2]=J9,X1=Ve+4|0,de=kt+X1|0,Pe=e[de>>2]|0,Ce=Pe|1,e[de>>2]=Ce):(Z9=x4|3,k9=kt+4|0,e[k9>>2]=Z9,k4=xr|1,m0=x4|4,V4=kt+m0|0,e[V4>>2]=k4,I0=xr+x4|0,rt=kt+I0|0,e[rt>>2]=xr,ze=e[138264]|0,Y4=(ze|0)==0,Y4||(Je=e[138267]|0,o4=ze>>>3,R4=o4<<1,re=553088+(R4<<2)|0,u4=e[138262]|0,Be=1<>2]|0,h4=e[138266]|0,oe=Te>>>0

>>0,oe?v2():(O=fe,$$=Te)),e[O>>2]=Je,f4=$$+12|0,e[f4>>2]=Je,Se=Je+8|0,e[Se>>2]=$$,s4=Je+12|0,e[s4>>2]=re),e[138264]=xr,e[138267]=v6),Oe=kt+8|0,tt=Oe,tt|0}}else Le=x4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(S9=t+11|0,I6=S9&-8,z4=e[138263]|0,Ie=(z4|0)==0,Ie)Le=I6;else{S4=0-I6|0,me=S9>>>8,z6=(me|0)==0,z6?_r=0:(F4=I6>>>0>16777215,F4?_r=31:(T4=me+1048320|0,st=T4>>>16,pe=st&8,xe=me<>>16,x9=Z3&4,qe=x9|pe,a4=xe<>>16,f8=N4&2,_8=qe|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,_r=x8)),Ht=553352+(_r<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ro=S4,B$=0,Mr=0,Xe=86;else for(_t=(_r|0)==31,xt=_r>>>1,zt=25-xt|0,Jt=_t?0:zt,n8=I6<>2]|0,J4=Et&-8,G4=J4-I6|0,at=G4>>>0>>0,at)if(Lt=(J4|0)==(I6|0),Lt){Fo=G4,Hn=X7,Yn=X7,Xe=90;break e}else Mo=G4,Lr=X7;else Mo=p$,Lr=Po;if(L9=X7+20|0,b4=e[L9>>2]|0,E8=_a>>>31,L8=(X7+16|0)+(E8<<2)|0,o8=e[L8>>2]|0,M8=(b4|0)==0,A4=(b4|0)==(o8|0),Ap=M8|A4,gu=Ap?cu:b4,s8=(o8|0)==0,Kt=_a<<1,s8){Ro=Mo,B$=gu,Mr=Lr,Xe=86;break}else p$=Mo,cu=gu,_a=Kt,X7=o8,Po=Lr}while(!1);if((Xe|0)==86){if(Mt=(B$|0)==0,At=(Mr|0)==0,sp=Mt&At,sp){if($t=2<<_r,Ct=0-$t|0,Rt=$t|Ct,m4=z4&Rt,se=(m4|0)==0,se){Le=I6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,yt=ct>>>12,p4=yt&16,K4=ct>>>p4,W4=K4>>>5,ae=W4&8,P4=ae|p4,E4=K4>>>ae,gt=E4>>>2,_4=gt&4,De=P4|_4,Qt=E4>>>_4,a8=Qt>>>1,C3=a8&2,Z4=De|C3,wt=Qt>>>C3,$4=wt>>>1,j9=$4&1,l4=Z4|j9,T9=wt>>>j9,j4=l4+T9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,y$=C8,Rr=0}else y$=B$,Rr=Mr;$8=(y$|0)==0,$8?(si=Ro,q9=Rr):(Fo=Ro,Hn=y$,Yn=Rr,Xe=90)}if((Xe|0)==90)for(;;){if(Xe=0,Zt=Hn+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,ht=ut>>>0>>0,o0=ht?ut:Fo,Q$=ht?Hn:Yn,Ft=Hn+16|0,je=e[Ft>>2]|0,c8=(je|0)==0,!c8){Fo=o0,Hn=je,Yn=Q$,Xe=90;continue}if(Tt=Hn+20|0,D9=e[Tt>>2]|0,g8=(D9|0)==0,g8){si=o0,q9=Q$;break}else Fo=o0,Hn=D9,Yn=Q$,Xe=90}if(et=(q9|0)==0,et)Le=I6;else if(Y8=e[138264]|0,Z8=Y8-I6|0,R8=si>>>0>>0,R8){u8=e[138266]|0,F8=q9>>>0>>0,F8&&v2(),c4=q9+I6|0,z8=q9>>>0>>0,z8||v2(),dt=q9+24|0,Nt=e[dt>>2]|0,T8=q9+12|0,Xt=e[T8>>2]|0,O4=(Xt|0)==(q9|0);do if(O4){if(ei=q9+20|0,Bi=e[ei>>2]|0,ti=(Bi|0)==0,ti)if(yi=q9+16|0,li=e[yi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else Dr=li,Qa=yi;else Dr=Bi,Qa=ei;for(;;){if(Qi=Dr+20|0,wi=e[Qi>>2]|0,u7=(wi|0)==0,!u7){Dr=wi,Qa=Qi;continue}if(vi=Dr+16|0,ci=e[vi>>2]|0,h7=(ci|0)==0,h7){Xm=Dr,h$=Qa;break}else Dr=ci,Qa=vi}if(zi=h$>>>0>>0,zi)v2();else{e[h$>>2]=0,Ti=Xm;break}}else if(C4=q9+8|0,Ae=e[C4>>2]|0,N8=Ae>>>0>>0,N8&&v2(),$i=Ae+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(q9|0),Vi||v2(),Ei=Xt+8|0,X8=e[Ei>>2]|0,Ci=(X8|0)==(q9|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=Ae,Ti=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(Ki=q9+28|0,Wi=e[Ki>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ii=(q9|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)==(q9|0),Di?e[Si>>2]=Ti:(e7=Nt+20|0,e[e7>>2]=Ti),_i=(Ti|0)==0,_i)break;ri=e[138266]|0,xi=Ti>>>0>>0,xi&&v2(),t7=Ti+24|0,e[t7>>2]=Nt,hi=q9+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,$9=K8+24|0,e[$9>>2]=Ti;break}while(!1);if(B8=q9+20|0,vt=e[B8>>2]|0,y8=(vt|0)==0,!y8)if(U8=e[138266]|0,rr=vt>>>0>>0,rr)v2();else{kn=Ti+20|0,e[kn>>2]=vt,As=vt+24|0,e[As>>2]=Ti;break}}while(!1);$s=si>>>0<16;e:do if($s)Jr=si+I6|0,ls=Jr|3,cs=q9+4|0,e[cs>>2]=ls,d1=Jr+4|0,Kr=q9+d1|0,gs=e[Kr>>2]|0,or=gs|1,e[Kr>>2]=or;else{if(us=I6|3,hs=q9+4|0,e[hs>>2]=us,ds=si|1,l0=I6|4,fs=q9+l0|0,e[fs>>2]=ds,C0=si+I6|0,Zr=q9+C0|0,e[Zr>>2]=si,jr=si>>>3,Is=si>>>0<256,Is){sr=jr<<1,Xr=553088+(sr<<2)|0,ar=e[138262]|0,eo=1<>2]|0,Cs=e[138266]|0,Sn=io>>>0>>0,Sn?v2():(N=Ar,c$=io)),e[N>>2]=c4,$r=c$+12|0,e[$r>>2]=c4,Y0=I6+8|0,Bs=q9+Y0|0,e[Bs>>2]=c$,z0=I6+12|0,ys=q9+z0|0,e[ys>>2]=Xr;break}if(lr=si>>>8,I7=(lr|0)==0,I7?Un=0:(Qs=si>>>0>16777215,Qs?Un=31:(ws=lr+1048320|0,ro=ws>>>16,oo=ro&8,so=lr<>>16,cr=m7&4,ks=cr|oo,ao=so<>>16,Ao=Ds&2,_s=ks|Ao,xs=14-_s|0,Ls=ao<>>15,$o=xs+Ms|0,Rs=$o<<1,Fs=$o+7|0,bn=si>>>Fs,ur=bn&1,Ts=ur|Rs,Un=Ts)),an=553352+(Un<<2)|0,f1=I6+28|0,Ns=q9+f1|0,e[Ns>>2]=Un,M1=I6+16|0,lo=q9+M1|0,x1=I6+20|0,hr=q9+x1|0,e[hr>>2]=0,e[lo>>2]=0,co=e[138263]|0,dr=1<>2]=c4,V1=I6+24|0,ho=q9+V1|0,e[ho>>2]=an,s2=I6+12|0,fo=q9+s2|0,e[fo>>2]=c4,O1=I6+8|0,Ps=q9+O1|0,e[Ps>>2]=c4;break}Dn=e[an>>2]|0,Io=Dn+4|0,p7=e[Io>>2]|0,fr=p7&-8,_n=(fr|0)==(si|0);t:do if(_n)Ni=Dn;else{for(xn=(Un|0)==31,Z7=Un>>>1,Ln=25-Z7|0,mo=xn?0:Ln,j7=si<>>31,E7=(d$+16|0)+(Rn<<2)|0,i7=e[E7>>2]|0,Os=(i7|0)==0,Os){k=E7,ep=d$;break}if(D7=g$<<1,_7=i7+4|0,x7=e[_7>>2]|0,Mn=x7&-8,ln=(Mn|0)==(si|0),ln){Ni=i7;break t}else g$=D7,d$=i7}if(fi=e[138266]|0,cl=k>>>0>>0,cl)v2();else{e[k>>2]=c4,E0=I6+24|0,Ir=q9+E0|0,e[Ir>>2]=ep,H0=I6+12|0,mr=q9+H0|0,e[mr>>2]=c4,V0=I6+8|0,Vu=q9+V0|0,e[Vu>>2]=c4;break e}}while(!1);if(gl=Ni+8|0,cA=e[gl>>2]|0,ul=e[138266]|0,zu=cA>>>0>=ul>>>0,Au=Ni>>>0>=ul>>>0,Ju=zu&Au,Ju){Ku=cA+12|0,e[Ku>>2]=c4,e[gl>>2]=c4,h2=I6+8|0,gA=q9+h2|0,e[gA>>2]=cA,I2=I6+12|0,hl=q9+I2|0,e[hl>>2]=Ni,y0=I6+24|0,dl=q9+y0|0,e[dl>>2]=0;break}else v2()}while(!1);return uA=q9+8|0,tt=uA,tt|0}else Le=I6}while(!1);if(pr=e[138264]|0,Wu=pr>>>0>>0,!Wu)return Hs=pr-Le|0,cn=e[138267]|0,Zu=Hs>>>0>15,Zu?(ju=cn+Le|0,e[138267]=ju,e[138264]=Hs,Xu=Hs|1,p1=Le+4|0,eh=cn+p1|0,e[eh>>2]=Xu,th=cn+pr|0,e[th>>2]=Hs,ih=Le|3,nh=cn+4|0,e[nh>>2]=ih):(e[138264]=0,e[138267]=0,oh=pr|3,sh=cn+4|0,e[sh>>2]=oh,g0=pr+4|0,Il=cn+g0|0,Fn=e[Il>>2]|0,ah=Fn|1,e[Il>>2]=ah),Ah=cn+8|0,tt=Ah,tt|0;if(ml=e[138265]|0,$h=ml>>>0>Le>>>0,$h)return hA=ml-Le|0,e[138265]=hA,Vs=e[138268]|0,lh=Vs+Le|0,e[138268]=lh,ch=hA|1,Y=Le+4|0,fA=Vs+Y|0,e[fA>>2]=ch,pl=Le|3,El=Vs+4|0,e[El>>2]=pl,Cl=Vs+8|0,tt=Cl,tt|0;IA=e[138380]|0,Bl=(IA|0)==0;do if(Bl)if(Ys=FS(30)|0,gh=Ys+-1|0,yl=gh&Ys,hh=(yl|0)==0,hh){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,dh=Cy(0)|0,Ql=dh&-16,fh=Ql^1431655768,e[138380]=fh;break}else v2();while(!1);if(Ih=Le+48|0,wl=e[138382]|0,vl=Le+47|0,kl=wl+vl|0,Sl=0-wl|0,Er=kl&Sl,mh=Er>>>0>Le>>>0,!mh||(Dl=e[138372]|0,ph=(Dl|0)==0,!ph&&(_l=e[138370]|0,xl=_l+Er|0,Eh=xl>>>0<=_l>>>0,Ch=xl>>>0>Dl>>>0,ba=Eh|Ch,ba)))return tt=0,tt|0;Bh=e[138373]|0,mA=Bh&4,Ml=(mA|0)==0;e:do if(Ml){po=e[138268]|0,Rl=(po|0)==0;t:do if(Rl)Xe=174;else{for(To=553496;;){if(pA=e[To>>2]|0,yh=pA>>>0>po>>>0,!yh&&(Fl=To+4|0,Qh=e[Fl>>2]|0,Tl=pA+Qh|0,wh=Tl>>>0>po>>>0,wh)){b=To,D=Fl;break}if(vh=To+8|0,Gl=e[vh>>2]|0,kh=(Gl|0)==0,kh){Xe=174;break t}else To=Gl}if(Gh=e[138265]|0,Uh=kl-Gh|0,Ws=Uh&Sl,Ph=Ws>>>0<2147483647,Ph)if(Zs=Oi(Ws|0)|0,Oh=e[b>>2]|0,Hh=e[D>>2]|0,Vh=Oh+Hh|0,Jl=(Zs|0)==(Vh|0),o=Jl?Ws:0,Jl)if(Yh=(Zs|0)==-1,Yh)Vn=o;else{h6=Zs,L4=o,Xe=194;break e}else va=Zs,s7=Ws,xa=o,Xe=184;else Vn=0}while(!1);do if((Xe|0)==174)if(zs=Oi(0)|0,Sh=(zs|0)==-1,Sh)Vn=0;else if(EA=zs,Ul=e[138381]|0,Pl=Ul+-1|0,bh=Pl&EA,Dh=(bh|0)==0,Dh?qn=Er:(_h=Pl+EA|0,Lh=0-Ul|0,Mh=_h&Lh,Js=Er-EA|0,Ol=Js+Mh|0,qn=Ol),ql=e[138370]|0,Hl=ql+qn|0,Ks=qn>>>0>Le>>>0,Rh=qn>>>0<2147483647,ap=Ks&Rh,ap){if(Vl=e[138372]|0,Fh=(Vl|0)==0,!Fh&&(Th=Hl>>>0<=ql>>>0,Nh=Hl>>>0>Vl>>>0,$p=Th|Nh,$p)){Vn=0;break}if(zl=Oi(qn|0)|0,CA=(zl|0)==(zs|0),uu=CA?qn:0,CA){h6=zs,L4=uu,Xe=194;break e}else va=zl,s7=qn,xa=uu,Xe=184}else Vn=0;while(!1);t:do if((Xe|0)==184){zh=0-s7|0,Jh=(va|0)!=-1,Kh=s7>>>0<2147483647,cp=Kh&Jh,Kl=Ih>>>0>s7>>>0,gp=Kl&cp;do if(gp)if(Wl=e[138382]|0,gn=vl-s7|0,js=gn+Wl|0,yA=0-Wl|0,QA=js&yA,Cr=QA>>>0<2147483647,Cr)if(jl=Oi(QA|0)|0,Br=(jl|0)==-1,Br){Oi(zh|0)|0,Vn=xa;break t}else{Wh=QA+s7|0,E$=Wh;break}else E$=s7;else E$=s7;while(!1);if(Xl=(va|0)==-1,Xl)Vn=xa;else{h6=va,L4=E$,Xe=194;break e}}while(!1);Zh=e[138373]|0,jh=Zh|4,e[138373]=jh,hu=Vn,Xe=191}else hu=0,Xe=191;while(!1);if((Xe|0)==191&&(ed=Er>>>0<2147483647,ed&&(Xs=Oi(Er|0)|0,wA=Oi(0)|0,Tn=(Xs|0)!=-1,td=(wA|0)!=-1,lp=Tn&td,id=Xs>>>0>>0,up=id&lp,up&&(ec=wA,vA=Xs,tc=ec-vA|0,ic=Le+40|0,nc=tc>>>0>ic>>>0,C2=nc?tc:hu,nc&&(h6=Xs,L4=C2,Xe=194)))),(Xe|0)==194){rd=e[138370]|0,kA=rd+L4|0,e[138370]=kA,od=e[138371]|0,sd=kA>>>0>od>>>0,sd&&(e[138371]=kA),K9=e[138268]|0,ad=(K9|0)==0;e:do if(ad){for(rc=e[138266]|0,Ad=(rc|0)==0,$d=h6>>>0>>0,hp=Ad|$d,hp&&(e[138266]=h6),e[138374]=h6,e[138375]=L4,e[138377]=0,ld=e[138380]|0,e[138271]=ld,e[138270]=-1,Sa=0;bA=Sa<<1,oc=553088+(bA<<2)|0,h0=bA+3|0,cd=553088+(h0<<2)|0,e[cd>>2]=oc,r0=bA+2|0,gd=553088+(r0<<2)|0,e[gd>>2]=oc,sc=Sa+1|0,rp=(sc|0)==32,!rp;)Sa=sc;ac=L4+-40|0,ud=h6+8|0,DA=ud,_A=DA&7,$c=(_A|0)==0,hd=0-DA|0,lc=hd&7,xA=$c?0:lc,dd=h6+xA|0,cc=ac-xA|0,e[138268]=dd,e[138265]=cc,fd=cc|1,e0=xA+4|0,Id=h6+e0|0,e[Id>>2]=fd,h1=L4+-36|0,md=h6+h1|0,e[md>>2]=40,pd=e[138384]|0,e[138269]=pd}else{for(Go=553496;;){if(uc=e[Go>>2]|0,LA=Go+4|0,ea=e[LA>>2]|0,hc=uc+ea|0,Ed=(h6|0)==(hc|0),Ed){E=uc,y=LA,B=ea,dp=Go,Xe=204;break}if(dc=Go+8|0,fc=e[dc>>2]|0,Cd=(fc|0)==0,Cd)break;Go=fc}if((Xe|0)==204&&(Bd=dp+12|0,yd=e[Bd>>2]|0,Qd=yd&8,wd=(Qd|0)==0,wd&&(vd=K9>>>0>=E>>>0,kd=K9>>>0
>>0,lu=kd&vd,lu))){Sd=B+L4|0,e[y>>2]=Sd,bd=e[138265]|0,mc=bd+L4|0,Dd=K9+8|0,pc=Dd,_d=pc&7,xd=(_d|0)==0,Ec=0-pc|0,Ld=Ec&7,Eo=xd?0:Ld,Cc=K9+Eo|0,MA=mc-Eo|0,e[138268]=Cc,e[138265]=MA,Md=MA|1,c0=Eo+4|0,ta=K9+c0|0,e[ta>>2]=Md,a1=mc+4|0,RA=K9+a1|0,e[RA>>2]=40,Rd=e[138384]|0,e[138269]=Rd;break}for(Bc=e[138266]|0,Fd=h6>>>0>>0,Fd?(e[138266]=h6,Qo=h6):Qo=Bc,Td=h6+L4|0,Uo=553496;;){if(Nd=e[Uo>>2]|0,Gd=(Nd|0)==(Td|0),Gd){I=Uo,mn=Uo,Xe=212;break}if(Ud=Uo+8|0,yc=e[Ud>>2]|0,Pd=(yc|0)==0,Pd){No=553496;break}else Uo=yc}if((Xe|0)==212)if(Od=mn+12|0,qd=e[Od>>2]|0,TA=qd&8,Hd=(TA|0)==0,Hd){e[I>>2]=h6,NA=mn+4|0,Vd=e[NA>>2]|0,Yd=Vd+L4|0,e[NA>>2]=Yd,zd=h6+8|0,Qc=zd,Jd=Qc&7,Kd=(Jd|0)==0,Wd=0-Qc|0,jd=Wd&7,na=Kd?0:jd,Xd=h6+na|0,B0=L4+8|0,ef=h6+B0|0,wc=ef,tf=wc&7,nf=(tf|0)==0,rf=0-wc|0,of=rf&7,C7=nf?0:of,x0=C7+L4|0,B7=h6+x0|0,kc=B7,GA=Xd,sf=kc-GA|0,$0=na+Le|0,n7=h6+$0|0,Bo=sf-Le|0,af=Le|3,p0=na+4|0,Af=h6+p0|0,e[Af>>2]=af,$f=(B7|0)==(K9|0);t:do if($f)lf=e[138265]|0,Sc=lf+Bo|0,e[138265]=Sc,e[138268]=n7,gf=Sc|1,H1=$0+4|0,uf=h6+H1|0,e[uf>>2]=gf;else{if(bc=e[138267]|0,hf=(B7|0)==(bc|0),hf){df=e[138264]|0,yo=df+Bo|0,e[138264]=yo,e[138267]=n7,UA=yo|1,K1=$0+4|0,ff=h6+K1|0,e[ff>>2]=UA,q1=yo+$0|0,Dc=h6+q1|0,e[Dc>>2]=yo;break}if($1=L4+4|0,Z0=$1+C7|0,mf=h6+Z0|0,ra=e[mf>>2]|0,pf=ra&3,Ef=(pf|0)==1,Ef){_c=ra&-8,xc=ra>>>3,Cf=ra>>>0<256;i:do if(Cf){U1=C7|8,W0=U1+L4|0,Bf=h6+W0|0,Qr=e[Bf>>2]|0,D1=L4+12|0,K0=D1+C7|0,yf=h6+K0|0,wr=e[yf>>2]|0,wf=xc<<1,Lc=553088+(wf<<2)|0,vf=(Qr|0)==(Lc|0);do if(!vf){if(kf=Qr>>>0>>0,kf&&v2(),Mc=Qr+12|0,Sf=e[Mc>>2]|0,Rc=(Sf|0)==(B7|0),Rc)break;v2()}while(!1);if(bf=(wr|0)==(Qr|0),bf){PA=1<>>0>>0,xf&&v2(),Nc=wr+8|0,Lf=e[Nc>>2]|0,Mf=(Lf|0)==(B7|0),Mf){H=Nc;break}v2()}while(!1);Rf=Qr+12|0,e[Rf>>2]=wr,e[H>>2]=Qr}else{R1=C7|24,R0=R1+L4|0,Ff=h6+R0|0,wo=e[Ff>>2]|0,Y1=L4+12|0,v0=Y1+C7|0,Tf=h6+v0|0,vr=e[Tf>>2]|0,Nf=(vr|0)==(B7|0);do if(Nf){if(e2=C7|16,M0=$1+e2|0,qc=h6+M0|0,Hc=e[qc>>2]|0,qf=(Hc|0)==0,qf)if(P0=e2+L4|0,Vc=h6+P0|0,Yc=e[Vc>>2]|0,Hf=(Yc|0)==0,Hf){Fi=0;break}else br=Yc,ya=Vc;else br=Hc,ya=qc;for(;;){if(zc=br+20|0,Jc=e[zc>>2]|0,Yf=(Jc|0)==0,!Yf){br=Jc,ya=zc;continue}if(Kc=br+16|0,Wc=e[Kc>>2]|0,zf=(Wc|0)==0,zf){jm=br,ou=ya;break}else br=Wc,ya=Kc}if(Jf=ou>>>0>>0,Jf)v2();else{e[ou>>2]=0,Fi=jm;break}}else if(F1=C7|8,N0=F1+L4|0,Gf=h6+N0|0,OA=e[Gf>>2]|0,Uf=OA>>>0>>0,Uf&&v2(),qA=OA+12|0,HA=e[qA>>2]|0,Uc=(HA|0)==(B7|0),Uc||v2(),Pc=vr+8|0,Of=e[Pc>>2]|0,Oc=(Of|0)==(B7|0),Oc){e[qA>>2]=vr,e[Pc>>2]=OA,Fi=vr;break}else v2();while(!1);if(Zc=(wo|0)==0,Zc)break;b1=L4+28|0,U0=b1+C7|0,VA=h6+U0|0,jc=e[VA>>2]|0,tg=553352+(jc<<2)|0,Kf=e[tg>>2]|0,Wf=(B7|0)==(Kf|0);do if(Wf){if(e[tg>>2]=Fi,np=(Fi|0)==0,!np)break;Zf=1<>>0>>0,iI&&v2(),ig=wo+16|0,nI=e[ig>>2]|0,rI=(nI|0)==(B7|0),rI?e[ig>>2]=Fi:(oI=wo+20|0,e[oI>>2]=Fi),ng=(Fi|0)==0,ng)break i;while(!1);rg=e[138266]|0,sI=Fi>>>0>>0,sI&&v2(),og=Fi+24|0,e[og>>2]=wo,_1=C7|16,O0=_1+L4|0,zA=h6+O0|0,oa=e[zA>>2]|0,sg=(oa|0)==0;do if(!sg)if(AI=oa>>>0>>0,AI)v2();else{$I=Fi+16|0,e[$I>>2]=oa,lI=oa+24|0,e[lI>>2]=Fi;break}while(!1);if(J0=$1+_1|0,ag=h6+J0|0,sa=e[ag>>2]|0,cI=(sa|0)==0,cI)break;if(gI=e[138266]|0,uI=sa>>>0>>0,uI)v2();else{hI=Fi+20|0,e[hI>>2]=sa,dI=sa+24|0,e[dI>>2]=Fi;break}}while(!1);A2=_c|C7,T0=A2+L4|0,II=h6+T0|0,mI=_c+Bo|0,$u=II,o7=mI}else $u=B7,o7=Bo;if(Ag=$u+4|0,pI=e[Ag>>2]|0,EI=pI&-2,e[Ag>>2]=EI,CI=o7|1,D0=$0+4|0,BI=h6+D0|0,e[BI>>2]=CI,Q0=o7+$0|0,aa=h6+Q0|0,e[aa>>2]=o7,$g=o7>>>3,yI=o7>>>0<256,yI){kr=$g<<1,lg=553088+(kr<<2)|0,cg=e[138262]|0,JA=1<<$g,wI=cg&JA,gg=(wI|0)==0;do if(gg)vI=cg|JA,e[138262]=vI,x=kr+2|0,j=553088+(x<<2)|0,F=j,l$=lg;else{if(S1=kr+2|0,ug=553088+(S1<<2)|0,hg=e[ug>>2]|0,kI=e[138266]|0,bI=hg>>>0>>0,!bI){F=ug,l$=hg;break}v2()}while(!1);e[F>>2]=n7,DI=l$+12|0,e[DI>>2]=n7,v1=$0+8|0,_I=h6+v1|0,e[_I>>2]=l$,k1=$0+12|0,Aa=h6+k1|0,e[Aa>>2]=lg;break}KA=o7>>>8,xI=(KA|0)==0;do if(xI)Pn=0;else{if(LI=o7>>>0>16777215,LI){Pn=31;break}MI=KA+1048320|0,RI=MI>>>16,dg=RI&8,fg=KA<>>16,Ig=NI&4,Nn=Ig|dg,mg=fg<>>16,Eg=GI&2,$a=Nn|Eg,PI=14-$a|0,OI=mg<>>15,Cg=PI+la|0,qI=Cg<<1,HI=Cg+7|0,Bg=o7>>>HI,VI=Bg&1,YI=VI|qI,Pn=YI}while(!1);if(WA=553352+(Pn<<2)|0,S0=$0+28|0,zI=h6+S0|0,e[zI>>2]=Pn,j0=$0+16|0,JI=h6+j0|0,q0=$0+20|0,KI=h6+q0|0,e[KI>>2]=0,e[JI>>2]=0,yg=e[138263]|0,Qg=1<>2]=n7,s1=$0+24|0,vo=h6+s1|0,e[vo>>2]=WA,n1=$0+12|0,jI=h6+n1|0,e[jI>>2]=n7,o1=$0+8|0,XI=h6+o1|0,e[XI>>2]=n7;break}ZA=e[WA>>2]|0,kg=ZA+4|0,em=e[kg>>2]|0,tm=em&-8,im=(tm|0)==(o7|0);i:do if(im)On=ZA;else{for(nm=(Pn|0)==31,Sg=Pn>>>1,rm=25-Sg|0,om=nm?0:rm,sm=o7<>>31,Lg=(f$+16|0)+(xg<<2)|0,ko=e[Lg>>2]|0,L7=(ko|0)==0,L7){a=Lg,tp=f$;break}if(am=Lo<<1,Am=ko+4|0,Dg=e[Am>>2]|0,_g=Dg&-8,$m=(_g|0)==(o7|0),$m){On=ko;break i}else Lo=am,f$=ko}if(hn=e[138266]|0,lm=a>>>0>>0,lm)v2();else{e[a>>2]=n7,Q1=$0+24|0,cm=h6+Q1|0,e[cm>>2]=tp,C1=$0+12|0,gm=h6+C1|0,e[gm>>2]=n7,y1=$0+8|0,um=h6+y1|0,e[um>>2]=n7;break t}}while(!1);if(jA=On+8|0,ua=e[jA>>2]|0,Rg=e[138266]|0,Fg=ua>>>0>=Rg>>>0,m$=On>>>0>=Rg>>>0,hm=Fg&m$,hm){So=ua+12|0,e[So>>2]=n7,e[jA>>2]=n7,X0=$0+8|0,dm=h6+X0|0,e[dm>>2]=ua,B1=$0+12|0,da=h6+B1|0,e[da>>2]=On,m1=$0+24|0,XA=h6+m1|0,e[XA>>2]=0;break}else v2()}while(!1);return u1=na|8,fm=h6+u1|0,tt=fm,tt|0}else No=553496;for(;;){if(e$=e[No>>2]|0,Im=e$>>>0>K9>>>0,!Im&&(mm=No+4|0,Tg=e[mm>>2]|0,fa=e$+Tg|0,pm=fa>>>0>K9>>>0,pm)){g=e$,d=Tg,p=fa;break}Em=No+8|0,Cm=e[Em>>2]|0,No=Cm}if(u0=d+-47|0,d0=d+-39|0,Bm=g+d0|0,Gg=Bm,ym=Gg&7,oi=(ym|0)==0,_e=0-Gg|0,r7=_e&7,Qm=oi?0:r7,c1=u0+Qm|0,Pg=g+c1|0,t$=K9+16|0,wm=Pg>>>0>>0,Gn=wm?K9:Pg,bo=Gn+8|0,vm=L4+-40|0,km=h6+8|0,Og=km,i$=Og&7,Sm=(i$|0)==0,Hg=0-Og|0,Vg=Hg&7,n$=Sm?0:Vg,r$=h6+n$|0,Yg=vm-n$|0,e[138268]=r$,e[138265]=Yg,Do=Yg|1,i0=n$+4|0,o$=h6+i0|0,e[o$>>2]=Do,A1=L4+-36|0,zg=h6+A1|0,e[zg>>2]=40,bm=e[138384]|0,e[138269]=bm,Sr=Gn+4|0,e[Sr>>2]=27,e[bo>>2]=e[138374]|0,e[bo+4>>2]=e[138375]|0,e[bo+8>>2]=e[138376]|0,e[bo+12>>2]=e[138377]|0,e[138374]=h6,e[138375]=L4,e[138377]=0,e[138376]=bo,Jg=Gn+28|0,e[Jg>>2]=7,Ia=Gn+32|0,_m=Ia>>>0

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

>>0,Lm;)M7=Kg;if(Mm=(Gn|0)==(K9|0),!Mm){if(Rm=Gn,Fm=K9,R7=Rm-Fm|0,Nm=e[Sr>>2]|0,Gm=Nm&-2,e[Sr>>2]=Gm,Um=R7|1,Wg=K9+4|0,e[Wg>>2]=Um,e[Gn>>2]=R7,y7=R7>>>3,ma=R7>>>0<256,ma){s$=y7<<1,Zg=553088+(s$<<2)|0,jg=e[138262]|0,Xg=1<>2]|0,Hm=e[138266]|0,Vm=iu>>>0>>0,Vm?v2():(L=tu,A$=iu)),e[L>>2]=K9,nu=A$+12|0,e[nu>>2]=K9,Ym=K9+8|0,e[Ym>>2]=A$,pa=K9+12|0,e[pa>>2]=Zg;break}if(Ea=R7>>>8,zm=(Ea|0)==0,zm?dn=0:(a$=R7>>>0>16777215,a$?dn=31:(Jm=Ea+1048320|0,Km=Jm>>>16,ru=Km&8,xo=Ea<>>16,g2=Zm&4,o2=g2|ru,l2=xo<>>16,m2=a2&2,n2=o2|m2,k2=14-n2|0,D2=l2<>>15,G2=k2+S2|0,M2=G2<<1,O2=G2+7|0,p2=R7>>>O2,W2=p2&1,q2=W2|M2,dn=q2)),J2=553352+(dn<<2)|0,U2=K9+28|0,e[U2>>2]=dn,V2=K9+20|0,e[V2>>2]=0,e[t$>>2]=0,Z2=e[138263]|0,Y2=1<>2]=K9,i5=K9+24|0,e[i5>>2]=J2,x5=K9+12|0,e[x5>>2]=K9,j2=K9+8|0,e[j2>>2]=K9;break}p5=e[J2>>2]|0,D5=p5+4|0,V5=e[D5>>2]|0,b2=V5&-8,y5=(b2|0)==(R7|0);t:do if(y5)wa=p5;else{for(s5=(dn|0)==31,F2=dn>>>1,R2=25-F2|0,Q2=s5?0:R2,Q5=R7<>>31,h5=(I$+16|0)+($5<<2)|0,L5=e[h5>>2]|0,w5=(L5|0)==0,w5){$=h5,au=I$;break}if(N5=u$<<1,E5=L5+4|0,M5=e[E5>>2]|0,z2=M5&-8,C5=(z2|0)==(R7|0),C5){wa=L5;break t}else u$=N5,I$=L5}if(T1=e[138266]|0,_5=$>>>0>>0,_5)v2();else{e[$>>2]=K9,d5=K9+24|0,e[d5>>2]=au,l5=K9+12|0,e[l5>>2]=K9,d2=K9+8|0,e[d2>>2]=K9;break e}}while(!1);if(v5=wa+8|0,n5=e[v5>>2]|0,a5=e[138266]|0,f5=n5>>>0>=a5>>>0,op=wa>>>0>=a5>>>0,K2=f5&op,K2){I5=n5+12|0,e[I5>>2]=K9,e[v5>>2]=K9,r5=K9+8|0,e[r5>>2]=n5,R5=K9+12|0,e[R5>>2]=wa,e5=K9+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(T2=e[138265]|0,k5=T2>>>0>Le>>>0,k5)return z5=T2-Le|0,e[138265]=z5,i3=e[138268]|0,B5=i3+Le|0,e[138268]=B5,I3=z5|1,X=Le+4|0,d3=i3+X|0,e[d3>>2]=I3,W5=Le|3,n3=i3+4|0,e[n3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=Ey()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,p=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,Z3=0,x9=0,b9=0,qe=0,a4=0,d8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){Y=t+-8|0,W2=e[138266]|0,v6=Y>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,ne=f9&3,Ue=(ne|0)==1,Ue&&v2(),Z9=f9&-8,y=Z9+-8|0,re=t+y|0,h0=f9&1,r0=(h0|0)==0;do if(r0){if(x0=e[Y>>2]|0,M0=(ne|0)==0,M0)return;if(Q=-8-x0|0,L0=t+Q|0,X0=x0+Z9|0,b1=L0>>>0>>0,b1&&v2(),q1=e[138267]|0,A2=(L0|0)==(q1|0),A2){if(t0=Z9+-4|0,c0=t+t0|0,$0=e[c0>>2]|0,l0=$0&3,X=(l0|0)==3,!X){Z3=L0,x9=X0;break}e[138264]=X0,m0=$0&-2,e[c0>>2]=m0,g0=X0|1,x=Q+4|0,I0=t+x|0,e[I0>>2]=g0,e[re>>2]=X0;return}if(a2=x0>>>3,q2=x0>>>0<256,q2){if(Z=Q+8|0,x5=t+Z|0,Q2=e[x5>>2]|0,A0=Q+12|0,w5=t+A0|0,K2=e[w5>>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,J6=(R3|0)==(L0|0),J6||v2()),X6=(K2|0)==(Q2|0),X6){V6=1<>>0>>0,F6&&v2(),t9=K2+8|0,P6=e[t9>>2]|0,O3=(P6|0)==(L0|0),O3?g=t9:v2()),O6=Q2+12|0,e[O6>>2]=K2,e[g>>2]=Q2,Z3=L0,x9=X0;break}R=Q+24|0,s9=t+R|0,h9=e[s9>>2]|0,L=Q+12|0,r9=t+L|0,B9=e[r9>>2]|0,y9=(B9|0)==(L0|0);do if(y9){if(N=Q+20|0,ue=t+N|0,Ee=e[ue>>2]|0,z9=(Ee|0)==0,z9)if(F=Q+16|0,F9=t+F|0,v9=e[F9>>2]|0,K6=(v9|0)==0,K6){S9=0;break}else Oe=v9,S4=F9;else Oe=Ee,S4=ue;for(;;){if(A9=Oe+20|0,ve=e[A9>>2]|0,Me=(ve|0)==0,!Me){Oe=ve,S4=A9;continue}if(he=Oe+16|0,_9=e[he>>2]|0,Re=(_9|0)==0,Re){I4=Oe,be=S4;break}else Oe=_9,S4=he}if(Fe=be>>>0>>0,Fe)v2();else{e[be>>2]=0,S9=I4;break}}else if(J=Q+8|0,Q9=t+J|0,d9=e[Q9>>2]|0,V9=d9>>>0>>0,V9&&v2(),w6=d9+12|0,q6=e[w6>>2]|0,a9=(q6|0)==(L0|0),a9||v2(),Y9=B9+8|0,w9=e[Y9>>2]|0,we=(w9|0)==(L0|0),we){e[w6>>2]=B9,e[Y9>>2]=d9,S9=B9;break}else v2();while(!1);if(He=(h9|0)==0,He)Z3=L0,x9=X0;else{if(O=Q+28|0,r4=t+O|0,ke=e[r4>>2]|0,Ve=553352+(ke<<2)|0,J9=e[Ve>>2]|0,Ye=(L0|0)==(J9|0),Ye){if(e[Ve>>2]=S9,pe=(S9|0)==0,pe){de=1<>>0>>0,k4&&v2(),V4=h9+16|0,rt=e[V4>>2]|0,ze=(rt|0)==(L0|0),ze?e[V4>>2]=S9:(Y4=h9+20|0,e[Y4>>2]=S9),Je=(S9|0)==0,Je){Z3=L0,x9=X0;break}o4=e[138266]|0,R4=S9>>>0>>0,R4&&v2(),ot=S9+24|0,e[ot>>2]=h9,H=Q+16|0,u4=t+H|0,Be=e[u4>>2]|0,T6=(Be|0)==0;do if(!T6)if(Ke=Be>>>0>>0,Ke)v2();else{O9=S9+16|0,e[O9>>2]=Be,fe=Be+24|0,e[fe>>2]=S9;break}while(!1);if(V=Q+20|0,Te=t+V|0,h4=e[Te>>2]|0,oe=(h4|0)==0,oe)Z3=L0,x9=X0;else if(d4=e[138266]|0,i0=h4>>>0>>0,i0)v2();else{e0=S9+20|0,e[e0>>2]=h4,u0=h4+24|0,e[u0>>2]=S9,Z3=L0,x9=X0;break}}}else Z3=Y,x9=Z9;while(!1);if(d0=Z3>>>0>>0,d0||v2(),_=Z9+-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=(re|0)==(Q0|0),w0){if(B0=e[138265]|0,Z0=B0+x9|0,e[138265]=Z0,e[138268]=Z3,R0=Z0|1,v0=Z3+4|0,e[v0>>2]=R0,N0=e[138267]|0,U0=(Z3|0)==(N0|0),!U0)return;e[138267]=0,e[138264]=0;return}if(O0=e[138267]|0,H0=(re|0)==(O0|0),H0){S0=e[138264]|0,J0=S0+x9|0,e[138264]=J0,e[138267]=Z3,T0=J0|1,P0=Z3+4|0,e[P0>>2]=T0,W0=Z3+J0|0,e[W0>>2]=J0;return}K0=C0&-8,V0=K0+x9|0,j0=C0>>>3,q0=C0>>>0<256;do if(q0){if(Y0=t+Z9|0,s1=e[Y0>>2]|0,w=Z9|4,z0=t+w|0,n1=e[z0>>2]|0,o1=j0<<1,d1=553088+(o1<<2)|0,u1=(s1|0)==(d1|0),u1||(p1=e[138266]|0,f1=s1>>>0>>0,f1&&v2(),h1=s1+12|0,A1=e[h1>>2]|0,c1=(A1|0)==(re|0),c1||v2()),a1=(n1|0)==(s1|0),a1){$1=1<>>0>>0,v1&&v2(),k1=n1+8|0,S1=e[k1>>2]|0,L1=(S1|0)==(re|0),L1?$=k1:v2()),M1=s1+12|0,e[M1>>2]=n1,e[$>>2]=s1}else{j=Z9+16|0,_1=t+j|0,R1=e[_1>>2]|0,n0=Z9|4,F1=t+n0|0,U1=e[F1>>2]|0,D1=(U1|0)==(re|0);do if(D1){if(K=Z9+12|0,e2=t+K|0,O1=e[e2>>2]|0,h2=(O1|0)==0,h2)if(s0=Z9+8|0,Z1=t+s0|0,I2=e[Z1>>2]|0,C2=(I2|0)==0,C2){Ie=0;break}else I6=I2,me=Z1;else I6=O1,me=e2;for(;;){if($2=I6+20|0,W1=e[$2>>2]|0,f2=(W1|0)==0,!f2){I6=W1,me=$2;continue}if(c2=I6+16|0,r2=e[c2>>2]|0,g2=(r2|0)==0,g2){z4=I6,z6=me;break}else I6=r2,me=c2}if(o2=e[138266]|0,l2=z6>>>0>>0,l2)v2();else{e[z6>>2]=0,Ie=z4;break}}else if(P1=t+Z9|0,X1=e[P1>>2]|0,G1=e[138266]|0,x1=X1>>>0>>0,x1&&v2(),K1=X1+12|0,H1=e[K1>>2]|0,V1=(H1|0)==(re|0),V1||v2(),Y1=U1+8|0,t2=e[Y1>>2]|0,s2=(t2|0)==(re|0),s2){e[K1>>2]=U1,e[Y1>>2]=X1,Ie=U1;break}else v2();while(!1);if(i2=(R1|0)==0,!i2){if(b=Z9+20|0,m2=t+b|0,n2=e[m2>>2]|0,k2=553352+(n2<<2)|0,D2=e[k2>>2]|0,S2=(re|0)==(D2|0),S2){if(e[k2>>2]=Ie,xe=(Ie|0)==0,xe){y2=1<>>0>>0,J2&&v2(),U2=R1+16|0,V2=e[U2>>2]|0,Z2=(V2|0)==(re|0),Z2?e[U2>>2]=Ie:(A5=R1+20|0,e[A5>>2]=Ie),Y2=(Ie|0)==0,Y2)break;N1=e[138266]|0,t5=Ie>>>0>>0,t5&&v2(),T5=Ie+24|0,e[T5>>2]=R1,D=Z9+8|0,i5=t+D|0,j2=e[i5>>2]|0,p5=(j2|0)==0;do if(!p5)if(D5=j2>>>0>>0,D5)v2();else{V5=Ie+16|0,e[V5>>2]=j2,u5=j2+24|0,e[u5>>2]=Ie;break}while(!1);if(k=Z9+12|0,b2=t+k|0,y5=e[b2>>2]|0,s5=(y5|0)==0,!s5)if(F2=e[138266]|0,R2=y5>>>0>>0,R2)v2();else{Q5=Ie+20|0,e[Q5>>2]=y5,N5=y5+24|0,e[N5>>2]=Ie;break}}}while(!1);if(E5=V0|1,L5=Z3+4|0,e[L5>>2]=E5,q5=Z3+V0|0,e[q5>>2]=V0,M5=e[138267]|0,z2=(Z3|0)==(M5|0),z2){e[138264]=V0;return}else b9=V0}else C5=C0&-2,e[p0>>2]=C5,$5=x9|1,h5=Z3+4|0,e[h5>>2]=$5,T1=Z3+x9|0,e[T1>>2]=x9,b9=x9;if(_5=b9>>>3,d5=b9>>>0<256,d5){l5=_5<<1,X2=553088+(l5<<2)|0,d2=e[138262]|0,v5=1<<_5,n5=d2&v5,a5=(n5|0)==0,a5?(f5=d2|v5,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,r5=e[I5>>2]|0,R5=e[138266]|0,e5=r5>>>0>>0,e5?v2():(d=I5,f4=r5)),e[d>>2]=Z3,c5=f4+12|0,e[c5>>2]=Z3,T2=Z3+8|0,e[T2>>2]=f4,k5=Z3+12|0,e[k5>>2]=X2;return}z5=b9>>>8,i3=(z5|0)==0,i3?Se=0:(B5=b9>>>0>16777215,B5?Se=31:(d3=z5+1048320|0,W5=d3>>>16,n3=W5&8,a3=z5<>>16,Z5=G5&4,x3=Z5|n3,f3=a3<>>16,X5=H3&2,_3=x3|X5,t3=14-_3|0,a6=f3<>>15,V3=t3+G3|0,c3=V3<<1,g3=V3+7|0,u3=b9>>>g3,J5=u3&1,H5=J5|c3,Se=H5)),Y5=553352+(Se<<2)|0,b5=Z3+28|0,e[b5>>2]=Se,Y3=Z3+16|0,U5=Z3+20|0,e[U5>>2]=0,e[Y3>>2]=0,l6=e[138263]|0,r3=1<>2]=Z3,L3=Z3+24|0,e[L3>>2]=Y5,D3=Z3+12|0,e[D3>>2]=Z3,A6=Z3+8|0,e[A6>>2]=Z3;else{n6=e[Y5>>2]|0,z3=n6+4|0,j5=e[z3>>2]|0,M3=j5&-8,h3=(M3|0)==(b9|0);t:do if(h3)F4=n6;else{for(J3=(Se|0)==31,m3=Se>>>1,x6=25-m3|0,L6=J3?0:x6,M6=b9<>>31,s6=(T4+16|0)+(o6<<2)|0,f6=e[s6>>2]|0,B6=(f6|0)==0,B6){o=s6,st=T4;break}if(S6=s4<<1,r6=f6+4|0,b6=e[r6>>2]|0,N6=b6&-8,j6=(N6|0)==(b9|0),j6){F4=f6;break t}else s4=S6,T4=f6}if(K3=e[138266]|0,F3=o>>>0>>0,F3)v2();else{e[o>>2]=Z3,W3=Z3+24|0,e[W3>>2]=st,t6=Z3+12|0,e[t6>>2]=Z3,R6=Z3+8|0,e[R6>>2]=Z3;break e}}while(!1);if(c6=F4+8|0,o3=e[c6>>2]|0,A3=e[138266]|0,g6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,y6=g6&mt,y6){T3=o3+12|0,e[T3>>2]=Z3,e[c6>>2]=Z3,H6=Z3+8|0,e[H6>>2]=o3,$6=Z3+12|0,e[$6>>2]=F4,D6=Z3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,e9=G6+-1|0,e[138270]=e9,Q6=(e9|0)==0,Q6)a4=553504;else return;for(;qe=e[a4>>2]|0,P3=(qe|0)==0,n9=qe+8|0,!P3;)a4=n9;e[138270]=-1}}function ce(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0;return x=C,$=(t|0)==0,$?_=0:(g=o5(o,t)|0,I=o|t,E=I>>>0>65535,E?(y=(g>>>0)/(t>>>0)&-1,B=(y|0)==(o|0),a=B?g:-1,_=a):_=g),b=R9(_)|0,D=(b|0)==0,D||(k=b+-4|0,w=e[k>>2]|0,d=w&3,p=(d|0)==0,p)||g4(b|0,0,_|0)|0,b|0}function W7(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0;return Z=C,a=(t|0)==0,a?($=R9(o)|0,J=$,J|0):(w=o>>>0>4294967231,w?(R=Ey()|0,e[R>>2]=12,J=0,J|0):(L=o>>>0<11,F=o+11|0,N=F&-8,O=L?16:N,H=t+-8|0,V=QD(H,O)|0,g=(V|0)==0,g?(p=R9(o)|0,I=(p|0)==0,I?(J=0,J|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,x=Q?_:o,ge(p|0,t|0,x|0)|0,E2(t),J=p,J|0)):(d=V+8|0,J=d,J|0)))}function QD(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0;if(Z5=C,H=t+4|0,V=e[H>>2]|0,D1=V&-8,s2=t+D1|0,c2=e[138266]|0,S2=V&3,I3=t>>>0>=c2>>>0,d3=(S2|0)!=1,W5=d3&I3,Z2=t>>>0>>0,n3=W5&Z2,n3||v2(),x=D1|4,V5=t+x|0,L5=e[V5>>2]|0,l5=L5&1,J=(l5|0)==0,J&&v2(),i0=(S2|0)==0,i0)return d0=o>>>0<256,d0?(B5=0,B5|0):(Z0=o+4|0,P0=D1>>>0>>0,!P0&&(o1=D1-o|0,B1=e[138382]|0,_1=B1<<1,F1=o1>>>0>_1>>>0,!F1)?(B5=t,B5|0):(B5=0,B5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,X1=P1>>>0>15,X1?(G1=t+o|0,x1=V&1,K1=x1|o,q1=K1|2,e[H>>2]=q1,Q=o+4|0,H1=t+Q|0,V1=P1|3,e[H1>>2]=V1,Y1=e[V5>>2]|0,t2=Y1|1,e[V5>>2]=t2,Zy(G1,P1),B5=t,B5|0):(B5=t,B5|0);if(e2=e[138268]|0,O1=(s2|0)==(e2|0),O1)return h2=e[138265]|0,Z1=h2+D1|0,I2=Z1>>>0>o>>>0,I2?(A2=Z1-o|0,C2=t+o|0,$2=V&1,W1=$2|o,f2=W1|2,e[H>>2]=f2,_=o+4|0,r2=t+_|0,g2=A2|1,e[r2>>2]=g2,e[138268]=C2,e[138265]=A2,B5=t,B5|0):(B5=0,B5|0);if(o2=e[138267]|0,l2=(s2|0)==(o2|0),l2)return i2=e[138264]|0,a2=i2+D1|0,m2=a2>>>0>>0,m2?(B5=0,B5|0):(n2=a2-o|0,k2=n2>>>0>15,k2?(D2=t+o|0,y2=t+a2|0,G2=V&1,M2=G2|o,O2=M2|2,e[H>>2]=O2,D=o+4|0,p2=t+D|0,W2=n2|1,e[p2>>2]=W2,e[y2>>2]=n2,w=a2+4|0,q2=t+w|0,J2=e[q2>>2]|0,U2=J2&-2,e[q2>>2]=U2,a3=D2,y3=n2):(V2=V&1,A5=V2|a2,Y2=A5|2,e[H>>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=L5&2,x5=(i5|0)==0,!x5||(j2=L5&-8,p5=j2+D1|0,D5=p5>>>0>>0,D5))return B5=0,B5|0;u5=p5-o|0,b2=L5>>>3,y5=L5>>>0<256;do if(y5){if(y=D1+8|0,s5=t+y|0,F2=e[s5>>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(),M5=F2+12|0,z2=e[M5>>2]|0,C5=(z2|0)==(s2|0),C5||v2()),$5=(Q2|0)==(F2|0),$5){h5=1<>>0>>0,X2&&v2(),d2=Q2+8|0,v5=e[d2>>2]|0,n5=(v5|0)==(s2|0),n5?$=d2:v2()),a5=F2+12|0,e[a5>>2]=Q2,e[$>>2]=F2}else{g=D1+24|0,f5=t+g|0,K2=e[f5>>2]|0,k=D1+12|0,I5=t+k|0,r5=e[I5>>2]|0,R5=(r5|0)==(s2|0);do if(R5){if(L=D1+20|0,h0=t+L|0,e0=e[h0>>2]|0,u0=(e0|0)==0,u0)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,r0=e[I0>>2]|0,p0=(r0|0)==0,p0){c5=e5,z5=k5;break}else e5=r0,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,n0=e[j>>2]|0,s0=(n0|0)==(s2|0),s0||v2(),K=r5+8|0,o0=e[K>>2]|0,Y=(o0|0)==(s2|0),Y){e[j>>2]=r5,e[K>>2]=Z,T2=r5;break}else v2();while(!1);if(b0=(K2|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=(s2|0)==(Q0|0),w0){if(e[E0>>2]=T2,i3=(T2|0)==0,i3){B0=1<>>0>>0,U0&&v2(),O0=K2+16|0,H0=e[O0>>2]|0,S0=(H0|0)==(s2|0),S0?e[O0>>2]=T2:(J0=K2+20|0,e[J0>>2]=T2),T0=(T2|0)==0,T0)break;M0=e[138266]|0,W0=T2>>>0>>0,W0&&v2(),K0=T2+24|0,e[K0>>2]=K2,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{s1=T2+16|0,e[s1>>2]=j0,z0=j0+24|0,e[z0>>2]=T2;break}while(!1);if(I=D1+20|0,n1=t+I|0,L0=e[n1>>2]|0,d1=(L0|0)==0,!d1)if(u1=e[138266]|0,p1=L0>>>0>>0,p1)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?(c1=V&1,a1=p5|c1,$1=a1|2,e[H>>2]=$1,O=p5|4,X0=t+O|0,m1=e[X0>>2]|0,Q1=m1|1,e[X0>>2]=Q1,B5=t,B5|0):(C1=t+o|0,y1=V&1,v1=y1|o,k1=v1|2,e[H>>2]=k1,F=o+4|0,S1=t+F|0,L1=u5|3,e[S1>>2]=L1,N=p5|4,M1=t+N|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,Zy(C1,u5),B5=t,B5|0)}function Zy(t,o){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,n1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,r2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,n2=0,k2=0,D2=0,S2=0,y2=0,G2=0,M2=0,O2=0,p2=0,W2=0,q2=0,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,p5=0,D5=0,V5=0,u5=0,b2=0,y5=0,s5=0,F2=0,R2=0,Q2=0,Q5=0,N5=0,E5=0,L5=0,q5=0,M5=0,z2=0,C5=0,$5=0,h5=0,w5=0,T1=0,_5=0,d5=0,l5=0,X2=0,d2=0,v5=0,n5=0,a5=0,f5=0,K2=0,I5=0,r5=0,R5=0,e5=0,c5=0,T2=0,k5=0,z5=0,i3=0,B5=0,I3=0,d3=0,W5=0,n3=0,a3=0,y3=0,G5=0,Z5=0,x3=0,f3=0,w3=0,e6=0,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,b5=0,Y3=0,U5=0,l6=0,r3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,n6=0,z3=0,j5=0,M3=0,h3=0,J3=0,d6=0,m3=0,x6=0,L6=0,M6=0,S6=0,r6=0,f6=0,b6=0,N6=0,j6=0,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,n9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,r9=0,B9=0,y9=0,Q9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,z9=0,ne=0,F9=0,v9=0,K6=0,A9=0,ve=0,Me=0,he=0,_9=0,Re=0,Fe=0,Ue=0,He=0,r4=0,ke=0,Ve=0,J9=0,Ye=0,de=0,Pe=0,Ce=0,v4=0,Z9=0,k9=0,k4=0,V4=0,rt=0,ze=0,Y4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Be=0,T6=0,Ke=0,O9=0,fe=0,Te=0,h4=0,oe=0,d4=0,f4=0,Se=0,s4=0,Oe=0,I4=0,S9=0,I6=0,z4=0,Ie=0,S4=0,be=0;be=C,e0=t+o|0,u0=t+4|0,V2=e[u0>>2]|0,B6=V2&1,X6=(B6|0)==0;do if(X6){if(P6=e[t>>2]|0,V9=V2&3,F9=(V9|0)==0,F9)return;if(He=0-P6|0,k9=t+He|0,c0=P6+o|0,b0=e[138266]|0,N0=k9>>>0>>0,N0&&v2(),V0=e[138267]|0,p1=(k9|0)==(V0|0),p1){if(k=o+4|0,re=t+k|0,$0=e[re>>2]|0,l0=$0&3,X=(l0|0)==3,!X){a=k9,$=c0;break}e[138264]=c0,m0=$0&-2,e[re>>2]=m0,g0=c0|1,L=4-P6|0,I0=t+L|0,e[I0>>2]=g0,e[e0>>2]=c0;return}if(C1=P6>>>3,U1=P6>>>0<256,U1){if(j=8-P6|0,t2=t+j|0,f2=e[t2>>2]|0,n0=12-P6|0,D2=t+n0|0,Z2=e[D2>>2]|0,V5=C1<<1,L5=553088+(V5<<2)|0,l5=(f2|0)==(L5|0),l5||(e5=f2>>>0>>0,e5&&v2(),a3=f2+12|0,t3=e[a3>>2]|0,b5=(t3|0)==(k9|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)==(k9|0),G6?E=$6:v2()),e9=f2+12|0,e[e9>>2]=Z2,e[E>>2]=f2,a=k9,$=c0;break}F=24-P6|0,Q6=t+F|0,P3=e[Q6>>2]|0,N=12-P6|0,n9=t+N|0,V6=e[n9>>2]|0,o9=(V6|0)==(k9|0);do if(o9){if(O=16-P6|0,H=O+4|0,h9=t+H|0,r9=e[h9>>2]|0,B9=(r9|0)==0,B9)if(y9=t+O|0,Q9=e[y9>>2]|0,d9=(Q9|0)==0,d9){fe=0;break}else Ke=Q9,d4=y9;else Ke=r9,d4=h9;for(;;){if(f9=Ke+20|0,w6=e[f9>>2]|0,q6=(w6|0)==0,!q6){Ke=w6,d4=f9;continue}if(a9=Ke+16|0,Y9=e[a9>>2]|0,w9=(Y9|0)==0,w9){O9=Ke,f4=d4;break}else Ke=Y9,d4=a9}if(we=f4>>>0>>0,we)v2();else{e[f4>>2]=0,fe=O9;break}}else if(A0=8-P6|0,g9=t+A0|0,U6=e[g9>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,t9=e[F6>>2]|0,_6=(t9|0)==(k9|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,s9=(O6|0)==(k9|0),s9){e[F6>>2]=V6,e[O3>>2]=U6,fe=V6;break}else v2();while(!1);if(ue=(P3|0)==0,ue)a=k9,$=c0;else{if(J=28-P6|0,Ee=t+J|0,z9=e[Ee>>2]|0,ne=553352+(z9<<2)|0,v9=e[ne>>2]|0,K6=(k9|0)==(v9|0),K6){if(e[ne>>2]=fe,I6=(fe|0)==0,I6){A9=1<>>0<_9>>>0,Re&&v2(),Fe=P3+16|0,Ue=e[Fe>>2]|0,r4=(Ue|0)==(k9|0),r4?e[Fe>>2]=fe:(ke=P3+20|0,e[ke>>2]=fe),Ve=(fe|0)==0,Ve){a=k9,$=c0;break}J9=e[138266]|0,Ye=fe>>>0>>0,Ye&&v2(),de=fe+24|0,e[de>>2]=P3,t0=16-P6|0,Pe=t+t0|0,Ce=e[Pe>>2]|0,v4=(Ce|0)==0;do if(!v4)if(Z9=Ce>>>0>>0,Z9)v2();else{k4=fe+16|0,e[k4>>2]=Ce,V4=Ce+24|0,e[V4>>2]=fe;break}while(!1);if(Z=t0+4|0,rt=t+Z|0,ze=e[rt>>2]|0,Y4=(ze|0)==0,Y4)a=k9,$=c0;else if(Je=e[138266]|0,o4=ze>>>0>>0,o4)v2();else{R4=fe+20|0,e[R4>>2]=ze,ot=ze+24|0,e[ot>>2]=fe,a=k9,$=c0;break}}}else a=t,$=o;while(!1);if(r0=e[138266]|0,d0=e0>>>0>>0,d0&&v2(),w=o+4|0,p0=t+w|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,S0=H0+$|0,e[138264]=S0,e[138267]=a,J0=S0|1,T0=a+4|0,e[T0>>2]=J0,M0=a+S0|0,e[M0>>2]=S0;return}P0=C0&-8,W0=P0+$|0,K0=C0>>>3,j0=C0>>>0<256;do if(j0){if(x=o+8|0,q0=t+x|0,Y0=e[q0>>2]|0,R=o+12|0,s1=t+R|0,z0=e[s1>>2]|0,n1=K0<<1,L0=553088+(n1<<2)|0,o1=(Y0|0)==(L0|0),o1||(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){c1=1<>>0>>0,m1&&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=o+24|0,S1=t+V|0,L1=e[S1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(e0|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,Y1)if(K=o+16|0,s2=t+K|0,e2=e[s2>>2]|0,O1=(e2|0)==0,O1){oe=0;break}else Te=e2,Se=s2;else Te=V1,Se=H1;for(;;){if(h2=Te+20|0,Z1=e[h2>>2]|0,I2=(Z1|0)==0,!I2){Te=Z1,Se=h2;continue}if(A2=Te+16|0,C2=e[A2>>2]|0,$2=(C2|0)==0,$2){h4=Te,s4=Se;break}else Te=C2,Se=A2}if(W1=s4>>>0>>0,W1)v2();else{e[s4>>2]=0,oe=h4;break}}else if(Q=o+8|0,R1=t+Q|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,X1=e[P1>>2]|0,G1=(X1|0)==(e0|0),G1||v2(),x1=b1+8|0,K1=e[x1>>2]|0,q1=(K1|0)==(e0|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,oe=b1;break}else v2();while(!1);if(c2=(L1|0)==0,!c2){if(h0=o+28|0,r2=t+h0|0,g2=e[r2>>2]|0,o2=553352+(g2<<2)|0,l2=e[o2>>2]|0,i2=(e0|0)==(l2|0),i2){if(e[o2>>2]=oe,z4=(oe|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]=oe:(p2=L1+20|0,e[p2>>2]=oe),W2=(oe|0)==0,W2)break;q2=e[138266]|0,J2=oe>>>0>>0,J2&&v2(),U2=oe+24|0,e[U2>>2]=L1,i0=o+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=oe+16|0,e[T5>>2]=Y2,i5=Y2+24|0,e[i5>>2]=oe;break}while(!1);if(_=o+20|0,x5=t+_|0,j2=e[x5>>2]|0,p5=(j2|0)==0,!p5)if(D5=e[138266]|0,u5=j2>>>0>>0,u5)v2();else{b2=oe+20|0,e[b2>>2]=j2,y5=j2+24|0,e[y5>>2]=oe;break}}}while(!1);if(s5=W0|1,F2=a+4|0,e[F2>>2]=s5,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,M5=a+$|0,e[M5>>2]=$,g=$;if(z2=g>>>3,C5=g>>>0<256,C5){$5=z2<<1,h5=553088+($5<<2)|0,w5=e[138262]|0,T1=1<>2]|0,n5=e[138266]|0,a5=v5>>>0>>0,a5?v2():(y=d2,u4=v5)),e[y>>2]=a,f5=u4+12|0,e[f5>>2]=a,K2=a+8|0,e[K2>>2]=u4,I5=a+12|0,e[I5>>2]=h5;return}if(r5=g>>>8,R5=(r5|0)==0,R5?Be=0:(c5=g>>>0>16777215,c5?Be=31:(T2=r5+1048320|0,k5=T2>>>16,z5=k5&8,i3=r5<>>16,d3=I3&4,W5=d3|z5,n3=i3<>>16,Z5=G5&2,x3=W5|Z5,f3=14-x3|0,w3=n3<>>15,H3=f3+e6|0,X5=H3<<1,_3=H3+7|0,a6=g>>>_3,G3=a6&1,V3=G3|X5,Be=V3)),c3=553352+(Be<<2)|0,g3=a+28|0,e[g3>>2]=Be,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,J5=e[138263]|0,H5=1<>2]=a,l6=a+24|0,e[l6>>2]=c3,r3=a+12|0,e[r3>>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)Oe=U3;else{for(n6=(Be|0)==31,z3=Be>>>1,j5=25-z3|0,M3=n6?0:j5,h3=g<>>31,f6=(I4+16|0)+(r6<<2)|0,m3=e[f6>>2]|0,b6=(m3|0)==0,b6){d=f6,S9=I4;break}if(J3=T6<<1,d6=m3+4|0,x6=e[d6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){Oe=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=d>>>0>>0,j6&&v2(),e[d>>2]=a,v6=a+24|0,e[v6>>2]=S9,R3=a+12|0,e[R3>>2]=a,o6=a+8|0,e[o6>>2]=a;return}while(!1);s6=Oe+8|0,F3=e[s6>>2]|0,W3=e[138266]|0,t6=F3>>>0>=W3>>>0,Ie=Oe>>>0>=W3>>>0,R6=t6&Ie,R6||v2(),c6=F3+12|0,e[c6>>2]=a,e[s6>>2]=a,o3=a+8|0,e[o3>>2]=F3,J6=a+12|0,e[J6>>2]=Oe,A3=a+24|0,e[A3>>2]=0}function wD(){e[6410]=W9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,p=0;if($=t+a|0,(a|0)>=20){if(o=o&255,p=t&3,g=o|o<<8|o<<16|o<<24,d=$&-4,p)for(p=t+4-p|0;(t|0)<(p|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function $l(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function jy(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+($l(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function Xy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,d=o+$+(g>>>0>>0|0)>>>0,Z6=d,g|0|0}function os(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(Z6=0,o>>>a-32|0)}function ge(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return RS(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function lA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ge(t,o,a)|0;return t|0}function UC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function ss(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return g=t-a>>>0,d=o-$>>>0,d=o-$-(a>>>0>t>>>0|0)>>>0,Z6=d,g|0|0}function ax(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(Z6=(o|0)<0?-1:0,o>>a-32|0)}function eQ(t){t=t|0;var o=0;return o=f[U9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[U9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[U9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[U9+(t>>>24)>>0]|0)+24|0))}function vD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,p=0,I=0,E=0;return a=t&65535,$=o&65535,g=o5($,a)|0,d=t>>>16,p=(g>>>16)+(o5($,d)|0)|0,I=o>>>16,E=o5(I,a)|0,Z6=((p>>>16)+(o5(I,d)|0)|0)+(((p&65535)+E|0)>>>16)|0,0|(p+E<<16|g&65535)|0}function Ax(t,o,a,$){t=t|0,o=o|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,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,d=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,p=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=ss(g^t,d^o,g,d)|0,y=Z6,B=ss(p^a,I^$,p,I)|0,b=p^g,D=I^d,k=hE(E,y,B,Z6,0)|0,w=ss(k^b,Z6^D,b,D)|0,w|0}function $x(t,o,a,$){t=t|0,o=o|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,w=0;return w=C,C=C+8|0,g=w|0,d=o>>31|((o|0)<0?-1:0)<<1,p=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,y=ss(d^t,p^o,d,p)|0,B=Z6,b=ss(I^a,E^$,I,E)|0,hE(y,B,b,Z6,g)|0,D=ss(e[g>>2]^d,e[g+4>>2]^p,d,p)|0,k=Z6,C=w,Z6=k,D|0}function kD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,p=0,I=0,E=0;return g=t,d=a,p=vD(g,d)|0,I=Z6,E=o5(o,d)|0,Z6=((o5($,g)|0)+E|0)+I|I&0,0|p&-1|0}function lx(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=hE(t,o,a,$,0)|0,g|0}function cx(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,hE(t,o,a,$,g)|0,C=d,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function hE(t,o,a,$,g){t=t|0,o=o|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,w=0,_=0,Q=0,x=0,R=0,L=0,F=0,N=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,n0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,r0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0;if(d=t,p=o,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]=o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0):(b&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,T0=(d>>>0)/(E>>>0)>>>0,Z6=M0,T0|0);D=(B|0)==0;do if(E|0){if(!D){if(Z=ns(B|0)|0,A0=Z-(ns(I|0)|0)|0,A0>>>0<=31){j=A0+1|0,n0=31-A0|0,s0=A0-31>>31,i0=j,h0=d>>>(j>>>0)&s0|I<>>(j>>>0)&s0,o0=0,K=d<>2]=0|t&-1,e[g+4>>2]=p|o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0)}if(R=E-1|0,R&E|0){F=(ns(E|0)|0)+33|0,N=F-(ns(I|0)|0)|0,O=64-N|0,H=32-N|0,V=H>>31,J=N-32|0,t0=J>>31,i0=N,h0=H-1>>31&I>>>(J>>>0)|(I<>>(N>>>0))&t0,Y=t0&I>>>(N>>>0),o0=d<>>(J>>>0))&V|d<>31;break}return g|0&&(e[g>>2]=R&d,e[g+4>>2]=0),(E|0)==1?(M0=p|o&0,T0=0|t&-1,Z6=M0,T0|0):(L=eQ(E|0)|0,M0=0|I>>>(L>>>0),T0=I<<32-L|d>>>(L>>>0)|0,Z6=M0,T0|0)}else{if(D)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,T0=(I>>>0)/(E>>>0)>>>0,Z6=M0,T0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),M0=0,T0=(I>>>0)/(B>>>0)>>>0,Z6=M0,T0|0;if(k=B-1|0,!(k&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=k&I|o&0),M0=0,T0=I>>>((eQ(B|0)|0)>>>0),Z6=M0,T0|0;if(w=ns(B|0)|0,_=w-(ns(I|0)|0)|0,_>>>0<=30){Q=_+1|0,x=31-_|0,i0=Q,h0=I<>>(Q>>>0),Y=I>>>(Q>>>0),o0=0,K=d<>2]=0|t&-1,e[g+4>>2]=p|o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0)}while(!1);if(!(i0|0))O0=K,U0=o0,N0=Y,v0=h0,R0=0,Z0=0;else{for(e0=0|a&-1,u0=y|$&0,c0=rs(e0|0,u0|0,-1,-1)|0,$0=Z6,r0=K,I0=o0,g0=Y,m0=h0,X=i0,l0=0;d0=I0>>>31|r0<<1,p0=l0|I0<<1,C0=0|(m0<<1|r0>>>31),b0=m0>>>31|g0<<1|0,ss(c0,$0,C0,b0)|0,y0=Z6,D0=y0>>31|((y0|0)<0?-1:0)<<1,E0=D0&1,Q0=ss(C0,b0,D0&e0,(((y0|0)<0?-1:0)>>31|((y0|0)<0?-1:0)<<1)&u0)|0,w0=Q0,B0=Z6,x0=X-1|0,x0|0;)r0=d0,I0=p0,g0=B0,m0=w0,X=x0,l0=E0;O0=d0,U0=p0,N0=B0,v0=w0,R0=0,Z0=E0}return H0=U0,S0=0,J0=O0|S0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=N0|0),M0=(0|H0)>>>31|J0<<1|(S0<<1|H0>>>31)&0|R0,T0=(H0<<1|0)&-2|Z0,Z6=M0,T0|0}function SD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,qC[t&3](o|0,a|0,$|0,g|0)|0}function bD(t,o){t=t|0,o=o|0,as[t&7](o|0)}function DD(t,o,a){t=t|0,o=o|0,a=a|0,HC[t&3](o|0,a|0)}function _D(t,o){return t=t|0,o=o|0,nQ[t&1](o|0)|0}function xD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,rQ[t&1](o|0,a|0,$|0)}function LD(t,o,a,$,g,d,p,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0,E=E|0,oQ[t&3](o|0,a|0,$|0,g|0,d|0,p|0,I|0,E|0)|0}function MD(t,o,a){return t=t|0,o=o|0,a=a|0,pi[t&15](o|0,a|0)|0}function RD(t,o,a,$,g,d){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,VC[t&7](o|0,a|0,$|0,g|0,d|0)|0}function FD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,nr(0),0}function PC(t){t=t|0,nr(1)}function tQ(t,o){t=t|0,o=o|0,nr(2)}function TD(t){return t=t|0,nr(3),0}function ND(t,o,a){t=t|0,o=o|0,a=a|0,nr(4)}function iQ(t,o,a,$,g,d,p,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,p=p|0,I=I|0,nr(5),0}function ll(t,o){return t=t|0,o=o|0,nr(6),0}function OC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,nr(7),0}var qC=[FD,yb,ab,Ab],as=[PC,Eb,Cb,Lb,Yb,zb,PC,PC],HC=[tQ,Ib,Jb,tQ],nQ=[TD,Mb],rQ=[ND,_b],oQ=[iQ,jb,iD,iQ],pi=[ll,mb,pb,Bb,xb,Rb,Kb,Wb,Qb,Vb,AD,ll,ll,ll,ll,ll],VC=[OC,Zb,Xb,eD,tD,nD,OC,OC];return{_memmove:lA,_strlen:$l,_strcat:jy,_free:E2,_i64Add:rs,_encoder_clear:fD,_encoder_transfer_data:ED,_encoder_data_len:pD,_memset:g4,_malloc:R9,_memcpy:ge,_encoder_init:dD,_encoder_process:mD,_bitshift64Lshr:os,_bitshift64Shl:Xy,_strcpy:UC,_encoder_analysis_buffer:ID,runPostSets:wD,stackAlloc:NS,stackSave:GS,stackRestore:US,establishStackSpace:PS,setThrew:OS,setTempRet0:qS,getTempRet0:HS,dynCall_iiiii:SD,dynCall_vi:bD,dynCall_vii:DD,dynCall_ii:_D,dynCall_viii:xD,dynCall_iiiiiiiii:LD,dynCall_iii:MD,dynCall_iiiiii:RD}}(r.asmGlobalArg,r.asmLibraryArg,q7),F_=r.runPostSets=te.runPostSets,pS=r._strlen=te._strlen,ES=r._strcat=te._strcat,SC=r._free=te._free,T_=r._encoder_init=te._encoder_init,CS=r._i64Add=te._i64Add,BS=r._memmove=te._memmove,N_=r._encoder_transfer_data=te._encoder_transfer_data,G_=r._encoder_process=te._encoder_process,U_=r._encoder_data_len=te._encoder_data_len,yS=r._memset=te._memset,Nu=r._malloc=te._malloc,QS=r._memcpy=te._memcpy,P_=r._encoder_clear=te._encoder_clear,wS=r._bitshift64Lshr=te._bitshift64Lshr,O_=r._encoder_analysis_buffer=te._encoder_analysis_buffer,vS=r._strcpy=te._strcpy,kS=r._bitshift64Shl=te._bitshift64Shl,q_=r.dynCall_iiiii=te.dynCall_iiiii,H_=r.dynCall_vi=te.dynCall_vi,V_=r.dynCall_vii=te.dynCall_vii,Y_=r.dynCall_ii=te.dynCall_ii,z_=r.dynCall_viii=te.dynCall_viii,J_=r.dynCall_iiiiiiiii=te.dynCall_iiiiiiiii,K_=r.dynCall_iii=te.dynCall_iii,W_=r.dynCall_iiiiii=te.dynCall_iiiiii;v.stackAlloc=te.stackAlloc,v.stackSave=te.stackSave,v.stackRestore=te.stackRestore,v.establishStackSpace=te.establishStackSpace,v.setTempRet0=te.setTempRet0,v.getTempRet0=te.getTempRet0;var Z_=function(){var n={math:{}};n.math.Long=function(W,_0){this.low_=W|0,this.high_=_0|0},n.math.Long.IntCache_={},n.math.Long.fromInt=function(W){if(-128<=W&&W<128){var _0=n.math.Long.IntCache_[W];if(_0)return _0}var t1=new n.math.Long(W|0,W<0?-1:0);return-128<=W&&W<128&&(n.math.Long.IntCache_[W]=t1),t1},n.math.Long.fromNumber=function(W){return isNaN(W)||!isFinite(W)?n.math.Long.ZERO:W<=-n.math.Long.TWO_PWR_63_DBL_?n.math.Long.MIN_VALUE:W+1>=n.math.Long.TWO_PWR_63_DBL_?n.math.Long.MAX_VALUE:W<0?n.math.Long.fromNumber(-W).negate():new n.math.Long(W%n.math.Long.TWO_PWR_32_DBL_|0,W/n.math.Long.TWO_PWR_32_DBL_|0)},n.math.Long.fromBits=function(W,_0){return new n.math.Long(W,_0)},n.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=n.math.Long.fromNumber(Math.pow(t1,8)),e3=n.math.Long.ZERO,O5=0;O5=0?this.low_:n.math.Long.TWO_PWR_32_DBL_+this.low_},n.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(n.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},n.math.Long.prototype.isZero=function(){return this.high_==0&&this.low_==0},n.math.Long.prototype.isNegative=function(){return this.high_<0},n.math.Long.prototype.isOdd=function(){return(this.low_&1)==1},n.math.Long.prototype.equals=function(W){return this.high_==W.high_&&this.low_==W.low_},n.math.Long.prototype.notEquals=function(W){return this.high_!=W.high_||this.low_!=W.low_},n.math.Long.prototype.lessThan=function(W){return this.compare(W)<0},n.math.Long.prototype.lessThanOrEqual=function(W){return this.compare(W)<=0},n.math.Long.prototype.greaterThan=function(W){return this.compare(W)>0},n.math.Long.prototype.greaterThanOrEqual=function(W){return this.compare(W)>=0},n.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},n.math.Long.prototype.negate=function(){return this.equals(n.math.Long.MIN_VALUE)?n.math.Long.MIN_VALUE:this.not().add(n.math.Long.ONE)},n.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,i9=W.low_>>>16,H9=W.low_&65535,P9=0,i4=0,Ai=0,sn=0;return sn+=e3+H9,Ai+=sn>>>16,sn&=65535,Ai+=B2+i9,i4+=Ai>>>16,Ai&=65535,i4+=t1+N3,P9+=i4>>>16,i4&=65535,P9+=_0+O5,P9&=65535,n.math.Long.fromBits(Ai<<16|sn,P9<<16|i4)},n.math.Long.prototype.subtract=function(W){return this.add(W.negate())},n.math.Long.prototype.multiply=function(W){if(this.isZero())return n.math.Long.ZERO;if(W.isZero())return n.math.Long.ZERO;if(this.equals(n.math.Long.MIN_VALUE))return W.isOdd()?n.math.Long.MIN_VALUE:n.math.Long.ZERO;if(W.equals(n.math.Long.MIN_VALUE))return this.isOdd()?n.math.Long.MIN_VALUE:n.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(n.math.Long.TWO_PWR_24_)&&W.lessThan(n.math.Long.TWO_PWR_24_))return n.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,i9=W.low_>>>16,H9=W.low_&65535,P9=0,i4=0,Ai=0,sn=0;return sn+=e3*H9,Ai+=sn>>>16,sn&=65535,Ai+=B2*H9,i4+=Ai>>>16,Ai&=65535,Ai+=e3*i9,i4+=Ai>>>16,Ai&=65535,i4+=t1*H9,P9+=i4>>>16,i4&=65535,i4+=B2*i9,P9+=i4>>>16,i4&=65535,i4+=e3*N3,P9+=i4>>>16,i4&=65535,P9+=_0*H9+t1*i9+B2*N3+e3*O5,P9&=65535,n.math.Long.fromBits(Ai<<16|sn,P9<<16|i4)},n.math.Long.prototype.div=function(W){if(W.isZero())throw Error("division by zero");if(this.isZero())return n.math.Long.ZERO;if(this.equals(n.math.Long.MIN_VALUE)){if(W.equals(n.math.Long.ONE)||W.equals(n.math.Long.NEG_ONE))return n.math.Long.MIN_VALUE;if(W.equals(n.math.Long.MIN_VALUE))return n.math.Long.ONE;var _0=this.shiftRight(1),t1=_0.div(W).shiftLeft(1);if(t1.equals(n.math.Long.ZERO))return W.isNegative()?n.math.Long.ONE:n.math.Long.NEG_ONE;var O5=this.subtract(W.multiply(t1)),B2=t1.add(O5.div(W));return B2}else if(W.equals(n.math.Long.MIN_VALUE))return n.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=n.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),i9=N3<=48?1:Math.pow(2,N3-48),H9=n.math.Long.fromNumber(t1),P9=H9.multiply(W);P9.isNegative()||P9.greaterThan(O5);)t1-=i9,H9=n.math.Long.fromNumber(t1),P9=H9.multiply(W);H9.isZero()&&(H9=n.math.Long.ONE),e3=e3.add(H9),O5=O5.subtract(P9)}return e3},n.math.Long.prototype.modulo=function(W){return this.subtract(this.div(W).multiply(W))},n.math.Long.prototype.not=function(){return n.math.Long.fromBits(~this.low_,~this.high_)},n.math.Long.prototype.and=function(W){return n.math.Long.fromBits(this.low_&W.low_,this.high_&W.high_)},n.math.Long.prototype.or=function(W){return n.math.Long.fromBits(this.low_|W.low_,this.high_|W.high_)},n.math.Long.prototype.xor=function(W){return n.math.Long.fromBits(this.low_^W.low_,this.high_^W.high_)},n.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 n.math.Long.fromBits(_0<>>32-W)}else return n.math.Long.fromBits(0,_0<>>W|_0<<32-W,_0>>W)}else return n.math.Long.fromBits(_0>>W-32,_0>=0?0:-1)},n.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 n.math.Long.fromBits(t1>>>W|_0<<32-W,_0>>>W)}else return W==32?n.math.Long.fromBits(_0,0):n.math.Long.fromBits(_0>>>W-32,0)};var l={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 r1(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,i9=_0>>15;--O5>=0;){var H9=this[W]&32767,P9=this[W++]>>15,i4=i9*H9+P9*N3;H9=N3*H9+((i4&32767)<<15)+t1[B2]+(e3&1073741823),e3=(H9>>>30)+(i4>>>15)+i9*P9+(e3>>>30),t1[B2++]=H9&1073741823}return e3}function s(W,_0,t1,B2,e3,O5){for(var N3=_0&16383,i9=_0>>14;--O5>=0;){var H9=this[W]&16383,P9=this[W++]>>14,i4=i9*H9+P9*N3;H9=N3*H9+((i4&16383)<<14)+t1[B2]+e3,e3=(H9>>28)+(i4>>14)+i9*P9,t1[B2++]=H9&268435455}return e3}z&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,h=30):z&&l.appName!="Netscape"?(e.prototype.am=r1,h=26):(e.prototype.am=s,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 ie(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:W9(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,i9=this.DB-N3*this.DB%_0;if(N3-- >0)for(i9>i9)>0&&(e3=!0,O5=U9(B2));N3>=0;)i9<_0?(B2=(this[N3]&(1<>(i9+=this.DB-_0)):(B2=this[N3]>>(i9-=_0)&t1,i9<=0&&(i9+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=U9(B2));return e3?O5:"0"}function J7(){var W=e1();return e.ZERO.subTo(this,W),W}function vn(){return this.s<0?this.negate():this}function sl(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 sE(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 XB(){return this.t<=0?0:this.DB*(this.t-1)+sE(this[this.t-1]^this.s&this.DM)}function ey(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 ty(W,_0){for(var t1=W;t1=0;--i9)_0[i9+O5+1]=this[i9]>>B2|N3,N3=(this[i9]&e3)<=0;--i9)_0[i9]=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 ry(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 sy(W,_0,t1){var B2=W.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(H9,O5),e3.lShiftTo(H9,t1)):(B2.copyTo(O5),e3.copyTo(t1));var P9=O5.t,i4=O5[P9-1];if(i4!=0){var Ai=i4*(1<1?O5[P9-2]>>this.F2:0),sn=this.FV/Ai,my=(1<=0&&(t1[t1.t++]=1,t1.subTo(Oi,t1)),e.ONE.dlShiftTo(P9,Oi),Oi.subTo(O5,O5);O5.t=0;){var aE=t1[--$A]==i4?this.DM:Math.floor(t1[$A]*sn+(t1[$A-1]+py)*my);if((t1[$A]+=O5.am(0,aE,t1,Uu,0,P9))0&&t1.rShiftTo(H9,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 sA(W){this.m=W}function Ay(W){return W.s<0||W.compareTo(this.m)>=0?W.mod(this.m):W}function $y(W){return W}function ly(W){W.divRemTo(this.m,null,W)}function cy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}function aA(W,_0){W.squareTo(_0),this.reduce(_0)}sA.prototype.convert=Ay,sA.prototype.revert=$y,sA.prototype.reduce=ly,sA.prototype.mulTo=cy,sA.prototype.sqrTo=aA;function on(){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 Hr(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 Vr(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 gy(W,_0){W.squareTo(_0),this.reduce(_0)}function uy(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}Hr.prototype.convert=Gu,Hr.prototype.revert=AA,Hr.prototype.reduce=Vr,Hr.prototype.mulTo=uy,Hr.prototype.sqrTo=gy;function hy(){return(this.t>0?this[0]&1:this.s)==0}function is(W,_0){if(W>4294967295||W<1)return e.ONE;var t1=e1(),B2=e1(),e3=_0.convert(this),O5=sE(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 dy(W,_0){var t1;return W<256||_0.isEven()?t1=new sA(_0):t1=new Hr(_0),this.exp(W,t1)}e.prototype.copyTo=Qe,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=ey,e.prototype.drShiftTo=ty,e.prototype.lShiftTo=iy,e.prototype.rShiftTo=ny,e.prototype.subTo=Z6,e.prototype.multiplyTo=ry,e.prototype.squareTo=oy,e.prototype.divRemTo=sy,e.prototype.invDigit=on,e.prototype.isEven=hy,e.prototype.exp=is,e.prototype.toString=z7,e.prototype.negate=J7,e.prototype.abs=vn,e.prototype.compareTo=sl,e.prototype.bitLength=XB,e.prototype.mod=ay,e.prototype.modPowInt=dy,e.ZERO=ie(0),e.ONE=ie(1);function Yr(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,i9=0;i9=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 ir(W){return Math.floor(Math.LN2*this.DB/Math.log(W))}function DC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function o5(W){this[this.t]=this.am(0,W-1,this,0,0,this.t),++this.t,this.clamp()}function fy(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 ns(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=ie(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 nr(){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=Yr,e.prototype.chunkSize=ir,e.prototype.signum=DC,e.prototype.dMultiply=o5,e.prototype.dAddOffset=fy,e.prototype.toRadix=ns,e.prototype.intValue=nr,e.prototype.addTo=Iy;var c7={abs:function(W,_0){var t1=new n.math.Long(W,_0),B2;t1.isNegative()?B2=t1.negate():B2=t1,G9[bt>>2]=B2.low_,G9[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 n.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 i9=new e;if(i9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var H9=new e;O5.addTo(c7.two64,H9),O5=H9}var P9=!1;O5.compareTo(N3)<0?(O5=N3,P9=!0):O5.compareTo(i9)>0&&(O5=i9,P9=!0);var i4=n.math.Long.fromString(O5.toString());if(G9[bt>>2]=i4.low_,G9[bt+4>>2]=i4.high_,P9)throw"range error"}};return c7}();function oA(n){this.name="ExitStatus",this.message="Program terminated with exit("+n+")",this.status=n}oA.prototype=new Error,oA.prototype.constructor=oA;var KB,oE=null,SS=!1;V7=function n(){r.calledRun||bC(),r.calledRun||(V7=n)},r.callMain=r.callMain=function(l){Ge(k8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),Ge(Xp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Zo();var h=l.length+1;function f(){for(var r1=0;r1<3;r1++)z.push(0)}var z=[B3(tr(r.thisProgram),"i8",iA)];f();for(var e=0;e0||(Fu(),k8>0)||r.calledRun)return;function l(){r.calledRun||(r.calledRun=!0,!P&&(Zo(),UB(),c&&oE!==null&&r.printErr("pre-main prep time: "+(Date.now()-oE)+" ms"),r.onRuntimeInitialized&&r.onRuntimeInitialized(),r._main&&jB&&r.callMain(n),X$()))}r.setStatus?(r.setStatus("Running..."),setTimeout(function(){setTimeout(function(){r.setStatus("")},1),l()},1)):l()}r.run=r.run=bC;function WB(n,l){if(!(l&&r.noExitRuntime))throw r.noExitRuntime||(P=!0,G0=n,S7=KB,eE(),r.onExit&&r.onExit(n)),u?(process.stdout.once("drain",function(){process.exit(n)}),console.log(" "),setTimeout(function(){process.exit(n)},500)):M&&typeof quit=="function"&&quit(n),new oA(n)}r.exit=r.exit=WB;var ZB=[];function ts(n){n!==void 0?(r.print(n),r.printErr(n),n=JSON.stringify(n)):n="",P=!0,G0=1;var l=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+n+") at "+Wp()+l;throw ZB&&ZB.forEach(function(f){h=f(h,n)}),h}if(r.abort=r.abort=ts,r.preInit)for(typeof r.preInit=="function"&&(r.preInit=[r.preInit]);r.preInit.length>0;)r.preInit.pop()();var jB=!0;r.noInitialRun&&(jB=!1),bC();var bS=r._encoder_init,DS=r._encoder_clear,_S=r._encoder_analysis_buffer,xS=r._encoder_process,LS=r._encoder_data_len,MS=r._encoder_transfer_data,b7=r.HEAPU8,nl=r.HEAPU32,rl=r.HEAPF32,ol=function(n,l,h){this.numChannels=l,this.oggBuffers=[],this.encoder=bS(this.numChannels,n,h)};ol.prototype.encode=function(n){for(var l=n[0].length,h=_S(this.encoder,l)>>2,f=0;f>2);this.process(l)},ol.prototype.finish=function(){this.process(0);let n=this.oggBuffers.slice();return this.cleanup(),n},ol.prototype.cancel=ol.prototype.cleanup=function(){DS(this.encoder),delete this.encoder,delete this.oggBuffers},ol.prototype.process=function(n){xS(this.encoder,n);var l=LS(this.encoder);if(l>0){var h=MS(this.encoder);this.oggBuffers.push(new Uint8Array(b7.subarray(h,h+l)))}},fC.OggVorbisEncoder=ol}};typeof window<"u"&&window===self&&fC.init();function Nk(r,i,A,c){let u=new fC.OggVorbisEncoder(A,i,c);u.encode(r);let m=u.finish(),M=m.reduce((G,k0)=>G+k0.length,0),q=new Uint8Array(M),U=0;for(let G of m)q.set(G,U),U+=G.length;return q}var IC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragend",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{u.preventDefault(),c.classList.add("hidden");let m=u.dataTransfer.files[0];if(!m)return;let M=m.name,q=await m.arrayBuffer(),U=q.slice(0,4),G=new TextDecoder;if(G.decode(U)==="RIFF"){let k0=q.slice(8,12);if(G.decode(k0)==="RMID"){i({buf:q,name:M});return}A(q);return}i({buf:q,name:M})})}};async function Gk(){let r="locale.exportAudio.formats.formats.dls.warning.";Ne(this.localeManager.getLocaleString(r+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(r+"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(r+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(r+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;le(i.id),F7("%cExporting DLS...",E1.info);let c=await this.seq.getMIDI(),u=Vo(c.embeddedSoundFont||this.soundFont);Pa(c,await this.synth.getSynthesizerSnapshot()),A&&Su(u,c);let m=u.writeDLS(),M=new Blob([m.buffer],{type:"audio/dls"});this.saveBlob(M,`${u.soundFontInfo.INAM||"unnamed"}.dls`),u9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var y_=!1,Zn=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,c,u=y_){this.localeManager=c,this.context=i,this.enableDebug=u,this.isExporting=!1,this.compressionFunc=Nk;let m;this.ready=new Promise(M=>m=M),this.initializeContext(i,A).then(()=>{m()})}saveBlob(i,A){let c=URL.createObjectURL(i),u=document.createElement("a");u.href=c,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 T of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(T,"innerText",T.getAttribute("translate-path"));for(let T of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(T,"innerText",T.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(T,"title",T.getAttribute("translate-path-title")+".description");this.soundFont=A;let u=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Tk;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 M=new URL(m+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),U=await(await fetch(M)).arrayBuffer();this.impulseResponseRaw=U,this.impulseResponse=await i.decodeAudioData(U.slice(0,U.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new Cu(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",T=>{this.sfError&&this.sfError(T.message)}),await this.synth.isReady,this.midHandler=new ZE,this.wml=new jE(this.synth),this.keyboard=new Lp(this.channelColors,this.synth);let G=document.getElementById("note_canvas");G.width=window.innerWidth*window.devicePixelRatio,G.height=window.innerHeight*window.devicePixelRatio,this.renderer=new G7(this.channelColors,this.synth,G,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let k0=!1,v=()=>{if(G.width=window.innerWidth*window.devicePixelRatio,G.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),N7){if(window.innerWidth/window.innerHeight>1){if(!k0){let T=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");k0=!0,T.parentElement.insertBefore(P,T)}}else if(k0){let T=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");k0=!1,T.parentElement.insertBefore(T,P)}}this.renderer.render(!1,!0)};v(),window.addEventListener("resize",v.bind(this)),window.addEventListener("orientationchange",v.bind(this)),N7&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Wn(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 Oo(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 IC(T=>{this.play([{binary:T.buf,altName:T.name}]),T.name.length>20&&(T.name=T.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=T.name},T=>{this.reloadSf(T)}),document.addEventListener("keydown",T=>{switch(T.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;G.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 G0=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(G0===null)return;let I1=document.createElement("video");I1.src=G0,I1.classList.add("secret_video"),G.parentElement.appendChild(I1),I1.play(),window.video=I1,this.seq&&(I1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),I1.play(),this.seq.currentTime=0),document.addEventListener("keydown",g1=>{g1.key===" "&&(I1.paused?I1.play():I1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new K5(i),4).toLowerCase()==="dls "&&Ne(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{le(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{le(c.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 HE(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=Vo(this.soundFont),c=qE(A.writeDLS(),i,A),u=new Blob([c.buffer],{type:"audio/rmid"});this.saveBlob(u,`${i.midiName}.rmi`)}downloadDesfont(){let i=Vo(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};Zn.prototype.exportSong=Rk;Zn.prototype._exportAudioData=Yv;Zn.prototype._doExportAudioData=Vv;Zn.prototype.exportMidi=zv;Zn.prototype._exportSoundfont=Mk;Zn.prototype._exportDLS=Gk;Zn.prototype._exportRMIDI=Fk;var Q_=44100,w_="GeneralUserGS.sf3",IC=document.getElementById("title"),ja=document.getElementById("midi_file_input"),v_=document.getElementById("sf_file_input"),Uk=document.getElementById("demo_song"),vB=document.getElementById("export_button"),N$=document.getElementsByClassName("loading")[0],P7=document.getElementById("loading_message"),k_=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=k_.version;var S_="spessasynth-db",U$="soundFontStore";function bB(r){let i=indexedDB.open(S_,1);i.onsuccess=()=>{let A=i.result;r(A)},i.onupgradeneeded=A=>{A.target.result.createObjectStore(U$,{keyPath:"id"})}}async function b_(){return await new Promise(r=>{bB(i=>{let u=i.transaction([U$],"readonly").objectStore(U$).get("buffer");u.onerror=m=>{console.error("Database error"),console.error(m),r(void 0)},u.onsuccess=async()=>{let m=u.result;if(!m){r(void 0);return}r(m.data)}})})}function G$(r,i=!0){let A=N$.getElementsByClassName("loading_icon")[0];A.innerHTML=r,A.style.animation=i?"none":""}async function Pk(r){bB(i=>{let c=i.transaction([U$],"readwrite").objectStore(U$);try{let u=c.put({id:"buffer",data:r});u.onsuccess=()=>{m5("SoundFont stored successfully")},u.onerror=m=>{console.error("Error saving soundfont",m)}}catch(u){I9("Failed saving soundfont:",u)}})}async function D_(r){let i=new nC(r);try{let u=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new u({sampleRate:Q_})}catch(u){throw G$(Up(256)),P7.textContent=i.getLocaleString("locale.synthInit.noWebAudio"),u}P7.textContent=i.getLocaleString("locale.synthInit.loadingSoundfont");let A=await b_(),c=!0;if(A===void 0){I9("Failed to load from db, fetching online instead"),c=!1;let u=document.getElementById("progress_bar"),m=i.getLocaleString("locale.synthInit.loadingBundledSoundfont");P7.textContent=m,A=await __(`soundfonts/${w_}`,R=>{P7.textContent=`${m} ${R}%`}),u.style.width="0"}else m5("Loaded the soundfont from the database succesfully");window.soundFontParser=A,c||(P7.textContent=i.getLocaleString("locale.synthInit.savingSoundfont"),await Pk(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 Zn(audioContextMain,soundFontParser,i),window.manager.sfError=u=>{G$(Up(256)),c?(I9("Invalid soundfont in the database. Resetting."),bB(m=>{let U=m.transaction([U$],"readwrite").objectStore(U$).delete("buffer");U.onsuccess=()=>{location.reload()}})):IC.innerHTML=`Error parsing soundfont:

${u}
`,P7.innerHTML=`Error parsing soundfont:
${u}
`},await manager.ready,ja.files[0]?await kB(ja.files):(ja.onclick=void 0,ja.onchange=()=>{ja.files[0]&&kB(ja.files).then()}),G$($B(256)),P7.textContent=i.getLocaleString("locale.synthInit.done")}async function __(r,i){let A=await fetch(r);if(!A.ok)throw IC.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),u=await(await A.body).getReader(),m=!1,R=new Uint8Array(parseInt(c)),q=0;do{let U=await u.read();U.value&&(R.set(U.value,q),q+=U.value.length),m=U.done;let G=Math.round(q/c*100);i(G)}while(!m);return R.buffer}async function kB(r){Uk.style.display="none";let i;r[0].name.length>20?i=r[0].name.substring(0,21)+"...":i=r[0].name,r.length>1&&(i+=` and ${r.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=r[0].name;let A=[];for(let c of r)A.push({binary:await c.arrayBuffer(),altName:c.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(A):manager.play(A),vB.style.display="flex",vB.onclick=window.manager.exportSong.bind(window.manager)}function x_(r){localStorage.setItem("spessasynth-settings",JSON.stringify(r)),m5("saved as",r)}window.saveSettings=x_;var Vp=JSON.parse(localStorage.getItem("spessasynth-settings"));Vp!==null&&(window.savedSettings=new Promise(r=>{r(Vp)}));var SB;Vp&&Vp.interface&&Vp.interface.language?SB=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():SB=navigator.language.split("-")[0].toLowerCase();ja.value="";ja.focus();vB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function L_(r){IC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+r);i.name=r,await kB([i])}D_(SB).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",N$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{N$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),N7&&window.chrome&&Ne(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),v_.onchange=r=>{if(!r.target.files[0])return;let i=r.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=i.name,N$.style.display="",setTimeout(async()=>{N$.classList.remove("done"),G$(nw(256),!1),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let A=performance.now()/1e3,c;try{c=await i.arrayBuffer(),window.soundFontParser=c}catch(m){throw P7.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),G$(Up(256)),Ne(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),m}window.manager.sfError=m=>{P7.innerHTML=`Error parsing soundfont:
${m}
`,G$(Up(256)),console.error(m)},P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(c),window.manager.seq&&(window.manager.seq.currentTime-=.1),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await Pk(c);let u=performance.now()/1e3-A;await new Promise(m=>setTimeout(m,1e3-u)),G$($B(256)),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),N$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{N$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},Uk.onclick=async()=>{let r=[{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];IC.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 c of A)r.push({type:"button",textContent:c.name,onClick:u=>{le(u.id),Ne(window.manager.localeManager.getLocaleString("locale.credits"),[{type:"text",textContent:c.credits.replace(` +Note: the video will be available in console as 'video'`,"");if(G0===null)return;let I1=document.createElement("video");I1.src=G0,I1.classList.add("secret_video"),G.parentElement.appendChild(I1),I1.play(),window.video=I1,this.seq&&(I1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),I1.play(),this.seq.currentTime=0),document.addEventListener("keydown",g1=>{g1.key===" "&&(I1.paused?I1.play():I1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new K5(i),4).toLowerCase()==="dls "&&Ne(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{le(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{le(c.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 HE(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=Vo(this.soundFont),c=qE(A.writeDLS(),i,A),u=new Blob([c.buffer],{type:"audio/rmid"});this.saveBlob(u,`${i.midiName}.rmi`)}downloadDesfont(){let i=Vo(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};Zn.prototype.exportSong=Rk;Zn.prototype._exportAudioData=Yv;Zn.prototype._doExportAudioData=Vv;Zn.prototype.exportMidi=zv;Zn.prototype._exportSoundfont=Mk;Zn.prototype._exportDLS=Gk;Zn.prototype._exportRMIDI=Fk;var Q_=44100,w_="GeneralUserGS.sf3",mC=document.getElementById("title"),ja=document.getElementById("midi_file_input"),v_=document.getElementById("sf_file_input"),Uk=document.getElementById("demo_song"),vB=document.getElementById("export_button"),N$=document.getElementsByClassName("loading")[0],P7=document.getElementById("loading_message"),k_=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=k_.version;var S_="spessasynth-db",U$="soundFontStore";function bB(r){let i=indexedDB.open(S_,1);i.onsuccess=()=>{let A=i.result;r(A)},i.onupgradeneeded=A=>{A.target.result.createObjectStore(U$,{keyPath:"id"})}}async function b_(){return await new Promise(r=>{bB(i=>{let u=i.transaction([U$],"readonly").objectStore(U$).get("buffer");u.onerror=m=>{console.error("Database error"),console.error(m),r(void 0)},u.onsuccess=async()=>{let m=u.result;if(!m){r(void 0);return}r(m.data)}})})}function G$(r,i=!0){let A=N$.getElementsByClassName("loading_icon")[0];A.innerHTML=r,A.style.animation=i?"none":""}async function Pk(r){bB(i=>{let c=i.transaction([U$],"readwrite").objectStore(U$);try{let u=c.put({id:"buffer",data:r});u.onsuccess=()=>{m5("SoundFont stored successfully")},u.onerror=m=>{console.error("Error saving soundfont",m)}}catch(u){I9("Failed saving soundfont:",u)}})}async function D_(r){let i=new rC(r);try{let u=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new u({sampleRate:Q_})}catch(u){throw G$(Up(256)),P7.textContent=i.getLocaleString("locale.synthInit.noWebAudio"),u}P7.textContent=i.getLocaleString("locale.synthInit.loadingSoundfont");let A=await b_(),c=!0;if(A===void 0){I9("Failed to load from db, fetching online instead"),c=!1;let u=document.getElementById("progress_bar"),m=i.getLocaleString("locale.synthInit.loadingBundledSoundfont");P7.textContent=m,A=await __(`soundfonts/${w_}`,M=>{P7.textContent=`${m} ${M}%`}),u.style.width="0"}else m5("Loaded the soundfont from the database succesfully");window.soundFontParser=A,c||(P7.textContent=i.getLocaleString("locale.synthInit.savingSoundfont"),await Pk(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 Zn(audioContextMain,soundFontParser,i),window.manager.sfError=u=>{G$(Up(256)),c?(I9("Invalid soundfont in the database. Resetting."),bB(m=>{let U=m.transaction([U$],"readwrite").objectStore(U$).delete("buffer");U.onsuccess=()=>{location.reload()}})):mC.innerHTML=`Error parsing soundfont:
${u}
`,P7.innerHTML=`Error parsing soundfont:
${u}
`},await manager.ready,ja.files[0]?await kB(ja.files):(ja.onclick=void 0,ja.onchange=()=>{ja.files[0]&&kB(ja.files).then()}),G$(lB(256)),P7.textContent=i.getLocaleString("locale.synthInit.done")}async function __(r,i){let A=await fetch(r);if(!A.ok)throw mC.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),u=await(await A.body).getReader(),m=!1,M=new Uint8Array(parseInt(c)),q=0;do{let U=await u.read();U.value&&(M.set(U.value,q),q+=U.value.length),m=U.done;let G=Math.round(q/c*100);i(G)}while(!m);return M.buffer}async function kB(r){Uk.style.display="none";let i;r[0].name.length>20?i=r[0].name.substring(0,21)+"...":i=r[0].name,r.length>1&&(i+=` and ${r.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=r[0].name;let A=[];for(let c of r)A.push({binary:await c.arrayBuffer(),altName:c.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(A):manager.play(A),vB.style.display="flex",vB.onclick=window.manager.exportSong.bind(window.manager)}function x_(r){localStorage.setItem("spessasynth-settings",JSON.stringify(r)),m5("saved as",r)}window.saveSettings=x_;var Vp=JSON.parse(localStorage.getItem("spessasynth-settings"));Vp!==null&&(window.savedSettings=new Promise(r=>{r(Vp)}));var SB;Vp&&Vp.interface&&Vp.interface.language?SB=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():SB=navigator.language.split("-")[0].toLowerCase();ja.value="";ja.focus();vB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function L_(r){mC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+r);i.name=r,await kB([i])}D_(SB).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",N$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{N$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),N7&&window.chrome&&Ne(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),v_.onchange=r=>{if(!r.target.files[0])return;let i=r.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=i.name,N$.style.display="",setTimeout(async()=>{N$.classList.remove("done"),G$(nw(256),!1),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let A=performance.now()/1e3,c;try{c=await i.arrayBuffer(),window.soundFontParser=c}catch(m){throw P7.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),G$(Up(256)),Ne(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),m}window.manager.sfError=m=>{P7.innerHTML=`Error parsing soundfont:
${m}
`,G$(Up(256)),console.error(m)},P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(c),window.manager.seq&&(window.manager.seq.currentTime-=.1),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await Pk(c);let u=performance.now()/1e3-A;await new Promise(m=>setTimeout(m,1e3-u)),G$(lB(256)),P7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),N$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{N$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},Uk.onclick=async()=>{let r=[{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];mC.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 c of A)r.push({type:"button",textContent:c.name,onClick:u=>{le(u.id),Ne(window.manager.localeManager.getLocaleString("locale.credits"),[{type:"text",textContent:c.credits.replace(` `,`\r \r `),attributes:{style:"white-space: pre-line;"}},{type:"button",textContent:"Ok",onClick:m=>{le(m.id)}}],999999,!0,void 0,void 0,async()=>{await L_(c.fileName)})}});Ne(window.manager.localeManager.getLocaleString("locale.demoSongButton"),r,999999,!0,void 0)}}); diff --git a/src/website/minified/local_main.min.js b/src/website/minified/local_main.min.js index 7a917d8..b276d69 100644 --- a/src/website/minified/local_main.min.js +++ b/src/website/minified/local_main.min.js @@ -6,8 +6,8 @@ var QE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>( Transform type: ${this.transformType} -`}},WC=960,ZC=j7.concave;function Jr(n,i,A,c,u){return n<<10|i<<9|A<<8|c<<7|u}var TD=[new l9({srcEnum:Jr(ZC,0,1,0,q4.noteOnVelocity),dest:f0.initialAttenuation,amt:WC,secSrcEnum:0,transform:0}),new l9({srcEnum:129,dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(ZC,0,1,1,$3.mainVolume),dest:f0.initialAttenuation,amt:WC,secSrcEnum:0,transform:0}),new l9({srcEnum:13,dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:526,dest:f0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new l9({srcEnum:650,dest:f0.pan,amt:500,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(ZC,0,1,1,$3.expressionController),dest:f0.initialAttenuation,amt:WC,secSrcEnum:0,transform:0}),new l9({srcEnum:219,dest:f0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:221,dest:f0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0})],ND=[new l9({srcEnum:Jr(j7.linear,0,0,0,q4.polyPressure),dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(j7.linear,0,0,1,$3.tremoloDepth),dest:f0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(j7.linear,1,0,1,$3.releaseTime),dest:f0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(j7.linear,1,0,1,$3.brightness),dest:f0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(j7.linear,1,0,1,$3.timbreHarmonicContent),dest:f0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})],bE=TD.concat(ND);var _$=128,CQ=147,GD=new Int16Array(CQ).fill(0),A7=(n,i)=>GD[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 DE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},BQ=Object.keys(DE).length,UD=new Float32Array(BQ);UD[DE.modulationMultiplier]=1;var yQ={velocityOverride:128};var _E=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},xE={addMapping:0,deleteMapping:1,clearMappings:2};var LE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let u=c?.velocity??-1,p=c?.patch?.program??-1,R=c?.patch?.bank??-1,q=new _E(u,R,p);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=q,this._sendToWorklet(xE.addMapping,[i,A,q])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(xE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(xE.clearMappings,void 0),this._keyModifiers=[]}};var PD="spessasynth-worklet-system",jC=350,T7=9,OD=16;var mu=class{constructor(i,A,c=!0,u=void 0,p=EQ){_5("%cInitializing SpessaSynth synthesizer...",E1.info),this.context=i.context,this.targetNode=i;let R=u?.oneOutput===!0;this.eventHandler=new vE,this._voiceCap=jC,this._destroyed=!1,this._outputsAmount=OD,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 SE(this),this.keyModifierManager=new LE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!R&&(this.reverbProcessor=fQ(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!R&&(this.chorusProcessor=new kp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),R)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,c,u){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,A,c,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((c,u)=>c+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:T9(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}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,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,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}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,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[yQ.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){T9("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 c=dQ(i[0]);switch(c.channel+=A,c.status){case v3.noteOn:let u=i[2];u>0?this.noteOn(c.channel,i[1],u):this.noteOff(c.channel,i[1]);break;case v3.noteOff:this.noteOff(c.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case v3.programChange:this.programChange(c.channel,i[1]);break;case v3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(c.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new K5(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(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,u)=>{let p;if(pr)p=127;else{let q=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let U=u.clientX-q.left,N=q.width;p=Math.floor((N-U)/N*127)}else{let U=u.clientY-q.top,N=q.height;p=Math.floor(U/N*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let u=c.touches?Array.from(c.touches):[c],p=new Set;u.forEach(R=>{let q=document.elementFromPoint(R.clientX,R.clientY),U=parseInt(q.id.replace("note",""));p.add(U),!(isNaN(U)||U<0||this.pressedKeys.has(U))&&(this.pressedKeys.add(U),i(U,R))}),this.pressedKeys.forEach(R=>{p.has(R)||n(R)})};pr||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var wQ=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",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.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",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,c.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&&(p=A(i-1)),i<127&&(R=A(i+1)),R&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):R&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.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(c=>{c.classList.contains("flat_key")&&c.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),p=document.styleSheets[0].cssRules,R;for(let q of p)if(q.selectorText==="#keyboard .key"){R=q;break}if(R.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let q=getComputedStyle(this.keyboard),U=parseFloat(q.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),N=this.keyboard.getBoundingClientRect().height,k0=u/U,v=N*k0-N,T=(this._keyRange.min+this._keyRange.max)/2,P=(i.min+i.max)/2;this._keyRange=i;let G0=this.keys.find(j1=>j1.classList.contains("sharp_key")).getBoundingClientRect().width,I1=(T-P)*G0,g1=parseFloat(q.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${v}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${k0}) translateX(${I1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${g1/k0}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,c){let u=this.keys[i-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let p=u.classList.contains("sharp_key"),R=c/127,q=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),U;if(!p&&this.mode==="light"?U=`rgba(${q.slice(0,3).map(k0=>255-(255-k0)*R).join(", ")}, ${q[3]})`:U=`rgba(${q.slice(0,3).map(k0=>k0*R).join(", ")}, ${q[3]})`,u.style.background=U,this.mode==="dark"){let N=wQ*R;u.style.boxShadow=`${U} 0px 0px ${N}px ${N/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let u=this.keyColors[i-this._keyRange.min];if(!u)return;let p=u.findLastIndex(R=>R===this.channelColors[A]);p!==-1&&(u.splice(p,1),c.style.background=u[u.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${wQ}px ${u[u.length-1]}`),u.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};Dp.prototype._handlePointers=QQ;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 HD="#000";function vQ(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let u=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*u,A){i.fillRect(c.xPos,c.yPos-c.height*u,c.width,c.height*(u*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*u,c.yPos,c.width*(u*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=HD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var XC=!1;function kQ(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(XC){n&&requestAnimationFrame(this.render.bind(this));return}else XC=!0;else XC=!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 p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||vQ(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${ME}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,ME*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,ME+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function SQ(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,u=i/(c+1),p=u-M$*2,R=this.noteFallingTimeMs/1e3,q=this.noteAfterTriggerTimeMs/1e3,U=this.seq.currentHighResolutionTime-this.timeOffset,N=U-q,k0=R+q,v=N+k0,T=DQ/k0,P=[];this.synth.channelProperties.forEach(I1=>{if(this.showVisualPitch){let g1=I1.pitchBend-8192+this.visualPitchBendOffset;P.push(I1.pitchBendRangeSemitones*(g1/8192*u))}else P.push(0)});let G0=[];return this.noteTimes.forEach((I1,g1)=>{if(I1.renderStartIndex>=I1.notes.length||!this.renderChannels[g1])return;let j1=I1.renderStartIndex,z1=I1.notes,u2=z1[j1],P2=-1;for(;u2.start<=v&&(j1++,!(this.notesOnScreen>_Q));){let L2=u2.start+u2.length;if(L2>N&&u2.length>0){let a0=u2.length/k0*A-M$*2;if(this.notesOnScreen<1e3||a0>T){P2===-1&&(P2=j1-1);let g5=(u2.start-N)/k0*A,p3;if(this._notesFall?p3=A-a0-g5+M$:p3=g5+M$,u2.midiNotethis.keyRange.max){if(j1>=z1.length)break;u2=z1[j1];continue}let k3=u2.midiNote-this.keyRange.min,u6=u*k3+M$,S3,c9,N9,E3;if(this.sideways?(S3=p3,c9=u6,E3=p,N9=a0):(c9=p3,S3=u6,N9=p,E3=a0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[g1],this.drawingContext.fillRect(S3+L$+M$,c9+L$,N9-L$*2,E3-L$*2);else{let p6;if(u2.start>U||L2=z1.length)break;u2=z1[j1]}P2>-1&&(I1.renderStartIndex=P2)}),G0.sort((I1,g1)=>g1.height-I1.height),G0}function xQ(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let u=c%4,p=Math.floor(c/4),R=!1;for(let v=c;v0){R=!0;break}if(!R){let v=this.canvas.width/4,T=this.canvas.height/4,P=v*u,G0=T*p+T/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(P,G0),this.drawingContext.lineTo(P+v,G0),this.drawingContext.stroke();return}let q=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(q);let U=n*u,N=i*p+i/2,k0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let v=q.length/4,T=n/v,P=Math.floor(v/2),G0=q.length-P;for(let z1=G0;z1>=1;z1--)if(q[z1-1]<0&&q[z1]>=0){G0=z1;break}let I1=U,g1=G0-P,j1=G0+P;for(let z1=g1;z1{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function RQ(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function TQ(){for(let n of this.channelAnalysers)n.disconnect();_5("%cAnalysers disconnected!",E1.recognized)}function NQ(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]),c=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("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function GQ(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function _p(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function xp(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var pu=.02;function UQ(n){function i(N){return N.messageData=new K5(N.messageData.buffer),N.messageData.currentIndex=0,6e7/_p(N.messageData,3)}let A=[],u=n.tracks.flat();u.sort((N,k0)=>N.ticks-k0.ticks);for(let N=0;N<16;N++)A.push({renderStartIndex:0,notes:[]});let p=0,R=60/(120*n.timeDivision),q=0,U=0;for(;q>4,v=N.messageStatusByte&15;if(k0===8){let T=A[v].notes.findLast(P=>P.midiNote===N.messageData[0]&&P.length===-1);if(T){let P=p-T.start;T.length=PP.midiNote===N.messageData[0]&&P.length===-1);if(T){let P=p-T.start;T.length=P=u.length)break;p+=R*(u[q].ticks-N.ticks)}U>0&&A.forEach((N,k0)=>N.notes.filter(v=>v.length===-1).forEach(v=>{let T=p-v.start;v.length=Ti.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,c=>c*FE)),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,c=>c*FE*RE)),A.addColorStop(1,x$(i,c=>c*RE)),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,c=>c*FE)),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,c=>c*FE*RE)),A.addColorStop(1,x$(i,c=>c*RE)),A})}};N7.prototype.render=kQ;N7.prototype.computeNotePositions=SQ;N7.prototype.createChannelAnalysers=MQ;N7.prototype.updateFftSize=RQ;N7.prototype.connectChannelAnalysers=FQ;N7.prototype.disconnectChannelAnalysers=TQ;N7.prototype.connectSequencer=NQ;N7.prototype.calculateNoteTimes=UQ;N7.prototype.resetIndexes=GQ;N7.prototype.renderWaveforms=xQ;function s3(n,i){let A=0;for(let c=0;c>>0}function Ii(n,i,A){for(let c=0;c>c*8&255}function X3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function m9(n,i){Ii(n,i,4)}function Ua(n,i){let A=i<<8|n;return A>32767?A-65536:A}function PQ(n){return n>127?n-256:n}function y4(n,i,A=void 0,c=!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,p="";for(let R=0;R127)&&q!==10){if(c){u=!0;continue}else if(q===0){u=!0;continue}}p+=String.fromCharCode(q)}}return p}}function Eu(n,i=0){let A=n.length;i>0&&(A=i);let c=new K5(A);return U8(c,n,i),c}function Fn(n){return Eu(n,n.length+1)}function U8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,y4(A.chunkData,4)===i))}function TE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function NE(n){let i=[];for(let u of n.tracks){let p=[],R=0,q;for(let U of u){let N=U.ticks-R,k0;U.messageStatusByte<=v3.keySignature||U.messageStatusByte===v3.sequenceSpecific?k0=[255,U.messageStatusByte,...TE(U.messageData.length),...U.messageData]:U.messageStatusByte===v3.systemExclusive?k0=[240,...TE(U.messageData.length),...U.messageData]:(k0=[],q!==U.messageStatusByte&&(q=U.messageStatusByte,k0.push(U.messageStatusByte)),k0.push(...U.messageData)),p.push(...TE(N)),p.push(...k0),R+=N}i.push(new Uint8Array(p))}function A(u,p){for(let R=0;R{n.tracks.forEach((G0,I1)=>{if(n.midiPorts[I1]===P)for(let g1=G0.length-1;g1>=0;g1--)G0[g1].messageStatusByte>=128&&G0[g1].messageStatusByte<240&&(G0[g1].messageStatusByte&15)===T&&G0.splice(g1,1)})};c.forEach(T=>{let P=T%16,G0=T-P,I1=n.midiPortChannelOffsets.findIndex(g1=>g1===G0);p(P,I1),_5(`%cRemoving channel %c${T}%c!`,E1.info,E1.recognized,E1.info)});let R=!1,q="gs",U=[],N=[];n.tracks.forEach((T,P)=>{T.forEach(G0=>{let I1=G0.messageStatusByte&240;I1===v3.controllerChange?U.push({track:P,message:G0,channel:G0.messageStatusByte&15}):I1===v3.programChange?N.push({track:P,message:G0,channel:G0.messageStatusByte&15}):G0.messageStatusByte===v3.systemExclusive&&(G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[5]===126&&G0.messageData[6]===0?(_5("%cXG system on detected",E1.info),q="xg",R=!0):G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[3]===8&&G0.messageData[5]===3&&N.push({track:P,message:G0,channel:G0.messageData[4]}))})});let k0=(T,P,G0)=>n.tracks.reduce((I1,g1,j1)=>{if(n.usedChannelsOnTrack[j1].has(T)&&n.midiPorts[j1]===P){let z1;G0?z1=g1.findIndex(u2=>(u2.messageStatusByte&240)===v3.noteOn):z1=g1.findIndex(u2=>u2.messageStatusByte>128&&u2.messageStatusByte<240&&(u2.messageStatusByte&15)===T&&!(u2.messageStatusByte&v3.controllerChange===240&&(u2.messageData[0]===$3.resetAllControllers||u2.messageData[0]===$3.allNotesOff||u2.messageData[0]===$3.allSoundOff))),z1!==-1&&I1.push({index:z1,track:j1})}return I1},[]),v=(T,P,G0)=>{let I1=U.filter(g1=>g1.channel===T&&g1.message.messageData[0]===G0&&n.midiPorts[g1.track]===P);for(let g1=0;g1{let P=T.channel,G0=P%16,I1=P-G0,g1=n.midiPortChannelOffsets.findIndex(a0=>a0===I1),j1=T.controllerValue,z1=T.controllerNumber;v(G0,g1,z1),_5(`%cNo controller %c${z1}%c on channel %c${P}%c found. Adding it!`,E1.info,E1.unrecognized,E1.info,E1.value,E1.info);let u2=k0(G0,g1,!0);if(u2.length===0){T9("Program change but no notes... ignoring!");return}let P2=u2.reduce((a0,g5)=>n.tracks[g5.track][g5.index].ticks{let P=T.channel%16,G0=T.channel-P,I1=n.midiPortChannelOffsets.findIndex(k3=>k3===G0),g1=T.isDrum?0:T.bank,j1=T.program,z1=N.filter(k3=>n.midiPorts[k3.track]===I1&&k3.channel===P);if(v(P,I1,$3.bankSelect),v(P,I1,$3.lsbForControl0BankSelect),(T.isDrum||g1>0)&&!R&&(n.tracks.forEach(k3=>{for(let u6=0;u60);if(u2.length===0){T9("Program change but no notes... ignoring!");return}let P2=u2.reduce((k3,u6)=>n.tracks[u6.track][u6.index].ticks{if(n.midiPorts[z1]!==G0||!n.usedChannelsOnTrack[z1].has(P))return;let u2=v3.noteOn|P,P2=v3.noteOff|P,L2=v3.polyPressure|P;j1.forEach(a0=>{a0.messageStatusByte!==u2&&a0.messageStatusByte!==P2&&a0.messageStatusByte!==L2||(a0.messageData[0]=Math.max(0,Math.min(127,a0.messageData[0]+I1)))})}),g1!==0){let j1=n.tracks.find((S3,c9)=>n.usedChannelsOnTrack[c9].has(T.channel));if(j1===void 0){T9(`Channel ${T.channel} unused but transpose requested???`);continue}let z1=v3.noteOn|T.channel%16,u2=j1.findIndex(S3=>S3.messageStatusByte===z1);if(u2===-1){T9(`No notes on channel ${T.channel} but transpose requested???`);continue}let P2=j1[u2].ticks,L2=g1*64+64,a0=v3.controllerChange|T.channel%16,g5=new w7(P2,a0,new K5([$3.RPNMsb,0])),p3=new w7(P2,a0,new K5([$3.RPNLsb,1])),k3=new w7(P2,a0,new K5([$3.dataEntryMsb,L2])),u6=new w7(P2,a0,new K5([$3.lsbForControl6DataEntry,0]));j1.splice(u2,0,u6),j1.splice(u2,0,k3),j1.splice(u2,0,p3),j1.splice(u2,0,g5)}}u9()}function Pa(n,i){let A=[],c=[],u=[],p=[];i.channelSnapshots.forEach((R,q)=>{if(R.isMuted){c.push(q);return}let U=R.channelTransposeKeyShift+R.customControllers[DE.channelTransposeFine]/100;U!==0&&A.push({channel:q,keyShift:U}),R.lockPreset&&u.push({channel:q,program:R.program,bank:R.bank,isDrum:R.drumChannel}),R.lockedControllers.forEach((N,k0)=>{if(!N||k0>127||k0===$3.bankSelect)return;let v=R.midiControllers[k0]>>7;p.push({channel:q,controllerNumber:k0,controllerValue:v})})}),WD(n,u,p,c,A)}var P8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",ZD="Created using SpessaSynth";function GE(n,i,A,c=0,u="Shift_JIS",p={},R=!0){if(F7("%cWriting the RMIDI File...",E1.info),_5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${u}`,E1.info,E1.value,E1.info,E1.value),_5("metadata",p),_5("Initial bank offset",i.bankOffset),R){let j1=function(){let L2=0,a0=1/0;return i.tracks.forEach((g5,p3)=>{I1[p3]>=g5.length||g5[I1[p3]].ticksa0>L2?a0:L2),P2=[];for(let L2=0;L20;){let L2=j1(),a0=i.tracks[L2];if(I1[L2]>=a0.length){g1--;continue}let g5=a0[I1[L2]];I1[L2]++;let p3=i.midiPortChannelOffsets[z1[L2]];if(g5.messageStatusByte===v3.midiPort){z1[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",G0.push({tNum:L2,e:g5}));continue}let c9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][g5.messageData[5]&15]+p3;P2[c9].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 c9=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),N9=S3.drums?128:c9;if(S3.lastBank===void 0)continue;if(P==="xg"&&S3.drums&&(P2[u6].lastBank.messageData[1]=127),A.presets.findIndex(E3=>E3.bank===N9&&E3.program===g5.messageData[0])===-1){let E3=A.presets.find(p6=>p6.program===g5.messageData[0])?.bank+c||c;S3.lastBank.messageData[1]=E3,_5(`%cNo preset %c${N9}:${g5.messageData[0]}%c. Changing bank to ${E3}.`,E1.info,E1.recognized,E1.info)}else{let p6=(N9===128?P==="xg"?127:0:c9)+c;S3.lastBank.messageData[1]=p6,_5(`%cPreset %c${N9}:${g5.messageData[0]}%c exists. Changing bank to ${p6}.`,E1.info,E1.recognized,E1.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 c9=S3.findIndex(p6=>p6.messageStatusByte===p3);if(c9===-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 K5([er]))),c9=p6}_5(`%cAdding bank select for %c${a0}`,E1.info,E1.recognized);let N9=S3[c9].ticks,E3=A.getPreset(0,L2.program)?.bank+c||c;S3.splice(c9,0,new w7(N9,v3.controllerChange|g5,new K5([$3.bankSelect,E3])))}),P!=="gs"&&P!=="xg"){for(let a0 of G0)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,tB(0))}}let q=new K5(NE(i).buffer),U=[Eu("INFO")],N=new TextEncoder;if(U.push(k6(P8.software,N.encode("SpessaSynth"),!0)),p.name!==void 0?(U.push(k6(P8.name,N.encode(p.name),!0)),u=Oa):U.push(k6(P8.name,i.rawMidiName,!0)),p.creationDate!==void 0)u=Oa,U.push(k6(P8.creationDate,N.encode(p.creationDate),!0));else{let P=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});U.push(k6(P8.creationDate,Fn(P),!0))}if(p.comment!==void 0&&(u=Oa,U.push(k6(P8.comment,N.encode(p.comment)))),p.engineer!==void 0&&U.push(k6(P8.engineer,N.encode(p.engineer),!0)),p.album!==void 0&&(u=Oa,U.push(k6(P8.album,N.encode(p.album),!0))),p.artist!==void 0&&(u=Oa,U.push(k6(P8.artist,N.encode(p.artist),!0))),p.genre!==void 0&&(u=Oa,U.push(k6(P8.genre,N.encode(p.genre),!0))),p.picture!==void 0&&U.push(k6(P8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)u=Oa,U.push(k6(P8.copyright,N.encode(p.copyright),!0));else{let P=i.copyright.length>0?i.copyright:ZD;U.push(k6(P8.copyright,Fn(P)))}let k0=new K5(2);Ii(k0,c,2),U.push(k6(P8.bankOffset,k0)),p.midiEncoding!==void 0&&(U.push(k6(P8.midiEncoding,N.encode(p.midiEncoding))),u=Oa),U.push(k6(P8.encoding,Fn(u)));let v=St(U),T=St([Eu("RMID"),k6("data",q),k6("LIST",v),n]);return _5("%cFinished!",E1.info),u9(),k6("RIFF",T)}var Lp=class n{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];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;embeddedSoundFont=void 0;format=0;RMIDInfo={};bankOffset=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.tempoChanges=[...i.tempoChanges],A.lyrics=i.lyrics.map(c=>new Uint8Array(c)),A.midiPorts=[...i.midiPorts],A.midiPortChannelOffsets=[...i.midiPortChannelOffsets],A.usedChannelsOnTrack=i.usedChannelsOnTrack.map(c=>new Set(c)),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(c=>[...c]),A}flush(){let i=[];for(let u of this.tracks){u.sort((R,q)=>R.ticks-q.ticks);let p=u.find(R=>(R.messageStatusByte&240)===v3.noteOn);p&&i.push(p.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,p)=>{this.midiPorts.push(-1),u.forEach(R=>{if(R.messageStatusByte>=128&&R.messageStatusByte<240&&R.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=R.ticks),R.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:R.ticks,tempo:6e7/_p(R.messageData,3)});else if((R.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[p].add(R.messageData[0]);else if(R.messageStatusByte===v3.midiPort){let q=R.messageData[0];this.midiPorts[p]=q,this.midiPortChannelOffsets[q]===void 0&&(this.midiPortChannelOffsets[q]=A,A+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Cu(this.lastVoiceEventTick,this);let c=0;for(let u of this.midiPorts)if(u!==-1){c=u;break}this.midiPorts=this.midiPorts.map(u=>u===-1?c:u),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Cu(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);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(q=>q[1](u)),A[2]===!0&&this.unpause();break;case qa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case qa.timeChange:let R=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(q=>q[1](R)),this._recalculateStartTime(R),this.paused&&this._preservePlaybackState?this.pausedTime=R:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(q=>q[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(Lp.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=OQ,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){T9("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 Mp=["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 qQ(n){return` +`}},ZC=960,jC=j7.concave;function Jr(n,i,A,c,u){return n<<10|i<<9|A<<8|c<<7|u}var TD=[new l9({srcEnum:Jr(jC,0,1,0,q4.noteOnVelocity),dest:f0.initialAttenuation,amt:ZC,secSrcEnum:0,transform:0}),new l9({srcEnum:129,dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(jC,0,1,1,$3.mainVolume),dest:f0.initialAttenuation,amt:ZC,secSrcEnum:0,transform:0}),new l9({srcEnum:13,dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:526,dest:f0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new l9({srcEnum:650,dest:f0.pan,amt:500,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(jC,0,1,1,$3.expressionController),dest:f0.initialAttenuation,amt:ZC,secSrcEnum:0,transform:0}),new l9({srcEnum:219,dest:f0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new l9({srcEnum:221,dest:f0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0})],ND=[new l9({srcEnum:Jr(j7.linear,0,0,0,q4.polyPressure),dest:f0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(j7.linear,0,0,1,$3.tremoloDepth),dest:f0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(j7.linear,1,0,1,$3.releaseTime),dest:f0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(j7.linear,1,0,1,$3.brightness),dest:f0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new l9({srcEnum:Jr(j7.linear,1,0,1,$3.timbreHarmonicContent),dest:f0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})],bE=TD.concat(ND);var _$=128,CQ=147,GD=new Int16Array(CQ).fill(0),A7=(n,i)=>GD[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 DE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},BQ=Object.keys(DE).length,UD=new Float32Array(BQ);UD[DE.modulationMultiplier]=1;var yQ={velocityOverride:128};var _E=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},xE={addMapping:0,deleteMapping:1,clearMappings:2};var LE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let u=c?.velocity??-1,p=c?.patch?.program??-1,R=c?.patch?.bank??-1,q=new _E(u,R,p);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=q,this._sendToWorklet(xE.addMapping,[i,A,q])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(xE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(xE.clearMappings,void 0),this._keyModifiers=[]}};var PD="spessasynth-worklet-system",XC=350,T7=9,OD=16;var mu=class{constructor(i,A,c=!0,u=void 0,p=EQ){_5("%cInitializing SpessaSynth synthesizer...",E1.info),this.context=i.context,this.targetNode=i;let R=u?.oneOutput===!0;this.eventHandler=new vE,this._voiceCap=XC,this._destroyed=!1,this._outputsAmount=OD,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 SE(this),this.keyModifierManager=new LE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!R&&(this.reverbProcessor=fQ(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!R&&(this.chorusProcessor=new kp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),R)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,c,u){this.post({channelNumber:a7,messageType:B4.setLogLevel,messageData:[i,A,c,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((c,u)=>c+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:T9(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}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,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,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(a7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}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,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[yQ.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){T9("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 c=dQ(i[0]);switch(c.channel+=A,c.status){case v3.noteOn:let u=i[2];u>0?this.noteOn(c.channel,i[1],u):this.noteOff(c.channel,i[1]);break;case v3.noteOff:this.noteOff(c.channel,i[1]);break;case v3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case v3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case v3.programChange:this.programChange(c.channel,i[1]);break;case v3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case v3.channelPressure:this.channelPressure(c.channel,i[1]);break;case v3.systemExclusive:this.systemExclusive(new K5(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(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,u)=>{let p;if(pr)p=127;else{let q=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let U=u.clientX-q.left,N=q.width;p=Math.floor((N-U)/N*127)}else{let U=u.clientY-q.top,N=q.height;p=Math.floor(U/N*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let u=c.touches?Array.from(c.touches):[c],p=new Set;u.forEach(R=>{let q=document.elementFromPoint(R.clientX,R.clientY),U=parseInt(q.id.replace("note",""));p.add(U),!(isNaN(U)||U<0||this.pressedKeys.has(U))&&(this.pressedKeys.add(U),i(U,R))}),this.pressedKeys.forEach(R=>{p.has(R)||n(R)})};pr||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var wQ=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",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.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",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let u=0;u<128;u++)this.releaseNote(u,c.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&&(p=A(i-1)),i<127&&(R=A(i+1)),R&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):R&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.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(c=>{c.classList.contains("flat_key")&&c.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),p=document.styleSheets[0].cssRules,R;for(let q of p)if(q.selectorText==="#keyboard .key"){R=q;break}if(R.style.setProperty("--pressed-transform-skew",`${8e-4/(u/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let q=getComputedStyle(this.keyboard),U=parseFloat(q.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),N=this.keyboard.getBoundingClientRect().height,k0=u/U,v=N*k0-N,T=(this._keyRange.min+this._keyRange.max)/2,P=(i.min+i.max)/2;this._keyRange=i;let G0=this.keys.find(j1=>j1.classList.contains("sharp_key")).getBoundingClientRect().width,I1=(T-P)*G0,g1=parseFloat(q.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${v}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${k0}) translateX(${I1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${g1/k0}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,c){let u=this.keys[i-this._keyRange.min];if(u===void 0)return;u.classList.add("pressed");let p=u.classList.contains("sharp_key"),R=c/127,q=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),U;if(!p&&this.mode==="light"?U=`rgba(${q.slice(0,3).map(k0=>255-(255-k0)*R).join(", ")}, ${q[3]})`:U=`rgba(${q.slice(0,3).map(k0=>k0*R).join(", ")}, ${q[3]})`,u.style.background=U,this.mode==="dark"){let N=wQ*R;u.style.boxShadow=`${U} 0px 0px ${N}px ${N/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let u=this.keyColors[i-this._keyRange.min];if(!u)return;let p=u.findLastIndex(R=>R===this.channelColors[A]);p!==-1&&(u.splice(p,1),c.style.background=u[u.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${wQ}px ${u[u.length-1]}`),u.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};Dp.prototype._handlePointers=QQ;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 HD="#000";function vQ(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let u=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*u,A){i.fillRect(c.xPos,c.yPos-c.height*u,c.width,c.height*(u*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*u,c.yPos,c.width*(u*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=HD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var eB=!1;function kQ(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(eB){n&&requestAnimationFrame(this.render.bind(this));return}else eB=!0;else eB=!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 p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||vQ(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let u=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${ME}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,ME*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(u).toString()+" FPS",this.canvas.width,ME+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function SQ(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,u=i/(c+1),p=u-M$*2,R=this.noteFallingTimeMs/1e3,q=this.noteAfterTriggerTimeMs/1e3,U=this.seq.currentHighResolutionTime-this.timeOffset,N=U-q,k0=R+q,v=N+k0,T=DQ/k0,P=[];this.synth.channelProperties.forEach(I1=>{if(this.showVisualPitch){let g1=I1.pitchBend-8192+this.visualPitchBendOffset;P.push(I1.pitchBendRangeSemitones*(g1/8192*u))}else P.push(0)});let G0=[];return this.noteTimes.forEach((I1,g1)=>{if(I1.renderStartIndex>=I1.notes.length||!this.renderChannels[g1])return;let j1=I1.renderStartIndex,z1=I1.notes,u2=z1[j1],P2=-1;for(;u2.start<=v&&(j1++,!(this.notesOnScreen>_Q));){let L2=u2.start+u2.length;if(L2>N&&u2.length>0){let a0=u2.length/k0*A-M$*2;if(this.notesOnScreen<1e3||a0>T){P2===-1&&(P2=j1-1);let g5=(u2.start-N)/k0*A,p3;if(this._notesFall?p3=A-a0-g5+M$:p3=g5+M$,u2.midiNotethis.keyRange.max){if(j1>=z1.length)break;u2=z1[j1];continue}let k3=u2.midiNote-this.keyRange.min,u6=u*k3+M$,S3,c9,N9,E3;if(this.sideways?(S3=p3,c9=u6,E3=p,N9=a0):(c9=p3,S3=u6,N9=p,E3=a0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[g1],this.drawingContext.fillRect(S3+L$+M$,c9+L$,N9-L$*2,E3-L$*2);else{let p6;if(u2.start>U||L2=z1.length)break;u2=z1[j1]}P2>-1&&(I1.renderStartIndex=P2)}),G0.sort((I1,g1)=>g1.height-I1.height),G0}function xQ(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let u=c%4,p=Math.floor(c/4),R=!1;for(let v=c;v0){R=!0;break}if(!R){let v=this.canvas.width/4,T=this.canvas.height/4,P=v*u,G0=T*p+T/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(P,G0),this.drawingContext.lineTo(P+v,G0),this.drawingContext.stroke();return}let q=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(q);let U=n*u,N=i*p+i/2,k0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let v=q.length/4,T=n/v,P=Math.floor(v/2),G0=q.length-P;for(let z1=G0;z1>=1;z1--)if(q[z1-1]<0&&q[z1]>=0){G0=z1;break}let I1=U,g1=G0-P,j1=G0+P;for(let z1=g1;z1{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function RQ(){for(let n=0;n{setTimeout(this.updateFftSize.bind(this),100)})}function TQ(){for(let n of this.channelAnalysers)n.disconnect();_5("%cAnalysers disconnected!",E1.recognized)}function NQ(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]),c=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("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function GQ(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function _p(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function xp(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var pu=.02;function UQ(n){function i(N){return N.messageData=new K5(N.messageData.buffer),N.messageData.currentIndex=0,6e7/_p(N.messageData,3)}let A=[],u=n.tracks.flat();u.sort((N,k0)=>N.ticks-k0.ticks);for(let N=0;N<16;N++)A.push({renderStartIndex:0,notes:[]});let p=0,R=60/(120*n.timeDivision),q=0,U=0;for(;q>4,v=N.messageStatusByte&15;if(k0===8){let T=A[v].notes.findLast(P=>P.midiNote===N.messageData[0]&&P.length===-1);if(T){let P=p-T.start;T.length=PP.midiNote===N.messageData[0]&&P.length===-1);if(T){let P=p-T.start;T.length=P=u.length)break;p+=R*(u[q].ticks-N.ticks)}U>0&&A.forEach((N,k0)=>N.notes.filter(v=>v.length===-1).forEach(v=>{let T=p-v.start;v.length=Ti.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,c=>c*FE)),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,c=>c*FE*RE)),A.addColorStop(1,x$(i,c=>c*RE)),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,c=>c*FE)),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,c=>c*FE*RE)),A.addColorStop(1,x$(i,c=>c*RE)),A})}};N7.prototype.render=kQ;N7.prototype.computeNotePositions=SQ;N7.prototype.createChannelAnalysers=MQ;N7.prototype.updateFftSize=RQ;N7.prototype.connectChannelAnalysers=FQ;N7.prototype.disconnectChannelAnalysers=TQ;N7.prototype.connectSequencer=NQ;N7.prototype.calculateNoteTimes=UQ;N7.prototype.resetIndexes=GQ;N7.prototype.renderWaveforms=xQ;function s3(n,i){let A=0;for(let c=0;c>>0}function Ii(n,i,A){for(let c=0;c>c*8&255}function X3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function m9(n,i){Ii(n,i,4)}function Ua(n,i){let A=i<<8|n;return A>32767?A-65536:A}function PQ(n){return n>127?n-256:n}function y4(n,i,A=void 0,c=!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,p="";for(let R=0;R127)&&q!==10){if(c){u=!0;continue}else if(q===0){u=!0;continue}}p+=String.fromCharCode(q)}}return p}}function Eu(n,i=0){let A=n.length;i>0&&(A=i);let c=new K5(A);return U8(c,n,i),c}function Fn(n){return Eu(n,n.length+1)}function U8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,y4(A.chunkData,4)===i))}function TE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function NE(n){let i=[];for(let u of n.tracks){let p=[],R=0,q;for(let U of u){let N=U.ticks-R,k0;U.messageStatusByte<=v3.keySignature||U.messageStatusByte===v3.sequenceSpecific?k0=[255,U.messageStatusByte,...TE(U.messageData.length),...U.messageData]:U.messageStatusByte===v3.systemExclusive?k0=[240,...TE(U.messageData.length),...U.messageData]:(k0=[],q!==U.messageStatusByte&&(q=U.messageStatusByte,k0.push(U.messageStatusByte)),k0.push(...U.messageData)),p.push(...TE(N)),p.push(...k0),R+=N}i.push(new Uint8Array(p))}function A(u,p){for(let R=0;R{n.tracks.forEach((G0,I1)=>{if(n.midiPorts[I1]===P)for(let g1=G0.length-1;g1>=0;g1--)G0[g1].messageStatusByte>=128&&G0[g1].messageStatusByte<240&&(G0[g1].messageStatusByte&15)===T&&G0.splice(g1,1)})};c.forEach(T=>{let P=T%16,G0=T-P,I1=n.midiPortChannelOffsets.findIndex(g1=>g1===G0);p(P,I1),_5(`%cRemoving channel %c${T}%c!`,E1.info,E1.recognized,E1.info)});let R=!1,q="gs",U=[],N=[];n.tracks.forEach((T,P)=>{T.forEach(G0=>{let I1=G0.messageStatusByte&240;I1===v3.controllerChange?U.push({track:P,message:G0,channel:G0.messageStatusByte&15}):I1===v3.programChange?N.push({track:P,message:G0,channel:G0.messageStatusByte&15}):G0.messageStatusByte===v3.systemExclusive&&(G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[5]===126&&G0.messageData[6]===0?(_5("%cXG system on detected",E1.info),q="xg",R=!0):G0.messageData[0]===67&&G0.messageData[2]===76&&G0.messageData[3]===8&&G0.messageData[5]===3&&N.push({track:P,message:G0,channel:G0.messageData[4]}))})});let k0=(T,P,G0)=>n.tracks.reduce((I1,g1,j1)=>{if(n.usedChannelsOnTrack[j1].has(T)&&n.midiPorts[j1]===P){let z1;G0?z1=g1.findIndex(u2=>(u2.messageStatusByte&240)===v3.noteOn):z1=g1.findIndex(u2=>u2.messageStatusByte>128&&u2.messageStatusByte<240&&(u2.messageStatusByte&15)===T&&!(u2.messageStatusByte&v3.controllerChange===240&&(u2.messageData[0]===$3.resetAllControllers||u2.messageData[0]===$3.allNotesOff||u2.messageData[0]===$3.allSoundOff))),z1!==-1&&I1.push({index:z1,track:j1})}return I1},[]),v=(T,P,G0)=>{let I1=U.filter(g1=>g1.channel===T&&g1.message.messageData[0]===G0&&n.midiPorts[g1.track]===P);for(let g1=0;g1{let P=T.channel,G0=P%16,I1=P-G0,g1=n.midiPortChannelOffsets.findIndex(a0=>a0===I1),j1=T.controllerValue,z1=T.controllerNumber;v(G0,g1,z1),_5(`%cNo controller %c${z1}%c on channel %c${P}%c found. Adding it!`,E1.info,E1.unrecognized,E1.info,E1.value,E1.info);let u2=k0(G0,g1,!0);if(u2.length===0){T9("Program change but no notes... ignoring!");return}let P2=u2.reduce((a0,g5)=>n.tracks[g5.track][g5.index].ticks{let P=T.channel%16,G0=T.channel-P,I1=n.midiPortChannelOffsets.findIndex(k3=>k3===G0),g1=T.isDrum?0:T.bank,j1=T.program,z1=N.filter(k3=>n.midiPorts[k3.track]===I1&&k3.channel===P);if(v(P,I1,$3.bankSelect),v(P,I1,$3.lsbForControl0BankSelect),(T.isDrum||g1>0)&&!R&&(n.tracks.forEach(k3=>{for(let u6=0;u60);if(u2.length===0){T9("Program change but no notes... ignoring!");return}let P2=u2.reduce((k3,u6)=>n.tracks[u6.track][u6.index].ticks{if(n.midiPorts[z1]!==G0||!n.usedChannelsOnTrack[z1].has(P))return;let u2=v3.noteOn|P,P2=v3.noteOff|P,L2=v3.polyPressure|P;j1.forEach(a0=>{a0.messageStatusByte!==u2&&a0.messageStatusByte!==P2&&a0.messageStatusByte!==L2||(a0.messageData[0]=Math.max(0,Math.min(127,a0.messageData[0]+I1)))})}),g1!==0){let j1=n.tracks.find((S3,c9)=>n.usedChannelsOnTrack[c9].has(T.channel));if(j1===void 0){T9(`Channel ${T.channel} unused but transpose requested???`);continue}let z1=v3.noteOn|T.channel%16,u2=j1.findIndex(S3=>S3.messageStatusByte===z1);if(u2===-1){T9(`No notes on channel ${T.channel} but transpose requested???`);continue}let P2=j1[u2].ticks,L2=g1*64+64,a0=v3.controllerChange|T.channel%16,g5=new w7(P2,a0,new K5([$3.RPNMsb,0])),p3=new w7(P2,a0,new K5([$3.RPNLsb,1])),k3=new w7(P2,a0,new K5([$3.dataEntryMsb,L2])),u6=new w7(P2,a0,new K5([$3.lsbForControl6DataEntry,0]));j1.splice(u2,0,u6),j1.splice(u2,0,k3),j1.splice(u2,0,p3),j1.splice(u2,0,g5)}}u9()}function Pa(n,i){let A=[],c=[],u=[],p=[];i.channelSnapshots.forEach((R,q)=>{if(R.isMuted){c.push(q);return}let U=R.channelTransposeKeyShift+R.customControllers[DE.channelTransposeFine]/100;U!==0&&A.push({channel:q,keyShift:U}),R.lockPreset&&u.push({channel:q,program:R.program,bank:R.bank,isDrum:R.drumChannel}),R.lockedControllers.forEach((N,k0)=>{if(!N||k0>127||k0===$3.bankSelect)return;let v=R.midiControllers[k0]>>7;p.push({channel:q,controllerNumber:k0,controllerValue:v})})}),WD(n,u,p,c,A)}var P8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Oa="utf-8",ZD="Created using SpessaSynth";function GE(n,i,A,c=0,u="Shift_JIS",p={},R=!0){if(F7("%cWriting the RMIDI File...",E1.info),_5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${u}`,E1.info,E1.value,E1.info,E1.value),_5("metadata",p),_5("Initial bank offset",i.bankOffset),R){let j1=function(){let L2=0,a0=1/0;return i.tracks.forEach((g5,p3)=>{I1[p3]>=g5.length||g5[I1[p3]].ticksa0>L2?a0:L2),P2=[];for(let L2=0;L20;){let L2=j1(),a0=i.tracks[L2];if(I1[L2]>=a0.length){g1--;continue}let g5=a0[I1[L2]];I1[L2]++;let p3=i.midiPortChannelOffsets[z1[L2]];if(g5.messageStatusByte===v3.midiPort){z1[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",G0.push({tNum:L2,e:g5}));continue}let c9=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][g5.messageData[5]&15]+p3;P2[c9].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 c9=Math.max(0,S3.lastBank?.messageData[1]-i.bankOffset),N9=S3.drums?128:c9;if(S3.lastBank===void 0)continue;if(P==="xg"&&S3.drums&&(P2[u6].lastBank.messageData[1]=127),A.presets.findIndex(E3=>E3.bank===N9&&E3.program===g5.messageData[0])===-1){let E3=A.presets.find(p6=>p6.program===g5.messageData[0])?.bank+c||c;S3.lastBank.messageData[1]=E3,_5(`%cNo preset %c${N9}:${g5.messageData[0]}%c. Changing bank to ${E3}.`,E1.info,E1.recognized,E1.info)}else{let p6=(N9===128?P==="xg"?127:0:c9)+c;S3.lastBank.messageData[1]=p6,_5(`%cPreset %c${N9}:${g5.messageData[0]}%c exists. Changing bank to ${p6}.`,E1.info,E1.recognized,E1.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 c9=S3.findIndex(p6=>p6.messageStatusByte===p3);if(c9===-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 K5([er]))),c9=p6}_5(`%cAdding bank select for %c${a0}`,E1.info,E1.recognized);let N9=S3[c9].ticks,E3=A.getPreset(0,L2.program)?.bank+c||c;S3.splice(c9,0,new w7(N9,v3.controllerChange|g5,new K5([$3.bankSelect,E3])))}),P!=="gs"&&P!=="xg"){for(let a0 of G0)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,iB(0))}}let q=new K5(NE(i).buffer),U=[Eu("INFO")],N=new TextEncoder;if(U.push(k6(P8.software,N.encode("SpessaSynth"),!0)),p.name!==void 0?(U.push(k6(P8.name,N.encode(p.name),!0)),u=Oa):U.push(k6(P8.name,i.rawMidiName,!0)),p.creationDate!==void 0)u=Oa,U.push(k6(P8.creationDate,N.encode(p.creationDate),!0));else{let P=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});U.push(k6(P8.creationDate,Fn(P),!0))}if(p.comment!==void 0&&(u=Oa,U.push(k6(P8.comment,N.encode(p.comment)))),p.engineer!==void 0&&U.push(k6(P8.engineer,N.encode(p.engineer),!0)),p.album!==void 0&&(u=Oa,U.push(k6(P8.album,N.encode(p.album),!0))),p.artist!==void 0&&(u=Oa,U.push(k6(P8.artist,N.encode(p.artist),!0))),p.genre!==void 0&&(u=Oa,U.push(k6(P8.genre,N.encode(p.genre),!0))),p.picture!==void 0&&U.push(k6(P8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)u=Oa,U.push(k6(P8.copyright,N.encode(p.copyright),!0));else{let P=i.copyright.length>0?i.copyright:ZD;U.push(k6(P8.copyright,Fn(P)))}let k0=new K5(2);Ii(k0,c,2),U.push(k6(P8.bankOffset,k0)),p.midiEncoding!==void 0&&(U.push(k6(P8.midiEncoding,N.encode(p.midiEncoding))),u=Oa),U.push(k6(P8.encoding,Fn(u)));let v=St(U),T=St([Eu("RMID"),k6("data",q),k6("LIST",v),n]);return _5("%cFinished!",E1.info),u9(),k6("RIFF",T)}var Lp=class n{timeDivision=0;duration=0;tempoChanges=[{ticks:0,tempo:120}];copyright="";tracksAmount=0;lyrics=[];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;embeddedSoundFont=void 0;format=0;RMIDInfo={};bankOffset=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.tempoChanges=[...i.tempoChanges],A.lyrics=i.lyrics.map(c=>new Uint8Array(c)),A.midiPorts=[...i.midiPorts],A.midiPortChannelOffsets=[...i.midiPortChannelOffsets],A.usedChannelsOnTrack=i.usedChannelsOnTrack.map(c=>new Set(c)),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(c=>[...c]),A}flush(){let i=[];for(let u of this.tracks){u.sort((R,q)=>R.ticks-q.ticks);let p=u.find(R=>(R.messageStatusByte&240)===v3.noteOn);p&&i.push(p.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,p)=>{this.midiPorts.push(-1),u.forEach(R=>{if(R.messageStatusByte>=128&&R.messageStatusByte<240&&R.ticks>this.lastVoiceEventTick&&(this.lastVoiceEventTick=R.ticks),R.messageStatusByte===v3.setTempo)this.tempoChanges.push({ticks:R.ticks,tempo:6e7/_p(R.messageData,3)});else if((R.messageStatusByte&240)===v3.noteOn)this.usedChannelsOnTrack[p].add(R.messageData[0]);else if(R.messageStatusByte===v3.midiPort){let q=R.messageData[0];this.midiPorts[p]=q,this.midiPortChannelOffsets[q]===void 0&&(this.midiPortChannelOffsets[q]=A,A+=16)}})}),this.loop={start:this.firstNoteOn,end:this.lastVoiceEventTick},this.tempoChanges.reverse(),this.duration=Cu(this.lastVoiceEventTick,this);let c=0;for(let u of this.midiPorts)if(u!==-1){c=u;break}this.midiPorts=this.midiPorts.map(u=>u===-1?c:u),this.midiPortChannelOffsets.length===0&&(this.midiPortChannelOffsets=[0])}};function Cu(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);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(q=>q[1](u)),A[2]===!0&&this.unpause();break;case qa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case qa.timeChange:let R=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(q=>q[1](R)),this._recalculateStartTime(R),this.paused&&this._preservePlaybackState?this.pausedTime=R:this.unpause();break;case qa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(q=>q[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(Lp.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=OQ,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){T9("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 Mp=["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 qQ(n){return` `}function R$(n){return` @@ -66,21 +66,21 @@ var QE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>( `}function Fp(n){return` -`}function iB(n){return` +`}function rB(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 XQ(){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 ew(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else if(this.seq.midiData.midiNameUsesFileName)this.currentSongTitle=wE(this.seq.midiData.fileName);else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=wE(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,u)=>c+u.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),n&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}function XD(n){let i=[],A="",c=!1;for(let u=0;u{v.startsWith("{")||k0.push(v)}),this.textClean=k0.join(""),this.startSeconds=c,this.endSeconds=u,this.styleName=p,this.styleData=N.find(v=>v.Name===this.styleName),this.marginLeft=R||parseInt(this.styleData.MarginL),this.marginRight=q||parseInt(this.styleData.MarginR),this.marginVertical=U||parseInt(this.styleData.MarginV),this.primaryColor=tw(this.styleData.PrimaryColour),this.secondaryColor=tw(this.styleData.SecondaryColour)}hide(){this.element!==void 0&&this.element.remove(),this.element=void 0}updateHighlights(i){let A=0,c=0,u=0,p=i-this.startSeconds,R=!1,q=0;for(let U of this.text)if(U.startsWith("{")){let N=U.startsWith("{\\K")||U.startsWith("{\\kf");if(!N&&!U.startsWith("{\\k"))continue;let k0=parseInt(U.slice(3,-1))/100;N?(q=k0,R=!0):A+=k0,c=k0}else{let N=this.textChunks[u];if(R){if(R=!1,A>p)N.style.cssText="",N.style.backgroundImage="",N.style.backgroundClip="",N.style.color=this.secondaryColor;else{let k0=p-A,v=Math.min(100,k0/q*100);N.style.color="transparent",N.style.backgroundImage=`linear-gradient(90deg, ${this.primaryColor} 50%, ${this.secondaryColor} 50%)`,N.style.backgroundPosition=`${100-v}%`,N.style.backgroundSize="200% 100%",N.style.backgroundClip="text"}A+=q}else N.style.backgroundImage="",N.style.backgroundClip="",A-c>p?N.style.color=this.secondaryColor:N.style.color=this.primaryColor;u++}}show(i,A,c,u,p){if(this.element!==void 0){this.updateHighlights(u);return}this.element=document.createElement("div"),this.element.classList.add("ass_renderer_element");let R=parseInt(this.styleData.Alignment);if(this.text[0].startsWith("{\\an"))R=parseInt(this.text[0][4]);else if(this.text[0].startsWith("{\\a"))switch(parseInt(this.text[0][3])){case 1:R=1;break;case 2:R=2;break;case 3:R=3;break;case 5:R=7;break;case 6:R=8;break;case 7:R=9;break;case 9:R=4;break;case 10:R=5;break;case 11:R=6;break;default:R=5;break}let q=this.marginLeft/i*100,U=this.marginRight/i*100,N=this.marginVertical/A*100;switch(R){case 1:this.element.style.left=`${q}%`,this.element.style.bottom=`${N}%`;break;case 2:this.element.style.left=`calc(50% + ${q}% - ${U}%)`,this.element.style.bottom=`${N}%`,this.element.style.transform="translateX(-50%)";break;case 3:this.element.style.right=`${U}%`,this.element.style.bottom=`${N}%`;break;case 4:this.element.style.left=`${q}%`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translateY(-50%)";break;case 5:this.element.style.left=`calc(50% + ${q}% - ${U}%)`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translate(-50%, -50%)";break;case 6:this.element.style.right=`${U}%`,this.element.style.top=`calc(50% + ${N}% - ${N}%)`,this.element.style.transform="translateY(-50%)";break;case 7:this.element.style.left=`${q}%`,this.element.style.top=`${N}%`;break;case 8:this.element.style.left=`calc(50% + ${q}% - ${U}%)`,this.element.style.top=`${N}%`,this.element.style.transform="translateX(-50%)";break;case 9:this.element.style.right=`${U}%`,this.element.style.top=`${N}%`;break;default:this.element.style.left=`${q}%`,this.element.style.bottom=`${N}%`;break}this.element.style.color=this.styleData.PrimaryColour,this.element.style.zIndex=(this.layer+99999).toString();let k0=`${this.styleData.Fontname}, "${p}", sans-serif`,v=this.styleData.Fontsize;this.text[0].startsWith("{\\fs")&&(v=this.text[0].slice(4,-1)),this.element.style.fontFamily=k0,this.element.style.fontSize=`${parseFloat(v)/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 G0=document.createElement("span");G0.textContent=P.replaceAll("\\N",` `).replaceAll("\\h"," ").replaceAll("\\n",` -`),G0.style.color=this.secondaryColor,this.element.appendChild(G0),this.textChunks.push(G0)}c.appendChild(this.element),this.element.offsetHeight;let T=this.element.getBoundingClientRect();for(let P of c.children){if(P===this.element)continue;let G0=P.getBoundingClientRect(),I1=c.getBoundingClientRect();T.topG0.top&&(G0.top-I1.top>T.height?(this.element.style.top="",this.element.style.bottom=`${I1.bottom-G0.top}px`):(this.element.style.top=`${G0.top+G0.height}px`,this.element.style.bottom=""))}}};var rB=384,nB=288;function iw(n){let[i,A,c]=n.split(":"),[u,p]=c.split(".");return parseInt(i)*3600+parseInt(A)*60+parseInt(u)+parseInt(p)/100}var oB=class{type;data},sB=class{type;contents=[];constructor(i,A){this.type=i,this.contents=A}getContent(i,A=""){return this.contents.find(c=>c.type===i)?.data||A}},HE=class{visible;subData=[];resolutionX=rB;resolutionY=nB;kerning=!0;styles=[];events=[];fonts=[];timer=1;constructor(i,A,c){this.seq=i,this.screen=A,this.init(),c.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=rB,this.resolutionY=nB,this.kerning=!0,this.styles=[],this.events=[],this.fonts=[],this.screen.innerHTML=""}setVisibility(i){this.visible=i,this.tick()}_getSection(i,A=!1){let c=i.toLowerCase(),u=this.subData.find(p=>p.type.toLowerCase()===c);if(!u&&A)throw new Error(`Section ${i} not found!`);return u}loadASSSubtitles(i){this.init();let A=i.replaceAll(`\r +`),G0.style.color=this.secondaryColor,this.element.appendChild(G0),this.textChunks.push(G0)}c.appendChild(this.element),this.element.offsetHeight;let T=this.element.getBoundingClientRect();for(let P of c.children){if(P===this.element)continue;let G0=P.getBoundingClientRect(),I1=c.getBoundingClientRect();T.topG0.top&&(G0.top-I1.top>T.height?(this.element.style.top="",this.element.style.bottom=`${I1.bottom-G0.top}px`):(this.element.style.top=`${G0.top+G0.height}px`,this.element.style.bottom=""))}}};var nB=384,oB=288;function iw(n){let[i,A,c]=n.split(":"),[u,p]=c.split(".");return parseInt(i)*3600+parseInt(A)*60+parseInt(u)+parseInt(p)/100}var sB=class{type;data},HE=class{type;contents=[];constructor(i,A){this.type=i,this.contents=A}getContent(i,A=""){return this.contents.find(c=>c.type===i)?.data||A}},VE=class{visible;subData=[];resolutionX=nB;resolutionY=oB;kerning=!0;styles=[];events=[];fonts=[];timer=1;constructor(i,A,c){this.seq=i,this.screen=A,this.init(),c.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=nB,this.resolutionY=oB,this.kerning=!0,this.styles=[],this.events=[],this.fonts=[],this.screen.innerHTML=""}setVisibility(i){this.visible=i,this.tick()}_getSection(i,A=!1){let c=i.toLowerCase(),u=this.subData.find(p=>p.type.toLowerCase()===c);if(!u&&A)throw new Error(`Section ${i} not found!`);return u}loadASSSubtitles(i){this.init();let A=i.replaceAll(`\r `,` `).split(` -`),c=!1,u="",p="",R=[];for(let T of A)if(T.startsWith("["))u=T,c=!0;else if(T.length===0&&c)c=!1,this.subData.push(new sB(u,R)),R=[];else if(u==="[Fonts]")if(!T.startsWith("fontname: "))this.fonts.find(P=>P.name===p).data+=T;else{let P=T.split(/: (.*)/s)[1];this.fonts.push({name:P,data:"",dataDecoded:void 0}),p=P}else if(!T.startsWith("!")&&!T.startsWith(";")){let P=T.split(/: (.*)/s),G0=new oB;G0.type=P[0],G0.data=P[1],R.push(G0)}let q=this._getSection("[Script Info]",!0);this.resolutionX=parseInt(q.getContent("PlayResX",rB.toString())),this.resolutionY=parseInt(q.getContent("PlayResY",nB.toString())),this.kerning=q.getContent("Kerning","yes")==="yes",this.timer=parseFloat(q.getContent("Timer","100"))/100;let U=this._getSection("[V4+ Styles]",!0),N=U.getContent("Format","").split(", ");for(let T of U.contents){if(T.type!=="Style")continue;let P=T.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 G0={};for(let I1=0;I1p3.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];z1+1P.name===p).data+=T;else{let P=T.split(/: (.*)/s)[1];this.fonts.push({name:P,data:"",dataDecoded:void 0}),p=P}else if(!T.startsWith("!")&&!T.startsWith(";")){let P=T.split(/: (.*)/s),G0=new sB;G0.type=P[0],G0.data=P[1],R.push(G0)}c&&this.subData.push(new HE(u,R));let q=this._getSection("[Script Info]",!0);this.resolutionX=parseInt(q.getContent("PlayResX",nB.toString())),this.resolutionY=parseInt(q.getContent("PlayResY",oB.toString())),this.kerning=q.getContent("Kerning","yes")==="yes",this.timer=parseFloat(q.getContent("Timer","100"))/100;let U=this._getSection("[V4+ Styles]",!0),N=U.getContent("Format","").split(", ");for(let T of U.contents){if(T.type!=="Style")continue;let P=T.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 G0={};for(let I1=0;I1p3.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];z1+1{let P=document.createElement("option");P.innerText=T,P.value=T,c.appendChild(P)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let u=document.createElement("p");u.classList.add("lyrics_text"),n.appendChild(u);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),u.appendChild(p);let R=document.createElement("span");R.classList.add("lyrics_text_gray"),u.appendChild(R);let q=document.createElement("details"),U=document.createElement("summary");this.locale.bindObjectProperty(U,"textContent","locale.sequencerController.lyrics.otherText.title"),q.appendChild(U);let N=document.createElement("div");N.innerText="",q.appendChild(N),n.appendChild(q),this.subtitleManager=new HE(this.seq,document.getElementsByClassName("ass_renderer_field")[0],this.renderer);let k0=document.createElement("input");k0.type="file",k0.accept=".ass",k0.id="subtitle_upload",k0.classList.add("hidden"),n.appendChild(k0),k0.onchange=async()=>{if(k0.files[0]===void 0)return;let T=k0.files[0];this.subtitleManager.loadASSSubtitles(await T.text()),this.subtitleManager.setVisibility(!0),this.toggleLyrics()};let v=document.createElement("label");v.htmlFor="subtitle_upload",v.classList.add("general_button"),this.locale.bindObjectProperty(v,"textContent","locale.sequencerController.lyrics.subtitles.title"),this.locale.bindObjectProperty(v,"title","locale.sequencerController.lyrics.subtitles.description"),n.appendChild(v),this.lyricsElement.text={highlight:p,gray:R,main:u,other:N,subtitleButton:v},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function nw(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-e_*5)}function ow(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${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 Kr=32,sw="#ccc",aw="#555",t_="#333",i_="#ddd",r_="Shift_JIS",Oo=class{constructor(i,A,c,u){this.iconColor=sw,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.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c,this.renderer=u}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=t_,this.iconDisabledColor=i_):(this.mode="dark",this.iconColor=sw,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=R$(Kr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=qQ(Kr),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,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Mp[c]),this.encodingSelector.value=Mp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let u=this.decodeTextFix(A.buffer);switch(c){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:c,data:A}),this.requiresTextUpdate=!0;return;case v3.lyric:this.text+=u,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[P8.encoding]!==void 0,A.isEmbedded){let c=(q,U,N,k0="")=>this.seq.midiData.RMIDInfo?.[q]===void 0?U:k0+N.decode(this.seq.midiData.RMIDInfo?.[q]).replace(/\0$/,""),u=new TextDecoder,p=c(P8.midiEncoding,this.encoding,u),R=c(P8.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(R),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=v=>{v.preventDefault();let T=i.getBoundingClientRect(),P=v.clientX-T.left,G0=T.width;this.seq.currentTime=P/G0*this.seq.duration,c.innerHTML=R$(Kr)},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"),c=yu("Play/Pause",R$(Kr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=u;let p=yu("Previous song",zQ(Kr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let R=yu("Next song",YQ(Kr));this.locale.bindObjectProperty(R,"title","locale.sequencerController.nextSong"),R.onclick=()=>this.switchToNextSong();let q=yu("Loop this",HQ(Kr));this.locale.bindObjectProperty(q,"title","locale.sequencerController.loopThis");let U=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),q.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};q.onclick=U,this.loopButton=q;let N=yu("Show lyrics",VQ(Kr));this.locale.bindObjectProperty(N,"title","locale.sequencerController.lyrics.show"),N.firstElementChild.setAttribute("fill",this.iconDisabledColor);let k0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),N.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};this.toggleLyrics=k0,N.onclick=k0,document.addEventListener("keydown",v=>{switch(v.key.toLowerCase()){case O8.playPause:v.preventDefault(),u();break;case O8.toggleLoop:v.preventDefault(),U();break;case O8.toggleLyrics:v.preventDefault(),k0();break;default:break}}),A.appendChild(p),A.appendChild(q),A.appendChild(c),A.appendChild(N),A.appendChild(R),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",v=>{switch(v.key.toLowerCase()){case O8.seekBackwards:v.preventDefault(),this.seq.currentTime-=5,c.innerHTML=R$(Kr);break;case O8.seekForwards:v.preventDefault(),this.seq.currentTime+=5,c.innerHTML=R$(Kr);break;case O8.previousSong:this.switchToPreviousSong();break;case O8.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(v.key))){v.preventDefault();let T=parseInt(v.key);0<=T&&T<=9&&(this.seq.currentTime=this.seq.duration*(T/10),c.innerHTML=R$(Kr))}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)}};Oo.prototype.createNavigatorHandler=XQ;Oo.prototype.updateTitleAndMediaStatus=ew;Oo.prototype.createLyrics=rw;Oo.prototype.setLyricsText=nw;Oo.prototype.updateOtherTextEvents=ow;function Aw(){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 $w(){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 lw(){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,c,u,p=0,R=100,q=!1,U=void 0,N=void 0,k0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=R,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=N,this.unlockCallback=k0,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),c.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,q){if(U===void 0)throw new Error("No editable function given!");this.div.onmousedown=v=>{v.preventDefault(),v.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=v=>{if(!this.isActive)return;let T=v.currentTarget.getBoundingClientRect(),P=T.left,G0=T.width,I1=v.clientX-P,g1=Math.max(0,Math.min(1,I1/G0));U(g1*(R-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=v=>{this.div.onmousemove(v),this.isActive=!1},this.text.oncontextmenu=v=>{v.preventDefault()},this.div.onclick=v=>{v.preventDefault(),this.isActive=!0,this.div.onmousemove(v),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 c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var cw=["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 VE=class{constructor(i,A,c,u,p=void 0,R=void 0){this.elements=i.map(q=>({name:q.name,program:q.program,bank:q.bank,stringified:`${q.bank.toString().padStart(3,"0")}:${q.program.toString().padStart(3,"0")} ${q.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",c+".description",u),this.locale=A,this.localePath=c,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=R,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 c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),c.appendChild(u),u.onkeydown=N=>N.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?Fp(ai):iB(ai),this.locale.bindObjectProperty(p,"title",Xe+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=Fp(ai):p.innerHTML=iB(ai)},c.appendChild(p),this.presetLock=p;let R=document.createElement("div");R.classList.add("voice_selector_table_wrapper"),i.appendChild(R);let U=this.generateTable(R,this.elements).querySelector(".voice_selector_selected");u.oninput=N=>{N.stopPropagation();let k0=u.value,v=this.elements.filter(I1=>I1.stringified.search(new RegExp(k0,"i"))>=0);if(v.length===this.elements.length||v.length===0)return;R.replaceChildren();let T=this.generateTable(R,v),P=T.querySelector(".voice_selector_selected");if(P){U=P;return}let G0=T.querySelector(".voice_selector_option");G0.classList.add("voice_selector_selected"),U=G0},u.addEventListener("keydown",N=>{switch(N.key){case"Enter":let k0=U.getAttribute("bank"),v=U.getAttribute("program"),T=`${k0}:${v}`;if(this.value===T){this.hideSelectionMenu();return}this.editCallback(T),this.locked=!0,this.presetLock.innerHTML=Fp(ai),this.hideSelectionMenu();break;case"ArrowDown":let P=U.nextElementSibling;for(;P;){if(P.classList.contains("voice_selector_option")){U.classList.remove("voice_selector_selected"),P.classList.add("voice_selector_selected"),U=P;return}P=P.nextElementSibling}break;case"ArrowUp":let G0=U.previousElementSibling;for(;G0;){if(G0.classList.contains("voice_selector_option")){U.classList.remove("voice_selector_selected"),G0.classList.add("voice_selector_selected"),U=G0;return}G0=G0.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 c=document.createElement("table");c.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),R=-20;for(let q of A){let U=document.createElement("tr"),N=q.program;if(U.classList.add("voice_selector_option"),U.setAttribute("program",N.toString()),U.setAttribute("bank",q.bank.toString()),N===p&&q.bank===u&&(U.classList.add("voice_selector_selected"),setTimeout(()=>{U.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),U.onclick=()=>{let I1=`${q.bank}:${N}`;if(this.value===I1){this.hideSelectionMenu();return}this.editCallback(I1),this.locked=!0,this.presetLock.innerHTML=Fp(ai),this.hideSelectionMenu()},N!==R&&(R=N,q.bank!==128)){let I1=document.createElement("tr"),g1=document.createElement("th");g1.colSpan="3",g1.textContent=cw[R],I1.appendChild(g1),c.appendChild(I1)}let k0=`${q.program.toString().padStart(3,"0")}`,v=`${q.bank.toString().padStart(3,"0")}`,T=document.createElement("td");T.classList.add("voice_selector_preset_name"),T.textContent=q.name;let P=document.createElement("td");T.classList.add("voice_selector_preset_program"),P.textContent=k0;let G0=document.createElement("td");T.classList.add("voice_selector_preset_program"),G0.textContent=v,U.appendChild(G0),U.appendChild(P),U.appendChild(T),c.appendChild(U)}return i.appendChild(c),c}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],c=A.bank,u=parseInt(this.value.split(":")[1]),p=u;this.elements.find(R=>R.program===u)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}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 c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let R of c.rows){if(R.cells.length===1)continue;let q=parseInt(R.cells[0].textContent),U=parseInt(R.cells[1].textContent);q===u&&U===p&&(R.classList.add("voice_selector_selected"),R.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),u=parseInt(A[1]),p=this.elements.find(R=>R.bank===c&&R.program===u);return p?c===128||this.elements.filter(R=>R.program===u&&R.bank!==128).length<2?`${u}. ${p.name}`:`${c}:${u} ${p.name}`:""}};var ai=32;function gw(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],Xe+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new Er(this.channelColors[n%this.channelColors.length],Xe+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,z1=>{let u2=c.isLocked;u2&&this.synth.lockController(n,_$+q4.pitchWheel,!1),z1=Math.round(z1)+8192;let P2=z1>>7,L2=z1&127;this.synth.pitchWheel(n,P2,L2),u2&&this.synth.lockController(n,_$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,_$+q4.pitchWheel,!0),()=>this.synth.lockController(n,_$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let u=(z1,u2,P2)=>{P2.isLocked?(this.synth.lockController(n,z1,!1),this.synth.controllerChange(n,z1,u2),this.synth.lockController(n,z1,!0)):this.synth.controllerChange(n,z1,u2)},p=(z1,u2,P2)=>{let L2=new Er(this.channelColors[n%this.channelColors.length],Xe+u2,this.locale,[n+1],0,127,!0,a0=>u(z1,Math.round(a0),L2),()=>this.synth.lockController(n,z1,!0),()=>this.synth.lockController(n,z1,!1));return L2.update(P2),L2},R=p($3.pan,"channelController.panMeter",64);i.appendChild(R.div);let q=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(q.div);let U=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(U.div);let N=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(N.div);let k0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(k0.div);let v=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(v.div);let T=p($3.brightness,"channelController.filterMeter",64);i.appendChild(T.div);let P=new Er(this.channelColors[n%this.channelColors.length],Xe+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,z1=>{z1=Math.round(z1),this.synth.transposeChannel(n,z1,!0),P.update(z1)});P.update(0),i.appendChild(P.div);let G0=new VE([],this.locale,Xe+"channelController.presetSelector",[n+1],async z1=>{let u2=z1.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(u2[0]),!0),this.synth.programChange(n,parseInt(u2[1]),!0),G0.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},z1=>this.synth.lockController(n,a7,z1));i.appendChild(G0.mainButton);let I1=document.createElement("div");I1.innerHTML=Bu(ai),this.locale.bindObjectProperty(I1,"title",Xe+"channelController.soloButton.description",[n+1]),I1.classList.add("controller_element"),I1.classList.add("mute_button"),I1.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 z1=0;z1=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let z1=0;z1{if(g1.hasAttribute("is_muted")){g1.removeAttribute("is_muted");let z1=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!z1),g1.innerHTML=Rp(ai)}else this.synth.muteChannel(n,!0),g1.setAttribute("is_muted","true"),g1.innerHTML=KQ(ai)},i.appendChild(g1);let j1=document.createElement("div");return j1.innerHTML=n===T7?PE(ai):OE(ai),this.locale.bindObjectProperty(j1,"title",Xe+"channelController.drumToggleButton.description",[n+1]),j1.classList.add("controller_element"),j1.classList.add("mute_button"),j1.onclick=()=>{G0.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),G0.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(j1),{controller:i,voiceMeter:A,pitchWheel:c,pan:R,expression:q,volume:U,mod:N,chorus:k0,reverb:v,brightness:T,preset:G0,drumsToggle:j1,soloButton:I1,muteButton:g1,transpose:P}}function uw(){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 c=n.getAttribute("min"),u=n.getAttribute("max"),p=n.getAttribute("value"),R=n.getAttribute("units"),q=n.getAttribute("input_id"),U=document.createElement("input");U.classList.add("settings_slider"),U.type="range",U.id=q,U.min=c,U.max=u,U.value=p;let N;i&&(N=document.createElement("span"),N.textContent=p+R);let k0=document.createElement("div");k0.classList.add("settings_visual_wrapper");let v=document.createElement("div");v.classList.add("settings_slider_progress"),k0.appendChild(v);let T=document.createElement("div");return T.classList.add("settings_slider_thumb"),k0.appendChild(T),k0.appendChild(U),U.addEventListener("input",()=>{let P=parseInt(k0.style.getPropertyValue("--visual-width").replace("%","")),G0=Math.round((U.value-U.min)/(U.max-U.min)*100);Math.abs((P-G0)/100)>.05?k0.classList.add("settings_slider_transition"):k0.classList.remove("settings_slider_transition"),k0.style.setProperty("--visual-width",`${G0}%`)}),k0.style.setProperty("--visual-width",`${(U.value-U.min)/(U.max-U.min)*100}%`),A.appendChild(k0),i&&A.appendChild(N),A}function qo(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 dw(n,i){switch(n.type){case"button":let A=document.createElement("button");return qo(A,n,i),Ha(n,[A]),A;case"text":let c=document.createElement("p");return qo(c,n,i),Ha(n,[c]),c;case"input":let u=document.createElement("div");u.classList.add("notification_input_wrapper");let p=document.createElement("input");qo(p,n,i),p.addEventListener("keydown",P2=>P2.stopPropagation());let R=document.createElement("label");return qo(R,n,i),Ha(n,[p,R]),u.append(R),u.appendChild(p),u;case"select":let q=document.createElement("div");q.classList.add("notification_input_wrapper");let U=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],U.appendChild(L2)}let N=document.createElement("label");return qo(N,n,i),Ha(n,[U,N]),q.appendChild(N),q.appendChild(U),q;case"file":let k0=document.createElement("label");k0.classList.add("notification_input_wrapper");let v=document.createElement("input");v.type="file";let T=document.createElement("label");T.classList.add("notification_file_button"),qo(T,n,i);let P=document.createElement("label");return qo(P,n,i),Ha(n,[T,v,P]),T.appendChild(v),k0.append(P),k0.appendChild(T),k0;case"progress":let G0=document.createElement("div");G0.classList.add("notification_progress_background");let I1=document.createElement("div");return I1.classList.add("notification_progress"),Ha(n,[I1,G0]),G0.appendChild(I1),G0;case"toggle":return n_(n,i);case"range":let g1=document.createElement("input");g1.type="range";let j1=document.createElement("label");Ha(n,[g1,j1]),qo(j1,n,i);let z1=aB(g1,!1),u2=document.createElement("div");return u2.classList.add("notification_slider_wrapper"),u2.appendChild(j1),u2.appendChild(z1),u2}}function Ha(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let u of i)A.startsWith("onchange")?u[A]=c:u.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let u of i)u.addEventListener(A,c)}function n_(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");qo(c,n,i);let u=document.createElement("input");u.type="checkbox",Ha(n,[c,u]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(u);let R=document.createElement("div");return R.classList.add("notification_switch_slider"),p.appendChild(R),A.appendChild(c),A.appendChild(p),A}var o_=13,s_=0,Tp={};function c4(n,i,A=o_,c=!0,u=void 0,p=void 0,R=void 0){let q=document.createElement("div"),U=s_++;q.classList.add("notification"),q.innerHTML=` + }`,document.head.appendChild(j1)}this.firstEmbeddedFontName=this.fonts[0]?.name||"sans-serif",_5("Subtitles:",this.styles,this.events,this.fonts),this.screen.style.fontKerning=this.kerning?"normal":"none"}};var e_=parseFloat(getComputedStyle(document.body).fontSize);function rw(){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 c=document.createElement("select");Mp.forEach(T=>{let P=document.createElement("option");P.innerText=T,P.value=T,c.appendChild(P)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let u=document.createElement("p");u.classList.add("lyrics_text"),n.appendChild(u);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),u.appendChild(p);let R=document.createElement("span");R.classList.add("lyrics_text_gray"),u.appendChild(R);let q=document.createElement("details"),U=document.createElement("summary");this.locale.bindObjectProperty(U,"textContent","locale.sequencerController.lyrics.otherText.title"),q.appendChild(U);let N=document.createElement("div");N.innerText="",q.appendChild(N),n.appendChild(q),this.subtitleManager=new VE(this.seq,document.getElementsByClassName("ass_renderer_field")[0],this.renderer);let k0=document.createElement("input");k0.type="file",k0.accept=".ass",k0.id="subtitle_upload",k0.classList.add("hidden"),n.appendChild(k0),k0.onchange=async()=>{if(k0.files[0]===void 0)return;let T=k0.files[0];this.subtitleManager.loadASSSubtitles(await T.text()),this.subtitleManager.setVisibility(!0),this.toggleLyrics()};let v=document.createElement("label");v.htmlFor="subtitle_upload",v.classList.add("general_button"),this.locale.bindObjectProperty(v,"textContent","locale.sequencerController.lyrics.subtitles.title"),this.locale.bindObjectProperty(v,"title","locale.sequencerController.lyrics.subtitles.description"),n.appendChild(v),this.lyricsElement.text={highlight:p,gray:R,main:u,other:N,subtitleButton:v},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function nw(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-e_*5)}function ow(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${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 Kr=32,sw="#ccc",aw="#555",t_="#333",i_="#ddd",r_="Shift_JIS",Oo=class{constructor(i,A,c,u){this.iconColor=sw,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.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c,this.renderer=u}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=t_,this.iconDisabledColor=i_):(this.mode="dark",this.iconColor=sw,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=R$(Kr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=qQ(Kr),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,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Mp[c]),this.encodingSelector.value=Mp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let u=this.decodeTextFix(A.buffer);switch(c){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:c,data:A}),this.requiresTextUpdate=!0;return;case v3.lyric:this.text+=u,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[P8.encoding]!==void 0,A.isEmbedded){let c=(q,U,N,k0="")=>this.seq.midiData.RMIDInfo?.[q]===void 0?U:k0+N.decode(this.seq.midiData.RMIDInfo?.[q]).replace(/\0$/,""),u=new TextDecoder,p=c(P8.midiEncoding,this.encoding,u),R=c(P8.encoding,"utf-8",u);this.infoDecoder=new TextDecoder(R),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=v=>{v.preventDefault();let T=i.getBoundingClientRect(),P=v.clientX-T.left,G0=T.width;this.seq.currentTime=P/G0*this.seq.duration,c.innerHTML=R$(Kr)},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"),c=yu("Play/Pause",R$(Kr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let u=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=u;let p=yu("Previous song",zQ(Kr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let R=yu("Next song",YQ(Kr));this.locale.bindObjectProperty(R,"title","locale.sequencerController.nextSong"),R.onclick=()=>this.switchToNextSong();let q=yu("Loop this",HQ(Kr));this.locale.bindObjectProperty(q,"title","locale.sequencerController.loopThis");let U=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),q.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};q.onclick=U,this.loopButton=q;let N=yu("Show lyrics",VQ(Kr));this.locale.bindObjectProperty(N,"title","locale.sequencerController.lyrics.show"),N.firstElementChild.setAttribute("fill",this.iconDisabledColor);let k0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),N.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};this.toggleLyrics=k0,N.onclick=k0,document.addEventListener("keydown",v=>{switch(v.key.toLowerCase()){case O8.playPause:v.preventDefault(),u();break;case O8.toggleLoop:v.preventDefault(),U();break;case O8.toggleLyrics:v.preventDefault(),k0();break;default:break}}),A.appendChild(p),A.appendChild(q),A.appendChild(c),A.appendChild(N),A.appendChild(R),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",v=>{switch(v.key.toLowerCase()){case O8.seekBackwards:v.preventDefault(),this.seq.currentTime-=5,c.innerHTML=R$(Kr);break;case O8.seekForwards:v.preventDefault(),this.seq.currentTime+=5,c.innerHTML=R$(Kr);break;case O8.previousSong:this.switchToPreviousSong();break;case O8.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(v.key))){v.preventDefault();let T=parseInt(v.key);0<=T&&T<=9&&(this.seq.currentTime=this.seq.duration*(T/10),c.innerHTML=R$(Kr))}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)}};Oo.prototype.createNavigatorHandler=XQ;Oo.prototype.updateTitleAndMediaStatus=ew;Oo.prototype.createLyrics=rw;Oo.prototype.setLyricsText=nw;Oo.prototype.updateOtherTextEvents=ow;function Aw(){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 $w(){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 lw(){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,c,u,p=0,R=100,q=!1,U=void 0,N=void 0,k0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=R,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=N,this.unlockCallback=k0,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),c.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,q){if(U===void 0)throw new Error("No editable function given!");this.div.onmousedown=v=>{v.preventDefault(),v.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=v=>{if(!this.isActive)return;let T=v.currentTarget.getBoundingClientRect(),P=T.left,G0=T.width,I1=v.clientX-P,g1=Math.max(0,Math.min(1,I1/G0));U(g1*(R-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=v=>{this.div.onmousemove(v),this.isActive=!1},this.text.oncontextmenu=v=>{v.preventDefault()},this.div.onclick=v=>{v.preventDefault(),this.isActive=!0,this.div.onmousemove(v),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 c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var cw=["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 YE=class{constructor(i,A,c,u,p=void 0,R=void 0){this.elements=i.map(q=>({name:q.name,program:q.program,bank:q.bank,stringified:`${q.bank.toString().padStart(3,"0")}:${q.program.toString().padStart(3,"0")} ${q.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",c+".description",u),this.locale=A,this.localePath=c,this.localeArgs=u,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=R,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 c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let u=document.createElement("input");u.type="text",this.locale.bindObjectProperty(u,"placeholder",this.localePath+".searchPrompt"),c.appendChild(u),u.onkeydown=N=>N.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?Fp(ai):rB(ai),this.locale.bindObjectProperty(p,"title",Xe+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=Fp(ai):p.innerHTML=rB(ai)},c.appendChild(p),this.presetLock=p;let R=document.createElement("div");R.classList.add("voice_selector_table_wrapper"),i.appendChild(R);let U=this.generateTable(R,this.elements).querySelector(".voice_selector_selected");u.oninput=N=>{N.stopPropagation();let k0=u.value,v=this.elements.filter(I1=>I1.stringified.search(new RegExp(k0,"i"))>=0);if(v.length===this.elements.length||v.length===0)return;R.replaceChildren();let T=this.generateTable(R,v),P=T.querySelector(".voice_selector_selected");if(P){U=P;return}let G0=T.querySelector(".voice_selector_option");G0.classList.add("voice_selector_selected"),U=G0},u.addEventListener("keydown",N=>{switch(N.key){case"Enter":let k0=U.getAttribute("bank"),v=U.getAttribute("program"),T=`${k0}:${v}`;if(this.value===T){this.hideSelectionMenu();return}this.editCallback(T),this.locked=!0,this.presetLock.innerHTML=Fp(ai),this.hideSelectionMenu();break;case"ArrowDown":let P=U.nextElementSibling;for(;P;){if(P.classList.contains("voice_selector_option")){U.classList.remove("voice_selector_selected"),P.classList.add("voice_selector_selected"),U=P;return}P=P.nextElementSibling}break;case"ArrowUp":let G0=U.previousElementSibling;for(;G0;){if(G0.classList.contains("voice_selector_option")){U.classList.remove("voice_selector_selected"),G0.classList.add("voice_selector_selected"),U=G0;return}G0=G0.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 c=document.createElement("table");c.classList.add("voice_selector_table");let u=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),R=-20;for(let q of A){let U=document.createElement("tr"),N=q.program;if(U.classList.add("voice_selector_option"),U.setAttribute("program",N.toString()),U.setAttribute("bank",q.bank.toString()),N===p&&q.bank===u&&(U.classList.add("voice_selector_selected"),setTimeout(()=>{U.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),U.onclick=()=>{let I1=`${q.bank}:${N}`;if(this.value===I1){this.hideSelectionMenu();return}this.editCallback(I1),this.locked=!0,this.presetLock.innerHTML=Fp(ai),this.hideSelectionMenu()},N!==R&&(R=N,q.bank!==128)){let I1=document.createElement("tr"),g1=document.createElement("th");g1.colSpan="3",g1.textContent=cw[R],I1.appendChild(g1),c.appendChild(I1)}let k0=`${q.program.toString().padStart(3,"0")}`,v=`${q.bank.toString().padStart(3,"0")}`,T=document.createElement("td");T.classList.add("voice_selector_preset_name"),T.textContent=q.name;let P=document.createElement("td");T.classList.add("voice_selector_preset_program"),P.textContent=k0;let G0=document.createElement("td");T.classList.add("voice_selector_preset_program"),G0.textContent=v,U.appendChild(G0),U.appendChild(P),U.appendChild(T),c.appendChild(U)}return i.appendChild(c),c}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],c=A.bank,u=parseInt(this.value.split(":")[1]),p=u;this.elements.find(R=>R.program===u)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}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 c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],u=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let R of c.rows){if(R.cells.length===1)continue;let q=parseInt(R.cells[0].textContent),U=parseInt(R.cells[1].textContent);q===u&&U===p&&(R.classList.add("voice_selector_selected"),R.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),u=parseInt(A[1]),p=this.elements.find(R=>R.bank===c&&R.program===u);return p?c===128||this.elements.filter(R=>R.program===u&&R.bank!==128).length<2?`${u}. ${p.name}`:`${c}:${u} ${p.name}`:""}};var ai=32;function gw(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],Xe+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new Er(this.channelColors[n%this.channelColors.length],Xe+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,z1=>{let u2=c.isLocked;u2&&this.synth.lockController(n,_$+q4.pitchWheel,!1),z1=Math.round(z1)+8192;let P2=z1>>7,L2=z1&127;this.synth.pitchWheel(n,P2,L2),u2&&this.synth.lockController(n,_$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,_$+q4.pitchWheel,!0),()=>this.synth.lockController(n,_$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let u=(z1,u2,P2)=>{P2.isLocked?(this.synth.lockController(n,z1,!1),this.synth.controllerChange(n,z1,u2),this.synth.lockController(n,z1,!0)):this.synth.controllerChange(n,z1,u2)},p=(z1,u2,P2)=>{let L2=new Er(this.channelColors[n%this.channelColors.length],Xe+u2,this.locale,[n+1],0,127,!0,a0=>u(z1,Math.round(a0),L2),()=>this.synth.lockController(n,z1,!0),()=>this.synth.lockController(n,z1,!1));return L2.update(P2),L2},R=p($3.pan,"channelController.panMeter",64);i.appendChild(R.div);let q=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(q.div);let U=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(U.div);let N=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(N.div);let k0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(k0.div);let v=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(v.div);let T=p($3.brightness,"channelController.filterMeter",64);i.appendChild(T.div);let P=new Er(this.channelColors[n%this.channelColors.length],Xe+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,z1=>{z1=Math.round(z1),this.synth.transposeChannel(n,z1,!0),P.update(z1)});P.update(0),i.appendChild(P.div);let G0=new YE([],this.locale,Xe+"channelController.presetSelector",[n+1],async z1=>{let u2=z1.split(":");this.synth.lockController(n,a7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(u2[0]),!0),this.synth.programChange(n,parseInt(u2[1]),!0),G0.mainButton.classList.add("locked_selector"),this.synth.lockController(n,a7,!0)},z1=>this.synth.lockController(n,a7,z1));i.appendChild(G0.mainButton);let I1=document.createElement("div");I1.innerHTML=Bu(ai),this.locale.bindObjectProperty(I1,"title",Xe+"channelController.soloButton.description",[n+1]),I1.classList.add("controller_element"),I1.classList.add("mute_button"),I1.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 z1=0;z1=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let z1=0;z1{if(g1.hasAttribute("is_muted")){g1.removeAttribute("is_muted");let z1=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!z1),g1.innerHTML=Rp(ai)}else this.synth.muteChannel(n,!0),g1.setAttribute("is_muted","true"),g1.innerHTML=KQ(ai)},i.appendChild(g1);let j1=document.createElement("div");return j1.innerHTML=n===T7?PE(ai):OE(ai),this.locale.bindObjectProperty(j1,"title",Xe+"channelController.drumToggleButton.description",[n+1]),j1.classList.add("controller_element"),j1.classList.add("mute_button"),j1.onclick=()=>{G0.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,a7,!1),G0.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(j1),{controller:i,voiceMeter:A,pitchWheel:c,pan:R,expression:q,volume:U,mod:N,chorus:k0,reverb:v,brightness:T,preset:G0,drumsToggle:j1,soloButton:I1,muteButton:g1,transpose:P}}function uw(){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 c=n.getAttribute("min"),u=n.getAttribute("max"),p=n.getAttribute("value"),R=n.getAttribute("units"),q=n.getAttribute("input_id"),U=document.createElement("input");U.classList.add("settings_slider"),U.type="range",U.id=q,U.min=c,U.max=u,U.value=p;let N;i&&(N=document.createElement("span"),N.textContent=p+R);let k0=document.createElement("div");k0.classList.add("settings_visual_wrapper");let v=document.createElement("div");v.classList.add("settings_slider_progress"),k0.appendChild(v);let T=document.createElement("div");return T.classList.add("settings_slider_thumb"),k0.appendChild(T),k0.appendChild(U),U.addEventListener("input",()=>{let P=parseInt(k0.style.getPropertyValue("--visual-width").replace("%","")),G0=Math.round((U.value-U.min)/(U.max-U.min)*100);Math.abs((P-G0)/100)>.05?k0.classList.add("settings_slider_transition"):k0.classList.remove("settings_slider_transition"),k0.style.setProperty("--visual-width",`${G0}%`)}),k0.style.setProperty("--visual-width",`${(U.value-U.min)/(U.max-U.min)*100}%`),A.appendChild(k0),i&&A.appendChild(N),A}function qo(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 dw(n,i){switch(n.type){case"button":let A=document.createElement("button");return qo(A,n,i),Ha(n,[A]),A;case"text":let c=document.createElement("p");return qo(c,n,i),Ha(n,[c]),c;case"input":let u=document.createElement("div");u.classList.add("notification_input_wrapper");let p=document.createElement("input");qo(p,n,i),p.addEventListener("keydown",P2=>P2.stopPropagation());let R=document.createElement("label");return qo(R,n,i),Ha(n,[p,R]),u.append(R),u.appendChild(p),u;case"select":let q=document.createElement("div");q.classList.add("notification_input_wrapper");let U=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],U.appendChild(L2)}let N=document.createElement("label");return qo(N,n,i),Ha(n,[U,N]),q.appendChild(N),q.appendChild(U),q;case"file":let k0=document.createElement("label");k0.classList.add("notification_input_wrapper");let v=document.createElement("input");v.type="file";let T=document.createElement("label");T.classList.add("notification_file_button"),qo(T,n,i);let P=document.createElement("label");return qo(P,n,i),Ha(n,[T,v,P]),T.appendChild(v),k0.append(P),k0.appendChild(T),k0;case"progress":let G0=document.createElement("div");G0.classList.add("notification_progress_background");let I1=document.createElement("div");return I1.classList.add("notification_progress"),Ha(n,[I1,G0]),G0.appendChild(I1),G0;case"toggle":return n_(n,i);case"range":let g1=document.createElement("input");g1.type="range";let j1=document.createElement("label");Ha(n,[g1,j1]),qo(j1,n,i);let z1=aB(g1,!1),u2=document.createElement("div");return u2.classList.add("notification_slider_wrapper"),u2.appendChild(j1),u2.appendChild(z1),u2}}function Ha(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let u of i)A.startsWith("onchange")?u[A]=c:u.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let u of i)u.addEventListener(A,c)}function n_(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");qo(c,n,i);let u=document.createElement("input");u.type="checkbox",Ha(n,[c,u]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(u);let R=document.createElement("div");return R.classList.add("notification_switch_slider"),p.appendChild(R),A.appendChild(c),A.appendChild(p),A}var o_=13,s_=0,Tp={};function c4(n,i,A=o_,c=!0,u=void 0,p=void 0,R=void 0){let q=document.createElement("div"),U=s_++;q.classList.add("notification"),q.innerHTML=`

${n}

\xD7 -
`;let N=document.createElement("div");if(N.classList.add("notification_content"),p)for(let[v,T]of Object.entries(p))N.style[v]=T;q.appendChild(N);for(let v of i){let T=dw(v,u);v.onClick&&(T.onclick=()=>v.onClick({div:q,id:U},T)),N.appendChild(T)}c?q.getElementsByClassName("close_btn")[0].onclick=()=>{_e(U)}:q.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{q.classList.add("drop")},75);let k0=setTimeout(()=>{_e(U)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(q),Tp[U]={div:q,timeout:k0,onclose:R},{div:q,id:U}}function _e(n){if(Tp[n]===void 0)return;let i=Tp[n],A=i.div;clearTimeout(Tp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Tp[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 fw(n,i,A){let c=i+"effectsConfig.",u=c4(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,R)=>{A.disableGSNRPparams(),R.parentNode.removeChild(R)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let R=p.target.parentElement.parentElement;R.textContent=n.getLocaleString("locale.synthInit.genericLoading");let q=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(q),R.textContent=n.getLocaleString("locale.synthInit.done"),_5("%cReverb response set!",E1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{l7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig(l7)}}],999999,!0,n);return u.div.onclick=p=>p.stopImmediatePropagation(),u}var h8="locale.synthesizerController.keyModifiers.";async function Iw(n,i){return new Promise(A=>{let c=c4(n.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(h8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=u=>{_e(c.id),i.onNotePressed=void 0,A(u)}})}async function mw(n,i,A,c){let u=await Iw(i,A),p=(T,P,G0,I1)=>{let g1={type:"number",min:P.toString(),max:G0.toString(),value:I1.toString()};return g1[T]="true",g1},R={};R.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let T of c.toSorted((P,G0)=>P.presetNameG0.presetName?1:0))R[T.presetName]=T.presetName;let q=n.keyModifierManager.getModifier(A.channel,u),U=q?.velocity??-1,N=c4(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[u.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async T=>{_e(T.id),await mw(n,i,A,c)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:p("vel",0,127,U)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:R},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:T=>{let P=parseInt(T.div.querySelector("input[chan]").value)??-1,G0=parseInt(T.div.querySelector("input[vel]").value)??-1,I1=T.div.querySelector("select[preset-selector]").value,g1=-1,j1=-1;if(I1!=="unchanged"){let z1=c.find(u2=>u2.presetName===I1);g1=z1.bank,j1=z1.program}n.keyModifierManager.addModifier(P,u,{velocity:G0,patch:{program:j1,bank:g1}}),_e(T.id)}}],99999,!0,i),k0=q?.patch?.program??-1,v=q?.patch?.bank??-1;v!==-1&&k0!==-1&&(N.div.querySelector("select[preset-selector]").value=c.find(T=>T.bank===v&&T.program===k0).presetName)}async function pw(n,i,A){let c=await Iw(i,A);c4(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async u=>{_e(u.id),await pw(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 p=parseInt(u.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),_e(u.id)}}],99999,!0,i)}function Ew(n,i,A,c){c4(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=>{_e(u.id),mw(n,i,A,c).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:u=>{_e(u.id),pw(n,i,A).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:u=>{_e(u.id),c4(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{_e(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{_e(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function Cw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new Er("",Xe+"mainVoiceMeter",this.locale,[],0,jC),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new Er("",Xe+"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("",Xe+"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("",Xe+"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",Xe+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",Xe+"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",Xe+"systemReset.title"),this.locale.bindObjectProperty(A,"title",Xe+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((N,k0)=>{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(k0,a7,!1),N.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(k0,0,!0),N.transpose.update(0),N.soloButton.innerHTML=Bu(ai),N.muteButton.innerHTML=Rp(ai),this.synth.muteChannel(k0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",Xe+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",Xe+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let u=document.createElement("button");this.locale.bindObjectProperty(u,"textContent",Xe+"keyModifiers.button.title"),this.locale.bindObjectProperty(u,"title",Xe+"keyModifiers.button.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{Ew(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",Xe+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",Xe+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=fw(this.locale,Xe,this.synth).id};let R=document.createElement("select");R.classList.add("main_controller_element"),R.classList.add("synthui_button"),this.locale.bindObjectProperty(R,"title",Xe+"interpolation.description");{let N=document.createElement("option");N.value="0",this.locale.bindObjectProperty(N,"textContent",Xe+"interpolation.linear"),R.appendChild(N);let k0=document.createElement("option");k0.value="1",this.locale.bindObjectProperty(k0,"textContent",Xe+"interpolation.nearestNeighbor"),R.appendChild(k0);let v=document.createElement("option");v.value="2",v.selected=!0,this.locale.bindObjectProperty(v,"textContent",Xe+"interpolation.cubic"),R.appendChild(v),R.onchange=()=>{this.synth.setInterpolationType(parseInt(R.value))}}let q=document.createElement("div");q.classList.add("synthui_controller"),this.uiDiv.appendChild(q);let U=document.createElement("button");this.locale.bindObjectProperty(U,"textContent",Xe+"toggleButton.title"),this.locale.bindObjectProperty(U,"title",Xe+"toggleButton.description"),U.classList.add("synthui_button"),U.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(c),n.appendChild(u),n.appendChild(p),n.appendChild(R),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,u,p,U,R],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(U),q.appendChild(n),this.mainControllerDiv=q,this.mainControllerDiv.onclick=N=>N.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),q.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Bw(){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,c=i.channel,u=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(u);break;case $3.mainVolume:p.volume.update(u);break;case $3.pan:p.pan.update(u);break;case $3.modulationWheel:p.mod.update(u);break;case $3.chorusDepth:p.chorus.update(u);break;case $3.reverbDepth:p.reverb.update(u);break;case $3.brightness:p.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?PE(32):OE(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 Xe="locale.synthesizerController.",Wr=class{constructor(i,A,c){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=c,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&&(_e(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 c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<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(c=>c.bank!==128).sort((c,u)=>c.program===u.program?c.bank-u.bank:c.program-u.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,u)=>c.program-u.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,u)=>{let p=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};Wr.prototype.hideControllers=Aw;Wr.prototype.showControllers=$w;Wr.prototype.toggleDarkMode=lw;Wr.prototype.createChannelController=gw;Wr.prototype.createChannelControllers=uw;Wr.prototype.createMainSynthController=Cw;Wr.prototype.setEventListeners=Bw;var Np=null,YE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Np,this.selectedOutput=Np,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,_5("%cMIDI handler created!",E1.recognized),!0}catch(i){return T9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return T9("Web MIDI Api not supported!",E1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),_5(`%cPlaying MIDI to %c${i.name}`,E1.info,E1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Np,i.connectMidiOutput(void 0),_5("%cDisconnected from MIDI out.",E1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},_5(`%cListening for messages on %c${i.name}`,E1.info,E1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Np,i.onmidimessage=void 0,_5(`%cDisconnected from %c${i.name}`,E1.info,E1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Np;for(let i of this.inputs)i[1].onmidimessage=void 0}};var zE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let u=c.map(p=>parseInt(p,16));i.sendMessage(u)}),_5("%cWeb MIDI Link handler created!",E1.recognized)}};var Va="midi range";function yw(n,i,A){let c=0,u=this.htmlControls.keyboard,p=[],R=[],q,U=T=>{let P=R[T],G0=P.drum?128:P.bank,I1=q.find(g1=>g1.bank===G0&&g1.program===P.program);I1||(I1=q[0]),p[T].textContent=": "+I1.presetName},N=()=>{if(q)for(let T=0;T{let T=document.createElement("option");T.value=c.toString();let P=document.createElement("p");this.locale.bindObjectProperty(P,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let G0=document.createElement("p");G0.textContent=": not ",p.push(G0),R.push({program:0,bank:0,drum:c%16===9}),N(),T.appendChild(P),T.appendChild(G0),T.style.background=i.channelColors[c%i.channelColors.length],T.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(T),c++},v=this.synthui.synth;v.eventHandler.addEvent("presetlistchange","settings-preset-list-change",T=>{q=T,N()}),v.eventHandler.addEvent("newchannel","settings-new-channel",()=>{k0()}),v.eventHandler.addEvent("programchange","settings-program-change",T=>{let P=R[T.channel];P.bank=T.bank,P.program=T.program,U(T.channel)}),v.eventHandler.addEvent("drumchange","settings-drum-change",T=>{R[T.channel].drum=T.isDrumChannel,U(T.channel)});for(let T=0;T{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=T=>{T.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",()=>{k0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",T=>{T.userCalled&&(n.selectChannel(T.channel),u.channelSelector.value=T.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",T=>{if(T.isMuted&&T.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 Qw=` + `;let N=document.createElement("div");if(N.classList.add("notification_content"),p)for(let[v,T]of Object.entries(p))N.style[v]=T;q.appendChild(N);for(let v of i){let T=dw(v,u);v.onClick&&(T.onclick=()=>v.onClick({div:q,id:U},T)),N.appendChild(T)}c?q.getElementsByClassName("close_btn")[0].onclick=()=>{_e(U)}:q.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{q.classList.add("drop")},75);let k0=setTimeout(()=>{_e(U)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(q),Tp[U]={div:q,timeout:k0,onclose:R},{div:q,id:U}}function _e(n){if(Tp[n]===void 0)return;let i=Tp[n],A=i.div;clearTimeout(Tp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Tp[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 fw(n,i,A){let c=i+"effectsConfig.",u=c4(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,R)=>{A.disableGSNRPparams(),R.parentNode.removeChild(R)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let R=p.target.parentElement.parentElement;R.textContent=n.getLocaleString("locale.synthInit.genericLoading");let q=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(q),R.textContent=n.getLocaleString("locale.synthInit.done"),_5("%cReverb response set!",E1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:l7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:l7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:l7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:l7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:l7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:l7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:l7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{l7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),l7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),l7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),l7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),l7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),l7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig(l7)}}],999999,!0,n);return u.div.onclick=p=>p.stopImmediatePropagation(),u}var h8="locale.synthesizerController.keyModifiers.";async function Iw(n,i){return new Promise(A=>{let c=c4(n.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(h8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=u=>{_e(c.id),i.onNotePressed=void 0,A(u)}})}async function mw(n,i,A,c){let u=await Iw(i,A),p=(T,P,G0,I1)=>{let g1={type:"number",min:P.toString(),max:G0.toString(),value:I1.toString()};return g1[T]="true",g1},R={};R.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let T of c.toSorted((P,G0)=>P.presetNameG0.presetName?1:0))R[T.presetName]=T.presetName;let q=n.keyModifierManager.getModifier(A.channel,u),U=q?.velocity??-1,N=c4(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[u.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async T=>{_e(T.id),await mw(n,i,A,c)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:p("vel",0,127,U)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:R},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:T=>{let P=parseInt(T.div.querySelector("input[chan]").value)??-1,G0=parseInt(T.div.querySelector("input[vel]").value)??-1,I1=T.div.querySelector("select[preset-selector]").value,g1=-1,j1=-1;if(I1!=="unchanged"){let z1=c.find(u2=>u2.presetName===I1);g1=z1.bank,j1=z1.program}n.keyModifierManager.addModifier(P,u,{velocity:G0,patch:{program:j1,bank:g1}}),_e(T.id)}}],99999,!0,i),k0=q?.patch?.program??-1,v=q?.patch?.bank??-1;v!==-1&&k0!==-1&&(N.div.querySelector("select[preset-selector]").value=c.find(T=>T.bank===v&&T.program===k0).presetName)}async function pw(n,i,A){let c=await Iw(i,A);c4(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async u=>{_e(u.id),await pw(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 p=parseInt(u.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),_e(u.id)}}],99999,!0,i)}function Ew(n,i,A,c){c4(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=>{_e(u.id),mw(n,i,A,c).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:u=>{_e(u.id),pw(n,i,A).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:u=>{_e(u.id),c4(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{_e(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{_e(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function Cw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new Er("",Xe+"mainVoiceMeter",this.locale,[],0,XC),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new Er("",Xe+"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("",Xe+"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("",Xe+"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",Xe+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",Xe+"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",Xe+"systemReset.title"),this.locale.bindObjectProperty(A,"title",Xe+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((N,k0)=>{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(k0,a7,!1),N.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(k0,0,!0),N.transpose.update(0),N.soloButton.innerHTML=Bu(ai),N.muteButton.innerHTML=Rp(ai),this.synth.muteChannel(k0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",Xe+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",Xe+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let u=document.createElement("button");this.locale.bindObjectProperty(u,"textContent",Xe+"keyModifiers.button.title"),this.locale.bindObjectProperty(u,"title",Xe+"keyModifiers.button.description"),u.classList.add("synthui_button"),u.classList.add("main_controller_element"),u.onclick=()=>{Ew(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",Xe+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",Xe+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=fw(this.locale,Xe,this.synth).id};let R=document.createElement("select");R.classList.add("main_controller_element"),R.classList.add("synthui_button"),this.locale.bindObjectProperty(R,"title",Xe+"interpolation.description");{let N=document.createElement("option");N.value="0",this.locale.bindObjectProperty(N,"textContent",Xe+"interpolation.linear"),R.appendChild(N);let k0=document.createElement("option");k0.value="1",this.locale.bindObjectProperty(k0,"textContent",Xe+"interpolation.nearestNeighbor"),R.appendChild(k0);let v=document.createElement("option");v.value="2",v.selected=!0,this.locale.bindObjectProperty(v,"textContent",Xe+"interpolation.cubic"),R.appendChild(v),R.onchange=()=>{this.synth.setInterpolationType(parseInt(R.value))}}let q=document.createElement("div");q.classList.add("synthui_controller"),this.uiDiv.appendChild(q);let U=document.createElement("button");this.locale.bindObjectProperty(U,"textContent",Xe+"toggleButton.title"),this.locale.bindObjectProperty(U,"title",Xe+"toggleButton.description"),U.classList.add("synthui_button"),U.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(c),n.appendChild(u),n.appendChild(p),n.appendChild(R),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,u,p,U,R],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(U),q.appendChild(n),this.mainControllerDiv=q,this.mainControllerDiv.onclick=N=>N.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),q.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function Bw(){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,c=i.channel,u=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(u);break;case $3.mainVolume:p.volume.update(u);break;case $3.pan:p.pan.update(u);break;case $3.modulationWheel:p.mod.update(u);break;case $3.chorusDepth:p.chorus.update(u);break;case $3.reverbDepth:p.reverb.update(u);break;case $3.brightness:p.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?PE(32):OE(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 Xe="locale.synthesizerController.",Wr=class{constructor(i,A,c){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=c,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&&(_e(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 c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<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(c=>c.bank!==128).sort((c,u)=>c.program===u.program?c.bank-u.bank:c.program-u.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,u)=>c.program-u.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,u)=>{let p=this.synth.channelProperties[u].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};Wr.prototype.hideControllers=Aw;Wr.prototype.showControllers=$w;Wr.prototype.toggleDarkMode=lw;Wr.prototype.createChannelController=gw;Wr.prototype.createChannelControllers=uw;Wr.prototype.createMainSynthController=Cw;Wr.prototype.setEventListeners=Bw;var Np=null,zE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Np,this.selectedOutput=Np,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,_5("%cMIDI handler created!",E1.recognized),!0}catch(i){return T9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return T9("Web MIDI Api not supported!",E1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),_5(`%cPlaying MIDI to %c${i.name}`,E1.info,E1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Np,i.connectMidiOutput(void 0),_5("%cDisconnected from MIDI out.",E1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},_5(`%cListening for messages on %c${i.name}`,E1.info,E1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Np,i.onmidimessage=void 0,_5(`%cDisconnected from %c${i.name}`,E1.info,E1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Np;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 c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let u=c.map(p=>parseInt(p,16));i.sendMessage(u)}),_5("%cWeb MIDI Link handler created!",E1.recognized)}};var Va="midi range";function yw(n,i,A){let c=0,u=this.htmlControls.keyboard,p=[],R=[],q,U=T=>{let P=R[T],G0=P.drum?128:P.bank,I1=q.find(g1=>g1.bank===G0&&g1.program===P.program);I1||(I1=q[0]),p[T].textContent=": "+I1.presetName},N=()=>{if(q)for(let T=0;T{let T=document.createElement("option");T.value=c.toString();let P=document.createElement("p");this.locale.bindObjectProperty(P,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let G0=document.createElement("p");G0.textContent=": not ",p.push(G0),R.push({program:0,bank:0,drum:c%16===9}),N(),T.appendChild(P),T.appendChild(G0),T.style.background=i.channelColors[c%i.channelColors.length],T.style.color="rgb(0, 0, 0)",u.channelSelector.appendChild(T),c++},v=this.synthui.synth;v.eventHandler.addEvent("presetlistchange","settings-preset-list-change",T=>{q=T,N()}),v.eventHandler.addEvent("newchannel","settings-new-channel",()=>{k0()}),v.eventHandler.addEvent("programchange","settings-program-change",T=>{let P=R[T.channel];P.bank=T.bank,P.program=T.program,U(T.channel)}),v.eventHandler.addEvent("drumchange","settings-drum-change",T=>{R[T.channel].drum=T.isDrumChannel,U(T.channel)});for(let T=0;T{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=T=>{T.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",()=>{k0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",T=>{T.userCalled&&(n.selectChannel(T.channel),u.channelSelector.value=T.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",T=>{if(T.isMuted&&T.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 Qw=`

@@ -215,7 +215,7 @@ var QE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(

-`;async function ww(){let n=await window.savedSettings;if(!n.interface)return;_5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Tn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Tn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let u=c.sampleSize;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),Tn(i.analyserFftSlider).innerText=`${u}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Tn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let R=this.htmlControls.keyboard,q=this.midiKeyboard,U=n.keyboard;q.setKeyRange(U.keyRange,!1),U.autoRange?(R.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,R.sizeSelector.value=Object.keys(this.keyboardSizes).find(N=>this.keyboardSizes[N].min===U.keyRange.min&&this.keyboardSizes[N].max===U.keyRange.max)),U.mode==="dark"&&(q.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),U.show===!1&&(q.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 vw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function kw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===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 Sw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,u]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=u.localeName,i.appendChild(p)}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 bw(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=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"),c.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"),c.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"),c.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"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var JE={start:"#101010",end:"#212121"},KE={start:"#bbb",end:"#f0f0f0"},Dw="#eee",_w="#333",WE={start:"#222",end:"#333"},ZE={start:"#ccc",end:"#fff"},Nn=.2;function xw(){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(_w,Dw,Nn,i,"--font-color"),Gn(ZE.start,WE.start,Nn,i,"--top-buttons-color-start"),Gn(ZE.end,WE.end,Nn,i,"--top-buttons-color-end"),Gn(KE.start,JE.start,Nn,i,"--top-color-start"),Gn(KE.end,JE.end,Nn,i,"--top-color-end")):(Gn(Dw,_w,Nn,i,"--font-color"),Gn(WE.start,ZE.start,Nn,i,"--top-buttons-color-start"),Gn(WE.end,ZE.end,Nn,i,"--top-buttons-color-end"),Gn(JE.start,KE.start,Nn,i,"--top-color-start"),Gn(JE.end,KE.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Qu={};function Gn(n,i,A,c,u){Qu[u]&&(clearInterval(Qu[u]),Qu[u]=void 0);function p(v){v.length===4&&(v=`#${v[1]}${v[1]}${v[2]}${v[2]}${v[3]}${v[3]}`);let T=parseInt(v.slice(1),16);return{r:T>>16&255,g:T>>8&255,b:T&255}}function R(v,T,P){return v+(T-v)*P}let q=p(n),U=p(i),N=performance.now()/1e3;function k0(){let T=performance.now()/1e3-N,P=Math.min(T/A,1),G0=Math.round(R(q.r,U.r,P)),I1=Math.round(R(q.g,U.g,P)),g1=Math.round(R(q.b,U.b,P));c.style.setProperty(u,`rgb(${G0}, ${I1}, ${g1})`),P>=1&&(clearInterval(Qu[u]),Qu[u]=void 0)}Qu[u]=setInterval(k0,1e3/60)}function Lw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Tn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Tn(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),Tn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Tn(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 Mw(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(pr||c4(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Rw(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[1].name,A.appendChild(u)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function Fw(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 c of n.outputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[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 Tw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var Nw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var Gw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var Uw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Tw,keyboardSettings:Nw,midiSettings:Gw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",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 Pw={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 Ow={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 qw={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 Hw={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 ww(){let n=await window.savedSettings;if(!n.interface)return;_5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Tn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Tn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let u=c.sampleSize;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),Tn(i.analyserFftSlider).innerText=`${u}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Tn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let R=this.htmlControls.keyboard,q=this.midiKeyboard,U=n.keyboard;q.setKeyRange(U.keyRange,!1),U.autoRange?(R.sizeSelector.value=Va,this.autoKeyRange=!0):(this.autoKeyRange=!1,R.sizeSelector.value=Object.keys(this.keyboardSizes).find(N=>this.keyboardSizes[N].min===U.keyRange.min&&this.keyboardSizes[N].max===U.keyRange.max)),U.mode==="dark"&&(q.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),U.show===!1&&(q.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 vw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function kw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===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 Sw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,u]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=u.localeName,i.appendChild(p)}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 bw(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=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"),c.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"),c.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"),c.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"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var KE={start:"#101010",end:"#212121"},WE={start:"#bbb",end:"#f0f0f0"},Dw="#eee",_w="#333",ZE={start:"#222",end:"#333"},jE={start:"#ccc",end:"#fff"},Nn=.2;function xw(){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(_w,Dw,Nn,i,"--font-color"),Gn(jE.start,ZE.start,Nn,i,"--top-buttons-color-start"),Gn(jE.end,ZE.end,Nn,i,"--top-buttons-color-end"),Gn(WE.start,KE.start,Nn,i,"--top-color-start"),Gn(WE.end,KE.end,Nn,i,"--top-color-end")):(Gn(Dw,_w,Nn,i,"--font-color"),Gn(ZE.start,jE.start,Nn,i,"--top-buttons-color-start"),Gn(ZE.end,jE.end,Nn,i,"--top-buttons-color-end"),Gn(KE.start,WE.start,Nn,i,"--top-color-start"),Gn(KE.end,WE.end,Nn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Qu={};function Gn(n,i,A,c,u){Qu[u]&&(clearInterval(Qu[u]),Qu[u]=void 0);function p(v){v.length===4&&(v=`#${v[1]}${v[1]}${v[2]}${v[2]}${v[3]}${v[3]}`);let T=parseInt(v.slice(1),16);return{r:T>>16&255,g:T>>8&255,b:T&255}}function R(v,T,P){return v+(T-v)*P}let q=p(n),U=p(i),N=performance.now()/1e3;function k0(){let T=performance.now()/1e3-N,P=Math.min(T/A,1),G0=Math.round(R(q.r,U.r,P)),I1=Math.round(R(q.g,U.g,P)),g1=Math.round(R(q.b,U.b,P));c.style.setProperty(u,`rgb(${G0}, ${I1}, ${g1})`),P>=1&&(clearInterval(Qu[u]),Qu[u]=void 0)}Qu[u]=setInterval(k0,1e3/60)}function Lw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Tn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Tn(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),Tn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Tn(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 Mw(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(pr||c4(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Rw(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[1].name,A.appendChild(u)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function Fw(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 c of n.outputs){let u=document.createElement("option");u.value=c[0],u.innerText=c[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 Tw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var Nw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var Gw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var Uw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Tw,keyboardSettings:Nw,midiSettings:Gw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",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 Pw={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 Ow={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 qw={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 Hw={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 Vw={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:Ow,effectsConfig:qw,keyModifiers:Hw};var Yw={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 zw={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:zw,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:Pw,settings:Uw,synthesizerController:Vw,sequencerController:Yw};var Kw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Ww={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 Zw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var jw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Kw,keyboardSettings:Ww,midiSettings:Zw,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 Xw={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 ev={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 tv={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 iv={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. @@ -230,7 +230,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 vv={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:wv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:Cv,settings:Ev,synthesizerController:yv,sequencerController:Qv};var kv={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)"},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 Sv={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 bv={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"}};var Dv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:kv,keyboardSettings:Sv,midiSettings:bv,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 _v={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 xv={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 Lv={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 Mv={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:xv,effectsConfig:Lv};var Rv={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 Fv={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 Tv={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:Fv,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:_v,settings:Dv,synthesizerController:Mv,sequencerController:Rv};var AB="en",F$={en:Jw,pl:sv,ja:fv,fr:vv,pt:Tv};var a_=.2,A_={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,A,c,u,p,R,q,U,N){this.delay=N,this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=p,this.midiDeviceHandler=R,this.synthui=A,this.sequi=c,this.locale=U,this.musicMode=q,this.locales=F$,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 k0=document.createElement("div");k0.style.position="relative",k0.classList.add("seamless_button"),k0.classList.add("settings_button"),i.appendChild(k0);let v=document.createElement("div");v.classList.add("seamless_button"),this.locale.bindObjectProperty(v,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(v,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(v);let T=document.createElement("div");T.classList.add("seamless_button"),this.locale.bindObjectProperty(T,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(T,"title","locale.hideTopBar.description"),i.appendChild(T);let P=document.getElementsByClassName("show_top_button")[0];P.innerHTML=jQ(20);let G0=document.createElement("span");this.locale.bindObjectProperty(G0,"innerText","locale.settings.toggleButton"),k0.appendChild(G0);let I1=document.createElement("div");I1.innerHTML=WQ(24),I1.classList.add("gear"),k0.appendChild(I1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,k0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),v.onclick=this.toggleMusicPlayerMode.bind(this),T.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=Qw,hw(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 z1=j1.getAttribute("translate-path-title");if(this.locale.bindObjectProperty(j1,"textContent",z1+".title"),this.locale.bindObjectProperty(j1,"title",z1+".description"),j1.tagName==="LABEL"){let u2=j1.getAttribute("for");if(u2){let P2=document.getElementById(u2);P2&&this.locale.bindObjectProperty(P2,"title",z1+".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,p,R,c,A)}):this.createHandlers(u,p,R,c,A),this.topPartVisible=!0;let g1=!1;window.addEventListener("resize",()=>{let j1=window.screen.height,z1=window.screen.width,u2=window.outerHeight,P2=window.outerWidth,L2;L2=z1===P2&&j1===u2,L2!==g1&&(g1=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,c,u,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,u,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}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=xw;v7.prototype._createInterfaceSettingsHandler=Sw;v7.prototype._changeLayout=bw;v7.prototype._createRendererHandler=Lw;v7.prototype._createMidiSettingsHandler=Mw;v7.prototype._createMidiInputHandler=Rw;v7.prototype._createMidiOutputHandler=Fw;v7.prototype._createKeyboardHandler=yw;v7.prototype._loadSettings=ww;v7.prototype._serializeSettings=kw;v7.prototype._saveSettings=vw;var Nv=.5,jE=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 vv={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:wv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:Cv,settings:Ev,synthesizerController:yv,sequencerController:Qv};var kv={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)"},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 Sv={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 bv={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"}};var Dv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:kv,keyboardSettings:Sv,midiSettings:bv,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 _v={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 xv={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 Lv={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 Mv={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:xv,effectsConfig:Lv};var Rv={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 Fv={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 Tv={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:Fv,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:_v,settings:Dv,synthesizerController:Mv,sequencerController:Rv};var AB="en",F$={en:Jw,pl:sv,ja:fv,fr:vv,pt:Tv};var a_=.2,A_={2048:.05,4096:.27,8192:.34,16384:.37151927437641724,32768:.48},v7=class{addSequencer;constructor(i,A,c,u,p,R,q,U,N){this.delay=N,this.mode="dark",this.autoKeyRange=!1,this.renderer=u,this.midiKeyboard=p,this.midiDeviceHandler=R,this.synthui=A,this.sequi=c,this.locale=U,this.musicMode=q,this.locales=F$,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 k0=document.createElement("div");k0.style.position="relative",k0.classList.add("seamless_button"),k0.classList.add("settings_button"),i.appendChild(k0);let v=document.createElement("div");v.classList.add("seamless_button"),this.locale.bindObjectProperty(v,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(v,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(v);let T=document.createElement("div");T.classList.add("seamless_button"),this.locale.bindObjectProperty(T,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(T,"title","locale.hideTopBar.description"),i.appendChild(T);let P=document.getElementsByClassName("show_top_button")[0];P.innerHTML=jQ(20);let G0=document.createElement("span");this.locale.bindObjectProperty(G0,"innerText","locale.settings.toggleButton"),k0.appendChild(G0);let I1=document.createElement("div");I1.innerHTML=WQ(24),I1.classList.add("gear"),k0.appendChild(I1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,k0.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),v.onclick=this.toggleMusicPlayerMode.bind(this),T.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=Qw,hw(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 z1=j1.getAttribute("translate-path-title");if(this.locale.bindObjectProperty(j1,"textContent",z1+".title"),this.locale.bindObjectProperty(j1,"title",z1+".description"),j1.tagName==="LABEL"){let u2=j1.getAttribute("for");if(u2){let P2=document.getElementById(u2);P2&&this.locale.bindObjectProperty(P2,"title",z1+".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,p,R,c,A)}):this.createHandlers(u,p,R,c,A),this.topPartVisible=!0;let g1=!1;window.addEventListener("resize",()=>{let j1=window.screen.height,z1=window.screen.width,u2=window.outerHeight,P2=window.outerWidth,L2;L2=z1===P2&&j1===u2,L2!==g1&&(g1=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,c,u,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,u,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}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=xw;v7.prototype._createInterfaceSettingsHandler=Sw;v7.prototype._changeLayout=bw;v7.prototype._createRendererHandler=Lw;v7.prototype._createMidiSettingsHandler=Mw;v7.prototype._createMidiInputHandler=Rw;v7.prototype._createMidiOutputHandler=Fw;v7.prototype._createKeyboardHandler=yw;v7.prototype._loadSettings=ww;v7.prototype._serializeSettings=kw;v7.prototype._saveSettings=vw;var Nv=.5,XE=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=`
@@ -275,20 +275,20 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let c of this.mainDiv.querySelectorAll("*[translate-path]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path"));for(let c of this.mainDiv.querySelectorAll("*[translate-path-title]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path-title")+".title"),A.bindObjectProperty(c,"title",c.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 c=A.copyright.replaceAll(` `,""),u=(P,G0,I1=!0)=>{let g1=document.getElementById(P);if(G0.length>0)if(g1.parentElement.classList.remove("hidden"),g1.innerHTML="",G0.length>30&&I1){g1.classList.add("marquee");let j1=document.createElement("span");j1.textContent=G0,g1.appendChild(j1)}else g1.textContent=G0;else g1.parentElement.classList.add("hidden")};u("player_info_detail",c),u("player_info_time",b$(this.seq.duration).time),u("player_info_file_name",A.fileName,!1);let p=(P,G0,I1,g1="")=>this.seq.midiData.RMIDInfo?.[P]===void 0?G0:g1+I1.decode(this.seq.midiData.RMIDInfo?.[P]).replace(/\0$/,""),R=p("IENC","ascii",new TextDecoder),q=new TextDecoder(R);u("player_info_album",p("IPRD","",q)),u("player_info_artist",p("IART","",q)),u("player_info_genre",p("IGNR","",q)),u("player_info_creation",p("ICRD","",q)+p("ICRT","",q,` -`)),u("player_info_comment",p("ICMT","",q));let U=this.mainDiv.getElementsByTagName("svg")[0],N=this.mainDiv.getElementsByTagName("img")[0],k0=document.getElementById("player_info_background_image");if(!A.isEmbedded){U.style.display="",N.style.display="none",k0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){U.style.display="",N.style.display="none",k0.style.setProperty("--bg-image","undefined");return}U.style.display="none",N.style.display="";let v=new Blob([A.RMIDInfo.IPIC.buffer]),T=URL.createObjectURL(v);N.src=T,k0.style.setProperty("--bg-image",`url('${T}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let u=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${u}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},Nv*1e3)}else{let u=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${u}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},Nv*1e3)}}};var XE=class{onLocaleChanged=[];constructor(i){this.locale=F$[i]||F$[AB],this.fallbackLocale=F$[AB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_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,(c,u)=>typeof A[u]<"u"?A[u]:c)}bindObjectProperty(i,A,c,u=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),u=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(u)}),this.locale=c,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function $B(n,i=!0,A=0,c={},u=void 0){let p=n.getChannelData(A),R=n.getChannelData(A+1),q=p.length,U=2,N=new K5(0),k0=Object.keys(c).length>0;if(k0){let a0=new TextEncoder,g5=[Eu("INFO"),k6("ICMT",a0.encode("Created with SpessaSynth"),!0)];c.artist&&g5.push(k6("IART",a0.encode(c.artist),!0)),c.album&&g5.push(k6("IPRD",a0.encode(c.album),!0)),c.genre&&g5.push(k6("IGNR",a0.encode(c.genre),!0)),c.title&&g5.push(k6("INAM",a0.encode(c.title),!0)),N=k6("LIST",St(g5))}let v=new K5(0),T=u?.end!==void 0&&u?.start!==void 0;if(T){let a0=Math.floor(u.start*n.sampleRate),g5=Math.floor(u.end*n.sampleRate),p3=new K5(24);Ii(p3,0,4),Ii(p3,0,4),U8(p3,"data"),Ii(p3,0,4),Ii(p3,0,4),Ii(p3,a0,4);let k3=new K5(24);Ii(k3,1,4),Ii(k3,0,4),U8(k3,"data"),Ii(k3,0,4),Ii(k3,0,4),Ii(k3,g5,4);let u6=St([new K5([2,0,0,0]),p3,k3]);v=k6("cue ",u6)}let P=44,G0=q*2*U,I1=P+G0+N.length+v.length-8,g1=new Uint8Array(P);g1.set([82,73,70,70],0),g1.set(new Uint8Array([I1&255,I1>>8&255,I1>>16&255,I1>>24&255]),4),g1.set([87,65,86,69],8),g1.set([102,109,116,32],12),g1.set([16,0,0,0],16),g1.set([1,0],20),g1.set([2,0],22);let j1=n.sampleRate;g1.set(new Uint8Array([j1&255,j1>>8&255,j1>>16&255,j1>>24&255]),24);let z1=j1*2*U;g1.set(new Uint8Array([z1&255,z1>>8&255,z1>>16&255,z1>>24&255]),28),g1.set([4,0],32),g1.set([16,0],34),g1.set([100,97,116,97],36),g1.set(new Uint8Array([G0&255,G0>>8&255,G0>>16&255,G0>>24&255]),40);let u2=new Uint8Array(I1+8),P2=P;u2.set(g1,0);let L2=32767;if(i){let a0=p.map((g5,p3)=>Math.max(Math.abs(g5),Math.abs(R[p3]))).reduce((g5,p3)=>Math.max(g5,p3));L2=a0>0?32767/a0:1}for(let a0=0;a0>8&255,u2[P2++]=p3&255,u2[P2++]=p3>>8&255}return k0&&(u2.set(N,P2),P2+=N.length),T&&u2.set(v,P2),new Blob([u2.buffer],{type:"audio/wav"})}var Gv=1e3;async function Uv(n=!0,i=44100,A=2,c=!1,u={},p=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let R=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),q=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),U=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),N=c4(R,[{type:"text",textContent:U},{type:"progress"}],9999999,!1),k0=await this.seq.getMIDI(),v=Cu(k0.loop.start,k0),T=Cu(k0.loop.end,k0),P=T-v,G0=k0.duration+A+P*p,I1=i*G0,g1;try{g1=new OfflineAudioContext({numberOfChannels:c?32:2,sampleRate:i,length:I1}),await g1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(E3){c4("ERROR",[{type:"text",textContent:E3}]);return}let j1=await this.synth.getSynthesizerSnapshot(),z1=this.soundFont,u2,L2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await g1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};j1.effectsConfig=L2;try{u2=new mu(g1.destination,z1,!1,{parsedMIDI:k0,snapshot:j1,oneOutput:c,loopCount:p},L2)}catch(E3){throw c4(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=Gv/1e3,k3=u2.currentTime,u6=G0,S3=.1,c9=setInterval(()=>{let E3=u2.currentTime-k3;k3=u2.currentTime;let p6=u2.currentTime/G0;g5.style.width=`${p6*100}%`;let w4=E3/p3,er=(1-p6)/w4*G0;er!==1/0&&(u6=S3*er+(1-S3)*u6,a0.innerText=`${q} ${b$(u6).time}`)},Gv),N9=await g1.startRendering();if(g5.style.width="100%",clearInterval(c9),a0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(E3=>setTimeout(E3,75)),c){let E3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",p6=[],w4=new Set;for(let q8 of k0.usedChannelsOnTrack)q8.forEach(ja=>w4.add(ja));for(let q8=0;q8<16;q8++){let ja=!0;for(let Br=q8;Br{let N$=Xa.textContent;Xa.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Ne=>setTimeout(Ne,75));let uC=$B(N9,!1,q8*2),hC=`${q8+1} - ${j1.channelSnapshots[q8].patchName}.wav`;this.saveBlob(uC,hC),Xa.classList.add("green_button"),Xa.textContent=N$}})}let er=c4(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(k0.firstNoteOn,k0),p6=v-E3,w4=T-E3,er={start:p6,end:w4};_5(`%cWriting loop points: start %c${p6}%c, end:%c${w4}`,E1.info,E1.recognized,E1.info,E1.recognized);let q8=$B(N9,n,0,u,er);this.saveBlob(q8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}_e(N.id),this.isExporting=!1}async function Pv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(N,k0,v)=>this.seq.midiData.RMIDInfo?.[N]===void 0?k0:v.decode(this.seq.midiData.RMIDInfo?.[N]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),u=new TextDecoder(c),p=A("IPRD","",u),R=A("IART","",u),q=A("IGNR","",u),U=[{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:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:R,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:q,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:N=>{_e(N.id);let k0=N.div.querySelector("input[normalize-volume-toggle]").checked,v=N.div.querySelector("input[additional-time]").value,T=N.div.querySelector("input[sample-rate]").value,P=N.div.querySelector("input[loop-count]").value,G0=N.div.querySelector("input[separate-channels-toggle]").checked,I1=N.div.querySelector("input[name='artist']").value,g1=N.div.querySelector("input[name='album']").value,j1=N.div.querySelector("input[name='song_title']").value,z1=N.div.querySelector("input[name='genre']").value,u2={artist:I1.length>0?I1:void 0,album:g1.length>0?g1:void 0,title:j1.length>0?j1:void 0,genre:z1.length>0?z1:void 0};this._doExportAudioData(k0,parseInt(T),parseInt(v),G0,u2,parseInt(P))}}];c4(this.localeManager.getLocaleString(n+"title"),U,9999999,!0,this.localeManager)}async function Ov(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=NE(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function qv(n,i){Q8("%cSearching for all used programs and keys...",E1.info);let A=16+n.midiPortChannelOffsets.reduce((v,T)=>T>v?T:v),c=[];for(let v=0;v{R[G0]>=P.length||P[R[G0]].ticks0;){let v=U(),T=n.tracks[v];if(R[v]>=T.length){q--;continue}let P=T[R[v]];if(R[v]++,P.messageStatusByte===v3.midiPort){N[v]=P.messageData[0];continue}let G0=P.messageStatusByte&240;if(G0!==v3.noteOn&&G0!==v3.controllerChange&&G0!==v3.programChange&&G0!==v3.systemExclusive)continue;let I1=(P.messageStatusByte&15)+n.midiPortChannelOffsets[N[v]]||0,g1=c[I1];switch(G0){case v3.programChange:g1.program=P.messageData[0],u(g1);break;case v3.controllerChange:if(P.messageData[0]!==$3.bankSelect||k0==="gs"&&g1.drums)continue;let j1=P.messageData[1],z1=Math.max(0,j1-n.bankOffset);if(k0==="xg"){let L2=j1===120||j1===126||j1===127;L2!==g1.drums?(g1.drums=L2,g1.bank=g1.drums?128:z1,u(g1)):g1.bank=g1.drums?128:z1;continue}c[I1].bank=z1;break;case v3.noteOn:if(P.messageData[1]===0)continue;u(g1),p[g1.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&&(k0="xg");continue}let u2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][P.messageData[5]&15]+n.midiPortChannelOffsets[N[v]],P2=!!(P.messageData[7]>0&&P.messageData[5]>>4);g1=c[u2],g1.drums=P2,g1.bank=P2?128:0,u(g1);break}}for(let v of Object.keys(p))p[v].size===0&&(_5(`%cDetected change but no keys for %c${v}`,E1.info,E1.value),delete p[v]);return u9(),p}function wu(n,i){function A(u,p){let R=0;for(let q=0;q=N.min&&T.key<=N.max&&T.velocity>=k0.min&&T.velocity<=k0.max){v=!0;break}v||(_5(`%c${U.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${U.useCount-1}`,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized),u.safeDeleteZone(q)&&(R++,q--,_5(`%c${U.sample.sampleName} %cdeleted`,E1.recognized,E1.info)),U.sample.useCount<1&&n.deleteSample(U.sample))}return R}F7("%cTrimming soundfont...",E1.info);let c=qv(i,n);Q8("%cModifying soundfont...",E1.info),_5("Detected keys for midi:",c);for(let u=0;u{let v=k0.split("-");return{key:parseInt(v[0]),velocity:parseInt(v[1])}});Q8(`%cTrimming %c${p.presetName}`,E1.info,E1.recognized),_5(`Keys for ${p.presetName}:`,U);let N=0;for(let k0=0;k0=T.min&&I1.key<=T.max&&I1.velocity>=P.min&&I1.velocity<=P.max){G0=!0;let g1=A(v.instrument,U);_5(`%cTrimmed off %c${g1}%c zones from %c${v.instrument.instrumentName}`,E1.info,E1.recognized,E1.info,E1.recognized);break}G0||(N++,p.deleteZone(k0),v.instrument.useCount<1&&n.deleteInstrument(v.instrument),k0--)}_5(`%cTrimmed off %c${N}%c zones from %c${p.presetName}`,E1.info,E1.recognized,E1.info,E1.recognized),u9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" +`)),u("player_info_comment",p("ICMT","",q));let U=this.mainDiv.getElementsByTagName("svg")[0],N=this.mainDiv.getElementsByTagName("img")[0],k0=document.getElementById("player_info_background_image");if(!A.isEmbedded){U.style.display="",N.style.display="none",k0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){U.style.display="",N.style.display="none",k0.style.setProperty("--bg-image","undefined");return}U.style.display="none",N.style.display="";let v=new Blob([A.RMIDInfo.IPIC.buffer]),T=URL.createObjectURL(v);N.src=T,k0.style.setProperty("--bg-image",`url('${T}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let u=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${u}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},Nv*1e3)}else{let u=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${u}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},Nv*1e3)}}};var eC=class{onLocaleChanged=[];constructor(i){this.locale=F$[i]||F$[AB],this.fallbackLocale=F$[AB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_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,(c,u)=>typeof A[u]<"u"?A[u]:c)}bindObjectProperty(i,A,c,u=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:u,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),u=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(u)}),this.locale=c,this._boundObjectProperties.forEach(u=>{this._applyPropertyInternal(u)}),this.onLocaleChanged.forEach(u=>u())}};function $B(n,i=!0,A=0,c={},u=void 0){let p=n.getChannelData(A),R=n.getChannelData(A+1),q=p.length,U=2,N=new K5(0),k0=Object.keys(c).length>0;if(k0){let a0=new TextEncoder,g5=[Eu("INFO"),k6("ICMT",a0.encode("Created with SpessaSynth"),!0)];c.artist&&g5.push(k6("IART",a0.encode(c.artist),!0)),c.album&&g5.push(k6("IPRD",a0.encode(c.album),!0)),c.genre&&g5.push(k6("IGNR",a0.encode(c.genre),!0)),c.title&&g5.push(k6("INAM",a0.encode(c.title),!0)),N=k6("LIST",St(g5))}let v=new K5(0),T=u?.end!==void 0&&u?.start!==void 0;if(T){let a0=Math.floor(u.start*n.sampleRate),g5=Math.floor(u.end*n.sampleRate),p3=new K5(24);Ii(p3,0,4),Ii(p3,0,4),U8(p3,"data"),Ii(p3,0,4),Ii(p3,0,4),Ii(p3,a0,4);let k3=new K5(24);Ii(k3,1,4),Ii(k3,0,4),U8(k3,"data"),Ii(k3,0,4),Ii(k3,0,4),Ii(k3,g5,4);let u6=St([new K5([2,0,0,0]),p3,k3]);v=k6("cue ",u6)}let P=44,G0=q*2*U,I1=P+G0+N.length+v.length-8,g1=new Uint8Array(P);g1.set([82,73,70,70],0),g1.set(new Uint8Array([I1&255,I1>>8&255,I1>>16&255,I1>>24&255]),4),g1.set([87,65,86,69],8),g1.set([102,109,116,32],12),g1.set([16,0,0,0],16),g1.set([1,0],20),g1.set([2,0],22);let j1=n.sampleRate;g1.set(new Uint8Array([j1&255,j1>>8&255,j1>>16&255,j1>>24&255]),24);let z1=j1*2*U;g1.set(new Uint8Array([z1&255,z1>>8&255,z1>>16&255,z1>>24&255]),28),g1.set([4,0],32),g1.set([16,0],34),g1.set([100,97,116,97],36),g1.set(new Uint8Array([G0&255,G0>>8&255,G0>>16&255,G0>>24&255]),40);let u2=new Uint8Array(I1+8),P2=P;u2.set(g1,0);let L2=32767;if(i){let a0=p.map((g5,p3)=>Math.max(Math.abs(g5),Math.abs(R[p3]))).reduce((g5,p3)=>Math.max(g5,p3));L2=a0>0?32767/a0:1}for(let a0=0;a0>8&255,u2[P2++]=p3&255,u2[P2++]=p3>>8&255}return k0&&(u2.set(N,P2),P2+=N.length),T&&u2.set(v,P2),new Blob([u2.buffer],{type:"audio/wav"})}var Gv=1e3;async function Uv(n=!0,i=44100,A=2,c=!1,u={},p=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let R=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),q=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),U=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),N=c4(R,[{type:"text",textContent:U},{type:"progress"}],9999999,!1),k0=await this.seq.getMIDI(),v=Cu(k0.loop.start,k0),T=Cu(k0.loop.end,k0),P=T-v,G0=k0.duration+A+P*p,I1=i*G0,g1;try{g1=new OfflineAudioContext({numberOfChannels:c?32:2,sampleRate:i,length:I1}),await g1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url))}catch(E3){c4("ERROR",[{type:"text",textContent:E3}]);return}let j1=await this.synth.getSynthesizerSnapshot(),z1=this.soundFont,u2,L2={reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:await g1.decodeAudioData(this.impulseResponseRaw.slice(0,this.impulseResponseRaw.byteLength))};j1.effectsConfig=L2;try{u2=new mu(g1.destination,z1,!1,{parsedMIDI:k0,snapshot:j1,oneOutput:c,loopCount:p},L2)}catch(E3){throw c4(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=Gv/1e3,k3=u2.currentTime,u6=G0,S3=.1,c9=setInterval(()=>{let E3=u2.currentTime-k3;k3=u2.currentTime;let p6=u2.currentTime/G0;g5.style.width=`${p6*100}%`;let w4=E3/p3,er=(1-p6)/w4*G0;er!==1/0&&(u6=S3*er+(1-S3)*u6,a0.innerText=`${q} ${b$(u6).time}`)},Gv),N9=await g1.startRendering();if(g5.style.width="100%",clearInterval(c9),a0.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(E3=>setTimeout(E3,75)),c){let E3="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",p6=[],w4=new Set;for(let q8 of k0.usedChannelsOnTrack)q8.forEach(ja=>w4.add(ja));for(let q8=0;q8<16;q8++){let ja=!0;for(let Br=q8;Br{let N$=Xa.textContent;Xa.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(Ne=>setTimeout(Ne,75));let hC=$B(N9,!1,q8*2),dC=`${q8+1} - ${j1.channelSnapshots[q8].patchName}.wav`;this.saveBlob(hC,dC),Xa.classList.add("green_button"),Xa.textContent=N$}})}let er=c4(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(k0.firstNoteOn,k0),p6=v-E3,w4=T-E3,er={start:p6,end:w4};_5(`%cWriting loop points: start %c${p6}%c, end:%c${w4}`,E1.info,E1.recognized,E1.info,E1.recognized);let q8=$B(N9,n,0,u,er);this.saveBlob(q8,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}_e(N.id),this.isExporting=!1}async function Pv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(N,k0,v)=>this.seq.midiData.RMIDInfo?.[N]===void 0?k0:v.decode(this.seq.midiData.RMIDInfo?.[N]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),u=new TextDecoder(c),p=A("IPRD","",u),R=A("IART","",u),q=A("IGNR","",u),U=[{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:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:R,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:q,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:N=>{_e(N.id);let k0=N.div.querySelector("input[normalize-volume-toggle]").checked,v=N.div.querySelector("input[additional-time]").value,T=N.div.querySelector("input[sample-rate]").value,P=N.div.querySelector("input[loop-count]").value,G0=N.div.querySelector("input[separate-channels-toggle]").checked,I1=N.div.querySelector("input[name='artist']").value,g1=N.div.querySelector("input[name='album']").value,j1=N.div.querySelector("input[name='song_title']").value,z1=N.div.querySelector("input[name='genre']").value,u2={artist:I1.length>0?I1:void 0,album:g1.length>0?g1:void 0,title:j1.length>0?j1:void 0,genre:z1.length>0?z1:void 0};this._doExportAudioData(k0,parseInt(T),parseInt(v),G0,u2,parseInt(P))}}];c4(this.localeManager.getLocaleString(n+"title"),U,9999999,!0,this.localeManager)}async function Ov(){let n=await this.seq.getMIDI();Pa(n,await this.synth.getSynthesizerSnapshot());let i=NE(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function qv(n,i){Q8("%cSearching for all used programs and keys...",E1.info);let A=16+n.midiPortChannelOffsets.reduce((v,T)=>T>v?T:v),c=[];for(let v=0;v{R[G0]>=P.length||P[R[G0]].ticks0;){let v=U(),T=n.tracks[v];if(R[v]>=T.length){q--;continue}let P=T[R[v]];if(R[v]++,P.messageStatusByte===v3.midiPort){N[v]=P.messageData[0];continue}let G0=P.messageStatusByte&240;if(G0!==v3.noteOn&&G0!==v3.controllerChange&&G0!==v3.programChange&&G0!==v3.systemExclusive)continue;let I1=(P.messageStatusByte&15)+n.midiPortChannelOffsets[N[v]]||0,g1=c[I1];switch(G0){case v3.programChange:g1.program=P.messageData[0],u(g1);break;case v3.controllerChange:if(P.messageData[0]!==$3.bankSelect||k0==="gs"&&g1.drums)continue;let j1=P.messageData[1],z1=Math.max(0,j1-n.bankOffset);if(k0==="xg"){let L2=j1===120||j1===126||j1===127;L2!==g1.drums?(g1.drums=L2,g1.bank=g1.drums?128:z1,u(g1)):g1.bank=g1.drums?128:z1;continue}c[I1].bank=z1;break;case v3.noteOn:if(P.messageData[1]===0)continue;u(g1),p[g1.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&&(k0="xg");continue}let u2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][P.messageData[5]&15]+n.midiPortChannelOffsets[N[v]],P2=!!(P.messageData[7]>0&&P.messageData[5]>>4);g1=c[u2],g1.drums=P2,g1.bank=P2?128:0,u(g1);break}}for(let v of Object.keys(p))p[v].size===0&&(_5(`%cDetected change but no keys for %c${v}`,E1.info,E1.value),delete p[v]);return u9(),p}function wu(n,i){function A(u,p){let R=0;for(let q=0;q=N.min&&T.key<=N.max&&T.velocity>=k0.min&&T.velocity<=k0.max){v=!0;break}v||(_5(`%c${U.sample.sampleName} %cremoved from %c${u.instrumentName}%c. Use count: %c${U.useCount-1}`,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized),u.safeDeleteZone(q)&&(R++,q--,_5(`%c${U.sample.sampleName} %cdeleted`,E1.recognized,E1.info)),U.sample.useCount<1&&n.deleteSample(U.sample))}return R}F7("%cTrimming soundfont...",E1.info);let c=qv(i,n);Q8("%cModifying soundfont...",E1.info),_5("Detected keys for midi:",c);for(let u=0;u{let v=k0.split("-");return{key:parseInt(v[0]),velocity:parseInt(v[1])}});Q8(`%cTrimming %c${p.presetName}`,E1.info,E1.recognized),_5(`Keys for ${p.presetName}:`,U);let N=0;for(let k0=0;k0=T.min&&I1.key<=T.max&&I1.velocity>=P.min&&I1.velocity<=P.max){G0=!0;let g1=A(v.instrument,U);_5(`%cTrimmed off %c${g1}%c zones from %c${v.instrument.instrumentName}`,E1.info,E1.recognized,E1.info,E1.recognized);break}G0||(N++,p.deleteZone(k0),v.instrument.useCount<1&&n.deleteInstrument(v.instrument),k0--)}_5(`%cTrimmed off %c${N}%c zones from %c${p.presetName}`,E1.info,E1.recognized,E1.info,E1.recognized),u9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" -`+n.soundFontInfo.ICMT,_5("%cSoundfont modified!",E1.recognized),u9(),u9()}function Hv(){let n=4;for(let c of this.instruments)n+=c.instrumentZones.reduce((u,p)=>(p.generators=p.generators.filter(R=>R.generatorType!==f0.sampleID&&R.generatorType!==f0.keyRange&&R.generatorType!==f0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:f0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:f0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:f0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+u),0);let i=new K5(n),A=0;for(let c of this.instruments)for(let u of c.instrumentZones){u.generatorZoneStartIndex=A;for(let p of u.generators)X3(i,p.generatorType),X3(i,p.generatorValue),A++}return m9(i,0),it(new Q4("igen",i.length,i))}function Vv(n,i,A,c,u){let p=this.samples.map((N,k0)=>{A&&N.compressSample(c,u);let v=N.getRawData();return _5(`%cEncoded sample %c${k0}. ${N.sampleName}%c of %c${this.samples.length}`,E1.info,E1.recognized,E1.info,E1.recognized),v}),R=this.samples.reduce((N,k0,v)=>N+p[v].length+46,0),q=new K5(R);this.samples.forEach((N,k0)=>{let v=p[k0],T,P,G0=v.length;N.isCompressed?(T=q.currentIndex,P=T+v.length):(T=q.currentIndex/2,P=T+v.length/2,G0+=46),n.push(T),q.set(v,q.currentIndex),q.currentIndex+=G0,i.push(P)});let U=it(new Q4("smpl",q.length,q),new K5([115,100,116,97]));return it(new Q4("LIST",U.length,U))}function Yv(n,i){let c=new K5(46*(this.samples.length+1));return this.samples.forEach((u,p)=>{U8(c,u.sampleName,20);let R=n[p];m9(c,R);let q=i[p];m9(c,q);let U=u.sampleLoopStartIndex+R,N=u.sampleLoopEndIndex+R;u.isCompressed&&(U-=R,N-=R),m9(c,U),m9(c,N),m9(c,u.sampleRate),c[c.currentIndex++]=u.samplePitch,c[c.currentIndex++]=u.samplePitchCorrection,X3(c,u.sampleLink),X3(c,u.sampleType)}),U8(c,"EOS",46),it(new Q4("shdr",c.length,c))}function zv(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((u,p)=>p.modulators.length*10+u,0);let i=new K5(n),A=0;for(let c of this.instruments)for(let u of c.instrumentZones){u.modulatorZoneStartIndex=A;for(let p of u.modulators)X3(i,p.sourceEnum),X3(i,p.modulatorDestination),X3(i,p.transformAmount),X3(i,p.secondarySourceEnum),X3(i,p.transformType),A++}return Ii(i,0,10),it(new Q4("imod",i.length,i))}function Jv(){let n=this.instruments.reduce((p,R)=>R.instrumentZones.length*4+p,4),i=new K5(n),A=0,c=0,u=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let R of p.instrumentZones)R.zoneID=A,X3(i,c),X3(i,u),c+=R.generators.length,u+=R.modulators.length,A++}return X3(i,c),X3(i,u),it(new Q4("ibag",i.length,i))}function Kv(){let n=this.instruments.length*22+22,i=new K5(n),A=0,c=0;for(let u of this.instruments)U8(i,u.instrumentName,20),X3(i,A),A+=u.instrumentZones.length,u.instrumentID=c,c++;return U8(i,"EOI",20),X3(i,A),it(new Q4("inst",i.length,i))}function Wv(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((u,p)=>(p.generators=p.generators.filter(R=>R.generatorType!==f0.instrument&&R.generatorType!==f0.keyRange&&R.generatorType!==f0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:f0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:f0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:f0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+u),0);let i=new K5(n),A=0;for(let c of this.presets)for(let u of c.presetZones){u.generatorZoneStartIndex=A;for(let p of u.generators)X3(i,p.generatorType),X3(i,p.generatorValue);A+=u.generators.length}return X3(i,0),X3(i,0),it(new Q4("pgen",i.length,i))}function Zv(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((u,p)=>p.modulators.length*10+u,0);let i=new K5(n),A=0;for(let c of this.presets)for(let u of c.presetZones){u.modulatorZoneStartIndex=A;for(let p of u.modulators)X3(i,p.sourceEnum),X3(i,p.modulatorDestination),X3(i,p.transformAmount),X3(i,p.secondarySourceEnum),X3(i,p.transformType),A++}return Ii(i,0,10),it(new Q4("pmod",i.length,i))}function jv(){let n=this.presets.reduce((p,R)=>R.presetZones.length*4+p,4),i=new K5(n),A=0,c=0,u=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let R of p.presetZones)R.zoneID=A,X3(i,c),X3(i,u),c+=R.generators.length,u+=R.modulators.length,A++}return X3(i,c),X3(i,u),it(new Q4("pbag",i.length,i))}function Xv(){let n=this.presets.length*38+38,i=new K5(n),A=0;for(let c of this.presets)U8(i,c.presetName,20),X3(i,c.program),X3(i,c.bank),X3(i,A),m9(i,c.library),m9(i,c.genre),m9(i,c.morphology),A+=c.presetZones.length;return U8(i,"EOP",20),X3(i,0),X3(i,0),X3(i,A),m9(i,0),m9(i,0),m9(i,0),it(new Q4("phdr",i.length,i))}var $_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function ek(n=$_){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");Q8("%cSaving soundfont...",E1.info),_5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,E1.info,E1.recognized,E1.info,E1.recognized),_5("%cWriting INFO...",E1.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 K5(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 K5(L2.length);U8(a0,L2),i.push(it(new Q4(P2,L2.length,a0)))}let A=St([new K5([73,78,70,79]),...i]),c=it(new Q4("LIST",A.length,A));_5("%cWriting SDTA...",E1.info);let u=[],p=[],R=Vv.call(this,u,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);_5("%cWriting PDTA...",E1.info),_5("%cWriting SHDR...",E1.info);let q=Yv.call(this,u,p);_5("%cWriting IGEN...",E1.info);let U=Hv.call(this);_5("%cWriting IMOD...",E1.info);let N=zv.call(this);_5("%cWriting IBAG...",E1.info);let k0=Jv.call(this);_5("%cWriting INST...",E1.info);let v=Kv.call(this),T=Wv.call(this);_5("%cWriting PMOD...",E1.info);let P=Zv.call(this);_5("%cWriting PBAG...",E1.info);let G0=jv.call(this);_5("%cWriting PHDR...",E1.info);let I1=Xv.call(this),g1=St([new K5([112,100,116,97]),I1,G0,P,T,v,k0,N,U,q]),j1=it(new Q4("LIST",g1.length,g1));_5("%cWriting the output file...",E1.info);let z1=St([new K5([115,102,98,107]),c,R,j1]),u2=it(new Q4("RIFF",z1.length,z1));return _5(`%cSaved succesfully! Final file size: %c${u2.length}`,E1.info,E1.recognized),u9(),u2}var Gp=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(c=>c.generatorType===i)?.generatorValue??A}};var k7=class extends Gp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ya=class extends Gp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var l_=new Set([f0.velRange,f0.keyRange,f0.instrument,f0.exclusiveClass,f0.endOper,f0.sampleModes,f0.startloopAddrsOffset,f0.startloopAddrsCoarseOffset,f0.endloopAddrsOffset,f0.endloopAddrsCoarseOffset,f0.startAddrsOffset,f0.startAddrsCoarseOffset,f0.endAddrOffset,f0.endAddrsCoarseOffset,f0.initialAttenuation,f0.fineTune,f0.coarseTune,f0.keyNumToVolEnvHold,f0.keyNumToVolEnvDecay,f0.keyNumToModEnvHold,f0.keyNumToModEnvDecay]);function tk(n,i=!0){function A(v,T){v.push(...T.filter(P=>!v.find(G0=>G0.generatorType===P.generatorType)))}function c(v,T){return{min:Math.max(v.min,T.min),max:Math.min(v.max,T.max)}}function u(v,T){v.push(...T.filter(P=>!v.find(G0=>l9.isIdentical(P,G0))))}let p=[],R=[],q=[],U={min:0,max:127},N={min:0,max:127},k0=n.presetZones.find(v=>v.isGlobal);k0&&(R.push(...k0.generators),q.push(...k0.modulators),U=k0.keyRange,N=k0.velRange);for(let v of n.presetZones){if(v.isGlobal)continue;let T=v.keyRange;v.hasKeyRange||(T=U);let P=v.velRange;v.hasVelRange||(P=N);let G0=v.generators.map(a0=>new j3(a0.generatorType,a0.generatorValue));A(G0,R);let I1=[...v.modulators];u(I1,q);let g1=v.instrument.instrumentZones,j1=[],z1=[],u2={min:0,max:127},P2={min:0,max:127},L2=g1.find(a0=>a0.isGlobal);L2&&(j1.push(...L2.generators),z1.push(...L2.modulators),u2=L2.keyRange,P2=L2.velRange);for(let a0 of g1){if(a0.isGlobal)continue;let g5=a0.keyRange;a0.hasKeyRange||(g5=u2);let p3=a0.velRange;if(a0.hasVelRange||(p3=P2),g5=c(g5,T),p3=c(p3,P),g5.maxnew j3(E3.generatorType,E3.generatorValue));A(k3,j1);let u6=[...a0.modulators];u(u6,z1);let S3=[...u6];for(let E3 of I1){let p6=S3.findIndex(w4=>l9.isIdentical(E3,w4));p6!==-1?S3[p6]=S3[p6].sumTransform(E3):S3.push(E3)}let c9=k3.map(E3=>new j3(E3.generatorType,E3.generatorValue));for(let E3 of G0){if(E3.generatorType===f0.velRange||E3.generatorType===f0.keyRange||E3.generatorType===f0.instrument||E3.generatorType===f0.endOper||E3.generatorType===f0.sampleModes)continue;let p6=k3.findIndex(w4=>w4.generatorType===E3.generatorType);if(p6!==-1){let w4=c9[p6].generatorValue+E3.generatorValue;c9[p6]=new j3(E3.generatorType,w4)}else{let w4=W6[E3.generatorType].def+E3.generatorValue;c9.push(new j3(E3.generatorType,w4))}}c9=c9.filter(E3=>E3.generatorType!==f0.sampleID&&E3.generatorType!==f0.keyRange&&E3.generatorType!==f0.velRange&&E3.generatorType!==f0.endOper&&E3.generatorType!==f0.instrument&&E3.generatorValue!==W6[E3.generatorType].def);let N9=new k7;N9.keyRange=g5,N9.velRange=p3,N9.keyRange.min===0&&N9.keyRange.max===127&&(N9.keyRange.min=-1),N9.velRange.min===0&&N9.velRange.max===127&&(N9.velRange.min=-1),N9.isGlobal=!1,N9.sample=a0.sample,N9.generators=c9,N9.modulators=S3,p.push(N9)}}if(i){let v=new k7;v.isGlobal=!0;for(let G0=0;G0<58;G0++){if(l_.has(G0))continue;let I1={},g1=W6[G0]?.def||0;I1[g1]=0;for(let j1 of p){let z1=j1.generators.find(L2=>L2.generatorType===G0);if(z1){let L2=z1.generatorValue;I1[L2]===void 0?I1[L2]=1:I1[L2]++}else I1[g1]++;let u2;switch(G0){default:continue;case f0.decayVolEnv:u2=f0.keyNumToVolEnvDecay;break;case f0.holdVolEnv:u2=f0.keyNumToVolEnvHold;break;case f0.decayModEnv:u2=f0.keyNumToModEnvDecay;break;case f0.holdModEnv:u2=f0.keyNumToModEnvHold}if(j1.generators.find(L2=>L2.generatorType===u2)!==void 0){I1={};break}}if(Object.keys(I1).length>0){let j1=Object.entries(I1).reduce((u2,P2)=>u2[1]{let P2=u2.generators.findIndex(L2=>L2.generatorType===G0);P2!==-1?u2.generators[P2].generatorValue===z1&&u2.generators.splice(P2,1):z1!==g1&&u2.generators.push(new j3(G0,g1))})}}let P=p.find(G0=>!G0.isGlobal).modulators.map(G0=>l9.copy(G0));for(let G0 of P){let I1=!0;for(let g1 of p){if(g1.isGlobal||!I1)continue;g1.modulators.find(z1=>l9.isIdentical(z1,G0))||(I1=!1)}if(I1===!0){v.modulators.push(l9.copy(G0));for(let g1 of p){let j1=g1.modulators.find(z1=>l9.isIdentical(z1,G0));j1.transformAmount===G0.transformAmount&&g1.modulators.splice(g1.modulators.indexOf(j1),1)}}}p.splice(0,0,v)}return p}var ik=20;function eC(n,i,A,c,u,p,R){let q=R===0?0:1,U=new K5(ik+q*16);m9(U,ik),X3(U,i),X3(U,A);let N=c*.4,k0=Math.floor(N*-65536);m9(U,k0),m9(U,2);let v=p-u,T=0;switch(R){default:case 0:q=0;break;case 1:T=0,q=1;break;case 3:T=1,q=1}return m9(U,q),q===1&&(m9(U,16),m9(U,T),m9(U,u),m9(U,v)),k6("wsmp",U)}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},tC=new l9({srcEnum:219,dest:f0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),iC=new l9({srcEnum:221,dest:f0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),rC=new l9({srcEnum:129,dest:f0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),nC=new l9({srcEnum:13,dest:f0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var F5={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 Up=class{source;control;destination;scale;transform;constructor(i,A,c,u,p){this.source=i,this.control=A,this.destination=c,this.scale=u,this.transform=p}writeArticulator(){let i=new K5(12);return X3(i,this.source),X3(i,this.control),X3(i,this.destination),X3(i,this.transform),m9(i,this.scale<<16),i}};function rk(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 nk(n,i){switch(n){default:return;case f0.initialAttenuation:return{dest:F5.gain,amount:-i};case f0.fineTune:return F5.pitch;case f0.pan:return F5.pan;case f0.keyNum:return F5.keyNum;case f0.reverbEffectsSend:return F5.reverbSend;case f0.chorusEffectsSend:return F5.chorusSend;case f0.freqModLFO:return F5.modLfoFreq;case f0.delayModLFO:return F5.modLfoDelay;case f0.delayVibLFO:return F5.vibLfoDelay;case f0.freqVibLFO:return F5.vibLfoFreq;case f0.delayVolEnv:return F5.volEnvDelay;case f0.attackVolEnv:return F5.volEnvAttack;case f0.holdVolEnv:return F5.volEnvHold;case f0.decayVolEnv:return F5.volEnvDecay;case f0.sustainVolEnv:return{dest:F5.volEnvSustain,amount:1e3-i};case f0.releaseVolEnv:return F5.volEnvRelease;case f0.delayModEnv:return F5.modEnvDelay;case f0.attackModEnv:return F5.modEnvAttack;case f0.holdModEnv:return F5.modEnvHold;case f0.decayModEnv:return F5.modEnvDecay;case f0.sustainModEnv:return{dest:F5.modEnvSustain,amount:1e3-i};case f0.releaseModEnv:return F5.modEnvRelease;case f0.initialFilterFc:return F5.filterCutoff;case f0.initialFilterQ:return F5.filterQ}}function ok(n,i){switch(n){default:return;case f0.modEnvToFilterFc:return{source:m6.modEnv,dest:F5.filterCutoff,amt:i,isBipolar:!1};case f0.modEnvToPitch:return{source:m6.modEnv,dest:F5.pitch,amt:i,isBipolar:!1};case f0.modLfoToFilterFc:return{source:m6.modLfo,dest:F5.filterCutoff,amt:i,isBipolar:!0};case f0.modLfoToVolume:return{source:m6.modLfo,dest:F5.gain,amt:i,isBipolar:!0};case f0.modLfoToPitch:return{source:m6.modLfo,dest:F5.pitch,amt:i,isBipolar:!0};case f0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:F5.pitch,amt:i,isBipolar:!0};case f0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:F5.volEnvHold,amt:i,isBipolar:!0};case f0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:F5.volEnvDecay,amt:i,isBipolar:!0};case f0.keyNumToModEnvHold:return{source:m6.keyNum,dest:F5.modEnvHold,amt:i,isBipolar:!0};case f0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:F5.modEnvDecay,amt:i,isBipolar:!0};case f0.scaleTuning:return{source:m6.keyNum,dest:F5.pitch,amt:i*128,isBipolar:!1}}}function sk(n){let i=nk(n.generatorType,n.generatorValue),A=i,c=0,u=n.generatorValue;i?.amount!==void 0&&(u=i.amount,A=i.dest);let p=ok(n.generatorType,n.generatorValue);if(p!==void 0)u=p.amt,A=p.dest,c=p.source;else if(A===void 0){T9(`Invalid generator type: ${n.generatorType}`);return}return new Up(c,0,A,u,0)}function ak(n){if(n.transformType!==0){T9("Other transform types are not supported.");return}let i=rk(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,u=n.sourceDirection;if(i===void 0){T9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===f0.initialAttenuation&&(u=u===1?0:1);let p=rk(n.secSrcUsesCC,n.secSrcIndex),R=n.secSrcCurveType,q=n.secSrcPolarity,U=n.secSrcDirection;if(p===void 0){T9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let N=nk(n.modulatorDestination,n.transformAmount),k0=N,v=n.transformAmount;N?.dest!==void 0&&(k0=N.dest,v=N.amount);let T=ok(n.modulatorDestination,n.transformAmount);if(T!==void 0)v=T.amt,p=i,R=A,q=c,U=u,A=j7.linear,c=T.isBipolar?1:0,u=0,i=T.source,k0=T.dest;else if(k0===void 0){T9(`Invalid destination: ${n.modulatorDestination}`);return}let P=0;return P|=R<<4,P|=q<<8,P|=U<<9,P|=A,P|=c<<14,P|=u<<15,new Up(i,p,k0,v,P)}var c_=new Set([f0.sampleModes,f0.initialAttenuation,f0.keyRange,f0.velRange,f0.sampleID,f0.fineTune,f0.coarseTune,f0.startAddrsOffset,f0.startAddrsCoarseOffset,f0.endAddrOffset,f0.endAddrsCoarseOffset,f0.startloopAddrsOffset,f0.startloopAddrsCoarseOffset,f0.endloopAddrsOffset,f0.endloopAddrsCoarseOffset,f0.overridingRootKey,f0.exclusiveClass]);function oC(n){for(let p=0;pG0.generatorType===q);if(U===void 0)continue;let N=R.generatorValue*-128,k0=60/128*N,v=U.generatorValue-k0,T=n.generators.indexOf(R),P=n.generators.indexOf(U);n.generators[P]=new j3(q,v,!1),n.generators[T]=new j3(R.generatorType,N,!1)}let i=n.generators.reduce((p,R)=>{if(c_.has(R.generatorType))return p;let q=sk(R);return q!==void 0?(p.push(q),_5("%cSucceeded converting to DLS Articulator!",E1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,R)=>{if(l9.isIdentical(R,iC,!0)||l9.isIdentical(R,tC,!0)||l9.isIdentical(R,rC,!0)||l9.isIdentical(R,nC,!0))return p;let q=ak(R);return q!==void 0?(p.push(q),_5("%cSucceeded converting to DLS Articulator!",E1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new K5(8);m9(c,8),m9(c,i.length);let u=i.map(p=>p.writeArticulator());return k6("art2",St([c,...u]))}function Ak(n,i){let A=new K5(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 c=n.getGeneratorValue(f0.exclusiveClass,0);X3(A,c),X3(A,0);let u=k6("rgnh",A),p=n.getGeneratorValue(f0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(f0.scaleTuning,i.getGeneratorValue(f0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let q=eC(n.sample,p,n.getGeneratorValue(f0.fineTune,0)+n.getGeneratorValue(f0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(f0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(f0.startloopAddrsOffset,0)+n.getGeneratorValue(f0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(f0.endloopAddrsOffset,0)+n.getGeneratorValue(f0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(f0.sampleModes,0)),U=new K5(12);X3(U,0),X3(U,0),m9(U,1),m9(U,this.samples.indexOf(n.sample));let N=k6("wlnk",U),k0=new K5(0);if(n.modulators.length+n.generators.length>0){let v=oC(n);k0=k6("lar2",v,!1,!0)}return k6("rgn2",St([u,q,N,k0]),!1,!0)}function $k(n){Q8(`%cWriting %c${n.presetName}%c...`,E1.info,E1.recognized,E1.info);let i=tk(n),A=i.reduce((T,P)=>P.isGlobal?T:T+1,0),c=new K5(12);m9(c,A);let u=(n.bank&127)<<8;n.bank===128&&(u|=1<<31),m9(c,u),m9(c,n.program&127);let p=k6("insh",c),R=new K5(0),q=i.find(T=>T.isGlobal===!0);if(q){let T=oC(q);R=k6("lar2",T,!1,!0)}let U=St(i.reduce((T,P)=>(P.isGlobal||T.push(Ak.apply(this,[P,q])),T),[])),N=k6("lrgn",U,!1,!0),k0=k6("INAM",Fn(n.presetName)),v=k6("INFO",k0,!1,!0);return u9(),k6("ins ",St([p,N,R,v]),!1,!0)}function lk(){let n=St(this.presets.map(i=>$k.apply(this,[i])));return k6("lins",n,!1,!0)}function ck(n){let i=new K5(18);X3(i,1),X3(i,1),m9(i,n.sampleRate),m9(i,n.sampleRate*2),X3(i,2),X3(i,16);let A=k6("fmt ",i),c=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(c=0);let u=eC(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,c),p=n.getAudioData(),R;if(n.isCompressed){let N=new Int16Array(p.length);for(let k0=0;k0{let u=ck(c);return i.push(n),n+=u.length,u});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function uk(){Q8("%cSaving DLS...",E1.info);let n=new K5(4);m9(n,this.presets.length);let i=k6("colh",n);Q8("%cWriting instruments...",E1.info);let A=lk.apply(this);_5("%cSuccess!",E1.recognized),u9(),Q8("%cWriting WAVE samples...",E1.info);let c=gk.apply(this),u=c.data,p=c.indexes;_5("%cSucceeded!",E1.recognized),u9();let R=new K5(8+4*p.length);m9(R,8),m9(R,p.length);for(let v of p)m9(R,v);let q=k6("ptbl",R);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` -Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let U=[];for(let[v,T]of Object.entries(this.soundFontInfo))v!=="ICMT"&&v!=="INAM"&&v!=="ICRD"&&v!=="IENG"&&v!=="ICOP"&&v!=="ISFT"&&v!=="ISBJ"||U.push(k6(v,Fn(T),!0));let N=k6("INFO",St(U),!1,!0),k0=new K5(i.length+A.length+q.length+u.length+N.length+4);return U8(k0,"DLS "),k0.set(St([i,A,q,u,N]),4),_5("%cSaved succesfully!",E1.recognized),u9(),k6("RIFF",k0)}var za=class{constructor(i,A,c,u,p,R,q,U){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=u,this.sampleLink=p,this.sampleType=R,this.sampleLoopStartIndex=q,this.sampleLoopEndIndex=U,this.isCompressed=(R&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}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{T9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){return this.sampleData}};var Ja=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 Ka=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 c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function u(P,G0){return G0>=P.min&&G0<=P.max}function p(P,G0){P.push(...G0.filter(I1=>!P.find(g1=>g1.generatorType===I1.generatorType)))}function R(P,G0){P.push(...G0.filter(I1=>!P.find(g1=>l9.isIdentical(I1,g1))))}let q=[],U=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],N=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],k0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},v=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(P=>u(P.hasKeyRange?P.keyRange:k0,i)&&u(P.hasVelRange?P.velRange:v,A)&&!P.isGlobal).forEach(P=>{if(P.instrument.instrumentZones.length<1)return;let G0=P.generators,I1=P.modulators,g1=P.instrument.instrumentZones[0],j1=g1.isGlobal?[...g1.generators]:[],z1=g1.isGlobal?[...g1.modulators]:[],u2=g1.isGlobal?g1.keyRange:{min:0,max:127},P2=g1.isGlobal?g1.velRange:{min:0,max:127};P.instrument.instrumentZones.filter(a0=>u(a0.hasKeyRange?a0.keyRange:u2,i)&&u(a0.hasVelRange?a0.velRange:P2,A)&&!a0.isGlobal).forEach(a0=>{let g5=[...a0.generators],p3=[...a0.modulators];p(G0,U),p(g5,j1),R(I1,N),R(p3,z1),R(p3,this.defaultModulators);let k3=[...p3];for(let u6=0;u6l9.isIdentical(S3,N9));c9!==-1?k3[c9]=k3[c9].sumTransform(S3):k3.push(S3)}q.push({instrumentGenerators:g5,presetGenerators:G0,modulators:k3,sample:a0.sample,sampleID:a0.generators.find(u6=>u6.generatorType===f0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=q,q}};var Wa=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=bE.map(A=>l9.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(R=>R.bank===p.bank&&R.program===p.program)===void 0&&c.push(p)});return new n({presets:c,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 c=new k7;c.isGlobal=!0,c.generators.push(new j3(f0.initialAttenuation,375)),c.generators.push(new j3(f0.releaseVolEnv,-1e3)),c.generators.push(new j3(f0.sampleModes,1));let u=new k7;u.sample=A;let p=new k7;p.sample=A,p.generators.push(new j3(f0.fineTune,-9));let R=new Ja;R.instrumentName="Saw Wave",R.instrumentZones.push(c),R.instrumentZones.push(u),R.instrumentZones.push(p),i.instruments.push(R);let q=new Ya;q.instrument=R;let U=new Ka(i.defaultModulators);return U.presetName="Saw Wave",U.presetZones.push(q),i.presets.push(U),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,c=!1){let u=this.presets.find(p=>p.bank===i&&p.program===A);if(u)return u;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(u=>u.bank===i&&u.program===A);return c||(i===128?(c=this.presets.find(u=>u.bank===128&&u.program===A),c||(c=this.presets.find(u=>u.bank===128))):c=this.presets.find(u=>u.program===A&&u.bank!==128),c&&T9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,E1.warn,E1.recognized)),c||(T9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(T9("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=ek;Wa.prototype.writeDLS=uk;function hk(n){Q8("%cLoading instruments...",E1.info);for(let i=0;i>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Ja,this.DLSInstrument.addUseCount();let u=new Ya;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function dk(n){this.verifyHeader(n,"LIST"),this.verifyText(y4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(P=>P.header==="insh");if(!A)throw u9(),new Error("No instrument header!");let c=s3(A.chunkData,4),u=s3(A.chunkData,4),p=s3(A.chunkData,4),R=new sC(u,p),q="unnamedPreset",U=G7(i,"INFO");if(U){let P=Be(U.chunkData);for(;P.header!=="INAM";)P=Be(U.chunkData);q=y4(P.chunkData,P.chunkData.length).trim()}R.presetName=q,R.DLSInstrument.instrumentName=q,F7(`%cParsing %c"${q}"%c...`,E1.info,E1.recognized,E1.info);let N=G7(i,"lrgn");if(!N)throw u9(),new Error("No region list!");let k0=new k7;k0.isGlobal=!0;let v=G7(i,"lart"),T=G7(i,"lar2");(T!==void 0||v!==void 0)&&this.readLart(v,T,k0),k0.generators=k0.generators.filter(P=>P.generatorValue!==W6[P.generatorType].def),k0.modulators.find(P=>P.modulatorDestination===f0.reverbEffectsSend)===void 0&&k0.modulators.push(l9.copy(tC)),k0.modulators.find(P=>P.modulatorDestination===f0.chorusEffectsSend)===void 0&&k0.modulators.push(l9.copy(iC)),R.DLSInstrument.instrumentZones.push(k0);for(let P=0;P>10&15;z1===j7.linear&&j1!==j7.linear&&(z1=j1);let u2=c>>14&1,P2=c>>15&1;R===f0.initialAttenuation&&u<0&&(P2=1),T=Jr(z1,u2,P2,q.isCC,q.enum)}let P=c>>4&15,G0=c>>8&1,I1=c>>9&1,g1=Jr(P,G0,I1,v.isCC,v.enum);if(U){let j1=g1;g1=T,T=j1}return new l9({srcEnum:T,secSrcEnum:g1,dest:R,transform:0,amt:k0})}function lB(n,i){let A=n.chunkData,c=[],u=[];s3(A,4);let p=s3(A,4);for(let R=0;R>16;if(q===0&&U===0&&k0===0){let P;switch(N){case F5.pan:P=new j3(f0.pan,T);break;case F5.gain:P=new j3(f0.initialAttenuation,-T*10/.4);break;case F5.filterCutoff:P=new j3(f0.initialFilterFc,T);break;case F5.filterQ:P=new j3(f0.initialFilterQ,T);break;case F5.modLfoFreq:P=new j3(f0.freqModLFO,T);break;case F5.modLfoDelay:P=new j3(f0.delayModLFO,T);break;case F5.vibLfoFreq:P=new j3(f0.freqVibLFO,T);break;case F5.vibLfoDelay:P=new j3(f0.delayVibLFO,T);break;case F5.volEnvDelay:P=new j3(f0.delayVolEnv,T);break;case F5.volEnvAttack:P=new j3(f0.attackVolEnv,T);break;case F5.volEnvHold:P=new j3(f0.holdVolEnv,T,!1);break;case F5.volEnvDecay:P=new j3(f0.decayVolEnv,T,!1);break;case F5.volEnvRelease:P=new j3(f0.releaseVolEnv,T);break;case F5.volEnvSustain:let G0=1e3-T;P=new j3(f0.sustainVolEnv,G0);break;case F5.modEnvDelay:P=new j3(f0.delayModEnv,T);break;case F5.modEnvAttack:P=new j3(f0.attackModEnv,T);break;case F5.modEnvHold:P=new j3(f0.holdModEnv,T,!1);break;case F5.modEnvDecay:P=new j3(f0.decayModEnv,T,!1);break;case F5.modEnvRelease:P=new j3(f0.releaseModEnv,T);break;case F5.modEnvSustain:let I1=1e3-T;P=new j3(f0.sustainModEnv,I1);break;case F5.reverbSend:P=new j3(f0.reverbEffectsSend,T);break;case F5.chorusSend:P=new j3(f0.chorusEffectsSend,T);break;case F5.pitch:let g1=Math.floor(T/100),j1=Math.floor(T-g1*100);P=new j3(f0.fineTune,j1),c.push(new j3(f0.coarseTune,g1));break}P&&c.push(P)}else{let P=!0;if(U===m6.none)if(q===m6.modLfo&&N===F5.pitch)c.push(new j3(f0.modLfoToPitch,T));else if(q===m6.modLfo&&N===F5.gain)c.push(new j3(f0.modLfoToVolume,T));else if(q===m6.modLfo&&N===F5.filterCutoff)c.push(new j3(f0.modLfoToFilterFc,T));else if(q===m6.vibratoLfo&&N===F5.pitch)c.push(new j3(f0.vibLfoToPitch,T));else if(q===m6.modEnv&&N===F5.pitch)c.push(new j3(f0.modEnvToPitch,T));else if(q===m6.modEnv&&N===F5.filterCutoff)c.push(new j3(f0.modEnvToFilterFc,T));else if(q===m6.keyNum&&N===F5.pitch)c.push(new j3(f0.scaleTuning,T/128));else if(q===m6.keyNum&&N===F5.volEnvHold){c.push(new j3(f0.keyNumToVolEnvHold,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.holdVolEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&N===F5.volEnvDecay){c.push(new j3(f0.keyNumToVolEnvDecay,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.decayVolEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&N===F5.modEnvHold){c.push(new j3(f0.keyNumToModEnvHold,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.holdModEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&N===F5.modEnvDecay){c.push(new j3(f0.keyNumToModEnvDecay,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.decayModEnv&&(I1.generatorValue+=G0)})}else P=!1;else P=!1;if(P===!1){let G0=Ik(q,U,N,k0,T);G0?(u.push(G0),_5("%cSucceeded converting to SF2 Modulator!",E1.recognized)):T9("Failed converting to SF2 Modulator!")}}}return i&&u.push(l9.copy(rC),l9.copy(nC)),{modulators:u,generators:c}}function mk(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(p3=>p3.header==="rgnh"),c=s3(A.chunkData,2),u=s3(A.chunkData,2),p=s3(A.chunkData,2),R=s3(A.chunkData,2),q=new aC({min:c,max:u},{min:p,max:R});s3(A.chunkData,2);let U=s3(A.chunkData,2);U!==0&&q.generators.push(new j3(f0.exclusiveClass,U));let N=G7(i,"lart"),k0=G7(i,"lar2");this.readLart(N,k0,q),q.isGlobal=!1;let v=i.find(p3=>p3.header==="wsmp");s3(v.chunkData,4);let T=s3(v.chunkData,2),P=Ua(v.chunkData[v.chunkData.currentIndex++],v.chunkData[v.chunkData.currentIndex++]),I1=(s3(v.chunkData,4)|0)/-655360;s3(v.chunkData,4);let g1=s3(v.chunkData,4),j1,z1={start:0,end:0};if(g1===0)j1=0;else{s3(v.chunkData,4),s3(v.chunkData,4)===0?j1=1:j1=3,z1.start=s3(v.chunkData,4);let k3=s3(v.chunkData,4);z1.end=z1.start+k3}let u2=i.find(p3=>p3.header==="wlnk");if(u2===void 0)return;s3(u2.chunkData,2),s3(u2.chunkData,2),s3(u2.chunkData,4);let P2=s3(u2.chunkData,4),L2=this.samples[P2];if(L2===void 0)throw new Error("Invalid sample ID!");let g5=(I1||L2.sampleDbAttenuation)*10/.4;return q.setWavesample(g5,j1,z1,T,L2,P2,P),q}var AC=class extends za{sampleDbAttenuation;sampleData;constructor(i,A,c,u,p,R,q,U){super(i,A,c,u,0,1,p,R),this.sampleData=q,this.sampleDbAttenuation=U}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 Ek={PCM:1,ALAW:6};function h_(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),u,p=!1;i===1?(u=255,p=!0):u=A;let R=n.size/i,q=new Float32Array(R);for(let U=0;U=A&&(N-=c),q[U]=N/u)}return q}function d_(n,i){let A=n.size/i,c=new Float32Array(A);for(let u=0;u>4,U=R&15;q>0&&(U+=16),U=(U<<4)+8,q>1&&(U=U<127?U:-U;c[u]=N/32678}return c}function Ck(n){Q8("%cLoading Wave samples...",E1.recognized);let i=0;for(;n.chunkData.currentIndexL2.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");let p=s3(u.chunkData,2),R=s3(u.chunkData,2);if(R!==1)throw new Error(`Only mono samples are supported. Fmt reports ${R} channels`);let q=s3(u.chunkData,4);s3(u.chunkData,4),s3(u.chunkData,2);let N=s3(u.chunkData,2)/8,k0=!1,v=c.find(L2=>L2.header==="data");v||this.parsingError("No data chunk in the WAVE chunk!");let T;switch(p){default:k0=!0,T=new Float32Array(v.size/N);break;case Ek.PCM:T=h_(v,N);break;case Ek.ALAW:T=d_(v,N);break}let P=G7(c,"INFO"),G0=`Unnamed ${i}`;if(P){let L2=Be(P.chunkData);for(;L2.header!=="INAM"&&P.chunkData.currentIndexL2.header==="wsmp");if(P2){s3(P2.chunkData,4),I1=s3(P2.chunkData,2),g1=Ua(P2.chunkData[P2.chunkData.currentIndex++],P2.chunkData[P2.chunkData.currentIndex++]);let L2=Math.trunc(g1/100);if(I1+=L2,g1-=L2*100,u2=(s3(P2.chunkData,4)|0)/-655360,s3(P2.chunkData,4),s3(P2.chunkData,4)===1){s3(P2.chunkData,8),j1=s3(P2.chunkData,4);let p3=s3(P2.chunkData,4);z1=j1+p3}}else T9("No wsmp chunk in wave... using sane defaults.");k0&&console.error(`Failed to load '${G0}': Unsupported format: (${p})`),this.samples.push(new AC(G0,q,I1,g1,j1,z1,T,u2)),i++,_5(`%cLoaded sample %c${G0}`,E1.info,E1.recognized)}u9()}var Ho=class extends Wa{constructor(i){super(),this.dataArray=new K5(i),F7("%cParsing DLS...",E1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let A=Be(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndex(p.generators=p.generators.filter(R=>R.generatorType!==f0.sampleID&&R.generatorType!==f0.keyRange&&R.generatorType!==f0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:f0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:f0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:f0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+u),0);let i=new K5(n),A=0;for(let c of this.instruments)for(let u of c.instrumentZones){u.generatorZoneStartIndex=A;for(let p of u.generators)X3(i,p.generatorType),X3(i,p.generatorValue),A++}return m9(i,0),it(new Q4("igen",i.length,i))}function Vv(n,i,A,c,u){let p=this.samples.map((N,k0)=>{A&&N.compressSample(c,u);let v=N.getRawData();return _5(`%cEncoded sample %c${k0}. ${N.sampleName}%c of %c${this.samples.length}`,E1.info,E1.recognized,E1.info,E1.recognized),v}),R=this.samples.reduce((N,k0,v)=>N+p[v].length+46,0),q=new K5(R);this.samples.forEach((N,k0)=>{let v=p[k0],T,P,G0=v.length;N.isCompressed?(T=q.currentIndex,P=T+v.length):(T=q.currentIndex/2,P=T+v.length/2,G0+=46),n.push(T),q.set(v,q.currentIndex),q.currentIndex+=G0,i.push(P)});let U=it(new Q4("smpl",q.length,q),new K5([115,100,116,97]));return it(new Q4("LIST",U.length,U))}function Yv(n,i){let c=new K5(46*(this.samples.length+1));return this.samples.forEach((u,p)=>{U8(c,u.sampleName,20);let R=n[p];m9(c,R);let q=i[p];m9(c,q);let U=u.sampleLoopStartIndex+R,N=u.sampleLoopEndIndex+R;u.isCompressed&&(U-=R,N-=R),m9(c,U),m9(c,N),m9(c,u.sampleRate),c[c.currentIndex++]=u.samplePitch,c[c.currentIndex++]=u.samplePitchCorrection,X3(c,u.sampleLink),X3(c,u.sampleType)}),U8(c,"EOS",46),it(new Q4("shdr",c.length,c))}function zv(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((u,p)=>p.modulators.length*10+u,0);let i=new K5(n),A=0;for(let c of this.instruments)for(let u of c.instrumentZones){u.modulatorZoneStartIndex=A;for(let p of u.modulators)X3(i,p.sourceEnum),X3(i,p.modulatorDestination),X3(i,p.transformAmount),X3(i,p.secondarySourceEnum),X3(i,p.transformType),A++}return Ii(i,0,10),it(new Q4("imod",i.length,i))}function Jv(){let n=this.instruments.reduce((p,R)=>R.instrumentZones.length*4+p,4),i=new K5(n),A=0,c=0,u=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let R of p.instrumentZones)R.zoneID=A,X3(i,c),X3(i,u),c+=R.generators.length,u+=R.modulators.length,A++}return X3(i,c),X3(i,u),it(new Q4("ibag",i.length,i))}function Kv(){let n=this.instruments.length*22+22,i=new K5(n),A=0,c=0;for(let u of this.instruments)U8(i,u.instrumentName,20),X3(i,A),A+=u.instrumentZones.length,u.instrumentID=c,c++;return U8(i,"EOI",20),X3(i,A),it(new Q4("inst",i.length,i))}function Wv(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((u,p)=>(p.generators=p.generators.filter(R=>R.generatorType!==f0.instrument&&R.generatorType!==f0.keyRange&&R.generatorType!==f0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:f0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:f0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:f0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+u),0);let i=new K5(n),A=0;for(let c of this.presets)for(let u of c.presetZones){u.generatorZoneStartIndex=A;for(let p of u.generators)X3(i,p.generatorType),X3(i,p.generatorValue);A+=u.generators.length}return X3(i,0),X3(i,0),it(new Q4("pgen",i.length,i))}function Zv(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((u,p)=>p.modulators.length*10+u,0);let i=new K5(n),A=0;for(let c of this.presets)for(let u of c.presetZones){u.modulatorZoneStartIndex=A;for(let p of u.modulators)X3(i,p.sourceEnum),X3(i,p.modulatorDestination),X3(i,p.transformAmount),X3(i,p.secondarySourceEnum),X3(i,p.transformType),A++}return Ii(i,0,10),it(new Q4("pmod",i.length,i))}function jv(){let n=this.presets.reduce((p,R)=>R.presetZones.length*4+p,4),i=new K5(n),A=0,c=0,u=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let R of p.presetZones)R.zoneID=A,X3(i,c),X3(i,u),c+=R.generators.length,u+=R.modulators.length,A++}return X3(i,c),X3(i,u),it(new Q4("pbag",i.length,i))}function Xv(){let n=this.presets.length*38+38,i=new K5(n),A=0;for(let c of this.presets)U8(i,c.presetName,20),X3(i,c.program),X3(i,c.bank),X3(i,A),m9(i,c.library),m9(i,c.genre),m9(i,c.morphology),A+=c.presetZones.length;return U8(i,"EOP",20),X3(i,0),X3(i,0),X3(i,A),m9(i,0),m9(i,0),m9(i,0),it(new Q4("phdr",i.length,i))}var $_={compress:!1,compressionQuality:.5,compressionFunction:void 0};function ek(n=$_){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");Q8("%cSaving soundfont...",E1.info),_5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,E1.info,E1.recognized,E1.info,E1.recognized),_5("%cWriting INFO...",E1.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 K5(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 K5(L2.length);U8(a0,L2),i.push(it(new Q4(P2,L2.length,a0)))}let A=St([new K5([73,78,70,79]),...i]),c=it(new Q4("LIST",A.length,A));_5("%cWriting SDTA...",E1.info);let u=[],p=[],R=Vv.call(this,u,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);_5("%cWriting PDTA...",E1.info),_5("%cWriting SHDR...",E1.info);let q=Yv.call(this,u,p);_5("%cWriting IGEN...",E1.info);let U=Hv.call(this);_5("%cWriting IMOD...",E1.info);let N=zv.call(this);_5("%cWriting IBAG...",E1.info);let k0=Jv.call(this);_5("%cWriting INST...",E1.info);let v=Kv.call(this),T=Wv.call(this);_5("%cWriting PMOD...",E1.info);let P=Zv.call(this);_5("%cWriting PBAG...",E1.info);let G0=jv.call(this);_5("%cWriting PHDR...",E1.info);let I1=Xv.call(this),g1=St([new K5([112,100,116,97]),I1,G0,P,T,v,k0,N,U,q]),j1=it(new Q4("LIST",g1.length,g1));_5("%cWriting the output file...",E1.info);let z1=St([new K5([115,102,98,107]),c,R,j1]),u2=it(new Q4("RIFF",z1.length,z1));return _5(`%cSaved succesfully! Final file size: %c${u2.length}`,E1.info,E1.recognized),u9(),u2}var Gp=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(c=>c.generatorType===i)?.generatorValue??A}};var k7=class extends Gp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Ya=class extends Gp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var l_=new Set([f0.velRange,f0.keyRange,f0.instrument,f0.exclusiveClass,f0.endOper,f0.sampleModes,f0.startloopAddrsOffset,f0.startloopAddrsCoarseOffset,f0.endloopAddrsOffset,f0.endloopAddrsCoarseOffset,f0.startAddrsOffset,f0.startAddrsCoarseOffset,f0.endAddrOffset,f0.endAddrsCoarseOffset,f0.initialAttenuation,f0.fineTune,f0.coarseTune,f0.keyNumToVolEnvHold,f0.keyNumToVolEnvDecay,f0.keyNumToModEnvHold,f0.keyNumToModEnvDecay]);function tk(n,i=!0){function A(v,T){v.push(...T.filter(P=>!v.find(G0=>G0.generatorType===P.generatorType)))}function c(v,T){return{min:Math.max(v.min,T.min),max:Math.min(v.max,T.max)}}function u(v,T){v.push(...T.filter(P=>!v.find(G0=>l9.isIdentical(P,G0))))}let p=[],R=[],q=[],U={min:0,max:127},N={min:0,max:127},k0=n.presetZones.find(v=>v.isGlobal);k0&&(R.push(...k0.generators),q.push(...k0.modulators),U=k0.keyRange,N=k0.velRange);for(let v of n.presetZones){if(v.isGlobal)continue;let T=v.keyRange;v.hasKeyRange||(T=U);let P=v.velRange;v.hasVelRange||(P=N);let G0=v.generators.map(a0=>new j3(a0.generatorType,a0.generatorValue));A(G0,R);let I1=[...v.modulators];u(I1,q);let g1=v.instrument.instrumentZones,j1=[],z1=[],u2={min:0,max:127},P2={min:0,max:127},L2=g1.find(a0=>a0.isGlobal);L2&&(j1.push(...L2.generators),z1.push(...L2.modulators),u2=L2.keyRange,P2=L2.velRange);for(let a0 of g1){if(a0.isGlobal)continue;let g5=a0.keyRange;a0.hasKeyRange||(g5=u2);let p3=a0.velRange;if(a0.hasVelRange||(p3=P2),g5=c(g5,T),p3=c(p3,P),g5.maxnew j3(E3.generatorType,E3.generatorValue));A(k3,j1);let u6=[...a0.modulators];u(u6,z1);let S3=[...u6];for(let E3 of I1){let p6=S3.findIndex(w4=>l9.isIdentical(E3,w4));p6!==-1?S3[p6]=S3[p6].sumTransform(E3):S3.push(E3)}let c9=k3.map(E3=>new j3(E3.generatorType,E3.generatorValue));for(let E3 of G0){if(E3.generatorType===f0.velRange||E3.generatorType===f0.keyRange||E3.generatorType===f0.instrument||E3.generatorType===f0.endOper||E3.generatorType===f0.sampleModes)continue;let p6=k3.findIndex(w4=>w4.generatorType===E3.generatorType);if(p6!==-1){let w4=c9[p6].generatorValue+E3.generatorValue;c9[p6]=new j3(E3.generatorType,w4)}else{let w4=W6[E3.generatorType].def+E3.generatorValue;c9.push(new j3(E3.generatorType,w4))}}c9=c9.filter(E3=>E3.generatorType!==f0.sampleID&&E3.generatorType!==f0.keyRange&&E3.generatorType!==f0.velRange&&E3.generatorType!==f0.endOper&&E3.generatorType!==f0.instrument&&E3.generatorValue!==W6[E3.generatorType].def);let N9=new k7;N9.keyRange=g5,N9.velRange=p3,N9.keyRange.min===0&&N9.keyRange.max===127&&(N9.keyRange.min=-1),N9.velRange.min===0&&N9.velRange.max===127&&(N9.velRange.min=-1),N9.isGlobal=!1,N9.sample=a0.sample,N9.generators=c9,N9.modulators=S3,p.push(N9)}}if(i){let v=new k7;v.isGlobal=!0;for(let G0=0;G0<58;G0++){if(l_.has(G0))continue;let I1={},g1=W6[G0]?.def||0;I1[g1]=0;for(let j1 of p){let z1=j1.generators.find(L2=>L2.generatorType===G0);if(z1){let L2=z1.generatorValue;I1[L2]===void 0?I1[L2]=1:I1[L2]++}else I1[g1]++;let u2;switch(G0){default:continue;case f0.decayVolEnv:u2=f0.keyNumToVolEnvDecay;break;case f0.holdVolEnv:u2=f0.keyNumToVolEnvHold;break;case f0.decayModEnv:u2=f0.keyNumToModEnvDecay;break;case f0.holdModEnv:u2=f0.keyNumToModEnvHold}if(j1.generators.find(L2=>L2.generatorType===u2)!==void 0){I1={};break}}if(Object.keys(I1).length>0){let j1=Object.entries(I1).reduce((u2,P2)=>u2[1]{let P2=u2.generators.findIndex(L2=>L2.generatorType===G0);P2!==-1?u2.generators[P2].generatorValue===z1&&u2.generators.splice(P2,1):z1!==g1&&u2.generators.push(new j3(G0,g1))})}}let P=p.find(G0=>!G0.isGlobal).modulators.map(G0=>l9.copy(G0));for(let G0 of P){let I1=!0;for(let g1 of p){if(g1.isGlobal||!I1)continue;g1.modulators.find(z1=>l9.isIdentical(z1,G0))||(I1=!1)}if(I1===!0){v.modulators.push(l9.copy(G0));for(let g1 of p){let j1=g1.modulators.find(z1=>l9.isIdentical(z1,G0));j1.transformAmount===G0.transformAmount&&g1.modulators.splice(g1.modulators.indexOf(j1),1)}}}p.splice(0,0,v)}return p}var ik=20;function tC(n,i,A,c,u,p,R){let q=R===0?0:1,U=new K5(ik+q*16);m9(U,ik),X3(U,i),X3(U,A);let N=c*.4,k0=Math.floor(N*-65536);m9(U,k0),m9(U,2);let v=p-u,T=0;switch(R){default:case 0:q=0;break;case 1:T=0,q=1;break;case 3:T=1,q=1}return m9(U,q),q===1&&(m9(U,16),m9(U,T),m9(U,u),m9(U,v)),k6("wsmp",U)}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},iC=new l9({srcEnum:219,dest:f0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),rC=new l9({srcEnum:221,dest:f0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0}),nC=new l9({srcEnum:129,dest:f0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),oC=new l9({srcEnum:13,dest:f0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0});var F5={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 Up=class{source;control;destination;scale;transform;constructor(i,A,c,u,p){this.source=i,this.control=A,this.destination=c,this.scale=u,this.transform=p}writeArticulator(){let i=new K5(12);return X3(i,this.source),X3(i,this.control),X3(i,this.destination),X3(i,this.transform),m9(i,this.scale<<16),i}};function rk(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 nk(n,i){switch(n){default:return;case f0.initialAttenuation:return{dest:F5.gain,amount:-i};case f0.fineTune:return F5.pitch;case f0.pan:return F5.pan;case f0.keyNum:return F5.keyNum;case f0.reverbEffectsSend:return F5.reverbSend;case f0.chorusEffectsSend:return F5.chorusSend;case f0.freqModLFO:return F5.modLfoFreq;case f0.delayModLFO:return F5.modLfoDelay;case f0.delayVibLFO:return F5.vibLfoDelay;case f0.freqVibLFO:return F5.vibLfoFreq;case f0.delayVolEnv:return F5.volEnvDelay;case f0.attackVolEnv:return F5.volEnvAttack;case f0.holdVolEnv:return F5.volEnvHold;case f0.decayVolEnv:return F5.volEnvDecay;case f0.sustainVolEnv:return{dest:F5.volEnvSustain,amount:1e3-i};case f0.releaseVolEnv:return F5.volEnvRelease;case f0.delayModEnv:return F5.modEnvDelay;case f0.attackModEnv:return F5.modEnvAttack;case f0.holdModEnv:return F5.modEnvHold;case f0.decayModEnv:return F5.modEnvDecay;case f0.sustainModEnv:return{dest:F5.modEnvSustain,amount:1e3-i};case f0.releaseModEnv:return F5.modEnvRelease;case f0.initialFilterFc:return F5.filterCutoff;case f0.initialFilterQ:return F5.filterQ}}function ok(n,i){switch(n){default:return;case f0.modEnvToFilterFc:return{source:m6.modEnv,dest:F5.filterCutoff,amt:i,isBipolar:!1};case f0.modEnvToPitch:return{source:m6.modEnv,dest:F5.pitch,amt:i,isBipolar:!1};case f0.modLfoToFilterFc:return{source:m6.modLfo,dest:F5.filterCutoff,amt:i,isBipolar:!0};case f0.modLfoToVolume:return{source:m6.modLfo,dest:F5.gain,amt:i,isBipolar:!0};case f0.modLfoToPitch:return{source:m6.modLfo,dest:F5.pitch,amt:i,isBipolar:!0};case f0.vibLfoToPitch:return{source:m6.vibratoLfo,dest:F5.pitch,amt:i,isBipolar:!0};case f0.keyNumToVolEnvHold:return{source:m6.keyNum,dest:F5.volEnvHold,amt:i,isBipolar:!0};case f0.keyNumToVolEnvDecay:return{source:m6.keyNum,dest:F5.volEnvDecay,amt:i,isBipolar:!0};case f0.keyNumToModEnvHold:return{source:m6.keyNum,dest:F5.modEnvHold,amt:i,isBipolar:!0};case f0.keyNumToModEnvDecay:return{source:m6.keyNum,dest:F5.modEnvDecay,amt:i,isBipolar:!0};case f0.scaleTuning:return{source:m6.keyNum,dest:F5.pitch,amt:i*128,isBipolar:!1}}}function sk(n){let i=nk(n.generatorType,n.generatorValue),A=i,c=0,u=n.generatorValue;i?.amount!==void 0&&(u=i.amount,A=i.dest);let p=ok(n.generatorType,n.generatorValue);if(p!==void 0)u=p.amt,A=p.dest,c=p.source;else if(A===void 0){T9(`Invalid generator type: ${n.generatorType}`);return}return new Up(c,0,A,u,0)}function ak(n){if(n.transformType!==0){T9("Other transform types are not supported.");return}let i=rk(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,u=n.sourceDirection;if(i===void 0){T9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}n.modulatorDestination===f0.initialAttenuation&&(u=u===1?0:1);let p=rk(n.secSrcUsesCC,n.secSrcIndex),R=n.secSrcCurveType,q=n.secSrcPolarity,U=n.secSrcDirection;if(p===void 0){T9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let N=nk(n.modulatorDestination,n.transformAmount),k0=N,v=n.transformAmount;N?.dest!==void 0&&(k0=N.dest,v=N.amount);let T=ok(n.modulatorDestination,n.transformAmount);if(T!==void 0)v=T.amt,p=i,R=A,q=c,U=u,A=j7.linear,c=T.isBipolar?1:0,u=0,i=T.source,k0=T.dest;else if(k0===void 0){T9(`Invalid destination: ${n.modulatorDestination}`);return}let P=0;return P|=R<<4,P|=q<<8,P|=U<<9,P|=A,P|=c<<14,P|=u<<15,new Up(i,p,k0,v,P)}var c_=new Set([f0.sampleModes,f0.initialAttenuation,f0.keyRange,f0.velRange,f0.sampleID,f0.fineTune,f0.coarseTune,f0.startAddrsOffset,f0.startAddrsCoarseOffset,f0.endAddrOffset,f0.endAddrsCoarseOffset,f0.startloopAddrsOffset,f0.startloopAddrsCoarseOffset,f0.endloopAddrsOffset,f0.endloopAddrsCoarseOffset,f0.overridingRootKey,f0.exclusiveClass]);function sC(n){for(let p=0;pG0.generatorType===q);if(U===void 0)continue;let N=R.generatorValue*-128,k0=60/128*N,v=U.generatorValue-k0,T=n.generators.indexOf(R),P=n.generators.indexOf(U);n.generators[P]=new j3(q,v,!1),n.generators[T]=new j3(R.generatorType,N,!1)}let i=n.generators.reduce((p,R)=>{if(c_.has(R.generatorType))return p;let q=sk(R);return q!==void 0?(p.push(q),_5("%cSucceeded converting to DLS Articulator!",E1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,R)=>{if(l9.isIdentical(R,rC,!0)||l9.isIdentical(R,iC,!0)||l9.isIdentical(R,nC,!0)||l9.isIdentical(R,oC,!0))return p;let q=ak(R);return q!==void 0?(p.push(q),_5("%cSucceeded converting to DLS Articulator!",E1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new K5(8);m9(c,8),m9(c,i.length);let u=i.map(p=>p.writeArticulator());return k6("art2",St([c,...u]))}function Ak(n,i){let A=new K5(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 c=n.getGeneratorValue(f0.exclusiveClass,0);X3(A,c),X3(A,0);let u=k6("rgnh",A),p=n.getGeneratorValue(f0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(f0.scaleTuning,i.getGeneratorValue(f0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let q=tC(n.sample,p,n.getGeneratorValue(f0.fineTune,0)+n.getGeneratorValue(f0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(f0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(f0.startloopAddrsOffset,0)+n.getGeneratorValue(f0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(f0.endloopAddrsOffset,0)+n.getGeneratorValue(f0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(f0.sampleModes,0)),U=new K5(12);X3(U,0),X3(U,0),m9(U,1),m9(U,this.samples.indexOf(n.sample));let N=k6("wlnk",U),k0=new K5(0);if(n.modulators.length+n.generators.length>0){let v=sC(n);k0=k6("lar2",v,!1,!0)}return k6("rgn2",St([u,q,N,k0]),!1,!0)}function $k(n){Q8(`%cWriting %c${n.presetName}%c...`,E1.info,E1.recognized,E1.info);let i=tk(n),A=i.reduce((T,P)=>P.isGlobal?T:T+1,0),c=new K5(12);m9(c,A);let u=(n.bank&127)<<8;n.bank===128&&(u|=1<<31),m9(c,u),m9(c,n.program&127);let p=k6("insh",c),R=new K5(0),q=i.find(T=>T.isGlobal===!0);if(q){let T=sC(q);R=k6("lar2",T,!1,!0)}let U=St(i.reduce((T,P)=>(P.isGlobal||T.push(Ak.apply(this,[P,q])),T),[])),N=k6("lrgn",U,!1,!0),k0=k6("INAM",Fn(n.presetName)),v=k6("INFO",k0,!1,!0);return u9(),k6("ins ",St([p,N,R,v]),!1,!0)}function lk(){let n=St(this.presets.map(i=>$k.apply(this,[i])));return k6("lins",n,!1,!0)}function ck(n){let i=new K5(18);X3(i,1),X3(i,1),m9(i,n.sampleRate),m9(i,n.sampleRate*2),X3(i,2),X3(i,16);let A=k6("fmt ",i),c=1;n.sampleLoopStartIndex+Math.abs(n.getAudioData().length-n.sampleLoopEndIndex)<2&&(c=0);let u=tC(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,c),p=n.getAudioData(),R;if(n.isCompressed){let N=new Int16Array(p.length);for(let k0=0;k0{let u=ck(c);return i.push(n),n+=u.length,u});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function uk(){Q8("%cSaving DLS...",E1.info);let n=new K5(4);m9(n,this.presets.length);let i=k6("colh",n);Q8("%cWriting instruments...",E1.info);let A=lk.apply(this);_5("%cSuccess!",E1.recognized),u9(),Q8("%cWriting WAVE samples...",E1.info);let c=gk.apply(this),u=c.data,p=c.indexes;_5("%cSucceeded!",E1.recognized),u9();let R=new K5(8+4*p.length);m9(R,8),m9(R,p.length);for(let v of p)m9(R,v);let q=k6("ptbl",R);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` +Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let U=[];for(let[v,T]of Object.entries(this.soundFontInfo))v!=="ICMT"&&v!=="INAM"&&v!=="ICRD"&&v!=="IENG"&&v!=="ICOP"&&v!=="ISFT"&&v!=="ISBJ"||U.push(k6(v,Fn(T),!0));let N=k6("INFO",St(U),!1,!0),k0=new K5(i.length+A.length+q.length+u.length+N.length+4);return U8(k0,"DLS "),k0.set(St([i,A,q,u,N]),4),_5("%cSaved succesfully!",E1.recognized),u9(),k6("RIFF",k0)}var za=class{constructor(i,A,c,u,p,R,q,U){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=u,this.sampleLink=p,this.sampleType=R,this.sampleLoopStartIndex=q,this.sampleLoopEndIndex=U,this.isCompressed=(R&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}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{T9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){return this.sampleData}};var Ja=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 Ka=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 c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function u(P,G0){return G0>=P.min&&G0<=P.max}function p(P,G0){P.push(...G0.filter(I1=>!P.find(g1=>g1.generatorType===I1.generatorType)))}function R(P,G0){P.push(...G0.filter(I1=>!P.find(g1=>l9.isIdentical(I1,g1))))}let q=[],U=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],N=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],k0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},v=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(P=>u(P.hasKeyRange?P.keyRange:k0,i)&&u(P.hasVelRange?P.velRange:v,A)&&!P.isGlobal).forEach(P=>{if(P.instrument.instrumentZones.length<1)return;let G0=P.generators,I1=P.modulators,g1=P.instrument.instrumentZones[0],j1=g1.isGlobal?[...g1.generators]:[],z1=g1.isGlobal?[...g1.modulators]:[],u2=g1.isGlobal?g1.keyRange:{min:0,max:127},P2=g1.isGlobal?g1.velRange:{min:0,max:127};P.instrument.instrumentZones.filter(a0=>u(a0.hasKeyRange?a0.keyRange:u2,i)&&u(a0.hasVelRange?a0.velRange:P2,A)&&!a0.isGlobal).forEach(a0=>{let g5=[...a0.generators],p3=[...a0.modulators];p(G0,U),p(g5,j1),R(I1,N),R(p3,z1),R(p3,this.defaultModulators);let k3=[...p3];for(let u6=0;u6l9.isIdentical(S3,N9));c9!==-1?k3[c9]=k3[c9].sumTransform(S3):k3.push(S3)}q.push({instrumentGenerators:g5,presetGenerators:G0,modulators:k3,sample:a0.sample,sampleID:a0.generators.find(u6=>u6.generatorType===f0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=q,q}};var Wa=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=bE.map(A=>l9.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(R=>R.bank===p.bank&&R.program===p.program)===void 0&&c.push(p)});return new n({presets:c,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 c=new k7;c.isGlobal=!0,c.generators.push(new j3(f0.initialAttenuation,375)),c.generators.push(new j3(f0.releaseVolEnv,-1e3)),c.generators.push(new j3(f0.sampleModes,1));let u=new k7;u.sample=A;let p=new k7;p.sample=A,p.generators.push(new j3(f0.fineTune,-9));let R=new Ja;R.instrumentName="Saw Wave",R.instrumentZones.push(c),R.instrumentZones.push(u),R.instrumentZones.push(p),i.instruments.push(R);let q=new Ya;q.instrument=R;let U=new Ka(i.defaultModulators);return U.presetName="Saw Wave",U.presetZones.push(q),i.presets.push(U),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,c=!1){let u=this.presets.find(p=>p.bank===i&&p.program===A);if(u)return u;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(u=>u.bank===i&&u.program===A);return c||(i===128?(c=this.presets.find(u=>u.bank===128&&u.program===A),c||(c=this.presets.find(u=>u.bank===128))):c=this.presets.find(u=>u.program===A&&u.bank!==128),c&&T9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,E1.warn,E1.recognized)),c||(T9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(T9("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=ek;Wa.prototype.writeDLS=uk;function hk(n){Q8("%cLoading instruments...",E1.info);for(let i=0;i>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Ja,this.DLSInstrument.addUseCount();let u=new Ya;u.instrument=this.DLSInstrument,this.presetZones=[u]}};function dk(n){this.verifyHeader(n,"LIST"),this.verifyText(y4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(P=>P.header==="insh");if(!A)throw u9(),new Error("No instrument header!");let c=s3(A.chunkData,4),u=s3(A.chunkData,4),p=s3(A.chunkData,4),R=new aC(u,p),q="unnamedPreset",U=G7(i,"INFO");if(U){let P=Be(U.chunkData);for(;P.header!=="INAM";)P=Be(U.chunkData);q=y4(P.chunkData,P.chunkData.length).trim()}R.presetName=q,R.DLSInstrument.instrumentName=q,F7(`%cParsing %c"${q}"%c...`,E1.info,E1.recognized,E1.info);let N=G7(i,"lrgn");if(!N)throw u9(),new Error("No region list!");let k0=new k7;k0.isGlobal=!0;let v=G7(i,"lart"),T=G7(i,"lar2");(T!==void 0||v!==void 0)&&this.readLart(v,T,k0),k0.generators=k0.generators.filter(P=>P.generatorValue!==W6[P.generatorType].def),k0.modulators.find(P=>P.modulatorDestination===f0.reverbEffectsSend)===void 0&&k0.modulators.push(l9.copy(iC)),k0.modulators.find(P=>P.modulatorDestination===f0.chorusEffectsSend)===void 0&&k0.modulators.push(l9.copy(rC)),R.DLSInstrument.instrumentZones.push(k0);for(let P=0;P>10&15;z1===j7.linear&&j1!==j7.linear&&(z1=j1);let u2=c>>14&1,P2=c>>15&1;R===f0.initialAttenuation&&u<0&&(P2=1),T=Jr(z1,u2,P2,q.isCC,q.enum)}let P=c>>4&15,G0=c>>8&1,I1=c>>9&1,g1=Jr(P,G0,I1,v.isCC,v.enum);if(U){let j1=g1;g1=T,T=j1}return new l9({srcEnum:T,secSrcEnum:g1,dest:R,transform:0,amt:k0})}function lB(n,i){let A=n.chunkData,c=[],u=[];s3(A,4);let p=s3(A,4);for(let R=0;R>16;if(q===0&&U===0&&k0===0){let P;switch(N){case F5.pan:P=new j3(f0.pan,T);break;case F5.gain:P=new j3(f0.initialAttenuation,-T*10/.4);break;case F5.filterCutoff:P=new j3(f0.initialFilterFc,T);break;case F5.filterQ:P=new j3(f0.initialFilterQ,T);break;case F5.modLfoFreq:P=new j3(f0.freqModLFO,T);break;case F5.modLfoDelay:P=new j3(f0.delayModLFO,T);break;case F5.vibLfoFreq:P=new j3(f0.freqVibLFO,T);break;case F5.vibLfoDelay:P=new j3(f0.delayVibLFO,T);break;case F5.volEnvDelay:P=new j3(f0.delayVolEnv,T);break;case F5.volEnvAttack:P=new j3(f0.attackVolEnv,T);break;case F5.volEnvHold:P=new j3(f0.holdVolEnv,T,!1);break;case F5.volEnvDecay:P=new j3(f0.decayVolEnv,T,!1);break;case F5.volEnvRelease:P=new j3(f0.releaseVolEnv,T);break;case F5.volEnvSustain:let G0=1e3-T;P=new j3(f0.sustainVolEnv,G0);break;case F5.modEnvDelay:P=new j3(f0.delayModEnv,T);break;case F5.modEnvAttack:P=new j3(f0.attackModEnv,T);break;case F5.modEnvHold:P=new j3(f0.holdModEnv,T,!1);break;case F5.modEnvDecay:P=new j3(f0.decayModEnv,T,!1);break;case F5.modEnvRelease:P=new j3(f0.releaseModEnv,T);break;case F5.modEnvSustain:let I1=1e3-T;P=new j3(f0.sustainModEnv,I1);break;case F5.reverbSend:P=new j3(f0.reverbEffectsSend,T);break;case F5.chorusSend:P=new j3(f0.chorusEffectsSend,T);break;case F5.pitch:let g1=Math.floor(T/100),j1=Math.floor(T-g1*100);P=new j3(f0.fineTune,j1),c.push(new j3(f0.coarseTune,g1));break}P&&c.push(P)}else{let P=!0;if(U===m6.none)if(q===m6.modLfo&&N===F5.pitch)c.push(new j3(f0.modLfoToPitch,T));else if(q===m6.modLfo&&N===F5.gain)c.push(new j3(f0.modLfoToVolume,T));else if(q===m6.modLfo&&N===F5.filterCutoff)c.push(new j3(f0.modLfoToFilterFc,T));else if(q===m6.vibratoLfo&&N===F5.pitch)c.push(new j3(f0.vibLfoToPitch,T));else if(q===m6.modEnv&&N===F5.pitch)c.push(new j3(f0.modEnvToPitch,T));else if(q===m6.modEnv&&N===F5.filterCutoff)c.push(new j3(f0.modEnvToFilterFc,T));else if(q===m6.keyNum&&N===F5.pitch)c.push(new j3(f0.scaleTuning,T/128));else if(q===m6.keyNum&&N===F5.volEnvHold){c.push(new j3(f0.keyNumToVolEnvHold,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.holdVolEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&N===F5.volEnvDecay){c.push(new j3(f0.keyNumToVolEnvDecay,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.decayVolEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&N===F5.modEnvHold){c.push(new j3(f0.keyNumToModEnvHold,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.holdModEnv&&(I1.generatorValue+=G0)})}else if(q===m6.keyNum&&N===F5.modEnvDecay){c.push(new j3(f0.keyNumToModEnvDecay,T/-128));let G0=Math.round(60/128*T);c.forEach(I1=>{I1.generatorType===f0.decayModEnv&&(I1.generatorValue+=G0)})}else P=!1;else P=!1;if(P===!1){let G0=Ik(q,U,N,k0,T);G0?(u.push(G0),_5("%cSucceeded converting to SF2 Modulator!",E1.recognized)):T9("Failed converting to SF2 Modulator!")}}}return i&&u.push(l9.copy(nC),l9.copy(oC)),{modulators:u,generators:c}}function mk(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(p3=>p3.header==="rgnh"),c=s3(A.chunkData,2),u=s3(A.chunkData,2),p=s3(A.chunkData,2),R=s3(A.chunkData,2),q=new AC({min:c,max:u},{min:p,max:R});s3(A.chunkData,2);let U=s3(A.chunkData,2);U!==0&&q.generators.push(new j3(f0.exclusiveClass,U));let N=G7(i,"lart"),k0=G7(i,"lar2");this.readLart(N,k0,q),q.isGlobal=!1;let v=i.find(p3=>p3.header==="wsmp");s3(v.chunkData,4);let T=s3(v.chunkData,2),P=Ua(v.chunkData[v.chunkData.currentIndex++],v.chunkData[v.chunkData.currentIndex++]),I1=(s3(v.chunkData,4)|0)/-655360;s3(v.chunkData,4);let g1=s3(v.chunkData,4),j1,z1={start:0,end:0};if(g1===0)j1=0;else{s3(v.chunkData,4),s3(v.chunkData,4)===0?j1=1:j1=3,z1.start=s3(v.chunkData,4);let k3=s3(v.chunkData,4);z1.end=z1.start+k3}let u2=i.find(p3=>p3.header==="wlnk");if(u2===void 0)return;s3(u2.chunkData,2),s3(u2.chunkData,2),s3(u2.chunkData,4);let P2=s3(u2.chunkData,4),L2=this.samples[P2];if(L2===void 0)throw new Error("Invalid sample ID!");let g5=(I1||L2.sampleDbAttenuation)*10/.4;return q.setWavesample(g5,j1,z1,T,L2,P2,P),q}var $C=class extends za{sampleDbAttenuation;sampleData;constructor(i,A,c,u,p,R,q,U){super(i,A,c,u,0,1,p,R),this.sampleData=q,this.sampleDbAttenuation=U}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 Ek={PCM:1,ALAW:6};function h_(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),u,p=!1;i===1?(u=255,p=!0):u=A;let R=n.size/i,q=new Float32Array(R);for(let U=0;U=A&&(N-=c),q[U]=N/u)}return q}function d_(n,i){let A=n.size/i,c=new Float32Array(A);for(let u=0;u>4,U=R&15;q>0&&(U+=16),U=(U<<4)+8,q>1&&(U=U<127?U:-U;c[u]=N/32678}return c}function Ck(n){Q8("%cLoading Wave samples...",E1.recognized);let i=0;for(;n.chunkData.currentIndexL2.header==="fmt ");if(!u)throw new Error("No fmt chunk in the wave file!");let p=s3(u.chunkData,2),R=s3(u.chunkData,2);if(R!==1)throw new Error(`Only mono samples are supported. Fmt reports ${R} channels`);let q=s3(u.chunkData,4);s3(u.chunkData,4),s3(u.chunkData,2);let N=s3(u.chunkData,2)/8,k0=!1,v=c.find(L2=>L2.header==="data");v||this.parsingError("No data chunk in the WAVE chunk!");let T;switch(p){default:k0=!0,T=new Float32Array(v.size/N);break;case Ek.PCM:T=h_(v,N);break;case Ek.ALAW:T=d_(v,N);break}let P=G7(c,"INFO"),G0=`Unnamed ${i}`;if(P){let L2=Be(P.chunkData);for(;L2.header!=="INAM"&&P.chunkData.currentIndexL2.header==="wsmp");if(P2){s3(P2.chunkData,4),I1=s3(P2.chunkData,2),g1=Ua(P2.chunkData[P2.chunkData.currentIndex++],P2.chunkData[P2.chunkData.currentIndex++]);let L2=Math.trunc(g1/100);if(I1+=L2,g1-=L2*100,u2=(s3(P2.chunkData,4)|0)/-655360,s3(P2.chunkData,4),s3(P2.chunkData,4)===1){s3(P2.chunkData,8),j1=s3(P2.chunkData,4);let p3=s3(P2.chunkData,4);z1=j1+p3}}else T9("No wsmp chunk in wave... using sane defaults.");k0&&console.error(`Failed to load '${G0}': Unsupported format: (${p})`),this.samples.push(new $C(G0,q,I1,g1,j1,z1,T,u2)),i++,_5(`%cLoaded sample %c${G0}`,E1.info,E1.recognized)}u9()}var Ho=class extends Wa{constructor(i){super(),this.dataArray=new K5(i),F7("%cParsing DLS...",E1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let A=Be(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndexU.header==="colh");p||(u9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(p.chunkData,4),_5(`%cInstruments amount: %c${this.instrumentAmount}`,E1.info,E1.recognized);let R=G7(c,"wvpl");R||(u9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(R);let q=G7(c,"lins");q||(u9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(q),this.presets.sort((U,N)=>U.program-N.program+(U.bank-N.bank)),_5(`%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.`,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info),u9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),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}};Ho.prototype.readDLSInstrumentList=hk;Ho.prototype.readDLSInstrument=dk;Ho.prototype.readRegion=pk;Ho.prototype.readLart=mk;Ho.prototype.readDLSSamples=Ck;var Za=Za!==void 0?Za:{},Bk=!1,yk;Za.isInitialized=new Promise(n=>yk=n);var f_=function(n){var i,A,c,u,p,R,q,U="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",N="",k0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=U.indexOf(n.charAt(k0++)),p=U.indexOf(n.charAt(k0++)),R=U.indexOf(n.charAt(k0++)),q=U.indexOf(n.charAt(k0++)),i=u<<2|p>>4,A=(15&p)<<4|R>>2,c=(3&R)<<6|q,N+=String.fromCharCode(i),R!==64&&(N+=String.fromCharCode(A)),q!==64&&(N+=String.fromCharCode(c));while(k01&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(F0){if(!(F0 instanceof j$))throw F0}),process.on("unhandledRejection",function(F0,i1){process.exit(1)}),a0.quit=function(F0){process.exit(F0)},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(F0){quit(F0)})):(p3||k3)&&(p3?document.currentScript&&(c9=document.currentScript.src):c9=self.location.href,c9=c9.indexOf("blob:")!==0?c9.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(F0){document.title=F0});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(F0){var i1=P;return P=P+F0+15&-16,i1}function er(F0){var i1=U[u2>>2],w1=i1+F0+15&-16;return U[u2>>2]=w1,w1>=G9&&!Zr()?(U[u2>>2]=i1,0):i1}function q8(F0,i1){return i1||(i1=16),F0=Math.ceil(F0/i1)*i1}function ja(F0){switch(F0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(F0[F0.length-1]==="*")return 4;if(F0[0]!=="i")return 0;var i1=parseInt(F0.substr(1));return yr(i1%8==0),i1/8}}function Br(F0){Br.shown||(Br.shown={}),Br.shown[F0]||(Br.shown[F0]=1,p6(F0))}g5=void 0;var Xa={"f64-rem":function(F0,i1){return F0%i1},debugger:function(){}},N$=[];function uC(F0,i1){for(var w1=0,_2=w1;_2>>0)+4294967296*+(i1>>>0):+(F0>>>0)+4294967296*+(0|i1)}function G$(F0,i1,w1){return w1&&w1.length?a0["dynCall_"+F0].apply(null,[i1].concat(w1)):a0["dynCall_"+F0].call(null,i1)}var eA=0,vu=0;function yr(F0,i1){F0||tr("Assertion failed: "+i1)}function tA(F0){var i1=a0["_"+F0];return yr(i1,"Cannot call unknown function "+F0+", make sure it is exported"),i1}var Pp={stackSave:function(){Wp()},stackRestore:function(){Z$()},arrayToC:function(F0){var i1,w1,_2=iA(F0.length);return i1=F0,w1=_2,u.set(i1,w1),_2},stringToC:function(F0){var i1=0;if(F0!=null&&F0!==0){var w1=(F0.length<<2)+1;i1=iA(w1),qp(F0,i1,w1)}return i1}},Yo={string:Pp.stringToC,array:Pp.arrayToC};function ku(F0,i1,w1,_2,i6){var p9=tA(F0),ee=[],E6=0;if(_2)for(var w8=0;w8<_2.length;w8++){var H4=Yo[w1[w8]];H4?(E6===0&&(E6=Wp()),ee[w8]=H4(_2[w8])):ee[w8]=_2[w8]}var rt,M4=p9.apply(null,ee);return M4=(rt=M4,i1==="string"?P$(rt):i1==="boolean"?!!rt:rt),E6!==0&&Z$(E6),M4}function q3(F0,i1,w1,_2){switch((w1=w1||"i8").charAt(w1.length-1)==="*"&&(w1="i32"),w1){case"i1":case"i8":u[F0>>0]=i1;break;case"i16":R[F0>>1]=i1;break;case"i32":U[F0>>2]=i1;break;case"i64":tempI64=[i1>>>0,+Du(tempDouble=i1)>=1?tempDouble>0?(0|xu(+_u(tempDouble/4294967296),4294967295))>>>0:~~+K$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],U[F0>>2]=tempI64[0],U[F0+4>>2]=tempI64[1];break;case"float":k0[F0>>2]=i1;break;case"double":v[F0>>3]=i1;break;default:tr("invalid type for setValue: "+w1)}}function B3(F0,i1,w1){switch((i1=i1||"i8").charAt(i1.length-1)==="*"&&(i1="i32"),i1){case"i1":case"i8":return u[F0>>0];case"i16":return R[F0>>1];case"i32":case"i64":return U[F0>>2];case"float":return k0[F0>>2];case"double":return v[F0>>3];default:tr("invalid type for getValue: "+i1)}return null}function yB(F0,i1,w1,_2){typeof F0=="number"?(p9=!0,ee=F0):(p9=!1,ee=F0.length);var i6=typeof i1=="string"?i1:null;if(E6=w1==4?_2:[typeof jo=="function"?jo:w4,iA,w4,er][w1===void 0?2:w1](Math.max(ee,i6?1:i1.length)),p9){for(_2=E6,yr((3&E6)==0),w8=E6+(-4&ee);_2>2]=0;for(w8=E6+ee;_2>0]=0;return E6}if(i6==="i8")return F0.subarray||F0.slice?p.set(F0,E6):p.set(new Uint8Array(F0),E6),E6;for(var p9,ee,E6,w8,H4,rt,M4,E9=0;E9>0],(_2!=0||i1)&&(ee++,!i1||ee!=i1););i1||(i1=ee);var E6="";if(p9<128){for(;i1>0;)i6=String.fromCharCode.apply(String,p.subarray(F0,F0+Math.min(i1,1024))),E6=E6?E6+i6:i6,F0+=1024,i1-=1024;return E6}return w1=F0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Op)return Op.decode(H4.subarray(rt,M4));for(var E9,Ui,O7,v8,Pi,q7,H7="";;){if(!(E9=H4[rt++]))return H7;if(!(128&E9)){H7+=String.fromCharCode(E9);continue}if(Ui=63&H4[rt++],(224&E9)==192){H7+=String.fromCharCode((31&E9)<<6|Ui);continue}if(O7=63&H4[rt++],(240&E9)==224?E9=(15&E9)<<12|Ui<<6|O7:(v8=63&H4[rt++],(248&E9)==240?E9=(7&E9)<<18|Ui<<12|O7<<6|v8:(Pi=63&H4[rt++],E9=(252&E9)==248?(3&E9)<<24|Ui<<18|O7<<12|v8<<6|Pi:(1&E9)<<30|Ui<<24|O7<<18|v8<<12|Pi<<6|(q7=63&H4[rt++]))),E9<65536)H7+=String.fromCharCode(E9);else{var On=E9-65536;H7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(p,w1)}function QB(F0){for(var i1="";;){var w1=u[F0++>>0];if(!w1)return i1;i1+=String.fromCharCode(w1)}}function zo(F0,i1){return function(_2,i6,p9){for(var ee=0;ee<_2.length;++ee)u[i6++>>0]=_2.charCodeAt(ee);p9||(u[i6>>0]=0)}(F0,i1,!1)}var Op=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(F0,i1,w1,_2){if(!(_2>0))return 0;for(var i6=w1,p9=w1+_2-1,ee=0;ee=55296&&E6<=57343&&(E6=65536+((1023&E6)<<10)|1023&F0.charCodeAt(++ee)),E6<=127){if(w1>=p9)break;i1[w1++]=E6}else if(E6<=2047){if(w1+1>=p9)break;i1[w1++]=192|E6>>6,i1[w1++]=128|63&E6}else if(E6<=65535){if(w1+2>=p9)break;i1[w1++]=224|E6>>12,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=2097151){if(w1+3>=p9)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>=p9)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>=p9)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 qp(F0,i1,w1){return Un(F0,p,i1,w1)}function Jo(F0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&F0.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 Hp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function wB(F0){for(var i1=F0,w1=i1>>1;R[w1];)++w1;if((i1=w1<<1)-F0>32&&Hp)return Hp.decode(p.subarray(F0,i1));for(var _2=0,i6="";;){var p9=R[F0+2*_2>>1];if(p9==0)return i6;++_2,i6+=String.fromCharCode(p9)}}function vB(F0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<2)return 0;for(var _2=i1,i6=(w1-=2)<2*F0.length?w1/2:F0.length,p9=0;p9>1]=ee,i1+=2}return R[i1>>1]=0,i1-_2}function kB(F0){return 2*F0.length}function SB(F0){for(var i1=0,w1="";;){var _2=U[F0+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 bB(F0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<4)return 0;for(var _2=i1,i6=_2+w1-4,p9=0;p9=55296&&ee<=57343&&(ee=65536+((1023&ee)<<10)|1023&F0.charCodeAt(++p9)),U[i1>>2]=ee,(i1+=4)+4>i6)break}return U[i1>>2]=0,i1-_2}function DB(F0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&++w1,i1+=4}return i1}function _B(F0){var i1=Jo(F0)+1,w1=jo(i1);return w1&&Un(F0,u,w1,i1),w1}function xB(F0){var i1=Jo(F0)+1,w1=iA(i1);return Un(F0,u,w1,i1),w1}function Vp(F0){return F0}function fC(){var F0,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()),(F0=i1).replace(/__Z[\w\d_]+/g,function(w1){var _2,i6=_2=w1;return w1===i6?w1:w1+" ["+i6+"]"})}function Su(F0,i1){return F0%i1>0&&(F0+=i1-F0%i1),F0}function Yp(F0){a0.buffer=c=F0}function X9(){a0.HEAP8=u=new Int8Array(c),a0.HEAP16=R=new Int16Array(c),a0.HEAP32=U=new Int32Array(c),a0.HEAPU8=p=new Uint8Array(c),a0.HEAPU16=q=new Uint16Array(c),a0.HEAPU32=N=new Uint32Array(c),a0.HEAPF32=k0=new Float32Array(c),a0.HEAPF64=v=new Float64Array(c)}function Zr(){var F0=a0.usingWasm?65536:16777216,i1=2147483648-F0;if(U[u2>>2]>i1)return!1;var w1=G9;for(G9=Math.max(G9,16777216);G9>2];)G9=G9<=536870912?Su(2*G9,F0):Math.min(Su((3*G9+2147483648)/4,F0),i1);var _2=a0.reallocBuffer(G9);return _2&&_2.byteLength==G9?(Yp(_2),X9(),!0):(G9=w1,!1)}T=P=I1=g1=j1=z1=u2=0,G0=!1,a0.reallocBuffer||(a0.reallocBuffer=function(F0){try{if(ArrayBuffer.transfer)i1=ArrayBuffer.transfer(c,F0);else{var i1,w1=u;i1=new ArrayBuffer(F0),new Int8Array(i1).set(w1)}}catch{return!1}return!!pC(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 O$=a0.TOTAL_STACK||5242880,G9=a0.TOTAL_MEMORY||16777216;function q$(){return G9}function Ko(F0){for(;F0.length>0;){var i1=F0.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)}}G9=0?F0:i1<=32?2*Math.abs(1<=_2&&(i1<=32||F0>_2)&&(F0=-2*_2+F0),F0}var Du=Math.abs,K$=Math.ceil,_u=Math.floor,xu=Math.min,Pn=0,Lu=null,Zo=null;function LB(F0){return F0}a0.preloadedImages={},a0.preloadedAudios={};var Kp="data:application/octet-stream;base64,";function W$(F0){return String.prototype.startsWith?F0.startsWith(Kp):F0.indexOf(Kp)===0}(function(){var i1="main.wast",w1="main.wasm",_2="main.temp.asm.js";W$(i1)||(i1=N9(i1)),W$(w1)||(w1=N9(w1)),W$(_2)||(_2=N9(_2));var i6={global:null,env:null,asm2wasm:Xa,parent:a0},p9=null;function ee(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 w8=a0.reallocBuffer,H4=function(M4){M4=Su(M4,a0.usingWasm?65536:16777216);var E9=a0.buffer.byteLength;if(a0.usingWasm)try{var Ui=a0.wasmMemory.grow((M4-E9)/65536);return Ui!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(M4){return rt==="asmjs"?w8(M4):H4(M4)};var rt="";a0.asm=function(M4,E9,Ui){var O7;if(!(E9=O7=E9).table){var v8,Pi=a0.wasmTableSize;Pi===void 0&&(Pi=1024);var q7=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?q7!==void 0?E9.table=new WebAssembly.Table({initial:Pi,maximum:q7,element:"anyfunc"}):E9.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):E9.table=Array(Pi),a0.wasmTable=E9.table}return E9.memoryBase||(E9.memoryBase=a0.STATIC_BASE),E9.tableBase||(E9.tableBase=0),v8=function(On,Qr,Zp){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(wr,ir){if((p9=wr.exports).memory){var rA,Xo,es;rA=p9.memory,Xo=a0.buffer,rA.byteLength0?w1:Jo(F0)+1,i6=Array(_2),p9=Un(F0,i6,0,i6.length);return i1&&(i6.length=p9),i6}function mC(F0){for(var i1=[],w1=0;w1255&&(_2&=255),i1.push(String.fromCharCode(_2))}return i1.join("")}P+=16,u2=w4(4),j1=(I1=g1=q8(P))+O$,z1=q8(j1),U[u2>>2]=z1,G0=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:tr,assert:yr,enlargeMemory:Zr,getTotalMemory:q$,abortOnCannotGrowMemory:function(){tr("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G9+", (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=Wp();try{return a0.dynCall_iii(i1,w1,_2)}catch(p9){if(Z$(i6),typeof p9!="number"&&p9!=="longjmp")throw p9;a0.setThrew(1,0)}},___assert_fail:function(i1,w1,_2,i6){tr("Assertion failed: "+P$(i1)+", at: "+[w1?P$(w1):"unknown filename",_2,i6?P$(i6):"unknown function"])},___setErrNo:function(i1){return a0.___errno_location&&(U[a0.___errno_location()>>2]=i1),i1},_abort:function(){a0.abort()},_emscripten_memcpy_big:function(i1,w1,_2){return p.set(p.subarray(w1,w1+_2),i1),i1},_llvm_floor_f64:_u,DYNAMICTOP_PTR:u2,tempDoublePtr:Gi,ABORT:eA,STACKTOP:g1,STACK_MAX:j1};var en=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,c);a0.asm=en,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var pC=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 jo=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)},Z$=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},Wp=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function j$(F0){this.name="ExitStatus",this.message="Program terminated with exit("+F0+")",this.status=F0}function X$(F0){F0=F0||a0.arguments,!(Pn>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)IC(a0.preRun.shift());Ko(jr)}(),!(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||(Y$||(Y$=!0,Ko(H$)),Ko(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());Ko(V$)}()))}}function EC(F0,i1){(!i1||!a0.noExitRuntime||F0!==0)&&(a0.noExitRuntime||(eA=!0,vu=F0,g1=L2,Ko(S7),U7=!0,a0.onExit&&a0.onExit(F0)),a0.quit(F0,new j$(F0)))}function tr(F0){throw a0.onAbort&&a0.onAbort(F0),F0!==void 0?(E3(F0),p6(F0),F0=JSON.stringify(F0)):F0="",eA=!0,vu=1,"abort("+F0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=en,a0.ccall=ku,a0.cwrap=function(i1,w1,_2,i6){var p9=(_2=_2||[]).every(function(ee){return ee==="number"});return w1!=="string"&&p9&&!i6?tA(i1):function(){return ku(i1,w1,_2,arguments,i6)}},j$.prototype=Error(),j$.prototype.constructor=j$,Zo=function F0(){a0.calledRun||X$(),a0.calledRun||(Zo=F0)},a0.run=X$,a0.abort=tr,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,X$(),a0.onRuntimeInitialized=()=>{Bk=!0,yk()},Za.decode=function(F0){return function(w1){if(!Bk)throw Error("Not initialized");var _2={};function i6(Qr){return new Int32Array(a0.HEAPU8.buffer,Qr,1)[0]}function p9(Qr,Zp){var Mu=new ArrayBuffer(Zp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Mu);return bt.set(new Float32Array(a0.HEAPU8.buffer,Qr,Zp)),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 ee,E6,w8,H4,rt=_2.open(),M4=(ee=w1,E6=w1.byteLength,w8=a0._malloc(E6),(H4=new Uint8Array(a0.HEAPU8.buffer,w8,E6)).set(new Uint8Array(ee,0,E6)),H4),E9=a0._malloc(4),Ui=a0._malloc(4),O7=_2.decode(rt,M4.byteOffset,M4.byteLength,E9,Ui);if(a0._free(M4.byteOffset),O7<0)throw _2.close(rt),a0._free(E9),Error("stbvorbis decode failed: "+O7);for(var v8=_2.channels(rt),Pi=Array(v8),q7=new Int32Array(a0.HEAPU32.buffer,i6(E9),v8),H7=0;H7n.chunkData.currentIndex;){let p=I_(u,n.chunkData,i,A);c.push(p),u++}return c.length>1&&c.pop(),c}function I_(n,i,A,c){let u=y4(i,20),p=s3(i,4)*2,R=s3(i,4)*2,q=s3(i,4),U=s3(i,4),N=s3(i,4),k0=i[i.currentIndex++];k0===255&&(k0=60);let v=PQ(i[i.currentIndex++]),T=s3(i,2),P=s3(i,2);return new cB(u,p,R,q,U,N,k0,v,T,P,A,n,c)}var gB=class extends j3{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 uB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new gB(n.chunkData));return i.length>1&&i.pop(),i}var hB=class extends Ja{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new hB(n);if(A.length>0){let u=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(u,i)}A.push(c)}return A.length>1&&A.pop(),A}var dB=class extends k7{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(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;Ac.generatorType===f0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===f0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===f0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function vk(n,i,A,c){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new dB(n.chunkData);if(u.length>0){let R=p.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,q=p.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(R,q),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(A),u[u.length-1].getSample(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(p)}return u.length>1&&u.pop(),u}var fB=class extends Ya{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(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;Ac.generatorType===f0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===f0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===f0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function kk(n,i,A,c){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new fB(n.chunkData);if(u.length>0){let R=p.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,q=p.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(R,q),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(A),u[u.length-1].getInstrument(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(p)}return u.length>1&&u.pop(),u}var IB=class extends Ka{constructor(i,A){super(A),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let u=new IB(n,A);if(c.length>0){let p=u.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(u)}return c.length>1&&c.pop(),c}var mB=class extends l9{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function $C(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new mB(n.chunkData));return i}var lC=class extends Wa{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new K5(i),F7("%cParsing SoundFont...",E1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let c=Be(this.dataArray,!1);this.verifyHeader(c,"riff");let u=y4(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw u9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let p=u==="sfpk",R=Be(this.dataArray);for(this.verifyHeader(R,"list"),y4(R.chunkData,4);R.chunkData.length>R.chunkData.currentIndex;){let u6=Be(R.chunkData),S3;switch(u6.header.toLowerCase()){case"ifil":case"iver":S3=`${s3(u6.chunkData,2)}.${s3(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 c9=$C(u6);c9.pop(),S3=`Modulators: ${c9.length}`;let N9=this.defaultModulators;this.defaultModulators=c9,this.defaultModulators.push(...N9.filter(E3=>!this.defaultModulators.find(p6=>l9.isIdentical(E3,p6)))),this.soundFontInfo[u6.header]=u6.chunkData;break;default:S3=y4(u6.chunkData,u6.chunkData.length),this.soundFontInfo[u6.header]=S3}_5(`%c"${u6.header}": %c"${S3}"`,E1.info,E1.recognized)}let q=Be(this.dataArray,!1);this.verifyHeader(q,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),_5("%cVerifying smpl chunk...",E1.warn);let U=Be(this.dataArray,!1);this.verifyHeader(U,"smpl");let N;if(p){_5("%cSF2Pack detected, attempting to decode the smpl chunk...",E1.info);try{N=Za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+q.size-12)).data[0]}catch(u6){throw u9(),new Error(`SF2Pack Ogg Vorbis decode error: ${u6}`)}_5(`%cDecoded the smpl chunk! Length: %c${N.length}`,E1.info,E1.value)}else N=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;_5(`%cSkipping sample chunk, length: %c${q.size-12}`,E1.info,E1.value),this.dataArray.currentIndex+=q.size-12,_5("%cLoading preset data chunk...",E1.warn);let k0=Be(this.dataArray);this.verifyHeader(k0,"list"),y4(k0.chunkData,4);let v=Be(k0.chunkData);this.verifyHeader(v,"phdr");let T=Be(k0.chunkData);this.verifyHeader(T,"pbag");let P=Be(k0.chunkData);this.verifyHeader(P,"pmod");let G0=Be(k0.chunkData);this.verifyHeader(G0,"pgen");let I1=Be(k0.chunkData);this.verifyHeader(I1,"inst");let g1=Be(k0.chunkData);this.verifyHeader(g1,"ibag");let j1=Be(k0.chunkData);this.verifyHeader(j1,"imod");let z1=Be(k0.chunkData);this.verifyHeader(z1,"igen");let u2=Be(k0.chunkData);this.verifyHeader(u2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Qk(u2,N,!p));let P2=uB(z1),L2=$C(j1),a0=vk(g1,P2,L2,this.samples);this.instruments=wk(I1,a0);let g5=uB(G0),p3=$C(P),k3=kk(T,g5,p3,this.instruments);this.presets.push(...Sk(v,k3,this.defaultModulators)),this.presets.sort((u6,S3)=>u6.program-S3.program+(u6.bank-S3.bank)),_5(`%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.`,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info),u9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Vo(n){let i=n.slice(8,12),A=new K5(i);return y4(A,4,void 0,!1).toLowerCase()==="dls "?new Ho(n):new lC(n,!1)}async function bk(){let n="locale.exportAudio.formats.formats.soundfont.options.";c4(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,c=i.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(i.div.querySelector("input[type='range']").value)/10;_e(i.id),F7("%cExporting minified soundfont...",E1.info);let p=await this.seq.getMIDI(),R=Vo(p.embeddedSoundFont||this.soundFont);Pa(p,await this.synth.getSynthesizerSnapshot()),A&&wu(R,p);let q=R.write({compress:c,compressionQuality:u,compressionFunction:this.compressionFunc}),U=new Blob([q.buffer],{type:"audio/soundfont"}),N=R.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(U,`${R.soundFontInfo.INAM||"unnamed"}.${N}`),u9()}}],99999999,!0,this.localeManager)}async function Dk(){let n="locale.exportAudio.formats.";c4(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{_e(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{_e(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{_e(i.id);try{this._exportSoundfont()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{_e(i.id);try{this._exportDLS()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{_e(i.id);try{this._exportRMIDI()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function _k(){let n=(v,T,P)=>this.seq.midiData.RMIDInfo?.[v]===void 0?T:P.decode(this.seq.midiData.RMIDInfo?.[v]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),u=n("IART","",A),p=n("IGNR","",A),R=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),q="locale.exportAudio.formats.formats.rmidi.options.",U="locale.exportAudio.formats.metadata.",k0=c4(this.localeManager.getLocaleString(q+"title"),[{type:"toggle",translatePathTitle:q+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:q+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:U+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:U+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:U+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:U+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:U+"comment",attributes:{value:R,name:"comment",type:"text"}},{type:"file",translatePathTitle:U+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:q+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:q+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(q+"confirm"),onClick:async v=>{let T=v.div.querySelector("input[compress-toggle='1']").checked,P=parseInt(v.div.querySelector("input[type='range']").value)/10,G0=v.div.querySelector("input[name='album']").value,I1=v.div.querySelector("input[name='artist']").value,g1=v.div.querySelector("input[name='song_title']").value,j1=v.div.querySelector("input[name='comment']").value,z1=v.div.querySelector("input[name='genre']").value,u2=parseInt(v.div.querySelector("input[name='bank_offset']").value),P2=v.div.querySelector("input[name='adjust']").checked,L2=v.div.querySelector("input[type='file']")?.files[0];_e(v.id),Q8("%cExporting RMIDI...",E1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",g5=c4(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=Vo(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:T,compressionQuality:P,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(p6=>setTimeout(p6,75));let c9;L2?.type.split("/")[0]==="image"?c9=await L2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(c9=k3.RMIDInfo.IPIC.buffer);let N9=GE(S3,k3,u6,u2,this.seqUI.encoding,{name:g1,comment:j1,engineer:u6.soundFontInfo.IENG,picture:c9,album:G0.length>0?G0:void 0,artist:I1.length>0?I1:void 0,genre:z1.length>0?z1:void 0,midiEncoding:this.seqUI.encoding},P2),E3=new Blob([N9.buffer],{type:"audio/rmid"});this.saveBlob(E3,`${g1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(a0+"done"),_e(g5.id),u9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");k0.oninput=()=>{k0.files[0]&&(k0.parentElement.firstChild.textContent=k0.files[0].name)}}var xk="synthetizer/worklet_processor.min.js";var cC={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 c=typeof window=="object",u=typeof process=="object"&&typeof QE=="function"&&!c,p=typeof importScripts=="function",R=!c&&!u&&!p;if(u){n.print||(n.print=function(l){process.stdout.write(l+` + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info),u9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),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}};Ho.prototype.readDLSInstrumentList=hk;Ho.prototype.readDLSInstrument=dk;Ho.prototype.readRegion=pk;Ho.prototype.readLart=mk;Ho.prototype.readDLSSamples=Ck;var Za=Za!==void 0?Za:{},Bk=!1,yk;Za.isInitialized=new Promise(n=>yk=n);var f_=function(n){var i,A,c,u,p,R,q,U="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",N="",k0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do u=U.indexOf(n.charAt(k0++)),p=U.indexOf(n.charAt(k0++)),R=U.indexOf(n.charAt(k0++)),q=U.indexOf(n.charAt(k0++)),i=u<<2|p>>4,A=(15&p)<<4|R>>2,c=(3&R)<<6|q,N+=String.fromCharCode(i),R!==64&&(N+=String.fromCharCode(A)),q!==64&&(N+=String.fromCharCode(c));while(k01&&(a0.thisProgram=process.argv[1].replace(/\\/g,"/")),a0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(F0){if(!(F0 instanceof j$))throw F0}),process.on("unhandledRejection",function(F0,i1){process.exit(1)}),a0.quit=function(F0){process.exit(F0)},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(F0){quit(F0)})):(p3||k3)&&(p3?document.currentScript&&(c9=document.currentScript.src):c9=self.location.href,c9=c9.indexOf("blob:")!==0?c9.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(F0){document.title=F0});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(F0){var i1=P;return P=P+F0+15&-16,i1}function er(F0){var i1=U[u2>>2],w1=i1+F0+15&-16;return U[u2>>2]=w1,w1>=G9&&!Zr()?(U[u2>>2]=i1,0):i1}function q8(F0,i1){return i1||(i1=16),F0=Math.ceil(F0/i1)*i1}function ja(F0){switch(F0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(F0[F0.length-1]==="*")return 4;if(F0[0]!=="i")return 0;var i1=parseInt(F0.substr(1));return yr(i1%8==0),i1/8}}function Br(F0){Br.shown||(Br.shown={}),Br.shown[F0]||(Br.shown[F0]=1,p6(F0))}g5=void 0;var Xa={"f64-rem":function(F0,i1){return F0%i1},debugger:function(){}},N$=[];function hC(F0,i1){for(var w1=0,_2=w1;_2>>0)+4294967296*+(i1>>>0):+(F0>>>0)+4294967296*+(0|i1)}function G$(F0,i1,w1){return w1&&w1.length?a0["dynCall_"+F0].apply(null,[i1].concat(w1)):a0["dynCall_"+F0].call(null,i1)}var eA=0,vu=0;function yr(F0,i1){F0||tr("Assertion failed: "+i1)}function tA(F0){var i1=a0["_"+F0];return yr(i1,"Cannot call unknown function "+F0+", make sure it is exported"),i1}var Pp={stackSave:function(){Wp()},stackRestore:function(){Z$()},arrayToC:function(F0){var i1,w1,_2=iA(F0.length);return i1=F0,w1=_2,u.set(i1,w1),_2},stringToC:function(F0){var i1=0;if(F0!=null&&F0!==0){var w1=(F0.length<<2)+1;i1=iA(w1),qp(F0,i1,w1)}return i1}},Yo={string:Pp.stringToC,array:Pp.arrayToC};function ku(F0,i1,w1,_2,i6){var p9=tA(F0),ee=[],E6=0;if(_2)for(var w8=0;w8<_2.length;w8++){var H4=Yo[w1[w8]];H4?(E6===0&&(E6=Wp()),ee[w8]=H4(_2[w8])):ee[w8]=_2[w8]}var rt,M4=p9.apply(null,ee);return M4=(rt=M4,i1==="string"?P$(rt):i1==="boolean"?!!rt:rt),E6!==0&&Z$(E6),M4}function q3(F0,i1,w1,_2){switch((w1=w1||"i8").charAt(w1.length-1)==="*"&&(w1="i32"),w1){case"i1":case"i8":u[F0>>0]=i1;break;case"i16":R[F0>>1]=i1;break;case"i32":U[F0>>2]=i1;break;case"i64":tempI64=[i1>>>0,+Du(tempDouble=i1)>=1?tempDouble>0?(0|xu(+_u(tempDouble/4294967296),4294967295))>>>0:~~+K$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],U[F0>>2]=tempI64[0],U[F0+4>>2]=tempI64[1];break;case"float":k0[F0>>2]=i1;break;case"double":v[F0>>3]=i1;break;default:tr("invalid type for setValue: "+w1)}}function B3(F0,i1,w1){switch((i1=i1||"i8").charAt(i1.length-1)==="*"&&(i1="i32"),i1){case"i1":case"i8":return u[F0>>0];case"i16":return R[F0>>1];case"i32":case"i64":return U[F0>>2];case"float":return k0[F0>>2];case"double":return v[F0>>3];default:tr("invalid type for getValue: "+i1)}return null}function yB(F0,i1,w1,_2){typeof F0=="number"?(p9=!0,ee=F0):(p9=!1,ee=F0.length);var i6=typeof i1=="string"?i1:null;if(E6=w1==4?_2:[typeof jo=="function"?jo:w4,iA,w4,er][w1===void 0?2:w1](Math.max(ee,i6?1:i1.length)),p9){for(_2=E6,yr((3&E6)==0),w8=E6+(-4&ee);_2>2]=0;for(w8=E6+ee;_2>0]=0;return E6}if(i6==="i8")return F0.subarray||F0.slice?p.set(F0,E6):p.set(new Uint8Array(F0),E6),E6;for(var p9,ee,E6,w8,H4,rt,M4,E9=0;E9>0],(_2!=0||i1)&&(ee++,!i1||ee!=i1););i1||(i1=ee);var E6="";if(p9<128){for(;i1>0;)i6=String.fromCharCode.apply(String,p.subarray(F0,F0+Math.min(i1,1024))),E6=E6?E6+i6:i6,F0+=1024,i1-=1024;return E6}return w1=F0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Op)return Op.decode(H4.subarray(rt,M4));for(var E9,Ui,O7,v8,Pi,q7,H7="";;){if(!(E9=H4[rt++]))return H7;if(!(128&E9)){H7+=String.fromCharCode(E9);continue}if(Ui=63&H4[rt++],(224&E9)==192){H7+=String.fromCharCode((31&E9)<<6|Ui);continue}if(O7=63&H4[rt++],(240&E9)==224?E9=(15&E9)<<12|Ui<<6|O7:(v8=63&H4[rt++],(248&E9)==240?E9=(7&E9)<<18|Ui<<12|O7<<6|v8:(Pi=63&H4[rt++],E9=(252&E9)==248?(3&E9)<<24|Ui<<18|O7<<12|v8<<6|Pi:(1&E9)<<30|Ui<<24|O7<<18|v8<<12|Pi<<6|(q7=63&H4[rt++]))),E9<65536)H7+=String.fromCharCode(E9);else{var On=E9-65536;H7+=String.fromCharCode(55296|On>>10,56320|1023&On)}}}(p,w1)}function QB(F0){for(var i1="";;){var w1=u[F0++>>0];if(!w1)return i1;i1+=String.fromCharCode(w1)}}function zo(F0,i1){return function(_2,i6,p9){for(var ee=0;ee<_2.length;++ee)u[i6++>>0]=_2.charCodeAt(ee);p9||(u[i6>>0]=0)}(F0,i1,!1)}var Op=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Un(F0,i1,w1,_2){if(!(_2>0))return 0;for(var i6=w1,p9=w1+_2-1,ee=0;ee=55296&&E6<=57343&&(E6=65536+((1023&E6)<<10)|1023&F0.charCodeAt(++ee)),E6<=127){if(w1>=p9)break;i1[w1++]=E6}else if(E6<=2047){if(w1+1>=p9)break;i1[w1++]=192|E6>>6,i1[w1++]=128|63&E6}else if(E6<=65535){if(w1+2>=p9)break;i1[w1++]=224|E6>>12,i1[w1++]=128|E6>>6&63,i1[w1++]=128|63&E6}else if(E6<=2097151){if(w1+3>=p9)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>=p9)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>=p9)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 qp(F0,i1,w1){return Un(F0,p,i1,w1)}function Jo(F0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&F0.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 Hp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function wB(F0){for(var i1=F0,w1=i1>>1;R[w1];)++w1;if((i1=w1<<1)-F0>32&&Hp)return Hp.decode(p.subarray(F0,i1));for(var _2=0,i6="";;){var p9=R[F0+2*_2>>1];if(p9==0)return i6;++_2,i6+=String.fromCharCode(p9)}}function vB(F0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<2)return 0;for(var _2=i1,i6=(w1-=2)<2*F0.length?w1/2:F0.length,p9=0;p9>1]=ee,i1+=2}return R[i1>>1]=0,i1-_2}function kB(F0){return 2*F0.length}function SB(F0){for(var i1=0,w1="";;){var _2=U[F0+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 bB(F0,i1,w1){if(w1===void 0&&(w1=2147483647),w1<4)return 0;for(var _2=i1,i6=_2+w1-4,p9=0;p9=55296&&ee<=57343&&(ee=65536+((1023&ee)<<10)|1023&F0.charCodeAt(++p9)),U[i1>>2]=ee,(i1+=4)+4>i6)break}return U[i1>>2]=0,i1-_2}function DB(F0){for(var i1=0,w1=0;w1=55296&&_2<=57343&&++w1,i1+=4}return i1}function _B(F0){var i1=Jo(F0)+1,w1=jo(i1);return w1&&Un(F0,u,w1,i1),w1}function xB(F0){var i1=Jo(F0)+1,w1=iA(i1);return Un(F0,u,w1,i1),w1}function Vp(F0){return F0}function IC(){var F0,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()),(F0=i1).replace(/__Z[\w\d_]+/g,function(w1){var _2,i6=_2=w1;return w1===i6?w1:w1+" ["+i6+"]"})}function Su(F0,i1){return F0%i1>0&&(F0+=i1-F0%i1),F0}function Yp(F0){a0.buffer=c=F0}function X9(){a0.HEAP8=u=new Int8Array(c),a0.HEAP16=R=new Int16Array(c),a0.HEAP32=U=new Int32Array(c),a0.HEAPU8=p=new Uint8Array(c),a0.HEAPU16=q=new Uint16Array(c),a0.HEAPU32=N=new Uint32Array(c),a0.HEAPF32=k0=new Float32Array(c),a0.HEAPF64=v=new Float64Array(c)}function Zr(){var F0=a0.usingWasm?65536:16777216,i1=2147483648-F0;if(U[u2>>2]>i1)return!1;var w1=G9;for(G9=Math.max(G9,16777216);G9>2];)G9=G9<=536870912?Su(2*G9,F0):Math.min(Su((3*G9+2147483648)/4,F0),i1);var _2=a0.reallocBuffer(G9);return _2&&_2.byteLength==G9?(Yp(_2),X9(),!0):(G9=w1,!1)}T=P=I1=g1=j1=z1=u2=0,G0=!1,a0.reallocBuffer||(a0.reallocBuffer=function(F0){try{if(ArrayBuffer.transfer)i1=ArrayBuffer.transfer(c,F0);else{var i1,w1=u;i1=new ArrayBuffer(F0),new Int8Array(i1).set(w1)}}catch{return!1}return!!EC(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 O$=a0.TOTAL_STACK||5242880,G9=a0.TOTAL_MEMORY||16777216;function q$(){return G9}function Ko(F0){for(;F0.length>0;){var i1=F0.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)}}G9=0?F0:i1<=32?2*Math.abs(1<=_2&&(i1<=32||F0>_2)&&(F0=-2*_2+F0),F0}var Du=Math.abs,K$=Math.ceil,_u=Math.floor,xu=Math.min,Pn=0,Lu=null,Zo=null;function LB(F0){return F0}a0.preloadedImages={},a0.preloadedAudios={};var Kp="data:application/octet-stream;base64,";function W$(F0){return String.prototype.startsWith?F0.startsWith(Kp):F0.indexOf(Kp)===0}(function(){var i1="main.wast",w1="main.wasm",_2="main.temp.asm.js";W$(i1)||(i1=N9(i1)),W$(w1)||(w1=N9(w1)),W$(_2)||(_2=N9(_2));var i6={global:null,env:null,asm2wasm:Xa,parent:a0},p9=null;function ee(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 w8=a0.reallocBuffer,H4=function(M4){M4=Su(M4,a0.usingWasm?65536:16777216);var E9=a0.buffer.byteLength;if(a0.usingWasm)try{var Ui=a0.wasmMemory.grow((M4-E9)/65536);return Ui!==-1?a0.buffer=a0.wasmMemory.buffer:null}catch{return null}};a0.reallocBuffer=function(M4){return rt==="asmjs"?w8(M4):H4(M4)};var rt="";a0.asm=function(M4,E9,Ui){var O7;if(!(E9=O7=E9).table){var v8,Pi=a0.wasmTableSize;Pi===void 0&&(Pi=1024);var q7=a0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?q7!==void 0?E9.table=new WebAssembly.Table({initial:Pi,maximum:q7,element:"anyfunc"}):E9.table=new WebAssembly.Table({initial:Pi,element:"anyfunc"}):E9.table=Array(Pi),a0.wasmTable=E9.table}return E9.memoryBase||(E9.memoryBase=a0.STATIC_BASE),E9.tableBase||(E9.tableBase=0),v8=function(On,Qr,Zp){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(wr,ir){if((p9=wr.exports).memory){var rA,Xo,es;rA=p9.memory,Xo=a0.buffer,rA.byteLength0?w1:Jo(F0)+1,i6=Array(_2),p9=Un(F0,i6,0,i6.length);return i1&&(i6.length=p9),i6}function pC(F0){for(var i1=[],w1=0;w1255&&(_2&=255),i1.push(String.fromCharCode(_2))}return i1.join("")}P+=16,u2=w4(4),j1=(I1=g1=q8(P))+O$,z1=q8(j1),U[u2>>2]=z1,G0=!0,a0.wasmTableSize=4,a0.wasmMaxTableSize=4,a0.asmGlobalArg={},a0.asmLibraryArg={abort:tr,assert:yr,enlargeMemory:Zr,getTotalMemory:q$,abortOnCannotGrowMemory:function(){tr("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+G9+", (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=Wp();try{return a0.dynCall_iii(i1,w1,_2)}catch(p9){if(Z$(i6),typeof p9!="number"&&p9!=="longjmp")throw p9;a0.setThrew(1,0)}},___assert_fail:function(i1,w1,_2,i6){tr("Assertion failed: "+P$(i1)+", at: "+[w1?P$(w1):"unknown filename",_2,i6?P$(i6):"unknown function"])},___setErrNo:function(i1){return a0.___errno_location&&(U[a0.___errno_location()>>2]=i1),i1},_abort:function(){a0.abort()},_emscripten_memcpy_big:function(i1,w1,_2){return p.set(p.subarray(w1,w1+_2),i1),i1},_llvm_floor_f64:_u,DYNAMICTOP_PTR:u2,tempDoublePtr:Gi,ABORT:eA,STACKTOP:g1,STACK_MAX:j1};var en=a0.asm(a0.asmGlobalArg,a0.asmLibraryArg,c);a0.asm=en,a0.___errno_location=function(){return a0.asm.___errno_location.apply(null,arguments)};var EC=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 jo=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)},Z$=a0.stackRestore=function(){return a0.asm.stackRestore.apply(null,arguments)},Wp=a0.stackSave=function(){return a0.asm.stackSave.apply(null,arguments)};function j$(F0){this.name="ExitStatus",this.message="Program terminated with exit("+F0+")",this.status=F0}function X$(F0){F0=F0||a0.arguments,!(Pn>0)&&(function(){if(a0.preRun)for(typeof a0.preRun=="function"&&(a0.preRun=[a0.preRun]);a0.preRun.length;)mC(a0.preRun.shift());Ko(jr)}(),!(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||(Y$||(Y$=!0,Ko(H$)),Ko(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());Ko(V$)}()))}}function CC(F0,i1){(!i1||!a0.noExitRuntime||F0!==0)&&(a0.noExitRuntime||(eA=!0,vu=F0,g1=L2,Ko(S7),U7=!0,a0.onExit&&a0.onExit(F0)),a0.quit(F0,new j$(F0)))}function tr(F0){throw a0.onAbort&&a0.onAbort(F0),F0!==void 0?(E3(F0),p6(F0),F0=JSON.stringify(F0)):F0="",eA=!0,vu=1,"abort("+F0+"). Build with -s ASSERTIONS=1 for more info."}if(a0.dynCall_iii=function(){return a0.asm.dynCall_iii.apply(null,arguments)},a0.asm=en,a0.ccall=ku,a0.cwrap=function(i1,w1,_2,i6){var p9=(_2=_2||[]).every(function(ee){return ee==="number"});return w1!=="string"&&p9&&!i6?tA(i1):function(){return ku(i1,w1,_2,arguments,i6)}},j$.prototype=Error(),j$.prototype.constructor=j$,Zo=function F0(){a0.calledRun||X$(),a0.calledRun||(Zo=F0)},a0.run=X$,a0.abort=tr,a0.preInit)for(typeof a0.preInit=="function"&&(a0.preInit=[a0.preInit]);a0.preInit.length>0;)a0.preInit.pop()();a0.noExitRuntime=!0,X$(),a0.onRuntimeInitialized=()=>{Bk=!0,yk()},Za.decode=function(F0){return function(w1){if(!Bk)throw Error("Not initialized");var _2={};function i6(Qr){return new Int32Array(a0.HEAPU8.buffer,Qr,1)[0]}function p9(Qr,Zp){var Mu=new ArrayBuffer(Zp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Mu);return bt.set(new Float32Array(a0.HEAPU8.buffer,Qr,Zp)),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 ee,E6,w8,H4,rt=_2.open(),M4=(ee=w1,E6=w1.byteLength,w8=a0._malloc(E6),(H4=new Uint8Array(a0.HEAPU8.buffer,w8,E6)).set(new Uint8Array(ee,0,E6)),H4),E9=a0._malloc(4),Ui=a0._malloc(4),O7=_2.decode(rt,M4.byteOffset,M4.byteLength,E9,Ui);if(a0._free(M4.byteOffset),O7<0)throw _2.close(rt),a0._free(E9),Error("stbvorbis decode failed: "+O7);for(var v8=_2.channels(rt),Pi=Array(v8),q7=new Int32Array(a0.HEAPU32.buffer,i6(E9),v8),H7=0;H7n.chunkData.currentIndex;){let p=I_(u,n.chunkData,i,A);c.push(p),u++}return c.length>1&&c.pop(),c}function I_(n,i,A,c){let u=y4(i,20),p=s3(i,4)*2,R=s3(i,4)*2,q=s3(i,4),U=s3(i,4),N=s3(i,4),k0=i[i.currentIndex++];k0===255&&(k0=60);let v=PQ(i[i.currentIndex++]),T=s3(i,2),P=s3(i,2);return new cB(u,p,R,q,U,N,k0,v,T,P,A,n,c)}var gB=class extends j3{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 uB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new gB(n.chunkData));return i.length>1&&i.pop(),i}var hB=class extends Ja{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new hB(n);if(A.length>0){let u=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(u,i)}A.push(c)}return A.length>1&&A.pop(),A}var dB=class extends k7{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(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;Ac.generatorType===f0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===f0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===f0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function vk(n,i,A,c){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new dB(n.chunkData);if(u.length>0){let R=p.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,q=p.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(R,q),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(A),u[u.length-1].getSample(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(p)}return u.length>1&&u.pop(),u}var fB=class extends Ya{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(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;Ac.generatorType===f0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===f0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===f0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function kk(n,i,A,c){let u=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new fB(n.chunkData);if(u.length>0){let R=p.modulatorZoneStartIndex-u[u.length-1].modulatorZoneStartIndex,q=p.generatorZoneStartIndex-u[u.length-1].generatorZoneStartIndex;u[u.length-1].setZoneSize(R,q),u[u.length-1].getGenerators(i),u[u.length-1].getModulators(A),u[u.length-1].getInstrument(c),u[u.length-1].getKeyRange(),u[u.length-1].getVelRange()}u.push(p)}return u.length>1&&u.pop(),u}var IB=class extends Ka{constructor(i,A){super(A),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let u=new IB(n,A);if(c.length>0){let p=u.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(u)}return c.length>1&&c.pop(),c}var mB=class extends l9{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ua(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function lC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new mB(n.chunkData));return i}var cC=class extends Wa{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new K5(i),F7("%cParsing SoundFont...",E1.info),this.dataArray||(u9(),this.parsingError("No data provided!"));let c=Be(this.dataArray,!1);this.verifyHeader(c,"riff");let u=y4(this.dataArray,4).toLowerCase();if(u!=="sfbk"&&u!=="sfpk")throw u9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${u}"`);let p=u==="sfpk",R=Be(this.dataArray);for(this.verifyHeader(R,"list"),y4(R.chunkData,4);R.chunkData.length>R.chunkData.currentIndex;){let u6=Be(R.chunkData),S3;switch(u6.header.toLowerCase()){case"ifil":case"iver":S3=`${s3(u6.chunkData,2)}.${s3(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 c9=lC(u6);c9.pop(),S3=`Modulators: ${c9.length}`;let N9=this.defaultModulators;this.defaultModulators=c9,this.defaultModulators.push(...N9.filter(E3=>!this.defaultModulators.find(p6=>l9.isIdentical(E3,p6)))),this.soundFontInfo[u6.header]=u6.chunkData;break;default:S3=y4(u6.chunkData,u6.chunkData.length),this.soundFontInfo[u6.header]=S3}_5(`%c"${u6.header}": %c"${S3}"`,E1.info,E1.recognized)}let q=Be(this.dataArray,!1);this.verifyHeader(q,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),_5("%cVerifying smpl chunk...",E1.warn);let U=Be(this.dataArray,!1);this.verifyHeader(U,"smpl");let N;if(p){_5("%cSF2Pack detected, attempting to decode the smpl chunk...",E1.info);try{N=Za.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+q.size-12)).data[0]}catch(u6){throw u9(),new Error(`SF2Pack Ogg Vorbis decode error: ${u6}`)}_5(`%cDecoded the smpl chunk! Length: %c${N.length}`,E1.info,E1.value)}else N=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;_5(`%cSkipping sample chunk, length: %c${q.size-12}`,E1.info,E1.value),this.dataArray.currentIndex+=q.size-12,_5("%cLoading preset data chunk...",E1.warn);let k0=Be(this.dataArray);this.verifyHeader(k0,"list"),y4(k0.chunkData,4);let v=Be(k0.chunkData);this.verifyHeader(v,"phdr");let T=Be(k0.chunkData);this.verifyHeader(T,"pbag");let P=Be(k0.chunkData);this.verifyHeader(P,"pmod");let G0=Be(k0.chunkData);this.verifyHeader(G0,"pgen");let I1=Be(k0.chunkData);this.verifyHeader(I1,"inst");let g1=Be(k0.chunkData);this.verifyHeader(g1,"ibag");let j1=Be(k0.chunkData);this.verifyHeader(j1,"imod");let z1=Be(k0.chunkData);this.verifyHeader(z1,"igen");let u2=Be(k0.chunkData);this.verifyHeader(u2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Qk(u2,N,!p));let P2=uB(z1),L2=lC(j1),a0=vk(g1,P2,L2,this.samples);this.instruments=wk(I1,a0);let g5=uB(G0),p3=lC(P),k3=kk(T,g5,p3,this.instruments);this.presets.push(...Sk(v,k3,this.defaultModulators)),this.presets.sort((u6,S3)=>u6.program-S3.program+(u6.bank-S3.bank)),_5(`%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.`,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info,E1.recognized,E1.info),u9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(u9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Vo(n){let i=n.slice(8,12),A=new K5(i);return y4(A,4,void 0,!1).toLowerCase()==="dls "?new Ho(n):new cC(n,!1)}async function bk(){let n="locale.exportAudio.formats.formats.soundfont.options.";c4(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,c=i.div.querySelector("input[compress-toggle='1']").checked,u=parseInt(i.div.querySelector("input[type='range']").value)/10;_e(i.id),F7("%cExporting minified soundfont...",E1.info);let p=await this.seq.getMIDI(),R=Vo(p.embeddedSoundFont||this.soundFont);Pa(p,await this.synth.getSynthesizerSnapshot()),A&&wu(R,p);let q=R.write({compress:c,compressionQuality:u,compressionFunction:this.compressionFunc}),U=new Blob([q.buffer],{type:"audio/soundfont"}),N=R.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(U,`${R.soundFontInfo.INAM||"unnamed"}.${N}`),u9()}}],99999999,!0,this.localeManager)}async function Dk(){let n="locale.exportAudio.formats.";c4(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{_e(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{_e(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{_e(i.id);try{this._exportSoundfont()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{_e(i.id);try{this._exportDLS()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{_e(i.id);try{this._exportRMIDI()}catch{c4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function _k(){let n=(v,T,P)=>this.seq.midiData.RMIDInfo?.[v]===void 0?T:P.decode(this.seq.midiData.RMIDInfo?.[v]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),u=n("IART","",A),p=n("IGNR","",A),R=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),q="locale.exportAudio.formats.formats.rmidi.options.",U="locale.exportAudio.formats.metadata.",k0=c4(this.localeManager.getLocaleString(q+"title"),[{type:"toggle",translatePathTitle:q+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:q+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:U+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:U+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:U+"artist",attributes:{value:u,name:"artist",type:"text"}},{type:"input",translatePathTitle:U+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:U+"comment",attributes:{value:R,name:"comment",type:"text"}},{type:"file",translatePathTitle:U+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:q+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:q+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(q+"confirm"),onClick:async v=>{let T=v.div.querySelector("input[compress-toggle='1']").checked,P=parseInt(v.div.querySelector("input[type='range']").value)/10,G0=v.div.querySelector("input[name='album']").value,I1=v.div.querySelector("input[name='artist']").value,g1=v.div.querySelector("input[name='song_title']").value,j1=v.div.querySelector("input[name='comment']").value,z1=v.div.querySelector("input[name='genre']").value,u2=parseInt(v.div.querySelector("input[name='bank_offset']").value),P2=v.div.querySelector("input[name='adjust']").checked,L2=v.div.querySelector("input[type='file']")?.files[0];_e(v.id),Q8("%cExporting RMIDI...",E1.info);let a0="locale.exportAudio.formats.formats.rmidi.progress.",g5=c4(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=Vo(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:T,compressionQuality:P,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(a0+"saving"),await new Promise(p6=>setTimeout(p6,75));let c9;L2?.type.split("/")[0]==="image"?c9=await L2.arrayBuffer():k3.RMIDInfo?.IPIC!==void 0&&(c9=k3.RMIDInfo.IPIC.buffer);let N9=GE(S3,k3,u6,u2,this.seqUI.encoding,{name:g1,comment:j1,engineer:u6.soundFontInfo.IENG,picture:c9,album:G0.length>0?G0:void 0,artist:I1.length>0?I1:void 0,genre:z1.length>0?z1:void 0,midiEncoding:this.seqUI.encoding},P2),E3=new Blob([N9.buffer],{type:"audio/rmid"});this.saveBlob(E3,`${g1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(a0+"done"),_e(g5.id),u9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");k0.oninput=()=>{k0.files[0]&&(k0.parentElement.firstChild.textContent=k0.files[0].name)}}var xk="synthetizer/worklet_processor.min.js";var gC={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 c=typeof window=="object",u=typeof process=="object"&&typeof QE=="function"&&!c,p=typeof importScripts=="function",R=!c&&!u&&!p;if(u){n.print||(n.print=function(l){process.stdout.write(l+` `)}),n.printErr||(n.printErr=function(l){process.stderr.write(l+` -`)});var q=void 0,U=void 0;n.read=function(l,h){l=U.normalize(l);var f=q.readFileSync(l);return!f&&l!=U.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=q.readFileSync(l)),f&&!h&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){k0(read(l))},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(R)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(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var h=read(l,"binary");return Ne(typeof h=="object"),h},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var h=new XMLHttpRequest;return h.open("GET",l,!1),h.send(null),h.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var N=!1;n.print||(n.print=N&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function k0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){k0(n.read(l))}),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 v={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 v.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return Ne(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(v.getNativeTypeSize(r),v.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(Ne((r&7)===4),r+=4):Ne((r&3)===0),r},getAlignSize:function(r,l,h){return!h&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?v.getNativeFieldSize(r):0),v.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,l),n["dynCall_"+r].apply(null,h)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l=Wo){var h=IC();if(!h)return U7=l,0}return l},alignMemory:function(r,l){var h=r=Math.ceil(r/(l||16))*(l||16);return h},makeBigInt:function(r,l,h){var f=h?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=v;var T=0,P=!1,G0=0,I1=0,g1,j1,z1,u2,P2,L2,a0,g5,p3,k3,u6,S3,c9,N9,E3,p6,w4,er,q8,ja,Br,Xa,N$,uC,hC;function Ne(r,l){r||ts("Assertion failed: "+l)}var Nk=this;function dC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return Ne(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var G$,eA;(function(){var r={stackSave:function(){v.stackSave()},stackRestore:function(){v.stackRestore()},arrayToC:function(e1){var n1=v.stackAlloc(e1.length);return iA(e1,n1),n1},stringToC:function(e1){var n1=0;return e1!=null&&e1!==0&&(n1=v.stackAlloc((e1.length<<2)+1),jo(e1,n1)),n1}},l={string:r.stringToC,array:r.arrayToC};eA=function(n1,x2,s,l1,C){var k5=dC(n1),w2=[],P5=0;if(l1)for(var U9=0;U9>0]=l;break;case"i8":X9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":G9[r>>2]=l;break;case"i64":N9=[l>>>0,(S3=l,+X$(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+w8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],G9[r>>2]=N9[0],G9[r+4>>2]=N9[1];break;case"float":tl[r>>2]=l;break;case"double":q$[r>>3]=l;break;default:ts("invalid type for setValue: "+h)}}n.setValue=vu;function yr(r,l,h){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return X9[r>>0];case"i8":return X9[r>>0];case"i16":return Zr[r>>1];case"i32":return G9[r>>2];case"i64":return G9[r>>2];case"float":return tl[r>>2];case"double":return q$[r>>3];default:ts("invalid type for setValue: "+l)}return null}n.getValue=yr;var tA=0,Pp=1,Yo=2,ku=3,q3=4;n.ALLOC_NORMAL=tA,n.ALLOC_STACK=Pp,n.ALLOC_STATIC=Yo,n.ALLOC_DYNAMIC=ku,n.ALLOC_NONE=q3;function B3(r,l,h,f){var z,e;typeof r=="number"?(z=!0,e=r):(z=!1,e=r.length);var e1=typeof l=="string"?l:null,n1;if(h==q3?n1=f:n1=[Ru,v.stackAlloc,v.staticAlloc,v.dynamicAlloc][h===void 0?Yo:h](Math.max(e,e1?1:l.length)),z){var f=n1,x2;for(Ne((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 s=0,l1,C,k5;s>0],h|=f,!(f==0&&!l||(z++,l&&z==l)););l||(l=z);var e="";if(h<128){for(var e1=1024,n1;l>0;)n1=String.fromCharCode.apply(String,b7.subarray(r,r+Math.min(l,e1))),e=e?e+n1:n1,r+=e1,l-=e1;return e}return n.UTF8ToString(r)}n.Pointer_stringify=U$;function P$(r){for(var l="";;){var h=X9[r++>>0];if(!h)return l;l+=String.fromCharCode(h)}}n.AsciiToString=P$;function QB(r,l){return Z$(r,l,!1)}n.stringToAscii=QB;function zo(r,l){for(var h,f,z,e,e1,n1,x2="";;){if(h=r[l++],!h)return x2;if(!(h&128)){x2+=String.fromCharCode(h);continue}if(f=r[l++]&63,(h&224)==192){x2+=String.fromCharCode((h&31)<<6|f);continue}if(z=r[l++]&63,(h&240)==224?h=(h&15)<<12|f<<6|z:(e=r[l++]&63,(h&248)==240?h=(h&7)<<18|f<<12|z<<6|e:(e1=r[l++]&63,(h&252)==248?h=(h&3)<<24|f<<18|z<<12|e<<6|e1:(n1=r[l++]&63,h=(h&1)<<30|f<<24|z<<18|e<<12|e1<<6|n1))),h<65536)x2+=String.fromCharCode(h);else{var s=h-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=zo;function Op(r){return zo(b7,r)}n.UTF8ToString=Op;function Un(r,l,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;l[h++]=n1}else if(n1<=2047){if(h+1>=e)break;l[h++]=192|n1>>6,l[h++]=128|n1&63}else if(n1<=65535){if(h+2>=e)break;l[h++]=224|n1>>12,l[h++]=128|n1>>6&63,l[h++]=128|n1&63}else if(n1<=2097151){if(h+3>=e)break;l[h++]=240|n1>>18,l[h++]=128|n1>>12&63,l[h++]=128|n1>>6&63,l[h++]=128|n1&63}else if(n1<=67108863){if(h+4>=e)break;l[h++]=248|n1>>24,l[h++]=128|n1>>18&63,l[h++]=128|n1>>12&63,l[h++]=128|n1>>6&63,l[h++]=128|n1&63}else{if(h+5>=e)break;l[h++]=252|n1>>30,l[h++]=128|n1>>24&63,l[h++]=128|n1>>18&63,l[h++]=128|n1>>12&63,l[h++]=128|n1>>6&63,l[h++]=128|n1&63}}return l[h]=0,h-z}n.stringToUTF8Array=Un;function qp(r,l,h){return Un(r,b7,l,h)}n.stringToUTF8=qp;function Jo(r){for(var l=0,h=0;h=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++h)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=Jo;function Hp(r){for(var l=0,h="";;){var f=Zr[r+l*2>>1];if(f==0)return h;++l,h+=String.fromCharCode(f)}}n.UTF16ToString=Hp;function wB(r,l,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var f=l,z=h>1]=e1,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=wB;function vB(r){return r.length*2}n.lengthBytesUTF16=vB;function kB(r){for(var l=0,h="";;){var f=G9[r+l*4>>2];if(f==0)return h;if(++l,f>=65536){var z=f-65536;h+=String.fromCharCode(55296|z>>10,56320|z&1023)}else h+=String.fromCharCode(f)}}n.UTF32ToString=kB;function SB(r,l,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var f=l,z=f+h-4,e=0;e=55296&&e1<=57343){var n1=r.charCodeAt(++e);e1=65536+((e1&1023)<<10)|n1&1023}if(G9[l>>2]=e1,l+=4,l+4>z)break}return G9[l>>2]=0,l-f}n.stringToUTF32=SB;function bB(r){for(var l=0,h=0;h=55296&&f<=57343&&++h,l+=4}return l}n.lengthBytesUTF32=bB;function DB(r){var l=!!n.___cxa_demangle;if(l)try{var h=Ru(r.length);jo(r.substr(1),h);var f=Ru(4),z=n.___cxa_demangle(h,0,0,f);if(yr(f,"i32")===0&&z)return U$(z)}catch{}finally{h&&BC(h),f&&BC(f),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 s(w2){w2&&n.print(w2),n.print(r);for(var P5="",U9=0;U9"}else W9=ie;e:for(;e0;){var vr=r[e++];if(vr in e1)ye.push(e1[vr]);else switch(vr){case"P":ye.push(C(!0,1,!0)[0]+"*");break;case"R":ye.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var rl=r.indexOf("E",e),It=rl-e;ye.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++,ye.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:W9+="?"+vr;break e}}return!U9&&ye.length===1&&ye[0]==="void"&&(ye=[]),w2?(W9&&ye.push(W9+"?"),ye):W9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=U$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&v.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function _B(r){return r.replace(/__Z[\w\d_]+/g,function(l){var h=DB(l);return l===h?l:l+" ["+h+"]"})}function xB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Vp(){return _B(xB())}n.stackTrace=Vp;var fC=4096;function Su(r){return r%4096>0&&(r+=4096-r%4096),r}var Yp,X9,b7,Zr,O$,G9,el,tl,q$,Ko=0,jr=0,H$=!1,bu=0,S7=0,V$=0,Y$=0,U7=0;function IC(){ts("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Wo+", (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 zp=n.TOTAL_STACK||5242880,Wo=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var h=l.func;typeof h=="number"?l.arg===void 0?v.dynCall("v",h):v.dynCall("vi",h,[l.arg]):h(l.arg===void 0?null:l.arg)}}var Jp=[],J$=[],Du=[],K$=[],_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());z$(Jp)}function Zo(){xu||(xu=!0,z$(J$))}function LB(){z$(Du)}function Kp(){z$(K$),Pn=!0}function W$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)mC(n.postRun.shift());z$(_u)}function Gi(r){Jp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function MB(r){J$.unshift(r)}n.addOnInit=n.addOnInit=MB;function RB(r){Du.unshift(r)}n.addOnPreMain=n.addOnPreMain=RB;function FB(r){K$.unshift(r)}n.addOnExit=n.addOnExit=FB;function mC(r){_u.unshift(r)}n.addOnPostRun=n.addOnPostRun=mC;function en(r,l,h){var f=h>0?h:Jo(r)+1,z=new Array(f),e=Un(r,z,0,z.length);return l&&(z.length=e),z}n.intArrayFromString=en;function pC(r){for(var l=[],h=0;h255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=pC;function jo(r,l,h){for(var f=en(r,h),z=0;z>0]=e,z=z+1}}n.writeStringToMemory=jo;function iA(r,l){for(var h=0;h>0]=r[h]}n.writeArrayToMemory=iA;function Z$(r,l,h){for(var f=0;f>0]=r.charCodeAt(f);h||(X9[l>>0]=0)}n.writeAsciiToMemory=Z$;function Wp(r,l,h){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,h){var f=l>>>16,z=l&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 l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var X$=Math.abs,EC=Math.cos,tr=Math.sin,F0=Math.tan,i1=Math.acos,w1=Math.asin,_2=Math.atan,i6=Math.atan2,p9=Math.exp,ee=Math.log,E6=Math.sqrt,w8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,E9=Math.fround,Ui=Math.min,O7=Math.clz32,v8=0,Pi=null,q7=null;function H7(r){return r}function On(r){v8++,n.monitorRunDependencies&&n.monitorRunDependencies(v8)}n.addRunDependency=On;function Qr(r){if(v8--,n.monitorRunDependencies&&n.monitorRunDependencies(v8),v8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),q7)){var l=q7;q7=null,l()}}n.removeRunDependency=Qr,n.preloadedImages={},n.preloadedAudios={};var Zp=null,Mu=[];Ko=8,jr=Ko+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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+41032),B3([1],"i8",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+72464),B3([1],"i8",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+551416);var bt=v.alignMemory(B3(12,"i8",Yo),8);Ne(bt%8==0);function CC(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3]}function wr(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3],X9[bt+4]=X9[r+4],X9[bt+5]=X9[r+5],X9[bt+6]=X9[r+6],X9[bt+7]=X9[r+7]}var ir=EC,rA=X$,Xo=0;function es(r){return G9[Xo>>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 TB(r){switch(r){case 30:return fC;case 85:return Xr/fC;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 es(N2.EINVAL),-1}n._memset=pS;var NB=!0;n._strlen=dS,n._strcat=fS,n._bitshift64Shl=yS;function Gk(){n.abort()}n._i64Add=IS;var Uk=H4,Pk={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,l){qn.ttys[r]={input:[],output:[],ops:l},S.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var l=qn.ttys[r.node.rdev];if(!l)throw new S.ErrnoError(N2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,h,f,z){if(!r.tty||!r.tty.ops.get_char)throw new S.ErrnoError(N2.ENXIO);for(var e=0,e1=0;e10?l=f.slice(0,z).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` +`)});var q=void 0,U=void 0;n.read=function(l,h){l=U.normalize(l);var f=q.readFileSync(l);return!f&&l!=U.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=q.readFileSync(l)),f&&!h&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){k0(read(l))},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(R)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(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var h=read(l,"binary");return Ne(typeof h=="object"),h},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var h=new XMLHttpRequest;return h.open("GET",l,!1),h.send(null),h.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var N=!1;n.print||(n.print=N&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function k0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){k0(n.read(l))}),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 v={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 v.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return Ne(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(v.getNativeTypeSize(r),v.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(Ne((r&7)===4),r+=4):Ne((r&3)===0),r},getAlignSize:function(r,l,h){return!h&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?v.getNativeFieldSize(r):0),v.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,h){return h&&h.length?(h.splice||(h=Array.prototype.slice.call(h)),h.splice(0,0,l),n["dynCall_"+r].apply(null,h)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l=Wo){var h=mC();if(!h)return U7=l,0}return l},alignMemory:function(r,l){var h=r=Math.ceil(r/(l||16))*(l||16);return h},makeBigInt:function(r,l,h){var f=h?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=v;var T=0,P=!1,G0=0,I1=0,g1,j1,z1,u2,P2,L2,a0,g5,p3,k3,u6,S3,c9,N9,E3,p6,w4,er,q8,ja,Br,Xa,N$,hC,dC;function Ne(r,l){r||ts("Assertion failed: "+l)}var Nk=this;function fC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return Ne(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var G$,eA;(function(){var r={stackSave:function(){v.stackSave()},stackRestore:function(){v.stackRestore()},arrayToC:function(e1){var n1=v.stackAlloc(e1.length);return iA(e1,n1),n1},stringToC:function(e1){var n1=0;return e1!=null&&e1!==0&&(n1=v.stackAlloc((e1.length<<2)+1),jo(e1,n1)),n1}},l={string:r.stringToC,array:r.arrayToC};eA=function(n1,x2,s,l1,C){var k5=fC(n1),w2=[],P5=0;if(l1)for(var U9=0;U9>0]=l;break;case"i8":X9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":G9[r>>2]=l;break;case"i64":N9=[l>>>0,(S3=l,+X$(S3)>=1?S3>0?(Ui(+H4(S3/4294967296),4294967295)|0)>>>0:~~+w8((S3-+(~~S3>>>0))/4294967296)>>>0:0)],G9[r>>2]=N9[0],G9[r+4>>2]=N9[1];break;case"float":tl[r>>2]=l;break;case"double":q$[r>>3]=l;break;default:ts("invalid type for setValue: "+h)}}n.setValue=vu;function yr(r,l,h){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return X9[r>>0];case"i8":return X9[r>>0];case"i16":return Zr[r>>1];case"i32":return G9[r>>2];case"i64":return G9[r>>2];case"float":return tl[r>>2];case"double":return q$[r>>3];default:ts("invalid type for setValue: "+l)}return null}n.getValue=yr;var tA=0,Pp=1,Yo=2,ku=3,q3=4;n.ALLOC_NORMAL=tA,n.ALLOC_STACK=Pp,n.ALLOC_STATIC=Yo,n.ALLOC_DYNAMIC=ku,n.ALLOC_NONE=q3;function B3(r,l,h,f){var z,e;typeof r=="number"?(z=!0,e=r):(z=!1,e=r.length);var e1=typeof l=="string"?l:null,n1;if(h==q3?n1=f:n1=[Ru,v.stackAlloc,v.staticAlloc,v.dynamicAlloc][h===void 0?Yo:h](Math.max(e,e1?1:l.length)),z){var f=n1,x2;for(Ne((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 s=0,l1,C,k5;s>0],h|=f,!(f==0&&!l||(z++,l&&z==l)););l||(l=z);var e="";if(h<128){for(var e1=1024,n1;l>0;)n1=String.fromCharCode.apply(String,b7.subarray(r,r+Math.min(l,e1))),e=e?e+n1:n1,r+=e1,l-=e1;return e}return n.UTF8ToString(r)}n.Pointer_stringify=U$;function P$(r){for(var l="";;){var h=X9[r++>>0];if(!h)return l;l+=String.fromCharCode(h)}}n.AsciiToString=P$;function QB(r,l){return Z$(r,l,!1)}n.stringToAscii=QB;function zo(r,l){for(var h,f,z,e,e1,n1,x2="";;){if(h=r[l++],!h)return x2;if(!(h&128)){x2+=String.fromCharCode(h);continue}if(f=r[l++]&63,(h&224)==192){x2+=String.fromCharCode((h&31)<<6|f);continue}if(z=r[l++]&63,(h&240)==224?h=(h&15)<<12|f<<6|z:(e=r[l++]&63,(h&248)==240?h=(h&7)<<18|f<<12|z<<6|e:(e1=r[l++]&63,(h&252)==248?h=(h&3)<<24|f<<18|z<<12|e<<6|e1:(n1=r[l++]&63,h=(h&1)<<30|f<<24|z<<18|e<<12|e1<<6|n1))),h<65536)x2+=String.fromCharCode(h);else{var s=h-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=zo;function Op(r){return zo(b7,r)}n.UTF8ToString=Op;function Un(r,l,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;l[h++]=n1}else if(n1<=2047){if(h+1>=e)break;l[h++]=192|n1>>6,l[h++]=128|n1&63}else if(n1<=65535){if(h+2>=e)break;l[h++]=224|n1>>12,l[h++]=128|n1>>6&63,l[h++]=128|n1&63}else if(n1<=2097151){if(h+3>=e)break;l[h++]=240|n1>>18,l[h++]=128|n1>>12&63,l[h++]=128|n1>>6&63,l[h++]=128|n1&63}else if(n1<=67108863){if(h+4>=e)break;l[h++]=248|n1>>24,l[h++]=128|n1>>18&63,l[h++]=128|n1>>12&63,l[h++]=128|n1>>6&63,l[h++]=128|n1&63}else{if(h+5>=e)break;l[h++]=252|n1>>30,l[h++]=128|n1>>24&63,l[h++]=128|n1>>18&63,l[h++]=128|n1>>12&63,l[h++]=128|n1>>6&63,l[h++]=128|n1&63}}return l[h]=0,h-z}n.stringToUTF8Array=Un;function qp(r,l,h){return Un(r,b7,l,h)}n.stringToUTF8=qp;function Jo(r){for(var l=0,h=0;h=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++h)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=Jo;function Hp(r){for(var l=0,h="";;){var f=Zr[r+l*2>>1];if(f==0)return h;++l,h+=String.fromCharCode(f)}}n.UTF16ToString=Hp;function wB(r,l,h){if(h===void 0&&(h=2147483647),h<2)return 0;h-=2;for(var f=l,z=h>1]=e1,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=wB;function vB(r){return r.length*2}n.lengthBytesUTF16=vB;function kB(r){for(var l=0,h="";;){var f=G9[r+l*4>>2];if(f==0)return h;if(++l,f>=65536){var z=f-65536;h+=String.fromCharCode(55296|z>>10,56320|z&1023)}else h+=String.fromCharCode(f)}}n.UTF32ToString=kB;function SB(r,l,h){if(h===void 0&&(h=2147483647),h<4)return 0;for(var f=l,z=f+h-4,e=0;e=55296&&e1<=57343){var n1=r.charCodeAt(++e);e1=65536+((e1&1023)<<10)|n1&1023}if(G9[l>>2]=e1,l+=4,l+4>z)break}return G9[l>>2]=0,l-f}n.stringToUTF32=SB;function bB(r){for(var l=0,h=0;h=55296&&f<=57343&&++h,l+=4}return l}n.lengthBytesUTF32=bB;function DB(r){var l=!!n.___cxa_demangle;if(l)try{var h=Ru(r.length);jo(r.substr(1),h);var f=Ru(4),z=n.___cxa_demangle(h,0,0,f);if(yr(f,"i32")===0&&z)return U$(z)}catch{}finally{h&&yC(h),f&&yC(f),z&&yC(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 s(w2){w2&&n.print(w2),n.print(r);for(var P5="",U9=0;U9"}else W9=ie;e:for(;e0;){var vr=r[e++];if(vr in e1)ye.push(e1[vr]);else switch(vr){case"P":ye.push(C(!0,1,!0)[0]+"*");break;case"R":ye.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var rl=r.indexOf("E",e),It=rl-e;ye.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++,ye.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:W9+="?"+vr;break e}}return!U9&&ye.length===1&&ye[0]==="void"&&(ye=[]),w2?(W9&&ye.push(W9+"?"),ye):W9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=U$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&v.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function _B(r){return r.replace(/__Z[\w\d_]+/g,function(l){var h=DB(l);return l===h?l:l+" ["+h+"]"})}function xB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Vp(){return _B(xB())}n.stackTrace=Vp;var IC=4096;function Su(r){return r%4096>0&&(r+=4096-r%4096),r}var Yp,X9,b7,Zr,O$,G9,el,tl,q$,Ko=0,jr=0,H$=!1,bu=0,S7=0,V$=0,Y$=0,U7=0;function mC(){ts("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Wo+", (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 zp=n.TOTAL_STACK||5242880,Wo=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var h=l.func;typeof h=="number"?l.arg===void 0?v.dynCall("v",h):v.dynCall("vi",h,[l.arg]):h(l.arg===void 0?null:l.arg)}}var Jp=[],J$=[],Du=[],K$=[],_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());z$(Jp)}function Zo(){xu||(xu=!0,z$(J$))}function LB(){z$(Du)}function Kp(){z$(K$),Pn=!0}function W$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)pC(n.postRun.shift());z$(_u)}function Gi(r){Jp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Gi;function MB(r){J$.unshift(r)}n.addOnInit=n.addOnInit=MB;function RB(r){Du.unshift(r)}n.addOnPreMain=n.addOnPreMain=RB;function FB(r){K$.unshift(r)}n.addOnExit=n.addOnExit=FB;function pC(r){_u.unshift(r)}n.addOnPostRun=n.addOnPostRun=pC;function en(r,l,h){var f=h>0?h:Jo(r)+1,z=new Array(f),e=Un(r,z,0,z.length);return l&&(z.length=e),z}n.intArrayFromString=en;function EC(r){for(var l=[],h=0;h255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=EC;function jo(r,l,h){for(var f=en(r,h),z=0;z>0]=e,z=z+1}}n.writeStringToMemory=jo;function iA(r,l){for(var h=0;h>0]=r[h]}n.writeArrayToMemory=iA;function Z$(r,l,h){for(var f=0;f>0]=r.charCodeAt(f);h||(X9[l>>0]=0)}n.writeAsciiToMemory=Z$;function Wp(r,l,h){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,h){var f=l>>>16,z=l&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 l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var X$=Math.abs,CC=Math.cos,tr=Math.sin,F0=Math.tan,i1=Math.acos,w1=Math.asin,_2=Math.atan,i6=Math.atan2,p9=Math.exp,ee=Math.log,E6=Math.sqrt,w8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,E9=Math.fround,Ui=Math.min,O7=Math.clz32,v8=0,Pi=null,q7=null;function H7(r){return r}function On(r){v8++,n.monitorRunDependencies&&n.monitorRunDependencies(v8)}n.addRunDependency=On;function Qr(r){if(v8--,n.monitorRunDependencies&&n.monitorRunDependencies(v8),v8==0&&(Pi!==null&&(clearInterval(Pi),Pi=null),q7)){var l=q7;q7=null,l()}}n.removeRunDependency=Qr,n.preloadedImages={},n.preloadedAudios={};var Zp=null,Mu=[];Ko=8,jr=Ko+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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+41032),B3([1],"i8",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+72464),B3([1],"i8",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.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",q3,v.GLOBAL_BASE+551416);var bt=v.alignMemory(B3(12,"i8",Yo),8);Ne(bt%8==0);function BC(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3]}function wr(r){X9[bt]=X9[r],X9[bt+1]=X9[r+1],X9[bt+2]=X9[r+2],X9[bt+3]=X9[r+3],X9[bt+4]=X9[r+4],X9[bt+5]=X9[r+5],X9[bt+6]=X9[r+6],X9[bt+7]=X9[r+7]}var ir=CC,rA=X$,Xo=0;function es(r){return G9[Xo>>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 TB(r){switch(r){case 30:return IC;case 85:return Xr/IC;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 es(N2.EINVAL),-1}n._memset=pS;var NB=!0;n._strlen=dS,n._strcat=fS,n._bitshift64Shl=yS;function Gk(){n.abort()}n._i64Add=IS;var Uk=H4,Pk={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,l){qn.ttys[r]={input:[],output:[],ops:l},S.registerDevice(r,qn.stream_ops)},stream_ops:{open:function(r){var l=qn.ttys[r.node.rdev];if(!l)throw new S.ErrnoError(N2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,h,f,z){if(!r.tty||!r.tty.ops.get_char)throw new S.ErrnoError(N2.ENXIO);for(var e=0,e1=0;e10?l=f.slice(0,z).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` `)):typeof readline=="function"&&(l=readline(),l!==null&&(l+=` -`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(zo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(zo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(zo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(zo(r.output,0)),r.output=[])}}},L9={ops_table:null,mount:function(r){return L9.createNode(null,"/",16895,0)},createNode:function(r,l,h,f){if(S.isBlkdev(h)||S.isFIFO(h))throw new S.ErrnoError(N2.EPERM);L9.ops_table||(L9.ops_table={dir:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,lookup:L9.node_ops.lookup,mknod:L9.node_ops.mknod,rename:L9.node_ops.rename,unlink:L9.node_ops.unlink,rmdir:L9.node_ops.rmdir,readdir:L9.node_ops.readdir,symlink:L9.node_ops.symlink},stream:{llseek:L9.stream_ops.llseek}},file:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:{llseek:L9.stream_ops.llseek,read:L9.stream_ops.read,write:L9.stream_ops.write,allocate:L9.stream_ops.allocate,mmap:L9.stream_ops.mmap,msync:L9.stream_ops.msync}},link:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,readlink:L9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:S.chrdev_stream_ops}});var z=S.createNode(r,l,h,f);return S.isDir(z.mode)?(z.node_ops=L9.ops_table.dir.node,z.stream_ops=L9.ops_table.dir.stream,z.contents={}):S.isFile(z.mode)?(z.node_ops=L9.ops_table.file.node,z.stream_ops=L9.ops_table.file.stream,z.usedBytes=0,z.contents=null):S.isLink(z.mode)?(z.node_ops=L9.ops_table.link.node,z.stream_ops=L9.ops_table.link.stream):S.isChrdev(z.mode)&&(z.node_ops=L9.ops_table.chrdev.node,z.stream_ops=L9.ops_table.chrdev.stream),z.timestamp=Date.now(),r&&(r.contents[l]=z),z},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],h=0;hr.contents.length&&(r.contents=L9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var h=r.contents?r.contents.buffer.byteLength:0;if(h>=l)return;var f=1024*1024;l=Math.max(l,h*(h0&&r.contents.set(z.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var e1=Math.min(r.node.usedBytes-z,f);if(Ne(e1>=0),e1>8&&e.subarray)l.set(e.subarray(z,z+e1),h);else for(var n1=0;n10||z+fP5.timestamp)&&(z.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return h(null);var e1=!1,n1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([k8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(k8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,h(k5));if(++n1>=f)return h(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},z.sort().forEach(function(k5){l.type==="local"?k8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);k8.storeLocalEntry(k5,P5,C)}):k8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);k8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?k8.removeLocalEntry(k5,C):k8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return Ne(u),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,h,f){if(!S.isDir(h)&&!S.isFile(h)&&!S.isLink(h))throw new S.ErrnoError(N2.EINVAL);var z=S.createNode(r,l,h);return z.node_ops=ft.node_ops,z.stream_ops=ft.stream_ops,z},getMode:function(r){var l;try{l=S8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),I9.join.apply(null,l)},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 l=ft.realPath(r),h;try{h=S8.lstatSync(l)}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,l){var h=ft.realPath(r);try{if(l.mode!==void 0&&(S8.chmodSync(h,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);S8.utimesSync(h,f,f)}l.size!==void 0&&S8.truncateSync(h,l.size)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},lookup:function(r,l){var h=I9.join2(ft.realPath(r),l),f=ft.getMode(h);return ft.createNode(r,l,f)},mknod:function(r,l,h,f){var z=ft.createNode(r,l,h,f),e=ft.realPath(z);try{S.isDir(z.mode)?S8.mkdirSync(e,z.mode):S8.writeFileSync(e,"",{mode:z.mode})}catch(e1){throw e1.code?new S.ErrnoError(N2[e1.code]):e1}return z},rename:function(r,l,h){var f=ft.realPath(r),z=I9.join2(ft.realPath(l),h);try{S8.renameSync(f,z)}catch(e){throw e.code?new S.ErrnoError(N2[e.code]):e}},unlink:function(r,l){var h=I9.join2(ft.realPath(r),l);try{S8.unlinkSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},rmdir:function(r,l){var h=I9.join2(ft.realPath(r),l);try{S8.rmdirSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return S8.readdirSync(l)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},symlink:function(r,l,h){var f=I9.join2(ft.realPath(r),l);try{S8.symlinkSync(h,f)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},readlink:function(r){var l=ft.realPath(r);try{return l=S8.readlinkSync(l),l=PB.relative(PB.resolve(r.mount.opts.root),l),l}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{S.isFile(r.node.mode)&&(r.nfd=S8.openSync(l,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&&S8.closeSync(r.nfd)}catch(l){throw l.code?new S.ErrnoError(N2[l.code]):l}},read:function(r,l,h,f,z){if(f===0)return 0;var e=new Buffer(f),e1;try{e1=S8.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=I9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=S.root,e1="/",n1=0;n140)throw new S.ErrnoError(N2.ELOOP)}}return{path:e1,node:e}},getPath:function(r){for(var l;;){if(S.isRoot(r)){var h=r.mount.mountpoint;return l?h[h.length-1]!=="/"?h+"/"+l:h+l:h}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var h=0,f=0;f>>0)%S.nameTable.length},hashAddNode:function(r){var l=S.hashName(r.parent.id,r.name);r.name_next=S.nameTable[l],S.nameTable[l]=r},hashRemoveNode:function(r){var l=S.hashName(r.parent.id,r.name);if(S.nameTable[l]===r)S.nameTable[l]=r.name_next;else for(var h=S.nameTable[l];h;){if(h.name_next===r){h.name_next=r.name_next;break}h=h.name_next}},lookupNode:function(r,l){var h=S.mayLookup(r);if(h)throw new S.ErrnoError(h,r);for(var f=S.hashName(r.id,l),z=S.nameTable[f];z;z=z.name_next){var e=z.name;if(z.parent.id===r.id&&e===l)return z}return S.lookup(r,l)},createNode:function(r,l,h,f){if(!S.FSNode){S.FSNode=function(n1,x2,s,l1){n1||(n1=this),this.parent=n1,this.mount=n1.mount,this.mounted=null,this.id=S.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},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,l,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 l=S.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,h=["r","w","rw"][l];return r&512&&(h+="w"),h},nodePermissions:function(r,l){return S.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var l=S.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,l){try{var h=S.lookupNode(r,l);return N2.EEXIST}catch{}return S.nodePermissions(r,"wx")},mayDelete:function(r,l,h){var f;try{f=S.lookupNode(r,l)}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,l){return r?S.isLink(r.mode)?N2.ELOOP:S.isDir(r.mode)&&(l&2097155||l&512)?N2.EISDIR:S.nodePermissions(r,S.flagsToPermissionString(l)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||S.MAX_OPEN_FDS;for(var h=r;h<=l;h++)if(!S.streams[h])return h;throw new S.ErrnoError(N2.EMFILE)},getStream:function(r){return S.streams[r]},createStream:function(r,l,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(l,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 l=S.getDevice(r.node.rdev);r.stream_ops=l.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,l){return r<<8|l},registerDevice:function(r,l){S.devices[r]={stream_ops:l}},getDevice:function(r){return S.devices[r]},getMounts:function(r){for(var l=[],h=[r];h.length;){var f=h.pop();l.push(f),h.push.apply(h,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=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,l(e));++f>=h.length&&l(null)}h.forEach(function(e){if(!e.type.syncfs)return z(null);e.type.syncfs(e,r,z)})},mount:function(r,l,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:l,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 l=S.lookupPath(r,{follow_mount:!1});if(!S.isMountpoint(l.node))throw new S.ErrnoError(N2.EINVAL);var h=l.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);Ne(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,h){var f=S.lookupPath(r,{parent:!0}),z=f.node,e=I9.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,l,h)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,S.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,S.mknod(r,l,0)},mkdev:function(r,l,h){return typeof h>"u"&&(h=l,l=438),l|=8192,S.mknod(r,l,h)},symlink:function(r,l){if(!I9.resolve(r))throw new S.ErrnoError(N2.ENOENT);var h=S.lookupPath(l,{parent:!0}),f=h.node;if(!f)throw new S.ErrnoError(N2.ENOENT);var z=I9.basename(l),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,l){var h=I9.dirname(r),f=I9.dirname(l),z=I9.basename(r),e=I9.basename(l),e1,n1,x2;try{e1=S.lookupPath(r,{parent:!0}),n1=e1.node,e1=S.lookupPath(l,{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 s=S.lookupNode(n1,z),l1=I9.relative(r,f);if(l1.charAt(0)!==".")throw new S.ErrnoError(N2.EINVAL);if(l1=I9.relative(l,h),l1.charAt(0)!==".")throw new S.ErrnoError(N2.ENOTEMPTY);var C;try{C=S.lookupNode(x2,e)}catch{}if(s!==C){var k5=S.isDir(s.mode),w2=S.mayDelete(n1,z,k5);if(w2)throw new S.ErrnoError(w2);if(w2=C?S.mayDelete(x2,e,k5):S.mayCreate(x2,e),w2)throw new S.ErrnoError(w2);if(!n1.node_ops.rename)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(s)||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,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}S.hashRemoveNode(s);try{n1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{S.hashAddNode(s)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=S.lookupPath(r,{parent:!0}),h=l.node,f=I9.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 l=S.lookupPath(r,{follow:!0}),h=l.node;if(!h.node_ops.readdir)throw new S.ErrnoError(N2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(r){var l=S.lookupPath(r,{parent:!0}),h=l.node,f=I9.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 l=S.lookupPath(r),h=l.node;if(!h)throw new S.ErrnoError(N2.ENOENT);if(!h.node_ops.readlink)throw new S.ErrnoError(N2.EINVAL);return I9.resolve(S.getPath(l.node.parent),h.node_ops.readlink(h))},stat:function(r,l){var h=S.lookupPath(r,{follow:!l}),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,l,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:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){S.chmod(r,l,!0)},fchmod:function(r,l){var h=S.getStream(r);if(!h)throw new S.ErrnoError(N2.EBADF);S.chmod(h.node,l)},chown:function(r,l,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,l,h){S.chown(r,l,h,!0)},fchown:function(r,l,h){var f=S.getStream(r);if(!f)throw new S.ErrnoError(N2.EBADF);S.chown(f.node,l,h)},truncate:function(r,l){if(l<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:l,timestamp:Date.now()})},ftruncate:function(r,l){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,l)},utime:function(r,l,h){var f=S.lookupPath(r,{follow:!0}),z=f.node;z.node_ops.setattr(z,{timestamp:Math.max(l,h)})},open:function(r,l,h,f,z){if(r==="")throw new S.ErrnoError(N2.ENOENT);l=typeof l=="string"?S.modeStringToFlags(l):l,h=typeof h>"u"?438:h,l&64?h=h&4095|32768:h=0;var e;if(typeof r=="object")e=r;else{r=I9.normalize(r);try{var e1=S.lookupPath(r,{follow:!(l&131072)});e=e1.node}catch{}}var n1=!1;if(l&64)if(e){if(l&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)&&(l&=-513),!n1){var x2=S.mayOpen(e,l);if(x2)throw new S.ErrnoError(x2)}l&512&&S.truncate(e,0),l&=-641;var s=S.createStream({node:e,path:S.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,z);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(S.readFiles||(S.readFiles={}),r in S.readFiles||(S.readFiles[r]=1,n.printErr("read file: "+r)));try{if(S.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=S.tracking.openFlags.READ),l&2097155&&(l1|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{S.closeStream(r.fd)}},llseek:function(r,l,h){if(!r.seekable||!r.stream_ops.llseek)throw new S.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,h),r.ungotten=[],r.position},read:function(r,l,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,l,h,f,z);return e||(r.position+=e1),e1},write:function(r,l,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,l,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,l,h){if(l<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,l,h)},mmap:function(r,l,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,l,h,f,z,e,e1)},msync:function(r,l,h,f,z){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,h,f,z)},munmap:function(r){return 0},ioctl:function(r,l,h){if(!r.stream_ops.ioctl)throw new S.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,l,h)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var h,f=S.open(r,l.flags),z=S.stat(r),e=z.size,e1=new Uint8Array(e);return S.read(f,e1,0,e,0),l.encoding==="utf8"?h=zo(e1,0):l.encoding==="binary"&&(h=e1),S.close(f),h},writeFile:function(r,l,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(Jo(l)+1),e=Un(l,z,0,z.length);S.write(f,z,0,e,0,h.canOwn)}else h.encoding==="binary"&&S.write(f,l,0,l.length,0,h.canOwn);S.close(f)},cwd:function(){return S.currentPath},chdir:function(r){var l=S.lookupPath(r,{follow:!0});if(!S.isDir(l.node.mode))throw new S.ErrnoError(N2.ENOTDIR);var h=S.nodePermissions(l.node,"x");if(h)throw new S.ErrnoError(h);S.currentPath=l.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 l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[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");G9[Ok>>2]=S.getPtrForStream(r),Ne(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=S.open("/dev/stdout","w");G9[qk>>2]=S.getPtrForStream(l),Ne(l.fd===1,"invalid handle for stdout ("+l.fd+")");var h=S.open("/dev/stderr","w");G9[Hk>>2]=S.getPtrForStream(h),Ne(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(l,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(l),this.message=Pk[l]},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(L9,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices()},init:function(r,l,h){Ne(!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=l||n.stdout,n.stderr=h||n.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",h,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+h+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,U9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",W9=1024*1024;U9||(W9=w2);var ye=function(ie,It){if(ie>It)throw new Error("invalid range ("+ie+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var e4=new XMLHttpRequest;if(e4.open("GET",h,!1),w2!==W9&&e4.setRequestHeader("Range","bytes="+ie+"-"+It),typeof Uint8Array<"u"&&(e4.responseType="arraybuffer"),e4.overrideMimeType&&e4.overrideMimeType("text/plain; charset=x-user-defined"),e4.send(null),!(e4.status>=200&&e4.status<300||e4.status===304))throw new Error("Couldn't load "+h+". Status: "+e4.status);return e4.response!==void 0?new Uint8Array(e4.response||[]):en(e4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(ie){var It=ie*W9,e4=(ie+1)*W9-1;if(e4=Math.min(e4,w2-1),typeof Dt.chunks[ie]>"u"&&(Dt.chunks[ie]=ye(It,e4)),typeof Dt.chunks[ie]>"u")throw new Error("doXHR failed!");return Dt.chunks[ie]}),this._length=w2,this._chunkSize=W9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)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,l,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 s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,U9,W9){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);var ye=k5.node.contents;if(W9>=ye.length)return 0;var Dt=Math.min(ye.length-W9,U9);if(Ne(Dt>=0),ye.slice)for(var ie=0;ie=0;f--){var z=r[f];z==="."?r.splice(f,1):z===".."?(r.splice(f,1),h++):h&&(r.splice(f,1),h--)}if(l)for(;h--;h)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",h=r.substr(-1)==="/";return r=I9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&h&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=I9.splitPath(r),h=l[0],f=l[1];return!h&&!f?".":(f&&(f=f.substr(0,f.length-1)),h+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return I9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return I9.normalize(r.join("/"))},join2:function(r,l){return I9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,h=arguments.length-1;h>=-1&&!l;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,l=f.charAt(0)==="/"}return r=I9.normalizeArray(r.split("/").filter(function(z){return!!z}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=I9.resolve(r).substr(1),l=I9.resolve(l).substr(1);function h(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=h(r.split("/")),z=h(l.split("/")),e=Math.min(f.length,z.length),e1=e,n1=0;n10){var n1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-n1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&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!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?v.dynCall("vi",r,[f]):v.dynCall("v",r)}),!(e0?jp(0,1e3/l):jp(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var r=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,GB(h,0,!1,J1.mainLoop.arg,!0),jp(r,l),J1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;l?l"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 s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(e1)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(e1)}))}catch(w2){v.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){Ne(k5.complete,"Image "+e1+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var U9=P5.getContext("2d");U9.drawImage(k5,0,0),n.preloadedImages[e1]=P5,J1.URLObject.revokeObjectURL(C),n1&&n1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,e1,n1,x2){var s=!1;function l1(U9){s||(s=!0,n.preloadedAudios[e1]=U9,n1&&n1(e))}function C(){s||(s=!0,n.preloadedAudios[e1]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var k5=new Blob([e],{type:J1.getMimetype(e1)})}catch{return C()}var w2=J1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(W9){if(s)return;console.log("warning: browser could not fully decode audio "+e1+", trying slower base64 approach");function ye(Dt){for(var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",e4="",V7=0,Y7=0,vr=0;vr=6;){var rl=V7>>Y7-6&63;Y7-=6,e4+=ie[rl]}return Y7==2?(e4+=ie[(V7&3)<<4],e4+=It+It):Y7==4&&(e4+=ie[(V7&15)<<2],e4+=It),e4}P5.src="data:audio/x-"+e1.substr(-3)+";base64,"+ye(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var h=n.canvas;function f(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&h.addEventListener("click",function(z){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),z.preventDefault())},!1))},createContext:function(r,l,h,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var z,e;if(l){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&&(l||Ne(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,l&&GL.makeContextCurrent(e),n.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),z):null},destroyContext:function(r,l,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,h){J1.lockPointer=r,J1.resizeCanvas=l,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=n.canvas;function z(){J1.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),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(e1.parentNode.insertBefore(f,e1),e1.parentNode.removeChild(e1),J1.resizeCanvas&&J1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.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 l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-l,0);setTimeout(r,h)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!P)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var r=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return J1.requestAnimationFrame(function(){P||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){P||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){P||J1.allowAsyncCallbacks&&r()},l)},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 l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(J1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(r),J1.mouseMovementY=J1.getMovementY(r)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=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+l.left),x2=e1.pageY-(e+l.top);n1=n1*(h/l.width),x2=x2*(f/l.height);var s={x:n1,y:x2};if(r.type==="touchstart")J1.lastTouches[e1.identifier]=s,J1.touches[e1.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=J1.touches[e1.identifier];l1||(l1=s),J1.lastTouches[e1.identifier]=l1,J1.touches[e1.identifier]=s}return}var C=r.pageX-(z+l.left),k5=r.pageY-(e+l.top);C=C*(h/l.width),k5=k5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=k5-J1.mouseY,J1.mouseX=C,J1.mouseY=k5}},xhrLoad:function(r,l,h){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):h()},f.onerror=h,f.send(null)},asyncLoad:function(r,l,h,f){J1.xhrLoad(r,function(z){Ne(z,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(z)),f||Qr("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;J1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,h){var f=n.canvas;J1.updateCanvasDimensions(f,r,l),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=el[SDL.screen+v.QUANTUM_SIZE*0>>2];r=r|8388608,G9[SDL.screen+v.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=el[SDL.screen+v.QUANTUM_SIZE*0>>2];r=r&-8388609,G9[SDL.screen+v.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},updateCanvasDimensions:function(r,l,h){l&&h?(r.widthNative=l,r.heightNative=h):(l=r.widthNative,h=r.heightNative);var f=l,z=h;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/z>2]=l),l}function oS(){n.printErr("missing function: floor0_exportbundle"),ts(-1)}if(Xo=v.staticAlloc(4),G9[Xo>>2]=0,n.requestFullScreen=function(l,h,f){J1.requestFullScreen(l,h,f)},n.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},n.setCanvasSize=function(l,h,f){J1.setCanvasSize(l,h,f)},n.pauseMainLoop=function(){J1.mainLoop.pause()},n.resumeMainLoop=function(){J1.mainLoop.resume()},n.getUserMedia=function(){J1.getUserMedia()},n.createContext=function(l,h,f,z){return J1.createContext(l,h,f,z)},S.staticInit(),J$.unshift(function(){!n.noFSInit&&!S.init.initialized&&S.init()}),Du.push(function(){S.ignorePermissions=!1}),K$.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()}),K$.push(function(){qn.shutdown()}),u)var S8=void 0,PB=void 0;bu=S7=v.alignMemory(jr),H$=!0,V$=bu+zp,Y$=U7=v.alignMemory(V$),Ne(Y$>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 K_(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 GS(t){t=t|0,Z6=t}function US(){return Z6|0}function wC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=M9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function PS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,b=(B|0)==0,!b&&(D=a<<3,k=o-D|0,w=t+8|0,_=e[w>>2]|0,Q=_+a|0,e[$>>2]=Q,x=t+4|0,e[x>>2]=k,e[t>>2]=a,g=8+(k<<2)|0,d=e[g>>2]|0,m=f[Q>>0]|0,I=m&255,E=I&d,y=E&255,f[Q>>0]=y)}function H2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0;Y0=C,d=a>>>0>32;do if(!d){if(m=e[t>>2]|0,x=t+16|0,A0=e[x>>2]|0,c0=A0+-4|0,b0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,b0)H=g;else{if(N0=(g|0)==0,N0)return;if(K0=(A0|0)>2147483391,K0||(V0=t+8|0,j0=e[V0>>2]|0,I=A0+256|0,E=J7(j0,I)|0,y=(E|0)==0,y))break;e[V0>>2]=E,B=e[x>>2]|0,b=B+256|0,e[x>>2]=b,D=e[t>>2]|0,k=E+D|0,e[$>>2]=k,H=k}w=8+(a<<2)|0,_=e[w>>2]|0,Q=_&o,M=t+4|0,L=e[M>>2]|0,F=L+a|0,G=Q<>0]|0,V=O&255,J=V|G,t0=J&255,f[H>>0]=t0,Z=(F|0)>7;do if(Z&&(j=e[M>>2]|0,r0=8-j|0,s0=Q>>>r0,K=s0&255,o0=e[$>>2]|0,Y=o0+1|0,f[Y>>0]=K,h0=(F|0)>15,h0&&(i0=e[M>>2]|0,e0=16-i0|0,u0=Q>>>e0,$0=u0&255,l0=e[$>>2]|0,X=l0+2|0,f[X>>0]=$0,m0=(F|0)>23,m0&&(g0=e[M>>2]|0,I0=24-g0|0,n0=Q>>>I0,d0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=d0,y0=(F|0)>31,y0))))if(D0=e[M>>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,S0=e[$>>2]|0,J0=S0+U0|0,e[$>>2]=J0,T0=F&7,e[M>>2]=T0;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 vC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;d=C,o=t+8|0,a=e[o>>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 o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0;y=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[o>>2]=d,m=d,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function kC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,_=e[g>>2]|0,t0=t+4|0,e0=e[t0>>2]|0,p0=e0+o|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(m=p0+7|0,I=m>>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,w=k&255,Q=w>>>e0,x=(p0|0)>8,x?(M=D+1|0,L=f[M>>0]|0,F=L&255,G=8-e0|0,O=F<16,V?(J=D+2|0,Z=f[J>>0]|0,A0=Z&255,j=16-e0|0,r0=A0<24,K?(o0=D+3|0,Y=f[o0>>0]|0,h0=Y&255,i0=24-e0|0,u0=h0<>0]|0,g0=m0&255,I0=32-e0|0,n0=g0<>2]|0,b=$+o|0,D=e[t>>2]|0,k=t+16|0,w=e[k>>2]|0,_=b+7|0,Q=_>>3,x=w-Q|0,M=(D|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(b|0)/8&-1,d=t+12|0,m=e[d>>2]|0,I=m+g|0,e[d>>2]=I,E=D+g|0,e[t>>2]=E,y=b&7,L=y,e[a>>2]=L;return}}function i4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0;M0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,d=t,m=I,v0=g;else{if(y=8+(o<<2)|0,F=e[y>>2]|0,s0=t+4|0,X=e[s0>>2]|0,E0=X+o|0,N0=e[t>>2]|0,U0=t+16|0,O0=e[U0>>2]|0,H0=O0+-4|0,B=(N0|0)<(H0|0),!B){if(b=E0+7|0,D=b>>3,k=O0-D|0,w=(N0|0)>(k|0),w){d=t,m=s0,v0=O0;break}if(_=(E0|0)==0,_)return a=0,a|0}return Q=t+12|0,x=e[Q>>2]|0,M=f[x>>0]|0,L=M&255,G=L>>>X,O=(E0|0)>8,O?(H=x+1|0,V=f[H>>0]|0,J=V&255,t0=8-X|0,Z=J<16,j?(r0=x+2|0,K=f[r0>>0]|0,o0=K&255,Y=16-X|0,h0=o0<24,e0?(u0=x+3|0,c0=f[u0>>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=N0+w0|0,e[t>>2]=x0,Z0=E0&7,e[s0>>2]=Z0,a=Q0,a|0}while(!1);return R0=t+12|0,e[R0>>2]=0,e[d>>2]=v0,e[m>>2]=1,a=-1,a|0}function b8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,d=(g|0)/8&-1,m=d+o|0,m|0}function dy(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function OS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=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=M9(16384)|0,e[t>>2]=k,w=M9(4096)|0,_=t+16|0,e[_>>2]=w,Q=M9(8192)|0,x=t+20|0,e[x>>2]=Q,M=(k|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(Q|0)==0,F=m|L,F){E2(k),$=e[_>>2]|0,I=$;break}return b=t+336|0,e[b>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),y=e[x>>2]|0,B=(y|0)==0,B||E2(y),g4(t|0,0,360)|0,a=-1,a|0}function qS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0;return b=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||E2(a),g=t+16|0,d=e[g>>2]|0,m=(d|0)==0,m||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 HS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0;if(O0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,k=a+22|0,f[k>>0]=0,V=e[t>>2]|0,h0=V+23|0,f[h0>>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,w=d+v0|0,_=f[w>>0]|0,Q=_&255,x=Q^D,M=144+(x<<2)|0,L=e[M>>2]|0,F=L^b,G=v0+1|0,O=(G|0)<($|0),O)x0=F,v0=G;else{B0=F;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(y=t+8|0,B=e[y>>2]|0,R0=B0,N0=0;;)if(H=R0<<8,J=R0>>>24,t0=B+N0|0,Z=f[t0>>0]|0,A0=Z&255,j=A0^J,r0=144+(j<<2)|0,s0=e[r0>>2]|0,K=s0^H,o0=N0+1|0,Y=(o0|0)<(I|0),Y)R0=K,N0=o0;else{Z0=K;break}else Z0=B0;i0=Z0&255,e0=e[t>>2]|0,u0=e0+22|0,f[u0>>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,d0=I0+24|0,f[d0>>0]=g0,p0=Z0>>>24,C0=p0&255,b0=e[t>>2]|0,y0=b0+25|0,f[y0>>0]=C0}}function VS(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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=(o|0)==0,L0)return I=0,I|0;X0=(a|0)>0;e:do if(X0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,A2=(q1|0)<0,w=2147483647-q1|0,J=(m2|0)>(w|0),G2=A2|J,G2){I=-1;break}if(i0=q1+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||(d0=e[k>>2]|0,p0=d0-g0|0,e[k>>2]=p0,C0=(d0|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),N0=t+16|0,U0=e[N0>>2]|0,O0=(U0|0)==0,O0||E2(U0),H0=t+20|0,S0=e[H0>>2]|0,J0=(S0|0)==0,J0||E2(S0),g4(t|0,0,360)|0,I=-1,I|0;if(T0=D0+a2|0,P0=(T0|0)<2147482623,W0=T0+1024|0,m=P0?W0:T0,K0=e[t>>2]|0,V0=J7(K0,m)|0,j0=(V0|0)==0,!j0){e[y0>>2]=m,e[t>>2]=V0;break}return q0=e[t>>2]|0,Y0=(q0|0)==0,Y0||E2(q0),s1=t+16|0,z0=e[s1>>2]|0,r1=(z0|0)==0,r1||E2(z0),o1=t+20|0,d1=e[o1>>2]|0,u1=(d1|0)==0,u1||E2(d1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(p1=YS(t,X)|0,f1=(p1|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=o+(D2<<3)|0,L1=e[S1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ce(v1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[k>>2]|0,U1=F1+R1|0,e[k>>2]=U1,D1=D2+1|0,r2=(D1|0)==(a|0),!r2;)k1=U1,D2=D1;if(h1=(a2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,h1){for(B1=t+352|0,m1=t+20|0,Q1=e[m1>>2]|0,C1=(l0|0)>1,y2=0;P1=c1+y2|0,X1=$1+(P1<<2)|0,e[X1>>2]=255,G1=B1,x1=G1,K1=e[x1>>2]|0,H1=G1+4|0,V1=H1,Y1=e[V1>>2]|0,t2=Q1+(P1<<3)|0,s2=t2,e2=s2,e[e2>>2]=K1,O1=s2+4|0,h2=O1,e[h2>>2]=Y1,Z1=y2+1|0,I2=(Z1|0)<(l0|0),I2;)y2=Z1;M2=C1?l0:1,B=B1,c2=Q1,S2=M2}else E=t+20|0,b=e[E>>2]|0,D=t+352|0,B=D,c2=b,S2=0;return C2=(a2|0)%255&-1,$2=c1+S2|0,W1=$1+($2<<2)|0,e[W1>>2]=C2,f2=c2+($2<<3)|0,n2=f2,g2=n2,e[g2>>2]=g,o2=n2+4|0,l2=o2,e[l2>>2]=d,i2=B,_=i2,e[_>>2]=g,Q=i2+4|0,x=Q,e[x>>2]=d,M=$1+(c1<<2)|0,L=e[M>>2]|0,F=L|256,e[M>>2]=F,G=c1+X|0,e[A1>>2]=G,O=t+344|0,H=O,V=H,t0=e[V>>2]|0,Z=H+4|0,A0=Z,j=e[A0>>2]|0,r0=ns(t0|0,j|0,1,0)|0,s0=Z6,K=O,o0=K,e[o0>>2]=r0,Y=K+4|0,h0=Y,e[h0>>2]=s0,e0=($|0)==0,e0?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function rE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0;return M=C,C=C+16|0,Q=M,a=e[o>>2]|0,e[Q>>2]=a,$=o+4|0,E=e[$>>2]|0,y=Q+4|0,e[y>>2]=E,B=o+12|0,b=e[B>>2]|0,D=o+16|0,k=D,w=k,_=e[w>>2]|0,g=k+4|0,d=g,m=e[d>>2]|0,I=VS(t,Q,1,b,_,m)|0,C=M,I|0}function fy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=my(t,o,1,4096)|0,a|0}function Iy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0;return M=C,d=(t|0)==0,d||(m=e[t>>2]|0,I=(m|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?x=7:_=0):Q?_=0:x=7,(x|0)==7&&(_=1),w=my(t,o,_,4096)|0,a=w,a|0)}function YS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0;return d0=C,g=t+24|0,d=e[g>>2]|0,Q=d-o|0,Z=t+28|0,u0=e[Z>>2]|0,l0=(Q|0)>(u0|0),l0?($=0,$|0):(X=2147483647-o|0,m0=(d|0)>(X|0),m0?(g0=e[t>>2]|0,I0=(g0|0)==0,I0||E2(g0),m=t+16|0,I=e[m>>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+o|0,k=(D|0)<2147483615,w=D+32|0,a=k?w:D,_=t+16|0,x=e[_>>2]|0,M=a<<2,L=J7(x,M)|0,F=(L|0)==0,F?(G=e[t>>2]|0,O=(G|0)==0,O||E2(G),H=e[_>>2]|0,V=(H|0)==0,V||E2(H),J=t+20|0,t0=e[J>>2]|0,A0=(t0|0)==0,A0||E2(t0),g4(t|0,0,360)|0,$=-1,$|0):(e[_>>2]=L,j=t+20|0,r0=e[j>>2]|0,s0=a<<3,K=J7(r0,s0)|0,o0=(K|0)==0,o0?(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]=K,e[g>>2]=a,$=0,$|0))))}function my(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0;if(S5=C,Q=t+28|0,x=e[Q>>2]|0,d1=(x|0)>255,g=d1?255:x,m1=(t|0)==0,m1||(R1=e[t>>2]|0,V1=(R1|0)==0,$2=(g|0)==0,_3=$2|V1,_3))return d=0,d|0;r2=t+332|0,J2=e[r2>>2]|0,j2=(J2|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,J5=g3,Y5=14;break e}if(j0=e[y0>>2]|0,z0=j0+(g3<<2)|0,r1=e[z0>>2]|0,L0=r1&255,o1=(L0|0)==255,u1=g3+1|0,o1)g3=u1;else{I=a,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,J5=u1,Y5=14;break}}else if(M=(g|0)>0,M){for(j=t+16|0,$0=t+20|0,y5=0,D5=-1,d5=-1,l5=-1,X2=-1,d2=-1,w5=-1,r5=-1,a5=-1,t3=0,G3=0,Q3=0;;){if(p1=(y5|0)>($|0),f1=(t3|0)>3,H3=p1&f1,H3){m=1,q5=D5,M5=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,c1=e[A1>>2]|0,a1=c1&255,$1=a1+y5|0,X0=(a1|0)==255,X0?(f5=D5,K2=d5,I5=l5,n5=X2,R5=d2,e5=w5,c5=r5,T2=a5,a6=0,V3=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=os(v1|0,L1|0,8)|0,F1=Z6,U1=_1&255,D1=os(v1|0,L1|0,16)|0,P1=Z6,X1=D1&255,G1=os(v1|0,L1|0,24)|0,x1=Z6,K1=G1&255,q1=L1&255,H1=os(v1|0,L1|0,40)|0,Y1=Z6,t2=H1&255,s2=os(v1|0,L1|0,48)|0,e2=Z6,O1=s2&255,h2=os(v1|0,L1|0,56)|0,Z1=Z6,I2=h2&255,f5=b1,K2=X1,I5=K1,n5=q1,R5=t2,e5=O1,c5=I2,T2=U1,a6=M1,V3=M1),A2=Q3+1|0,C2=(A2|0)<(g|0),C2)y5=$1,D5=f5,d5=K2,l5=I5,X2=n5,d2=R5,w5=e5,r5=c5,a5=T2,t3=a6,G3=V3,Q3=A2;else{m=a,q5=f5,M5=K2,z2=I5,E5=n5,$5=R5,h5=e5,Q5=c5,T1=T2,u3=A2;break}}W1=(u3|0)==255,W1?(a3=q5,y3=M5,G5=z2,Z5=E5,x3=$5,f3=h5,w3=Q5,e6=T1,H5=255):(I=m,v5=q5,z5=M5,i3=z2,C5=E5,I3=$5,d3=h5,W5=Q5,r3=T1,J5=u3,Y5=14)}else I=a,v5=-1,z5=-1,i3=-1,C5=-1,I3=-1,d3=-1,W5=-1,r3=-1,J5=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=J5}if(c2=t+40|0,f[c2>>0]=79,f[c2+1>>0]=103,f[c2+2>>0]=103,f[c2+3>>0]=83,n2=t+44|0,f[n2>>0]=0,g2=t+45|0,f[g2>>0]=0,o2=t+16|0,l2=e[o2>>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[g2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,y2=(S2|0)!=0,G2=(x|0)==(H5|0),X5=y2&G2,X5&&(y=j2?k2:m2,M2=y|4,O2=M2&255,f[g2>>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,x5=t5>>>8,m5=x5&255,b5=t+55|0,f[b5>>0]=m5,V5=t5>>>16,u5=V5&255,b2=t+56|0,f[b2>>0]=u5,B5=t5>>>24,s5=B5&255,F2=t+57|0,f[F2>>0]=s5,R2=t+340|0,Q2=e[R2>>2]|0,L=(Q2|0)==-1,L?(e[R2>>2]=0,G=0):G=Q2,F=G+1|0,e[R2>>2]=F,O=G&255,H=t+58|0,f[H>>0]=O,V=G>>>8,J=V&255,t0=t+59|0,f[t0>>0]=J,Z=G>>>16,A0=Z&255,r0=t+60|0,f[r0>>0]=A0,s0=G>>>24,K=s0&255,o0=t+61|0,f[o0>>0]=K,Y=t+62|0,h0=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]=h0,e0=(H5|0)>0,e0){if(u0=e[l2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,X=u0&255,L5=(H5|0)==1,L5)B=X;else for(g0=1,D0=X;;)if(D=e[o2>>2]|0,m0=D+(g0<<2)|0,I0=e[m0>>2]|0,n0=I0&255,d0=g0+27|0,p0=(t+40|0)+d0|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,w=e[Q>>2]|0,_=e[o2>>2]|0,v0=k,S0=w,T0=_,N5=B}else v0=R1,S0=x,T0=l2,N5=0;return e[o>>2]=c2,Q0=H5+27|0,w0=t+324|0,e[w0>>2]=Q0,B0=o+4|0,e[B0>>2]=Q0,x0=t+12|0,Z0=e[x0>>2]|0,R0=v0+Z0|0,N0=o+8|0,e[N0>>2]=R0,O0=o+12|0,e[O0>>2]=N5,H0=S0-H5|0,e[Q>>2]=H0,J0=T0+(H5<<2)|0,M0=H0<<2,$A(T0|0,J0|0,M0|0)|0,P0=t+20|0,W0=e[P0>>2]|0,K0=W0+(H5<<3)|0,V0=e[Q>>2]|0,q0=V0<<3,$A(W0|0,K0|0,q0|0)|0,Y0=e[x0>>2]|0,s1=Y0+N5|0,e[x0>>2]=s1,HS(o),d=1,d|0}function zS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=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),m=g+28|0,I=e[m>>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),w=g+44|0,Q=e[w>>2]|0,mi(Q),x=g+48|0,M=e[x>>2]|0,mi(M),L=g+52|0,F=e[L>>2]|0,mi(F),G=g+56|0,O=e[G>>2]|0,mi(O),H=g+60|0,V=e[H>>2]|0,mi(V),J=g+64|0,Z=e[J>>2]|0,mi(Z),A0=g+68|0,j=e[A0>>2]|0,mi(j),r0=e[6416]|0,s0=r0+12|0,K=e[s0>>2]|0,o0=Wy[K&1](t)|0,Y=(o0|0)==0,Y?(h0=(o|0)==0,h0?(a=0,a|0):(i0=Nu(t)|0,u0=(i0|0)==0,u0?(c0=t+4|0,$0=dy(c0)|0,e[o>>2]=$0,l0=b8(c0)|0,X=o+4|0,e[X>>2]=l0,m0=o+8|0,e[m0>>2]=0,g0=t+44|0,I0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=I0,d0=t+48|0,C0=d0,b0=C0,y0=e[b0>>2]|0,D0=C0+4|0,E0=D0,Q0=e[E0>>2]|0,w0=o+16|0,B0=w0,x0=B0,e[x0>>2]=y0,Z0=B0+4|0,v0=Z0,e[v0>>2]=Q0,N0=t+56|0,U0=N0,O0=U0,H0=e[O0>>2]|0,S0=U0+4|0,J0=S0,T0=e[J0>>2]|0,M0=o+24|0,P0=M0,K0=P0,e[K0>>2]=H0,V0=P0+4|0,j0=V0,e[j0>>2]=T0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function JS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0,p0=0,C0=0,b0=0,y0=0,D0=0;y0=C,a=t+28|0,$=e[a>>2]|0,C0=o,D0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(D0|0));w=$+3372|0,J=e[w>>2]|0,i0=(J|0)>0,i0&&(g0=t+8|0,I0=e[g0>>2]|0,n0=e[$>>2]|0,d0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=d,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,y=+(E|0),B=+(d0|0),b=y*B,D=+(I0|0),k=b/D,_=+z7(k),Q=~~_,x=o+12|0,e[x>>2]=Q,M=$+3364|0,L=e[M>>2]|0,F=+(L|0),G=F*B,O=G/D,H=+z7(O),V=~~H,t0=o+16|0,e[t0>>2]=V,Z=$+3368|0,A0=e[Z>>2]|0,j=+(A0|0),r0=j*B,s0=r0/D,K=+z7(s0),o0=~~K,Y=o+20|0,e[Y>>2]=o0,h0=o+32|0,l1[h0>>3]=7,e0=+(J|0),u0=$+3376|0,c0=+l1[u0>>3],$0=e0*c0,l0=~~$0,X=o+8|0,e[X>>2]=l0,m0=o+4|0,e[m0>>2]=l0)}function KS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Nu(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=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,m=d+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function WS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=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,M5=b2+104|0,d2=e[M5>>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=+l1[b>>3],o0=+z7(O),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,J0=e[w0>>2]|0,z0=b8(J0)|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,x5=e[T5>>2]|0,Y=p2,D0=T5,B0=x5):(j2=d2+104|0,m5=e[j2>>2]|0,b5=d2+100|0,V5=e[b5>>2]|0,u5=o5(m5,p2)|0,B5=o5(m5,V5)|0,Y=u5,D0=b5,B0=B5),s5=U5+(x1<<2)|0,F2=e[s5>>2]|0,R2=F2>>1,Q2=U5+3372|0,y5=e[Q2>>2]|0,N5=+(y5|0),p5=U5+3376|0,L5=+l1[p5>>3],q5=N5*L5,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,D5=(T1|0)==0,D5?(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=o5(r5,l5)|0,c5=a5),f5=U5+3384|0,K2=+l1[f5>>3],I5=15/K2,n5=d2+84|0,R5=e[n5>>2]|0,e5=a1-c5|0,v5=R5+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+R5|0,W5=(d3|0)>(z2|0),W5)for(z3=g0;;){if(r3=z3+-1|0,a3=(B+12|0)+(r3<<2)|0,y3=e[a3>>2]|0,Z5=b8(y3)|0,x3=Z5<<3,f3=(z3|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,H3=e6+I|0,X5=(H3|0)>(z2|0),X5)z3=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,V3=(a1|0)<(c5|0),n6=V3&a6,n6)if(c3=a1-c5|0,g3=c3+R5|0,u3=(g3|0)<(z2|0),u3)for(J5=t3;;){if(Q3=(B+12|0)+(J5<<2)|0,H5=e[Q3>>2]|0,Y5=b8(H5)|0,S5=Y5<<3,Y3=J5+1|0,l6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&l6,!S6){j5=J5;break e}if(m=e[n5>>2]|0,l3=S5-c5|0,U3=l3+m|0,C6=(U3|0)<(z2|0),C6)J5=Y3;else{j5=J5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+l1[b>>3],D3=b3-L3,A6=+z7(D3),r6=+(R2|0),D=A6/r6,k=G5+8|0,w=e[k>>2]|0,_=+(w|0),Q=_*D,x=-I5,M=QI5,R3=L?I5:v6,F=R3/_,G=F*r6,H=G+L3,l1[b>>3]=H,V=+z7(H),J=~~V,t0=(B+12|0)+(J<<2)|0,Z=e[t0>>2]|0,A0=b8(Z)|0,j=A0<<3,E=e[i2>>2]|0,r0=E,M3=J,o6=j}else r0=p2,M3=g0,o6=a1;s0=(r0|0)>0,K=(o6|0)<(Y|0),f6=K&s0;e:do if(f6)if(h0=d2+88|0,i0=e[h0>>2]|0,e0=o6-Y|0,u0=e0+i0|0,c0=(u0|0)<0,c0)for(h3=M3,s6=o6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){J3=$0,B6=s6;break e}if(X=(B+12|0)+($0<<2)|0,m0=e[X>>2]|0,I0=b8(m0)|0,n0=I0<<3,d0=e[h0>>2]|0,p0=n0-Y|0,C0=p0+d0|0,b0=(C0|0)<0,b0)h3=$0,s6=n0;else{J3=$0,B6=n0;break}}else J3=M3,B6=o6;else J3=M3,B6=o6;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,N0=e[Q2>>2]|0,U0=(v0|0)>(N0|0),U0)for(d6=J3,K3=B6;;){if(O0=d6+-1|0,H0=(d6|0)<1,H0){m3=O0,F3=K3;break e}if(S0=(B+12|0)+(O0<<2)|0,T0=e[S0>>2]|0,M0=b8(T0)|0,P0=M0<<3,W0=e[x0>>2]|0,K0=P0-B0|0,V0=K0+W0|0,j0=e[Q2>>2]|0,q0=(V0|0)>(j0|0),q0)d6=O0,K3=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)s1=e[Q2>>2]|0,r1=d2+88|0,L0=e[r1>>2]|0,o1=s1+B0|0,d1=o1-L0|0,u1=(d1|0)/8&-1,p1=d2+124|0,e[p1>>2]=0,f1=B+12|0,h1=e[f1>>2]|0,A1=b8(h1)|0,c1=(A1|0)>(u1|0),c1?($1=e[f1>>2]|0,X0=u1<<3,PS($1,X0),B1=e[f1>>2]|0,m1=b8(B1)|0,Q1=m1<<3,W3=Q1):W3=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=b8(R1)|0,U1=S1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,x6=U1;;)if(X1=x6+-1|0,H2(G1,0,8),K1=(x6|0)>1,q1=e[_1>>2]|0,K1)G1=q1,x6=X1;else{d=q1;break}else d=P1;H1=b8(d)|0,V1=H1<<3,W3=V1}Y1=e[i2>>2]|0,t2=(Y1|0)>0,t2?t6=37:(s2=e[D0>>2]|0,e2=(s2|0)>0,e2&&(t6=37));do if((t6|0)==37){if(O1=(B0|0)>0,h2=(W3|0)>(B0|0),N6=O1&h2,N6){A2=W3-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,c2=(W3|0)<(Y|0),j6=f2&c2,j6){n2=W3-Y|0,g2=d2+88|0,o2=e[g2>>2]|0,l2=n2+o2|0,e[g2>>2]=l2;break}if(a2=d2+88|0,m2=e[a2>>2]|0,r2=(m2|0)>(z2|0),r2)if(O1){k2=W3-B0|0,D2=m2+k2|0,S2=(D2|0)<(z2|0),o=S2?z2:D2,e[a2>>2]=o;break}else{e[a2>>2]=z2;break}else if(f2){y2=W3-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,J2=(q2|0)==0,J2?Y2=O2:(U2=d2+104|0,V2=e[U2>>2]|0,Z2=o5(V2,O2)|0,Y2=Z2),A5=W3-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 py(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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=(o|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,m=e[d>>2]|0,I=m+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=dy(D)|0,e[o>>2]=k,w=e[b>>2]|0,Q=b8(w)|0,x=o+4|0,e[x>>2]=Q,M=o+8|0,e[M>>2]=0,L=t0+44|0,F=e[L>>2]|0,G=o+12|0,e[G>>2]=F,O=t0+48|0,H=O,V=H,J=e[V>>2]|0,Z=H+4|0,A0=Z,j=e[A0>>2]|0,r0=o+16|0,s0=r0,K=s0,e[K>>2]=J,o0=s0+4|0,Y=o0,e[Y>>2]=j,h0=t0+56|0,i0=h0,u0=i0,c0=e[u0>>2]|0,$0=i0+4|0,l0=$0,X=e[l0>>2]|0,m0=o+24|0,g0=m0,I0=g0,e[I0>>2]=c0,n0=g0+4|0,d0=n0,e[d0>>2]=X),e[_>>2]=0,a=1,a|0)}function ZS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0;G=C,L=o,O=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(O|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,y=o+68|0,e[y>>2]=0,B=e[t>>2]|0,b=(B|0)==0,b)return 0;for(D=le(1,72)|0,k=o+104|0,e[k>>2]=D,w=D+4|0,s[w>>2]=-9999,_=o+4|0,Q=D+12|0,g=D+40|0,M=0;;)if(d=(M|0)==7,d){e[g>>2]=_,wC(_),M=8;continue}else{if(m=le(1,20)|0,I=Q+(M<<2)|0,e[I>>2]=m,wC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function W8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0;return Z=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,F=L+$|0,G=t+76|0,O=e[G>>2]|0,H=(F|0)>(O|0),V=t+68|0,J=e[V>>2]|0,H?(g=(J|0)==0,g||(d=J,m=M9(8)|0,I=t+80|0,E=e[I>>2]|0,y=E+L|0,e[I>>2]=y,B=t+84|0,b=e[B>>2]|0,D=m+4|0,e[D>>2]=b,e[m>>2]=d,e[B>>2]=m),e[G>>2]=$,k=M9($)|0,e[V>>2]=k,e[w>>2]=0,Q=k,x=0,_=Q+x|0,M=x+$|0,e[w>>2]=M,_|0):(Q=J,x=L,_=Q+x|0,M=x+$|0,e[w>>2]=M,_|0)}function jS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=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,J=(V|0)==0,!J)for(o0=V;t0=o0+4|0,Z=e[t0>>2]|0,A0=e[o0>>2]|0,E2(A0),E2(o0),j=(Z|0)==0,!j;)o0=Z;if(r0=t+80|0,d=e[r0>>2]|0,m=(d|0)==0,o=t+68|0,a=e[o>>2]|0,m?Q=a:(I=t+76|0,E=e[I>>2]|0,y=E+d|0,B=J7(a,y)|0,e[o>>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),w=t+72|0,e[w>>2]=0,e[_>>2]=0,x=(Q|0)==0,x||E2(Q),M=(g|0)==0,M){Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}else K=0;for(;;){if(L=(g+12|0)+(K<<2)|0,F=e[L>>2]|0,vC(F),G=(K|0)==7,G){K=8;continue}if(O=e[L>>2]|0,E2(O),H=K+1|0,s0=(H|0)==15,s0)break;K=H}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 XS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0;return x=C,$=tb(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,y=e[E>>2]|0,B=Lb(o)|0,b=y+60|0,e[b>>2]=B,D=le(1,180)|0,e[y>>2]=D,sb(D,o),k=y+80|0,JS(o,k),w=t+64|0,_=w,d=_,e[d>>2]=3,m=_+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function Ey(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0;if(q2=C,B=(t|0)==0,!B){if(b=t+4|0,w0=e[b>>2]|0,J0=(w0|0)!=0,J0?(z0=w0+28|0,a1=e[z0>>2]|0,S0=a1):S0=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),H=e[x1>>2]|0,E2(H)),Y=x1+12|0,I0=e[Y>>2]|0,C0=(I0|0)==0,C0||(b0=e[I0>>2]|0,xC(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,xC(Z0),R0=e[Q0>>2]|0,v0=e[R0>>2]|0,E2(v0),N0=e[Q0>>2]|0,E2(N0)),U0=x1+48|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0){if(T0=(S0|0)==0,T0)C1=O0;else if(M0=S0+16|0,P0=e[M0>>2]|0,W0=(P0|0)>0,W0){if(K0=S0+800|0,V0=e[K0>>2]|0,j0=25640+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+16|0,s1=e[Y0>>2]|0,r1=e[O0>>2]|0,as[s1&7](r1),L0=e[M0>>2]|0,o1=(L0|0)>1,o1)for(u1=1;o=e[U0>>2]|0,d1=K0+(u1<<2)|0,p1=e[d1>>2]|0,f1=25640+(p1<<2)|0,h1=e[f1>>2]|0,A1=h1+16|0,c1=e[A1>>2]|0,$1=o+(u1<<2)|0,X0=e[$1>>2]|0,as[c1&7](X0),B1=u1+1|0,m1=e[M0>>2]|0,Q1=(B1|0)<(m1|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=(S0|0)==0,S1)W1=v1;else if(M1=S0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=S0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,X1=e[P1>>2]|0,G1=e[v1>>2]|0,as[X1&7](G1),K1=e[M1>>2]|0,q1=(K1|0)>1,q1)for(V1=1;$=e[y1>>2]|0,H1=R1+(V1<<2)|0,Y1=e[H1>>2]|0,t2=25648+(Y1<<2)|0,s2=e[t2>>2]|0,e2=s2+16|0,O1=e[e2>>2]|0,h2=$+(V1<<2)|0,I2=e[h2>>2]|0,as[O1&7](I2),A2=V1+1|0,C2=e[M1>>2]|0,$2=(A2|0)<(C2|0),$2;)V1=A2;g=e[y1>>2]|0,W1=g}else W1=v1;E2(W1)}if(f2=x1+56|0,c2=e[f2>>2]|0,n2=(c2|0)==0,!n2){if(g2=(S0|0)==0,g2)M2=c2;else if(o2=S0+28|0,i2=e[o2>>2]|0,a2=(i2|0)>0,a2){if(by(c2),m2=e[o2>>2]|0,r2=(m2|0)>1,r2)for(D2=1;d=e[f2>>2]|0,k2=d+(D2*52|0)|0,by(k2),S2=D2+1|0,y2=e[o2>>2]|0,G2=(S2|0)<(y2|0),G2;)D2=S2;m=e[f2>>2]|0,M2=m}else M2=c2;E2(M2)}k=x1+60|0,w=e[k>>2]|0,_=(w|0)==0,_||Mb(w),Q=x1+80|0,KS(Q),x=x1+20|0,Gy(x),M=x1+32|0,Gy(M)}if(L=t+8|0,F=e[L>>2]|0,G=(F|0)==0,!G){if(J0)if(O=w0+4|0,V=e[O>>2]|0,J=(V|0)>0,J){for(Z=F,p0=V,O2=0;t0=Z+(O2<<2)|0,A0=e[t0>>2]|0,j=(A0|0)==0,j?K=p0:(E2(A0),E=e[O>>2]|0,K=E),r0=O2+1|0,s0=(r0|0)<(K|0),!!s0;)I=e[L>>2]|0,Z=I,p0=K,O2=r0;y=e[L>>2]|0,o0=y}else o0=F;else o0=F;E2(o0),h0=t+12|0,i0=e[h0>>2]|0,e0=(i0|0)==0,e0||E2(i0)}Z1&&(u0=x1+64|0,c0=e[u0>>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,d0=(n0|0)==0,d0||E2(n0),E2(x1)),p2=t,J2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(J2|0))}}function Cy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0;if(J0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,D0=e[l0>>2]|0,v0=(D0|0)==0,v0||E2(D0),e[l0>>2]=0,N0=r0+68|0,U0=e[N0>>2]|0,O0=(U0|0)==0,O0||E2(U0),e[N0>>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,w=k+o|0,_=t+16|0,Q=e[_>>2]|0,x=(w|0)<(Q|0),x)a=E+4|0,d=e[a>>2]|0,o0=d,S0=11;else if(M=o<<1,F=k+M|0,e[_>>2]=F,G=E+4|0,O=e[G>>2]|0,H=(O|0)>0,H)if(V=t+8|0,J=e[V>>2]|0,t0=e[J>>2]|0,Z=F<<2,A0=J7(t0,Z)|0,j=e[V>>2]|0,e[j>>2]=A0,s0=e[G>>2]|0,K=(s0|0)>1,K)for($0=1;;)if($=e[_>>2]|0,u0=e[V>>2]|0,c0=u0+($0<<2)|0,X=e[c0>>2]|0,m0=$<<2,g0=J7(X,m0)|0,I0=e[V>>2]|0,n0=I0+($0<<2)|0,e[n0>>2]=g0,d0=$0+1|0,p0=e[G>>2]|0,C0=(d0|0)<(p0|0),C0)$0=d0;else{o0=p0,S0=11;break}else o0=s0,S0=11;if((S0|0)==11&&(Y=(o0|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)<(o0|0),Z0)H0=x0;else{g=e0;break}return R0=e[g>>2]|0,R0|0}return m=t+12|0,g=m,R0=e[g>>2]|0,R0|0}function eb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0;if(V0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return b0=t+20|0,y0=e[b0>>2]|0,E0=y0+o|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,N0=e[v0>>2]|0,U0=E0-N0|0,H0=r0+4|0,S0=e[H0>>2]|0,J0=(U0|0)>(S0|0),!J0)?($=0,C=V0,$|0):(yy(t),$=0,C=V0,$|0));if(D0=C,C=C+128|0,O0=t+28|0,T0=e[O0>>2]|0,M0=(T0|0)==0,M0&&yy(t),P0=r0+4|0,y=e[P0>>2]|0,B=y*3|0,Cy(t,B)|0,b=t+20|0,D=e[b>>2]|0,k=t+32|0,e[k>>2]=D,w=e[P0>>2]|0,_=w*3|0,Q=D+_|0,e[b>>2]=Q,x=E+4|0,M=e[x>>2]|0,F=(M|0)>0,!F)return $=0,C=V0,$|0;for(G=t+8|0,O=D,W0=0;;){if(H=(O|0)>64,H?(V=e[P0>>2]|0,J=(O|0)>(V|0),a=J?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,+Qy(j,D0,a,32),s0=e[G>>2]|0,K=s0+(W0<<2)|0,o0=e[K>>2]|0,Y=e[k>>2]|0,h0=o0+(Y<<2)|0,m=Y+-32|0,i0=o0+(m<<2)|0,e0=e[b>>2]|0,u0=e0-Y|0,wy(D0,i0,32,h0,u0)):(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),d0=W0+1|0,p0=e[x>>2]|0,C0=(d0|0)<(p0|0),!C0){$=0;break}g=e[k>>2]|0,O=g,W0=d0}return C=V0,$|0}function By(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0;if(ge=C,b=t+4|0,D=e[b>>2]|0,A2=D+28|0,S5=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,s9=e[V6>>2]|0,k=t+40|0,V=e[k>>2]|0,h0=S5+(V<<2)|0,n0=e[h0>>2]|0,x0=(n0|0)/2&-1,M0=s9-x0|0,L0=o+104|0,X0=e[L0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,q2=e[m2>>2]|0,x5=(q2|0)==-1,x5))return $=0,$|0;Q2=Ab(t)|0,Q5=(Q2|0)==-1;do if(Q5){if(K2=e[m2>>2]|0,I3=(K2|0)==0,I3)return $=0,$|0;e6=t+44|0,e[e6>>2]=0,d=e6,z3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,U5=e[Y3>>2]|0,l6=(Q3|0)==(U5|0),n3=t+44|0,l6){e[n3>>2]=0,d=n3,z3=0;break}else{e[n3>>2]=Q2,d=n3,z3=Q2;break}while(!1);if(l3=e[V6>>2]|0,U3=e[k>>2]|0,C6=S5+(U3<<2)|0,b3=e[C6>>2]|0,L3=(b3|0)/4&-1,D3=L3+l3|0,r6=S5+(z3<<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=o+84|0,n6=e[S6>>2]|0,f6=(n6|0)==0,!f6)for(Q9=n6;b6=Q9+4|0,N6=e[b6>>2]|0,j6=e[Q9>>2]|0,E2(j6),E2(Q9),v6=(N6|0)==0,!v6;)Q9=N6;R3=o+80|0,o6=e[R3>>2]|0,s6=(o6|0)==0,s6||(K3=o+68|0,F3=e[K3>>2]|0,W3=o+76|0,t6=e[W3>>2]|0,R6=t6+o6|0,c6=J7(F3,R6)|0,e[K3>>2]=c6,o3=e[R3>>2]|0,J6=e[W3>>2]|0,A3=J6+o3|0,e[W3>>2]=A3,e[R3>>2]=0),g6=o+72|0,e[g6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,$6=o+24|0,e[$6>>2]=H6,D6=e[k>>2]|0,G6=o+28|0,e[G6>>2]=D6,e9=e[d>>2]|0,Q6=o+32|0,e[Q6>>2]=e9,X6=(D6|0)==0;do if(X6)if(g9=$b(t)|0,U6=(g9|0)==0,Y6=X0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,r9=(e9|0)==0,Y9=P3|r9,o9=X0+8|0,Y9){e[o9>>2]=0;break}else{e[o9>>2]=1;break}while(!1);F6=o+64|0,e[F6>>2]=t,t9=t+64|0,_6=t9,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,h9=O6,n9=e[h9>>2]|0,C9=ns(O3|0,n9|0,1,0)|0,B9=Z6,y9=t9,d9=y9,e[d9>>2]=C9,f9=y9+4|0,V9=f9,e[V9>>2]=B9,w6=o+56|0,q6=w6,w=q6,e[w>>2]=O3,_=q6+4|0,Q=_,e[Q>>2]=n9,x=t+56|0,M=x,L=M,F=e[L>>2]|0,G=M+4|0,O=G,H=e[O>>2]|0,J=o+48|0,t0=J,Z=t0,e[Z>>2]=F,A0=t0+4|0,j=A0,e[j>>2]=H,r0=e[k>>2]|0,s0=S5+(r0<<2)|0,K=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=K,Y=X0+4|0,i0=+s[Y>>2],e0=+s[y6>>2],u0=i0>e0,u0?(s[y6>>2]=i0,c0=i0):c0=e0,$0=+Tb(c0,t),s[y6>>2]=$0,s[Y>>2]=$0,l0=D+4|0,X=e[l0>>2]|0,m0=X<<2,g0=m0+7|0,I0=g0&-8,d0=e[g6>>2]|0,p0=I0+d0|0,C0=o+76|0,b0=e[C0>>2]|0,y0=(p0|0)>(b0|0),D0=o+68|0,E0=e[D0>>2]|0,y0?(Q0=(E0|0)==0,Q0||(w0=E0,B0=M9(8)|0,Z0=e[R3>>2]|0,R0=Z0+d0|0,e[R3>>2]=R0,v0=e[S6>>2]|0,N0=B0+4|0,e[N0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=I0,U0=M9(I0)|0,e[D0>>2]=U0,e[g6>>2]=0,g=e[l0>>2]|0,H0=U0,S0=0,P0=g,q0=I0):(H0=E0,S0=d0,P0=X,q0=b0),O0=H0+S0|0,J0=S0+I0|0,e[g6>>2]=J0,e[o>>2]=O0,T0=P0<<2,W0=T0+7|0,K0=W0&-8,V0=K0+J0|0,j0=(V0|0)>(q0|0),j0?(Y0=(H0|0)==0,Y0||(s1=H0,z0=M9(8)|0,r1=e[R3>>2]|0,o1=r1+J0|0,e[R3>>2]=o1,d1=e[S6>>2]|0,u1=z0+4|0,e[u1>>2]=d1,e[z0>>2]=s1,e[S6>>2]=z0),e[C0>>2]=K0,p1=M9(K0)|0,e[D0>>2]=p1,e[g6>>2]=0,m=e[l0>>2]|0,h1=p1,A1=0,a1=m,Y5=K0):(h1=H0,A1=J0,a1=P0,Y5=q0),f1=h1+A1|0,c1=A1+K0|0,e[g6>>2]=c1,e[X0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(B1=t+8|0,S1=c1,M1=Y5,_1=h1,a9=0;;){if(m1=e[o0>>2]|0,Q1=m1+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,U1=M9(8)|0,D1=e[R3>>2]|0,P1=D1+S1|0,e[R3>>2]=P1,X1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=X1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=v1,x1=M9(v1)|0,e[D0>>2]=x1,e[g6>>2]=0,H1=x1,V1=0):(H1=_1,V1=S1),K1=H1+V1|0,Y1=V1+v1|0,e[g6>>2]=Y1,t2=e[X0>>2]|0,s2=t2+(a9<<2)|0,e[s2>>2]=K1,e2=e[X0>>2]|0,O1=e2+(a9<<2)|0,h2=e[O1>>2]|0,Z1=e[B1>>2]|0,I2=Z1+(a9<<2)|0,$2=e[I2>>2]|0,ce(h2|0,$2|0,C1|0)|0,W1=e[X0>>2]|0,f2=W1+(a9<<2)|0,c2=e[f2>>2]|0,n2=c2+(M0<<2)|0,g2=e[o>>2]|0,o2=g2+(a9<<2)|0,e[o2>>2]=n2,l2=a9+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,a9=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=o+44|0,e[y2>>2]=1,$=1,$|0;if(G2=S5+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(J2=e[M6>>2]|0,lb(J2,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,b5=e[Y2>>2]|0,V5=b5+(u5<<2)|0,b2=e[V5>>2]|0,B5=b2+(p2<<2)|0,s5=B<<2,$A(b2|0,B5|0,s5|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,L5=e[m2>>2]|0,q5=(L5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,H3=x,X5=H3,_3=e[X5>>2]|0,t3=H3+4|0,a6=t3,G3=e[a6>>2]|0,V3=ns(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=x,u3=g3,e[u3>>2]=V3,J5=g3+4|0,H5=J5,e[H5>>2]=c3,$=1,$|0):(M5=L5-p2|0,z2=(M5|0)<1,a=z2?-1:M5,e[m2>>2]=a,E5=(a|0)>(O2|0),E5?(c5=(p2|0)<0,T2=c5<<31>>31,v5=x,z5=v5,i3=e[z5>>2]|0,C5=v5+4|0,d3=C5,W5=e[d3>>2]|0,r3=ns(i3|0,W5|0,p2|0,T2|0)|0,a3=Z6,y3=x,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,D5=T1<<31>>31,d5=x,l5=d5,X2=e[l5>>2]|0,d2=d5+4|0,w5=d2,r5=e[w5>>2]|0,a5=ns(X2|0,r5|0,h5|0,D5|0)|0,f5=Z6,I5=x,n5=I5,e[n5>>2]=a5,R5=I5+4|0,e5=R5,e[e5>>2]=f5,$=1,$|0))}function tb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=0;if(n5=C,y=o+28|0,B=e[y>>2]|0,k1=(B|0)==0,k1||(X1=B+8|0,O1=e[X1>>2]|0,g2=(O1|0)<1,g2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,M5=e[b2>>2]|0,b=(M5|0)<(G2|0),b))return $=1,$|0;O=B+3656|0,o0=e[O>>2]|0,K2=t,R5=K2+112|0;do e[K2>>2]=0,K2=K2+4|0;while((K2|0)<(R5|0));g0=le(1,136)|0,w0=t+104|0,e[w0>>2]=g0,J0=t+4|0,e[J0>>2]=o,z0=e[X1>>2]|0,a1=z0+-1|0,y1=H8(a1)|0,v1=g0+44|0,e[v1>>2]=y1,S1=le(1,4)|0,L1=g0+12|0,e[L1>>2]=S1,M1=le(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=le(1,20)|0,e[S1>>2]=_1,R1=le(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,_C(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,_C(P1,x1),K1=e[B>>2]|0,q1=H8(K1)|0,H1=q1+-7|0,V1=g0+4|0,e[V1>>2]=H1,Y1=e[b2>>2]|0,t2=H8(Y1)|0,s2=t2+-7|0,e2=g0+8|0,e[e2>>2]=s2,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,L5=e[p5>>2]|0,q5=le(L5,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=rD(l5,h5)|0,D=(X2|0)==0,!D){I5=20;break}if(k=e[$5>>2]|0,LC(k),e[$5>>2]=0,w=w5+1|0,_=e[p5>>2]|0,Q=(w|0)<(_|0),Q)Q1=_,w5=w;else break e}if((I5|0)==20&&(I=e[p5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(C1=T1,f5=0;A1=(B+1824|0)+(f5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?m1=C1:(LC(c1),e[A1>>2]=0,E=e[p5>>2]|0,m1=E),X0=f5+1|0,B1=(X0|0)<(m1|0),B1;)C1=m1,f5=X0;return Ey(t),$=-1,$|0}}else{if(Z1=g0+20|0,I2=e[B>>2]|0,Ny(Z1,I2),A2=g0+32|0,C2=e[b2>>2]|0,Ny(A2,C2),$2=B+2848|0,W1=e[$2>>2]|0,f2=(W1|0)==0,f2&&(c2=B+24|0,n2=e[c2>>2]|0,o2=le(n2,56)|0,e[$2>>2]=o2,l2=e[c2>>2]|0,i2=(l2|0)>0,i2&&(a2=B+1824|0,m2=e[a2>>2]|0,Ty(o2,m2)|0,r2=e[c2>>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,Ty(D2,M2)|0,O2=S2+1|0,p2=e[c2>>2]|0,W2=(O2|0)<(p2|0),W2;)S2=O2;q2=B+28|0,J2=e[q2>>2]|0,U2=le(J2,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=o+8|0,i5=U2,d2=0;;){if(T5=i5+(d2*52|0)|0,x5=(B+2852|0)+(d2<<2)|0,j2=e[x5>>2]|0,m5=e[j2>>2]|0,b5=B+(m5<<2)|0,V5=e[b5>>2]|0,u5=(V5|0)/2&-1,B5=e[t5>>2]|0,Fb(T5,j2,N1,u5,B5),s5=d2+1|0,F2=e[q2>>2]|0,R2=(s5|0)<(F2|0),!R2)break t;d=e[V2>>2]|0,i5=d,d2=s5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,F=e[L>>2]|0,G=F<<2,H=M9(G)|0,V=t+8|0,e[V>>2]=H,J=M9(G)|0,t0=t+12|0,e[t0>>2]=J,Z=(F|0)>0,Z&&(A0=le(x,4)|0,e[H>>2]=A0,j=(F|0)>1,j))for(K=1;m=e[V>>2]|0,r0=le(x,4)|0,s0=m+(K<<2)|0,e[s0>>2]=r0,Y=K+1|0,h0=(Y|0)<(F|0),h0;)K=Y;if(i0=t+36|0,e[i0>>2]=0,e0=t+40|0,e[e0>>2]=0,u0=e[b2>>2]|0,c0=(u0|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=le(m0,4)|0,n0=g0+48|0,e[n0>>2]=I0,d0=B+20|0,p0=e[d0>>2]|0,C0=le(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,N0=e[v0>>2]|0,U0=(B+1056|0)+(r5<<2)|0,O0=e[U0>>2]|0,H0=pi[N0&15](t,O0)|0,S0=e[n0>>2]|0,T0=S0+(r5<<2)|0,e[T0>>2]=H0,M0=r5+1|0,P0=e[X>>2]|0,W0=(M0|0)<(P0|0),W0;)r5=M0;if(E0=e[d0>>2]|0,Q0=(E0|0)>0,Q0)a5=0;else return $=0,$|0;for(;;)if(K0=(B+1312|0)+(a5<<2)|0,V0=e[K0>>2]|0,j0=25648+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+8|0,s1=e[Y0>>2]|0,r1=(B+1568|0)+(a5<<2)|0,L0=e[r1>>2]|0,o1=pi[s1&15](t,L0)|0,d1=e[b0>>2]|0,u1=d1+(a5<<2)|0,e[u1>>2]=o1,p1=a5+1|0,f1=e[d0>>2]|0,h1=(p1|0)<(f1|0),h1)a5=p1;else{$=0;break}return $|0}function yy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,o=Z,u0=C,C=C+((1*o|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(m=t+4|0,I=e[m>>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(w=e[b>>2]|0,_=w+(w0<<2)|0,x=e[_>>2]|0,B0=0;M=B0^-1,L=D+M|0,F=x+(L<<2)|0,G=e[F>>2]|0,O=u0+(B0<<2)|0,e[O>>2]=G,H=B0+1|0,V=(D|0)>(H|0),V;)B0=H;if(J=e[y0>>2]|0,t0=D-J|0,+Qy(u0,g,t0,16),A0=e[d>>2]|0,j=e[y0>>2]|0,a=A0-j|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,wy(g,s0,16,r0,j),K=e[d>>2]|0,o0=(K|0)>0,o0)for(Y=e[b>>2]|0,h0=Y+(w0<<2)|0,i0=e[h0>>2]|0,x0=0;e0=u0+(x0<<2)|0,c0=e[e0>>2]|0,$0=x0^-1,l0=K+$0|0,X=i0+(l0<<2)|0,e[X>>2]=c0,m0=x0+1|0,g0=(K|0)>(m0|0),g0;)x0=m0;if(I0=w0+1|0,n0=e[m>>2]|0,d0=n0+4|0,p0=e[d0>>2]|0,b0=(I0|0)<(p0|0),b0)D=K,w0=I0;else break}C=R0}function ib(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=0,l2=0;l2=C,H2(o,5653314,24),m=e[t>>2]|0,H2(o,m,16),I=t+4|0,V=e[I>>2]|0,H2(o,V,24),h0=e[I>>2]|0,n0=(h0|0)>1;e:do if(n0)for(x0=t+8|0,M0=e[x0>>2]|0,g=f[M0>>0]|0,L0=g,O1=1;;){if(X0=L0<<24>>24==0,X0){e2=O1;break e}if(b1=M0+O1|0,E=f[b1>>0]|0,_=E<<24>>24>24,_){e2=O1;break e}if(Q=O1+1|0,x=(Q|0)<(h0|0),x)L0=E,O1=Q;else{e2=Q;break}}else e2=1;while(!1);M=(e2|0)==(h0|0);e:do if(M){if(H2(o,1,1),L=t+8|0,F=e[L>>2]|0,G=f[F>>0]|0,O=G<<24>>24,H=O+-1|0,H2(o,H,5),J=e[I>>2]|0,t0=(J|0)>1,t0)for(w=J,H1=0,Z1=1;;){if(Z=e[L>>2]|0,A0=Z+Z1|0,j=f[A0>>0]|0,r0=Z1+-1|0,s0=Z+r0|0,K=f[s0>>0]|0,o0=j<<24>>24>K<<24>>24,o0)for(Y=K<<24>>24,i0=j<<24>>24,c0=w,V1=H1,c2=Y;;)if(e0=Z1-V1|0,u0=c0-V1|0,$0=H8(u0)|0,H2(o,e0,$0),l0=c2+1|0,s2=(l0|0)==(i0|0),d=e[I>>2]|0,s2){g0=d,Y1=Z1;break}else c0=d,V1=Z1,c2=l0;else g0=w,Y1=H1;if(X=Z1+1|0,m0=(X|0)<(g0|0),m0)w=g0,H1=Y1,Z1=X;else{$=g0,q1=Y1,h2=X;break}}else $=J,q1=0,h2=1;I0=h2-q1|0,d0=$-q1|0,p0=H8(d0)|0,H2(o,I0,p0)}else{H2(o,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(o,0,1),v0=e[I>>2]|0,N0=(v0|0)>0,!N0)break;for(U0=t+8|0,C2=0;;)if(O0=e[U0>>2]|0,H0=O0+C2|0,S0=f[H0>>0]|0,J0=S0<<24>>24,T0=J0+-1|0,H2(o,T0,5),P0=C2+1|0,W0=e[I>>2]|0,K0=(P0|0)<(W0|0),K0)C2=P0;else break e}if(H2(o,1,1),V0=e[I>>2]|0,j0=(V0|0)>0,j0)for(q0=t+8|0,$2=0;Y0=e[q0>>2]|0,s1=Y0+$2|0,z0=f[s1>>0]|0,r1=z0<<24>>24==0,r1?H2(o,0,1):(H2(o,1,1),o1=e[q0>>2]|0,d1=o1+$2|0,u1=f[d1>>0]|0,p1=u1<<24>>24,f1=p1+-1|0,H2(o,f1,5)),h1=$2+1|0,A1=e[I>>2]|0,c1=(h1|0)<(A1|0),c1;)$2=h1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,H2(o,$1,4),B1=e[a1>>2]|0,(B1|0)==2|(B1|0)==1)o2=28;else if(B1|0)return a=-1,a|0;do if((o2|0)==28){if(m1=t+32|0,Q1=e[m1>>2]|0,C1=(Q1|0)==0,C1)return a=-1,a|0;if(y1=t+16|0,v1=e[y1>>2]|0,H2(o,v1,32),k1=t+20|0,S1=e[k1>>2]|0,H2(o,S1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,H2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,H2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=eD(t)|0,g2=D1;else if((U1|0)==2)P1=e[I>>2]|0,X1=e[t>>2]|0,G1=o5(X1,P1)|0,g2=G1;else break;if(x1=(g2|0)>0,x1)for(W1=0;K1=e[m1>>2]|0,y=K1+(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(o,b,D),k=W1+1|0,t2=(k|0)==(g2|0),!t2;)W1=k}while(!1);return a=0,a|0}function Gu(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0;return t0=C,g=(o|0)<0,g||(d=t+12|0,Q=e[d>>2]|0,M=Q+4|0,L=e[M>>2]|0,F=(L|0)>(o|0),!F)?($=0,$|0):(G=t+20|0,O=e[G>>2]|0,H=O+(o<<2)|0,V=e[H>>2]|0,m=Q+8|0,I=e[m>>2]|0,E=I+o|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,w=k+o|0,_=f[w>>0]|0,x=_<<24>>24,$=x,$|0)}function nE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=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||(m=Uu(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,y=e[E>>2]|0,B=y+(m<<2)|0,b=e[B>>2]|0,a=b,a|0)}function rb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,Y=o0<<2,d=Y,h0=C,C=C+((1*d|0)+15&-16)|0,i0=(o0|0)>0;e:do if(i0){for(e0=t+16|0,l0=0;;){if(H=Uu(t,a)|0,V=(H|0)==-1,V){g=-1;break}if(J=e[e0>>2]|0,t0=e[t>>2]|0,Z=o5(t0,H)|0,A0=J+(Z<<2)|0,j=h0+(l0<<2)|0,e[j>>2]=A0,r0=l0+1|0,K=(r0|0)<(o0|0),K)l0=r0;else{u0=t0;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=i0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(X=0,g0=0;;){for(m0=0;k=h0+(m0<<2)|0,w=e[k>>2]|0,_=w+(X<<2)|0,Q=+s[_>>2],x=m0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],G=L+Q,s[M>>2]=G,O=m0+1|0,$0=(O|0)==(o0|0),!$0;)m0=O;if(B=X+1|0,b=g0+o0|0,D=(B|0)<(u0|0),D)X=B,g0=b;else{g=0;break}}return C=n0,g|0}function nb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=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,T0=(B0|0)>8,T0){if(M1=($|0)>0,!M1)return g=0,g|0;for(K1=t+16|0,i2=0;;){if(i0=Uu(t,a)|0,e0=(i0|0)==-1,e0){g=-1,N1=29;break}if(u0=e[K1>>2]|0,c0=e[t>>2]|0,$0=o5(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=u0+(t0<<2)|0,n0=+s[g0>>2],d0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],b0=C0+n0,s[p0>>2]=b0,y0=(m0|0)<(c0|0),y0;)m2=d0,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(K=Uu(t,a)|0,o0=(K|0)==-1,o0){g=-1,N1=29;break e}switch(Y=e[r1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=K,Q=Y,N1=19;break t}case 3:{b=K,x=Y,N1=21;break t}case 7:{I=K,k=Y,N1=13;break t}case 6:{E=K,w=Y,N1=15;break t}case 8:{d=Y,m=K,N1=12;break t}case 5:{y=K,_=Y,N1=17;break t}case 1:{W1=K,c2=Y,O2=r2,A5=0;break t}case 2:{D=K,M=Y,N1=23;break t}default:}}if((N1|0)==12?(N1=0,D0=m<<3,E0=d+(D0<<2)|0,Q0=+s[E0>>2],w0=r2+1|0,x0=o+(r2<<2)|0,Z0=+s[x0>>2],R0=Z0+Q0,s[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,K0=E*6|0,j0=K0,Y0=w,D2=r2,q2=0,N1=16):(N1|0)==17?(N1=0,u1=y*5|0,f1=u1,A1=_,S2=r2,J2=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=x,G2=r2,V2=0,N1=22):(N1|0)==23&&(N1=0,Y1=D<<1,s2=Y1,O1=M,M2=r2,Z2=0,N1=24),(N1|0)==14&&(N1=0,N0=W2+1|0,J=W2+U0|0,O0=H0+(J<<2)|0,S0=+s[O0>>2],J0=k2+1|0,M0=o+(k2<<2)|0,P0=+s[M0>>2],W0=P0+S0,s[M0>>2]=W0,j0=U0,Y0=H0,D2=J0,q2=N0,N1=16),(N1|0)==16&&(N1=0,V0=q2+1|0,V=q2+j0|0,q0=Y0+(V<<2)|0,s1=+s[q0>>2],z0=D2+1|0,L0=o+(D2<<2)|0,o1=+s[L0>>2],d1=o1+s1,s[L0>>2]=d1,f1=j0,A1=Y0,S2=z0,J2=V0,N1=18),(N1|0)==18&&(N1=0,p1=J2+1|0,H=J2+f1|0,h1=A1+(H<<2)|0,c1=+s[h1>>2],a1=S2+1|0,X0=o+(S2<<2)|0,B1=+s[X0>>2],m1=B1+c1,s[X0>>2]=m1,y1=f1,k1=A1,y2=a1,U2=p1,N1=20),(N1|0)==20&&(N1=0,C1=U2+1|0,O=U2+y1|0,v1=k1+(O<<2)|0,S1=+s[v1>>2],L1=y2+1|0,b1=o+(y2<<2)|0,_1=+s[b1>>2],R1=_1+S1,s[b1>>2]=R1,D1=y1,X1=k1,G2=L1,V2=C1,N1=22),(N1|0)==22&&(N1=0,U1=V2+1|0,G=V2+D1|0,P1=X1+(G<<2)|0,G1=+s[P1>>2],x1=G2+1|0,q1=o+(G2<<2)|0,H1=+s[q1>>2],V1=H1+G1,s[q1>>2]=V1,s2=D1,O1=X1,M2=x1,Z2=U1,N1=24),(N1|0)==24&&(N1=0,t2=Z2+1|0,F=Z2+s2|0,e2=O1+(F<<2)|0,h2=+s[e2>>2],Z1=M2+1|0,A2=o+(M2<<2)|0,C2=+s[A2>>2],$2=C2+h2,s[A2>>2]=$2,W1=s2,c2=O1,O2=Z1,A5=t2),L=A5+W1|0,f2=c2+(L<<2)|0,n2=+s[f2>>2],g2=O2+1|0,o2=o+(O2<<2)|0,l2=+s[o2>>2],r0=l2+n2,s[o2>>2]=r0,s0=(g2|0)<($|0),s0)r2=g2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function ob(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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,s0=d+a|0,K=(s0|0)/($|0)&-1,o0=(r0|0)<(K|0),!o0))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,w=e[t>>2]|0,_=o5(w,i0)|0,Q=(w|0)>0,Q)for(c0=e0,X=$0,m0=0;;)if(y=m0+_|0,x=k+(y<<2)|0,M=+s[x>>2],L=c0+1|0,F=o+(c0<<2)|0,G=e[F>>2]|0,H=G+(X<<2)|0,V=+s[H>>2],J=V+M,s[H>>2]=J,t0=(L|0)==($|0),Z=t0&1,E=Z+X|0,m=t0?0:L,A0=m0+1|0,j=(A0|0)<(w|0),j)c0=m,X=E,m0=A0;else{u0=m,l0=E;break}else u0=e0,l0=$0;if(h0=(l0|0)<(K|0),h0)e0=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Uu(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0;m1=C,g=t+40|0,d=e[g>>2]|0,Q=t+36|0,Z=e[Q>>2]|0,u0=kC(o,Z)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,K0=e[v0>>2]|0,d1=K0+(u0<<2)|0,u1=e[d1>>2]|0,m=(u1|0)<0,m){I=u1>>>15,E=I&32767,y=t+8|0,B=e[y>>2]|0,b=u1&32767,D=B-b|0,p1=D,h1=E;break}return k=u1+-1|0,w=t+28|0,_=e[w>>2]|0,x=_+k|0,M=f[x>>0]|0,L=M<<24>>24,SC(o,L),a=k,a|0}else F=t+8|0,G=e[F>>2]|0,p1=G,h1=0;while(!1);if(O=kC(o,d)|0,H=(O|0)<0,V=(d|0)>1,J=H&V,J)for(X0=d;;)if(t0=X0+-1|0,A0=kC(o,t0)|0,j=(A0|0)<0,r0=(t0|0)>1,s0=j&r0,s0)X0=t0;else{$=j,a1=A0,$1=t0;break}else $=H,a1=O,$1=d;if($)return a=-1,a|0;if(K=a1>>>16,o0=a1<<16,Y=K|o0,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,d0=n0&858993459,p0=I0<<2,b0=p0&-858993460,y0=d0|b0,D0=y0>>>1,E0=D0&1431655765,Q0=y0<<1,w0=Q0&-1431655766,B0=E0|w0,x0=p1-h1|0,Z0=(x0|0)>1,Z0)for(R0=t+20|0,N0=e[R0>>2]|0,O0=x0,f1=p1,c1=h1;;)if(U0=O0>>1,H0=U0+c1|0,S0=N0+(H0<<2)|0,J0=e[S0>>2]|0,T0=J0>>>0>B0>>>0,M0=T0?0:U0,P0=M0+c1|0,W0=T0?U0:0,V0=f1-W0|0,j0=V0-P0|0,q0=(j0|0)>1,q0)O0=j0,f1=V0,c1=P0;else{A1=P0;break}else A1=h1;return Y0=t+28|0,s1=e[Y0>>2]|0,z0=s1+A1|0,r1=f[z0>>0]|0,L0=r1<<24>>24,o1=(L0|0)>($1|0),o1?(SC(o,$1),a=-1,a|0):(SC(o,L0),a=A1,a|0)}function sb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0;for(d1=C,y=o+28|0,B=e[y>>2]|0,G=o+4|0,K=e[G>>2]|0,m0=t+4|0,e[m0>>2]=128,Q0=t+8|0,e[Q0>>2]=64,S0=B+2932|0,K0=e[S0>>2]|0,V0=t+12|0,e[V0>>2]=K0,e[t>>2]=K,j0=t+164|0,e[j0>>2]=128,b=B+4|0,D=e[b>>2]|0,k=(D|0)/2&-1,w=t+176|0,e[w>>2]=k,_=le(128,4)|0,Q=t+36|0,e[Q>>2]=_,x=t+16|0,_C(x,128),M=e[Q>>2]|0,z0=0;L=+(z0|0),F=L*.024736950028266088,O=+Vn(+F),H=O,V=M+(z0<<2)|0,J=H*H,s[V>>2]=J,t0=z0+1|0,s1=(t0|0)==128,!s1;)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,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>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,u0=t+120|0,e[u0>>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=M9(X)|0,n0=((t+40|0)+(L0<<4)|0)+8|0,e[n0>>2]=I0,d0=(g0|0)>0,d0){for(p0=+(g0|0),C0=((t+40|0)+(L0<<4)|0)+12|0,E=+s[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,s[x0>>2]=B0,Z0=R0+B0,v0=r1+1|0,q0=(v0|0)==(g0|0),q0){a=Z0;break}else R0=Z0,r1=v0;s[C0>>2]=a,m=C0,U0=a}else g=((t+40|0)+(L0<<4)|0)+12|0,I=+s[g>>2],m=g,U0=I;if(N0=1/U0,s[m>>2]=N0,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=K*7|0,J0=le(H0,144)|0,T0=t+152|0,e[T0>>2]=J0,M0=e[j0>>2]|0,P0=le(M0,4)|0,W0=t+160|0,e[W0>>2]=P0}function ab(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0;H=C,o=t+16|0,xC(o),a=t+48|0,k=e[a>>2]|0,E2(k),_=t+64|0,Q=e[_>>2]|0,E2(Q),x=t+80|0,M=e[x>>2]|0,E2(M),L=t+96|0,F=e[L>>2]|0,E2(F),G=t+112|0,$=e[G>>2]|0,E2($),g=t+128|0,d=e[g>>2]|0,E2(d),m=t+144|0,I=e[m>>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,w=e[D>>2]|0,E2(w),g4(t|0,0,180)|0}function Ab(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0;if(t2=C,d=t+4|0,m=e[d>>2]|0,F=m+28|0,s0=e[F>>2]|0,X=s0+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,w=e[k>>2]|0,_=(w|0)/(b|0)&-1,Q=_+-4|0,x=(D|0)<0,o=x?0:D,M=_+2|0,L=Y0+164|0,G=e[L>>2]|0,O=(M|0)>(G|0),O&&(e[L>>2]=M,H=Y0+160|0,V=e[H>>2]|0,J=M<<2,t0=J7(V,J)|0,e[H>>2]=t0),Z=(o|0)<(Q|0),Z)for(A0=Y0+156|0,j=Y0+160|0,r0=t+8|0,K=Y0+40|0,o0=Y0+152|0,x1=o;;){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,u0=(e0|0)>0,u0){for(G1=0,V1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,I0=e[g0>>2]|0,n0=e[I>>2]|0,d0=o5(n0,x1)|0,p0=I0+(d0<<2)|0,C0=e[o0>>2]|0,b0=G1*7|0,y0=C0+(b0*144|0)|0,D0=cb(Y0,X,p0,K,y0)|0,Q0=D0|V1,w0=G1+1|0,B0=e[Y0>>2]|0,x0=(w0|0)<(B0|0),x0)G1=w0,V1=Q0;else{g=Q0;break}Z0=x1+2|0,R0=e[j>>2]|0,v0=R0+(Z0<<2)|0,e[v0>>2]=0,N0=g&1,U0=(N0|0)==0,U0||(O0=R0+(x1<<2)|0,e[O0>>2]=1,S0=x1+1|0,J0=R0+(S0<<2)|0,e[J0>>2]=1),T0=g&2,M0=(T0|0)==0,M0||(P0=R0+(x1<<2)|0,e[P0>>2]=1,W0=(x1|0)>0,W0&&(K0=x1+-1|0,V0=R0+(K0<<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(s1=x1+1|0,X1=(s1|0)==(Q|0),X1)break;x1=s1}if(z0=e[I>>2]|0,r1=o5(z0,Q)|0,e[A1>>2]=r1,L0=t+48|0,o1=e[L0>>2]|0,d1=t+40|0,u1=e[d1>>2]|0,p1=s0+(u1<<2)|0,f1=e[p1>>2]|0,h1=(f1|0)/4&-1,c1=h1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,X0=($1|0)/2&-1,B1=c1+X0|0,m1=e[s0>>2]|0,Q1=(m1|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,K1=v1;;){if(R1=(K1|0)<(C1|0),!R1){a=1,Y1=22;break}if(e[y1>>2]=K1,F1=(K1|0)/(z0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,y=(K1|0)>(o1|0),H1=y&E,b1=z0+K1|0,H1){q1=K1,Y1=21;break}if(_1=(b1|0)<(S1|0),_1)K1=b1;else{a=-1,Y1=22;break}}return(Y1|0)==21?(B=Y0+172|0,e[B>>2]=q1,a=0,a|0):(Y1|0)==22?a|0:0}function $b(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,u0=e[Z>>2]|0,g0=u0+28|0,I0=e[g0>>2]|0,n0=t+48|0,d0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=I0+(m<<2)|0,E=e[I>>2]|0,y=(E|0)/4&-1,B=d0-y|0,b=y+d0|0,D=(m|0)==0,D?(V=e[I0>>2]|0,J=(V|0)/4&-1,a=J,$=J):(k=t+36|0,w=e[k>>2]|0,_=I0+(w<<2)|0,x=e[_>>2]|0,M=(x|0)/4&-1,L=t+44|0,F=e[L>>2]|0,G=I0+(F<<2)|0,O=e[G>>2]|0,H=(O|0)/4&-1,a=H,$=M),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 o=1,o|0;if(s0=Q+8|0,K=e[s0>>2]|0,o0=(C0|0)/(K|0)&-1,Y=(b0|0)/(K|0)&-1,h0=(o0|0)<(Y|0),!h0)return o=0,o|0;for(i0=Q+160|0,e0=e[i0>>2]|0,y0=o0;;){if(l0=e0+(y0<<2)|0,X=e[l0>>2]|0,m0=(X|0)==0,c0=y0+1|0,!m0){o=1,E0=9;break}if($0=(c0|0)<(Y|0),$0)y0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function lb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0;if(V=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,Q=e[w>>2]|0,x=($|0)/(Q|0)&-1,M=x+2|0,L=(o|0)/(Q|0)&-1,F=t+160|0,G=e[F>>2]|0,O=G+(L<<2)|0,g=M-L|0,d=g<<2,$A(G|0,O|0,d|0)|0,m=e[a>>2]|0,I=m-o|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-o|0,e[D>>2]=_;return}b=y-o|0,e[E>>2]=b,D=t+176|0,k=e[D>>2]|0,_=k-o|0,e[D>>2]=_}function cb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,g2=t+12|0,G2=+s[g2>>2],Y2=A0<<2,x=Y2,b2=C,C=C+((1*x|0)+15&-16)|0,M5=t+156|0,d2=e[M5>>2]|0,T2=(d2|0)>5,G5=(d2|0)/2&-1,d=T2?G5:2,j=o+60|0,$0=+s[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(s2=t+36|0,c2=e[s2>>2]|0,Y5=0;o2=a+(Y5<<2)|0,l2=+s[o2>>2],i2=c2+(Y5<<2)|0,a2=+s[i2>>2],m2=a2*l2,r2=b2+(Y5<<2)|0,s[r2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(A0|0),!Q3;)Y5=k2;D2=t+16|0,vy(D2,b2,b2),S2=+s[b2>>2],y2=S2*S2,M2=y2,O2=b2+4|0,p2=+s[O2>>2],W2=p2,q2=W2*W2,J2=q2*.7,U2=J2+M2,V2=b2+8|0,Z2=+s[V2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=U2+t5,i5=T5,x5=g+140|0,j2=e[x5>>2]|0,m5=(j2|0)==0,m5?(b5=g+136|0,V5=+s[b5>>2],u5=V5+i5,B5=g+132|0,s[B5>>2]=u5,s[b5>>2]=i5,O=B5,z2=u5):(s5=g+132|0,F2=+s[s5>>2],R2=F2+i5,s[s5>>2]=R2,Q2=g+136|0,y5=+s[Q2>>2],N5=y5+i5,s[Q2>>2]=N5,O=s5,z2=R2),p5=(g+72|0)+(j2<<2)|0,L5=+s[p5>>2],q5=z2-L5,s[O>>2]=q5,s[p5>>2]=i5,E5=e[x5>>2]|0,$5=E5+1|0,h5=(E5|0)>13,m=h5?0:$5,e[x5>>2]=m,Q5=(A0|0)/2&-1,T1=(A0|0)>1;e:do if(T1)for(D5=z2*.0625,d5=(s[w2>>2]=D5,e[w2>>2]|0),l5=d5&2147483647,X2=+(l5>>>0),w5=X2*7177114298428933e-22,r5=w5+-764.6162109375,a5=r5,f5=a5*.5,K2=f5+-15,I5=K2,M=I5,N0=S2,S5=0;;){if(v0=N0*N0,O0=S5|1,H0=b2+(O0<<2)|0,S0=+s[H0>>2],J0=S0*S0,T0=J0+v0,M0=(s[w2>>2]=T0,e[w2>>2]|0),P0=M0&2147483647,W0=+(P0>>>0),K0=W0*35885571492144663e-23,V0=K0+-382.30810546875,q0=V0>1,z0=b2+(s1<<2)|0,s[z0>>2]=t0,r1=S5+2|0,L0=(r1|0)<(Q5|0),!L0)break e;o1=M+-8,F=b2+(r1<<2)|0,G=+s[F>>2],M=o1,N0=G,S5=r1}while(!1);if(n5=(d|0)>0,n5)l3=0,z3=0;else{for(n3=0,r6=0;;){if(d1=($+(n3<<4)|0)+4|0,u1=e[d1>>2]|0,p1=(u1|0)>0,p1)for(h1=$+(n3<<4)|0,A1=e[h1>>2]|0,c1=($+(n3<<4)|0)+8|0,a1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,X0=b2+($1<<2)|0,B1=+s[X0>>2],m1=a1+(Y3<<2)|0,Q1=+s[m1>>2],C1=Q1*B1,v1=C1+c3,k1=Y3+1|0,S1=(k1|0)<(u1|0),S1)c3=v1,Y3=k1;else{G3=v1;break}else G3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[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,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],X1=b1P1,b=x1?P1:b1,K1=b+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,V1=e[_1>>2]|0,Y1=V1+1|0,t2=(V1|0)>15,_=t2?0:Y1,e[_1>>2]=_,e2=(o+4|0)+(n3<<2)|0,O1=+s[e2>>2],h2=O1+b3,Z1=q1>h2,I2=r6|5,j5=Z1?I2:r6,A2=(o+32|0)+(n3<<2)|0,C2=+s[A2>>2],$2=C2-b3,W1=K1<$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(R5=($+(l3<<4)|0)+4|0,e5=e[R5>>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(u0=c0+U5|0,l0=b2+(u0<<2)|0,X=+s[l0>>2],m0=g0+(U5<<2)|0,I0=+s[m0>>2],n0=I0*X,d0=n0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=d0,U5=p0;else{V3=d0;break}else V3=0;for(E0=($+(l3<<4)|0)+12|0,Q0=+s[E0>>2],d3=Q0*V3,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=+s[B0>>2],Z0=d3x0,D=R0?x0:d3,l6=0,U3=E,L3=-99999,D3=99999;;)if(s0=(U3|0)<1,w=s0?16:-1,k=w+U3|0,K=(g+(l3*144|0)|0)+(k<<2)|0,o0=+s[K>>2],Y=L3o0,H=i0?o0:D3,e0=l6+1|0,J5=(e0|0)==(d|0),J5){L=h0,V=H;break}else l6=e0,U3=k,L3=h0,D3=H;if(v5=D-V,z5=i3-L,C5=(g+(l3*144|0)|0)+(I3<<2)|0,s[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=(o+4|0)+(l3<<2)|0,x3=+s[Z5>>2],f3=x3+b3,w3=z5>f3,e6=z3|5,M3=w3?e6:z3,H3=(o+32|0)+(l3<<2)|0,X5=+s[H3>>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,z3=J3}return C=m3,A6|0}function nl(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0;if(Ae=C,C=C+4912|0,z6=Ae+1328|0,Se=Ae+1064|0,Ie=Ae+804|0,Pt=Ae+544|0,F4=Ae+284|0,t8=Ae+24|0,$8=Ae+20|0,Zt=Ae+16|0,Ot=Ae+12|0,qt=Ae+8|0,T4=Ae+4|0,st=Ae,A0=o+1296|0,j=e[A0>>2]|0,y2=o+1288|0,n6=e[y2>>2]|0,O3=o+1284|0,w6=e[O3>>2]|0,w9=(w6|0)>0,w9){for(mt=0;r4=Se+(mt<<2)|0,e[r4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(w6|0),!S4;)mt=k4;if(w9){for(Z3=0;Ce=Ie+(Z3<<2)|0,e[Ce>>2]=-200,r0=Z3+1|0,fe=(r0|0)==(w6|0),!fe;)Z3=r0;if(w9){for(l0=w6<<2,g4(Pt|0,0,l0|0)|0,_9=0;D0=F4+(_9<<2)|0,e[D0>>2]=1,O0=_9+1|0,z4=(O0|0)==(w6|0),!z4;)_9=O0;if(w9){if(h1=w6<<2,g4(t8|0,-1,h1|0)|0,v1=(w6|0)>1,!v1)return a4=0,C=Ae,a4|0;for(P1=n6+-1|0,e2=j+1112|0,n2=w6+-1|0,G=e[o>>2]|0,ve=G,S9=0,b4=0;;){Re=S9+1|0,Fe=o+(Re<<2)|0,Ge=e[Fe>>2]|0,qe=z6+(S9*56|0)|0,O4=qe,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[qe>>2]=ve,He=(z6+(S9*56|0)|0)+4|0,e[He>>2]=Ge,J9=(Ge|0)<(n6|0),s8=J9?Ge:P1,Ve=(s8|0)<(ve|0),Ve)_t=0,n8=0,Mt=0,Rt=0,yt=0,P4=0,a8=0,j9=0,jt=0,Tt=0,Z8=0,j8=0;else for(xe=ve,pt=0,J4=0,Ke=0,se=0,D4=0,gt=0,C3=0,F9=0,ht=0,b9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,J=+s[he>>2],Ue=J*7.314285755157471,Ee=Ue+1023.5,v4=~~Ee,Z9=(v4|0)>1023,v9=(v4|0)<0,m=v9?0:v4,b=Z9?1023:m,V4=(b|0)==0;do if(V4)Jt=pt,at=J4,$t=Ke,Bt=se,W4=D4,be=gt,wt=C3,Wt=F9,Ze=ht,et=b9,l4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Ye=+s[nt>>2],Y4=+s[e2>>2],ze=Y4+Ye,n4=!(ze>=J),n4){h4=xe+gt|0,oe=b+Nt|0,d4=o5(xe,xe)|0,f4=d4+se|0,ke=o5(b,b)|0,s0=ke+b9|0,K=o5(b,xe)|0,o0=K+F9|0,Y=J4+1|0,Jt=pt,at=Y,$t=Ke,Bt=f4,W4=D4,be=h4,wt=C3,Wt=o0,Ze=ht,et=s0,l4=u8,Xt=oe;break}else{R4=xe+D4|0,ot=b+u8|0,ne=o5(xe,xe)|0,u4=ne+Ke|0,T6=o5(b,b)|0,Je=T6+ht|0,O9=o5(b,xe)|0,de=O9+C3|0,Te=pt+1|0,Jt=Te,at=J4,$t=u4,Bt=se,W4=R4,be=gt,wt=de,Wt=F9,Ze=Je,et=b9,l4=ot,Xt=Nt;break}while(!1);if(h0=xe+1|0,i0=(xe|0)<(s8|0),i0)xe=h0,pt=Jt,J4=at,Ke=$t,se=Bt,D4=W4,gt=be,C3=wt,F9=Wt,ht=Ze,b9=et,u8=l4,Nt=Xt;else{_t=Jt,n8=at,Mt=$t,Rt=Bt,yt=W4,P4=be,a8=wt,j9=Wt,jt=Ze,Tt=et,Z8=l4,j8=Xt;break}}if(e0=(z6+(S9*56|0)|0)+8|0,e[e0>>2]=yt,u0=(z6+(S9*56|0)|0)+12|0,e[u0>>2]=Z8,c0=(z6+(S9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(S9*56|0)|0)+20|0,e[$0>>2]=jt,X=(z6+(S9*56|0)|0)+24|0,e[X>>2]=a8,m0=(z6+(S9*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(S9*56|0)|0)+32|0,e[g0>>2]=P4,I0=(z6+(S9*56|0)|0)+36|0,e[I0>>2]=j8,n0=(z6+(S9*56|0)|0)+40|0,e[n0>>2]=Rt,d0=(z6+(S9*56|0)|0)+44|0,e[d0>>2]=Tt,p0=(z6+(S9*56|0)|0)+48|0,e[p0>>2]=j9,C0=(z6+(S9*56|0)|0)+52|0,e[C0>>2]=n8,b0=_t+b4|0,I6=(Re|0)==(n2|0),I6){E8=b0;break}else ve=Ge,S9=Re,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=Ae,a4|0;G2=z6+4|0,O4=z6,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[G2>>2]=n6,Y2=(n6|0)<1,Y2)Yt=0,r8=0,Kt=0,Ct=0,ct=0,ae=0,Qt=0,A4=0,l8=0,c8=0,V8=0,Y8=0;else for(b2=j+1112|0,me=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,We=0,$4=0,ut=0,X4=0,M8=0,dt=0;;){M5=$+(me<<2)|0,V=+s[M5>>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,z3=(B|0)==0;do if(z3)zt=xt,G4=Et,U4=At,lt=m4,K4=p4,_4=E4,Z4=We,j4=$4,Ft=ut,g8=X4,R8=M8,F8=dt;else if(f6=a+(me<<2)|0,W3=+s[f6>>2],$6=+s[b2>>2],g9=$6+W3,U6=!(g9>=V),U6){C9=me+E4|0,B9=B+dt|0,y9=o5(me,me)|0,d9=y9+m4|0,f9=o5(B,B)|0,V9=f9+X4|0,q6=o5(B,me)|0,a9=q6+$4|0,Y9=Et+1|0,zt=xt,G4=Y9,U4=At,lt=d9,K4=p4,_4=C9,Z4=We,j4=a9,Ft=ut,g8=V9,R8=M8,F8=B9;break}else{Y6=me+p4|0,F6=B+M8|0,t9=o5(me,me)|0,_6=t9+At|0,P6=o5(B,B)|0,O6=P6+ut|0,s9=o5(B,me)|0,h9=s9+We|0,n9=xt+1|0,zt=n9,G4=Et,U4=_6,lt=m4,K4=Y6,_4=E4,Z4=h9,j4=$4,Ft=O6,g8=X4,R8=F6,F8=dt;break}while(!1);if(Q9=me+1|0,k9=(Q9|0)==(n6|0),k9){Yt=zt,r8=G4,Kt=U4,Ct=lt,ct=K4,ae=_4,Qt=Z4,A4=j4,l8=Ft,c8=g8,V8=R8,Y8=F8;break}else me=Q9,xt=zt,Et=G4,At=U4,m4=lt,p4=K4,E4=_4,We=Z4,$4=j4,ut=Ft,X4=g8,M8=R8,dt=F8}Qe=z6+8|0,e[Qe>>2]=ct,ge=z6+12|0,e[ge>>2]=V8,pe=z6+16|0,e[pe>>2]=Kt,z9=z6+20|0,e[z9>>2]=l8,re=z6+24|0,e[re>>2]=Qt,R9=z6+28|0,e[R9>>2]=Yt,K6=z6+32|0,e[K6>>2]=ae,A9=z6+36|0,e[A9>>2]=Y8,we=z6+40|0,e[we>>2]=Ct,Me=z6+44|0,e[Me>>2]=c8,ue=z6+48|0,e[ue>>2]=A4,D9=z6+52|0,e[D9>>2]=r8,E8=Yt}if(y0=(E8|0)==0,y0)return a4=0,C=Ae,a4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=w6+-1|0,bC(z6,E0,$8,Zt,j)|0,Q0=e[$8>>2]|0,e[Se>>2]=Q0,e[Ie>>2]=Q0,w0=e[Zt>>2]|0,B0=Ie+4|0,e[B0>>2]=w0,x0=Se+4|0,e[x0>>2]=w0,Z0=(w6|0)>2;do if(Z0){R0=j+1112|0,v0=j+1096|0,N0=j+1100|0,U0=j+1104|0,Oe=2;e:for(;;){H0=(o+520|0)+(Oe<<2)|0,S0=e[H0>>2]|0,J0=Pt+(S0<<2)|0,T0=e[J0>>2]|0,M0=F4+(S0<<2)|0,P0=e[M0>>2]|0,W0=t8+(T0<<2)|0,K0=e[W0>>2]|0,V0=(K0|0)==(P0|0);t:do if(!V0){if(j0=(o+520|0)+(T0<<2)|0,Y0=e[j0>>2]|0,s1=(o+520|0)+(P0<<2)|0,z0=e[s1>>2]|0,e[W0>>2]=P0,r1=(j+836|0)+(T0<<2)|0,L0=e[r1>>2]|0,o1=(j+836|0)+(P0<<2)|0,d1=e[o1>>2]|0,u1=Se+(T0<<2)|0,p1=e[u1>>2]|0,f1=(p1|0)<0,A1=Ie+(T0<<2)|0,c1=e[A1>>2]|0,f1?w=c1:(a1=(c1|0)<0,a1?w=p1:($1=c1+p1|0,X0=$1>>1,w=X0)),B1=Se+(P0<<2)|0,m1=e[B1>>2]|0,Q1=(m1|0)<0,C1=Ie+(P0<<2)|0,y1=e[C1>>2]|0,Q1?Q=y1:(k1=(y1|0)<0,k1?Q=m1:(S1=y1+m1|0,L1=S1>>1,Q=L1)),M1=(w|0)==-1,b1=(Q|0)==-1,x8=M1|b1,x8){C4=38;break e}_1=Q-w|0,R1=d1-L0|0,N4=(_1|0)>-1,x9=0-_1|0,F1=N4?_1:x9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,X1=D1|1,G1=$+(L0<<2)|0,Z=+s[G1>>2],x1=Z*7.314285755157471,K1=x1+1023.5,q1=~~K1,H1=(q1|0)>1023,V1=(q1|0)<0,I=V1?0:q1,D=H1?1023:I,Y1=o5(U1,R1)|0,f8=(Y1|0)>-1,p8=0-Y1|0,t2=f8?Y1:p8,s2=F1-t2|0,O1=w-D|0,h2=o5(O1,O1)|0,Z1=a+(L0<<2)|0,I2=+s[Z1>>2],A2=+s[R0>>2],C2=A2+I2,$2=!(C2>=Z),$2?C4=42:(W1=+(w|0),f2=+s[v0>>2],c2=f2+W1,g2=+(D|0),o2=c2>2],i2=W1-l2,a2=i2>g2,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,_8=h2,Vt=1,C8=w;;){if(k2=o4+s2|0,D2=(k2|0)<(R1|0),S2=D2?0:X1,M2=D2?0:R1,Pe=k2-M2|0,F=C8+U1|0,A8=F+S2|0,O2=$+(p2<<2)|0,t0=+s[O2>>2],W2=t0*7.314285755157471,q2=W2+1023.5,J2=~~q2,U2=(J2|0)>1023,V2=(J2|0)<0,E=V2?0:J2,_=U2?1023:E,Z2=A8-_|0,A5=o5(Z2,Z2)|0,N1=A5+_8|0,t5=Vt+1|0,T5=a+(p2<<2)|0,i5=+s[T5>>2],x5=i5+A2,j2=x5>=t0,m5=(_|0)!=0,o8=j2&m5,o8&&(b5=+(A8|0),V5=+s[v0>>2],u5=V5+b5,B5=+(_|0),s5=u5>2],R2=b5-F2,Q2=R2>B5,Q2)))break i;if(y5=p2+1|0,N5=(y5|0)<(d1|0),N5)p2=y5,o4=Pe,_8=N1,Vt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=h2,Ht=1;if(p5=+s[v0>>2],L5=p5*p5,q5=+(Ht|0),z2=L5/q5,E5=+s[U0>>2],$5=z2>E5,!$5&&(h5=+s[N0>>2],Q5=h5*h5,T1=Q5/q5,D5=T1>E5,!D5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),X2=l5>E5,X2)))break;g3=Se+(Oe<<2)|0,e[g3>>2]=-200,u3=Ie+(Oe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=z6+(Y0*56|0)|0,r5=S0-Y0|0,a5=bC(w5,r5,Ot,qt,j)|0,f5=z6+(S0*56|0)|0,K2=z0-S0|0,I5=bC(f5,K2,T4,st,j)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=w,R5=e[T4>>2]|0,e[qt>>2]=R5),e5=(I5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=Q,n5)){v5=Se+(Oe<<2)|0,e[v5>>2]=-200,z5=Ie+(Oe<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,C5=(T0|0)==0,C5&&(e[Se>>2]=i3),I3=e[qt>>2]|0,d3=Se+(Oe<<2)|0,e[d3>>2]=I3,W5=e[T4>>2]|0,r3=Ie+(Oe<<2)|0,e[r3>>2]=W5,a3=e[st>>2]|0,e[B1>>2]=a3,y3=(P0|0)==1,y3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(S0|0)>0;i:do if(f3)for(e8=S0;;){if(D8=e8+-1|0,e6=F4+(D8<<2)|0,H3=e[e6>>2]|0,X5=(H3|0)==(P0|0),!X5)break i;if(e[e6>>2]=Oe,_3=(e8|0)>1,_3)e8=D8;else break}while(!1);if(m8=S0+1|0,w3=(m8|0)<(w6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,a6=e[t3>>2]|0,V3=(a6|0)==(T0|0),!V3)break t;if(e[t3>>2]=Oe,I8=Ut+1|0,c3=(I8|0)<(w6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=Oe+1|0,J5=(Q3|0)<(w6|0),J5)Oe=Q3;else{C4=68;break}}if((C4|0)==38)LS(1);else if((C4|0)==68){O=e[Se>>2]|0,H=e[Ie>>2]|0,S5=O,l6=H;break}}else S5=Q0,l6=Q0;while(!1);if(H5=w6<<2,Y5=W8(t,H5)|0,Y3=(S5|0)<0,Y3?k=l6:(n3=(l6|0)<0,n3?k=S5:(l3=l6+S5|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?M=L3:(D3=(L3|0)<0,D3?M=C6:(A6=L3+C6|0,r6=A6>>1,M=r6)),j5=Y5+4|0,e[j5>>2]=M,Z0)s4=2;else return a4=Y5,C=Ae,a4|0;for(;;)if(M3=s4+-2|0,h3=(o+1032|0)+(M3<<2)|0,J3=e[h3>>2]|0,d6=(o+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,v6=e[j6>>2]|0,R3=(j+836|0)+(s4<<2)|0,o6=e[R3>>2]|0,s6=N6&32767,B6=v6&32767,K3=B6-s6|0,F3=S6-L6|0,d8=(K3|0)>-1,Lt=0-K3|0,t6=d8?K3:Lt,R6=o6-L6|0,c6=o5(t6,R6)|0,o3=(c6|0)/(F3|0)&-1,J6=(K3|0)<0,A3=0-o3|0,L=J6?A3:o3,x=L+s6|0,g6=Se+(s4<<2)|0,y6=e[g6>>2]|0,T3=(y6|0)<0,H6=Ie+(s4<<2)|0,D6=e[H6>>2]|0,T3?y=D6:(G6=(D6|0)<0,G6?y=y6:(e9=D6+y6|0,Q6=e9>>1,y=Q6)),X6=(y|0)<0,P3=(x|0)==(y|0),L8=X6|P3,r9=x|32768,g=L8?r9:y,V6=Y5+(s4<<2)|0,e[V6>>2]=g,o9=s4+1|0,I4=(o9|0)==(w6|0),I4){a4=Y5;break}else s4=o9;return C=Ae,a4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0;if(u0=C,d=o+1284|0,m=e[d>>2]|0,x=(a|0)!=0,t0=($|0)!=0,h0=x&t0,!h0)return i0=0,i0|0;if(Z=m<<2,A0=W8(t,Z)|0,j=(m|0)>0,!j)return i0=A0,i0|0;for(r0=65536-g|0,Y=0;;)if(s0=a+(Y<<2)|0,K=e[s0>>2]|0,I=K&32767,E=o5(I,r0)|0,y=$+(Y<<2)|0,B=e[y>>2]|0,b=B&32767,D=o5(b,g)|0,k=E+32768|0,w=k+D|0,_=w>>16,Q=A0+(Y<<2)|0,e[Q>>2]=_,M=e[s0>>2]|0,L=M&32768,F=(L|0)==0,F||(G=e[y>>2]|0,O=G&32768,H=(O|0)==0,H||(V=_|32768,e[Q>>2]=V)),J=Y+1|0,o0=(J|0)==(m|0),o0){i0=A0;break}else Y=J;return i0|0}function gb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=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=o+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,x=l3+2848|0,A0=e[x>>2]|0,c0=($|0)==0,c0)return H2(t,0,1),T5=o+36|0,i5=e[T5>>2]|0,x5=(i5|0)/2&-1,j2=x5<<2,g4(g|0,0,j2|0)|0,m=0,C=O6,m|0;if(b0=(F2|0)>0,b0)for(N0=Q+832|0,B6=0;V0=$+(B6<<2)|0,p1=e[V0>>2]|0,C1=p1&32767,U1=e[N0>>2]|0,(U1|0)==4?(Z2=C1>>>4,Y6=Z2):(U1|0)==1?(t2=C1>>>2,Y6=t2):(U1|0)==2?(c2=C1>>>3,Y6=c2):(U1|0)==3?(S2=(C1>>>0)/12&-1,Y6=S2):Y6=C1,m5=p1&32768,b5=m5|Y6,e[V0>>2]=b5,V5=B6+1|0,v6=(V5|0)==(F2|0),!v6;)B6=V5;if(u5=e[$>>2]|0,e[U6>>2]=u5,b2=$+4|0,B5=e[b2>>2]|0,s5=U6+4|0,e[s5>>2]=B5,R2=(F2|0)>2,Q2=a+1292|0,R2){for(K3=2;;){if(y5=K3+-2|0,N5=(a+1032|0)+(y5<<2)|0,p5=e[N5>>2]|0,L5=(a+780|0)+(y5<<2)|0,q5=e[L5>>2]|0,M5=(Q+836|0)+(p5<<2)|0,z2=e[M5>>2]|0,E5=(Q+836|0)+(q5<<2)|0,h5=e[E5>>2]|0,Q5=$+(p5<<2)|0,T1=e[Q5>>2]|0,D5=$+(q5<<2)|0,d5=e[D5>>2]|0,l5=(Q+836|0)+(K3<<2)|0,X2=e[l5>>2]|0,d2=T1&32767,w5=d5&32767,r5=w5-d2|0,f5=h5-z2|0,W3=(r5|0)>-1,r9=0-r5|0,K2=W3?r5:r9,I5=X2-z2|0,n5=o5(K2,I5)|0,R5=(n5|0)/(f5|0)&-1,e5=(r5|0)<0,c5=0-R5|0,E=e5?c5:R5,I=E+d2|0,T2=$+(K3<<2)|0,v5=e[T2>>2]|0,z5=v5&32768,C5=(z5|0)!=0,I3=(v5|0)==(I|0),g9=C5|I3,g9)d3=I|32768,e[T2>>2]=d3,W5=U6+(K3<<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,H3=d+e6|0,F6=H3;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);V3=U6+(K3<<2)|0,e[V3>>2]=F6,e[Q5>>2]=d2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=K3+1|0,j6=(Q3|0)==(F2|0),j6)break;K3=Q3}b=e[U6>>2]|0,D=e[s5>>2]|0,A6=b,M3=D}else A6=u5,M3=B5;if(H2(t,1,1),J5=a+1308|0,H5=e[J5>>2]|0,Y5=H5+1|0,e[J5>>2]=Y5,S5=e[Q2>>2]|0,Y3=S5+-1|0,U5=H8(Y3)|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,z3=r6+-1|0,j5=H8(z3)|0,H2(t,M3,j5),M=e[Q>>2]|0,L=(M|0)>0,L)for(F=a+1300|0,F3=0,c6=2;;){if(G=(Q+4|0)+(F3<<2)|0,O=e[G>>2]|0,H=(Q+128|0)+(O<<2)|0,V=e[H>>2]|0,J=(Q+192|0)+(O<<2)|0,t0=e[J>>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;d0=((Q+320|0)+(O<<5)|0)+(A3<<2)|0,p0=e[d0>>2]|0,C0=(p0|0)<0,C0?w=1:(y0=(l3+1824|0)+(p0<<2)|0,D0=e[y0>>2]|0,E0=D0+4|0,Q0=e[E0>>2]|0,w=Q0),w0=P3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,x0=(B0|0)<(Z|0),x0;)A3=B0;s0=(V|0)>0;e:do if(s0){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(K=P3+(H6<<2)|0,o0=e[K>>2]|0,h0=(Y|0)<(o0|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,u0=h3+(y6<<2)|0,e[u0>>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,T0=A0+(J0*56|0)|0,M0=Gu(T0,m3,t)|0,P0=e[F>>2]|0,W0=P0+M0|0,e[F>>2]=W0}if(K0=(V|0)>0,K0)for(T3=0;j0=h3+(T3<<2)|0,q0=e[j0>>2]|0,Y0=((Q+320|0)+(O<<5)|0)+(q0<<2)|0,s1=e[Y0>>2]|0,z0=(s1|0)>-1,z0&&(r1=T3+c6|0,L0=U6+(r1<<2)|0,o1=e[L0>>2]|0,d1=(A0+(s1*56|0)|0)+4|0,u1=e[d1>>2]|0,f1=(o1|0)<(u1|0),f1&&(h1=A0+(s1*56|0)|0,A1=Gu(h1,o1,t)|0,c1=e[n3>>2]|0,a1=c1+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,m1=e[Q>>2]|0,Q1=(B1|0)<(m1|0),Q1)F3=B1,c6=X0;else break}if(y1=e[$>>2]|0,v1=Q+832|0,k1=e[v1>>2]|0,S1=o5(k1,y1)|0,L1=o+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(o6=0,o3=1,D6=0,Q6=S1;;){if(K1=(a+260|0)+(o3<<2)|0,q1=e[K1>>2]|0,H1=$+(q1<<2)|0,V1=e[H1>>2]|0,Y1=V1&32767,s2=(Y1|0)==(V1|0),s2)if(e2=e[v1>>2]|0,O1=o5(e2,V1)|0,h2=(Q+836|0)+(q1<<2)|0,Z1=e[h2>>2]|0,I2=O1-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,g2=o5($2,A2)|0,R6=(g2|0)>-1,o9=0-g2|0,o2=R6?g2:o9,l2=C2-o2|0,i2=(R1|0)>(Z1|0),t9=i2?Z1:R1,a2=(t9|0)>(D6|0),a2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),r2=D6+1|0,k2=(r2|0)<(t9|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)==(t9|0),f6){s6=Z1,G6=Z1,X6=O1;break}else p2=W2,M6=S6,_6=P6;else s6=Z1,G6=Z1,X6=O1;else s6=o6,G6=D6,X6=Q6;if(q2=o3+1|0,J2=e[f2>>2]|0,U2=(q2|0)<(J2|0),U2)o6=s6,o3=q2,D6=G6,Q6=X6;else{R3=s6,e9=X6;break}}else R3=0,e9=S1;if(P1=o+36|0,X1=e[P1>>2]|0,G1=(X1|0)/2&-1,x1=(R3|0)<(G1|0),x1)J6=R3;else return m=1,C=O6,m|0;for(;;)if(V2=g+(J6<<2)|0,e[V2>>2]=e9,A5=J6+1|0,Y2=e[P1>>2]|0,N1=(Y2|0)/2&-1,t5=(A5|0)<(N1|0),t5)J6=A5;else{m=1;break}return C=O6,m|0}function bC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0;if(A5=C,y=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,y0=e[$0>>2]|0,U0=(o|0)>0,U0)for(j0=g+1108|0,f1=+s[j0>>2],n2=0,i2=0,m2=0,S2=0,O2=0,J2=0;;)if(y1=(t+(i2*56|0)|0)+52|0,D1=e[y1>>2]|0,s2=(t+(i2*56|0)|0)+28|0,b=e[s2>>2]|0,O=b+D1|0,K=+(O|0),o0=K*f1,Y=b+1|0,h0=+(Y|0),i0=o0/h0,e0=i0,u0=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*u0,d0=X+S2,p0=d0+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*u0,x0=D0+J2,Z0=x0+B0,R0=(t+(i2*56|0)|0)+40|0,v0=e[R0>>2]|0,N0=+(v0|0),O0=(t+(i2*56|0)|0)+16|0,H0=e[O0>>2]|0,S0=+(H0|0),J0=S0*u0,T0=N0+m2,M0=T0+J0,P0=(t+(i2*56|0)|0)+48|0,W0=e[P0>>2]|0,K0=+(W0|0),V0=(t+(i2*56|0)|0)+24|0,q0=e[V0>>2]|0,Y0=+(q0|0),s1=Y0*u0,z0=K0+O2,r1=z0+s1,L0=+(D1|0),o1=+(b|0),d1=u0*o1,u1=L0+n2,p1=u1+d1,h1=i2+1|0,l2=(h1|0)==(o|0),l2){c2=p1,a2=M0,D2=p0,M2=r1,q2=Z0;break}else n2=p1,i2=h1,m2=M0,S2=p0,O2=r1,J2=Z0;else c2=0,a2=0,D2=0,M2=0,q2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(a1=+(y|0),$1=D2+a1,X0=+(A1|0),B1=X0+q2,m1=o5(y,y)|0,Q1=+(m1|0),C1=a2+Q1,v1=o5(A1,y)|0,k1=+(v1|0),S1=k1+M2,L1=c2+1,g2=L1,r2=C1,y2=$1,p2=S1,U2=B1):(g2=c2,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),U1=F1+U2,P1=o5(y0,y0)|0,X1=+(P1|0),G1=r2+X1,x1=o5(M1,y0)|0,K1=+(x1|0),q1=K1+p2,H1=g2+1,o2=H1,k2=G1,G2=R1,W2=q1,V2=U1):(o2=g2,k2=r2,G2=y2,W2=p2,V2=U2),V1=k2*o2,Y1=G2*G2,t2=V1-Y1,e2=t2>0,e2?(O1=V2*k2,h2=G2*W2,Z1=O1-h2,I2=Z1/t2,A2=W2*o2,C2=G2*V2,$2=A2-C2,W1=$2/t2,f2=+(y|0),D=W1*f2,k=D+I2,w=+z7(k),_=~~w,e[a>>2]=_,Q=+(y0|0),x=W1*Q,M=x+I2,L=+z7(M),F=~~L,e[$>>2]=F,G=e[a>>2]|0,H=(G|0)>1023,H?(e[a>>2]=1023,m=e[$>>2]|0,V=m,r0=1023):(V=F,r0=G),J=(V|0)>1023,J?(e[$>>2]=1023,I=e[a>>2]|0,t0=I,s0=1023):(t0=r0,s0=V),Z=(t0|0)<0,Z?(e[a>>2]=0,E=e[$>>2]|0,A0=E):A0=s0,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 ub(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0;if(L0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,j=e[t>>2]|0,H2(o,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(o,b,4),D=e[B>>2]|0,k=(z0|0)<(D|0),a=k?D:z0,w=W0+1|0,_=e[t>>2]|0,Q=(w|0)<(_|0),Q)W0=w,z0=a;else{$=a;break}if(H0=($|0)>-1,H0)for(S0=t+128|0,J0=t+192|0,E=t+256|0,y=t+320|0,K0=0;;){if(x=S0+(K0<<2)|0,L=e[x>>2]|0,F=L+-1|0,H2(o,F,3),G=J0+(K0<<2)|0,O=e[G>>2]|0,H2(o,O,2),H=e[G>>2]|0,V=(H|0)==0,V?(j0=0,r1=8):(J=E+(K0<<2)|0,t0=e[J>>2]|0,H2(o,t0,8),g=e[G>>2]|0,Z=(g|0)==31,Z||(j0=0,r1=8)),(r1|0)==8)for(;r1=0,A0=(y+(K0<<5)|0)+(j0<<2)|0,r0=e[A0>>2]|0,s0=r0+1|0,H2(o,s0,8),K=j0+1|0,o0=e[G>>2]|0,Y=1<>2]|0,c0=u0+-1|0,H2(o,c0,2),l0=M+-1|0,X=H8(l0)|0,H2(o,X,4),m0=H8(l0)|0,g0=e[t>>2]|0,I0=(g0|0)>0,!!I0)for(n0=t+4|0,d0=t+128|0,O0=g0,T0=0,V0=0,q0=0;;){if(p0=n0+(V0<<2)|0,C0=e[p0>>2]|0,b0=d0+(C0<<2)|0,D0=e[b0>>2]|0,E0=D0+T0|0,Q0=(q0|0)<(E0|0),Q0){for(s1=q0;w0=s1+2|0,B0=m+(w0<<2)|0,x0=e[B0>>2]|0,H2(o,x0,m0),Z0=s1+1|0,M0=(Z0|0)==(E0|0),!M0;)s1=Z0;d=e[t>>2]|0,N0=d,Y0=E0}else N0=O0,Y0=q0;if(R0=V0+1|0,v0=(R0|0)<(N0|0),v0)O0=N0,T0=E0,V0=R0,q0=Y0;else break}}function hb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0;Z1=C,C=C+272|0,O1=Z1,_=t+28|0,Q=e[_>>2]|0,Z=le(1,1120)|0,u0=i4(o,5)|0,e[Z>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=Z+4|0,X1=0,s2=-1;;){if(L=i4(o,4)|0,F=v0+(X1<<2)|0,e[F>>2]=L,G=(L|0)<0,G)break e;if(O=(s2|0)<(L|0),g=O?L:s2,H=X1+1|0,V=e[Z>>2]|0,J=(H|0)<(V|0),J)X1=H,s2=g;else{d=g;break}}if(K0=(d|0)>-1,K0)for(u1=Z+128|0,Q1=Z+192|0,F1=Z+256|0,x=Q+24|0,M=Z+320|0,G1=0;;){if(t0=i4(o,3)|0,A0=t0+1|0,j=u1+(G1<<2)|0,e[j>>2]=A0,r0=i4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,K=(r0|0)<0,K||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,i0=I):(Y=i4(o,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=Y,i0=Y),e0=(i0|0)<0,e0)||(c0=e[x>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,X=(l0|0)==31,!X)for(H1=0;;){if(d0=i4(o,8)|0,p0=d0+-1|0,b0=(M+(G1<<5)|0)+(H1<<2)|0,e[b0>>2]=p0,y0=(d0|0)<0,y0||(D0=e[x>>2]|0,E0=(d0|0)>(D0|0),I0=H1+1|0,E0))break e;if(m0=e[s0>>2]|0,g0=1<>2]=x0,R0=i4(o,4)|0,N0=(R0|0)<0,!N0)){if(U0=e[Z>>2]|0,O0=(U0|0)>0,O0)for(H0=Z+4|0,S0=Z+128|0,J0=Z+836|0,T0=1<>2]|0,W0=S0+(P0<<2)|0,V0=e[W0>>2]|0,j0=V0+P1|0,q0=(j0|0)>63,q0)break e;if(Y0=(V1|0)<(j0|0),Y0){for(t2=V1;;){if(s1=i4(o,R0)|0,z0=t2+2|0,r1=J0+(z0<<2)|0,e[r1>>2]=s1,L0=(s1|0)>-1,o1=(s1|0)<(T0|0),e2=L0&o1,!e2)break e;if(d1=t2+1|0,p1=(d1|0)<(j0|0),p1)t2=d1;else{$=d1;break}}B=e[Z>>2]|0,A1=B,Y1=$}else A1=U1,Y1=V1;if(f1=x1+1|0,h1=(f1|0)<(A1|0),h1)U1=A1,P1=j0,x1=f1,V1=Y1;else{E=J0,y=T0,D1=j0;break}}else k=Z+836|0,w=1<>2]=0,c1=Z+840|0,e[c1>>2]=y,a1=D1+2|0,$1=(D1|0)>-2,$1)for(K1=0;X0=E+(K1<<2)|0,B1=O1+(K1<<2)|0,e[B1>>2]=X0,m1=K1+1|0,C1=(m1|0)<(a1|0),C1;)K1=m1;Pu(O1,a1,4,8),y1=(a1|0)>1;t:do if(y1){for(b=e[O1>>2]|0,D=e[b>>2]|0,b1=D,q1=1;S1=O1+(q1<<2)|0,L1=e[S1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),v1=q1+1|0,!_1;)if(k1=(v1|0)<(a1|0),k1)b1=M1,q1=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 db(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,$=le(1,1312)|0,g=$+1296|0,e[g>>2]=o,_=o+836|0,t0=o+840|0,e0=e[t0>>2]|0,p0=$+1288|0,e[p0>>2]=e0,R0=e[o>>2]|0,W0=(R0|0)>0,W0){for(z0=o+4|0,d=o+128|0,f1=0,S1=0;;)if(m=z0+(f1<<2)|0,I=e[m>>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,w=$+1284|0,e[w>>2]=k,Q=(a|0)>-2,Q?(G=k,k1=a,_1=7):(Pu(b1,k,4,8),v1=a)}else s1=$+1284|0,e[s1>>2]=2,G=2,k1=0,_1=7;if((_1|0)==7){for(h1=0;x=_+(h1<<2)|0,M=b1+(h1<<2)|0,e[M>>2]=x,L=h1+1|0,F=(L|0)<(G|0),F;)h1=L;for(Pu(b1,G,4,8),O=_,H=$+260|0,A1=0;Z=b1+(A1<<2)|0,A0=e[Z>>2]|0,j=A0,r0=j-O|0,s0=r0>>2,K=H+(A1<<2)|0,e[K>>2]=s0,o0=A1+1|0,Y=(o0|0)<(G|0),Y;)A1=o0;for(V=$+260|0,J=$+520|0,c1=0;i0=V+(c1<<2)|0,u0=e[i0>>2]|0,c0=J+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(G|0),l0;)c1=$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,d0=a1+1|0,C0=(d0|0)<(G|0),C0)a1=d0;else{v1=k1;break}}if(b0=o+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,N0=_+(v0<<2)|0,U0=e[N0>>2]|0,O0=e[p0>>2]|0,L0=1,u1=O0,X0=0,B1=0,C1=0;;)if(H0=_+(X0<<2)|0,S0=e[H0>>2]|0,J0=(S0|0)>(C1|0),T0=(S0|0)<(U0|0),L1=J0&T0,m1=L1?X0:B1,y1=L1?S0:C1,M0=(S0|0)<(u1|0),P0=(S0|0)>(U0|0),M1=M0&P0,o1=M1?X0:L0,p1=M1?S0:u1,K0=X0+1|0,V0=(K0|0)<(v0|0),V0)L0=o1,u1=p1,X0=K0,B1=m1,C1=y1;else{d1=o1,Q1=m1;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 fb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Ib(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function mb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;if(S2=C,d=o+1296|0,m=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,P1=v1+2848|0,e2=e[P1>>2]|0,I=t+4|0,M=i4(I,1)|0,j=(M|0)==1,!j)return a=0,a|0;Y=o+1284|0,h0=e[Y>>2]|0,i0=h0<<2,e0=W8(t,i0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,X=H8($0)|0,m0=i4(I,X)|0,e[e0>>2]=m0,g0=e[u0>>2]|0,I0=g0+-1|0,n0=H8(I0)|0,d0=i4(I,n0)|0,p0=e0+4|0,e[p0>>2]=d0,C0=e[m>>2]|0,b0=(C0|0)>0;e:do if(b0){o2=0,a2=2;t:for(;;){if(B0=(m+4|0)+(o2<<2)|0,x0=e[B0>>2]|0,Z0=(m+128|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=(m+192|0)+(x0<<2)|0,N0=e[v0>>2]|0,U0=1<>2]|0,T0=e2+(J0*56|0)|0,M0=nE(T0,I)|0,P0=(M0|0)==-1,P0){a=0,D2=25;break}else n2=M0;if(W0=(R0|0)>0,W0)for(K0=U0+-1|0,g2=n2,m2=0;;){if(V0=g2&K0,j0=((m+320|0)+(x0<<5)|0)+(V0<<2)|0,Y0=e[j0>>2]|0,s1=g2>>N0,z0=(Y0|0)>-1,z0){if(r1=e2+(Y0*56|0)|0,L0=nE(r1,I)|0,o1=m2+a2|0,d1=e0+(o1<<2)|0,e[d1>>2]=L0,u1=(L0|0)==-1,u1){a=0,D2=25;break t}}else p1=m2+a2|0,f1=e0+(p1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,c1=(A1|0)<(R0|0),c1)g2=s1,m2=A1;else break}if(a1=R0+a2|0,$1=o2+1|0,X0=e[m>>2]|0,B1=($1|0)<(X0|0),B1)o2=$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=o+1032|0,w0=o+780|0,l2=2;;){if(m1=l2+-2|0,Q1=Q0+(m1<<2)|0,C1=e[Q1>>2]|0,y1=(m+836|0)+(C1<<2)|0,k1=e[y1>>2]|0,S1=w0+(m1<<2)|0,L1=e[S1>>2]|0,M1=(m+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,U1=e[F1>>2]|0,D1=(m+836|0)+(l2<<2)|0,X1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,K1=x1-G1|0,q1=b1-k1|0,i2=(K1|0)>-1,r2=0-K1|0,H1=i2?K1:r2,V1=X1-k1|0,Y1=o5(H1,V1)|0,t2=(Y1|0)/(q1|0)&-1,s2=(K1|0)<0,O1=0-t2|0,g=s2?O1:t2,$=g+G1|0,h2=e[u0>>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,c2=(A2|0)<(f2|0);do if(c2)if(D=A2&1,k=(D|0)==0,k){x=A2>>1,k2=x;break}else{w=A2+1|0,_=w>>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);L=k2+$|0,F=L&32767,e[I2>>2]=F,G=e[Q1>>2]|0,O=e0+(G<<2)|0,H=e[O>>2]|0,V=H&32767,e[O>>2]=V,J=e[S1>>2]|0,t0=e0+(J<<2)|0,Z=e[t0>>2]|0,A0=Z&32767,e[t0>>2]=A0}if(s0=l2+1|0,K=e[Y>>2]|0,o0=(s0|0)<(K|0),o0)l2=s0;else{a=e0;break}}return a|0}function pb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0;if(D1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,j=e[M>>2]|0,$0=j+4|0,y0=e[$0>>2]|0,U0=y0+28|0,j0=e[U0>>2]|0,u1=t+28|0,p1=e[u1>>2]|0,E=j0+(p1<<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,w=e[k>>2]|0,_=o5(w,D)|0,Q=(_|0)<0,x=(_|0)>255,L=x?255:_,F=Q?0:L,G=o+1284|0,O=e[G>>2]|0,H=(O|0)>1,H)for(V=o+260|0,$1=0,Q1=1,y1=0,S1=F;;){if(A0=V+(Q1<<2)|0,r0=e[A0>>2]|0,s0=a+(r0<<2)|0,K=e[s0>>2]|0,o0=K&32767,Y=(o0|0)==(K|0),Y)if(h0=(I+836|0)+(r0<<2)|0,i0=e[h0>>2]|0,e0=o5(w,K)|0,u0=(e0|0)<0,c0=(e0|0)>255,l0=c0?255:e0,X=u0?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,d0=m0>>31,p0=d0|1,C0=o5(n0,g0)|0,m1=(C0|0)>-1,b1=0-C0|0,b0=m1?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=+s[w0>>2],x0=$+(y1<<2)|0,Z0=+s[x0>>2],R0=Z0*B0,s[x0>>2]=R0),v0=y1+1|0,N0=(v0|0)<(_1|0),N0)for(W0=v0,f1=0,R1=S1;;)if(O0=f1+D0|0,H0=(O0|0)<(g0|0),S0=H0?0:p0,J0=H0?0:g0,h1=O0-J0|0,d=R1+n0|0,F1=d+S0|0,T0=1768+(F1<<2)|0,M0=+s[T0>>2],P0=$+(W0<<2)|0,K0=+s[P0>>2],V0=K0*M0,s[P0>>2]=V0,q0=W0+1|0,c1=(q0|0)==(_1|0),c1){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,s1=(Y0|0)<(O|0),s1)$1=X0,Q1=Y0,y1=v1,S1=L1;else{a1=X0,k1=L1;break}}else a1=0,k1=F;if(J=(a1|0)<(B|0),!J)return g=1,g|0;for(t0=1768+(k1<<2)|0,Z=+s[t0>>2],C1=a1;;)if(z0=$+(C1<<2)|0,r1=+s[z0>>2],L0=r1*Z,s[z0>>2]=L0,o1=C1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else C1=o1;return g|0}function Eb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$-d|0,m|0}function Cb(t){t=t|0;var o=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 Bb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0;u0=C,g=sl(o|0)|0,d=sl(a|0)|0,Q=g+2|0,Z=Q+d|0,$=Z,j=C,C=C+((1*$|0)+15&-16)|0,MC(j|0,o|0)|0,i0=sl(j|0)|0,h0=j+i0|0,f[h0>>0]=61,f[h0+1>>0]=0,Vy(j|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,K=e[s0>>2]|0,o0=K<<2,Y=o0+8|0,m=J7(r0,Y)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,y=e[s0>>2]|0,B=y<<2,b=B+8|0,D=J7(E,b)|0,e[I>>2]=D,k=sl(j|0)|0,w=e[s0>>2]|0,_=D+(w<<2)|0,e[_>>2]=k,x=k+1|0,M=M9(x)|0,L=e[t>>2]|0,F=L+(w<<2)|0,e[F>>2]=M,G=e[t>>2]|0,O=G+(w<<2)|0,H=e[O>>2]|0,MC(H|0,j|0)|0,V=e[s0>>2]|0,J=V+1|0,e[s0>>2]=J,t0=e[t>>2]|0,A0=t0+(J<<2)|0,e[A0>>2]=0,C=u0}function yb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=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(M=t+8|0,L=e[M>>2]|0,F=(L|0)>0,F){for(x=L,O=d,J=0;G=O+(J<<2)|0,H=e[G>>2]|0,V=(H|0)==0,V?E=x:(E2(H),a=e[M>>2]|0,E=a),m=J+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,O=o,J=m;$=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,w=e[k>>2]|0,_=(w|0)==0,_||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function Qb(t){t=t|0;var o=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,o=le(1,3664)|0,a=t+28|0,e[a>>2]=o}function DC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,d=t+28|0,m=e[d>>2]|0,x=(m|0)==0,x){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=m+8|0,c0=e[A0>>2]|0,b0=(c0|0)>0,b0)for(f1=c0,$1=0;a1=(m+32|0)+($1<<2)|0,I=e[a1>>2]|0,E=(I|0)==0,E?b=f1:(E2(I),o=e[A0>>2]|0,b=o),y=$1+1|0,B=(y|0)<(b|0),B;)f1=b,$1=y;if(N0=m+12|0,V0=e[N0>>2]|0,p1=(V0|0)>0,p1)for(h1=V0,X0=0;_=(m+544|0)+(X0<<2)|0,Q=e[_>>2]|0,M=(Q|0)==0,M?Z=h1:(L=(m+288|0)+(X0<<2)|0,F=e[L>>2]|0,G=25664+(F<<2)|0,O=e[G>>2]|0,H=O+8|0,V=e[H>>2]|0,as[V&7](Q),a=e[N0>>2]|0,Z=a),J=X0+1|0,t0=(J|0)<(Z|0),t0;)h1=Z,X0=J;if(D=m+16|0,k=e[D>>2]|0,w=(k|0)>0,w)for(A1=k,B1=0;K=(m+1056|0)+(B1<<2)|0,o0=e[K>>2]|0,Y=(o0|0)==0,Y?g0=A1:(h0=(m+800|0)+(B1<<2)|0,i0=e[h0>>2]|0,e0=25640+(i0<<2)|0,u0=e[e0>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,as[l0&7](o0),$=e[D>>2]|0,g0=$),X=B1+1|0,m0=(X|0)<(g0|0),m0;)A1=g0,B1=X;if(j=m+20|0,r0=e[j>>2]|0,s0=(r0|0)>0,s0)for(c1=r0,m1=0;C0=(m+1568|0)+(m1<<2)|0,y0=e[C0>>2]|0,D0=(y0|0)==0,D0?U0=c1:(E0=(m+1312|0)+(m1<<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,as[Z0&7](y0),g=e[j>>2]|0,U0=g),R0=m1+1|0,v0=(R0|0)<(U0|0),v0;)c1=U0,m1=R0;if(I0=m+24|0,n0=e[I0>>2]|0,d0=(n0|0)>0,p0=m+2848|0,d0)for(Q1=0;O0=(m+1824|0)+(Q1<<2)|0,H0=e[O0>>2]|0,S0=(H0|0)==0,S0||LC(H0),J0=e[p0>>2]|0,T0=(J0|0)==0,T0||(M0=J0+(Q1*56|0)|0,iD(M0)),P0=Q1+1|0,W0=e[I0>>2]|0,K0=(P0|0)<(W0|0),K0;)Q1=P0;if(j0=e[p0>>2]|0,q0=(j0|0)==0,q0||E2(j0),Y0=m+28|0,s1=e[Y0>>2]|0,z0=(s1|0)>0,z0)for(C1=0;r1=(m+2852|0)+(C1<<2)|0,L0=e[r1>>2]|0,Rb(L0),o1=C1+1|0,d1=e[Y0>>2]|0,u1=(o1|0)<(d1|0),u1;)C1=o1;E2(m),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 wb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=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,c1=t+104|0,S1=e[c1>>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,o2=e[h2>>2]|0,M2=(o2|0)<1,M2)D5=-129,l5=27;else if(wC(T1),N1=y+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(G=e[B5>>2]|0,K=(G|0)<64,K)D5=-130,l5=27;else if(m0=B5+4|0,Q0=e[m0>>2]|0,S0=(Q0|0)<(G|0),S0)D5=-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),s1=e[h2>>2]|0,H2(T1,s1,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,m1=e[B1>>2]|0,H2(T1,m1,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=b8(T1)|0,F1=M9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=b8(T1)|0,ce(F1|0,D1|0,P1|0)|0,X1=e[M1>>2]|0,e[a>>2]=X1,x1=b8(T1)|0,K1=a+4|0,e[K1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,mi(T1),vb(T1,o),V1=S1+68|0,Y1=e[V1>>2]|0,t2=(Y1|0)==0,t2||E2(Y1),s2=b8(T1)|0,e2=M9(s2)|0,e[V1>>2]=e2,O1=e[U1>>2]|0,Z1=b8(T1)|0,ce(e2|0,O1|0,Z1|0)|0,I2=e[V1>>2]|0,e[$>>2]=I2,A2=b8(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,c2=f2,e[c2>>2]=1,n2=f2+4|0,g2=n2,e[g2>>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=ib(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),J2=l2+16|0,U2=e[J2>>2]|0,V2=U2+-1|0,H2(T1,V2,6),Z2=e[J2>>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,x5=e[i5>>2]|0,j2=e[x5>>2]|0,m5=(j2|0)==0,m5)break e;if(b5=(l2+1056|0)+(E5<<2)|0,V5=e[b5>>2]|0,NC[j2&3](V5,T1),u5=E5+1|0,b2=e[J2>>2]|0,s5=(u5|0)<(b2|0),s5)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,L5=e[p5>>2]|0,H2(T1,L5,16),q5=e[p5>>2]|0,M5=25648+(q5<<2)|0,b=e[M5>>2]|0,D=e[b>>2]|0,k=(l2+1568|0)+($5<<2)|0,w=e[k>>2]|0,NC[D&3](w,T1),_=$5+1|0,Q=e[F2>>2]|0,x=(_|0)<(Q|0),x;)$5=_;if(M=l2+12|0,L=e[M>>2]|0,F=L+-1|0,H2(T1,F,6),O=e[M>>2]|0,H=(O|0)>0,H)for(h5=0;V=(l2+288|0)+(h5<<2)|0,J=e[V>>2]|0,H2(T1,J,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,s0=e[r0>>2]|0,Zy[j&1](y,s0,T1),o0=h5+1|0,Y=e[M>>2]|0,h0=(o0|0)<(Y|0),h0;)h5=o0;if(i0=l2+8|0,e0=e[i0>>2]|0,u0=e0+-1|0,H2(T1,u0,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,d0=e[n0>>2]|0,H2(T1,d0,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),N0=b8(T1)|0,U0=M9(N0)|0,e[Z0>>2]=U0,O0=e[U1>>2]|0,H0=b8(T1)|0,ce(U0|0,O0|0,H0|0)|0,J0=e[Z0>>2]|0,e[g>>2]=J0,T0=b8(T1)|0,M0=g+4|0,e[M0>>2]=T0,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,K0=W0,V0=K0,e[V0>>2]=2,j0=K0+4|0,q0=j0,e[q0>>2]=0,vC(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,m=S1+64|0,I=m,d5=D5),vC(T1),Y0=e[I>>2]|0,z0=(Y0|0)==0,z0||E2(Y0),r1=S1+68|0,L0=e[r1>>2]|0,o1=(L0|0)==0,o1||E2(L0),d1=S1+72|0,u1=e[d1>>2]|0,p1=(u1|0)==0,p1||E2(u1),e[I>>2]=0,e[r1>>2]=0,e[d1>>2]=0,d=d5,C=X2,d|0}function vb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,j=M<<24>>24,H2(t,j,8),K=(m|0)==0,!K;)a=I,g=m;if(o0=o+8|0,Y=e[o0>>2]|0,H2(t,Y,32),h0=e[o0>>2]|0,i0=(h0|0)>0,!i0){H2(t,1,1);return}for(e0=o+4|0,u0=0;;){if(E=e[o>>2]|0,y=E+(u0<<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+(u0<<2)|0,w=e[k>>2]|0,H2(t,w,32),_=e[e0>>2]|0,Q=_+(u0<<2)|0,x=e[Q>>2]|0,L=(x|0)==0,!L)for(F=e[o>>2]|0,G=F+(u0<<2)|0,O=e[G>>2]|0,$=O,d=x;H=d+-1|0,V=$+1|0,J=f[$>>0]|0,t0=J<<24>>24,H2(t,t0,8),Z=(H|0)==0,!Z;)$=V,d=H;if(A0=u0+1|0,r0=e[o0>>2]|0,s0=(A0|0)<(r0|0),s0)u0=A0;else break}H2(t,1,1)}function Qy(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0;if(Y1=C,E=$+1|0,y=E<<3,g=y,F=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,d=s0,X=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)H=0;else{for(H0=$;;){if(Y0=(H0|0)<(a|0),Y0)for(Q1=0,R1=H0;;)if(A1=t+(R1<<2)|0,B1=+s[A1>>2],B=B1,b=R1-H0|0,D=t+(b<<2)|0,k=+s[D>>2],w=k,_=w*B,Q=_+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){m1=Q;break}else Q1=Q,R1=x;else m1=0;if(M=F+(H0<<3)|0,l1[M>>3]=m1,L=H0+-1|0,G=(H0|0)==0,G)break;H0=L}I=+l1[F>>3],H=I}if(O=H*1.0000000001,V=H*1e-9,J=V+1e-10,t0=($|0)>0,t0)y1=O,F1=0;else return S1=O,X0=S1,C=Y1,+X0;for(;;){if(D1=F1+1|0,Z=y1>3],Y=-o0,h0=(F1|0)>0,h0){for(P1=0,q1=Y;;)if(u0=X+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=F+($0<<3)|0,m0=+l1[l0>>3],g0=m0*c0,I0=q1-g0,n0=P1+1|0,b1=(n0|0)==(F1|0),b1){m=I0;break}else P1=n0,q1=I0;if(d0=m/y1,p0=X+(F1<<3)|0,l1[p0>>3]=d0,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=+l1[Q0>>3],B0=y0-G1|0,x0=X+(B0<<3)|0,Z0=+l1[x0>>3],R0=Z0*d0,v0=R0+w0,l1[Q0>>3]=v0,N0=w0*d0,U0=+l1[x0>>3],O0=U0+N0,l1[x0>>3]=O0,S0=G1+1|0,J0=(S0|0)<(C0|0),J0;)G1=S0;H1=D0?C0:1,V0=d0,X1=H1}else V0=d0,X1=0}else i0=Y/y1,e0=X+(F1<<3)|0,l1[e0>>3]=i0,V0=i0,X1=0;if(T0=F1&1,M0=(T0|0)==0,M0||(P0=X+(X1<<3)|0,W0=+l1[P0>>3],K0=W0*V0,j0=K0+W0,l1[P0>>3]=j0),q0=V0*V0,s1=1-q0,z0=s1*y1,r1=(D1|0)<($|0),r1)y1=z0,F1=D1;else{k1=z0;break}}if((V1|0)==8&&(A0=X+(U1<<3)|0,j=$-U1|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=Y1,+X0;for(;L0=X+(x1<<3)|0,o1=+l1[L0>>3],d1=o1*C1,l1[L0>>3]=d1,u1=C1*.99,p1=x1+1|0,M1=(p1|0)==($|0),!M1;)C1=u1,x1=p1;if(t0)K1=0;else return S1=k1,X0=S1,C=Y1,+X0;for(;;)if(f1=X+(K1<<3)|0,h1=+l1[f1>>3],c1=h1,a1=o+(K1<<2)|0,s[a1>>2]=c1,$1=K1+1|0,L1=($1|0)==($|0),L1){S1=k1;break}else K1=$1;return X0=S1,C=Y1,+X0}function wy(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0;if(e0=C,I=g+a|0,E=I<<2,d=E,L=C,C=C+((1*d|0)+15&-16)|0,G=(o|0)==0,O=(a|0)>0,G?O&&(V=a<<2,g4(L|0,0,V|0)|0):O&&(H=a<<2,ce(L|0,o|0,H|0)|0),J=(g|0)>0,!J){C=e0;return}if(t0=(a|0)>0,t0)r0=0,s0=a;else{Z=g<<2,g4(L|0,0,Z|0)|0,g4($|0,0,Z|0)|0,C=e0;return}for(;;){for(o0=r0,Y=a,h0=0;;)if(D=o0+1|0,k=L+(o0<<2)|0,w=+s[k>>2],_=Y+-1|0,Q=t+(_<<2)|0,x=+s[Q>>2],M=x*w,F=h0-M,A0=(D|0)==(s0|0),A0){m=F;break}else o0=D,Y=_,h0=F;if(y=L+(s0<<2)|0,s[y>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,b=r0+1|0,K=s0+1|0,j=(b|0)==(g|0),j)break;r0=b,s0=K}C=e0}function kb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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[o>>2]|0,d=(g|0)>1,d?(H2(a,1,1),Q=e[o>>2]|0,Z=Q+-1|0,H2(a,Z,4)):H2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(H2(a,1,1),b0=e[u0>>2]|0,y0=b0+-1|0,H2(a,y0,8),D0=e[u0>>2]|0,m=(D0|0)>0,m)for(I=o+1160|0,E=t+4|0,y=o+2184|0,E0=0;B=I+(E0<<2)|0,b=e[B>>2]|0,D=e[E>>2]|0,k=D+-1|0,w=H8(k)|0,H2(a,b,w),_=y+(E0<<2)|0,x=e[_>>2]|0,M=e[E>>2]|0,L=M+-1|0,F=H8(L)|0,H2(a,x,F),G=E0+1|0,O=e[u0>>2]|0,H=(G|0)<(O|0),H;)E0=G}else H2(a,0,1);if(H2(a,0,2),V=e[o>>2]|0,J=(V|0)>1,J){if(t0=t+4|0,A0=e[t0>>2]|0,j=(A0|0)>0,j){for(r0=o+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[o>>2]|0,s0=$,B0=13}}else s0=V,B0=13;if(!((B0|0)==13&&(K=(s0|0)>0,!K)))for(o0=o+1028|0,Y=o+1092|0,w0=0;H2(a,0,8),l0=o0+(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[o>>2]|0,d0=(I0|0)<(n0|0),d0;)w0=I0}function Sb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0;a1=C,g=le(1,3208)|0,d=t+28|0,Q=e[d>>2]|0,g4(g|0,0,3208)|0,Z=t+4|0,u0=e[Z>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=i4(o,1)|0,K0=(v0|0)<0,K0)c1=24;else{if(z0=(v0|0)==0,z0)e[g>>2]=1;else if(r1=i4(o,4)|0,m=r1+1|0,e[g>>2]=m,I=(r1|0)<0,I)break;if(E=i4(o,1)|0,y=(E|0)<0,!y){if(B=(E|0)==0,!B){if(b=i4(o,8)|0,D=b+1|0,k=g+1156|0,e[k>>2]=D,w=(b|0)<0,w)break;for(_=g+1160|0,x=g+2184|0,$=e[Z>>2]|0,O=$,L0=0;;){if(G=O+-1|0,H=H8(G)|0,V=i4(o,H)|0,J=_+(L0<<2)|0,e[J>>2]=V,t0=e[Z>>2]|0,A0=t0+-1|0,j=H8(A0)|0,r0=i4(o,j)|0,s0=x+(L0<<2)|0,e[s0>>2]=r0,K=r0|V,o0=(K|0)<0,Y=(V|0)==(r0|0),u1=Y|o0,u1||(h0=e[Z>>2]|0,i0=(V|0)<(h0|0),e0=(r0|0)<(h0|0),p1=i0&e0,L=L0+1|0,!p1))break e;if(M=e[k>>2]|0,F=(L|0)<(M|0),F)O=h0,L0=L;else break}}if(c0=i4(o,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,o1=0;;){if(B0=i4(o,4)|0,x0=I0+(o1<<2)|0,e[x0>>2]=B0,Z0=e[g>>2]|0,R0=(B0|0)>=(Z0|0),N0=(B0|0)<0,f1=N0|R0,Q0=o1+1|0,f1)break e;if(E0=e[Z>>2]|0,w0=(Q0|0)<(E0|0),w0)o1=Q0;else{n0=Z0,c1=17;break}}}else n0=l0,c1=17;if((c1|0)==17&&(d0=(n0|0)>0,!d0))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(i4(o,8)|0,S0=i4(o,8)|0,J0=p0+(d1<<2)|0,e[J0>>2]=S0,T0=e[b0>>2]|0,M0=(S0|0)>=(T0|0),P0=(S0|0)<0,h1=P0|M0,h1||(W0=i4(o,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(c1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function bb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Db(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,y8=0,G8=0,nn=0,kr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,Sr=0,$n=0,Bs=0,ys=0,ln=0,I7=0,ro=0,Qs=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,br=0,un=0,Ts=0,or=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dr=0,Io=0,p7=0,fn=0,_r=0,sr=0,xr=0,K7=0,Lr=0,mo=0,W7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,ar=0,Ar=0,Rr=0,E7=0,Os=0,fi=0,Al=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,n2=M+4|0,z3=e[n2>>2]|0,Te=z3+28|0,Ze=e[Te>>2]|0,Bs=M+104|0,m7=e[Bs>>2]|0,Ms=t+104|0,hn=e[Ms>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=z3+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,P1=v1<<2,e2=W8(t,P1)|0,g2=e[l0>>2]|0,G2=g2<<2,Y2=W8(t,G2)|0,b2=hn+4|0,M5=+s[b2>>2],d2=e[l0>>2]|0,T2=d2<<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,W3=(Ze+544|0)+(f6<<2)|0,$6=e[W3>>2]|0,U6=m7+56|0,C9=e[U6>>2]|0,Qe=(f6|0)!=0,ue=Qe?2:0,_=ue+U5|0,he=C9+(_*52|0)|0,ze=t+40|0,e[ze>>2]=f6,h4=(d2|0)>0,h4)for(fe=+(r0|0),Z3=4/fe,m8=(s[w2>>2]=Z3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),be=ct*7177114298428933e-22,j4=be+-764.6162109375,c8=j4,l4=c8+.345,$i=l4,li=m7+4|0,Ki=t+24|0,f7=t+32|0,J8=$i+-764.6162109375,nn=r0+-1|0,us=(nn|0)>1,eo=$i+-382.30810546875,Lr=M5,W7=0;;){if(ys=e[t>>2]|0,ln=ys+(W7<<2)|0,I7=e[ln>>2]|0,ro=W8(t,Lt)|0,Qs=e2+(W7<<2)|0,e[Qs>>2]=ro,ws=W8(t,Lt)|0,no=h1+(W7<<2)|0,e[no>>2]=ws,oo=e[Ki>>2]|0,so=e[j5>>2]|0,vs=e[f7>>2]|0,lD(I7,li,Ze,oo,so,vs),cn=e[j5>>2]|0,ks=(m7+12|0)+(cn<<2)|0,ao=e[ks>>2]|0,Ss=e[ao>>2]|0,bs=e[no>>2]|0,vy(Ss,I7,bs),Ds=e[j5>>2]|0,Ao=(m7+20|0)+(Ds*12|0)|0,oD(Ao,I7),_s=e[I7>>2]|0,xs=_s&2147483647,Ls=+(xs>>>0),$o=Ls*7177114298428933e-22,Rs=J8+$o,Fs=Rs,gn=Fs+.345,br=gn,s[I7>>2]=br,un=G5+(W7<<2)|0,s[un>>2]=br,us)for(J=br,Mr=1;;)if(Ts=I7+(Mr<<2)|0,or=+s[Ts>>2],Ns=or*or,lo=Mr+1|0,co=I7+(lo<<2)|0,dn=+s[co>>2],Gs=dn*dn,go=Gs+Ns,uo=(s[w2>>2]=go,e[w2>>2]|0),Us=uo&2147483647,ho=+(Us>>>0),fo=ho*35885571492144663e-23,Ps=eo+fo,Dr=Ps,F=Dr+.345,G=F,O=lo>>1,H=I7+(O<<2)|0,s[H>>2]=G,V=G>J,V?(s[un>>2]=G,Sr=G):Sr=J,t0=Mr+2|0,Z=(t0|0)<(nn|0),Z)J=Sr,Mr=t0;else{j=Sr;break}else j=br;if(A0=j>0,A0?(s[un>>2]=0,K=0):K=j,s0=K>Lr,mo=s0?K:Lr,o0=W7+1|0,Y=e[l0>>2]|0,h0=(o0|0)<(Y|0),h0)Lr=mo,W7=o0;else{y=Lt,b=_t,K7=mo;break}}else D=(r0|0)/2&-1,k=D<<2,y=k,b=D,K7=M5;i0=W8(t,y)|0,e0=W8(t,y)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,X=m7+48|0,$0)_7=0;else{for(D7=0;;){s6=($6+4|0)+(D7<<2)|0,B6=e[s6>>2]|0,K3=h1+(D7<<2)|0,F3=e[K3>>2]|0,t6=e[t>>2]|0,R6=t6+(D7<<2)|0,c6=e[R6>>2]|0,o3=c6+(b<<2)|0,e[ze>>2]=f6,J6=W8(t,60)|0,A3=Y2+(D7<<2)|0,e[A3>>2]=J6,fi=J6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));if(Dy(he,o3,i0),g6=G5+(D7<<2)|0,y6=+s[g6>>2],_y(he,c6,e0,K7,y6),ol(he,i0,e0,1,c6,F3,o3),T3=($6+1028|0)+(B6<<2)|0,H6=e[T3>>2]|0,D6=(Ze+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,e9=(G6|0)==1,!e9){a=-1;break}if(Q6=e[X>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,r9=nl(t,P3,o3,c6)|0,V6=e[A3>>2]|0,o9=V6+28|0,e[o9>>2]=r9,g9=Nu(t)|0,Y6=(g9|0)==0,Y6||(F6=e[A3>>2]|0,t9=F6+28|0,_6=e[t9>>2]|0,P6=(_6|0)==0,P6||(ol(he,i0,e0,2,c6,F3,o3),O3=e[T3>>2]|0,O6=e[X>>2]|0,s9=O6+(O3<<2)|0,h9=e[s9>>2]|0,n9=nl(t,h9,o3,c6)|0,B9=e[A3>>2]|0,y9=B9+56|0,e[y9>>2]=n9,ol(he,i0,e0,0,c6,F3,o3),d9=e[T3>>2]|0,f9=e[X>>2]|0,V9=f9+(d9<<2)|0,w6=e[V9>>2]|0,q6=nl(t,w6,o3,c6)|0,a9=e[A3>>2]|0,e[a9>>2]=q6,Y9=e[T3>>2]|0,Q9=e[X>>2]|0,ge=Q9+(Y9<<2)|0,pe=e[ge>>2]|0,z9=e[A3>>2]|0,re=e[z9>>2]|0,R9=z9+28|0,w9=e[R9>>2]|0,K6=Gt(t,pe,re,w9,9362)|0,A9=e[A3>>2]|0,we=A9+4|0,e[we>>2]=K6,Me=e[T3>>2]|0,D9=e[X>>2]|0,Re=D9+(Me<<2)|0,Fe=e[Re>>2]|0,Ge=e[A3>>2]|0,qe=e[Ge>>2]|0,r4=Ge+28|0,ve=e[r4>>2]|0,He=Gt(t,Fe,qe,ve,18724)|0,J9=e[A3>>2]|0,Ve=J9+8|0,e[Ve>>2]=He,Ue=e[T3>>2]|0,Ee=e[X>>2]|0,v4=Ee+(Ue<<2)|0,Z9=e[v4>>2]|0,v9=e[A3>>2]|0,k4=e[v9>>2]|0,V4=v9+28|0,nt=e[V4>>2]|0,Ye=Gt(t,Z9,k4,nt,28086)|0,Y4=e[A3>>2]|0,n4=Y4+12|0,e[n4>>2]=Ye,R4=e[T3>>2]|0,ot=e[X>>2]|0,ne=ot+(R4<<2)|0,u4=e[ne>>2]|0,Ce=e[A3>>2]|0,T6=e[Ce>>2]|0,Je=Ce+28|0,O9=e[Je>>2]|0,de=Gt(t,u4,T6,O9,37449)|0,oe=e[A3>>2]|0,d4=oe+16|0,e[d4>>2]=de,f4=e[T3>>2]|0,ke=e[X>>2]|0,o4=ke+(f4<<2)|0,Pe=e[o4>>2]|0,I4=e[A3>>2]|0,k9=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,S4=Gt(t,Pe,k9,z4,46811)|0,Se=e[A3>>2]|0,Ie=Se+20|0,e[Ie>>2]=S4,z6=e[T3>>2]|0,F4=e[X>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,me=e[A3>>2]|0,xe=e[me>>2]|0,mt=me+28|0,_9=e[mt>>2]|0,S9=Gt(t,st,xe,_9,56173)|0,Oe=e[A3>>2]|0,s4=Oe+24|0,e[s4>>2]=S9,d8=e[T3>>2]|0,N4=e[X>>2]|0,f8=N4+(d8<<2)|0,D8=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,D8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,_8=e[T3>>2]|0,Ht=e[X>>2]|0,Vt=Ht+(_8<<2)|0,Yt=e[Vt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,zt=e[pt>>2]|0,Jt=xt+56|0,r8=e[Jt>>2]|0,n8=Gt(t,Yt,zt,r8,18724)|0,Et=e[A3>>2]|0,J4=Et+36|0,e[J4>>2]=n8,G4=e[T3>>2]|0,at=e[X>>2]|0,x9=at+(G4<<2)|0,p8=e[x9>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,x8=e[E8>>2]|0,o8=b4+56|0,L8=e[o8>>2]|0,a4=Gt(t,p8,x8,L8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=a4,At=e[T3>>2]|0,Ke=e[X>>2]|0,U4=Ke+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,se=Ct+56|0,lt=e[se>>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,K4=e[X>>2]|0,W4=K4+(D4<<2)|0,ae=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,ae,gt,Qt,46811)|0,We=e[A3>>2]|0,C3=We+48|0,e[C3>>2]=a8,Z4=e[T3>>2]|0,wt=e[X>>2]|0,A4=wt+(Z4<<2)|0,j9=e[A4>>2]|0,$4=e[A3>>2]|0,F9=$4+28|0,Wt=e[F9>>2]|0,C8=$4+56|0,A8=e[C8>>2]|0,$8=Gt(t,j9,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=In,a|0}for(;;){N6=($6+4|0)+(_7<<2)|0,C0=e[N6>>2]|0,j6=h1+(_7<<2)|0,d0=e[j6>>2]|0,v6=e[t>>2]|0,R3=v6+(_7<<2)|0,n0=e[R3>>2]|0,m0=n0+(b<<2)|0,e[ze>>2]=f6,o6=W8(t,60)|0,v0=Y2+(_7<<2)|0,e[v0>>2]=o6,fi=o6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));for(ar=0;r6=d0+(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,s[S6>>2]=M6,n6=ar+1|0,b6=(n6|0)<(b|0),b6;)ar=n6;if(Dy(he,m0,i0),g0=G5+(_7<<2)|0,I0=+s[g0>>2],_y(he,n0,e0,K7,I0),ol(he,i0,e0,1,n0,d0,m0),p0=($6+1028|0)+(C0<<2)|0,b0=e[p0>>2]|0,y0=(Ze+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=nl(t,x0,m0,n0)|0,R0=e[v0>>2]|0,N0=R0+28|0,e[N0>>2]=Z0,U0=Nu(t)|0,H0=(U0|0)==0,H0||(S0=e[v0>>2]|0,J0=S0+28|0,T0=e[J0>>2]|0,M0=(T0|0)==0,M0||(ol(he,i0,e0,2,n0,d0,m0),P0=e[p0>>2]|0,W0=e[X>>2]|0,K0=W0+(P0<<2)|0,V0=e[K0>>2]|0,j0=nl(t,V0,m0,n0)|0,Y0=e[v0>>2]|0,s1=Y0+56|0,e[s1>>2]=j0,ol(he,i0,e0,0,n0,d0,m0),z0=e[p0>>2]|0,r1=e[X>>2]|0,L0=r1+(z0<<2)|0,o1=e[L0>>2]|0,d1=nl(t,o1,m0,n0)|0,u1=e[v0>>2]|0,e[u1>>2]=d1,p1=e[p0>>2]|0,f1=e[X>>2]|0,A1=f1+(p1<<2)|0,c1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,X0=a1+28|0,B1=e[X0>>2]|0,m1=Gt(t,c1,$1,B1,9362)|0,Q1=e[v0>>2]|0,C1=Q1+4|0,e[C1>>2]=m1,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,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,X1=e[p0>>2]|0,G1=e[X>>2]|0,x1=G1+(X1<<2)|0,K1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,V1=q1+28|0,Y1=e[V1>>2]|0,t2=Gt(t,K1,H1,Y1,28086)|0,s2=e[v0>>2]|0,O1=s2+12|0,e[O1>>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,c2=Gt(t,A2,$2,f2,37449)|0,o2=e[v0>>2]|0,l2=o2+16|0,e[l2>>2]=c2,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,J2=q2+(W2<<2)|0,U2=e[J2>>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,x5=e[p0>>2]|0,j2=e[X>>2]|0,m5=j2+(x5<<2)|0,b5=e[m5>>2]|0,V5=e[v0>>2]|0,u5=V5+28|0,B5=e[u5>>2]|0,s5=V5+56|0,F2=e[s5>>2]|0,R2=Gt(t,b5,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,L5=p5+(N5<<2)|0,q5=e[L5>>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,D5=e[v0>>2]|0,d5=D5+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,K2=e[f5>>2]|0,I5=a5+56|0,n5=e[I5>>2]|0,R5=Gt(t,r5,K2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=R5,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,H3=e[e6>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,a6=X5+56|0,V3=e[a6>>2]|0,c3=Gt(t,H3,t3,V3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,J5=e[X>>2]|0,H5=J5+(Q3<<2)|0,Y5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,l6=e[Y3>>2]|0,n3=S5+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=In,a|0}else w=m7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=K7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,m=Ft,b9=C,C=C+((1*m|0)+15&-16)|0,g8=Nu(t)|0,et=(g8|0)!=0,V8=et?0:7,Z8=m7+44|0,M8=t+24|0,u8=t+32|0,R8=Ze+2868|0,Y8=m7+52|0,E7=V8;;){if(j8=(hn+12|0)+(E7<<2)|0,dt=e[j8>>2]|0,H2(dt,0,1),Nt=e[Z8>>2]|0,H2(dt,f6,Nt),F8=e[j5>>2]|0,Xt=(F8|0)==0,Xt||(O4=e[M8>>2]|0,H2(dt,O4,1),C4=e[u8>>2]|0,H2(dt,C4,1)),Ae=e[l0>>2]|0,T8=(Ae|0)>0,T8)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=gb(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=Ae;if(zi=e[j5>>2]|0,Ji=((Ze+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ji>>2]|0,Nb(E7,R8,he,$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($n=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=b9+(p7<<2)|0,Xi=q0+(Ar<<2)|0,bi=e[Xi>>2]|0,Os=(bi|0)!=0,o=Os&1,e[Si>>2]=o,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,fn=_i):(hi=$n,fn=p7),xi=Ar+1|0,t7=(xi|0)<(hi|0),t7)$n=hi,p7=fn,Ar=xi;else{Io=fn;break}else Io=0;if(Li=(Ze+1312|0)+(ii<<2)|0,x4=e[Li>>2]|0,Mi=25648+(x4<<2)|0,N8=e[Mi>>2]|0,di=N8+20|0,$9=e[di>>2]|0,B8=e[Y8>>2]|0,vt=B8+(ii<<2)|0,y8=e[vt>>2]|0,G8=GC[$9&7](t,y8,X4,b9,Io)|0,kr=e[l0>>2]|0,As=(kr|0)>0,As)for(sr=0,Rr=0;;)if(zn=($6+4|0)+(Rr<<2)|0,$s=e[zn>>2]|0,Jn=($s|0)==(x7|0),Jn?(ls=e2+(Rr<<2)|0,cs=e[ls>>2]|0,Kn=sr+1|0,gs=X4+(sr<<2)|0,e[gs>>2]=cs,xr=Kn):xr=sr,on=Rr+1|0,hs=(on|0)<(kr|0),hs)sr=xr,Rr=on;else{_r=xr;break}else _r=0;if(ds=e[Li>>2]|0,Wn=25648+(ds<<2)|0,fs=e[Wn>>2]|0,Zn=fs+24|0,jn=e[Zn>>2]|0,Is=e[Y8>>2]|0,sn=Is+(ii<<2)|0,Xn=e[sn>>2]|0,jy[jn&3](dt,t,Xn,X4,b9,_r,G8,x7)|0,an=x7+1|0,to=e[$6>>2]|0,ms=(an|0)<(to|0),ms)x7=an;else break}if(ps=E7+1|0,Es=Nu(t)|0,An=(Es|0)!=0,io=An?14:7,Cs=(E7|0)<(io|0),Cs)E7=ps;else{a=0;break}}return C=In,a|0}function _b(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,Y1=F1+28|0,W1=e[Y1>>2]|0,k2=k+104|0,U2=e[k2>>2]|0,m5=t+28|0,N5=e[m5>>2]|0,w=W1+(N5<<2)|0,J=e[w>>2]|0,i0=t+36|0,e[i0>>2]=J,d0=F1+4|0,Z0=e[d0>>2]|0,P0=Z0<<2,g=P0,o1=C,C=C+((1*g|0)+15&-16)|0,d=P0,X0=C,C=C+((1*d|0)+15&-16)|0,m=P0,B1=C,C=C+((1*m|0)+15&-16)|0,I=P0,m1=C,C=C+((1*I|0)+15&-16)|0,C1=e[d0>>2]|0,y1=(C1|0)>0,y1)for(v1=o+4|0,k1=o+1028|0,S1=U2+48|0,L1=J<<1,M1=L1&2147483646,X2=0;;)if(P1=v1+(X2<<2)|0,X1=e[P1>>2]|0,G1=k1+(X1<<2)|0,x1=e[G1>>2]|0,K1=(W1+800|0)+(x1<<2)|0,q1=e[K1>>2]|0,H1=25640+(q1<<2)|0,V1=e[H1>>2]|0,t2=V1+20|0,s2=e[t2>>2]|0,e2=e[S1>>2]|0,O1=e2+(x1<<2)|0,h2=e[O1>>2]|0,Z1=pi[s2&15](t,h2)|0,I2=m1+(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,c2=X2+1|0,n2=e[d0>>2]|0,g2=(c2|0)<(n2|0),g2)X2=c2;else{a1=n2;break}else a1=C1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,d2=0;r2=U1+(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,J2=B1+(O2<<2)|0,e[J2>>2]=1),V2=d2+1|0,Z2=(V2|0)<(_1|0),Z2;)d2=V2;if(o2=e[o>>2]|0,l2=(o2|0)>0,l2){for(i2=o+1092|0,a2=U2+52|0,m2=o+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,x5=e[i5>>2]|0,j2=X0+(d5<<2)|0,R5=(x5|0)!=0,$=R5&1,e[j2>>2]=$,b5=e[t>>2]|0,V5=b5+(I5<<2)|0,u5=e[V5>>2]|0,b2=d5+1|0,B5=o1+(d5<<2)|0,e[B5>>2]=u5,B=e[d0>>2]|0,R2=B,l5=b2):(R2=$1,l5=d5),s5=I5+1|0,F2=(s5|0)<(R2|0),F2)$1=R2,d5=l5,I5=s5;else{D5=l5;break}else D5=0;if(Q2=i2+(w5<<2)|0,y5=e[Q2>>2]|0,p5=(W1+1312|0)+(y5<<2)|0,L5=e[p5>>2]|0,q5=25648+(L5<<2)|0,M5=e[q5>>2]|0,z2=M5+28|0,E5=e[z2>>2]|0,$5=e[a2>>2]|0,h5=$5+(y5<<2)|0,Q5=e[h5>>2]|0,GC[E5&7](t,Q5,o1,X0,D5)|0,T1=w5+1|0,_=e[o>>2]|0,Q=(T1|0)<(_|0),!Q)break;y=e[d0>>2]|0,A5=y,w5=T1}b=e[b1>>2]|0,x=b}else x=_1;if(M=(x|0)>0,M)for(L=o+1160|0,F=e[t>>2]|0,G=o+2184|0,O=(J|0)/2&-1,H=(J|0)>1,a5=x;;){if(r5=a5+-1|0,s0=L+(r5<<2)|0,K=e[s0>>2]|0,o0=F+(K<<2)|0,Y=e[o0>>2]|0,h0=G+(r5<<2)|0,e0=e[h0>>2]|0,u0=F+(e0<<2)|0,c0=e[u0>>2]|0,H)for(n5=0;;){$0=Y+(n5<<2)|0,l0=+s[$0>>2],X=c0+(n5<<2)|0,m0=+s[X>>2],g0=l0>0,I0=m0>0;do if(g0)if(I0){s[$0>>2]=l0,n0=l0-m0,s[X>>2]=n0;break}else{s[X>>2]=l0,p0=m0+l0,s[$0>>2]=p0;break}else if(I0){s[$0>>2]=l0,C0=m0+l0,s[X>>2]=C0;break}else{s[X>>2]=l0,b0=l0-m0,s[$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[d0>>2]|0,Z=(t0|0)>0,!Z)return C=T2,0;for(A0=o+4|0,j=o+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,N0=e[v0>>2]|0,U0=(W1+800|0)+(N0<<2)|0,O0=e[U0>>2]|0,H0=25640+(O0<<2)|0,S0=e[H0>>2]|0,J0=S0+24|0,T0=e[J0>>2]|0,M0=e[r0>>2]|0,W0=M0+(N0<<2)|0,K0=e[W0>>2]|0,V0=m1+(f5<<2)|0,j0=e[V0>>2]|0,TC[T0&3](t,K0,j0,B0)|0,q0=f5+1|0,Y0=e[d0>>2]|0,s1=(q0|0)<(Y0|0),s1)f5=q0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=T2,0;for(K2=0;z0=e[t>>2]|0,r1=z0+(K2<<2)|0,L0=e[r1>>2]|0,d1=e[m5>>2]|0,u1=(U2+12|0)+(d1<<2)|0,p1=e[u1>>2]|0,f1=e[p1>>2]|0,xb(f1,L0,L0),h1=K2+1|0,A1=e[d0>>2]|0,c1=(h1|0)<(A1|0),c1;)K2=h1;return C=T2,0}function _C(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=M9($)|0,J=a+o|0,i0=J<<2,d0=M9(i0)|0,Z0=o>>1,P0=+(o|0),o1=P0,B1=+tn(+o1),g=B1*1.4426950408889634,d=+z7(g),m=~~d,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=d0,y=t+12|0,e[y>>2]=w,B=(o|0)>3,!B){X0=4/P0,m1=t+16|0,s[m1>>2]=X0;return}for(b=+(o|0),D=3.141592653589793/b,k=o<<1,_=+(k|0),Q=3.141592653589793/_,v1=0;G=v1<<2,O=+(G|0),H=D*O,V=+aA(+H),t0=V,Z=v1<<1,A0=d0+(Z<<2)|0,s[A0>>2]=t0,j=+Vn(+H),r0=j,s0=-r0,K=Z|1,o0=d0+(K<<2)|0,s[o0>>2]=s0,Y=+(K|0),h0=Q*Y,e0=+aA(+h0),u0=e0,c0=Z+Z0|0,$0=d0+(c0<<2)|0,s[$0>>2]=u0,l0=+Vn(+h0),X=l0,m0=c0+1|0,g0=d0+(m0<<2)|0,s[g0>>2]=X,I0=v1+1|0,n0=(I0|0)<(a|0),n0;)v1=I0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){X0=4/P0,m1=t+16|0,s[m1>>2]=X0;return}for(L=+(o|0),F=3.141592653589793/L,k1=0;p0=k1<<2,C0=p0|2,b0=+(C0|0),y0=F*b0,D0=+aA(+y0),E0=D0*.5,Q0=E0,w0=k1<<1,B0=w0+o|0,x0=d0+(B0<<2)|0,s[x0>>2]=Q0,R0=+Vn(+y0),v0=R0*-.5,N0=v0,U0=B0+1|0,O0=d0+(U0<<2)|0,s[O0>>2]=N0,H0=k1+1|0,S0=(H0|0)<(x|0),S0;)k1=H0;if(J0=m+-1|0,T0=1<>2]=X0;return}for(;;){for(j0=K0,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,p1=u1+-1|0,f1=S1<<1,h1=w+(f1<<2)|0,e[h1>>2]=p1,A1=f1|1,c1=w+(A1<<2)|0,e[c1>>2]=y1,a1=S1+1|0,$1=(a1|0)<(x|0),$1)S1=a1;else break}X0=4/P0,m1=t+16|0,s[m1>>2]=X0}function xC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0;y=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+12|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),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 xb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=0,j5=0,M3=0,h3=0,J3=0;for(J3=C,m=e[t>>2]|0,I=m>>1,e2=m>>2,$=I+-7|0,W2=o+($<<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=+s[w3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,D0=-l0,O0=+s[H5>>2],q0=u3+8|0,h1=+s[q0>>2],v1=h1*O0,P1=D0-v1,s[C5>>2]=P1,O1=+s[H5>>2],g2=+s[L>>2],k2=g2*O1,D2=+s[w3>>2],S2=+s[q0>>2],y2=S2*D2,G2=k2-y2,M2=L3+-12|0,s[M2>>2]=G2,O2=H5+24|0,p2=+s[O2>>2],q2=u3+4|0,J2=+s[q2>>2],U2=p2*J2,V2=-U2,Z2=H5+16|0,A5=+s[Z2>>2],Y2=+s[u3>>2],N1=Y2*A5,t5=V2-N1,T5=L3+-8|0,s[T5>>2]=t5,x5=+s[Z2>>2],j2=+s[q2>>2],m5=j2*x5,b5=+s[O2>>2],V5=+s[u3>>2],u5=V5*b5,b2=m5-u5,B5=L3+-4|0,s[B5>>2]=b2,s5=H5+-32|0,F2=u3+16|0,Q2=s5>>>0>>0,!Q2;)u3=F2,H5=s5,L3=C5;for(y5=a+(I<<2)|0,d=I+-8|0,N5=o+(d<<2)|0,Q3=f5,Y5=N5,D3=i5;p5=Q3+-16|0,L5=Y5+16|0,q5=+s[L5>>2],M5=Q3+-4|0,z2=+s[M5>>2],E5=z2*q5,$5=Y5+24|0,Q5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],d5=D5*Q5,l5=d5+E5,s[D3>>2]=l5,X2=+s[L5>>2],d2=+s[T1>>2],w5=d2*X2,r5=+s[$5>>2],a5=+s[M5>>2],K2=a5*r5,I5=w5-K2,n5=D3+4|0,s[n5>>2]=I5,R5=+s[Y5>>2],e5=Q3+-12|0,c5=+s[e5>>2],T2=c5*R5,v5=Y5+8|0,z5=+s[v5>>2],i3=+s[p5>>2],I3=i3*z5,d3=I3+T2,W5=D3+8|0,s[W5>>2]=d3,r3=+s[Y5>>2],a3=+s[p5>>2],y3=a3*r3,G5=+s[v5>>2],Z5=+s[e5>>2],x3=Z5*G5,f3=y3-x3,e6=D3+12|0,s[e6>>2]=f3,H3=Y5+-32|0,X5=D3+16|0,_3=H3>>>0>>0,!_3;)Q3=p5,Y5=H3,D3=X5;for(l6=t+4|0,n3=e[l6>>2]|0,ky(n3,h5,y5,I),l3=e[t>>2]|0,U3=e[R2>>2]|0,C6=t+12|0,b3=e[C6>>2]|0,Sy(l3,U3,b3,a),t3=e[R2>>2]|0,a6=t3+(I<<2)|0,J5=a6,S5=a,A6=i5,j5=i5;G3=A6+-16|0,V3=+s[S5>>2],c3=J5+4|0,g3=+s[c3>>2],y=g3*V3,B=S5+4|0,b=+s[B>>2],D=+s[J5>>2],k=D*b,w=y-k,_=A6+-4|0,s[_>>2]=w,Q=+s[S5>>2],x=+s[J5>>2],M=x*Q,F=+s[B>>2],G=+s[c3>>2],O=G*F,H=M+O,V=-H,s[j5>>2]=V,J=S5+8|0,t0=+s[J>>2],Z=J5+12|0,A0=+s[Z>>2],j=A0*t0,s0=S5+12|0,K=+s[s0>>2],o0=J5+8|0,Y=+s[o0>>2],h0=Y*K,i0=j-h0,e0=A6+-8|0,s[e0>>2]=i0,u0=+s[J>>2],c0=+s[o0>>2],$0=c0*u0,X=+s[s0>>2],m0=+s[Z>>2],g0=m0*X,I0=$0+g0,n0=-I0,d0=j5+4|0,s[d0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],b0=J5+20|0,y0=+s[b0>>2],E0=y0*C0,Q0=S5+20|0,w0=+s[Q0>>2],B0=J5+16|0,x0=+s[B0>>2],Z0=x0*w0,R0=E0-Z0,v0=A6+-12|0,s[v0>>2]=R0,N0=+s[p0>>2],U0=+s[B0>>2],H0=U0*N0,S0=+s[Q0>>2],J0=+s[b0>>2],T0=J0*S0,M0=H0+T0,P0=-M0,W0=j5+8|0,s[W0>>2]=P0,K0=S5+24|0,V0=+s[K0>>2],j0=J5+28|0,Y0=+s[j0>>2],s1=Y0*V0,z0=S5+28|0,r1=+s[z0>>2],L0=J5+24|0,o1=+s[L0>>2],d1=o1*r1,u1=s1-d1,s[G3>>2]=u1,p1=+s[K0>>2],f1=+s[L0>>2],A1=f1*p1,c1=+s[z0>>2],a1=+s[j0>>2],$1=a1*c1,X0=A1+$1,B1=-X0,m1=j5+12|0,s[m1>>2]=B1,Q1=j5+16|0,C1=S5+32|0,y1=J5+32|0,k1=C1>>>0>>0,k1;)J5=y1,S5=C1,A6=G3,j5=Q1;for(S1=a+(e2<<2)|0,Y3=i5,r6=S1,M3=S1;;)if(L1=r6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=r6+-4|0,s[R1>>2]=_1,F1=-_1,s[M3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],X1=r6+-8|0,s[X1>>2]=D1,G1=-D1,x1=M3+4|0,s[x1>>2]=G1,K1=Y3+-12|0,q1=+s[K1>>2],H1=r6+-12|0,s[H1>>2]=q1,V1=-q1,Y1=M3+8|0,s[Y1>>2]=V1,t2=+s[M1>>2],s[L1>>2]=t2,s2=-t2,h2=M3+12|0,s[h2>>2]=s2,Z1=M3+16|0,I2=Z1>>>0>>0,I2)Y3=M1,r6=L1,M3=Z1;else{U5=i5,z3=i5;break}for(;A2=z3+-16|0,C2=U5+12|0,$2=e[C2>>2]|0,e[A2>>2]=$2,W1=U5+8|0,f2=e[W1>>2]|0,c2=z3+-12|0,e[c2>>2]=f2,n2=U5+4|0,o2=e[n2>>2]|0,l2=z3+-8|0,e[l2>>2]=o2,i2=e[U5>>2]|0,a2=z3+-4|0,e[a2>>2]=i2,m2=U5+16|0,r2=A2>>>0>y5>>>0,r2;)U5=m2,z3=A2}function vy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=0,e5=0,c5=0,T2=0,v5=0,z5=0;if(z5=C,k=e[t>>2]|0,w=k>>1,s1=k>>2,c1=k>>3,S1=k<<2,$=S1,G1=C,C=C+((1*$|0)+15&-16)|0,h2=G1+(w<<2)|0,g=w+s1|0,o2=o+(g<<2)|0,M2=t+8|0,N1=e[M2>>2]|0,_=N1+(w<<2)|0,t0=(c1|0)>0,t0){for(d=g+1|0,e0=o+(d<<2)|0,p0=c1+-1|0,R0=p0>>>1,W0=R0<<1,V0=w+-2|0,j0=V0-W0|0,q0=g+-4|0,Y0=R0<<2,z0=q0-Y0|0,s5=_,L5=0,f5=o2,R5=e0;r1=f5+-16|0,L0=s5+-8|0,o1=f5+-8|0,d1=+s[o1>>2],u1=+s[R5>>2],p1=u1+d1,f1=+s[r1>>2],h1=R5+8|0,A1=+s[h1>>2],a1=A1+f1,$1=s5+-4|0,X0=+s[$1>>2],B1=a1*X0,m1=+s[L0>>2],Q1=m1*p1,C1=Q1+B1,b=L5+w|0,y1=G1+(b<<2)|0,s[y1>>2]=C1,v1=+s[L0>>2],k1=v1*a1,L1=+s[$1>>2],M1=L1*p1,b1=k1-M1,_1=L5|1,D=_1+w|0,R1=G1+(D<<2)|0,s[R1>>2]=b1,F1=R5+16|0,U1=L5+2|0,D1=(U1|0)<(c1|0),D1;)s5=L0,L5=U1,f5=r1,R5=F1;P1=W0+2|0,d2=N1+(j0<<2)|0,w5=o+(z0<<2)|0,Y2=j0,B5=d2,p5=P1,a5=w5}else Y2=w,B5=_,p5=0,a5=o2;if(X1=o+4|0,x1=w-c1|0,K1=(p5|0)<(x1|0),K1){for(q1=w+-1|0,H1=q1-p5|0,V1=H1-c1|0,Y1=V1>>>1,t2=Y1<<1,s2=p5+t2|0,e2=Y1<<2,O1=e2+5|0,Z1=-2-t2|0,R2=B5,M5=p5,K2=a5,c5=X1;I2=R2+-8|0,A2=K2+-16|0,C2=K2+-8|0,$2=+s[C2>>2],W1=+s[c5>>2],f2=$2-W1,c2=+s[A2>>2],n2=c5+8|0,g2=+s[n2>>2],l2=c2-g2,i2=R2+-4|0,a2=+s[i2>>2],m2=l2*a2,r2=+s[I2>>2],k2=r2*f2,D2=k2+m2,E=M5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,y2=+s[I2>>2],G2=y2*l2,O2=+s[i2>>2],p2=O2*f2,W2=G2-p2,q2=M5|1,y=q2+w|0,J2=G1+(y<<2)|0,s[J2>>2]=W2,U2=c5+16|0,V2=M5+2|0,Z2=(V2|0)<(x1|0),Z2;)R2=I2,M5=V2,K2=A2,c5=U2;A5=s2+2|0,l5=o+(O1<<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)<(w|0),t5)for(T5=o+(k<<2)|0,Q2=F2,z2=q5,I5=T5,T2=e5;i5=Q2+-8|0,x5=I5+-16|0,j2=I5+-8|0,m5=+s[j2>>2],b5=-m5,V5=+s[T2>>2],u5=b5-V5,b2=+s[x5>>2],Q=-b2,x=T2+8|0,M=+s[x>>2],L=Q-M,F=Q2+-4|0,G=+s[F>>2],O=L*G,H=+s[i5>>2],V=H*u5,J=V+O,m=z2+w|0,Z=G1+(m<<2)|0,s[Z>>2]=J,A0=+s[i5>>2],j=A0*L,r0=+s[F>>2],s0=r0*u5,K=j-s0,o0=z2|1,I=o0+w|0,Y=G1+(I<<2)|0,s[Y>>2]=K,h0=T2+16|0,i0=z2+2|0,u0=(i0|0)<(w|0),u0;)Q2=i5,z2=i0,I5=x5,T2=h0;if($5=t+4|0,h5=e[$5>>2]|0,ky(h5,N1,h2,w),d5=e[t>>2]|0,Q5=e[M2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,Sy(d5,Q5,D5,G1),c0=(s1|0)>0,!c0){C=z5;return}for($0=a+(w<<2)|0,l0=e[M2>>2]|0,X=l0+(w<<2)|0,m0=t+16|0,y5=X,E5=0,r5=G1,n5=$0;g0=n5+-4|0,I0=+s[r5>>2],n0=+s[y5>>2],d0=n0*I0,C0=r5+4|0,b0=+s[C0>>2],y0=y5+4|0,D0=+s[y0>>2],E0=D0*b0,Q0=E0+d0,w0=+s[m0>>2],B0=Q0*w0,x0=a+(E5<<2)|0,s[x0>>2]=B0,Z0=+s[r5>>2],v0=+s[y0>>2],N0=v0*Z0,U0=+s[C0>>2],O0=+s[y5>>2],H0=O0*U0,S0=N0-H0,J0=+s[m0>>2],T0=S0*J0,s[g0>>2]=T0,M0=r5+8|0,P0=y5+8|0,K0=E5+1|0,N5=(K0|0)==(s1|0),!N5;)y5=P0,E5=K0,r5=M0,n5=g0;C=z5}function ky(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,y8=0,G8=0,nn=0,kr=0;if(kr=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=o,B8=V5,y8=e8;dt=B8+24|0,Vi=+s[dt>>2],Qi=y8+24|0,ki=+s[Qi>>2],bi=Vi-ki,y0=B8+28|0,U0=+s[y0>>2],j0=y8+28|0,f1=+s[j0>>2],y1=U0-f1,D1=ki+Vi,s[dt>>2]=D1,s2=+s[j0>>2],c2=s2+U0,s[y0>>2]=c2,S2=g+4|0,Z2=+s[S2>>2],u5=Z2*y1,q5=+s[g>>2],X2=q5*bi,c5=X2+u5,s[Qi>>2]=c5,y3=+s[g>>2],a6=y3*y1,Y3=+s[S2>>2],r6=Y3*bi,S6=a6-r6,s[j0>>2]=S6,K3=B8+16|0,H6=+s[K3>>2],g9=y8+16|0,n9=+s[g9>>2],Q9=H6-n9,Me=B8+20|0,Ve=+s[Me>>2],Y4=y8+20|0,de=+s[Y4>>2],I6=Ve-de,xe=n9+H6,s[K3>>2]=xe,I8=+s[Y4>>2],Yt=I8+Ve,s[Me>>2]=Yt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*I6,_4=g+16|0,F9=+s[_4>>2],Ft=F9*Q9,u8=Ft+Bt,s[g9>>2]=u8,j8=+s[_4>>2],Nt=j8*I6,F8=+s[at>>2],Xt=F8*Q9,O4=Nt-Xt,s[Y4>>2]=O4,C4=B8+8|0,Ae=+s[C4>>2],T8=y8+8|0,$i=+s[T8>>2],qi=Ae-$i,Hi=B8+12|0,Ei=+s[Hi>>2],X8=y8+12|0,Ci=+s[X8>>2],ei=Ei-Ci,Bi=$i+Ae,s[C4>>2]=Bi,ti=+s[X8>>2],yi=ti+Ei,s[Hi>>2]=yi,li=g+36|0,g7=+s[li>>2],Yi=g7*ei,wi=g+32|0,u7=+s[wi>>2],vi=u7*qi,ci=vi+Yi,s[T8>>2]=ci,h7=+s[wi>>2],zi=h7*ei,Ji=+s[li>>2],Ki=Ji*qi,Wi=zi-Ki,s[X8>>2]=Wi,gi=+s[B8>>2],Zi=+s[y8>>2],ii=gi-Zi,ui=B8+4|0,z8=+s[ui>>2],ri=y8+4|0,d7=+s[ri>>2],ji=z8-d7,f7=Zi+gi,s[B8>>2]=f7,Si=+s[ri>>2],Xi=Si+z8,s[ui>>2]=Xi,Di=g+52|0,e7=+s[Di>>2],_i=e7*ji,ni=g+48|0,xi=+s[ni>>2],t7=xi*ii,hi=t7+_i,s[y8>>2]=hi,J8=+s[ni>>2],Li=J8*ji,x4=+s[Di>>2],D0=x4*ii,E0=Li-D0,s[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(N8=1;;){if(R0=1<>N8,O0=4<>1,b=H0+-8|0,H=O0+1|0,h0=O0<<1,$0=h0|1,m0=O0*3|0,I0=m0+1|0,d0=O0<<2,di=0;;){for(J0=o5(di,N0)|0,T0=a+(J0<<2)|0,m=E+J0|0,M0=a+(m<<2)|0,u0=b+J0|0,P0=a+(u0<<2)|0,d=o,vt=M0,G8=P0;W0=vt+24|0,K0=+s[W0>>2],V0=G8+24|0,q0=+s[V0>>2],Y0=K0-q0,s1=vt+28|0,z0=+s[s1>>2],r1=G8+28|0,L0=+s[r1>>2],o1=z0-L0,d1=q0+K0,s[W0>>2]=d1,u1=+s[r1>>2],p1=u1+z0,s[s1>>2]=p1,h1=d+4|0,A1=+s[h1>>2],c1=A1*o1,a1=+s[d>>2],$1=a1*Y0,X0=$1+c1,s[V0>>2]=X0,B1=+s[d>>2],m1=B1*o1,Q1=+s[h1>>2],C1=Q1*Y0,v1=m1-C1,s[r1>>2]=v1,k1=d+(O0<<2)|0,S1=vt+16|0,L1=+s[S1>>2],M1=G8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=G8+20|0,P1=+s[U1>>2],X1=F1-P1,G1=b1+L1,s[S1>>2]=G1,x1=+s[U1>>2],K1=x1+F1,s[R1>>2]=K1,q1=d+(H<<2)|0,H1=+s[q1>>2],V1=H1*X1,Y1=+s[k1>>2],t2=Y1*_1,e2=t2+V1,s[M1>>2]=e2,O1=+s[k1>>2],h2=O1*X1,Z1=+s[q1>>2],I2=Z1*_1,A2=h2-I2,s[U1>>2]=A2,C2=d+(h0<<2)|0,$2=vt+8|0,W1=+s[$2>>2],f2=G8+8|0,n2=+s[f2>>2],g2=W1-n2,o2=vt+12|0,l2=+s[o2>>2],i2=G8+12|0,a2=+s[i2>>2],m2=l2-a2,r2=n2+W1,s[$2>>2]=r2,k2=+s[i2>>2],D2=k2+l2,s[o2>>2]=D2,y2=d+($0<<2)|0,G2=+s[y2>>2],M2=G2*m2,O2=+s[C2>>2],p2=O2*g2,W2=p2+M2,s[f2>>2]=W2,q2=+s[C2>>2],J2=q2*m2,U2=+s[y2>>2],V2=U2*g2,A5=J2-V2,s[i2>>2]=A5,Y2=d+(m0<<2)|0,N1=+s[vt>>2],t5=+s[G8>>2],T5=N1-t5,i5=vt+4|0,x5=+s[i5>>2],j2=G8+4|0,m5=+s[j2>>2],b5=x5-m5,b2=t5+N1,s[vt>>2]=b2,B5=+s[j2>>2],s5=B5+x5,s[i5>>2]=s5,F2=d+(I0<<2)|0,R2=+s[F2>>2],Q2=R2*b5,y5=+s[Y2>>2],N5=y5*T5,p5=N5+Q2,s[G8>>2]=p5,L5=+s[Y2>>2],M5=L5*b5,z2=+s[F2>>2],E5=z2*T5,$5=M5-E5,s[j2>>2]=$5,h5=d+(d0<<2)|0,Q5=vt+-32|0,T1=G8+-32|0,D5=T1>>>0>>0,!D5;)d=h5,vt=Q5,G8=T1;if(d5=di+1|0,l5=(d5|0)<(R0|0),l5)di=d5;else break}if(d2=N8+1|0,Mi=(d2|0)==(C0|0),Mi)break;N8=d2}if(S0=($|0)>0,S0)$9=0;else return;for(;w5=a+($9<<2)|0,y=$9|30,r5=a+(y<<2)|0,a5=+s[r5>>2],O=$9|14,f5=a+(O<<2)|0,K2=+s[f5>>2],I5=a5-K2,Y=$9|31,n5=a+(Y<<2)|0,R5=+s[n5>>2],c0=$9|15,e5=a+(c0<<2)|0,T2=+s[e5>>2],v5=R5-T2,z5=K2+a5,s[r5>>2]=z5,i3=T2+R5,s[n5>>2]=i3,s[f5>>2]=I5,s[e5>>2]=v5,l0=$9|28,C5=a+(l0<<2)|0,I3=+s[C5>>2],X=$9|12,d3=a+(X<<2)|0,W5=+s[d3>>2],r3=I3-W5,g0=$9|29,a3=a+(g0<<2)|0,G5=+s[a3>>2],n0=$9|13,Z5=a+(n0<<2)|0,x3=+s[Z5>>2],f3=G5-x3,w3=W5+I3,s[C5>>2]=w3,e6=x3+G5,s[a3>>2]=e6,H3=r3*.9238795042037964,X5=f3*.3826834261417389,_3=H3-X5,s[d3>>2]=_3,t3=r3*.3826834261417389,G3=f3*.9238795042037964,V3=G3+t3,s[Z5>>2]=V3,p0=$9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],D=$9|10,u3=a+(D<<2)|0,Q3=+s[u3>>2],J5=g3-Q3,k=$9|27,H5=a+(k<<2)|0,Y5=+s[H5>>2],w=$9|11,S5=a+(w<<2)|0,U5=+s[S5>>2],l6=Y5-U5,n3=Q3+g3,s[c3>>2]=n3,l3=U5+Y5,s[H5>>2]=l3,U3=J5-l6,C6=U3*.7071067690849304,s[u3>>2]=C6,b3=l6+J5,L3=b3*.7071067690849304,s[S5>>2]=L3,_=$9|24,D3=a+(_<<2)|0,A6=+s[D3>>2],Q=$9|8,z3=a+(Q<<2)|0,j5=+s[z3>>2],M3=A6-j5,x=$9|25,h3=a+(x<<2)|0,J3=+s[h3>>2],M=$9|9,d6=a+(M<<2)|0,m3=+s[d6>>2],x6=J3-m3,L6=j5+A6,s[D3>>2]=L6,M6=m3+J3,s[h3>>2]=M6,n6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=n6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,v6=N6+j6,L=$9|22,R3=a+(L<<2)|0,o6=+s[R3>>2],F=$9|6,s6=a+(F<<2)|0,B6=+s[s6>>2],F3=o6-B6,G=$9|7,W3=a+(G<<2)|0,t6=+s[W3>>2],V=$9|23,R6=a+(V<<2)|0,c6=+s[R6>>2],o3=t6-c6,J6=B6+o6,s[R3>>2]=J6,A3=c6+t6,s[R6>>2]=A3,s[s6>>2]=o3,s[W3>>2]=F3,J=$9|4,g6=a+(J<<2)|0,y6=+s[g6>>2],t0=$9|20,$6=a+(t0<<2)|0,D6=+s[$6>>2],G6=y6-D6,Z=$9|5,e9=a+(Z<<2)|0,Q6=+s[e9>>2],A0=$9|21,X6=a+(A0<<2)|0,P3=+s[X6>>2],r9=Q6-P3,V6=D6+y6,s[$6>>2]=V6,o9=P3+Q6,s[X6>>2]=o9,U6=r9*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,t9=r9*.3826834261417389,_6=G6*.9238795042037964,P6=t9-_6,j=$9|2,O3=a+(j<<2)|0,O6=+s[O3>>2],r0=$9|18,s9=a+(r0<<2)|0,h9=+s[s9>>2],C9=O6-h9,s0=$9|3,B9=a+(s0<<2)|0,y9=+s[B9>>2],K=$9|19,d9=a+(K<<2)|0,f9=+s[d9>>2],V9=y9-f9,w6=h9+O6,s[s9>>2]=w6,q6=f9+y9,s[d9>>2]=q6,a9=V9+C9,Y9=a9*.7071067690849304,Qe=V9-C9,ge=Qe*.7071067690849304,pe=+s[w5>>2],o0=$9|16,z9=a+(o0<<2)|0,re=+s[z9>>2],R9=pe-re,i0=$9|1,w9=a+(i0<<2)|0,K6=+s[w9>>2],e0=$9|17,A9=a+(e0<<2)|0,we=+s[A9>>2],ue=K6-we,D9=re+pe,s[z9>>2]=D9,Re=we+K6,s[A9>>2]=Re,Fe=ue*.3826834261417389,Ge=R9*.9238795042037964,qe=Fe+Ge,r4=ue*.9238795042037964,ve=R9*.3826834261417389,He=r4-ve,J9=He-v6,he=qe-b6,Ue=qe+b6,Ee=He+v6,v4=he+J9,Z9=J9-he,v9=+s[S5>>2],k4=ge-v9,V4=+s[u3>>2],nt=V4-Y9,Ye=V4+Y9,ze=v9+ge,n4=+s[d3>>2],R4=n4-F6,ot=+s[Z5>>2],ne=ot-P6,u4=n4+F6,Ce=ot+P6,T6=R4-ne,Je=ne+R4,O9=+s[f5>>2],Te=O9-o3,h4=+s[e5>>2],oe=h4-F3,d4=o3+O9,f4=F3+h4,ke=Te+k4,o4=Te-k4,Pe=T6+v4,I4=Pe*.7071067690849304,k9=T6-v4,z4=k9*.7071067690849304,fe=I4+ke,s[s6>>2]=fe,S4=ke-I4,s[g6>>2]=S4,Se=Je-Z9,Ie=Se*.7071067690849304,z6=oe-nt,F4=Ie+o4,s[w5>>2]=F4,T4=o4-Ie,s[O3>>2]=T4,st=Je+Z9,me=st*.7071067690849304,mt=oe+nt,Z3=z6+z4,s[B9>>2]=Z3,_9=z6-z4,s[w9>>2]=_9,S9=mt+me,s[W3>>2]=S9,Oe=mt-me,s[e9>>2]=Oe,s4=d4+Ye,d8=d4-Ye,N4=Ue+u4,f8=u4-Ue,D8=s4+N4,s[f5>>2]=D8,m8=s4-N4,s[d3>>2]=m8,Ut=Ce-Ee,Pt=f4-ze,Ot=d8+Ut,s[z3>>2]=Ot,qt=d8-Ut,s[u3>>2]=qt,t8=Ce+Ee,i8=f4+ze,_8=Pt+f8,s[S5>>2]=_8,Ht=Pt-f8,s[d6>>2]=Ht,Vt=i8+t8,s[e5>>2]=Vt,_t=i8-t8,s[Z5>>2]=_t,xt=+s[h3>>2],pt=Re-xt,zt=+s[D3>>2],Jt=D9-zt,r8=zt+D9,n8=xt+Re,Et=Jt+pt,J4=pt-Jt,G4=+s[d9>>2],Lt=+s[H5>>2],x9=G4-Lt,p8=+s[c3>>2],b4=+s[s9>>2],E8=p8-b4,x8=b4+p8,o8=Lt+G4,L8=+s[C5>>2],a4=+s[$6>>2],s8=L8-a4,Mt=+s[a3>>2],At=+s[X6>>2],Ke=Mt-At,U4=a4+L8,$t=At+Mt,Ct=s8-Ke,Rt=Ke+s8,m4=+s[r5>>2],se=+s[R3>>2],lt=m4-se,ct=+s[n5>>2],yt=+s[R6>>2],p4=ct-yt,D4=se+m4,K4=yt+ct,W4=lt+x9,ae=lt-x9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,be=gt*.7071067690849304,Qt=E4+W4,s[R3>>2]=Qt,a8=W4-E4,s[$6>>2]=a8,We=Rt-J4,C3=We*.7071067690849304,Z4=p4-E8,wt=C3+ae,s[z9>>2]=wt,A4=ae-C3,s[s9>>2]=A4,j9=Rt+J4,$4=j9*.7071067690849304,j4=p4+E8,Wt=Z4+be,s[d9>>2]=Wt,C8=Z4-be,s[A9>>2]=C8,A8=j4+$4,s[R6>>2]=A8,$8=j4-$4,s[X6>>2]=$8,Zt=D4+x8,l8=D4-x8,jt=U4+r8,ut=U4-r8,ht=Zt+jt,s[r5>>2]=ht,Ze=Zt-jt,s[C5>>2]=Ze,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[D3>>2]=X4,b9=l8-c8,s[c3>>2]=b9,g8=$t+n8,et=K4+o8,V8=Tt+ut,s[H5>>2]=V8,Z8=Tt-ut,s[h3>>2]=Z8,M8=et+g8,s[n5>>2]=M8,R8=et-g8,s[a3>>2]=R8,l4=$9+32|0,Y8=(l4|0)<($|0),Y8;)$9=l4}function Sy(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0;for(Q1=C,D=t>>1,k=$+(D<<2)|0,V=o+(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,d=M0+D|0,L0=$+(d<<2)|0,m=g+1|0,A1=$+(m<<2)|0,c1=+s[A1>>2],I=d+1|0,w=$+(I<<2)|0,_=+s[w>>2],Q=c1-_,x=+s[n0>>2],M=+s[L0>>2],L=M+x,F=+s[a1>>2],G=L*F,O=a1+4|0,H=+s[O>>2],J=H*Q,t0=J+G,Z=H*L,A0=F*Q,j=Z-A0,r0=B1+-16|0,s0=_+c1,K=s0*.5,o0=x-M,Y=o0*.5,i0=t0+K,s[X0>>2]=i0,e0=K-t0,u0=B1+-8|0,s[u0>>2]=e0,c0=j+Y,$0=X0+4|0,s[$0>>2]=c0,l0=j-Y,X=B1+-4|0,s[X>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+D|0,I0=$+(E<<2)|0,d0=$1+12|0,p0=e[d0>>2]|0,y=p0+D|0,C0=$+(y<<2)|0,B=E+1|0,b0=$+(B<<2)|0,y0=+s[b0>>2],b=y+1|0,D0=$+(b<<2)|0,E0=+s[D0>>2],Q0=y0-E0,w0=+s[I0>>2],B0=+s[C0>>2],Z0=B0+w0,R0=a1+8|0,v0=+s[R0>>2],N0=Z0*v0,U0=a1+12|0,O0=+s[U0>>2],H0=O0*Q0,S0=H0+N0,J0=O0*Z0,T0=v0*Q0,P0=J0-T0,W0=E0+y0,K0=W0*.5,V0=w0-B0,j0=V0*.5,q0=S0+K0,Y0=X0+8|0,s[Y0>>2]=q0,s1=K0-S0,s[r0>>2]=s1,z0=P0+j0,r1=X0+12|0,s[r1>>2]=z0,o1=P0-j0,d1=B1+-12|0,s[d1>>2]=o1,u1=a1+16|0,p1=$1+16|0,f1=X0+16|0,h1=f1>>>0>>0,h1;)a1=u1,$1=p1,X0=f1,B1=r0}function Lb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=le(1,36)|0,d=t+4|0,m=e[d>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Mb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function Rb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Fb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0;a9=C,w6=t,Y9=w6+48|0;do e[w6>>2]=0,w6=w6+4|0;while((w6|0)<(Y9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,n2=+(x|0),i3=n2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,h3=+z7(l3),N6=h3+-1,R6=~~N6,L=t+32|0,e[L>>2]=R6,r0=+(g|0),l0=r0*.25,D0=l0,O0=D0*.5,q0=+($|0),h1=O0/q0,v1=+tn(+h1),P1=v1*1.4426950216293335,e2=P1+-5.965784072875977,g2=R6+1|0,G2=1<>2]=c5,v5=+($|0),z5=v5+.25,C5=z5*r0,I3=C5,d3=I3*.5,W5=d3/q0,r3=+tn(+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,H3=t+40|0,e[H3>>2]=e6,X5=$<<2,_3=M9(X5)|0,t3=t+16|0,e[t3>>2]=_3,a6=M9(X5)|0,G3=t+20|0,e[G3>>2]=a6,V3=M9(X5)|0,c3=t+24|0,e[c3>>2]=V3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,J5=t+48|0,s[J5>>2]=1,H5=(g|0)<26e3;do if(H5)s[J5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){s[J5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[J5>>2]=1.274999976158142)}while(!1);Y3=q0*2,U5=+(g|0),l6=($|0)>0,b3=l6,t9=0,n9=0;e:for(;;){for(y=b3^1,_6=t9;;){if(D3=_6+1|0,A6=+(D3|0),r6=A6*.08664337545633316,z3=r6+2.7488713472395148,j5=+Yn(+z3),M3=Y3*j5,J3=M3/U5,d6=+z7(J3),m3=~~d6,E=(m3|0)<=(n9|0),e9=E|y,!e9){m=D3,I=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{h9=n9;break e}}for(L6=1272+(P6<<2)|0,M6=+s[L6>>2],S6=1272+(m<<2)|0,n6=+s[S6>>2],f6=n6-M6,b6=I-n9|0,j6=+(b6|0),v6=f6/j6,R3=n9-I|0,o6=n9-$|0,s6=R3>>>0>o6>>>0,V9=s6?R3:o6,n3=n9-V9|0,G6=M6,C9=n9;B6=G6+100,K3=_3+(C9<<2)|0,s[K3>>2]=B6,F3=G6+v6,W3=C9+1|0,V6=(W3|0)==(n3|0),!V6;)G6=F3,C9=W3;if(U3=(n3|0)<($|0),C6=(m|0)<87,C6)b3=U3,t9=m,n9=n3;else{h9=n3;break}}if(L3=(h9|0)<($|0),L3)for(B9=h9;H6=B9+-1|0,$6=_3+(H6<<2)|0,D6=e[$6>>2]|0,F=_3+(B9<<2)|0,e[F>>2]=D6,G=B9+1|0,r9=(G|0)==($|0),!r9;)B9=G;if(t6=($|0)>0,t6){for(c6=$<<1,o3=(g|0)/(c6|0)&-1,J6=o+120|0,A3=e[J6>>2]|0,g6=o+124|0,y6=o+116|0,T3=o+112|0,U6=1,O3=0,y9=-99;;){Z=o5(o3,O3)|0,A0=+(Z|0),j=A0*.0007399999885819852,s0=j,K=+is(+s0),o0=K*13.100000381469727,Y=o5(Z,Z)|0,h0=+(Y|0),i0=h0*18499999754340024e-24,e0=i0,u0=+is(+e0),c0=u0*2.240000009536743,$0=c0+o0,X=A0*9999999747378752e-20,m0=X,g0=$0+m0,I0=g0,n0=A3+y9|0,d0=(n0|0)<(O3|0);e:do if(d0)for(p0=+s[T3>>2],C0=I0-p0,b0=C0,f9=y9;;){if(y0=o5(f9,o3)|0,E0=+(y0|0),Q0=E0*.0007399999885819852,w0=Q0,B0=+is(+w0),x0=B0*13.100000381469727,Z0=o5(y0,y0)|0,R0=+(Z0|0),v0=R0*18499999754340024e-24,N0=v0,U0=+is(+N0),H0=U0*2.240000009536743,S0=E0*9999999747378752e-20,J0=S0,T0=x0+J0,M0=T0+H0,P0=M0($|0);e:do if(W0)Y6=U6;else for(K0=e[g6>>2]|0,V0=K0+O3|0,F6=U6;;){if(z0=(F6|0)<(V0|0),!z0&&(r1=o5(F6,o3)|0,L0=+(r1|0),o1=L0*.0007399999885819852,d1=o1,u1=+is(+d1),p1=u1*13.100000381469727,f1=o5(r1,r1)|0,A1=+(f1|0),c1=A1*18499999754340024e-24,a1=c1,$1=+is(+a1),X0=$1*2.240000009536743,B1=L0*9999999747378752e-20,m1=B1,Q1=p1+m1,C1=Q1+X0,y1=+s[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,y9=d9}if(t6)for(O=U5*.5,H=e[L>>2]|0,V=H+1|0,J=1<>2]=O1,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=o+36|0,A2=k/q0,C2=A2,$2=o+24|0,W1=+s[$2>>2],f2=o+28|0,c2=+s[f2>>2],o2=Gb(I2,C2,$,W1,c2)|0,l2=t+8|0,e[l2>>2]=o2,i2=M9(12)|0,a2=t+12|0,e[a2>>2]=i2,m2=M9(X5)|0,e[i2>>2]=m2,r2=M9(X5)|0,k2=i2+4|0,e[k2>>2]=r2,D2=M9(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,w=e[B>>2]|0,b=i2+8|0,_=e[b>>2]|0,s9=0;M2=+(s9|0),O2=M2+.5,p2=O2*U5,W2=p2/Y3,q2=+tn(+W2),J2=q2*2.885390043258667,U2=J2+-11.931568145751953,V2=U2,Z2=V2<0,o9=Z2?0:V2,d=o9>=16,g9=d?16:o9,A5=~~g9,N1=+(A5|0),t5=g9-N1,T5=t5,i5=1-T5,x5=A5+1|0,j2=(y2+132|0)+(A5<<2)|0,m5=+s[j2>>2],b5=m5,V5=b5*i5,u5=(y2+132|0)+(x5<<2)|0,B5=+s[u5>>2],s5=B5*t5,F2=s5,R2=F2+V5,Q2=R2,y5=D+(s9<<2)|0,s[y5>>2]=Q2,N5=(y2+200|0)+(A5<<2)|0,p5=+s[N5>>2],L5=p5,q5=L5*i5,z2=(y2+200|0)+(x5<<2)|0,E5=+s[z2>>2],$5=E5*t5,h5=$5,Q5=h5+q5,T1=Q5,D5=w+(s9<<2)|0,s[D5>>2]=T1,d5=(y2+268|0)+(A5<<2)|0,l5=+s[d5>>2],X2=l5,w5=X2*i5,r5=(y2+268|0)+(x5<<2)|0,a5=+s[r5>>2],f5=a5*t5,K2=f5,I5=K2+w5,n5=I5,R5=_+(s9<<2)|0,s[R5>>2]=n5,e5=s9+1|0,Q6=(e5|0)==($|0),!Q6;)s9=e5}function by(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0;if(q0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,J=(w|0)==0,J||E2(w),i0=t+20|0,d0=e[i0>>2]|0,Z0=(d0|0)==0,Z0||E2(d0),T0=t+24|0,M0=e[T0>>2]|0,P0=(M0|0)==0,P0||E2(M0),g=t+8|0,d=e[g>>2]|0,m=(d|0)==0,!m){for(E=d,K0=0;I=E+(K0<<2)|0,y=e[I>>2]|0,B=e[y>>2]|0,E2(B),b=e[g>>2]|0,D=b+(K0<<2)|0,k=e[D>>2]|0,_=k+4|0,Q=e[_>>2]|0,E2(Q),x=e[g>>2]|0,M=x+(K0<<2)|0,L=e[M>>2]|0,F=L+8|0,G=e[F>>2]|0,E2(G),O=e[g>>2]|0,H=O+(K0<<2)|0,V=e[H>>2]|0,t0=V+12|0,Z=e[t0>>2]|0,E2(Z),A0=e[g>>2]|0,j=A0+(K0<<2)|0,r0=e[j>>2]|0,s0=r0+16|0,K=e[s0>>2]|0,E2(K),o0=e[g>>2]|0,Y=o0+(K0<<2)|0,h0=e[Y>>2]|0,e0=h0+20|0,u0=e[e0>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(K0<<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+(K0<<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+(K0<<2)|0,D0=e[y0>>2]|0,E2(D0),E0=K0+1|0,W0=(E0|0)==17,!W0;)o=e[g>>2]|0,E=o,K0=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,N0=v0+4|0,U0=e[N0>>2]|0,E2(U0),O0=e[w0>>2]|0,H0=O0+8|0,S0=e[H0>>2]|0,E2(S0),J0=e[w0>>2]|0,E2(J0)),V0=t,Y0=V0+52|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0))}}function Dy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0,p0=0,C0=0,b0=0,y0=0;if(y0=C,m=e[t>>2]|0,I=m<<2,d=I,M=C,C=C+((1*d|0)+15&-16)|0,j=t+24|0,u0=e[j>>2]|0,xy(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(d0=0;$0=o+(d0<<2)|0,l0=+s[$0>>2],X=a+(d0<<2)|0,m0=+s[X>>2],E=l0-m0,y=M+(d0<<2)|0,s[y>>2]=E,B=d0+1|0,I0=(B|0)==(m|0),!I0;)d0=B;if(b=e[j>>2]|0,D=t+4|0,k=e[D>>2]|0,w=k+128|0,_=e[w>>2]|0,xy(m,b,M,a,0,_),c0)p0=0;else{C=y0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],F=M+(p0<<2)|0,G=+s[F>>2],O=L-G,s[F>>2]=O,H=p0+1|0,n0=(H|0)==(m|0),!n0;)p0=H;if(!c0){C=y0;return}for(Q=e[D>>2]|0,C0=0;V=a+(C0<<2)|0,J=+s[V>>2],t0=J,Z=t0+.5,A0=~~Z,r0=(A0|0)>39,$=r0?39:A0,s0=($|0)<0,g=s0?0:$,K=M+(C0<<2)|0,o0=+s[K>>2],Y=(Q+336|0)+(g<<2)|0,h0=+s[Y>>2],i0=h0+o0,s[V>>2]=i0,e0=C0+1|0,g0=(e0|0)==(m|0),!g0;)C0=e0;C=y0}function _y(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,P1=C,C=C+((1*I|0)+15&-16)|0,e2=t+4|0,n2=e[e2>>2]|0,y2=n2+4|0,A5=+s[y2>>2],u5=A5+g,H=(h1|0)>0,H)for($5=0;Y=P1+($5<<2)|0,s[Y>>2]=-9999,I0=$5+1|0,B0=(I0|0)<(h1|0),B0;)$5=I0;if(T0=n2+8|0,r1=+s[T0>>2],d1=u50,u1){for(p1=t+16|0,f1=e[p1>>2]|0,d5=0;A1=f1+(d5<<2)|0,c1=+s[A1>>2],a1=c1+q5,$1=a+(d5<<2)|0,s[$1>>2]=a1,X0=d5+1|0,z2=(X0|0)==(G|0),!z2;)d5=X0;if(B1=t+8|0,m1=e[B1>>2]|0,Q1=n2+496|0,C1=+s[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=o+(h5<<2)|0,R1=+s[_1>>2],F1=S1+(h5<<2)|0,U1=e[F1>>2]|0,D5=h5,a5=R1;e:for(;;)for(Q5=D5;;){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,K1=(x1|0)==(U1|0),!K1){b=1,k=D1,T1=Q5,f5=a5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],V1=H1>a5,V1){D5=D1,a5=H1;continue e}else Q5=D1}if(Y1=f5+6,t2=a+(T1<<2)|0,s2=+s[t2>>2],O1=Y1>s2,O1&&(h2=e[L1>>2]|0,Z1=U1>>h2,I2=(Z1|0)>16,m=I2?16:Z1,A2=(m|0)<0,d=A2?0:m,C2=m1+(d<<2)|0,$2=e[C2>>2]|0,W1=e[M1>>2]|0,f2=y1+f5,c2=f2,g2=c2+-30,o2=g2*.10000000149011612,l2=~~o2,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=+s[S2>>2],M2=~~G2,O2=+s[D2>>2],p2=~~O2,W2=(p2|0)<(M2|0),W2))for(q2=S1+(T1<<2)|0,J2=e[q2>>2]|0,U2=e[b1>>2]|0,V2=J2-U2|0,Z2=+(V2|0),Y2=W1>>1,N1=+(Y2|0),t5=O2+-16,T5=+(W1|0),i5=t5*T5,x5=i5-N1,j2=x5+Z2,m5=~~j2,E5=p2,z5=m5;b5=(z5|0)>0,b5&&(F=E5+2|0,V5=D2+(F<<2)|0,b2=+s[V5>>2],B5=b2+f5,s5=P1+(z5<<2)|0,F2=+s[s5>>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{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(Q=t+36|0,M=Q),L5=e[M>>2]|0,Ub(P1,L5,h1),V=e[t>>2]|0,J=(V|0)>1;e:do if(J)for(t0=t+20|0,Z=t+28|0,A0=e[t0>>2]|0,j=e[A0>>2]|0,r0=L5>>1,s0=j-r0|0,K=e[Z>>2]|0,o0=s0-K|0,h0=e[e2>>2]|0,i0=h0+32|0,X=1,n0=j,X2=0,T2=o0;;){c0=P1+(T2<<2)|0,$0=+s[c0>>2],l0=A0+(X<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,d0=g0>>1,p0=d0-K|0,C0=+s[i0>>2],b0=$0>C0,K2=b0?C0:$0,y0=(T2|0)<(p0|0);t:do if(y0)for(E=T2,n5=K2;;){for(D0=n5==-9999,y=E;;){if(E0=y+1|0,Q0=P1+(E0<<2)|0,w0=+s[Q0>>2],x0=w0>-9999,x0){if(Z0=w0=(V|0),O0=(n0|0)>(N0|0),R5=U0|O0;t:do if(R5)d2=X2;else for(w5=X2;;){if(H0=a+(w5<<2)|0,S0=+s[H0>>2],J0=S0>2]=I5),M0=w5+1|0,P0=(M0|0)<(V|0),!P0){d2=M0;break t}if(_=A0+(M0<<2)|0,L=e[_>>2]|0,W0=(L|0)>(N0|0),W0){d2=M0;break}else w5=M0}while(!1);if(e0=d2+1|0,u0=(e0|0)<(V|0),!u0){l5=d2;break e}w=A0+(d2<<2)|0,x=e[w>>2]|0,X=e0,n0=x,X2=d2,T2=v5}else l5=0;while(!1);if(K0=e[O>>2]|0,V0=K0+-1|0,j0=P1+(V0<<2)|0,q0=+s[j0>>2],Y0=(l5|0)<(V|0),Y0)r5=l5;else{C=C5;return}for(;s1=a+(r5<<2)|0,z0=+s[s1>>2],L0=z0>2]=q0),o1=r5+1|0,M5=(o1|0)==(V|0),!M5;)r5=o1;C=C5}function ol(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,F=e[y>>2]|0,s0=(F+12|0)+($<<2)|0,X=+s[s0>>2],C0=(E|0)>0,!!C0)for(b0=t+48|0,y0=+s[b0>>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,w=y0,_=w*.005,Q=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=b+(B0<<2)|0,G=+s[L>>2],O=G+M,H=+s[D>>2],V=O>H,x0=V?H:O,J=a+(B0<<2)|0,t0=+s[J>>2],Z=t0+X,A0=x0>2]=I,k&&(r0=m+(B0<<2)|0,K=+s[r0>>2],o0=x0-K,Y=o0>-17.200000762939453,h0=o0+17.200000762939453,i0=h0,Y?(e0=_*i0,u0=1-e0,c0=u0,$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=+s[I0>>2],d0=n0*Q0,s[I0>>2]=d0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Tb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0;return H=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,_=e[w>>2]|0,Q=o+40|0,x=e[Q>>2]|0,M=_+(x<<2)|0,L=e[M>>2]|0,F=(L|0)/2&-1,G=+(F|0),d=g+8|0,m=e[d>>2]|0,I=+(m|0),E=G/I,y=_+2936|0,B=+s[y>>2],b=B*E,D=b+t,k=D<-9999,a=k?-9999:D,+a}function Nb(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0;if(Ve=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,v6=e[d6>>2]|0,Z5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,D0=(o+252|0)+(t<<2)|0,O0=e[D0>>2]|0,q0=1624+(O0<<3)|0,h1=+l1[q0>>3],v1=(o+312|0)+(t<<2)|0,P1=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,x=e2,b2=C,C=C+((1*x|0)+15&-16)|0,M=e2,M5=C,C=C+((1*M|0)+15&-16)|0,d2=$+1156|0,T2=(c0|0)>1e3,He=T2?1696:1624,qe=He+(P1<<3)|0,Ge=+l1[qe>>3],G5=o5(e2,Z5)|0,L=G5,x3=C,C=C+((1*L|0)+15&-16)|0,e[n2>>2]=x3,k=G5,f3=C,C=C+((1*k|0)+15&-16)|0,e[y2>>2]=f3,w=G5,w3=C,C=C+((1*w|0)+15&-16)|0,e[Y2>>2]=w3,_=G5,H3=C,C=C+((1*_|0)+15&-16)|0,e[b2>>2]=H3,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,V3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=V3,g3=H3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,C9=(E|0)==2,!C9))for(S5=2;G=e[n2>>2]|0,V=e[y2>>2]|0,J=e[Y2>>2]|0,t0=e[b2>>2]|0,Y5=o5(S5,Z5)|0,Y3=G+(Y5<<2)|0,U5=n2+(S5<<2)|0,e[U5>>2]=Y3,l6=V+(Y5<<2)|0,n3=y2+(S5<<2)|0,e[n3>>2]=l6,l3=J+(Y5<<2)|0,U3=Y2+(S5<<2)|0,e[U3>>2]=l3,b3=t0+(Y5<<2)|0,L3=b2+(S5<<2)|0,e[L3>>2]=b3,D3=S5+1|0,n9=(D3|0)==(E|0),!n9;)S5=D3;if(J5=e[d2>>2]|0,H5=(c0|0)>0,H5)for(A6=e[b2>>2]|0,r6=(E|0)>0,z3=c0^-1,j5=Z5^-1,q6=0,Q9=z3;;){if(J3=(Q9|0)>(j5|0),r4=J3?Q9:j5,m3=r4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),y=L6?x6:Z5,ce(M5|0,m|0,e2|0)|0,g4(A6|0,0,G5|0)|0,r6)for(M6=(y|0)>0,S6=l0-q6|0,A9=0;;){if(R3=d+(A9<<2)|0,o6=e[R3>>2]|0,s6=o6+(q6<<2)|0,B6=M5+(A9<<2)|0,K3=e[B6>>2]|0,F3=(K3|0)==0,F3){if(M6)for(R6=Y2+(A9<<2)|0,c6=e[R6>>2]|0,J6=n2+(A9<<2)|0,A3=e[J6>>2]|0,g6=y2+(A9<<2)|0,y6=e[g6>>2]|0,T3=b2+(A9<<2)|0,H6=e[T3>>2]|0,w9=0;P0=c6+(w9<<2)|0,s[P0>>2]=1000000013351432e-25,W0=A3+(w9<<2)|0,s[W0>>2]=0,K0=y6+(w9<<2)|0,s[K0>>2]=0,V0=H6+(w9<<2)|0,e[V0>>2]=0,Y=w9+q6|0,j0=o6+(Y<<2)|0,e[j0>>2]=0,Y0=w9+1|0,O6=(Y0|0)==(m3|0),!O6;)w9=Y0}else{if(W3=Y2+(A9<<2)|0,t6=e[W3>>2]|0,M6){for(re=0;h0=re+q6|0,$6=o6+(h0<<2)|0,D6=e[$6>>2]|0,G6=1768+(D6<<2)|0,e9=e[G6>>2]|0,X6=t6+(re<<2)|0,e[X6>>2]=e9,P3=re+1|0,_6=(P3|0)==(m3|0),!_6;)re=P3;if(r9=g+(A9<<2)|0,V6=e[r9>>2]|0,o9=b2+(A9<<2)|0,g9=e[o9>>2]|0,M6){for(z9=0;U6=(z9|0)>=(S6|0),u0=U6?Ge:h1,Y6=u0,i0=z9+q6|0,F6=V6+(i0<<2)|0,t9=+s[F6>>2],y9=+rr(+t9),X=t6+(z9<<2)|0,m0=+s[X>>2],g0=y9/m0,I0=g9+(z9<<2)|0,D9=!(g0>2]=B,n0=z9+1|0,P6=(n0|0)==(y|0),!P6;)z9=n0;if(M6)for(d0=n2+(A9<<2)|0,p0=e[d0>>2]|0,C0=y2+(A9<<2)|0,b0=e[C0>>2]|0,R9=0;;)if(y0=R9+q6|0,E0=V6+(y0<<2)|0,Q0=+s[E0>>2],w0=Q0*Q0,B0=p0+(R9<<2)|0,s[B0>>2]=w0,x0=b0+(R9<<2)|0,s[x0>>2]=w0,Z0=+s[E0>>2],R0=Z0<0,R0&&(v0=+s[B0>>2],N0=-v0,s[B0>>2]=N0),U0=t6+(R9<<2)|0,H0=+s[U0>>2],S0=H0*H0,s[U0>>2]=S0,J0=R9+1|0,O3=(J0|0)==(m3|0),O3){O=C0,M0=p0;break}else R9=J0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,F=n2+(A9<<2)|0,Z=e[F>>2]|0,K=y2+(A9<<2)|0,O=K,M0=Z),T0=e[O>>2]|0,Re=e[$0>>2]|0,+Ly(Re,l0,M0,T0,t6,0,q6,y,s6)}if(s1=A9+1|0,s9=(s1|0)==(E|0),s9)break;A9=s1}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,ve=0;;){if(z0=($+1160|0)+(ve<<2)|0,r1=e[z0>>2]|0,L0=($+2184|0)+(ve<<2)|0,o1=e[L0>>2]|0,d1=d+(r1<<2)|0,u1=e[d1>>2]|0,p1=u1+(q6<<2)|0,f1=d+(o1<<2)|0,A1=e[f1>>2]|0,c1=n2+(r1<<2)|0,a1=e[c1>>2]|0,$1=n2+(o1<<2)|0,X0=e[$1>>2]|0,B1=y2+(r1<<2)|0,m1=e[B1>>2]|0,Q1=y2+(o1<<2)|0,C1=e[Q1>>2]|0,y1=Y2+(r1<<2)|0,k1=e[y1>>2]|0,S1=Y2+(o1<<2)|0,L1=e[S1>>2]|0,M1=b2+(r1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=M5+(r1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,X1=M5+(o1<<2)|0,D1?(G1=e[X1>>2]|0,x1=(G1|0)==0,x1?X2=y3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[X1>>2]=1,e[F1>>2]=1,b6)for(K6=0;;){K1=(K6|0)<(N6|0);do if(K1){if(q1=b1+(K6<<2)|0,H1=e[q1>>2]|0,V1=(H1|0)==0,Y1=R1+(K6<<2)|0,V1&&(t2=e[Y1>>2]|0,s2=(t2|0)==0,s2)){i5=(K6|0)<(j6|0);do if(i5)x5=X0+(K6<<2)|0,j2=+s[x5>>2],m5=a1+(K6<<2)|0,b5=+s[m5>>2],V5=b5+j2,s[m5>>2]=V5,f9=+rr(+V5),u5=m1+(K6<<2)|0,s[u5>>2]=f9,H=x5;else if(B5=a1+(K6<<2)|0,s5=+s[B5>>2],F2=X0+(K6<<2)|0,R2=+s[F2>>2],Q2=R2+s5,y5=Q2<0,B9=+rr(+s5),d9=+rr(+R2),N5=d9+B9,p5=m1+(K6<<2)|0,s[p5>>2]=N5,y5){L5=-N5,s[B5>>2]=L5,H=F2;break}else{s[B5>>2]=N5,H=F2;break}while(!1);q5=C1+(K6<<2)|0,s[q5>>2]=0,s[H>>2]=0,e[Y1>>2]=1,o0=K6+q6|0,z2=A1+(o0<<2)|0,e[z2>>2]=0;break}O1=a1+(K6<<2)|0,h2=+s[O1>>2],V9=+rr(+h2),Z1=X0+(K6<<2)|0,I2=+s[Z1>>2],w6=+rr(+I2),A2=w6+V9,s[O1>>2]=A2,C2=m1+(K6<<2)|0,$2=+s[C2>>2],W1=C1+(K6<<2)|0,f2=+s[W1>>2],c2=f2+$2,s[C2>>2]=c2,e[Y1>>2]=1,e[q1>>2]=1,e0=K6+q6|0,g2=u1+(e0<<2)|0,o2=e[g2>>2]|0,l2=A1+(e0<<2)|0,i2=e[l2>>2]|0,Qe=(o2|0)>-1,we=0-o2|0,a2=Qe?o2:we,ge=(i2|0)>-1,ue=0-i2|0,m2=ge?i2:ue,r2=(a2|0)>(m2|0),r2?(k2=(o2|0)>0,D2=o2-i2|0,S2=i2-o2|0,G2=k2?D2:S2,e[l2>>2]=G2,j=e[g2>>2]|0,q2=j,V2=G2):(M2=(i2|0)>0,O2=o2-i2|0,p2=i2-o2|0,W2=M2?O2:p2,e[l2>>2]=W2,e[g2>>2]=i2,A0=e[l2>>2]|0,q2=i2,V2=A0),pe=(q2|0)>-1,Me=0-q2|0,J2=pe?q2:Me,U2=J2<<1,Z2=(V2|0)<(U2|0),Z2||(N1=0-V2|0,e[l2>>2]=N1,t5=e[g2>>2]|0,T5=0-t5|0,e[g2>>2]=T5)}while(!1);if(E5=k1+(K6<<2)|0,$5=+s[E5>>2],h5=L1+(K6<<2)|0,Q5=+s[h5>>2],T1=Q5+$5,s[h5>>2]=T1,s[E5>>2]=T1,D5=K6+1|0,h9=(D5|0)==(m3|0),h9)break;K6=D5}Fe=e[$0>>2]|0,+Ly(Fe,l0,a1,m1,k1,b1,q6,y,p1),r0=e[d2>>2]|0,X2=r0}if(d5=ve+1|0,l5=(d5|0)<(X2|0),l5)y3=X2,ve=d5;else{a3=X2;break}}else a3=n6;if(w5=q6+Z5|0,r5=(c0|0)>(w5|0),Y9=Q9+Z5|0,r5)q6=w5,Q9=Y9;else{M3=a3;break}}else M3=J5;if(h3=(M3|0)>0,h3)r3=M3,a9=0;else{C=Ve;return}for(;a5=($+1160|0)+(a9<<2)|0,f5=e[a5>>2]|0,K2=m+(f5<<2)|0,I5=e[K2>>2]|0,n5=(I5|0)==0,R5=($+2184|0)+(a9<<2)|0,n5?(e5=e[R5>>2]|0,c5=m+(e5<<2)|0,v5=e[c5>>2]|0,z5=(v5|0)==0,z5?W5=r3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[K2>>2]=1,i3=e[R5>>2]|0,C5=m+(i3<<2)|0,e[C5>>2]=1,s0=e[d2>>2]|0,W5=s0),I3=a9+1|0,d3=(I3|0)<(W5|0),d3;)r3=W5,a9=I3;C=Ve}function Gb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0;for(et=C,C=C+32480|0,Z3=et+32256|0,b9=et+1792|0,_9=et,L=a<<2,D=L,F=C,C=C+((1*D|0)+15&-16)|0,o2=M9(68)|0,g4(b9|0,0,30464)|0,M3=$>0,ge=$<0,x9=0;;){for(h4=x9<<2,a4=0;s5=a4+h4|0,E5=(s5|0)<88,E5?(r5=1272+(s5<<2)|0,z5=+s[r5>>2],j9=z5):j9=-30,x3=s5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+s[U6>>2],t9=j9>Y6,t9?$4=Y6:$4=j9):(g9=j9>-30,g9?$4=-30:$4=j9),_6=s5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,s9=+s[O6>>2],h9=$4>s9,h9?F9=s9:F9=$4):(O3=$4>-30,O3?F9=-30:F9=$4),n9=s5+3|0,C9=(n9|0)<88,C9?(d9=1272+(n9<<2)|0,f9=+s[d9>>2],V9=F9>f9,V9?j4=f9:j4=F9):(B9=F9>-30,B9?j4=-30:j4=F9),w6=Z3+(a4<<2)|0,s[w6>>2]=j4,q6=a4+1|0,Ot=(q6|0)==56,!Ot;)a4=q6;if(fe=(b9+(x9*1792|0)|0)+448|0,G=2792+(x9*1344|0)|0,ce(fe|0,G|0,224)|0,K=(b9+(x9*1792|0)|0)+672|0,m0=(2792+(x9*1344|0)|0)+224|0,ce(K|0,m0|0,224)|0,Q0=(b9+(x9*1792|0)|0)+896|0,S0=(2792+(x9*1344|0)|0)+448|0,ce(Q0|0,S0|0,224)|0,s1=(b9+(x9*1792|0)|0)+1120|0,c1=(2792+(x9*1344|0)|0)+672|0,ce(s1|0,c1|0,224)|0,S1=(b9+(x9*1792|0)|0)+1344|0,G1=(2792+(x9*1344|0)|0)+896|0,ce(S1|0,G1|0,224)|0,h2=(b9+(x9*1792|0)|0)+1568|0,l2=(2792+(x9*1344|0)|0)+1120|0,ce(h2|0,l2|0,224)|0,O2=b9+(x9*1792|0)|0,ce(O2|0,G|0,224)|0,t5=(b9+(x9*1792|0)|0)+224|0,ce(t5|0,G|0,224)|0,M3)for(At=0;;){if(ge)for(Bt=0;pe=16-Bt|0,x8=(pe|0)>-1,$8=0-pe|0,z9=x8?pe:$8,re=+(z9|0),R9=re*g,w9=R9+$,K6=w9<0,I=K6?0:w9,A9=I>0,d=A9?0:I,we=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Me=+s[we>>2],ue=Me+d,s[we>>2]=ue,Re=Bt+1|0,Yt=(Re|0)==56,!Yt;)Bt=Re;else for(ct=0;h3=16-ct|0,o8=(h3|0)>-1,Zt=0-h3|0,N6=o8?h3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,y9=F6<0,E=y9?0:F6,a9=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[a9>>2],Q9=Y9+E,s[a9>>2]=Q9,Qe=ct+1|0,Vt=(Qe|0)==56,!Vt;)ct=Qe;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ge)for(yt=0;r4=16-yt|0,L8=(r4|0)>-1,l8=0-r4|0,ve=L8?r4:l8,He=+(ve|0),J9=He*g,Ve=J9+$,he=Ve>0,m=he?0:Ve,Ee=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(yt<<2)|0,v4=+s[Ee>>2],Z9=v4+m,s[Ee>>2]=Z9,v9=yt+1|0,t8=(v9|0)==56,!t8;)yt=v9;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,V4=E8?k4:A8,nt=+(V4|0),Ye=nt*g,Y4=Ye+$,ze=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[ze>>2],ot=R4+Y4,s[ze>>2]=ot,ne=lt+1|0,qt=(ne|0)==56,!qt;)lt=ne;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Fe=t+(x9<<2)|0,Ge=+s[Fe>>2],qe=Ge,Ke=0;;){for(Ce=(Ke|0)<2,T6=+(Ke|0),k=T6*10,w=70-k,Je=Ce?50:w,O9=Je+qe,de=O9,Et=0;Te=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(Et<<2)|0,oe=+s[Te>>2],d4=oe+de,s[Te>>2]=d4,f4=Et+1|0,Oe=(f4|0)==56,!Oe;)Et=f4;for(ke=_9+(Ke*224|0)|0,ce(ke|0,Z3|0,224)|0,o4=+(Ke|0),Pe=o4*10,I4=70-Pe,Lt=0;;)if(k9=(_9+(Ke*224|0)|0)+(Lt<<2)|0,I6=+s[k9>>2],z4=I4+I6,s[k9>>2]=z4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;Se=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(at<<2)|0,Ie=+s[Se>>2],z6=(_9+(Ke*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=Ie>F4,T4&&(s[z6>>2]=Ie),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(me=Ke+1|0,_8=(me|0)==8,_8){U4=1;break}else Ke=me}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(_9+(xe*224|0)|0)+(G4<<2)|0,O=+s[mt>>2],H=(_9+(U4*224|0)|0)+(G4<<2)|0,V=+s[H>>2],J=O>2]=O),t0=G4+1|0,d8=(t0|0)==56,d8){J4=0;break}else G4=t0;for(;Z=(_9+(U4*224|0)|0)+(J4<<2)|0,A0=+s[Z>>2],j=((b9+(x9*1792|0)|0)+(U4*224|0)|0)+(J4<<2)|0,r0=+s[j>>2],s0=A0>2]=A0),o0=J4+1|0,s4=(o0|0)==56,!s4;)J4=o0;if(Y=U4+1|0,Ht=(Y|0)==8,Ht)break;U4=Y}if(h0=x9+1|0,xt=(h0|0)==17,xt)break;x9=h0}for(D9=o,Ue=(a|0)>0,n4=a^-1,b4=0;;){for(i0=M9(32)|0,e0=o2+(b4<<2)|0,e[e0>>2]=i0,u0=+(b4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,X=+Yn(+l0),g0=X/D9,I0=+sA(+g0),n0=~~I0,d0=+(n0|0),p0=d0*o,C0=p0+1,b0=C0,y0=+tn(+b0),D0=y0*2.885390043258667,E0=D0+-11.931568145751953,w0=+QC(+E0),B0=~~w0,x0=n0+1|0,Z0=+(x0|0),R0=Z0*o,v0=R0,N0=+tn(+v0),U0=N0*2.885390043258667,O0=U0+-11.931568145751953,H0=+sA(+O0),J0=~~H0,T0=(B0|0)>(b4|0),p8=T0?b4:B0,M0=(p8|0)<0,wt=M0?0:p8,P0=(J0|0)>16,y=P0?16:J0,W0=(wt|0)>(y|0),K0=b4+1|0,V0=(K0|0)<17,j0=c0+3.9657840728759766,A4=0;;){if(q0=M9(232)|0,Y0=i0+(A4<<2)|0,e[Y0>>2]=q0,Ue)for($t=0;z0=F+($t<<2)|0,s[z0>>2]=999,r1=$t+1|0,S9=(r1|0)==(a|0),!S9;)$t=r1;if(!W0)for(p4=wt;;){for(L0=+(p4|0),o1=L0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),h1=f1*.125,A1=h1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,X0=+Yn(+$1),B1=X0/D9,m1=~~B1,Q1=A1+4.028284072875977,C1=Q1*.6931470036506653,y1=+Yn(+C1),v1=y1/D9,k1=v1+1,L1=~~k1,M1=(m1|0)<0,B=M1?0:m1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(D4|0),We=_1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(We|0)<(Wt|0),D1=(We|0)<(a|0),jt=U1&D1,jt)for(P1=((b9+(p4*1792|0)|0)+(A4*224|0)|0)+(Ct<<2)|0,X1=+s[P1>>2],x1=(D4|0)<(a|0),K1=x1?D4:a,q1=K1^-1,H1=(m1|0)>0,x=m1^-1,V1=H1?x:-1,Y1=(V1|0)<(q1|0),Ze=Y1?q1:V1,t2=Ze^-1,s2=(L1|0)>0,M=L1^-1,e2=s2?M:-1,O1=(e2|0)<(n4|0),c8=O1?n4:e2,Z1=c8-Ze|0,I2=Ze+a|0,A2=I2^-1,C2=Z1>>>0>A2>>>0,Tt=C2?Z1:A2,$2=t2-Tt|0,ae=We;;)if(W1=F+(ae<<2)|0,f2=+s[W1>>2],c2=f2>X1,c2&&(s[W1>>2]=X1),n2=ae+1|0,pt=(n2|0)==($2|0),pt){K4=$2;break}else ae=n2;else K4=We;if(g2=Ct+1|0,zt=(g2|0)==56,zt){W4=K4;break}else Ct=g2,D4=K4}if(d1=(W4|0)<(a|0),d1)for(u1=((b9+(p4*1792|0)|0)+(A4*224|0)|0)+220|0,p1=+s[u1>>2],P4=W4;i2=F+(P4<<2)|0,a2=+s[i2>>2],m2=a2>p1,m2&&(s[i2>>2]=p1),r2=P4+1|0,Jt=(r2|0)==(a|0),!Jt;)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),J2=q2*.125,U2=J2+c0,V2=U2+3.9032840728759766,Z2=V2*.6931470036506653,A5=+Yn(+Z2),Y2=A5/D9,N1=~~Y2,T5=U2+4.028284072875977,i5=T5*.6931470036506653,x5=+Yn(+i5),j2=x5/D9,m5=j2+1,b5=~~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=(b5|0)<0,n8=B5?0:b5,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=((b9+(K0*1792|0)|0)+(A4*224|0)|0)+(Rt<<2)|0,N5=+s[y5>>2],p5=(E4|0)<(a|0),L5=p5?E4:a,q5=L5^-1,M5=(N1|0)>0,_=N1^-1,z2=M5?_:-1,$5=(z2|0)<(q5|0),ht=$5?q5:z2,h5=ht^-1,Q5=(b5|0)>0,Q=b5^-1,T1=Q5?Q:-1,D5=(T1|0)<(n4|0),Ft=D5?n4: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,be=Z4;;)if(a5=F+(be<<2)|0,f5=+s[a5>>2],K2=f5>N5,K2&&(s[a5>>2]=N5),I5=be+1|0,D8=(I5|0)==(w5|0),D8){gt=w5;break}else be=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=((b9+(K0*1792|0)|0)+(A4*224|0)|0)+220|0,W2=+s[p2>>2],Qt=_4;R5=F+(Qt<<2)|0,e5=+s[R5>>2],c5=e5>W2,c5&&(s[R5>>2]=W2),T2=Qt+1|0,I8=(T2|0)==(a|0),!I8;)Qt=T2}for(S2=i0+(A4<<2)|0,y2=i0+(A4<<2)|0,G2=i0+(A4<<2)|0,m4=0;;){I3=+(m4|0),d3=I3*.125,W5=j0+d3,r3=W5*.6931470036506653,a3=+Yn(+r3),y3=a3/D9,G5=~~y3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,e6=w3+(f3<<2)|0,s[e6>>2]=-999;else if(H3=(G5|0)<(a|0),H3){a6=F+(G5<<2)|0,G3=e[a6>>2]|0,V3=m4+2|0,g3=e[y2>>2]|0,u3=g3+(V3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=q0+8|0,i3=+s[v5>>2],C5=i3>-200;do if(C5)se=0;else if(J5=q0+12|0,H5=+s[J5>>2],Y5=H5>-200,Y5)se=1;else if(D3=q0+16|0,A6=+s[D3>>2],r6=A6>-200,r6)se=2;else if(z3=q0+20|0,j5=+s[z3>>2],J3=j5>-200,J3)se=3;else if(d6=q0+24|0,m3=+s[d6>>2],x6=m3>-200,x6)se=4;else if(L6=q0+28|0,M6=+s[L6>>2],S6=M6>-200,S6)se=5;else if(n6=q0+32|0,f6=+s[n6>>2],b6=f6>-200,b6)se=6;else if(j6=q0+36|0,v6=+s[j6>>2],R3=v6>-200,R3)se=7;else if(o6=q0+40|0,s6=+s[o6>>2],B6=s6>-200,B6)se=8;else if(K3=q0+44|0,F3=+s[K3>>2],W3=F3>-200,W3)se=9;else if(t6=q0+48|0,c6=+s[t6>>2],o3=c6>-200,o3)se=10;else if(J6=q0+52|0,A3=+s[J6>>2],g6=A3>-200,g6)se=11;else if(y6=q0+56|0,T3=+s[y6>>2],H6=T3>-200,H6)se=12;else if($6=q0+60|0,D6=+s[$6>>2],e9=D6>-200,e9)se=13;else{if(Q6=q0+64|0,X6=+s[Q6>>2],P3=X6>-200,P3){se=14;break}if(r9=q0+68|0,V6=+s[r9>>2],o9=V6>-200,o9){se=15;break}se=16}while(!1);for(s[q0>>2]=se,Kt=55;;){if(S5=Kt+2|0,Y3=q0+(S5<<2)|0,U5=+s[Y3>>2],l6=U5>-200,l6){s8=Kt;break}if(l3=Kt+-1|0,U3=(l3|0)>17,U3)Kt=l3;else{s8=l3;break}}if(C6=+(s8|0),b3=q0+4|0,s[b3>>2]=C6,L3=A4+1|0,Ut=(L3|0)==8,Ut)break;A4=L3}if(Pt=(K0|0)==17,Pt)break;b4=K0}return C=et,o2|0}function xy(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0;if(Fe=C,k=t<<2,m=k,w=C,C=C+((1*m|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,S5=+s[a>>2],A6=S5+g,M6=A6<1,ue=M6?1:A6,B6=ue*ue,_=B6*.5,t0=_*ue,s[w>>2]=_,s[$2>>2]=_,s[e5>>2]=0,s[a3>>2]=t0,s[t3>>2]=0,e0=(t|0)>1,e0)for(O3=1,w6=_,q6=_,a9=0,Y9=0,Q9=t0,Qe=1;d1=a+(O3<<2)|0,m1=+s[d1>>2],R1=m1+g,V1=R1<1,D9=V1?1:R1,W1=D9*D9,k2=W1+w6,U2=W1*Qe,m5=U2+q6,N5=U2*Qe,D5=N5+a9,K2=W1*D9,I5=K2+Q9,n5=U2*D9,R5=n5+Y9,c5=w+(O3<<2)|0,s[c5>>2]=k2,T2=$2+(O3<<2)|0,s[T2>>2]=m5,v5=e5+(O3<<2)|0,s[v5>>2]=D5,z5=a3+(O3<<2)|0,s[z5>>2]=I5,i3=t3+(O3<<2)|0,s[i3>>2]=R5,C5=O3+1|0,I3=Qe+1,P6=(C5|0)==(t|0),!P6;)O3=C5,w6=k2,q6=m5,a9=D5,Y9=R5,Q9=I5,Qe=I3;if(p0=e[o>>2]|0,R0=p0>>16,W0=(R0|0)>-1,W0)W5=p0,y6=0,D6=0,X6=1,O6=0,ge=0;else for(G5=p0,w3=R0,s9=0,pe=0;;)if(y3=G5&65535,Z5=w+(y3<<2)|0,x3=+s[Z5>>2],f3=0-w3|0,e6=w+(f3<<2)|0,H3=+s[e6>>2],X5=H3+x3,_3=$2+(y3<<2)|0,a6=+s[_3>>2],G3=$2+(f3<<2)|0,V3=+s[G3>>2],c3=a6-V3,g3=e5+(y3<<2)|0,u3=+s[g3>>2],Q3=e5+(f3<<2)|0,J5=+s[Q3>>2],H5=J5+u3,Y5=a3+(y3<<2)|0,Y3=+s[Y5>>2],U5=a3+(f3<<2)|0,l6=+s[U5>>2],n3=l6+Y3,l3=t3+(y3<<2)|0,U3=+s[l3>>2],C6=t3+(f3<<2)|0,b3=+s[C6>>2],L3=U3-b3,D3=n3*H5,r6=L3*c3,z3=D3-r6,j5=L3*X5,M3=n3*c3,h3=j5-M3,J3=H5*X5,d6=c3*c3,m3=J3-d6,x6=h3*pe,L6=x6+z3,S6=L6/m3,n6=S6<0,o9=n6?0:S6,f6=o9-g,b6=$+(s9<<2)|0,s[b6>>2]=f6,N6=s9+1|0,j6=pe+1,v6=o+(N6<<2)|0,R3=e[v6>>2]|0,o6=R3>>16,s6=(o6|0)>-1,s6){W5=R3,y6=z3,D6=h3,X6=m3,O6=N6,ge=j6;break}else G5=R3,w3=o6,s9=N6,pe=j6;if(d3=W5&65535,r3=(d3|0)<(t|0),r3)for(b=W5,t6=d3,n9=O6,re=ge;;)if(F3=b>>16,W3=w+(t6<<2)|0,R6=+s[W3>>2],c6=w+(F3<<2)|0,o3=+s[c6>>2],J6=R6-o3,A3=$2+(t6<<2)|0,g6=+s[A3>>2],Q=$2+(F3<<2)|0,x=+s[Q>>2],M=g6-x,L=e5+(t6<<2)|0,F=+s[L>>2],G=e5+(F3<<2)|0,O=+s[G>>2],H=F-O,V=a3+(t6<<2)|0,J=+s[V>>2],Z=a3+(F3<<2)|0,A0=+s[Z>>2],j=J-A0,r0=t3+(t6<<2)|0,s0=+s[r0>>2],K=t3+(F3<<2)|0,o0=+s[K>>2],Y=s0-o0,h0=j*H,i0=Y*M,u0=h0-i0,c0=Y*J6,$0=j*M,l0=c0-$0,X=H*J6,m0=M*M,g0=X-m0,I0=l0*re,n0=I0+u0,d0=n0/g0,C0=d0<0,g9=C0?0:d0,b0=g9-g,y0=$+(n9<<2)|0,s[y0>>2]=b0,D0=n9+1|0,E0=re+1,Q0=o+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0&65535,x0=(B0|0)<(t|0),x0)b=w0,t6=B0,n9=D0,re=E0;else{T3=u0,G6=l0,P3=g0,h9=D0,z9=E0;break}else T3=y6,G6=D6,P3=X6,h9=O6,z9=ge;if(K3=(h9|0)<(t|0),K3)for(C9=h9,R9=z9;Z0=R9*G6,v0=Z0+T3,N0=v0/P3,U0=N0<0,U6=U0?0:N0,O0=U6-g,H0=$+(C9<<2)|0,s[H0>>2]=O0,S0=C9+1|0,J0=R9+1,_6=(S0|0)==(t|0),!_6;)C9=S0,R9=J0;if(T0=(d|0)<1,T0){C=Fe;return}if(M0=(d|0)/2&-1,P0=M0-d|0,K0=(P0|0)>-1,K0)H6=T3,e9=G6,r9=P3,B9=0,w9=0;else for(V0=d-M0|0,z0=M0,o1=P0,y9=0,K6=0;;)if(s1=w+(z0<<2)|0,r1=+s[s1>>2],L0=0-o1|0,u1=w+(L0<<2)|0,p1=+s[u1>>2],f1=p1+r1,h1=$2+(z0<<2)|0,A1=+s[h1>>2],c1=$2+(L0<<2)|0,a1=+s[c1>>2],$1=A1-a1,X0=e5+(z0<<2)|0,B1=+s[X0>>2],Q1=e5+(L0<<2)|0,C1=+s[Q1>>2],y1=C1+B1,v1=a3+(z0<<2)|0,k1=+s[v1>>2],S1=a3+(L0<<2)|0,L1=+s[S1>>2],M1=L1+k1,b1=t3+(z0<<2)|0,_1=+s[b1>>2],F1=t3+(L0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*y1,X1=D1*$1,G1=P1-X1,x1=D1*f1,K1=M1*$1,q1=x1-K1,H1=y1*f1,Y1=$1*$1,t2=H1-Y1,s2=q1*K6,e2=s2+G1,O1=e2/t2,h2=O1-g,Z1=$+(y9<<2)|0,I2=+s[Z1>>2],A2=h2>2]=h2),C2=y9+1|0,f2=K6+1,c2=M0+C2|0,n2=c2-d|0,t9=(C2|0)==(V0|0),t9){H6=G1,e9=q1,r9=t2,B9=V0,w9=f2;break}else z0=c2,o1=n2,y9=C2,K6=f2;if(j0=B9+M0|0,q0=(j0|0)<(t|0),q0)for(Y0=t-M0|0,D=j0,f9=B9,we=w9;;)if(o2=D-d|0,l2=w+(D<<2)|0,i2=+s[l2>>2],a2=w+(o2<<2)|0,m2=+s[a2>>2],r2=i2-m2,D2=$2+(D<<2)|0,S2=+s[D2>>2],y2=$2+(o2<<2)|0,G2=+s[y2>>2],M2=S2-G2,O2=e5+(D<<2)|0,p2=+s[O2>>2],W2=e5+(o2<<2)|0,q2=+s[W2>>2],J2=p2-q2,V2=a3+(D<<2)|0,Z2=+s[V2>>2],A5=a3+(o2<<2)|0,Y2=+s[A5>>2],N1=Z2-Y2,t5=t3+(D<<2)|0,T5=+s[t5>>2],i5=t3+(o2<<2)|0,x5=+s[i5>>2],j2=T5-x5,b5=N1*J2,V5=j2*M2,u5=b5-V5,b2=j2*r2,B5=N1*M2,s5=b2-B5,F2=J2*r2,R2=M2*M2,Q2=F2-R2,y5=s5*we,p5=y5+u5,L5=p5/Q2,q5=L5-g,M5=$+(f9<<2)|0,z2=+s[M5>>2],E5=q5>2]=q5),$5=f9+1|0,h5=we+1,Q5=$5+M0|0,F6=($5|0)==(Y0|0),F6){$6=u5,Q6=s5,V6=Q2,d9=Y0,A9=h5;break}else D=Q5,f9=$5,we=h5;else $6=H6,Q6=e9,V6=r9,d9=B9,A9=w9;if(g2=(d9|0)<(t|0),g2)V9=d9,Me=A9;else{C=Fe;return}for(;T1=Me*Q6,d5=T1+$6,l5=d5/V6,X2=l5-g,d2=$+(V9<<2)|0,w5=+s[d2>>2],r5=X2>2]=X2),a5=V9+1|0,f5=Me+1,Y6=(a5|0)==(t|0),!Y6;)V9=a5,Me=f5;C=Fe}function Ub(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0;if(d1=C,d=a<<2,$=d,m=C,C=C+((1*$|0)+15&-16)|0,g=d,x=C,C=C+((1*g|0)+15&-16)|0,A0=(a|0)>0,A0)S0=0,V0=0;else{C=d1;return}for(;;){x0=(V0|0)<2;do if(x0)v0=m+(V0<<2)|0,e[v0>>2]=S0,I=t+(S0<<2)|0,E=e[I>>2]|0,y=x+(V0<<2)|0,e[y>>2]=E,z0=V0;else{for(Z0=t+(S0<<2)|0,R0=+s[Z0>>2],j0=V0;;){if(B=j0+-1|0,b=x+(B<<2)|0,D=+s[b>>2],k=R0>2]|0,L=M+o|0,F=(S0|0)<(L|0),G=(j0|0)>1,M0=G&F,!M0){Y0=j0,o1=12;break}if(O=j0+-2|0,H=x+(O<<2)|0,V=+s[H>>2],J=!(D<=V),J){Y0=j0,o1=12;break}if(t0=m+(O<<2)|0,Z=e[t0>>2]|0,j=Z+o|0,r0=(S0|0)<(j|0),r0)j0=B;else{Y0=j0,o1=12;break}}if((o1|0)==8){o1=0,w=m+(q0<<2)|0,e[w>>2]=S0,_=x+(q0<<2)|0,s[_>>2]=R0,z0=q0;break}else if((o1|0)==12){o1=0,s0=m+(Y0<<2)|0,e[s0>>2]=S0,K=x+(Y0<<2)|0,s[K>>2]=R0,z0=Y0;break}}while(!1);if(s1=z0+1|0,o0=S0+1|0,H0=(o0|0)==(a|0),H0){r1=z0,L0=s1;break}else S0=o0,V0=s1}if(c0=(r1|0)>-1,!c0){C=d1;return}for(b0=o+1|0,J0=0,P0=0;;){if(Y=(J0|0)<(r1|0),Y?(h0=J0+1|0,i0=x+(h0<<2)|0,e0=+s[i0>>2],u0=x+(J0<<2)|0,$0=+s[u0>>2],l0=e0>$0,l0?(X=m+(h0<<2)|0,m0=e[X>>2]|0,N0=m0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=m+(J0<<2)|0,I0=e[g0>>2]|0,n0=b0+I0|0,N0=n0),d0=(N0|0)>(a|0),T0=d0?a:N0,p0=(P0|0)<(T0|0),p0)for(C0=x+(J0<<2)|0,y0=e[C0>>2]|0,D0=(N0|0)<(a|0),E0=D0?N0:a,K0=P0;;)if(Q0=t+(K0<<2)|0,e[Q0>>2]=y0,w0=K0+1|0,U0=(w0|0)==(E0|0),U0){W0=E0;break}else K0=w0;else W0=P0;if(B0=J0+1|0,O0=(B0|0)==(L0|0),O0)break;J0=B0,P0=W0}C=d1}function Ly(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0;if(h2=C,L=I<<2,_=L,F=C,C=C+((1*_|0)+15&-16)|0,s0=t+500|0,X=e[s0>>2]|0,E0=(X|0)==0,E0?k1=I:(H0=t+504|0,Y0=e[H0>>2]|0,A1=Y0-m|0,k1=A1),F1=(k1|0)>(I|0),Y1=F1?I:k1,G=(Y1|0)>0,G)for(O=(d|0)==0,H=(k1|0)<(I|0),V=H?k1:I,q1=0;;){O?O1=9:(A0=d+(q1<<2)|0,j=e[A0>>2]|0,r0=(j|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,K=$+(q1<<2)|0,o0=+s[K>>2],Y=g+(q1<<2)|0,h0=+s[Y>>2],i0=o0/h0,e0=a+(q1<<2)|0,u0=+s[e0>>2],c0=u0<0,$0=i0,l0=+Hn(+$0),m0=+z7(l0),c0){g0=-m0,I0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=I0;break}else{d0=~~m0,p0=E+(q1<<2)|0,e[p0>>2]=d0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(V|0),x1){K1=V;break}else q1=C0}else K1=0;if(J=(K1|0)<(I|0),!J)return w=0,C=h2,+w;for(t0=(d|0)!=0,Z=o-m|0,y=0,U1=0,H1=K1;;){t0?(b0=d+(H1<<2)|0,y0=e[b0>>2]|0,D0=(y0|0)==0,D0?O1=15:(B=y,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,Q0=$+(H1<<2)|0,w0=+s[Q0>>2],B0=g+(H1<<2)|0,x0=+s[B0>>2],Z0=w0/x0,R0=!(Z0<.25),v0=(H1|0)<(Z|0),t2=t0&v0,s2=R0|t2,s2){S0=a+(H1<<2)|0,J0=+s[S0>>2],T0=J0<0,M0=Z0,P0=+Hn(+M0),W0=+z7(P0),K0=-W0,x=T0?K0:W0,Q=~~x,V0=E+(H1<<2)|0,e[V0>>2]=Q,j0=o5(Q,Q)|0,q0=+(j0|0),s1=+s[B0>>2],z0=q0*s1,s[Q0>>2]=z0,B=y,D1=U1;break}else{N0=Z0+y,U0=U1+1|0,O0=F+(U1<<2)|0,e[O0>>2]=Q0,B=N0,D1=U0;break}while(!1);if(r1=H1+1|0,G1=(r1|0)==(I|0),G1){b=B,P1=D1;break}else y=B,U1=D1,H1=r1}if(L0=(P1|0)==0,L0||(Pu(F,P1,4,9),o1=(P1|0)>0,!o1))return w=b,C=h2,+w;for(d1=$,u1=t+512|0,p1=+l1[u1>>3],D=b,V1=0;;)if(f1=F+(V1<<2)|0,h1=e[f1>>2]|0,c1=h1,a1=c1-d1|0,$1=a1>>2,X0=D,B1=!(X0>=p1),B1?(k=D,M=0,e2=0):(m1=a+($1<<2)|0,Q1=e[m1>>2]|0,C1=Q1&-2147483648,y1=C1|1065353216,v1=(e[w2>>2]=y1,+s[w2>>2]),S1=~~v1,L1=D+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],k=L1,M=S1,e2=b1),_1=E+($1<<2)|0,e[_1>>2]=M,s[h1>>2]=e2,R1=V1+1|0,X1=(R1|0)==(P1|0),X1){w=k;break}else D=k,V1=R1;return C=h2,+w}function Pb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0;return D=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,d=+s[g>>2],m=$d,y=E&1,B=I-y|0,B|0}function Ob(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function qb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,F=(w|0)>0,G=t+20|0,F)for(L=w,Z=0;O=e[G>>2]|0,H=O+(Z<<2)|0,V=e[H>>2]|0,J=(V|0)==0,J?d=L:(E2(V),o=e[$>>2]|0,d=o),t0=Z+1|0,g=(t0|0)<(d|0),g;)L=d,Z=t0;if(m=e[G>>2]|0,E2(m),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,x=(_|0)<(Q|0),x;)A0=_;M=e[B>>2]|0,E2(M),E2(t)}}function Hb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0;if(d0=C,g=e[t>>2]|0,H2(o,g,24),d=t+4|0,Q=e[d>>2]|0,H2(o,Q,24),Z=t+8|0,Y=e[Z>>2]|0,h0=Y+-1|0,H2(o,h0,24),i0=t+12|0,e0=e[i0>>2]|0,u0=e0+-1|0,H2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,H2(o,m,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,w=H8(k)|0,_=(w|0)>3,x=e[D>>2]|0,_?(H2(o,x,3),H2(o,1,1),M=e[D>>2]|0,L=M>>3,H2(o,L,5)):H2(o,x,4),F=e[D>>2]|0,G=(F|0)==0,G)g0=0;else for(a=F,I0=0;;)if(O=a&1,H=O+I0|0,V=a>>>1,J=(V|0)==0,J){g0=H;break}else a=V,I0=H;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;s0=b+(m0<<2)|0,K=e[s0>>2]|0,H2(o,K,8),o0=m0+1|0,l0=(o0|0)==($|0),!l0;)m0=o0}}function Vb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0;a1=C,m=le(1,2840)|0,I=t+28|0,M=e[I>>2]|0,j=i4(o,24)|0,e[m>>2]=j,$0=i4(o,24)|0,y0=m+4|0,e[y0>>2]=$0,U0=i4(o,24)|0,j0=U0+1|0,Y0=m+8|0,e[Y0>>2]=j0,s1=i4(o,6)|0,E=s1+1|0,y=m+12|0,e[y>>2]=E,B=i4(o,8)|0,b=m+20|0,e[b>>2]=B,D=(B|0)<0;e:do if(D)c1=26;else{if(k=(s1|0)>-1,k){for(w=m+24|0,r1=0,d1=0;;){if(x=i4(o,3)|0,L=i4(o,1)|0,F=(L|0)<0,F){c1=26;break e}if(G=(L|0)==0,G)L0=x;else{if(O=i4(o,5)|0,H=(O|0)<0,H){c1=26;break e}V=O<<3,J=V|x,L0=J}if(t0=w+(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,s0=$>>>1,K=(s0|0)==0,K){h1=r0;break}else $=s0,A1=r0;if(o0=h1+r1|0,Y=d1+1|0,h0=e[y>>2]|0,i0=(Y|0)<(h0|0),i0)r1=o0,d1=Y;else{d=o0;break}}if(_=(d|0)>0,_)for(Q=m+280|0,u1=0;;){if(e0=i4(o,8)|0,u0=(e0|0)<0,u0)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=M+24|0,I0=e[g0>>2]|0,n0=(m0|0)<(I0|0),n0){if(q0)for(d0=m+280|0,p1=0;;){if(b0=d0+(p1<<2)|0,D0=e[b0>>2]|0,E0=(D0|0)<(I0|0),!E0||(Q0=(M+1824|0)+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0+12|0,x0=e[B0>>2]|0,Z0=(x0|0)==0,p0=p1+1|0,Z0))break e;if(C0=(p0|0)<(z0|0),C0)p1=p0;else break}if(R0=(M+1824|0)+(m0<<2)|0,v0=e[R0>>2]|0,N0=v0+4|0,O0=e[N0>>2]|0,H0=e[v0>>2]|0,S0=(H0|0)<1,!S0){for(J0=e[y>>2]|0,o1=H0,f1=1;;){if(P0=o5(J0,f1)|0,W0=(P0|0)>(O0|0),W0)break e;if(T0=o1+-1|0,M0=(o1|0)>1,M0)o1=T0,f1=P0;else{g=P0;break}}return K0=m+16|0,e[K0>>2]=g,a=m,a|0}}}while(!1);return(c1|0)==26&&(V0=(m|0)==0,V0)?(a=0,a|0):(E2(m),a=0,a|0)}function Yb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0;if(k1=C,d=le(1,44)|0,m=t+4|0,x=e[m>>2]|0,A0=x+28|0,c0=e[A0>>2]|0,e[d>>2]=o,b0=o+12|0,N0=e[b0>>2]|0,V0=d+4|0,e[V0>>2]=N0,s1=c0+2848|0,z0=e[s1>>2]|0,I=d+12|0,e[I>>2]=z0,E=z0,y=o+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,w=le(N0,4)|0,_=d+20|0,e[_>>2]=w,Q=(N0|0)>0,Q)for(M=o+24|0,L=o+280|0,r1=0,h1=0,m1=0;;){if(F=M+(h1<<2)|0,G=e[F>>2]|0,O=H8(G)|0,H=(O|0)==0,H)d1=r1,Q1=m1;else if(V=(O|0)>(m1|0),$=V?O:m1,J=le(O,4)|0,t0=w+(h1<<2)|0,e[t0>>2]=J,Z=(O|0)>0,Z)for(j=e[F>>2]|0,r0=w+(h1<<2)|0,L0=r1,$1=0;;)if(s0=1<<$1,K=j&s0,o0=(K|0)==0,o0?o1=L0:(Y=e[s1>>2]|0,h0=L0+1|0,i0=L+(L0<<2)|0,e0=e[i0>>2]|0,u0=Y+(e0*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=h0),X=$1+1|0,p1=(X|0)==(O|0),p1){d1=o1,Q1=$;break}else L0=o1,$1=X;else d1=r1,Q1=$;if(m0=h1+1|0,g0=(m0|0)<(N0|0),g0)r1=d1,h1=m0,m1=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(d0=o5(p0,N0)|0,C0=A1+1|0,u1=(C0|0)==(k|0),u1){a=d0;break}else p0=d0,A1=C0;e[I0>>2]=a,E0=a}else E0=1;if(y0=d+8|0,e[y0>>2]=B1,D0=E0<<2,Q0=M9(D0)|0,w0=d+28|0,e[w0>>2]=Q0,B0=(E0|0)>0,!B0)return d|0;if(x0=k<<2,!n0){for(c1=0;K0=M9(x0)|0,j0=Q0+(c1<<2)|0,e[j0>>2]=K0,q0=c1+1|0,Y0=(q0|0)<(E0|0),Y0;)c1=q0;return d|0}for(Z0=e[w0>>2]|0,a1=0;;){for(M0=M9(x0)|0,P0=Q0+(a1<<2)|0,e[P0>>2]=M0,W0=Z0+(a1<<2)|0,J0=e[W0>>2]|0,g=E0,X0=0,y1=a1;C1=(g|0)/(N0|0)&-1,U0=(y1|0)/(C1|0)&-1,O0=o5(U0,C1)|0,H0=y1-O0|0,S0=J0+(X0<<2)|0,e[S0>>2]=U0,T0=X0+1|0,f1=(T0|0)==(k|0),!f1;)g=C1,X0=T0,y1=H0;if(R0=a1+1|0,v0=(R0|0)<(E0|0),v0)a1=R0;else break}return d|0}function zb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0;if(G=C,d=(g|0)>0,d)Q=0,x=0;else return 0;for(;;)if(m=$+(Q<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(y=a+(Q<<2)|0,B=e[y>>2]|0,b=x+1|0,D=a+(x<<2)|0,e[D>>2]=B,M=b),k=Q+1|0,_=(k|0)==(g|0),_){L=M;break}else Q=k,x=M;return w=(L|0)==0,w||My(t,o,a,L,2),0}function Jb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0;if(V=C,E=(d|0)>0,E)L=0,F=0;else return 0;for(;;)if(y=g+(L<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b?G=F:(D=$+(L<<2)|0,k=e[D>>2]|0,w=F+1|0,_=$+(F<<2)|0,e[_>>2]=k,G=w),Q=L+1|0,M=(Q|0)==(d|0),M){O=G;break}else L=Q,F=G;return x=(O|0)==0,x||Ry(t,a,$,O,m),0}function Kb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,I=(g|0)>0,I)o1=0,m1=0;else return d=0,d|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=m1:(l0=a+(o1<<2)|0,D0=e[l0>>2]|0,O0=m1+1|0,W0=a+(m1<<2)|0,e[W0>>2]=D0,Q1=O0),K0=o1+1|0,Y0=(K0|0)==(g|0),Y0){C1=Q1;break}else o1=K0,m1=Q1;if(V0=(C1|0)==0,V0)return d=0,d|0;if(y=e[o>>2]|0,B=y+8|0,b=e[B>>2]|0,D=y+12|0,k=e[D>>2]|0,w=y+4|0,_=e[w>>2]|0,Q=e[y>>2]|0,x=_-Q|0,M=(x|0)/(b|0)&-1,F=C1<<2,G=W8(t,F)|0,O=+(b|0),H=100/O,V=H,J=(C1|0)>0,J)for(t0=M<<2,d1=0;K=W8(t,t0)|0,o0=G+(d1<<2)|0,e[o0>>2]=K,g4(K|0,0,t0|0)|0,Y=d1+1|0,L0=(Y|0)==(C1|0),!L0;)d1=Y;if(Z=(M|0)>0,Z)for(A0=(b|0)>0,j=k+-1|0,s0=(k|0)>1,u1=0;;){if(h0=o5(u1,b)|0,i0=e[y>>2]|0,e0=i0+h0|0,J)for(f1=0;;){if(A0)for(u0=a+(f1<<2)|0,c0=e[u0>>2]|0,q0=0,h1=0,$1=0;;)if($0=e0+h1|0,X=c0+($0<<2)|0,m0=e[X>>2]|0,p1=(m0|0)>-1,X0=0-m0|0,g0=p1?m0:X0,I0=(g0|0)>($1|0),m=I0?g0:$1,n0=g0+q0|0,d0=h1+1|0,s1=(d0|0)==(b|0),s1){j0=n0,a1=m;break}else q0=n0,h1=d0,$1=m;else j0=0,a1=0;p0=+(j0|0),C0=p0*V,b0=~~C0;e:do if(s0)for(c1=0;;){if(y0=(y+2328|0)+(c1<<2)|0,E0=e[y0>>2]|0,Q0=(a1|0)>(E0|0),!Q0&&(w0=(y+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,x0=(B0|0)<0,Z0=(b0|0)<(B0|0),B1=x0|Z0,B1)){A1=c1;break e}if(R0=c1+1|0,v0=(R0|0)<(j|0),v0)c1=R0;else{A1=R0;break}}else A1=0;while(!1);if(N0=G+(f1<<2)|0,U0=e[N0>>2]|0,H0=U0+(u1<<2)|0,e[H0>>2]=A1,S0=f1+1|0,z0=(S0|0)==(C1|0),z0)break;f1=S0}if(J0=u1+1|0,r1=(J0|0)==(M|0),r1)break;u1=J0}return T0=o+40|0,M0=e[T0>>2]|0,P0=M0+1|0,e[T0>>2]=P0,d=G,d|0}function Wb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0;if(G=C,d=(g|0)>0,d)Q=0,x=0;else return 0;for(;;)if(m=$+(Q<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(y=a+(Q<<2)|0,B=e[y>>2]|0,b=x+1|0,D=a+(x<<2)|0,e[D>>2]=B,M=b),k=Q+1|0,_=(k|0)==(g|0),_){L=M;break}else Q=k,x=M;return w=(L|0)==0,w||My(t,o,a,L,3),0}function Zb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=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,s0=f1&1,A1=s0+a1|0,X=P0+1|0,J0=(X|0)==(g|0),J0){c1=A1;break}else P0=X,a1=A1;if(h1=(c1|0)==0,h1)return d=0,d|0;if(E0=e[o>>2]|0,Z0=E0+8|0,R0=e[Z0>>2]|0,v0=E0+12|0,N0=e[v0>>2]|0,B=E0+4|0,b=e[B>>2]|0,D=e[E0>>2]|0,k=b-D|0,w=(k|0)/(R0|0)&-1,_=W8(t,4)|0,Q=w<<2,x=W8(t,Q)|0,e[_>>2]=x,g4(x|0,0,Q|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,G=(L|0)/(g|0)&-1,O=(R0|0)>0,H=N0+-1|0,V=(N0|0)>1,J=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,K0=(j|0)>-1,u1=0-j|0,r0=K0?j:u1,K=(r0|0)>(d1|0),I=K?r0:d1,t0)for(S0=O0,s1=1;;)if(o0=a+(s1<<2)|0,Y=e[o0>>2]|0,h0=Y+(L0<<2)|0,i0=e[h0>>2]|0,V0=(i0|0)>-1,p1=0-i0|0,e0=V0?i0:p1,u0=(e0|0)>(S0|0),m=u0?e0:S0,c0=s1+1|0,T0=(c0|0)==(g|0),T0){H0=m;break}else S0=m,s1=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,o1=I;break}}else U0=0,r1=z0,o1=0;e:do if(V)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,I0=e[g0>>2]|0,n0=(o1|0)>(I0|0),!n0&&(d0=(E0+2584|0)+(Y0<<2)|0,p0=e[d0>>2]|0,C0=(U0|0)>(p0|0),!C0)){q0=Y0;break e}if(b0=Y0+1|0,y0=(b0|0)<(H|0),y0)Y0=b0;else{q0=b0;break}}else q0=0;while(!1);if(D0=J+(W0<<2)|0,e[D0>>2]=q0,Q0=W0+1|0,M0=(Q0|0)==(w|0),M0)break;W0=Q0,z0=r1}return w0=o+40|0,B0=e[w0>>2]|0,x0=B0+1|0,e[w0>>2]=x0,d=_,d|0}function jb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0;if(c0=C,C=C+16|0,e0=c0,E=o+36|0,y=e[E>>2]|0,F=(y|0)/2&-1,G=d<<2,O=o5(G,F)|0,H=W8(o,O)|0,e[e0>>2]=H,V=(d|0)>0,!V)return C=c0,0;for(J=(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,K=(b|0)!=0,D=K&1,Y=D+i0|0,J)for(r0=0,s0=j;k=Z+(r0<<2)|0,w=e[k>>2]|0,_=H+(s0<<2)|0,e[_>>2]=w,Q=r0+1|0,x=s0+d|0,M=(Q|0)<(F|0),M;)r0=Q,s0=x;if(L=j+1|0,A0=(L|0)==(d|0),A0){h0=Y;break}else j=L,i0=Y}return o0=(h0|0)==0,o0?(C=c0,0):(Ry(t,a,e0,1,m),C=c0,0)}function Xb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;if(S1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,D0=e[l0>>2]|0,O0=t+36|0,q0=e[O0>>2]|0,h1=o5(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,w=(k|0)>0,!w)return 0;_=(k|0)/(L|0)&-1,Q=D0+-1|0,x=Q+_|0,M=(x|0)/(D0|0)&-1,F=M<<2,G=W8(t,F)|0,O=(g|0)>0;e:do if(O)for(a1=0;;){if(H=$+(a1<<2)|0,V=e[H>>2]|0,J=(V|0)==0,!J){c1=a1;break e}if(t0=a1+1|0,Z=(t0|0)<(g|0),Z)a1=t0;else{c1=t0;break}}else c1=0;while(!1);if(A0=(c1|0)==(g|0),A0||(j=o+8|0,s0=e[j>>2]|0,K=(s0|0)>0,!K))return 0;o0=(_|0)>0,Y=t+4|0,h0=I+16|0,i0=o+28|0,e0=(D0|0)>0,u0=o+20|0,f1=s0,v1=0;e:for(;;){if(o0){for(c0=(v1|0)==0,$0=1<>2]|0,m0=nE(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(d0=e[i0>>2]|0,p0=d0+(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,m1=0;;){if(w0=e[Q0>>2]|0,B0=w0+(m1<<2)|0,x0=e[B0>>2]|0,Z0=(I+24|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0&$0,N0=(v0|0)==0,!N0&&(U0=e[u0>>2]|0,H0=U0+(x0<<2)|0,S0=e[H0>>2]|0,J0=S0+(v1<<2)|0,T0=e[J0>>2]|0,M0=(T0|0)==0,!M0&&(P0=o5(B1,L)|0,W0=e[I>>2]|0,K0=W0+P0|0,V0=ob(T0,a,K0,g,Y,L)|0,j0=(V0|0)==-1,j0))){k1=23;break e}if(Y0=m1+1|0,s1=B1+1|0,z0=(Y0|0)<(D0|0),r1=(s1|0)<(_|0),C1=z0&r1,C1)B1=s1,m1=Y0;else{X0=s1;break}}else X0=$1;if(L0=Q1+1|0,o1=(X0|0)<(_|0),o1)$1=X0,Q1=L0;else break}m=e[j>>2]|0,p1=m}else p1=f1;if(d1=v1+1|0,u1=(d1|0)<(p1|0),u1)f1=p1,v1=d1;else{k1=23;break}}return(k1|0)==23,0}function My(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0;if(t2=C,y=e[o>>2]|0,B=y+8|0,G=e[B>>2]|0,K=o+16|0,m0=e[K>>2]|0,Q0=e[m0>>2]|0,S0=t+36|0,s1=e[S0>>2]|0,c1=s1>>1,S1=y+4|0,b=e[S1>>2]|0,D=(b|0)<(c1|0),d=D?b:c1,k=e[y>>2]|0,w=d-k|0,_=(w|0)>0,!_){C=t2;return}if(Q=(w|0)/(G|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(F=Q0+-1|0,O=F+Q|0,H=(O|0)/(Q0|0)&-1,V=H<<2,U1=0;h0=W8(t,V)|0,i0=M+(U1<<2)|0,e[i0>>2]=h0,e0=U1+1|0,M1=(e0|0)==($|0),!M1;)U1=e0;if(J=o+8|0,t0=e[J>>2]|0,Z=(t0|0)>0,!Z){C=t2;return}A0=(Q|0)>0,j=t+4|0,r0=y+16|0,s0=o+28|0,o0=(Q0|0)>0,Y=o+20|0,E=L^1,V1=0;e:for(;;){if(A0)for(u0=1<>2]|0,z0=nE(Y0,j)|0,r1=(z0|0)==-1,r1){Y1=25;break e}if(L0=e[r0>>2]|0,o1=(z0|0)<(L0|0),!o1){Y1=25;break e}if(d1=e[s0>>2]|0,u1=d1+(z0<<2)|0,p1=e[u1>>2]|0,f1=M+(D1<<2)|0,h1=e[f1>>2]|0,A1=h1+(x1<<2)|0,e[A1>>2]=p1,a1=(p1|0)==0,j0=D1+1|0,a1){Y1=25;break e}if(q0=(j0|0)<($|0),q0)D1=j0;else break}c0=(b1|0)<(Q|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,X1=0;;)if($1=X1+1|0,X0=R1+1|0,B1=($1|0)<(Q0|0),m1=(X0|0)<(Q|0),K1=B1&m1,K1)R1=X0,X1=$1;else{_1=X0;break t}for(;;){for(d0=o5(F1,G)|0,P1=0;;){if(I0=e[y>>2]|0,n0=I0+d0|0,p0=M+(P1<<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&u0,Z0=(x0|0)==0,!Z0&&(R0=e[Y>>2]|0,v0=R0+(E0<<2)|0,N0=e[v0>>2]|0,U0=N0+(V1<<2)|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0&&(J0=a+(P1<<2)|0,T0=e[J0>>2]|0,M0=T0+(n0<<2)|0,P0=TC[g&3](O0,M0,j,G)|0,W0=(P0|0)==-1,W0))){Y1=25;break e}if(K0=P1+1|0,V0=(K0|0)<($|0),V0)P1=K0;else break}if($0=G1+1|0,l0=F1+1|0,X=($0|0)<(Q0|0),g0=(l0|0)<(Q|0),q1=X&g0,q1)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=V1+1|0,v1=e[J>>2]|0,k1=(y1|0)<(v1|0),k1)V1=y1;else{Y1=25;break}}if((Y1|0)==25){C=t2;return}}function Ry(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,U5=Q6+1024|0,J6=Q6+512|0,A3=Q6,Q=e[o>>2]|0,x=Q+8|0,c2=e[x>>2]|0,J2=Q+12|0,j2=e[J2>>2]|0,y5=o+16|0,T1=e[y5>>2]|0,I5=e[T1>>2]|0,d3=Q+4|0,H3=e[d3>>2]|0,M=e[Q>>2]|0,j=H3-M|0,$0=(j|0)/(c2|0)&-1,g4(J6|0,0,512)|0,g4(A3|0,0,512)|0,y0=o+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,s2=o+36|0,n2=(I5|0)>0,D2=o+20|0,S2=o+32|0,y2=0-I5|0,k2=U0,g6=0;;){if(f1){for(G2=(g6|0)==0,M2=1<>2]|0,q5=L5+(j5<<2)|0,M5=e[q5>>2]|0,z2=e[y5>>2]|0,E5=z2+4|0,$5=e[E5>>2]|0,h5=(M5|0)<($5|0),h5&&(Q5=Gu(z2,M5,t)|0,D5=e[s2>>2]|0,d5=D5+Q5|0,e[s2>>2]=d5),l5=v6+1|0,l6=(l5|0)==($|0),l6)break e;v6=l5}for(;;){for(b2=g+(R3<<2)|0,m5=e[b2>>2]|0,B5=m5+(j5<<2)|0,s5=e[B5>>2]|0,B6=1,$6=s5;;)if(t5=o5($6,j2)|0,T5=B6+j5|0,i5=(T5|0)<($0|0),i5?(x5=m5+(T5<<2)|0,b5=e[x5>>2]|0,V5=b5+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[s2>>2]|0,Y2=A5+Z2|0,e[s2>>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,K3=0;;){if(X2=o5(d6,c2)|0,d2=e[Q>>2]|0,w5=d2+X2|0,y1)for(s6=0;;){if(r5=g+(s6<<2)|0,a5=e[r5>>2]|0,f5=a5+(d6<<2)|0,K2=e[f5>>2]|0,G2&&(n5=A3+(K2<<2)|0,R5=e[n5>>2]|0,e5=R5+c2|0,e[n5>>2]=e5),c5=(Q+24|0)+(K2<<2)|0,T2=e[c5>>2]|0,v5=T2&M2,z5=(v5|0)==0,!z5&&(i3=e[D2>>2]|0,C5=i3+(K2<<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+(s6<<2)|0,G5=e[y3>>2]|0,Z5=e[r3>>2]|0,x3=(c2|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,L=Z5,S5=0,h3=0;;){a6=o5(h3,Z5)|0,D=a6+w5|0,G3=G5+(D<<2)|0,V3=e[w3>>2]|0,c3=e[e6>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,F=(L|0)>0;do if(Q3){if(!F){n6=0;break}for(V=g3+-1|0,m3=0,S6=0,W3=L;;)if(C0=W3+-1|0,_=D+C0|0,b0=G5+(_<<2)|0,D0=e[b0>>2]|0,E0=D0-V3|0,Q0=(E0|0)<(u3|0),Q0?(w0=u3-E0|0,B0=w0<<1,x0=B0+-1|0,N0=x0):(Z0=E0-u3|0,R0=Z0<<1,N0=R0),v0=o5(S6,g3)|0,O0=(N0|0)<0,H0=(N0|0)>=(g3|0),S0=H0?V:N0,J0=O0?0:S0,T0=J0+v0|0,M0=o3+(C0<<2)|0,e[M0>>2]=D0,P0=m3+1|0,r6=(P0|0)==(L|0),r6){n6=T0;break}else m3=P0,S6=T0,W3=C0}else{if(!F){n6=0;break}for(G=c3>>1,O=G-V3|0,H=g3+-1|0,M3=0,M6=0,F3=L;;)if(J=F3+-1|0,w=D+J|0,t0=G5+(w<<2)|0,Z=e[t0>>2]|0,A0=O+Z|0,r0=(A0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(K=u3-r0|0,o0=K<<1,Y=o0+-1|0,u0=Y):(h0=r0-u3|0,i0=h0<<1,u0=i0),e0=o5(M6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),X=l0?H:u0,m0=c0?0:X,g0=m0+e0|0,I0=o5(r0,c3)|0,n0=I0+V3|0,d0=o3+(J<<2)|0,e[d0>>2]=n0,p0=M3+1|0,z3=(p0|0)==(L|0),z3){n6=g0;break}else M3=p0,M6=g0,F3=J}while(!1);W0=e[_3>>2]|0,K0=W0+8|0,V0=e[K0>>2]|0,q0=V0+n6|0,Y0=f[q0>>0]|0,s1=Y0<<24>>24<1;do if(s1){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=o5(z0,c3)|0,L0=r1+V3|0,o1=e[t3>>2]|0,d1=(o1|0)>0,d1)J5=-1,x6=0,f6=n6;else{N6=n6;break}for(;;){u1=V0+x6|0,p1=f[u1>>0]|0,h1=p1<<24>>24>0;do if(h1){if(F)for(j6=0,T3=0;;)if(A1=U5+(j6<<2)|0,c1=e[A1>>2]|0,k=D+j6|0,a1=G5+(k<<2)|0,$1=e[a1>>2]|0,X0=c1-$1|0,B1=o5(X0,X0)|0,m1=B1+T3|0,Q1=j6+1|0,A6=(Q1|0)==(L|0),A6){y6=m1;break}else j6=Q1,T3=m1;else y6=0;if(C1=(J5|0)==-1,v1=(y6|0)<(J5|0),t6=C1|v1,!t6){H5=J5,b6=f6;break}e[o3>>2]=e[U5>>2]|0,e[o3+4>>2]=e[U5+4>>2]|0,e[o3+8>>2]=e[U5+8>>2]|0,e[o3+12>>2]=e[U5+12>>2]|0,e[o3+16>>2]=e[U5+16>>2]|0,e[o3+20>>2]=e[U5+20>>2]|0,e[o3+24>>2]=e[U5+24>>2]|0,e[o3+28>>2]=e[U5+28>>2]|0,H5=y6,b6=x6}else H5=J5,b6=f6;while(!1);if(k1=e[U5>>2]|0,S1=(k1|0)<(L0|0),S1)m=U5,I=k1;else for(M1=U5,o6=0;;)if(L1=o6+1|0,e[M1>>2]=0,b1=U5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(L0|0),R1){m=b1,I=_1;break}else M1=b1,o6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,X1=U1):X1=I,P1=0-X1|0,e[m>>2]=P1,G1=x6+1|0,n3=(G1|0)==(o1|0),n3){N6=b6;break}else J5=H5,x6=G1,f6=b6}}else N6=n6;while(!1);if(x1=(N6|0)>-1,c6=F&x1,c6)for(d=G3,L6=0;K1=o3+(L6<<2)|0,q1=e[K1>>2]|0,H1=d+4|0,V1=e[d>>2]|0,Y1=V1-q1|0,e[d>>2]=Y1,t2=L6+1|0,l3=(t2|0)==(L|0),!l3;)d=H1,L6=t2;if(e2=Gu(r3,N6,t)|0,O1=e2+S5|0,h2=h3+1|0,U3=(h2|0)==(x3|0),U3){E=O1;break}y=e[r3>>2]|0,L=y,S5=O1,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=J6+($2<<2)|0,f2=e[W1>>2]|0,g2=f2+Y5|0,e[W1>>2]=g2}if(o2=s6+1|0,C6=(o2|0)==($|0),C6)break;s6=o2}if(l2=K3+1|0,i2=d6+1|0,b3=(l2|0)==(N5|0),b3)break;d6=i2,K3=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 o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0;if(y=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,d=($|0)==0,d){m=g;break}else o=$,I=g;return m|0}function Fy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0;f2=C,C=C+144|0,O1=f2,E=(a|0)!=0,y=E?a:o,F=y<<2,s0=M9(F)|0,g4(O1|0,0,132)|0,X=(o|0)>0;do if(X){E0=O1+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=O1+(B<<2)|0,k=e[D>>2]|0,w=v1<<24>>24>31,_=k>>>B,Q=(_|0)==0,h2=w|Q,!h2){W1=5;break e}x=s0+(k1<<2)|0,e[x>>2]=k,M=O1+(B<<2)|0,L=k&1,G=(L|0)==0;i:do if(G)for(K=k,o0=M,K1=B;;){if(r0=K+1|0,e[o0>>2]=r0,Y=K1+-1|0,h0=(K1|0)>1,!h0)break i;if(d=O1+(Y<<2)|0,I=e[d>>2]|0,i0=O1+(Y<<2)|0,e0=I&1,u0=(e0|0)==0,u0)K=I,o0=i0,K1=Y;else{g=i0,x1=Y,W1=8;break}}else g=M,x1=B,W1=8;while(!1);do if((W1|0)==8)if(W1=0,H=(x1|0)==1,H){V=e[E0>>2]|0,J=V+1|0,e[E0>>2]=J;break}else{t0=x1+-1|0,Z=O1+(t0<<2)|0,A0=e[Z>>2]|0,j=A0<<1,e[g>>2]=j;break}while(!1);if(Y1=B+1|0,O=(Y1|0)<33,O)for(R1=k,H1=B,t2=Y1;;){if(c0=O1+(t2<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){m=1;break t}if(g0=O1+(H1<<2)|0,I0=e[g0>>2]|0,n0=I0<<1,e[c0>>2]=n0,q1=t2+1|0,d0=(q1|0)<33,d0)V1=t2,R1=$0,t2=q1,H1=V1;else{m=1;break}}else m=1}else m=Y0;while(!1);if(S1=k1+m|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)k1=S1,D1=p0;else{L1=S1,W1=16;break}}if((W1|0)==5)return E2(s0),$=0,C=f2,$|0;if((W1|0)==16){if(Z1=(L1|0)==1,!Z1){P1=1,W1=27;break}if(b0=O1+8|0,y0=e[b0>>2]|0,D0=(y0|0)==2,D0)break;P1=1,W1=27;break}}else P1=1,W1=27;while(!1);e:do if((W1|0)==27){for(;W1=0,j0=O1+(P1<<2)|0,q0=e[j0>>2]|0,s1=32-P1|0,z0=-1>>>s1,r1=q0&z0,L0=(r1|0)==0,K0=P1+1|0,!!L0;)if(V0=(K0|0)<33,V0)P1=K0,W1=27;else break e;return E2(s0),$=0,C=f2,$|0}while(!1);if(!X)return $=s0,C=f2,$|0;if(E)b1=0,G1=0;else{for(M1=0,X1=0;;){if(o1=t+X1|0,d1=f[o1>>0]|0,u1=d1<<24>>24>0,u1)for(p1=s0+(M1<<2)|0,f1=e[p1>>2]|0,h1=d1<<24>>24,s2=0,C2=0;;)if(c1=C2<<1,a1=f1>>>s2,$1=a1&1,X0=$1|c1,B1=s2+1|0,m1=(B1|0)<(h1|0),m1)s2=B1,C2=X0;else{I2=X0;break}else I2=0;if(Q1=M1+1|0,C1=s0+(M1<<2)|0,e[C1>>2]=I2,y1=X1+1|0,F1=(y1|0)==(o|0),F1){$=s0;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=s0+(b1<<2)|0,O0=e[W0>>2]|0,P0=w0<<24>>24,e2=0,$2=0;;)if(N0=$2<<1,U0=O0>>>e2,S0=U0&1,J0=S0|N0,T0=e2+1|0,M0=(T0|0)<(P0|0),M0)e2=T0,$2=J0;else{A2=J0;break}else A2=0;if(x0=w0<<24>>24==0,x0?_1=b1:(Z0=b1+1|0,R0=s0+(b1<<2)|0,e[R0>>2]=A2,_1=Z0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=f2,$|0}function eD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0;if(K=C,$=t+4|0,g=e[$>>2]|0,_=e[t>>2]|0,Q=(_|0)>0,!Q)for(;;);for(x=+(g|0),M=x,L=+(_|0),F=1/L,G=F,O=+Fu(+M,+G),d=+sA(+O),m=~~d,Z=m;;){for(D=Z+1|0,H=1,V=1,J=0;;)if(B=o5(H,Z)|0,b=o5(V,D)|0,k=J+1|0,w=(k|0)<(_|0),w)H=B,V=b,J=k;else{o=B,a=b;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),t0=I&E,t0){r0=Z;break}y=(o|0)>(g|0),j=y?-1:1,A0=Z+j|0,Z=A0}return r0|0}function tD(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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),o0=O,g0=t+20|0,w0=e[g0>>2]|0,J0=w0&2097151,j0=+(J0|0),q0=w0>>>21,Y0=q0&1023,s1=(w0|0)<0,r1=-j0,g=s1?r1:j0,L0=Y0+-788|0,o1=+aE(g,L0),d1=o1,u1=e[t>>2]|0,p1=o5(u1,o)|0,f1=le(p1,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,U1=+Fu(+b1,+F1),D1=+sA(+U1),P1=~~D1,c5=P1;;){for(I2=c5+1|0,s5=1,F2=1,E5=0;;)if(O1=o5(s5,c5)|0,h2=o5(F2,I2)|0,A2=E5+1|0,p5=(A2|0)==(u1|0),p5){m=O1,I=h2;break}else s5=O1,F2=h2,E5=A2;if(X1=(m|0)<=(k1|0),G1=(I|0)>(k1|0),I5=G1&X1,I5){T2=c5;break}e2=(m|0)>(k1|0),e5=e2?-1:1,R5=e5+c5|0,c5=R5}if(K1=(k1|0)>0,!K1)return d=f1,d|0;for(q1=(a|0)==0,H1=t+8|0,V1=t+32|0,Y1=d1,t2=o0,s2=t+28|0,R2=0,T1=0;;){if(q1)if(c2=e[V1>>2]|0,n2=e[s2>>2]|0,g2=(n2|0)==0,o2=o5(u1,R2)|0,g2)for(Q5=1,X2=0;;)if(x5=(T1|0)/(Q5|0)&-1,j2=(x5|0)%(T2|0)&-1,m5=c2+(j2<<2)|0,b5=e[m5>>2]|0,V5=+(b5|0),z2=+rr(+V5),u5=z2,b2=u5*Y1,B5=t2+b2,D=B5,k=o2+X2|0,w=f1+(k<<2)|0,s[w>>2]=D,_=o5(Q5,T2)|0,Q=X2+1|0,x=(Q|0)<(u1|0),x)Q5=_,X2=Q;else{v5=21;break}else for($5=1,d5=0,r5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(T2|0)&-1,F=c2+(L<<2)|0,G=e[F>>2]|0,H=+(G|0),q5=+rr(+H),V=q5,J=V*Y1,t0=r5,Z=t0+t2,A0=Z+J,j=A0,r0=o2+d5|0,s0=f1+(r0<<2)|0,s[s0>>2]=j,K=o5($5,T2)|0,Y=d5+1|0,h0=(Y|0)<(u1|0),h0)$5=K,d5=Y,r5=j;else{v5=21;break}else if(C2=e[H1>>2]|0,$2=C2+T1|0,W1=f[$2>>0]|0,f2=W1<<24>>24==0,f2)Q2=R2;else for(i2=e[V1>>2]|0,a2=e[s2>>2]|0,m2=(a2|0)==0,r2=a+(R2<<2)|0,k2=e[r2>>2]|0,D2=o5(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),M5=+rr(+p2),W2=M5,q2=W2*Y1,J2=a5,U2=J2+t2,V2=U2+q2,Z2=V2,w5=m2?a5:Z2,A5=D2+l5|0,Y2=f1+(A5<<2)|0,s[Y2>>2]=Z2,N1=o5(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,u0=(e0|0)<(k1|0),u0)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,c1=(A1|0)>0,!c1)return d=f1,d|0;for($1=(a|0)!=0,X0=t+8|0,B1=t+32|0,m1=d1,Q1=o0,C1=t+28|0,y1=(u1|0)>0,y5=0,D5=0;;){if($1?(c0=e[X0>>2]|0,$0=c0+D5|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,d0=a+(y5<<2)|0,p0=o5(u1,D5)|0,C0=o5(u1,y5)|0,d2=0,K2=0;b0=p0+d2|0,y0=m0+(b0<<2)|0,D0=e[y0>>2]|0,E0=+(D0|0),L5=+rr(+E0),Q0=L5,B0=Q0*m1,x0=K2,Z0=x0+Q1,R0=Z0+B0,v0=R0,f5=n0?K2:v0,$1?(N0=e[d0>>2]|0,U0=o5(N0,u1)|0,O0=U0+d2|0,H0=f1+(O0<<2)|0,s[H0>>2]=v0):(S0=C0+d2|0,T0=f1+(S0<<2)|0,s[T0>>2]=v0),M0=d2+1|0,P0=(M0|0)<(u1|0),P0;)d2=M0,K2=f5;W0=y5+1|0,N5=W0}if(K0=D5+1|0,V0=(K0|0)<(A1|0),V0)y5=N5,D5=K0;else{d=f1;break}}return d|0}else return d=f1,d|0;return 0}function LC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0;b=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,d=e[g>>2]|0,m=(d|0)==0,m||E2(d),I=t+8|0,E=e[I>>2]|0,y=(E|0)==0,y||E2(E),E2(t))}function iD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>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,w=(k|0)==0,w||E2(k),_=t+28|0,$=e[_>>2]|0,g=($|0)==0,g||E2($),d=t+32|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),Q=t,L=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(L|0))}function Ty(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=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(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,j=t+4|0,e[j>>2]=M,$0=t+8|0,e[$0>>2]=M,y0=e[o>>2]|0,e[t>>2]=y0,x0=o+8|0,Z0=e[x0>>2]|0,R0=Fy(Z0,M,0)|0,v0=t+20|0,e[v0>>2]=R0,E=e[I>>2]|0,y=e[o>>2]|0,B=(y|0)>0,!B)for(;;);for(b=+(E|0),D=b,k=+(y|0),w=1/k,_=w,Q=+Fu(+D,+_),x=+sA(+Q),L=~~x,W0=L;;){for(J=W0+1|0,N0=1,U0=1,H0=0;;)if(H=o5(N0,W0)|0,V=o5(U0,J)|0,t0=H0+1|0,O0=(t0|0)==(y|0),O0){g=H,d=V;break}else N0=H,U0=V,H0=t0;if(F=(g|0)<=(E|0),G=(d|0)>(E|0),S0=G&F,S0){K0=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]=K0,A0=o+16|0,r0=e[A0>>2]|0,s0=r0&2097151,K=+(s0|0),o0=r0>>>21,Y=o0&1023,h0=(r0|0)<0,i0=-K,a=h0?i0:K,e0=Y+-788|0,u0=+aE(a,e0),c0=u0,J0=+qy(c0),l0=~~J0,X=t+48|0,e[X>>2]=l0,m0=o+20|0,g0=e[m0>>2]|0,I0=g0&2097151,n0=+(I0|0),d0=g0>>>21,p0=d0&1023,C0=(g0|0)<0,b0=-n0,$=C0?b0:n0,D0=p0+-788|0,E0=+aE($,D0),Q0=E0,T0=+qy(Q0),w0=~~T0,B0=t+52|0,e[B0>>2]=w0,0}function rD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=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=o+4|0,k=e[D>>2]|0,C2=(k|0)>0,C2)for(z2=o+8|0,w5=e[z2>>2]|0,K3=0,G6=0;;)if(v5=w5+K3|0,Z5=f[v5>>0]|0,V3=Z5<<24>>24>0,l6=V3&1,E=l6+G6|0,j5=K3+1|0,w=(j5|0)<(k|0),w)K3=j5,G6=E;else{d0=E;break}else d0=0;if(J=t+4|0,e[J>>2]=k,i0=t+8|0,e[i0>>2]=d0,Z0=e[o>>2]|0,e[t>>2]=Z0,P0=(d0|0)>0,!P0)return $=0,C=O3,$|0;if(o1=o+8|0,B1=e[o1>>2]|0,_1=Fy(B1,k,d0)|0,H1=d0<<2,d=H1,$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,x5=(i5|0)==0,x5||E2(i5),m5=t+28|0,b5=e[m5>>2]|0,V5=(b5|0)==0,V5||E2(b5),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(;J2=_1+(F3<<2)|0,j2=e[J2>>2]|0,y5=j2>>>16,N5=j2<<16,p5=y5|N5,L5=p5>>>8,q5=L5&16711935,M5=p5<<8,E5=M5&-16711936,$5=q5|E5,h5=$5>>>4,Q5=h5&252645135,T1=$5<<4,D5=T1&-252645136,d5=Q5|D5,l5=d5>>>2,X2=l5&858993459,d2=d5<<2,r5=d2&-858993460,a5=X2|r5,f5=a5>>>1,K2=f5&1431655765,I5=a5<<1,n5=I5&-1431655766,R5=K2|n5,e[J2>>2]=R5,e5=$2+(F3<<2)|0,e[e5>>2]=J2,c5=F3+1|0,j6=(c5|0)==(d0|0),!j6;)F3=c5;for(Pu($2,d0,4,10),m=H1,T2=C,C=C+((1*m|0)+15&-16)|0,z5=M9(H1)|0,i3=t+20|0,e[i3>>2]=z5,C5=_1,W3=0;;)if(I3=$2+(W3<<2)|0,d3=e[I3>>2]|0,W5=d3,r3=W5-C5|0,a3=r3>>2,y3=T2+(a3<<2)|0,e[y3>>2]=W3,G5=W3+1|0,N6=(G5|0)==(d0|0),N6){t6=0;break}else W3=G5;for(;x3=_1+(t6<<2)|0,f3=e[x3>>2]|0,w3=T2+(t6<<2)|0,e6=e[w3>>2]|0,H3=z5+(e6<<2)|0,e[H3>>2]=f3,X5=t6+1|0,b6=(X5|0)==(d0|0),!b6;)t6=X5;if(E2(_1),_3=tD(o,d0,T2)|0,t3=t+16|0,e[t3>>2]=_3,a6=M9(H1)|0,G3=t+24|0,e[G3>>2]=a6,c3=e[D>>2]|0,g3=(c3|0)>0,g3)for(y=e[o1>>2]|0,R6=0,Q6=0;;)if(u3=y+R6|0,Q3=f[u3>>0]|0,J5=Q3<<24>>24>0,J5?(H5=Q6+1|0,Y5=T2+(Q6<<2)|0,S5=e[Y5>>2]|0,Y3=a6+(S5<<2)|0,e[Y3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,n3=(U5|0)<(c3|0),n3)R6=U5,Q6=X6;else{e9=X6;break}else e9=0;if(l3=M9(e9)|0,U3=t+28|0,e[U3>>2]=l3,C6=t+40|0,e[C6>>2]=0,g3){for(B=e[o1>>2]|0,s5=0,L3=B,c6=0,r9=0;;)if(b3=L3+c6|0,D3=f[b3>>0]|0,A6=D3<<24>>24>0,A6?(r6=r9+1|0,z3=T2+(r9<<2)|0,M3=e[z3>>2]|0,h3=e[U3>>2]|0,J3=h3+M3|0,f[J3>>0]=D3,d6=e[o1>>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=s5,R2=L3,V6=r9),n6=c6+1|0,_=e[D>>2]|0,Q=(n6|0)<(_|0),Q)s5=F2,L3=R2,c6=n6,r9=V6;else{I=F2,o9=V6;break}if(x=(o9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,F=le(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=o9}else P3=0;if(H=e[i0>>2]|0,V=(H|0)==0,V)U6=-4;else{for(g=H,Y6=0;;)if(t0=g>>>1,Z=Y6+1|0,A0=(t0|0)==0,A0){F6=Y6;break}else g=t0,Y6=Z;g9=F6+-3|0,U6=g9}if(j=t+36|0,r0=(U6|0)<5,a=r0?5:U6,s0=(a|0)>8,t9=s0?8:a,e[j>>2]=t9,K=1<>2]=o0,h0=(P3|0)>0,h0)for(l0=t9,o3=0;;){if(e0=e[U3>>2]|0,u0=e0+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,X=(l0|0)<($0|0),X)Q2=l0;else if(m0=e[i3>>2]|0,g0=m0+(o3<<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,N0=v0>>>2,U0=N0&858993459,O0=v0<<2,H0=O0&-858993460,S0=U0|H0,J0=S0>>>1,T0=J0&1431655765,M0=S0<<1,W0=M0&-1431655766,K0=T0|W0,V0=l0-$0|0,j0=(V0|0)==31,j0)Q2=l0;else for(q0=o3+1|0,s1=$0,A3=0;;)if(Y0=A3<>2]=q0,L0=A3+1|0,d1=e[j>>2]|0,u1=f[u0>>0]|0,p1=u1<<24>>24,f1=d1-p1|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,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,X1=P1&-252645136,G1=D1|X1,x1=G1>>>2,K1=x1&858993459,q1=G1<<2,V1=q1&-858993460,Y1=K1|V1,t2=Y1>>>1,s2=t2&1431655765,e2=Y1<<1,O1=e2&-1431655766,h2=s2|O1,Z1=o0+(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(c2=e[i3>>2]|0,n2=c2+(W1<<2)|0,g2=e[n2>>2]|0,o2=g2>>>0>y1>>>0,o2){T3=y6;break}else y6=W1}l2=(P3|0)>(v6|0);e:do if(l2)for(i2=e[i3>>2]|0,o6=v6;;){if(a2=i2+(o6<<2)|0,m2=e[a2>>2]|0,k2=m2&X0,D2=y1>>>0>>0,D2){R3=o6;break e}if(S2=o6+1|0,y2=(P3|0)>(S2|0),y2)o6=S2;else{R3=S2;break}}else R3=v6;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,s6=R3,D6=T3}else s6=v6,D6=g6;if(q2=J6+1|0,U2=(q2|0)<(K|0),!U2){$=0;break}b=e[j>>2]|0,C1=b,v6=s6,J6=q2,g6=D6}return C=O3,$|0}function nD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=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[o>>2]|0,d=e[g>>2]|0,m=$>>>0>d>>>0,I=m&1,E=$>>>0>>0,y=E&1,B=I-y|0,B|0}function oD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,K=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,w=(y0|0)/(k|0)&-1,_=(y|0)/(y0|0)&-1,Q=o5(_,w)|0,x=k+-1|0,M=o5(_,x)|0,L=C0-M|0,F=1-E0|0;do if((k|0)==2)if(Z=(F|0)==0,a=E+L|0,A0=K+(a<<2)|0,Z){Py(_,w,o,K,A0),Q0=0;break}else{Py(_,w,K,o,A0),Q0=F;break}else if((k|0)==4)if(O=L+_|0,H=(F|0)==0,$=E+L|0,V=K+($<<2)|0,g=E+O|0,J=K+(g<<2)|0,d=E+_|0,m=d+O|0,t0=K+(m<<2)|0,H){Uy(_,w,o,K,V,J,t0),Q0=0;break}else{Uy(_,w,K,o,V,J,t0),Q0=F;break}else if(j=(_|0)==1,D0=j?E0:F,r0=(D0|0)==0,I=E+L|0,s0=K+(I<<2)|0,r0){Oy(_,k,w,Q,o,o,o,K,K,s0),Q0=1;break}else{Oy(_,k,w,Q,K,K,K,o,o,s0),Q0=0;break}while(!1);if(o0=b0+1|0,d0=(o0|0)==(m0|0),d0){w0=Q0;break}else C0=L,b0=o0,y0=w,E0=Q0}if(Y=(w0|0)!=1,h0=(y|0)>0,B0=h0&Y,B0)p0=0;else return;for(;i0=K+(p0<<2)|0,e0=e[i0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=e0,c0=p0+1|0,n0=(c0|0)==(y|0),!n0;)p0=c0}}function Ny(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0;if(B1=C,e[t>>2]=o,m=o*3|0,I=le(m,4)|0,M=t+4|0,e[M>>2]=I,j=le(32,4)|0,$0=t+8|0,e[$0>>2]=j,y0=(o|0)==1,!y0){Z0=j+8|0,z0=-1,u1=0,p1=o,h1=0;e:for(;;)for(R0=z0+1|0,v0=(R0|0)<4,v0?(N0=25768+(R0<<2)|0,E=e[N0>>2]|0,A1=E):(y=h1+2|0,A1=y),B=(A1|0)!=2,V0=u1,f1=p1;;){if(W0=V0+1|0,b=(f1|0)/(A1|0)&-1,D=o5(b,A1)|0,k=(f1|0)==(D|0),!k){z0=R0,u1=V0,p1=f1,h1=A1;continue e}if(w=V0+2|0,_=j+(w<<2)|0,e[_>>2]=A1,Q=(V0|0)==0,c1=B|Q,!c1){if(x=(V0|0)<1,!x)for(T0=1;L=W0-T0|0,F=L+1|0,G=j+(F<<2)|0,O=e[G>>2]|0,H=L+2|0,V=j+(H<<2)|0,e[V>>2]=O,J=T0+1|0,S0=(J|0)==(W0|0),!S0;)T0=J;e[Z0>>2]=2}if(t0=(b|0)==1,t0){a=Q,K0=W0,j0=V0;break e}else V0=W0,f1=b}if(e[j>>2]=o,Z=j+4|0,e[Z>>2]=K0,A0=+(o|0),r0=6.2831854820251465/A0,$=a^1,s0=(j0|0)>0,a1=s0&$,!!a1)for(K=o+1|0,q0=0,L0=0,o1=1;;){if(o0=L0+2|0,Y=j+(o0<<2)|0,h0=e[Y>>2]|0,i0=o5(h0,o1)|0,e0=(o|0)/(i0|0)&-1,u0=(h0|0)>1,u0){for(c0=(e0|0)>2,l0=h0+-1|0,s1=q0,r1=0,d1=0;;){if(X=d1+o1|0,m0=+(X|0),g0=m0*r0,c0)for(J0=0,M0=s1,P0=2;I0=J0+1,n0=g0*I0,U0=+aA(+n0),g=M0+o|0,d0=I+(g<<2)|0,s[d0>>2]=U0,$1=+Vn(+n0),p0=M0+2|0,d=K+M0|0,C0=I+(d<<2)|0,s[C0>>2]=$1,b0=P0+2|0,D0=(b0|0)<(e0|0),D0;)J0=I0,M0=p0,P0=b0;if(E0=s1+e0|0,Q0=r1+1|0,O0=(Q0|0)==(l0|0),O0)break;s1=E0,r1=Q0,d1=X}w0=o5(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,o1=i0}}}function Gy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0;y=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+8|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function Uy(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0;if(I3=C,I=o5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,Y1=t<<2,W1=Y1+-1|0,k2=t<<1,d2=0,a5=I,I5=F1,e5=0,c5=E;U2=a+(a5<<2)|0,m5=+s[U2>>2],N5=a+(I5<<2)|0,y=+s[N5>>2],F=y+m5,s0=a+(e5<<2)|0,X=+s[s0>>2],E0=a+(c5<<2)|0,H0=+s[E0>>2],Y0=H0+X,A1=Y0+F,B1=e5<<2,m1=$+(B1<<2)|0,s[m1>>2]=A1,C1=Y0-F,y1=W1+B1|0,v1=$+(y1<<2)|0,s[v1>>2]=C1,k1=+s[s0>>2],S1=+s[E0>>2],L1=k1-S1,M1=B1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[N5>>2],U1=+s[U2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,X1=a5+t|0,G1=I5+t|0,x1=e5+t|0,K1=c5+t|0,q1=d2+1|0,d5=(q1|0)==(o|0),!d5;)d2=q1,a5=X1,I5=G1,e5=x1,c5=K1;if(H1=(t|0)<2,!H1){if(V1=(t|0)==2,!V1){if(Q1)for(t2=t<<1,w5=0,f5=0;;){for(n0=f5<<2,d0=n0+t2|0,X2=2,n5=f5,T2=n0,z5=d0;O1=n5+2|0,h2=T2+2|0,Z1=z5+-2|0,I2=O1+I|0,A2=X2+-2|0,C2=g+(A2<<2)|0,$2=+s[C2>>2],f2=I2+-1|0,c2=a+(f2<<2)|0,n2=+s[c2>>2],g2=n2*$2,o2=X2+-1|0,l2=g+(o2<<2)|0,i2=+s[l2>>2],a2=a+(I2<<2)|0,m2=+s[a2>>2],r2=m2*i2,D2=r2+g2,S2=m2*$2,y2=i2*n2,G2=S2-y2,M2=I2+I|0,O2=d+(A2<<2)|0,p2=+s[O2>>2],W2=M2+-1|0,q2=a+(W2<<2)|0,J2=+s[q2>>2],V2=J2*p2,Z2=d+(o2<<2)|0,A5=+s[Z2>>2],Y2=a+(M2<<2)|0,N1=+s[Y2>>2],t5=N1*A5,T5=t5+V2,i5=N1*p2,x5=A5*J2,j2=i5-x5,b5=M2+I|0,V5=m+(A2<<2)|0,u5=+s[V5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,s5=+s[B5>>2],F2=s5*u5,R2=m+(o2<<2)|0,Q2=+s[R2>>2],y5=a+(b5<<2)|0,p5=+s[y5>>2],L5=p5*Q2,q5=L5+F2,M5=p5*u5,z2=Q2*s5,E5=M5-z2,$5=q5+D2,h5=q5-D2,Q5=E5+G2,T1=G2-E5,B=a+(O1<<2)|0,b=+s[B>>2],D=b+j2,k=b-j2,w=n5+1|0,_=a+(w<<2)|0,Q=+s[_>>2],x=Q+T5,M=Q-T5,L=$5+x,G=T2|1,O=$+(G<<2)|0,s[O>>2]=L,H=Q5+D,V=$+(h2<<2)|0,s[V>>2]=H,J=M-T1,t0=z5+-3|0,Z=$+(t0<<2)|0,s[Z>>2]=J,A0=h5-k,j=$+(Z1<<2)|0,s[j>>2]=A0,r0=T1+M,K=h2+t2|0,o0=K+-1|0,Y=$+(o0<<2)|0,s[Y>>2]=r0,h0=h5+k,i0=$+(K<<2)|0,s[i0>>2]=h0,e0=x-$5,u0=Z1+t2|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=e0,l0=Q5-D,m0=$+(u0<<2)|0,s[m0>>2]=l0,g0=X2+2|0,I0=(g0|0)<(t|0),I0;)X2=g0,n5=O1,T2=h2,z5=Z1;if(s2=f5+t|0,e2=w5+1|0,l5=(e2|0)==(o|0),l5)break;w5=e2,f5=s2}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,K2=y0,R5=w0,v5=t,i3=t;B0=a+(K2<<2)|0,x0=+s[B0>>2],Z0=a+(R5<<2)|0,R0=+s[Z0>>2],v0=R0+x0,N0=v0*-.7071067690849304,U0=x0-R0,O0=U0*.7071067690849304,S0=i3+-1|0,J0=a+(S0<<2)|0,T0=+s[J0>>2],M0=O0+T0,P0=v5+-1|0,W0=$+(P0<<2)|0,s[W0>>2]=M0,K0=+s[J0>>2],V0=K0-O0,j0=v5+Q0|0,q0=j0+-1|0,s1=$+(q0<<2)|0,s[s1>>2]=V0,z0=K2+I|0,r1=a+(z0<<2)|0,L0=+s[r1>>2],o1=N0-L0,d1=$+(v5<<2)|0,s[d1>>2]=o1,u1=+s[r1>>2],p1=u1+N0,f1=$+(j0<<2)|0,s[f1>>2]=p1,h1=K2+t|0,c1=R5+t|0,a1=v5+D0|0,$1=i3+t|0,X0=r5+1|0,D5=(X0|0)==(o|0),!D5;)r5=X0,K2=h1,R5=c1,v5=a1,i3=$1}}function Py(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0;if(D1=C,d=o5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(A0=m+-1|0,B1=0,C1=0,k1=d;c0=a+(C1<<2)|0,b0=+s[c0>>2],N0=a+(k1<<2)|0,V0=+s[N0>>2],p1=V0+b0,A1=C1<<1,I=$+(A1<<2)|0,s[I>>2]=p1,E=+s[c0>>2],y=+s[N0>>2],B=E-y,b=A0+A1|0,D=$+(b<<2)|0,s[D>>2]=B,k=C1+t|0,w=k1+t|0,_=B1+1|0,a1=(_|0)==(o|0),!a1;)B1=_,C1=k,k1=w;if(Q=(t|0)<2,!Q){if(M=(t|0)==2,!M){if(x)for(m1=0,y1=0,S1=d;;){for(J0=y1<<1,T0=J0+m|0,X0=2,M1=S1,_1=T0,R1=y1,F1=J0;O=M1+2|0,H=_1+-2|0,V=R1+2|0,J=F1+2|0,t0=X0+-2|0,Z=g+(t0<<2)|0,j=+s[Z>>2],r0=M1+1|0,s0=a+(r0<<2)|0,K=+s[s0>>2],o0=K*j,Y=X0+-1|0,h0=g+(Y<<2)|0,i0=+s[h0>>2],e0=a+(O<<2)|0,u0=+s[e0>>2],$0=u0*i0,l0=$0+o0,X=u0*j,m0=i0*K,g0=X-m0,I0=a+(V<<2)|0,n0=+s[I0>>2],d0=g0+n0,p0=$+(J<<2)|0,s[p0>>2]=d0,C0=+s[I0>>2],y0=g0-C0,D0=$+(H<<2)|0,s[D0>>2]=y0,E0=R1+1|0,Q0=a+(E0<<2)|0,w0=+s[Q0>>2],B0=w0+l0,x0=F1|1,Z0=$+(x0<<2)|0,s[Z0>>2]=B0,R0=+s[Q0>>2],v0=R0-l0,U0=_1+-3|0,O0=$+(U0<<2)|0,s[O0>>2]=v0,H0=X0+2|0,S0=(H0|0)<(t|0),S0;)X0=H0,M1=O,_1=H,R1=V,F1=J;if(L=y1+t|0,F=S1+t|0,G=m1+1|0,$1=(G|0)==(o|0),$1)break;m1=G,y1=L,S1=F}if(M0=(t|0)%2&-1,P0=(M0|0)==1,P0)return}if(W0=t+-1|0,!!x)for(K0=d+W0|0,Q1=0,v1=t,L1=K0,b1=W0;j0=a+(L1<<2)|0,q0=+s[j0>>2],Y0=-q0,s1=$+(v1<<2)|0,s[s1>>2]=Y0,z0=a+(b1<<2)|0,r1=e[z0>>2]|0,L0=v1+-1|0,o1=$+(L0<<2)|0,e[o1>>2]=r1,d1=v1+m|0,u1=L1+t|0,f1=b1+t|0,h1=Q1+1|0,c1=(h1|0)==(o|0),!c1;)Q1=h1,v1=d1,L1=u1,b1=f1}}function Oy(t,o,a,$,g,d,m,I,E,y){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,y=y|0;var B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0;vt=C,D=+(o|0),k=6.2831854820251465/D,pt=+aA(+k),V8=+Vn(+k),C2=o+1|0,b3=C2>>1,J9=t+-1|0,Ye=J9>>1,O9=o5(a,t)|0,k9=o5(o,t)|0,me=(t|0)==1;e:do if(!me){if(D8=($|0)>0,D8)for(_4=0;d0=m+(_4<<2)|0,Z0=e[d0>>2]|0,P0=E+(_4<<2)|0,e[P0>>2]=Z0,o1=_4+1|0,Bt=(o1|0)==($|0),!Bt;)_4=o1;if(J=(o|0)>1,J)for(i0=(a|0)>0,wt=1,Z8=0;;){if(B1=Z8+O9|0,i0)for(l8=0,Ae=B1;_1=d+(Ae<<2)|0,H1=e[_1>>2]|0,$2=I+(Ae<<2)|0,e[$2>>2]=H1,r2=Ae+t|0,J2=l8+1|0,se=(J2|0)==(a|0),!se;)l8=J2,Ae=r2;if(j2=wt+1|0,lt=(j2|0)==(o|0),lt)break;wt=j2,Z8=B1}if(y5=0-t|0,T1=(Ye|0)>(a|0),T1){if(J)for(H3=(a|0)>0,J5=(t|0)>2,C3=y5,j9=1,R8=0;;){if(L3=R8+O9|0,x6=C3+t|0,H3)for(o6=L3-t|0,A3=x6+-1|0,ut=0,T8=o6;;){if(P3=T8+t|0,J5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,w6=Bi+2|0,w9=E4+1|0,r4=y+(w9<<2)|0,He=+s[r4>>2],Ve=Bi+1|0,he=d+(Ve<<2)|0,Ue=+s[he>>2],Ee=Ue*He,v4=y+(O3<<2)|0,Z9=+s[v4>>2],v9=d+(w6<<2)|0,k4=+s[v9>>2],V4=k4*Z9,nt=V4+Ee,Y4=I+(Ve<<2)|0,s[Y4>>2]=nt,ze=+s[r4>>2],n4=+s[v9>>2],R4=n4*ze,ot=+s[v4>>2],ne=+s[he>>2],u4=ne*ot,Ce=R4-u4,T6=I+(w6<<2)|0,s[T6>>2]=Ce,Je=ct+2|0,de=(Je|0)<(t|0),de;)ct=Je,E4=O3,Bi=w6;if(Te=ut+1|0,$t=(Te|0)==(a|0),$t)break;ut=Te,T8=P3}if(h4=j9+1|0,Ct=(h4|0)==(o|0),Ct)break;C3=x6,j9=h4,R8=L3}}else if(J)for(I5=(t|0)>2,d3=(a|0)>0,Z4=y5,$4=1,Y8=0;;){if(oe=Z4+t|0,d4=Y8+O9|0,I5)for(f4=oe+-1|0,yt=2,gt=f4,$i=d4;;){if(ke=gt+2|0,o4=$i+2|0,d3)for(Pe=gt+1|0,I4=y+(Pe<<2)|0,I6=y+(ke<<2)|0,ht=0,ti=o4;z4=+s[I4>>2],fe=ti+-1|0,S4=d+(fe<<2)|0,Se=+s[S4>>2],Ie=Se*z4,z6=+s[I6>>2],F4=d+(ti<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+Ie,mt=I+(fe<<2)|0,s[mt>>2]=xe,Z3=+s[I4>>2],_9=+s[F4>>2],S9=_9*Z3,Oe=+s[I6>>2],s4=+s[S4>>2],d8=s4*Oe,N4=S9-d8,f8=I+(ti<<2)|0,s[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=ke,$i=o4;else break}if(Pt=$4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=oe,$4=Pt,Y8=d4}if(Ot=o5(O9,o)|0,qt=(Ye|0)<(a|0),t8=(b3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,_8=(t|0)>2,j4=1,dt=0,Hi=Ot;;){if(Q0=dt+O9|0,w0=Hi-O9|0,i8)for(Ze=0,li=Q0,ci=w0;;){if(_8)for(D4=2,ii=li,Si=ci;B0=ii+2|0,x0=Si+2|0,R0=ii+1|0,v0=I+(R0<<2)|0,N0=+s[v0>>2],U0=Si+1|0,O0=I+(U0<<2)|0,H0=+s[O0>>2],S0=H0+N0,J0=d+(R0<<2)|0,s[J0>>2]=S0,T0=I+(B0<<2)|0,M0=+s[T0>>2],W0=I+(x0<<2)|0,K0=+s[W0>>2],V0=M0-K0,j0=d+(U0<<2)|0,s[j0>>2]=V0,q0=+s[T0>>2],Y0=+s[W0>>2],s1=Y0+q0,z0=d+(B0<<2)|0,s[z0>>2]=s1,r1=+s[O0>>2],L0=+s[v0>>2],d1=r1-L0,u1=d+(x0<<2)|0,s[u1>>2]=d1,p1=D4+2|0,f1=(p1|0)<(t|0),f1;)D4=p1,ii=B0,Si=x0;if(h1=li+t|0,A1=ci+t|0,c1=Ze+1|0,Ke=(c1|0)==(a|0),Ke)break;Ze=c1,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,F9=1,j8=0,qi=Ot;;){if(x=j8+O9|0,M=qi-O9|0,_)for(p4=2,yi=x,vi=M;;){if(L=yi+2|0,F=vi+2|0,Q)for(G=F-t|0,O=L-t|0,Ft=0,Zi=O,f7=G;H=Zi+t|0,V=f7+t|0,t0=H+-1|0,Z=I+(t0<<2)|0,A0=+s[Z>>2],j=V+-1|0,r0=I+(j<<2)|0,s0=+s[r0>>2],K=s0+A0,o0=d+(t0<<2)|0,s[o0>>2]=K,Y=I+(H<<2)|0,h0=+s[Y>>2],e0=I+(V<<2)|0,u0=+s[e0>>2],c0=h0-u0,$0=d+(j<<2)|0,s[$0>>2]=c0,l0=+s[Y>>2],X=+s[e0>>2],m0=X+l0,g0=d+(H<<2)|0,s[g0>>2]=m0,I0=+s[r0>>2],n0=+s[Z>>2],p0=I0-n0,C0=d+(V<<2)|0,s[C0>>2]=p0,b0=Ft+1|0,Mt=(b0|0)==(a|0),!Mt;)Ft=b0,Zi=H,f7=V;if(y0=p4+2|0,D0=(y0|0)<(t|0),D0)p4=y0,yi=L,vi=F;else break}if(E0=F9+1|0,At=(E0|0)==(b3|0),At)break;F9=E0,j8=x,qi=M}}while(!1);if(w=($|0)>0,w)for(be=0;$1=E+(be<<2)|0,X0=e[$1>>2]|0,m1=m+(be<<2)|0,e[m1>>2]=X0,Q1=be+1|0,Kt=(Q1|0)==($|0),!Kt;)be=Q1;if(C1=o5($,o)|0,y1=(b3|0)>1,y1){for(v1=(a|0)>0,Wt=1,Nt=0,Vi=C1;;){if(k1=Nt+O9|0,S1=Vi-O9|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,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],X1=P1+U1,G1=d+(b1<<2)|0,s[G1>>2]=X1,x1=+s[D1>>2],K1=+s[F1>>2],q1=x1-K1,V1=d+(R1<<2)|0,s[V1>>2]=q1,Y1=c8+1|0,a4=(Y1|0)==(a|0),!a4;)c8=Y1,g7=b1,h7=R1;if(t2=Wt+1|0,s8=(t2|0)==(b3|0),s8)break;Wt=t2,Nt=k1,Vi=S1}if(s2=o+-1|0,e2=o5(s2,$)|0,y1){for(O1=(b3|0)>2,Ht=0,Yt=1,et=1,F8=0,Ei=C1;;){if(h2=F8+$|0,Z1=Ei-$|0,I2=Yt*pt,A2=Ht*V8,W1=I2-A2,f2=Ht*pt,c2=Yt*V8,n2=c2+f2,w)for(Qt=0,zi=h2,ui=Z1,Xi=e2,ni=$;g2=m+(Qt<<2)|0,o2=+s[g2>>2],l2=ni+1|0,i2=m+(ni<<2)|0,a2=+s[i2>>2],m2=a2*W1,k2=m2+o2,D2=zi+1|0,S2=E+(zi<<2)|0,s[S2>>2]=k2,y2=Xi+1|0,G2=m+(Xi<<2)|0,M2=+s[G2>>2],O2=M2*n2,p2=ui+1|0,W2=E+(ui<<2)|0,s[W2>>2]=O2,q2=Qt+1|0,E8=(q2|0)==($|0),!E8;)Qt=q2,zi=D2,ui=p2,Xi=y2,ni=l2;if(O1)for(Vt=n2,_t=W1,C8=2,Ji=$,z8=e2;;){if(U2=Ji+$|0,V2=z8-$|0,Z2=_t*W1,A5=Vt*n2,Y2=Z2-A5,N1=Vt*W1,t5=_t*n2,T5=t5+N1,w)for(a8=0,bi=h2,xi=Z1,Li=U2,N8=V2;i5=Li+1|0,x5=m+(Li<<2)|0,m5=+s[x5>>2],b5=m5*Y2,V5=bi+1|0,u5=E+(bi<<2)|0,b2=+s[u5>>2],B5=b2+b5,s[u5>>2]=B5,s5=N8+1|0,F2=m+(N8<<2)|0,R2=+s[F2>>2],Q2=R2*T5,N5=xi+1|0,p5=E+(xi<<2)|0,L5=+s[p5>>2],q5=L5+Q2,s[p5>>2]=q5,M5=a8+1|0,x8=(M5|0)==($|0),!x8;)a8=M5,bi=V5,xi=N5,Li=i5,N8=s5;if(z2=C8+1|0,o8=(z2|0)==(b3|0),o8)break;Vt=T5,_t=Y2,C8=z2,Ji=U2,z8=V2}if(E5=et+1|0,L8=(E5|0)==(b3|0),L8)break;Ht=n2,Yt=W1,et=E5,F8=h2,Ei=Z1}if(y1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(We=0,X8=$5;h5=X8+1|0,Q5=m+(X8<<2)|0,D5=+s[Q5>>2],d5=E+(We<<2)|0,l5=+s[d5>>2],X2=l5+D5,s[d5>>2]=X2,d2=We+1|0,p8=(d2|0)==($|0),!p8;)We=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(K2=(t|0)>0,K2)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+k9|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(K4=0,Yi=O4,Ki=Ci;R5=Yi+1|0,e5=I+(Yi<<2)|0,c5=e[e5>>2]|0,T2=Ki+1|0,v5=g+(Ki<<2)|0,e[v5>>2]=c5,z5=K4+1|0,Lt=(z5|0)==(t|0),!Lt;)K4=z5,Yi=R5,Ki=T2;if(i3=O4+t|0,C5=Ci+k9|0,I3=Tt+1|0,x9=(I3|0)==(a|0),x9)break;Tt=I3,O4=i3,Ci=C5}if(f3=t<<1,w3=o5(O9,o)|0,y1)for(e6=(a|0)>0,$8=1,M8=0,Qi=0,Wi=w3;;){if(X5=M8+f3|0,_3=Qi+O9|0,t3=Wi-O9|0,e6)for(b9=0,ri=X5,Di=_3,t7=t3;a6=I+(Di<<2)|0,G3=e[a6>>2]|0,V3=ri+-1|0,c3=g+(V3<<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+k9|0,Y5=Di+t|0,S5=t7+t|0,Y3=b9+1|0,Et=(Y3|0)==(a|0),!Et;)b9=Y3,ri=H5,Di=Y5,t7=S5;if(U5=$8+1|0,J4=(U5|0)==(b3|0),J4)break;$8=U5,M8=X5,Qi=_3,Wi=t3}if(!me){if(l6=(Ye|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+O9|0,r6=d7-O9|0,!xt)for(g8=0,e7=C6,hi=D3,x4=A6,di=r6;;){for(ae=2;d6=t-ae|0,m3=ae+x4|0,L6=m3+-1|0,M6=I+(L6<<2)|0,S6=+s[M6>>2],n6=ae+di|0,f6=n6+-1|0,b6=I+(f6<<2)|0,N6=+s[b6>>2],j6=N6+S6,v6=ae+hi|0,R3=v6+-1|0,s6=g+(R3<<2)|0,s[s6>>2]=j6,B6=+s[M6>>2],K3=+s[b6>>2],F3=B6-K3,W3=d6+e7|0,t6=W3+-1|0,R6=g+(t6<<2)|0,s[R6>>2]=F3,c6=I+(m3<<2)|0,o3=+s[c6>>2],J6=I+(n6<<2)|0,g6=+s[J6>>2],y6=g6+o3,T3=g+(v6<<2)|0,s[T3>>2]=y6,H6=+s[J6>>2],$6=+s[c6>>2],D6=H6-$6,G6=g+(W3<<2)|0,s[G6>>2]=D6,e9=ae+2|0,Q6=(e9|0)<(t|0),Q6;)ae=e9;if(z3=e7+k9|0,j5=hi+k9|0,M3=x4+t|0,h3=di+t|0,J3=g8+1|0,r8=(J3|0)==(a|0),r8)break;g8=J3,e7=z3,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,A4=1,l4=n3,u7=0,ki=0,ji=w3;;){if(r9=l4+f3|0,V6=u7+f3|0,o9=ki+O9|0,g9=ji-O9|0,l3&&(U6=r9+t|0,U3))for(P4=2;;){for(Re=P4+g9|0,Fe=P4+o9|0,Ge=P4+V6|0,qe=U6-P4|0,jt=0,_i=qe,J8=Ge,Mi=Fe,$9=Re;t9=Mi+-1|0,_6=I+(t9<<2)|0,P6=+s[_6>>2],O6=$9+-1|0,s9=I+(O6<<2)|0,h9=+s[s9>>2],n9=h9+P6,C9=J8+-1|0,B9=g+(C9<<2)|0,s[B9>>2]=n9,y9=+s[_6>>2],d9=+s[s9>>2],f9=y9-d9,V9=_i+-1|0,q6=g+(V9<<2)|0,s[q6>>2]=f9,a9=I+(Mi<<2)|0,Y9=+s[a9>>2],Q9=I+($9<<2)|0,Qe=+s[Q9>>2],ge=Qe+Y9,pe=g+(J8<<2)|0,s[pe>>2]=ge,z9=+s[Q9>>2],re=+s[a9>>2],R9=z9-re,K6=g+(_i<<2)|0,s[K6>>2]=R9,A9=_i+k9|0,we=J8+k9|0,Me=Mi+t|0,ue=$9+t|0,D9=jt+1|0,zt=(D9|0)==(a|0),!zt;)jt=D9,_i=A9,J8=we,Mi=Me,$9=ue;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(ve=A4+1|0,Jt=(ve|0)==(b3|0),Jt)break;A4=ve,l4=r9,u7=V6,ki=o9,ji=g9}}}function sD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,y8=0,G8=0,nn=0,kr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,Sr=0,$n=0,Bs=0,ys=0,ln=0,I7=0,ro=0,Qs=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,br=0,un=0,Ts=0,or=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dr=0,Io=0,p7=0,fn=0,_r=0,sr=0,xr=0,K7=0,Lr=0,mo=0,W7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,ar=0,Ar=0,Rr=0,E7=0,Os=0,fi=0,Al=0,In=0,mn=0,Ou=0,$l=0,qs=0,qu=0,lA=0,ll=0,Hu=0,Vu=0,Yu=0,cA=0,cl=0,gl=0,gA=0,pn=0,ul=0,zu=0,Hs=0,$r=0,Ju=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,hl=0,Fr=0,nh=0,oh=0,dl=0,sh=0,uA=0,Vs=0,hA=0,ah=0,Ah=0,dA=0,fl=0,Il=0,ml=0,fA=0,pl=0,Ys=0,$h=0,lh=0,El=0,ch=0,gh=0,Cl=0,uh=0,hh=0,Bl=0,yl=0,Ql=0,wl=0,vl=0,En=0,dh=0,kl=0,fh=0,Sl=0,bl=0,Ih=0,mh=0,ph=0,IA=0,Dl=0,_l=0,po=0,xl=0,mA=0,Eh=0,Ll=0,Ch=0,Ml=0,Bh=0,yh=0,Rl=0,Fl=0,Qh=0,zs=0,wh=0,pA=0,Tl=0,Nl=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Js=0,Gl=0,Ul=0,Pl=0,Ks=0,xh=0,Ol=0,Lh=0,ql=0,Mh=0,Rh=0,Hl=0,EA=0,Fh=0,Th=0,Ws=0,Nh=0,Zs=0,Gh=0,CA=0,Uh=0,Ph=0,Oh=0,Vl=0,qh=0,Hh=0,Vh=0,Yh=0,Yl=0,zl=0,lr=0,Jl=0,js=0,BA=0,yA=0,Cn=0,Kl=0,Bn=0,zh=0,Wl=0,Jh=0,Kh=0,Wh=0,Zh=0,Xs=0,QA=0,Tr=0,jh=0,Xh=0,Zl=0,wA=0,jl=0,Xl=0,ed=0,ec=0,td=0,vA=0,id=0,rd=0,K9=0,nd=0,tc=0,od=0,sd=0,kA=0,ad=0,SA=0,ic=0,Ad=0,$d=0,rc=0,nc=0,ld=0,bA=0,DA=0,oc=0,sc=0,cd=0,ac=0,_A=0,gd=0,Ac=0,ud=0,hd=0,dd=0,fd=0,$c=0,lc=0,xA=0,ea=0,cc=0,Id=0,gc=0,uc=0,md=0,pd=0,Ed=0,hc=0,Cd=0,Bd=0,yd=0,Qd=0,wd=0,vd=0,dc=0,kd=0,fc=0,Sd=0,yn=0,bd=0,Ic=0,Dd=0,Eo=0,mc=0,LA=0,_d=0,ta=0,MA=0,xd=0,RA=0,pc=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,Ec=0,Nd=0,Gd=0,Ud=0,ia=0,Co=0,FA=0,Pd=0,TA=0,Od=0,qd=0,Hd=0,Cc=0,Vd=0,Yd=0,zd=0,Jd=0,Kd=0,ra=0,Wd=0,Zd=0,Bc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,yc=0,B7=0,Qc=0,NA=0,rf=0,r7=0,Bo=0,nf=0,of=0,sf=0,af=0,Af=0,wc=0,$f=0,lf=0,vc=0,cf=0,gf=0,yo=0,GA=0,uf=0,kc=0,hf=0,df=0,na=0,ff=0,If=0,Sc=0,bc=0,mf=0,pf=0,Qn=0,Ef=0,Cf=0,wn=0,Bf=0,Dc=0,yf=0,Qf=0,Qo=0,_c=0,wf=0,xc=0,vf=0,cr=0,UA=0,kf=0,Lc=0,Mc=0,Sf=0,bf=0,Rc=0,Df=0,_f=0,xf=0,Fc=0,Lf=0,wo=0,Mf=0,vn=0,Rf=0,Ff=0,PA=0,Tf=0,OA=0,qA=0,Nf=0,Tc=0,Nc=0,Gf=0,Gc=0,Uc=0,Pc=0,Uf=0,Oc=0,qc=0,Pf=0,Of=0,Hc=0,Vc=0,qf=0,Yc=0,zc=0,Hf=0,Vf=0,Jc=0,HA=0,Kc=0,Wc=0,Zc=0,jc=0,Yf=0,zf=0,Jf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Xc=0,VA=0,eI=0,tI=0,iI=0,eg=0,tg=0,rI=0,ig=0,YA=0,oa=0,rg=0,nI=0,oI=0,sI=0,aI=0,ng=0,sa=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,sg=0,EI=0,CI=0,kn=0,ag=0,Ag=0,zA=0,BI=0,$g=0,yI=0,lg=0,cg=0,QI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,JA=0,bI=0,DI=0,_I=0,xI=0,gg=0,LI=0,ug=0,MI=0,RI=0,hg=0,Nr=0,dg=0,fg=0,FI=0,Ig=0,$a=0,TI=0,NI=0,GI=0,la=0,mg=0,UI=0,PI=0,pg=0,OI=0,qI=0,KA=0,ca=0,HI=0,VI=0,YI=0,Eg=0,Cg=0,Bg=0,zI=0,JI=0,vo=0,KI=0,yg=0,WI=0,WA=0,Qg=0,ZI=0,jI=0,XI=0,em=0,wg=0,tm=0,im=0,vg=0,ga=0,rm=0,nm=0,om=0,ko=0,kg=0,Sg=0,sm=0,bg=0,Dg=0,L7=0,_g=0,gr=0,am=0,Am=0,$m=0,lm=0,ZA=0,ua=0,xg=0,Lg=0,cm=0,ha=0,So=0,gm=0,da=0,jA=0,um=0,XA=0,hm=0,dm=0,Mg=0,fa=0,Rg=0,fm=0,Im=0,mm=0,pm=0,Fg=0,Em=0,oi=0,De=0,n7=0,Cm=0,Tg=0,Ng=0,e$=0,Bm=0,Gr=0,bo=0,ym=0,Qm=0,Gg=0,t$=0,wm=0,Ug=0,Pg=0,Og=0,i$=0,r$=0,qg=0,Do=0,n$=0,Hg=0,vm=0,Sn=0,km=0,Vg=0,Ia=0,Sm=0,Yg=0,M7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,R7=0,Rm=0,Fm=0,Tm=0,zg=0,y7=0,ma=0,o$=0,Jg=0,Kg=0,Nm=0,Wg=0,Zg=0,Gm=0,Um=0,jg=0,Xg=0,Pm=0,Om=0,eu=0,qm=0,_o=0,pa=0,Ea=0,Hm=0,s$=0,Vm=0,Ym=0,tu=0,xo=0,zm=0,Jm=0,a$=0,A$=0,Ca=0,$$=0,l$=0,ur=0,Ur=0,Pr=0,c$=0,g$=0,Lo=0,hr=0,bn=0,Km=0,dr=0,Dn=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,iu=0,ru=0,Qa=0,u$=0,Ni=0,wa=0,Or=0,h$=0,Zm=0,d$=0,jm=0,f$=0,nu=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,_n=0,tt=0,Le=0,ou=0,ip=0,I$=0,su=0,rp=0,np=0,ba=0,op=0,sp=0,ap=0,Ap=0,au=0,$p=0,lp=0,cp=0,o7=0,Da=0,xn=0,m$=0,Mo=0,Ro=0,si=0,Fo=0,Au=0,$u=0,_a=0,To=0,No=0,Go=0,gp=0,Uo=0,fr=0,lu=0,qr=0,s7=0,p$=0,E$=0,Z7=0,C$=0,B$=0,y$=0,Hr=0,h6=0,xa=0,Vr=0,cu=0,L4=0,Q$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Yr=0,je=0,w$=0,UC=0,up=0,lE=0,cE=0,PC=0,hp=0,Xy=0,eQ=0,tQ=0,iQ=0,rQ=0,nQ=0,oQ=0,sQ=0,aQ=0,AQ=0,$Q=0,lQ=0,OC=0,qC=0,cQ=0,gQ=0,uQ=0,gu=0,gE=0,Q7=0,uu=0,hu=0,du=0,fu=0,dp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,yp=0,Qp=0,uE=0,La=0,Ir=0,v$=0,Iu=0,k$=0,HC=0,Ma=0,wp=0,S$=0,hE=0,dE=0,vp=0,fE=0,IE=0,mE=0,pE=0,EE=0,CE=0,BE=0,VC=0,YC=0,zC=0,JC=0,KC=0,Ra=0,Fa=0,Ta=0,Na=0,hQ=0,mr=0,$e=0,RD=0,Ga=0,yE=0;if(RD=C,I0=t+28|0,n0=e[I0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,mo=e[ui>>2]|0,Gl=(mo|0)==0,o=Gl&1,Eo=n0+3496|0,Gc=+l1[Eo>>3],Eg=Gc>-80,Eg?l1[Eo>>3]=-80:(Um=Gc<-200,Um&&(l1[Eo>>3]=-200)),d0=n0+3512|0,j2=+l1[d0>>3],A3=j2>0,A3?l1[d0>>3]=0:(ve=j2<-99999,ve&&(l1[d0>>3]=-99999)),V4=n0+3396|0,T6=e[V4>>2]|0,Pe=(T6|0)==0,Pe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=T6+24|0,L8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,A4=~~i8,jt=L8+(A4<<2)|0,V8=e[jt>>2]|0,Xt=P4+(A4<<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,cs=(B8|0)>0,cs){for(Is=T6+136|0,Cs=T6+140|0,oo=T6+148|0,or=i8,Tr=n0,uE=0;;){if(_s=~~or,fo=e[Is>>2]|0,W7=e[Cs>>2]|0,fi=e[oo>>2]|0,Vu=fi+(uE<<2)|0,Ju=e[Vu>>2]|0,Fr=le(1,1120)|0,fl=Ju+(_s<<2)|0,Cl=e[fl>>2]|0,fh=W7+(Cl*1120|0)|0,ce(Fr|0,fh|0,1120)|0,mA=e[Fr>>2]|0,wh=(mA|0)>0,wh){for(Ul=Fr+4|0,gE=0,BE=-1;;)if(_A=Ul+(gE<<2)|0,cc=e[_A>>2]|0,Qd=(cc|0)>(BE|0),A0=Qd?cc:BE,mc=gE+1|0,$Q=(mc|0)==(mA|0),$Q){j=A0;break}else gE=mc,BE=A0;if(Fh=(j|0)<0,!Fh){for(qh=Fr+256|0,Cn=Tr+24|0,id=Fr+192|0,Ad=Fr+320|0,k$=0,mE=-1;;){if(Mc=qh+(k$<<2)|0,vn=e[Mc>>2]|0,Uc=(vn|0)>(mE|0),t0=Uc?vn:mE,zc=e[Cn>>2]|0,Jf=zc+vn|0,e[Mc>>2]=Jf,eg=id+(k$<<2)|0,ng=e[eg>>2]|0,fI=(ng|0)==31,fI)pE=t0;else for(D9=ng,fE=0,CE=t0;;)if(zA=(Ad+(k$<<5)|0)+(fE<<2)|0,Aa=e[zA>>2]|0,hg=(Aa|0)>(CE|0),Z=hg?Aa:CE,mg=(Aa|0)>-1,mg?(Cg=e[Cn>>2]|0,jI=Cg+Aa|0,e[zA>>2]=jI,s0=e[eg>>2]|0,jA=s0):jA=D9,ko=fE+1|0,$m=1<>2]|0,rf=e[Zd>>2]|0,vc=e[Cn>>2]|0,If=vc+1|0,e[Cn>>2]=If,yf=(Tr+1824|0)+(vc<<2)|0,e[yf>>2]=rf,oQ=(EE|0)==0,!oQ))for(HC=0;r$=HC+1|0,i0=e[fl>>2]|0,Yg=fo+(i0<<2)|0,Tm=e[Yg>>2]|0,jg=Tm+(r$<<2)|0,Vm=e[jg>>2]|0,ur=e[Cn>>2]|0,Wm=ur+1|0,e[Cn>>2]=Wm,wa=(Tr+1824|0)+(ur<<2)|0,e[wa>>2]=Vm,nQ=(r$|0)==(EE|0),!nQ;)HC=r$}}if(ka=Tr+16|0,np=e[ka>>2]|0,Da=(Tr+800|0)+(np<<2)|0,e[Da>>2]=1,No=e[ka>>2]|0,C$=(Tr+1056|0)+(No<<2)|0,e[C$>>2]=Fr,p0=e[ka>>2]|0,R0=p0+1|0,e[ka>>2]=R0,W0=uE+1|0,d1=e[ni>>2]|0,m1=(W0|0)<(d1|0),!m1)break;r0=+l1[N4>>3],l0=e[I0>>2]|0,or=r0,Tr=l0,uE=W0}m0=e[I0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,V1=+l1[R1>>3],$2=T6+124|0,r2=e[$2>>2]|0,J2=T6+128|0,m5=e[J2>>2]|0,N5=~~V1,D5=+(N5|0),n5=V1-D5,W5=X5+2868|0,H5=m5+(N5<<3)|0,L3=+l1[H5>>3],x6=~~L3,o6=r2+(x6*492|0)|0,ce(W5|0,o6|0,492)|0,g6=+l1[H5>>3],r9=1-n5,O6=g6*r9,q6=N5+1|0,K6=m5+(q6<<3)|0,Re=+l1[K6>>3],Fe=Re*n5,Ge=Fe+O6,qe=~~Ge,r4=+(qe|0),He=Ge-r4,J9=He==0,Ve=(qe|0)>0,VC=Ve&J9,I=VC?1:He,he=VC<<31>>31,F=he+qe|0,Ue=1-I,Ee=F+1|0,v4=(r2+(F*492|0)|0)+4|0,Z9=+s[v4>>2],v9=Z9,k4=Ue*v9,nt=(r2+(Ee*492|0)|0)+4|0,Ye=+s[nt>>2],Y4=Ye,ze=I*Y4,n4=k4+ze,R4=n4,ot=X5+2872|0,s[ot>>2]=R4,ne=(r2+(F*492|0)|0)+32|0,u4=+s[ne>>2],Ce=u4,Je=Ue*Ce,O9=(r2+(Ee*492|0)|0)+32|0,de=+s[O9>>2],Te=de,h4=I*Te,oe=Je+h4,d4=oe,f4=X5+2900|0,s[f4>>2]=d4,ke=(r2+(F*492|0)|0)+8|0,o4=+s[ke>>2],I4=o4,k9=Ue*I4,I6=(r2+(Ee*492|0)|0)+8|0,z4=+s[I6>>2],fe=z4,S4=I*fe,Se=k9+S4,Ie=Se,z6=X5+2876|0,s[z6>>2]=Ie,F4=(r2+(F*492|0)|0)+36|0,st=+s[F4>>2],me=st,xe=Ue*me,mt=(r2+(Ee*492|0)|0)+36|0,Z3=+s[mt>>2],_9=Z3,S9=_9*I,Oe=S9+xe,s4=Oe,d8=X5+2904|0,s[d8>>2]=s4,f8=(r2+(F*492|0)|0)+12|0,D8=+s[f8>>2],e8=D8,I8=e8*Ue,m8=(r2+(Ee*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,_8=X5+2880|0,s[_8>>2]=t8,Ht=(r2+(F*492|0)|0)+40|0,Vt=+s[Ht>>2],Yt=Vt,_t=Yt*Ue,xt=(r2+(Ee*492|0)|0)+40|0,pt=+s[xt>>2],zt=pt,Jt=zt*I,r8=Jt+_t,J4=r8,G4=X5+2908|0,s[G4>>2]=J4,at=(r2+(F*492|0)|0)+16|0,Lt=+s[at>>2],x9=Lt,p8=x9*Ue,b4=(r2+(Ee*492|0)|0)+16|0,E8=+s[b4>>2],x8=E8,o8=x8*I,a4=o8+p8,s8=a4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(r2+(F*492|0)|0)+44|0,At=+s[Mt>>2],Ke=At,U4=Ke*Ue,$t=(r2+(Ee*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,se=Rt*I,lt=se+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,yt=X5+3512|0,p4=+l1[yt>>3],D4=p4,K4=X5+2936|0,s[K4>>2]=D4,W4=T6+132|0,ae=e[W4>>2]|0,E4=n0+3472|0,gt=+l1[E4>>3],_4=gt,be=~~_4,Qt=+(be|0),a8=_4-Qt,We=a8,C3=e[I0>>2]|0,Z4=(ae|0)==0;e:do if(Z4)wt=C3+4|0,j9=e[C3>>2]|0,$4=C3+3240|0,e[$4>>2]=j9,F9=e[wt>>2]|0,j4=C3+3300|0,e[j4>>2]=F9,Wt=C3+3244|0,e[Wt>>2]=j9,C8=C3+3304|0,e[C8>>2]=F9,A8=C3+3248|0,e[A8>>2]=j9,$8=C3+3308|0,e[$8>>2]=F9,Zt=C3+3252|0,e[Zt>>2]=j9,l8=C3+3312|0,e[l8>>2]=F9,ut=C3+3256|0,e[ut>>2]=j9,ht=C3+3316|0,e[ht>>2]=F9,Ft=C3+3260|0,e[Ft>>2]=j9,Ze=C3+3320|0,e[Ze>>2]=F9,c8=C3+3264|0,e[c8>>2]=j9,Tt=C3+3324|0,e[Tt>>2]=F9,X4=C3+3268|0,e[X4>>2]=j9,b9=C3+3328|0,e[b9>>2]=F9,g8=C3+3272|0,e[g8>>2]=j9,et=C3+3332|0,e[et>>2]=F9,Z8=C3+3276|0,e[Z8>>2]=j9,M8=C3+3336|0,e[M8>>2]=F9,u8=C3+3280|0,e[u8>>2]=j9,R8=C3+3340|0,e[R8>>2]=F9,l4=C3+3284|0,e[l4>>2]=j9,Y8=C3+3344|0,e[Y8>>2]=F9,j8=C3+3288|0,e[j8>>2]=j9,dt=C3+3348|0,e[dt>>2]=F9,Nt=C3+3292|0,e[Nt>>2]=j9,F8=C3+3352|0,e[F8>>2]=F9,O4=C3+3296|0,e[O4>>2]=j9,C4=C3+3356|0,e[C4>>2]=F9;else{Ae=C3+3120|0,T8=ae+(be*240|0)|0,mr=Ae,Ga=T8,yE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(yE|0));$i=C3+3180|0,qi=(ae+(be*240|0)|0)+60|0,mr=$i,Ga=qi,yE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(yE|0));if(Hi=n0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(X8=1-We,ei=be+1|0,Bi=t+8|0,ti=C3+4|0,o0=e[Bi>>2]|0,yi=+(o0|0),Ir=0;;){if(li=((ae+(be*240|0)|0)+120|0)+(Ir<<2)|0,g7=+s[li>>2],Yi=g7,Qi=Yi*X8,wi=((ae+(ei*240|0)|0)+120|0)+(Ir<<2)|0,u7=+s[wi>>2],ci=u7,h7=ci*We,zi=h7+Qi,Ji=zi,Ki=Ji,Wi=Ki*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=~~Ji,e7=(C3+2940|0)+(Ir<<2)|0,e[e7>>2]=Di,_i=((ae+(be*240|0)|0)+180|0)+(Ir<<2)|0,xi=+s[_i>>2],t7=xi,hi=t7*X8,J8=((ae+(ei*240|0)|0)+180|0)+(Ir<<2)|0,Li=+s[J8>>2],x4=Li,Mi=x4*We,N8=Mi+hi,di=N8,$9=di,vt=$9*1e3,y8=vt/yi,G8=e[C3>>2]|0,nn=+(G8|0),kr=nn*y8,As=~~kr,zn=(C3+3240|0)+(Ir<<2)|0,e[zn>>2]=As,$s=e[ti>>2]|0,Jn=+($s|0),ls=Jn*y8,Kn=~~ls,gs=(C3+3300|0)+(Ir<<2)|0,e[gs>>2]=Kn,on=Ir+1|0,aQ=(on|0)==15,aQ)break e;Ir=on}for(us=(ae+(be*240|0)|0)+148|0,hs=+s[us>>2],ds=hs,Wn=1-We,fs=ds*Wn,Zn=be+1|0,jn=(ae+(Zn*240|0)|0)+148|0,sn=+s[jn>>2],Xn=sn,an=Xn*We,eo=an+fs,to=eo,ms=to,ps=ms*1e3,Es=t+8|0,An=C3+4|0,io=~~to,h0=e[Es>>2]|0,Sr=+(h0|0),$n=ps/Sr,Iu=0;Bs=e[C3>>2]|0,ys=+(Bs|0),ln=ys*$n,I7=~~ln,ro=(C3+3e3|0)+(Iu<<2)|0,e[ro>>2]=I7,Qs=e[An>>2]|0,ws=+(Qs|0),no=ws*$n,so=~~no,vs=(C3+3060|0)+(Iu<<2)|0,e[vs>>2]=so,m7=(C3+2940|0)+(Iu<<2)|0,e[m7>>2]=io,cn=Iu+1|0,lQ=(cn|0)==15,!lQ;)Iu=cn;for(ks=(ae+(be*240|0)|0)+208|0,ao=+s[ks>>2],Ss=ao,bs=Ss*Wn,Ds=(ae+(Zn*240|0)|0)+208|0,Ao=+s[Ds>>2],xs=Ao,Ls=xs*We,Ms=Ls+bs,$o=Ms,Rs=$o,Fs=Rs*1e3,gn=Fs/Sr,wp=0;br=e[C3>>2]|0,un=+(br|0),Ts=un*gn,Ns=~~Ts,lo=(C3+3240|0)+(wp<<2)|0,e[lo>>2]=Ns,hn=e[An>>2]|0,co=+(hn|0),dn=co*gn,Gs=~~dn,go=(C3+3300|0)+(wp<<2)|0,e[go>>2]=Gs,uo=wp+1|0,sQ=(uo|0)==15,!sQ;)wp=uo}while(!1);for(Us=+l1[N4>>3],ho=T6+92|0,Ps=e[ho>>2]|0,Dr=T6+100|0,Io=e[Dr>>2]|0,p7=T6+108|0,fn=e[p7>>2]|0,_r=e[I0>>2]|0,sr=_r+2852|0,xr=e[sr>>2]|0,K7=~~Us,Lr=_r+28|0,D7=e[Lr>>2]|0,_7=(D7|0)>0,_7||(e[Lr>>2]=1),i7=(xr|0)==0,i7?(x7=le(1,520)|0,e[sr>>2]=x7,Ra=x7):Ra=xr,ce(Ra|0,25784,520)|0,e[Ra>>2]=0,Mr=_r+3460|0,ar=e[Mr>>2]|0,Ar=(ar|0)==0,Ar||(Rr=Ra+500|0,e[Rr>>2]=1,E7=Ps+(K7<<2)|0,Os=e[E7>>2]|0,Al=Ra+504|0,e[Al>>2]=Os,In=Io+(K7<<2)|0,mn=e[In>>2]|0,Ou=Ra+508|0,e[Ou>>2]=mn,$l=fn+(K7<<3)|0,qs=+l1[$l>>3],qu=Ra+512|0,l1[qu>>3]=qs),lA=+l1[N4>>3],ll=e[ho>>2]|0,Hu=e[Dr>>2]|0,Yu=e[p7>>2]|0,cA=e[I0>>2]|0,cl=cA+2856|0,gl=e[cl>>2]|0,gA=~~lA,pn=cA+28|0,ul=e[pn>>2]|0,zu=(ul|0)>1,zu||(e[pn>>2]=2),Hs=(gl|0)==0,Hs?($r=le(1,520)|0,e[cl>>2]=$r,Fa=$r):Fa=gl,ce(Fa|0,25784,520)|0,e[Fa>>2]=0,Ku=cA+3460|0,Wu=e[Ku>>2]|0,Zu=(Wu|0)==0,Zu||(ju=Fa+500|0,e[ju>>2]=1,Xu=ll+(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,hl=Fa+508|0,e[hl>>2]=rh,nh=Yu+(gA<<3)|0,oh=+l1[nh>>3],dl=Fa+512|0,l1[dl>>3]=oh),z8||(sh=+l1[N4>>3],uA=T6+96|0,Vs=e[uA>>2]|0,hA=T6+104|0,ah=e[hA>>2]|0,Ah=e[p7>>2]|0,dA=e[I0>>2]|0,Il=dA+2860|0,ml=e[Il>>2]|0,fA=~~sh,pl=dA+28|0,Ys=e[pl>>2]|0,$h=(Ys|0)>2,$h||(e[pl>>2]=3),lh=(ml|0)==0,lh?(El=le(1,520)|0,e[Il>>2]=El,Ta=El):Ta=ml,ce(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,Bl=Vs+(fA<<2)|0,yl=e[Bl>>2]|0,Ql=Ta+504|0,e[Ql>>2]=yl,wl=ah+(fA<<2)|0,vl=e[wl>>2]|0,En=Ta+508|0,e[En>>2]=vl,dh=Ah+(fA<<3)|0,kl=+l1[dh>>3],Sl=Ta+512|0,l1[Sl>>3]=kl),bl=+l1[N4>>3],Ih=e[uA>>2]|0,mh=e[hA>>2]|0,ph=e[p7>>2]|0,IA=e[I0>>2]|0,Dl=IA+2864|0,_l=e[Dl>>2]|0,po=~~bl,xl=IA+28|0,Eh=e[xl>>2]|0,Ll=(Eh|0)>3,Ll||(e[xl>>2]=4),Ch=(_l|0)==0,Ch?(Ml=le(1,520)|0,e[Dl>>2]=Ml,Na=Ml):Na=_l,ce(Na|0,25784,520)|0,e[Na>>2]=1,Bh=IA+3460|0,yh=e[Bh>>2]|0,Rl=(yh|0)==0,Rl||(Fl=Na+500|0,e[Fl>>2]=1,Qh=Ih+(po<<2)|0,zs=e[Qh>>2]|0,pA=Na+504|0,e[pA>>2]=zs,Tl=mh+(po<<2)|0,Nl=e[Tl>>2]|0,vh=Na+508|0,e[vh>>2]=Nl,kh=ph+(po<<3)|0,Sh=+l1[kh>>3],bh=Na+512|0,l1[bh>>3]=Sh)),Dh=(n0+3528|0)+(o<<5)|0,_h=+l1[Dh>>3],Js=T6+32|0,Pl=e[Js>>2]|0,Ks=T6+36|0,xh=e[Ks>>2]|0,Ol=T6+44|0,Lh=e[Ol>>2]|0,oE(t,_h,0,Pl,xh,Lh),ql=n0+3560|0,Mh=+l1[ql>>3],Rh=e[Js>>2]|0,Hl=e[Ks>>2]|0,EA=T6+52|0,Th=e[EA>>2]|0,oE(t,Mh,1,Rh,Hl,Th),z8||(Ws=n0+3592|0,Nh=+l1[Ws>>3],Zs=e[Js>>2]|0,Gh=e[Ks>>2]|0,CA=e[EA>>2]|0,oE(t,Nh,2,Zs,Gh,CA),Uh=n0+3624|0,Ph=+l1[Uh>>3],Oh=e[Js>>2]|0,Vl=e[Ks>>2]|0,Hh=T6+48|0,Vh=e[Hh>>2]|0,oE(t,Ph,3,Oh,Vl,Vh)),Yh=((n0+3528|0)+(o<<5)|0)+24|0,Yl=+l1[Yh>>3],zl=T6+80|0,lr=e[zl>>2]|0,Jl=T6+84|0,js=e[Jl>>2]|0,BA=~~Yl,yA=+(BA|0),Kl=Yl-yA,Bn=e[I0>>2]|0,zh=Bn+2852|0,Wl=e[zh>>2]|0,Jh=js+(BA<<3)|0,Kh=+l1[Jh>>3],Wh=1-Kl,Zh=Kh*Wh,Xs=BA+1|0,QA=js+(Xs<<3)|0,jh=+l1[QA>>3],Xh=jh*Kl,Zl=Xh+Zh,wA=~~Zl,jl=+(wA|0),Xl=Zl-jl,ed=Xl==0,ec=(wA|0)>0,YC=ec&ed,$=YC?1:Xl,td=YC<<31>>31,G=td+wA|0,vA=1-$,rd=G+1|0,uu=0;K9=(lr+(G*160|0)|0)+(uu<<2)|0,nd=e[K9>>2]|0,tc=+(nd|0),od=tc*vA,sd=(lr+(rd*160|0)|0)+(uu<<2)|0,kA=e[sd>>2]|0,ad=+(kA|0),SA=ad*$,ic=SA+od,$d=ic,rc=(Wl+336|0)+(uu<<2)|0,s[rc>>2]=$d,nc=uu+1|0,eQ=(nc|0)==40,!eQ;)uu=nc;for(ld=n0+3584|0,bA=+l1[ld>>3],DA=~~bA,oc=+(DA|0),sc=bA-oc,cd=Bn+2856|0,ac=e[cd>>2]|0,gd=js+(DA<<3)|0,Ac=+l1[gd>>3],ud=1-sc,hd=Ac*ud,dd=DA+1|0,fd=js+(dd<<3)|0,$c=+l1[fd>>3],lc=$c*sc,xA=lc+hd,ea=~~xA,Id=+(ea|0),gc=xA-Id,uc=gc==0,md=(ea|0)>0,zC=md&uc,g=zC?1:gc,pd=zC<<31>>31,O=pd+ea|0,Ed=1-g,hc=O+1|0,hu=0;Cd=(lr+(O*160|0)|0)+(hu<<2)|0,Bd=e[Cd>>2]|0,yd=+(Bd|0),wd=yd*Ed,vd=(lr+(hc*160|0)|0)+(hu<<2)|0,dc=e[vd>>2]|0,kd=+(dc|0),fc=kd*g,Sd=fc+wd,yn=Sd,bd=(ac+336|0)+(hu<<2)|0,s[bd>>2]=yn,Ic=hu+1|0,tQ=(Ic|0)==40,!tQ;)hu=Ic;if(!z8){for(Dd=n0+3616|0,LA=+l1[Dd>>3],_d=T6+88|0,ta=e[_d>>2]|0,MA=~~LA,xd=+(MA|0),RA=LA-xd,pc=Bn+2860|0,Ld=e[pc>>2]|0,Md=ta+(MA<<3)|0,Rd=+l1[Md>>3],Td=1-RA,Ec=Rd*Td,Nd=MA+1|0,Gd=ta+(Nd<<3)|0,Ud=+l1[Gd>>3],ia=Ud*RA,Co=ia+Ec,FA=~~Co,Pd=+(FA|0),TA=Co-Pd,qd=TA==0,Hd=(FA|0)>0,JC=Hd&qd,d=JC?1:TA,Cc=JC<<31>>31,H=Cc+FA|0,Vd=1-d,Yd=H+1|0,du=0;zd=(lr+(H*160|0)|0)+(du<<2)|0,Jd=e[zd>>2]|0,Kd=+(Jd|0),ra=Kd*Vd,Wd=(lr+(Yd*160|0)|0)+(du<<2)|0,Bc=e[Wd>>2]|0,jd=+(Bc|0),Xd=jd*d,ef=Xd+ra,tf=ef,C7=(Ld+336|0)+(du<<2)|0,s[C7>>2]=tf,yc=du+1|0,iQ=(yc|0)==40,!iQ;)du=yc;for(B7=n0+3648|0,Qc=+l1[B7>>3],NA=~~Qc,r7=+(NA|0),Bo=Qc-r7,nf=Bn+2864|0,of=e[nf>>2]|0,sf=ta+(NA<<3)|0,af=+l1[sf>>3],Af=1-Bo,wc=af*Af,$f=NA+1|0,lf=ta+($f<<3)|0,cf=+l1[lf>>3],gf=cf*Bo,yo=gf+wc,GA=~~yo,uf=+(GA|0),kc=yo-uf,hf=kc==0,df=(GA|0)>0,KC=df&hf,m=KC?1:kc,na=KC<<31>>31,V=na+GA|0,ff=1-m,Sc=V+1|0,fu=0;bc=(lr+(V*160|0)|0)+(fu<<2)|0,mf=e[bc>>2]|0,pf=+(mf|0),Qn=pf*ff,Ef=(lr+(Sc*160|0)|0)+(fu<<2)|0,Cf=e[Ef>>2]|0,wn=+(Cf|0),Bf=wn*m,Dc=Bf+Qn,Qf=Dc,Qo=(of+336|0)+(fu<<2)|0,s[Qo>>2]=Qf,_c=fu+1|0,rQ=(_c|0)==40,!rQ;)fu=_c}for(wf=((n0+3528|0)+(o<<5)|0)+8|0,xc=+l1[wf>>3],vf=T6+40|0,cr=e[vf>>2]|0,UA=~~xc,kf=+(UA|0),Lc=xc-kf,Sf=cr+(UA<<2)|0,bf=e[Sf>>2]|0,Rc=+(bf|0),Df=1-Lc,_f=Rc*Df,xf=UA+1|0,Fc=cr+(xf<<2)|0,Lf=e[Fc>>2]|0,wo=+(Lf|0),Mf=wo*Lc,Rf=Mf+_f,Ff=Rf,PA=Wl+32|0,s[PA>>2]=Ff,Tf=n0+3568|0,OA=+l1[Tf>>3],qA=~~OA,Nf=+(qA|0),Tc=OA-Nf,Nc=cr+(qA<<2)|0,Gf=e[Nc>>2]|0,Pc=+(Gf|0),Uf=1-Tc,Oc=Pc*Uf,qc=qA+1|0,Pf=cr+(qc<<2)|0,Of=e[Pf>>2]|0,Hc=+(Of|0),Vc=Hc*Tc,qf=Vc+Oc,Yc=qf,Hf=ac+32|0,s[Hf>>2]=Yc,z8||(Vf=n0+3600|0,Jc=+l1[Vf>>3],HA=~~Jc,Kc=+(HA|0),Wc=Jc-Kc,Zc=Bn+2860|0,jc=e[Zc>>2]|0,Yf=cr+(HA<<2)|0,zf=e[Yf>>2]|0,Kf=+(zf|0),Wf=1-Wc,Zf=Kf*Wf,jf=HA+1|0,Xf=cr+(jf<<2)|0,Xc=e[Xf>>2]|0,VA=+(Xc|0),eI=VA*Wc,tI=eI+Zf,iI=tI,tg=jc+32|0,s[tg>>2]=iI,rI=n0+3632|0,ig=+l1[rI>>3],YA=~~ig,oa=+(YA|0),rg=ig-oa,nI=Bn+2864|0,oI=e[nI>>2]|0,sI=cr+(YA<<2)|0,aI=e[sI>>2]|0,sa=+(aI|0),AI=1-rg,$I=sa*AI,lI=YA+1|0,cI=cr+(lI<<2)|0,gI=e[cI>>2]|0,uI=+(gI|0),hI=uI*rg,dI=hI+$I,og=dI,II=oI+32|0,s[II>>2]=og),mI=((n0+3528|0)+(o<<5)|0)+16|0,pI=+l1[mI>>3],aa=T6+76|0,sg=e[aa>>2]|0,EI=T6+60|0,CI=e[EI>>2]|0,kn=T6+56|0,ag=e[kn>>2]|0,Gl?$g=0:(Ag=n0+3408|0,BI=+l1[Ag>>3],$g=BI),sE(t,pI,0,sg,CI,ag,$g),yI=n0+3576|0,lg=+l1[yI>>3],cg=e[aa>>2]|0,QI=T6+64|0,wI=e[QI>>2]|0,vI=e[kn>>2]|0,sE(t,lg,1,cg,wI,vI,0),z8?(vo=e[I0>>2]|0,KI=vo+2852|0,yg=e[KI>>2]|0,WI=vo+3496|0,WA=+l1[WI>>3],Qg=WA,ZI=yg+4|0,s[ZI>>2]=Qg,XI=vo+3504|0,em=+l1[XI>>3],wg=em,tm=yg+8|0,s[tm>>2]=wg,im=vo+2856|0,vg=e[im>>2]|0,ga=vg+4|0,s[ga>>2]=Qg,rm=vg+8|0,s[rm>>2]=wg,gr=vo):(kI=n0+3608|0,SI=+l1[kI>>3],JA=e[aa>>2]|0,bI=T6+68|0,DI=e[bI>>2]|0,_I=e[kn>>2]|0,sE(t,SI,2,JA,DI,_I,0),xI=n0+3640|0,gg=+l1[xI>>3],LI=e[aa>>2]|0,ug=T6+72|0,MI=e[ug>>2]|0,RI=e[kn>>2]|0,sE(t,gg,3,LI,MI,RI,0),Nr=e[I0>>2]|0,dg=Nr+2852|0,fg=e[dg>>2]|0,FI=Nr+3496|0,Ig=+l1[FI>>3],$a=Ig,TI=fg+4|0,s[TI>>2]=$a,NI=Nr+3504|0,GI=+l1[NI>>3],la=GI,UI=fg+8|0,s[UI>>2]=la,PI=Nr+2856|0,pg=e[PI>>2]|0,OI=pg+4|0,s[OI>>2]=$a,qI=pg+8|0,s[qI>>2]=la,KA=Nr+2860|0,ca=e[KA>>2]|0,HI=ca+4|0,s[HI>>2]=$a,VI=ca+8|0,s[VI>>2]=la,YI=Nr+2864|0,Bg=e[YI>>2]|0,zI=Bg+4|0,s[zI>>2]=$a,JI=Bg+8|0,s[JI>>2]=la,gr=Nr),nm=+l1[N4>>3],om=T6+152|0,kg=e[om>>2]|0,Sg=~~nm,sm=kg+(Sg<<3)|0,bg=e[sm>>2]|0,Dg=(kg+(Sg<<3)|0)+4|0,L7=e[Dg>>2]|0,_g=e[gr>>2]|0,am=gr+4|0,Am=e[am>>2]|0,lm=(_g|0)==(Am|0),a=lm?1:2,ZA=gr+8|0,ua=gr+12|0,xg=t+8|0,Lg=t+4|0,Q7=0;;){if(cm=le(1,3208)|0,ha=(gr+544|0)+(Q7<<2)|0,e[ha>>2]=cm,So=le(1,16)|0,gm=(gr+32|0)+(Q7<<2)|0,e[gm>>2]=So,da=26304+(Q7<<4)|0,e[So>>2]=e[da>>2]|0,e[So+4>>2]=e[da+4>>2]|0,e[So+8>>2]=e[da+8>>2]|0,e[So+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,Mg=e[ha>>2]|0,fa=bg+(Q7*3208|0)|0,ce(Mg|0,fa|0,3208)|0,Rg=e[ua>>2]|0,fm=(Q7|0)<(Rg|0),fm||(Im=Q7+1|0,e[ua>>2]=Im),mm=e[fa>>2]|0,Fg=(mm|0)>0,Fg)for(dE=0;;){Em=((bg+(Q7*3208|0)|0)+1092|0)+(dE<<2)|0,oi=e[Em>>2]|0,De=e[I0>>2]|0,n7=M9(2840)|0,Cm=(De+1568|0)+(oi<<2)|0,e[Cm>>2]=n7,Tg=(L7+(oi<<5)|0)+12|0,Ng=e[Tg>>2]|0,ce(n7|0,Ng|0,2840)|0,e$=De+20|0,Bm=e[e$>>2]|0,bo=(Bm|0)>(oi|0),bo||(ym=oi+1|0,e[e$>>2]=ym),Qm=(L7+(oi<<5)|0)+8|0,Gg=e[Qm>>2]|0,t$=n7+8|0,e[t$>>2]=Gg,wm=L7+(oi<<5)|0,Ug=e[wm>>2]|0,Pg=(De+1312|0)+(oi<<2)|0,e[Pg>>2]=Ug,Og=De+3420|0,i$=e[Og>>2]|0,qg=(i$|0)==0,Do=n7+12|0,n$=e[Do>>2]|0,Hg=(n$|0)>0;do if(qg){if(Hg)for(Vg=(L7+(oi<<5)|0)+24|0,Ia=e[Vg>>2]|0,Sm=n7+24|0,Ma=0;;)if(dr=Sm+(Ma<<2)|0,Dn=Ia+(Ma<<4)|0,Ri=e[Dn>>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,iu=e[ya>>2]|0,ru=(iu|0)==0,ru||(b2=e[dr>>2]|0,B5=b2|2,e[dr>>2]=B5),s5=(Ia+(Ma<<4)|0)+8|0,F2=e[s5>>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,L5=e[p5>>2]|0,q5=(L5|0)==0,q5||(M5=e[dr>>2]|0,z2=M5|8,e[dr>>2]=z2),E5=Ma+1|0,$5=e[Do>>2]|0,h5=(E5|0)<($5|0),h5)Ma=E5;else{Sa=$5;break}else Sa=n$;Qa=(L7+(oi<<5)|0)+16|0,u$=e[Qa>>2]|0,Ni=De+24|0,Or=e[Ni>>2]|0,h$=(Or|0)>0,Zm=u$;e:do if(h$)for(Qp=0;;){if(d$=(De+1824|0)+(Qp<<2)|0,jm=e[d$>>2]|0,f$=(jm|0)==(u$|0),f$){L=Qp;break e}if(nu=Qp+1|0,va=(nu|0)<(Or|0),va)Qp=nu;else{$e=116;break}}else $e=116;while(!1);if(($e|0)==116&&($e=0,Xm=Or+1|0,e[Ni>>2]=Xm,L=Or),ep=n7+20|0,e[ep>>2]=L,tp=(De+1824|0)+(L<<2)|0,e[tp>>2]=Zm,_n=(Sa|0)>0,!_n)break;for(tt=(L7+(oi<<5)|0)+24|0,Le=n7+280|0,Yr=0,S$=0;;){if(ou=e[tt>>2]|0,ip=ou+(S$<<4)|0,I$=e[ip>>2]|0,su=(I$|0)==0,rp=I$,su)Mo=ou,up=Yr;else{ba=e[Ni>>2]|0,op=(ba|0)>0;e:do if(op)for(pp=0;;){if(sp=(De+1824|0)+(pp<<2)|0,ap=e[sp>>2]|0,Ap=(ap|0)==(I$|0),Ap){M=pp;break e}if(au=pp+1|0,$p=(au|0)<(ba|0),$p)pp=au;else{$e=123;break}}else $e=123;while(!1);($e|0)==123&&($e=0,lp=ba+1|0,e[Ni>>2]=lp,M=ba),cp=Yr+1|0,o7=Le+(Yr<<2)|0,e[o7>>2]=M,xn=(De+1824|0)+(M<<2)|0,e[xn>>2]=rp,c0=e[tt>>2]|0,Mo=c0,up=cp}if(m$=(Mo+(S$<<4)|0)+4|0,Ro=e[m$>>2]|0,si=(Ro|0)==0,Fo=Ro,si)C2=Mo,je=up;else{K1=e[Ni>>2]|0,q1=(K1|0)>0;e:do if(q1)for(fp=0;;){if(H1=(De+1824|0)+(fp<<2)|0,Y1=e[H1>>2]|0,t2=(Y1|0)==(Ro|0),t2){_=fp;break e}if(s2=fp+1|0,e2=(s2|0)<(K1|0),e2)fp=s2;else{$e=147;break}}else $e=147;while(!1);($e|0)==147&&($e=0,O1=K1+1|0,e[Ni>>2]=O1,_=K1),h2=up+1|0,Z1=Le+(up<<2)|0,e[Z1>>2]=_,I2=(De+1824|0)+(_<<2)|0,e[I2>>2]=Fo,$0=e[tt>>2]|0,C2=$0,je=h2}if(A2=(C2+(S$<<4)|0)+8|0,W1=e[A2>>2]|0,f2=(W1|0)==0,c2=W1,f2)M2=C2,w$=je;else{n2=e[Ni>>2]|0,g2=(n2|0)>0;e:do if(g2)for(Ip=0;;){if(o2=(De+1824|0)+(Ip<<2)|0,l2=e[o2>>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{$e=153;break}}else $e=153;while(!1);($e|0)==153&&($e=0,k2=n2+1|0,e[Ni>>2]=k2,Q=n2),D2=je+1|0,S2=Le+(je<<2)|0,e[S2>>2]=Q,y2=(De+1824|0)+(Q<<2)|0,e[y2>>2]=c2,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)UC=w$;else{q2=e[Ni>>2]|0,U2=(q2|0)>0;e:do if(U2)for(mp=0;;){if(V2=(De+1824|0)+(mp<<2)|0,Z2=e[V2>>2]|0,A5=(Z2|0)==(O2|0),A5){x=mp;break e}if(Y2=mp+1|0,N1=(Y2|0)<(q2|0),N1)mp=Y2;else{$e=159;break}}else $e=159;while(!1);($e|0)==159&&($e=0,t5=q2+1|0,e[Ni>>2]=t5,x=q2),T5=w$+1|0,i5=Le+(w$<<2)|0,e[i5>>2]=x,x5=(De+1824|0)+(x<<2)|0,e[x5>>2]=W2,UC=T5}if(b5=S$+1|0,V5=e[Do>>2]|0,u5=(b5|0)<(V5|0),u5)Yr=UC,S$=b5;else break}}else{if(Hg)for(vm=(L7+(oi<<5)|0)+28|0,Sn=e[vm>>2]|0,km=n7+24|0,La=0;;)if(M7=km+(La<<2)|0,bm=Sn+(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=(Sn+(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=(Sn+(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=(Sn+(La<<4)|0)+12|0,r6=e[A6>>2]|0,z3=(r6|0)==0,z3||(j5=e[M7>>2]|0,M3=j5|8,e[M7>>2]=M3),h3=La+1|0,J3=e[Do>>2]|0,d6=(h3|0)<(J3|0),d6)La=h3;else{eu=J3;break}else eu=n$;Fm=(L7+(oi<<5)|0)+20|0,zg=e[Fm>>2]|0,y7=De+24|0,ma=e[y7>>2]|0,o$=(ma|0)>0,Jg=zg;e:do if(o$)for(dp=0;;){if(Kg=(De+1824|0)+(dp<<2)|0,Nm=e[Kg>>2]|0,Wg=(Nm|0)==(zg|0),Wg){B=dp;break e}if(Zg=dp+1|0,Gm=(Zg|0)<(ma|0),Gm)dp=Zg;else{$e=100;break}}else $e=100;while(!1);if(($e|0)==100&&($e=0,Xg=ma+1|0,e[y7>>2]=Xg,B=ma),Pm=n7+20|0,e[Pm>>2]=B,Om=(De+1824|0)+(B<<2)|0,e[Om>>2]=Jg,qm=(eu|0)>0,!qm)break;for(_o=(L7+(oi<<5)|0)+28|0,pa=n7+280|0,Po=0,v$=0;;){if(Ea=e[_o>>2]|0,Hm=Ea+(v$<<4)|0,s$=e[Hm>>2]|0,Ym=(s$|0)==0,tu=s$,Ym)Lo=Ea,Rn=Po;else{xo=e[y7>>2]|0,zm=(xo|0)>0;e:do if(zm)for(yp=0;;){if(Jm=(De+1824|0)+(yp<<2)|0,a$=e[Jm>>2]|0,A$=(a$|0)==(s$|0),A$){w=yp;break e}if(Ca=yp+1|0,$$=(Ca|0)<(xo|0),$$)yp=Ca;else{$e=107;break}}else $e=107;while(!1);($e|0)==107&&($e=0,l$=xo+1|0,e[y7>>2]=l$,w=xo),Ur=Po+1|0,Pr=pa+(Po<<2)|0,e[Pr>>2]=w,c$=(De+1824|0)+(w<<2)|0,e[c$>>2]=tu,K=e[_o>>2]|0,Lo=K,Rn=Ur}if(g$=(Lo+(v$<<4)|0)+4|0,hr=e[g$>>2]|0,bn=(hr|0)==0,Km=hr,bn)R5=Lo,Ln=Rn;else{Q5=e[y7>>2]|0,T1=(Q5|0)>0;e:do if(T1)for(Ep=0;;){if(d5=(De+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{$e=171;break}}else $e=171;while(!1);($e|0)==171&&($e=0,r5=Q5+1|0,e[y7>>2]=r5,b=Q5),a5=Rn+1|0,f5=pa+(Rn<<2)|0,e[f5>>2]=b,K2=(De+1824|0)+(b<<2)|0,e[K2>>2]=Km,e0=e[_o>>2]|0,R5=e0,Ln=a5}if(I5=(R5+(v$<<4)|0)+8|0,e5=e[I5>>2]|0,c5=(e5|0)==0,T2=e5,c5)f3=R5,Mn=Ln;else{v5=e[y7>>2]|0,z5=(v5|0)>0;e:do if(z5)for(Cp=0;;){if(i3=(De+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{$e=177;break}}else $e=177;while(!1);($e|0)==177&&($e=0,a3=v5+1|0,e[y7>>2]=a3,D=v5),y3=Ln+1|0,G5=pa+(Ln<<2)|0,e[G5>>2]=D,Z5=(De+1824|0)+(D<<2)|0,e[Z5>>2]=T2,u0=e[_o>>2]|0,f3=u0,Mn=y3}if(x3=(f3+(v$<<4)|0)+12|0,w3=e[x3>>2]|0,e6=(w3|0)==0,H3=w3,e6)q9=Mn;else{_3=e[y7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(Bp=0;;){if(a6=(De+1824|0)+(Bp<<2)|0,G3=e[a6>>2]|0,V3=(G3|0)==(w3|0),V3){k=Bp;break e}if(c3=Bp+1|0,g3=(c3|0)<(_3|0),g3)Bp=c3;else{$e=183;break}}else $e=183;while(!1);($e|0)==183&&($e=0,u3=_3+1|0,e[y7>>2]=u3,k=_3),Q3=Mn+1|0,J5=pa+(Mn<<2)|0,e[J5>>2]=k,Y5=(De+1824|0)+(k<<2)|0,e[Y5>>2]=H3,q9=Q3}if(S5=v$+1|0,Y3=e[Do>>2]|0,U5=(S5|0)<(Y3|0),U5)Po=q9,v$=S5;else break}}while(!1);Au=De+3480|0,$u=+l1[Au>>3],_a=$u*1e3,To=(De+1056|0)+(Q7<<2)|0,Go=e[To>>2]|0,gp=e[xg>>2]|0,Uo=+(gp|0),fr=Uo*.5,lu=De+(Q7<<2)|0,qr=e[lu>>2]|0,s7=qr>>1,p$=_a>fr,OC=p$?fr:_a,E$=OC/fr,Z7=+(s7|0),B$=Z7*E$,y$=~~B$,Hr=Go+1116|0,e[Hr>>2]=y$,h6=(L7+(oi<<5)|0)+4|0,xa=e[h6>>2]|0;do if((xa|0)==2)gu=250;else if((xa|0)==1){if(Vr=e[Og>>2]|0,cu=(Vr|0)==0,L4=De+2996|0,Q$=De+2968|0,uQ=cu?Q$:L4,gQ=e[uQ>>2]|0,cQ=+(gQ|0),qC=cQ*1e3,kt=qC>fr,!kt){gu=qC;break}gu=fr}else gu=OC;while(!1);C0=e[Pg>>2]|0,b0=(C0|0)==2;do if(b0){if(y0=De+12|0,D0=e[y0>>2]|0,E0=(D0|0)>0,E0)for(hE=0;;){if(Q0=(De+544|0)+(hE<<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,N0=(v0|0)==(oi|0);do if(N0){if(U0=e[Lg>>2]|0,O0=(U0|0)>0,O0)PC=0,IE=0;else{hp=0;break}for(;;)if(H0=(w0+4|0)+(IE<<2)|0,S0=e[H0>>2]|0,J0=(S0|0)==(vp|0),T0=J0&1,J=T0+PC|0,M0=IE+1|0,Xy=(M0|0)==(U0|0),Xy){hp=J;break}else PC=J,IE=M0}else hp=0;while(!1);if(P0=vp+1|0,K0=(P0|0)<(B0|0),V0=(hp|0)==0,j0=K0&V0,j0)vp=P0;else{cE=hp;break}}else cE=0;if(q0=hE+1|0,Y0=(q0|0)<(D0|0),s1=(cE|0)==0,z0=Y0&s1,z0)hE=q0;else{lE=cE;break}}else lE=0;if(r1=gu/fr,L0=+(lE|0),o1=L0*Z7,u1=o1*r1,p1=e[t$>>2]|0,f1=+(p1|0),h1=u1/f1,A1=h1+.9,c1=~~A1,a1=o5(c1,p1)|0,$1=n7+4|0,e[$1>>2]=a1,X0=o5(lE,s7)|0,B1=(a1|0)>(X0|0),!B1){Y=$1,X1=a1,x1=p1;break}Q1=(X0|0)%(p1|0)&-1,C1=X0-Q1|0,e[$1>>2]=C1,Y=$1,X1=C1,x1=p1}else{if(y1=gu/fr,v1=y1*Z7,k1=e[t$>>2]|0,S1=+(k1|0),L1=v1/S1,M1=L1+.9,b1=~~M1,_1=o5(b1,k1)|0,F1=n7+4|0,e[F1>>2]=_1,U1=(_1|0)>(s7|0),!U1){Y=F1,X1=_1,x1=k1;break}D1=(s7|0)%(k1|0)&-1,P1=s7-D1|0,e[F1>>2]=P1,Y=F1,X1=P1,x1=k1}while(!1);if(G1=(X1|0)==0,G1&&(e[Y>>2]=x1),m3=dE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)dE=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):(v6=e[I0>>2]|0,R3=v6+3396|0,s6=e[R3>>2]|0,B6=v6+3400|0,K3=+l1[B6>>3],F3=~~K3,W3=+(F3|0),t6=K3-W3,R6=s6+4|0,c6=e[R6>>2]|0,o3=(c6|0)==0,o3?y=-1:(J6=e[Lg>>2]|0,y6=c6+(F3<<3)|0,T3=+l1[y6>>3],H6=1-t6,$6=T3*H6,D6=F3+1|0,G6=c6+(D6<<3)|0,e9=+l1[G6>>3],Q6=e9*t6,X6=Q6+$6,P3=+(J6|0),V6=X6*P3,hQ=~~V6,y=hQ),o9=t+16|0,e[o9>>2]=y),g9=n0+3424|0,U6=e[g9>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=n0+3440|0,t9=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=t9,P6=(b6|0)==0,P6?g0=0:(O3=n0+3444|0,s9=e[O3>>2]|0,h9=+(s9|0),n9=+(b6|0),C9=h9/n9,B9=~~C9,g0=B9),y9=t+24|0,e[y9>>2]=g0,d9=n0+3420|0,f9=e[d9>>2]|0,V9=(f9|0)==0,V9?(E=0,E|0):(w6=e[f6>>2]|0,a9=n0+3360|0,e[a9>>2]=w6,Y9=e[g9>>2]|0,Q9=n0+3364|0,e[Q9>>2]=Y9,Qe=e[F6>>2]|0,ge=n0+3368|0,e[ge>>2]=Qe,pe=n0+3444|0,z9=e[pe>>2]|0,re=n0+3372|0,e[re>>2]=z9,R9=n0+3448|0,w9=+l1[R9>>3],A9=n0+3376|0,l1[A9>>3]=w9,we=n0+3432|0,Me=+l1[we>>3],ue=n0+3384|0,l1[ue>>3]=Me,E=0,E|0)}function aD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0;if(J=C,I=(a|0)<1,I)d=-131;else if(E=t+28|0,Q=e[E>>2]|0,x=$,M=x+1e-7,L=M,F=!(L>=1),m=F?L:.9998999834060669,G=Q+3416|0,s[G>>2]=m,O=m,H=Q+3400|0,y=AD(o,a,O,0,H)|0,B=Q+3396|0,e[B>>2]=y,b=(y|0)==0,b)d=-130;else return $D(t,o,a),D=Q+3420|0,e[D>>2]=0,k=Q+3464|0,e[k>>2]=1,w=sD(t)|0,_=(w|0)==0,_?(g=0,g|0):(DC(t),g=w,g|0);return DC(t),g=d,g|0}function oE(t,o,a,$,g,d){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;for(v1=C,m=~~o,I=+(m|0),M=o-I,j=t+28|0,$0=e[j>>2]|0,y0=($0+2852|0)+(a<<2)|0,U0=e[y0>>2]|0,j0=$+(m*20|0)|0,f1=e[j0>>2]|0,m1=+(f1|0),E=1-M,y=m1*E,B=m+1|0,b=$+(B*20|0)|0,D=e[b>>2]|0,k=+(D|0),w=k*M,_=w+y,Q=_,x=U0+12|0,s[x>>2]=Q,L=($+(m*20|0)|0)+4|0,F=e[L>>2]|0,G=+(F|0),O=G*E,H=($+(B*20|0)|0)+4|0,V=e[H>>2]|0,J=+(V|0),t0=J*M,Z=t0+O,A0=Z,r0=U0+16|0,s[r0>>2]=A0,s0=($+(m*20|0)|0)+8|0,K=e[s0>>2]|0,o0=+(K|0),Y=o0*E,h0=($+(B*20|0)|0)+8|0,i0=e[h0>>2]|0,e0=+(i0|0),u0=e0*M,c0=u0+Y,l0=c0,X=U0+20|0,s[X>>2]=l0,m0=($+(m*20|0)|0)+12|0,g0=+s[m0>>2],I0=g0,n0=I0*E,d0=($+(B*20|0)|0)+12|0,p0=+s[d0>>2],C0=p0,b0=C0*M,D0=b0+n0,E0=D0,Q0=U0+24|0,s[Q0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],x0=B0,Z0=x0*E,R0=($+(B*20|0)|0)+16|0,v0=+s[R0>>2],N0=v0,O0=N0*M,H0=O0+Z0,S0=H0,J0=U0+28|0,s[J0>>2]=S0,T0=g+(m<<2)|0,M0=e[T0>>2]|0,P0=+(M0|0),W0=P0*E,K0=g+(B<<2)|0,V0=e[K0>>2]|0,q0=+(V0|0),Y0=q0*M,s1=Y0+W0,z0=s1,r1=U0+496|0,s[r1>>2]=z0,C1=0;L0=(d+(m*68|0)|0)+(C1<<2)|0,o1=e[L0>>2]|0,d1=+(o1|0),u1=d1*E,p1=(d+(B*68|0)|0)+(C1<<2)|0,h1=e[p1>>2]|0,A1=+(h1|0),c1=A1*M,a1=c1+u1,$1=a1,X0=(U0+36|0)+(C1<<2)|0,s[X0>>2]=$1,B1=C1+1|0,Q1=(B1|0)==17,!Q1;)C1=B1}function sE(t,o,a,$,g,d,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0,m=+m;var I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;for(S2=C,k=~~o,w=+(k|0),h0=o-w,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,q1=+(b1|0),_=1-h0,t0=q1*_,Z=k+1|0,A0=$+(Z<<2)|0,j=e[A0>>2]|0,r0=+(j|0),s0=r0*h0,K=s0+t0,o0=K,Y=L0+108|0,s[Y>>2]=o0,i0=d+(a*12|0)|0,e0=e[i0>>2]|0,u0=L0+120|0,e[u0>>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,d0=e[I0>>2]|0,p0=+(d0|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,s[B0>>2]=w0,Z0=n2+1|0,W1=(Z0|0)==17,W1){g2=0;break}else n2=Z0;for(;;)if(M1=((g+(k*204|0)|0)+68|0)+(g2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*_,U1=((g+(Z*204|0)|0)+68|0)+(g2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),X1=P1*h0,G1=X1+F1,x1=G1,K1=(L0+200|0)+(g2<<2)|0,s[K1>>2]=x1,H1=g2+1|0,f2=(H1|0)==17,f2){o2=0;break}else g2=H1;for(;V1=((g+(k*204|0)|0)+136|0)+(o2<<2)|0,Y1=e[V1>>2]|0,t2=+(Y1|0),s2=t2*_,e2=((g+(Z*204|0)|0)+136|0)+(o2<<2)|0,O1=e[e2>>2]|0,h2=+(O1|0),Z1=h2*h0,I2=Z1+s2,Q=I2,x=(L0+268|0)+(o2<<2)|0,s[x>>2]=Q,M=o2+1|0,c2=(M|0)==17,!c2;)o2=M;for(L=L0+132|0,F=+s[L>>2],S0=F+6,G=L0+132|0,O=F,H=O+m,V=H,J=V>2]=k2,R0=1;I=(L0+132|0)+(R0<<2)|0,B=+s[I>>2],v0=(L0+132|0)+(R0<<2)|0,N0=B,U0=N0+m,O0=U0,H0=O0>2]=l2,J0=R0+1|0,A2=(J0|0)==17,!A2;)R0=J0;for(T0=L0+200|0,P0=+s[T0>>2],W0=P0+6,K0=L0+200|0,V0=P0,j0=V0+m,q0=j0,Y0=q0>2]=a2,s1=1;E=(L0+200|0)+(s1<<2)|0,b=+s[E>>2],z0=(L0+200|0)+(s1<<2)|0,r1=b,o1=r1+m,d1=o1,u1=d1>2]=i2,p1=s1+1|0,C2=(p1|0)==17,!C2;)s1=p1;for(f1=L0+268|0,h1=+s[f1>>2],A1=h1+6,c1=L0+268|0,a1=h1,$1=a1+m,B1=$1,m1=B1>2]=r2,Q1=1;y=(L0+268|0)+(Q1<<2)|0,D=+s[y>>2],C1=(L0+268|0)+(Q1<<2)|0,y1=D,v1=y1+m,k1=v1,S1=k1>2]=m2,L1=Q1+1|0,$2=(L1|0)==17,!$2;)Q1=L1}function AD(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;S1=C,k=($|0)==0;e:do if(k){for(K=26336,X0=0;;){if(s0=e[K>>2]|0,o0=s0+12|0,Y=e[o0>>2]|0,h0=(Y|0)==-1,e0=(Y|0)==(t|0),C1=h0|e0,C1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,X=e[l0>>2]|0,m0=(X|0)<(o|0),!m0&&(g0=e[s0>>2]|0,I0=s0+8|0,n0=e[I0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(D0=n0+(g0<<3)|0,E0=+l1[D0>>3],Q0=E0>2]|0,Z0=i0+12|0,P0=e[Z0>>2]|0,o1=(P0|0)==-1,A1=(P0|0)==(t|0),y1=o1|A1,y1&&(c1=i0+16|0,_=e[c1>>2]|0,Q=(_|0)>(o|0),!Q&&(x=i0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(F=e[i0>>2]|0,G=i0+4|0,O=e[G>>2]|0,H=+l1[O>>3],V=J>3],A0=J>Z,!A0))))){m=J,I=F,E=d0,y=O,h1=H;break e}if($1=B1+1|0,j=26336+($1<<2)|0,r0=($1|0)==17,r0){d=0;break}else d0=j,B1=$1}return d|0}while(!1);w0=(I|0)>0;e:do if(w0)for(x0=h1,Q1=0;;){if(B0=!(m>=x0),D=Q1+1|0,!B0&&(R0=y+(D<<3)|0,v0=+l1[R0>>3],N0=m>3],x0=b,Q1=D}else m1=0;while(!1);return O0=(m1|0)==(I|0),O0?(H0=+(I|0),S0=H0+-.001,v1=S0):(J0=y+(m1<<3)|0,T0=+l1[J0>>3],M0=T0,W0=m1+1|0,K0=y+(W0<<3)|0,V0=+l1[K0>>3],j0=V0,q0=M0,Y0=m-q0,s1=j0-M0,z0=s1,r1=Y0/z0,L0=r1,d1=+(m1|0),u1=L0+d1,p1=u1,v1=p1),l1[g>>3]=v1,f1=e[E>>2]|0,d=f1,d|0}function $D(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0;L0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,D0=t+8|0,e[D0>>2]=a,O0=E+3456|0,e[O0>>2]=1,q0=E+3460|0,e[q0>>2]=1,s1=E+3400|0,z0=+l1[s1>>3],y=~~z0,B=+(y|0),b=z0-B,D=E+3472|0,l1[D>>3]=z0,k=E+3488|0,w=e[k>>2]|0,_=(w|0)==0,_?(Q=r0+120|0,x=e[Q>>2]|0,M=x+(y<<3)|0,F=+l1[M>>3],G=1-b,O=F*G,H=y+1|0,V=x+(H<<3)|0,J=+l1[V>>3],t0=J*b,Z=t0+O,A0=E+3480|0,l1[A0>>3]=Z,g=H,d=G):($=1-b,m=y+1|0,g=m,d=$),j=r0+112|0,s0=e[j>>2]|0,K=s0+(y<<2)|0,o0=e[K>>2]|0,Y=+(o0|0),h0=Y*d,i0=s0+(g<<2)|0,e0=e[i0>>2]|0,u0=+(e0|0),c0=u0*b,$0=c0+h0,X=E+3496|0,l1[X>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,I0=g0+(y<<2)|0,n0=e[I0>>2]|0,d0=+(n0|0),p0=d0*d,C0=g0+(g<<2)|0,b0=e[C0>>2]|0,y0=+(b0|0),E0=y0*b,Q0=E0+p0,w0=E+3504|0,l1[w0>>3]=Q0,B0=E+3512|0,l1[B0>>3]=-6,x0=E+3520|0,l1[x0>>3]=z0,Z0=E+3528|0,l1[Z0>>3]=z0,R0=E+3536|0,l1[R0>>3]=z0,v0=E+3544|0,l1[v0>>3]=z0,N0=E+3552|0,l1[N0>>3]=z0,U0=E+3560|0,l1[U0>>3]=z0,H0=E+3568|0,l1[H0>>3]=z0,S0=E+3576|0,l1[S0>>3]=z0,J0=E+3584|0,l1[J0>>3]=z0,T0=E+3592|0,l1[T0>>3]=z0,M0=E+3600|0,l1[M0>>3]=z0,P0=E+3608|0,l1[P0>>3]=z0,W0=E+3616|0,l1[W0>>3]=z0,K0=E+3624|0,l1[K0>>3]=z0,V0=E+3632|0,l1[V0>>3]=z0,j0=E+3640|0,l1[j0>>3]=z0,Y0=E+3648|0,l1[Y0>>3]=z0}function lD(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0;if(V0=C,I=(g|0)!=0,E=I?$:0,L=I?d:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,D0=520336+(l0<<2)|0,x0=e[D0>>2]|0,Z0=o+(L<<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,w=a+(L<<2)|0,_=e[w>>2]|0,Q=(b|0)/4&-1,x=(k|0)/4&-1,M=Q-x|0,F=(k|0)/2&-1,G=M+F|0,O=(b|0)/2&-1,H=O+Q|0,m=(_|0)/-4&-1,V=H+m|0,J=(_|0)/2&-1,t0=V+J|0,Z=(M|0)>0,Z?(A0=Q-x|0,j=A0<<2,g4(t|0,0,j|0)|0,U0=M):U0=0,s0=(U0|0)<(G|0),s0)for(K=Q+F|0,o0=K-U0|0,Y=o0-x|0,O0=U0,J0=0;u0=x0+(J0<<2)|0,c0=+s[u0>>2],$0=t+(O0<<2)|0,X=+s[$0>>2],m0=X*c0,s[$0>>2]=m0,g0=O0+1|0,I0=J0+1|0,N0=(I0|0)==(Y|0),!N0;)O0=g0,J0=I0;if(h0=(_|0)>1,h0){for(i0=V+1|0,e0=(t0|0)>(i0|0),S0=V,M0=J;T0=M0+-1|0,C0=y+(T0<<2)|0,b0=+s[C0>>2],y0=t+(S0<<2)|0,E0=+s[y0>>2],Q0=E0*b0,s[y0>>2]=Q0,w0=S0+1|0,B0=(w0|0)<(t0|0),B0;)S0=w0,M0=T0;W0=e0?t0:i0,H0=W0}else H0=V;n0=(b|0)>(H0|0),n0&&(P0=t+(H0<<2)|0,d0=b-H0|0,p0=d0<<2,g4(P0|0,0,p0|0)|0)}function cD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0;if(X=C,C=C+64|0,$0=X+32|0,c0=X,$=M9(688)|0,g=$+408|0,Qb(g),_=~~o,aD(g,t,_,a)|0,t0=$+440|0,Cb(t0),Bb(t0,553008,553016),o0=$+456|0,XS(o0,g)|0,Y=$+568|0,ZS(o0,Y)|0,h0=hy(0)|0,mD(h0),i0=pD()|0,OS($,i0)|0,e0=$+680|0,e[e0>>2]=0,u0=$+684|0,e[u0>>2]=0,d=$+360|0,wb(o0,t0,d,$0,c0)|0,rE($,d)|0,rE($,$0)|0,rE($,c0)|0,m=$+392|0,I=fy($,m)|0,E=(I|0)==0,E)return C=X,$|0;for(y=$+396|0,B=$+404|0,b=$+400|0;D=e[u0>>2]|0,k=e[y>>2]|0,w=k+D|0,Q=e[B>>2]|0,x=w+Q|0,M=(x|0)==0,M||(G=e[e0>>2]|0,O=J7(G,x)|0,e[e0>>2]=O,H=e[u0>>2]|0,V=O+H|0,J=e[m>>2]|0,Z=e[y>>2]|0,ce(V|0,J|0,Z|0)|0,A0=Z+H|0,e[u0>>2]=A0,j=O+A0|0,r0=e[b>>2]|0,s0=e[B>>2]|0,ce(j|0,r0|0,s0|0)|0,K=s0+A0|0,e[u0>>2]=K),L=fy($,m)|0,F=(L|0)==0,!F;);return C=X,$|0}function gD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;E=C,qS(t)|0,o=t+568|0,jS(o)|0,a=t+456|0,Ey(a),$=t+440|0,yb($),g=t+408|0,DC(g),d=t+680|0,m=e[d>>2]|0,E2(m),E2(t)}function uD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0;return d=C,a=t+456|0,$=Cy(a,o)|0,$|0}function hD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0;if(X=C,a=t+456|0,eb(a,o)|0,$=t+568|0,w=By(a,$)|0,J=(w|0)==1,!!J)for(h0=t+360|0,i0=t+392|0,e0=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(zS($,0)|0,WS($)|0,E=py(a,h0)|0,y=(E|0)==0,!y)for(;;){if(rE(t,h0)|0,D=Iy(t,i0)|0,k=(D|0)==0,!k)for(;_=e[e0>>2]|0,Q=e[u0>>2]|0,x=Q+_|0,M=e[c0>>2]|0,L=x+M|0,F=(L|0)==0,F||(H=e[$0>>2]|0,V=J7(H,L)|0,e[$0>>2]=V,t0=e[e0>>2]|0,Z=V+t0|0,A0=e[g>>2]|0,j=e[u0>>2]|0,ce(Z|0,A0|0,j|0)|0,r0=j+t0|0,e[e0>>2]=r0,s0=V+r0|0,K=e[d>>2]|0,o0=e[c0>>2]|0,ce(s0|0,K|0,o0|0)|0,Y=o0+r0|0,e[e0>>2]=Y),G=Iy(t,i0)|0,O=(G|0)==0,!O;);if(B=py(a,h0)|0,b=(B|0)==0,b)break}if(m=By(a,$)|0,I=(m|0)==1,!I)break}}function dD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function fD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;return d=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function aE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+ID(t,o),+a}function Pu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=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,o0=o5(a,o)|0,Y=(o0|0)==0,Y){C=U3;return}for(j=o0-a|0,V1=t3+4|0,e[V1>>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,D5=U2>>>0>>0,n5=x3+1|0,D5;)k2=m5,m5=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,K1=(X0|0)==3;do if(K1){e[W5>>2]=G5,q1=(H5|0)>1;e:do if(q1){for(B=H5,Q=G5,O1=G5,X5=1;;){if(H1=Q+h0|0,Y1=B+-2|0,t2=t3+(Y1<<2)|0,s2=e[t2>>2]|0,U5=s2+a|0,r0=0-U5|0,e2=Q+r0|0,h2=pi[$&15](O1,e2)|0,Z1=(h2|0)>-1,Z1&&(I2=pi[$&15](O1,H1)|0,A2=(I2|0)>-1,A2)){f3=X5;break}if(C2=pi[$&15](e2,H1)|0,W1=(C2|0)>-1,f2=X5+1|0,c2=W5+(X5<<2)|0,W1?(e[c2>>2]=e2,n2=B+-1|0,d=e2,E=n2):(e[c2>>2]=H1,d=H1,E=Y1),g2=(E|0)>1,!g2){f3=f2;break}J=e[W5>>2]|0,B=E,Q=d,O1=J,X5=f2}if(o2=(f3|0)<2,!o2&&(l2=W5+(f3<<2)|0,e[l2>>2]=n3,!M0))for(w=a,q2=n3;;){for(p2=w>>>0>256,a2=p2?256:w,W2=e[W5>>2]|0,ce(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,ce(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=(w|0)==(a2|0),i2)break e;m2=w-a2|0,Z=e[l2>>2]|0,w=m2,q2=Z}}while(!1);J2=b1>>>2,V2=Z2<<30,A5=J2|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,x5=G5,j2=L0-x5|0,b5=i5>>>0>>0,b5){e[W5>>2]=G5,V5=(H5|0)>1;e:do if(V5){for(b=H5,x=G5,R2=G5,_3=1;;){if(u5=x+h0|0,b2=b+-2|0,B5=t3+(b2<<2)|0,s5=e[B5>>2]|0,l6=s5+a|0,s0=0-l6|0,F2=x+s0|0,Q2=pi[$&15](R2,F2)|0,y5=(Q2|0)>-1,y5&&(p5=pi[$&15](R2,u5)|0,L5=(p5|0)>-1,L5)){w3=_3;break}if(q5=pi[$&15](F2,u5)|0,M5=(q5|0)>-1,z2=_3+1|0,E5=W5+(_3<<2)|0,M5?(e[E5>>2]=F2,$5=b+-1|0,m=F2,y=$5):(e[E5>>2]=u5,m=u5,y=b2),h5=(y|0)>1,!h5){w3=z2;break}t0=e[W5>>2]|0,b=y,x=m,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:_,R5=e[W5>>2]|0,ce(e5|0,R5|0,l5|0)|0,f5=R5,H3=0;d2=W5+(H3<<2)|0,w5=H3+1|0,r5=W5+(w5<<2)|0,a5=e[r5>>2]|0,ce(f5|0,a5|0,l5|0)|0,K2=f5+l5|0,e[d2>>2]=K2,a3=(w5|0)==(w3|0),!a3;)f5=a5,H3=w5;if(d5=(_|0)==(l5|0),d5)break e;X2=_-l5|0,A0=e[T1>>2]|0,_=X2,e5=A0}}while(!1)}else AE(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,M=C5?b1:Z2,L=C5?I3:t5,d3=M<>>i0,u0=e0|d3,c0=g<>>0>>0,m0)b1=$0,Z2=x1,G5=X,H5=Y5;else{O=x1,H=$0,y3=X,J5=Y5;break}}else O=0,H=1,y3=t,J5=1;if(AE(y3,a,$,H,O,J5,0,t3),g0=(J5|0)==1,I0=(H|0)==1,Q3=I0&g0,d0=(O|0)==0,u3=d0&Q3,u3){C=U3;return}else b0=H,v0=O,Z5=y3,S5=J5;for(;;){if(p0=(S5|0)<2,!p0){Y0=v0<<2,s1=b0>>>30,z0=s1|Y0,r1=S5+-2|0,o1=b0<<1,d1=o1&2147483646,u1=s1<<31,p1=d1|u1,f1=p1^3,h1=z0>>>1,A1=t3+(r1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,K=0-Y3|0,a1=Z5+K|0,$1=S5+-1|0,AE(a1,a,$,f1,h1,$1,1,t3),B1=h1<<1,m1=s1&1,Q1=B1|m1,C1=f1<<1,y1=C1|1,v1=Z5+h0|0,AE(v1,a,$,y1,Q1,r1,1,t3),b0=y1,v0=Q1,Z5=v1,S5=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{F=Q0;break}R0=(F|0)==0,R0?l3=51:K0=F}else l3=51;if((l3|0)==51){if(l3=0,N0=(v0|0)==0,N0){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,S0=k>>>1,J0=S0&1,T0=(J0|0)==0,T0)k=S0,G3=H0;else{G=H0,V3=G3;break}if(P0=V3+33|0,W0=(G|0)==0,W0){I=0,S1=b0,_1=v0,D1=0;break}else K0=P0}V0=K0>>>0>31,V0?(q0=K0,l3=56):(I=K0,S1=b0,_1=v0,D1=K0)}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,U1=D1+S5|0,V=Z5+h0|0,P1=(U1|0)==1,X1=(R1|0)==1,c3=X1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;b0=R1,v0=F1,Z5=V,S5=U1}C=U3}function AE(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=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-o|0,h0=($|0)!=1,v0=(g|0)!=0,K0=v0|h0;e:do if(K0)if(u1=I+(d<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,Y1=t+F1|0,W1=pi[a&15](Y1,t)|0,k2=(W1|0)<1,k2)B=t,M=d,V=m,Y2=1,R2=18;else for(k=t,O=d,J=m,B0=Y1,Y0=g,x5=1,b2=$;;){if(i0=(J|0)==0,d0=(O|0)>1,u5=i0&d0,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,L=O,t5=x5;break e}if(B5=w0+o|0,K=0-B5|0,R0=k+K|0,N0=pi[a&15](R0,B0)|0,U0=(N0|0)>-1,U0){b=k,L=O,t5=x5;break e}}O0=x5+1|0,H0=U2+(x5<<2)|0,e[H0>>2]=B0,S0=b2+-1|0,J0=(S0|0)==0;do if(J0)$1=32,R2=15;else{if(T0=S0&1,M0=(T0|0)==0,M0){for(Q=S0,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,s1=(Y0|0)==0,s1){$1=64,R2=15;break}if(z0=Y0&1,r1=(z0|0)==0,r1)x=Y0,b5=0;else{y=0,B1=b2,y1=Y0,L1=0;break}for(;;)if(L0=b5+1|0,o1=x>>>1,d1=o1&1,p1=(d1|0)==0,p1)x=o1,b5=L0;else{Z=L0,V5=b5;break}if(f1=V5+33|0,h1=(Z|0)==0,h1){y=0,B1=b2,y1=Y0,L1=0;break}else A1=f1}c1=A1>>>0>31,c1?($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,m1=32-y|0,C1=y1<>>y,S1=L1+O|0,M1=(v1|0)!=1,b1=(k1|0)!=0,_1=b1|M1,!_1){b=B0,L=S1,t5=O0;break e}if(A0=e[U2>>2]|0,R1=I+(S1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,X1=pi[a&15](P1,A0)|0,G1=(X1|0)<1,G1){B=B0,M=S1,V=0,Y2=O0,R2=18;break}else w=B0,O=S1,J=0,B0=P1,Y0=k1,x5=O0,b2=v1,k=w}else B=t,M=d,V=m,Y2=1,R2=18;while(!1);if((R2|0)==18)if(x1=(V|0)==0,x1)b=B,L=M,t5=Y2;else{C=Q2;return}K1=(t5|0)<2;e:do if(!K1&&(q1=U2+(t5<<2)|0,e[q1>>2]=F2,H1=(o|0)==0,!H1))for(G=o,f2=F2;;){for(C2=G>>>0>256,t2=C2?256:G,$2=e[U2>>2]|0,ce(f2|0,$2|0,t2|0)|0,I2=$2,i5=0;e2=U2+(i5<<2)|0,O1=i5+1|0,h2=U2+(O1<<2)|0,Z1=e[h2>>2]|0,ce(I2|0,Z1|0,t2|0)|0,A2=I2+t2|0,e[e2>>2]=A2,A5=(O1|0)==(t5|0),!A5;)I2=Z1,i5=O1;if(V1=(G|0)==(t2|0),V1)break e;s2=G-t2|0,s0=e[q1>>2]|0,G=s2,f2=s0}while(!1);e[V2>>2]=b,c2=(L|0)>1;e:do if(c2){for(_=L,H=b,a2=b,j2=1;;){if(n2=H+Y|0,g2=_+-2|0,o2=I+(g2<<2)|0,l2=e[o2>>2]|0,s5=l2+o|0,o0=0-s5|0,i2=H+o0|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=g2),W2=(D|0)>1,!W2){N1=M2;break}j=e[V2>>2]|0,_=D,H=E,a2=j,j2=M2}if(q2=(N1|0)<2,q2)y0=F2;else if(J2=V2+(N1<<2)|0,e[J2>>2]=F2,e0=(o|0)==0,e0)y0=F2;else for(F=o,b0=F2;;){for(p0=F>>>0>256,c0=p0?256:F,C0=e[V2>>2]|0,ce(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,ce(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(u0=(F|0)==(c0|0),u0){y0=F2;break e}$0=F-c0|0,r0=e[J2>>2]|0,F=$0,b0=r0}}else y0=F2;while(!1);C=Q2}function z7(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0;return L=C,l1[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,w=B|k,w?(o=t,+o):(_=($|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,d=t+4503599627370496,m=d+-4503599627370496,x=_?g:m,I=x==0,I?(E=_?-0:0,o=E,+o):(o=x,+o))}function qy(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(d=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,y=E+-8388608,D=d?I:y,B=D==0,B?(b=d?-0:0,o=b,+o):(o=D,+o))}function ID(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0;return t0=C,d=(o|0)>1023,d?(m=t*898846567431158e293,Q=o+-1023|0,x=(Q|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,F=(L|0)>1023,a=F?1023:L,$=a,V=M):($=Q,V=m)):(G=(o|0)<-1022,G?(O=t*22250738585072014e-324,H=o+1022|0,I=(H|0)<-1022,I?(E=O*22250738585072014e-324,y=o+2044|0,B=(y|0)<-1022,g=B?-1022:y,$=g,V=E):($=H,V=O)):($=o,V=t)),b=$+1023|0,D=Yy(b|0,0,52)|0,k=Z6,e[w2>>2]=D,e[w2+4>>2]=k,w=+l1[w2>>3],_=V*w,+_}function mD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,d=g,e[d>>2]=0}function pD(){var t=0,o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,y=t+4|0,B=y,b=e[B>>2]|0,D=yD(E|0,b|0,1284865837,1481765933)|0,k=Z6,w=ns(D|0,k|0,1,0)|0,_=Z6,a=553040,$=a,e[$>>2]=w,g=a+4|0,d=g,e[d>>2]=_,m=os(w|0,_|0,33)|0,I=Z6,m|0}function M9(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,y8=0,G8=0,nn=0,kr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,Sr=0,$n=0,Bs=0,ys=0,ln=0,I7=0,ro=0,Qs=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,br=0,un=0,Ts=0,or=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dr=0,Io=0,p7=0,fn=0,_r=0,sr=0,xr=0,K7=0,Lr=0,mo=0,W7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,ar=0,Ar=0,Rr=0,E7=0,Os=0,fi=0,Al=0,In=0,mn=0,Ou=0,$l=0,qs=0,qu=0,lA=0,ll=0,Hu=0,Vu=0,Yu=0,cA=0,cl=0,gl=0,gA=0,pn=0,ul=0,zu=0,Hs=0,$r=0,Ju=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,hl=0,Fr=0,nh=0,oh=0,dl=0,sh=0,uA=0,Vs=0,hA=0,ah=0,Ah=0,dA=0,fl=0,Il=0,ml=0,fA=0,pl=0,Ys=0,$h=0,lh=0,El=0,ch=0,gh=0,Cl=0,uh=0,hh=0,Bl=0,yl=0,Ql=0,wl=0,vl=0,En=0,dh=0,kl=0,fh=0,Sl=0,bl=0,Ih=0,mh=0,ph=0,IA=0,Dl=0,_l=0,po=0,xl=0,mA=0,Eh=0,Ll=0,Ch=0,Ml=0,Bh=0,yh=0,Rl=0,Fl=0,Qh=0,zs=0,wh=0,pA=0,Tl=0,Nl=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Js=0,Gl=0,Ul=0,Pl=0,Ks=0,xh=0,Ol=0,Lh=0,ql=0,Mh=0,Rh=0,Hl=0,EA=0,Fh=0,Th=0,Ws=0,Nh=0,Zs=0,Gh=0,CA=0,Uh=0,Ph=0,Oh=0,Vl=0,qh=0,Hh=0,Vh=0,Yh=0,Yl=0,zl=0,lr=0,Jl=0,js=0,BA=0,yA=0,Cn=0,Kl=0,Bn=0,zh=0,Wl=0,Jh=0,Kh=0,Wh=0,Zh=0,Xs=0,QA=0,Tr=0,jh=0,Xh=0,Zl=0,wA=0,jl=0,Xl=0,ed=0,ec=0,td=0,vA=0,id=0,rd=0,K9=0,nd=0,tc=0,od=0,sd=0,kA=0,ad=0,SA=0,ic=0,Ad=0,$d=0,rc=0,nc=0,ld=0,bA=0,DA=0,oc=0,sc=0,cd=0,ac=0,_A=0,gd=0,Ac=0,ud=0,hd=0,dd=0,fd=0,$c=0,lc=0,xA=0,ea=0,cc=0,Id=0,gc=0,uc=0,md=0,pd=0,Ed=0,hc=0,Cd=0,Bd=0,yd=0,Qd=0,wd=0,vd=0,dc=0,kd=0,fc=0,Sd=0,yn=0,bd=0,Ic=0,Dd=0,Eo=0,mc=0,LA=0,_d=0,ta=0,MA=0,xd=0,RA=0,pc=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,Ec=0,Nd=0,Gd=0,Ud=0,ia=0,Co=0,FA=0,Pd=0,TA=0,Od=0,qd=0,Hd=0,Cc=0,Vd=0,Yd=0,zd=0,Jd=0,Kd=0,ra=0,Wd=0,Zd=0,Bc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,yc=0,B7=0,Qc=0,NA=0,rf=0,r7=0,Bo=0,nf=0,of=0,sf=0,af=0,Af=0,wc=0,$f=0,lf=0,vc=0,cf=0,gf=0,yo=0,GA=0,uf=0,kc=0,hf=0,df=0,na=0,ff=0,If=0,Sc=0,bc=0,mf=0,pf=0,Qn=0,Ef=0,Cf=0,wn=0,Bf=0,Dc=0,yf=0,Qf=0,Qo=0,_c=0,wf=0,xc=0,vf=0,cr=0,UA=0,kf=0,Lc=0,Mc=0,Sf=0,bf=0,Rc=0,Df=0,_f=0,xf=0,Fc=0,Lf=0,wo=0,Mf=0,vn=0,Rf=0,Ff=0,PA=0,Tf=0,OA=0,qA=0,Nf=0,Tc=0,Nc=0,Gf=0,Gc=0,Uc=0,Pc=0,Uf=0,Oc=0,qc=0,Pf=0,Of=0,Hc=0,Vc=0,qf=0,Yc=0,zc=0,Hf=0,Vf=0,Jc=0,HA=0,Kc=0,Wc=0,Zc=0,jc=0,Yf=0,zf=0,Jf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Xc=0,VA=0,eI=0,tI=0,iI=0,eg=0,tg=0,rI=0,ig=0,YA=0,oa=0,rg=0,nI=0,oI=0,sI=0,aI=0,ng=0,sa=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,sg=0,EI=0,CI=0,kn=0,ag=0,Ag=0,zA=0,BI=0,$g=0,yI=0,lg=0,cg=0,QI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,JA=0,bI=0,DI=0,_I=0,xI=0,gg=0,LI=0,ug=0,MI=0,RI=0,hg=0,Nr=0,dg=0,fg=0,FI=0,Ig=0,$a=0,TI=0,NI=0,GI=0,la=0,mg=0,UI=0,PI=0,pg=0,OI=0,qI=0,KA=0,ca=0,HI=0,VI=0,YI=0,Eg=0,Cg=0,Bg=0,zI=0,JI=0,vo=0,KI=0,yg=0,WI=0,WA=0,Qg=0,ZI=0,jI=0,XI=0,em=0,wg=0,tm=0,im=0,vg=0,ga=0,rm=0,nm=0,om=0,ko=0,kg=0,Sg=0,sm=0,bg=0,Dg=0,L7=0,_g=0,gr=0,am=0,Am=0,$m=0,lm=0,ZA=0,ua=0,xg=0,Lg=0,cm=0,ha=0,So=0,gm=0,da=0,jA=0,um=0,XA=0,hm=0,dm=0,Mg=0,fa=0,Rg=0,fm=0,Im=0,mm=0,pm=0,Fg=0,Em=0,oi=0,De=0,n7=0,Cm=0,Tg=0,Ng=0,e$=0,Bm=0,Gr=0,bo=0,ym=0,Qm=0,Gg=0,t$=0,wm=0,Ug=0,Pg=0,Og=0,i$=0,r$=0,qg=0,Do=0,n$=0,Hg=0,vm=0,Sn=0,km=0,Vg=0,Ia=0,Sm=0,Yg=0,M7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,R7=0,Rm=0,Fm=0,Tm=0,zg=0,y7=0,ma=0,o$=0,Jg=0,Kg=0,Nm=0,Wg=0,Zg=0,Gm=0,Um=0,jg=0,Xg=0,Pm=0,Om=0,eu=0,qm=0,_o=0,pa=0,Ea=0,Hm=0,s$=0,Vm=0,Ym=0,tu=0,xo=0,zm=0,Jm=0,a$=0,A$=0,Ca=0,$$=0,l$=0,ur=0,Ur=0,Pr=0,c$=0,g$=0,Lo=0,hr=0,bn=0,Km=0,dr=0,Dn=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,iu=0,ru=0,Qa=0,u$=0,Ni=0,wa=0,Or=0,h$=0,Zm=0,d$=0,jm=0,f$=0,nu=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,_n=0,tt=0,Le=0,ou=0,ip=0,I$=0,su=0,rp=0,np=0,ba=0,op=0,sp=0,ap=0,Ap=0,au=0,$p=0,lp=0,cp=0,o7=0,Da=0,xn=0,m$=0,Mo=0,Ro=0,si=0,Fo=0,Au=0,$u=0,_a=0,To=0,No=0,Go=0,gp=0,Uo=0,fr=0,lu=0,qr=0,s7=0,p$=0,E$=0,Z7=0,C$=0,B$=0,y$=0,Hr=0,h6=0,xa=0,Vr=0,cu=0,L4=0,Q$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Yr=0,je=0,w$=0;w$=C,W1=t>>>0<245;do if(W1){if(f2=t>>>0<11,pe=t+11|0,Ke=pe&-8,x4=f2?16:Ke,qs=x4>>>3,CA=e[138262]|0,ia=CA>>>qs,Wc=ia&3,vg=(Wc|0)==0,!vg){c2=ia&1,f3=c2^1,g3=f3+qs|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,y9=(h3|0)==(F6|0);do if(y9)z9=1<>>0>>0,d4&&v2(),Se=F6+12|0,S9=e[Se>>2]|0,Pt=(S9|0)==(R6|0),Pt){e[Se>>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,We=e[D4>>2]|0,A8=We|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,gn=Ss&16,go=ro>>>gn,sr=go>>>5,ar=sr&8,qu=ar|gn,ul=go>>>ar,th=ul>>>2,hA=th&4,lh=qu|hA,vl=ul>>>hA,Dl=vl>>>1,Rl=Dl&2,bh=lh|Rl,ql=vl>>>Rl,Uh=ql>>>1,Jl=Uh&1,Wh=bh|Jl,ed=ql>>>Jl,kA=Wh+ed|0,oc=kA<<1,$c=553088+(oc<<2)|0,P1=oc+2|0,hc=553088+(P1<<2)|0,yn=e[hc>>2]|0,RA=yn+8|0,Co=e[RA>>2]|0,Jd=($c|0)==(Co|0);do if(Jd)yc=1<>>0>>0,cr&&v2(),Fc=Co+12|0,Nf=e[Fc>>2]|0,Of=(Nf|0)==(yn|0),Of){e[Fc>>2]=$c,e[hc>>2]=Co,w=e[138264]|0,ca=w;break}else v2();while(!1);return Zc=kA<<3,VA=Zc-x4|0,nI=x4|3,uI=yn+4|0,e[uI>>2]=nI,CI=yn+x4|0,wI=VA|1,t2=x4|4,LI=yn+t2|0,e[LI>>2]=wI,TI=yn+Zc|0,e[TI>>2]=VA,yg=(ca|0)==0,yg||(ga=e[138267]|0,_g=ca>>>3,ha=_g<<1,Rg=553088+(ha<<2)|0,Tg=e[138262]|0,Ug=1<<_g,km=Tg&Ug,Mm=(km|0)==0,Mm?(Nm=Tg|Ug,e[138262]=Nm,J=ha+2|0,t0=553088+(J<<2)|0,V=t0,Ca=Rg):(Z1=ha+2|0,_o=553088+(Z1<<2)|0,n2=e[_o>>2]|0,y2=e[138266]|0,A5=n2>>>0>>0,A5?v2():(V=_o,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]=Rg),e[138264]=VA,e[138267]=CI,tt=RA,tt|0}if(c5=e[138263]|0,y3=(c5|0)==0,y3)Le=x4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,e6=w3>>>12,H3=e6&16,X5=w3>>>H3,_3=X5>>>5,t3=_3&8,a6=t3|H3,G3=X5>>>t3,V3=G3>>>2,c3=V3&4,u3=a6|c3,Q3=G3>>>c3,J5=Q3>>>1,H5=J5&2,Y5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,U5=Y3&1,l6=Y5|U5,n3=S5>>>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(z3=E$+16|0,j5=e[z3>>2]|0,M3=(j5|0)==0,M3)if(J3=E$+20|0,d6=e[J3>>2]|0,m3=(d6|0)==0,m3){xn=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,K=f6?n6:Da,$2=f6?L6:Q$,Da=K,E$=L6,Q$=$2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),v6=kt+x4|0,R3=kt>>>0>>0,R3||v2(),o6=kt+24|0,s6=e[o6>>2]|0,B6=kt+12|0,K3=e[B6>>2]|0,F3=(K3|0)==(kt|0);do if(F3){if(H6=kt+20|0,$6=e[H6>>2]|0,D6=($6|0)==0,D6)if(e9=kt+16|0,Q6=e[e9>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else hr=Q6,Ba=e9;else hr=$6,Ba=H6;for(;;){if(P3=hr+20|0,r9=e[P3>>2]|0,V6=(r9|0)==0,!V6){hr=r9,Ba=P3;continue}if(o9=hr+16|0,g9=e[o9>>2]|0,U6=(g9|0)==0,U6){dr=hr,ru=Ba;break}else hr=g9,Ba=o9}if(Y6=ru>>>0>>0,Y6)v2();else{e[ru>>2]=0,Ri=dr;break}}else if(W3=kt+8|0,t6=e[W3>>2]|0,c6=t6>>>0>>0,c6&&v2(),o3=t6+12|0,J6=e[o3>>2]|0,A3=(J6|0)==(kt|0),A3||v2(),g6=K3+8|0,y6=e[g6>>2]|0,T3=(y6|0)==(kt|0),T3){e[o3>>2]=K3,e[g6>>2]=t6,Ri=K3;break}else v2();while(!1);t9=(s6|0)==0;do if(!t9){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,s9=(kt|0)==(O6|0),s9){if(e[O3>>2]=Ri,Xm=(Ri|0)==0,Xm){h9=1<>>0>>0,f9&&v2(),V9=s6+16|0,w6=e[V9>>2]|0,q6=(w6|0)==(kt|0),q6?e[V9>>2]=Ri:(a9=s6+20|0,e[a9>>2]=Ri),Y9=(Ri|0)==0,Y9)break;Q9=e[138266]|0,Qe=Ri>>>0>>0,Qe&&v2(),ge=Ri+24|0,e[ge>>2]=s6,re=kt+16|0,R9=e[re>>2]|0,w9=(R9|0)==0;do if(!w9)if(K6=R9>>>0>>0,K6)v2();else{A9=Ri+16|0,e[A9>>2]=R9,we=R9+24|0,e[we>>2]=Ri;break}while(!1);if(Me=kt+20|0,ue=e[Me>>2]|0,D9=(ue|0)==0,!D9)if(Re=e[138266]|0,Ge=ue>>>0>>0,Ge)v2();else{qe=Ri+20|0,e[qe>>2]=ue,r4=ue+24|0,e[r4>>2]=Ri;break}}while(!1);return ve=xn>>>0<16,ve?(He=xn+x4|0,J9=He|3,Ve=kt+4|0,e[Ve>>2]=J9,X1=He+4|0,he=kt+X1|0,Ue=e[he>>2]|0,Ee=Ue|1,e[he>>2]=Ee):(Z9=x4|3,v9=kt+4|0,e[v9>>2]=Z9,k4=xn|1,m0=x4|4,V4=kt+m0|0,e[V4>>2]=k4,I0=xn+x4|0,nt=kt+I0|0,e[nt>>2]=xn,Ye=e[138264]|0,Y4=(Ye|0)==0,Y4||(ze=e[138267]|0,n4=Ye>>>3,R4=n4<<1,ne=553088+(R4<<2)|0,u4=e[138262]|0,Ce=1<>2]|0,h4=e[138266]|0,oe=Te>>>0

>>0,oe?v2():(O=de,A$=Te)),e[O>>2]=ze,f4=A$+12|0,e[f4>>2]=ze,ke=ze+8|0,e[ke>>2]=A$,o4=ze+12|0,e[o4>>2]=ne),e[138264]=xn,e[138267]=v6),Pe=kt+8|0,tt=Pe,tt|0}}else Le=x4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(k9=t+11|0,I6=k9&-8,z4=e[138263]|0,fe=(z4|0)==0,fe)Le=I6;else{S4=0-I6|0,Ie=k9>>>8,z6=(Ie|0)==0,z6?_n=0:(F4=I6>>>0>16777215,F4?_n=31:(T4=Ie+1048320|0,st=T4>>>16,me=st&8,xe=Ie<>>16,_9=Z3&4,Oe=_9|me,s4=xe<<_9,d8=s4+245760|0,N4=d8>>>16,f8=N4&2,D8=Oe|f8,e8=14-D8|0,I8=s4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,_8=i8|Ot,_n=_8)),Ht=553352+(_n<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ro=S4,C$=0,Mn=0,je=86;else for(_t=(_n|0)==31,xt=_n>>>1,zt=25-xt|0,Jt=_t?0:zt,r8=I6<>2]|0,J4=Et&-8,G4=J4-I6|0,at=G4>>>0>>0,at)if(Lt=(J4|0)==(I6|0),Lt){Fo=G4,Hr=Z7,Yr=Z7,je=90;break e}else Mo=G4,Ln=Z7;else Mo=m$,Ln=Po;if(x9=Z7+20|0,b4=e[x9>>2]|0,E8=_a>>>31,x8=(Z7+16|0)+(E8<<2)|0,o8=e[x8>>2]|0,L8=(b4|0)==0,a4=(b4|0)==(o8|0),op=L8|a4,$u=op?Au:b4,s8=(o8|0)==0,Kt=_a<<1,s8){Ro=Mo,C$=$u,Mn=Ln,je=86;break}else m$=Mo,Au=$u,_a=Kt,Z7=o8,Po=Ln}while(!1);if((je|0)==86){if(Mt=(C$|0)==0,At=(Mn|0)==0,rp=Mt&At,rp){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,m4=z4&Rt,se=(m4|0)==0,se){Le=I6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,yt=ct>>>12,p4=yt&16,K4=ct>>>p4,W4=K4>>>5,ae=W4&8,P4=ae|p4,E4=K4>>>ae,gt=E4>>>2,_4=gt&4,be=P4|_4,Qt=E4>>>_4,a8=Qt>>>1,C3=a8&2,Z4=be|C3,wt=Qt>>>C3,A4=wt>>>1,j9=A4&1,$4=Z4|j9,F9=wt>>>j9,j4=$4+F9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,B$=C8,Rn=0}else B$=C$,Rn=Mn;$8=(B$|0)==0,$8?(si=Ro,q9=Rn):(Fo=Ro,Hr=B$,Yr=Rn,je=90)}if((je|0)==90)for(;;){if(je=0,Zt=Hr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,ht=ut>>>0>>0,o0=ht?ut:Fo,y$=ht?Hr:Yr,Ft=Hr+16|0,Ze=e[Ft>>2]|0,c8=(Ze|0)==0,!c8){Fo=o0,Hr=Ze,Yr=y$,je=90;continue}if(Tt=Hr+20|0,b9=e[Tt>>2]|0,g8=(b9|0)==0,g8){si=o0,q9=y$;break}else Fo=o0,Hr=b9,Yr=y$,je=90}if(et=(q9|0)==0,et)Le=I6;else if(V8=e[138264]|0,Z8=V8-I6|0,M8=si>>>0>>0,M8){u8=e[138266]|0,R8=q9>>>0>>0,R8&&v2(),l4=q9+I6|0,Y8=q9>>>0>>0,Y8||v2(),dt=q9+24|0,Nt=e[dt>>2]|0,F8=q9+12|0,Xt=e[F8>>2]|0,O4=(Xt|0)==(q9|0);do if(O4){if(ei=q9+20|0,Bi=e[ei>>2]|0,ti=(Bi|0)==0,ti)if(yi=q9+16|0,li=e[yi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else Dn=li,Qa=yi;else Dn=Bi,Qa=ei;for(;;){if(Qi=Dn+20|0,wi=e[Qi>>2]|0,u7=(wi|0)==0,!u7){Dn=wi,Qa=Qi;continue}if(vi=Dn+16|0,ci=e[vi>>2]|0,h7=(ci|0)==0,h7){Wm=Dn,u$=Qa;break}else Dn=ci,Qa=vi}if(zi=u$>>>0>>0,zi)v2();else{e[u$>>2]=0,Ti=Wm;break}}else if(C4=q9+8|0,Ae=e[C4>>2]|0,T8=Ae>>>0>>0,T8&&v2(),$i=Ae+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(q9|0),Vi||v2(),Ei=Xt+8|0,X8=e[Ei>>2]|0,Ci=(X8|0)==(q9|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=Ae,Ti=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(Ki=q9+28|0,Wi=e[Ki>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ii=(q9|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)==(q9|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=q9+16|0,J8=e[hi>>2]|0,Li=(J8|0)==0;do if(!Li)if(N8=J8>>>0>>0,N8)v2();else{di=Ti+16|0,e[di>>2]=J8,$9=J8+24|0,e[$9>>2]=Ti;break}while(!1);if(B8=q9+20|0,vt=e[B8>>2]|0,y8=(vt|0)==0,!y8)if(G8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{kr=Ti+20|0,e[kr>>2]=vt,As=vt+24|0,e[As>>2]=Ti;break}}while(!1);$s=si>>>0<16;e:do if($s)Jn=si+I6|0,ls=Jn|3,cs=q9+4|0,e[cs>>2]=ls,d1=Jn+4|0,Kn=q9+d1|0,gs=e[Kn>>2]|0,on=gs|1,e[Kn>>2]=on;else{if(us=I6|3,hs=q9+4|0,e[hs>>2]=us,ds=si|1,l0=I6|4,fs=q9+l0|0,e[fs>>2]=ds,C0=si+I6|0,Zn=q9+C0|0,e[Zn>>2]=si,jn=si>>>3,Is=si>>>0<256,Is){sn=jn<<1,Xn=553088+(sn<<2)|0,an=e[138262]|0,eo=1<>2]|0,Cs=e[138266]|0,Sr=io>>>0>>0,Sr?v2():(G=An,l$=io)),e[G>>2]=l4,$n=l$+12|0,e[$n>>2]=l4,Y0=I6+8|0,Bs=q9+Y0|0,e[Bs>>2]=l$,z0=I6+12|0,ys=q9+z0|0,e[ys>>2]=Xn;break}if(ln=si>>>8,I7=(ln|0)==0,I7?Ur=0:(Qs=si>>>0>16777215,Qs?Ur=31:(ws=ln+1048320|0,no=ws>>>16,oo=no&8,so=ln<>>16,cn=m7&4,ks=cn|oo,ao=so<>>16,Ao=Ds&2,_s=ks|Ao,xs=14-_s|0,Ls=ao<>>15,$o=xs+Ms|0,Rs=$o<<1,Fs=$o+7|0,br=si>>>Fs,un=br&1,Ts=un|Rs,Ur=Ts)),or=553352+(Ur<<2)|0,f1=I6+28|0,Ns=q9+f1|0,e[Ns>>2]=Ur,M1=I6+16|0,lo=q9+M1|0,x1=I6+20|0,hn=q9+x1|0,e[hn>>2]=0,e[lo>>2]=0,co=e[138263]|0,dn=1<>2]=l4,V1=I6+24|0,ho=q9+V1|0,e[ho>>2]=or,s2=I6+12|0,fo=q9+s2|0,e[fo>>2]=l4,O1=I6+8|0,Ps=q9+O1|0,e[Ps>>2]=l4;break}Dr=e[or>>2]|0,Io=Dr+4|0,p7=e[Io>>2]|0,fn=p7&-8,_r=(fn|0)==(si|0);t:do if(_r)Ni=Dr;else{for(xr=(Ur|0)==31,K7=Ur>>>1,Lr=25-K7|0,mo=xr?0:Lr,W7=si<>>31,E7=(h$+16|0)+(Rr<<2)|0,i7=e[E7>>2]|0,Os=(i7|0)==0,Os){k=E7,Zm=h$;break}if(D7=c$<<1,_7=i7+4|0,x7=e[_7>>2]|0,Mr=x7&-8,Ar=(Mr|0)==(si|0),Ar){Ni=i7;break t}else c$=D7,h$=i7}if(fi=e[138266]|0,Al=k>>>0>>0,Al)v2();else{e[k>>2]=l4,E0=I6+24|0,In=q9+E0|0,e[In>>2]=Zm,H0=I6+12|0,mn=q9+H0|0,e[mn>>2]=l4,V0=I6+8|0,Ou=q9+V0|0,e[Ou>>2]=l4;break e}}while(!1);if($l=Ni+8|0,lA=e[$l>>2]|0,ll=e[138266]|0,Hu=lA>>>0>=ll>>>0,ou=Ni>>>0>=ll>>>0,Vu=Hu&ou,Vu){Yu=lA+12|0,e[Yu>>2]=l4,e[$l>>2]=l4,h2=I6+8|0,cA=q9+h2|0,e[cA>>2]=lA,I2=I6+12|0,cl=q9+I2|0,e[cl>>2]=Ni,y0=I6+24|0,gl=q9+y0|0,e[gl>>2]=0;break}else v2()}while(!1);return gA=q9+8|0,tt=gA,tt|0}else Le=I6}while(!1);if(pn=e[138264]|0,zu=pn>>>0>>0,!zu)return Hs=pn-Le|0,$r=e[138267]|0,Ju=Hs>>>0>15,Ju?(Ku=$r+Le|0,e[138267]=Ku,e[138264]=Hs,Wu=Hs|1,p1=Le+4|0,Zu=$r+p1|0,e[Zu>>2]=Wu,ju=$r+pn|0,e[ju>>2]=Hs,Xu=Le|3,eh=$r+4|0,e[eh>>2]=Xu):(e[138264]=0,e[138267]=0,ih=pn|3,rh=$r+4|0,e[rh>>2]=ih,g0=pn+4|0,hl=$r+g0|0,Fr=e[hl>>2]|0,nh=Fr|1,e[hl>>2]=nh),oh=$r+8|0,tt=oh,tt|0;if(dl=e[138265]|0,sh=dl>>>0>Le>>>0,sh)return uA=dl-Le|0,e[138265]=uA,Vs=e[138268]|0,ah=Vs+Le|0,e[138268]=ah,Ah=uA|1,Y=Le+4|0,dA=Vs+Y|0,e[dA>>2]=Ah,fl=Le|3,Il=Vs+4|0,e[Il>>2]=fl,ml=Vs+8|0,tt=ml,tt|0;fA=e[138380]|0,pl=(fA|0)==0;do if(pl)if(Ys=xS(30)|0,$h=Ys+-1|0,El=$h&Ys,ch=(El|0)==0,ch){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,gh=hy(0)|0,Cl=gh&-16,uh=Cl^1431655768,e[138380]=uh;break}else v2();while(!1);if(hh=Le+48|0,Bl=e[138382]|0,yl=Le+47|0,Ql=Bl+yl|0,wl=0-Bl|0,En=Ql&wl,dh=En>>>0>Le>>>0,!dh||(kl=e[138372]|0,fh=(kl|0)==0,!fh&&(Sl=e[138370]|0,bl=Sl+En|0,Ih=bl>>>0<=Sl>>>0,mh=bl>>>0>kl>>>0,ba=Ih|mh,ba)))return tt=0,tt|0;ph=e[138373]|0,IA=ph&4,_l=(IA|0)==0;e:do if(_l){po=e[138268]|0,xl=(po|0)==0;t:do if(xl)je=174;else{for(To=553496;;){if(mA=e[To>>2]|0,Eh=mA>>>0>po>>>0,!Eh&&(Ll=To+4|0,Ch=e[Ll>>2]|0,Ml=mA+Ch|0,Bh=Ml>>>0>po>>>0,Bh)){b=To,D=Ll;break}if(yh=To+8|0,Fl=e[yh>>2]|0,Qh=(Fl|0)==0,Qh){je=174;break t}else To=Fl}if(Fh=e[138265]|0,Th=Ql-Fh|0,Ws=Th&wl,Nh=Ws>>>0<2147483647,Nh)if(Zs=Oi(Ws|0)|0,Gh=e[b>>2]|0,Ph=e[D>>2]|0,Oh=Gh+Ph|0,Vl=(Zs|0)==(Oh|0),o=Vl?Ws:0,Vl)if(qh=(Zs|0)==-1,qh)Vr=o;else{h6=Zs,L4=o,je=194;break e}else va=Zs,s7=Ws,xa=o,je=184;else Vr=0}while(!1);do if((je|0)==174)if(zs=Oi(0)|0,wh=(zs|0)==-1,wh)Vr=0;else if(pA=zs,Tl=e[138381]|0,Nl=Tl+-1|0,vh=Nl&pA,kh=(vh|0)==0,kh?qr=En:(Sh=Nl+pA|0,Dh=0-Tl|0,_h=Sh&Dh,Js=En-pA|0,Gl=Js+_h|0,qr=Gl),Ul=e[138370]|0,Pl=Ul+qr|0,Ks=qr>>>0>Le>>>0,xh=qr>>>0<2147483647,np=Ks&xh,np){if(Ol=e[138372]|0,Lh=(Ol|0)==0,!Lh&&(Mh=Pl>>>0<=Ul>>>0,Rh=Pl>>>0>Ol>>>0,sp=Mh|Rh,sp)){Vr=0;break}if(Hl=Oi(qr|0)|0,EA=(Hl|0)==(zs|0),lu=EA?qr:0,EA){h6=zs,L4=lu,je=194;break e}else va=Hl,s7=qr,xa=lu,je=184}else Vr=0;while(!1);t:do if((je|0)==184){Hh=0-s7|0,Vh=(va|0)!=-1,Yh=s7>>>0<2147483647,Ap=Yh&Vh,Yl=hh>>>0>s7>>>0,$p=Yl&Ap;do if($p)if(zl=e[138382]|0,lr=yl-s7|0,js=lr+zl|0,BA=0-zl|0,yA=js&BA,Cn=yA>>>0<2147483647,Cn)if(Kl=Oi(yA|0)|0,Bn=(Kl|0)==-1,Bn){Oi(Hh|0)|0,Vr=xa;break t}else{zh=yA+s7|0,p$=zh;break}else p$=s7;else p$=s7;while(!1);if(Wl=(va|0)==-1,Wl)Vr=xa;else{h6=va,L4=p$,je=194;break e}}while(!1);Jh=e[138373]|0,Kh=Jh|4,e[138373]=Kh,cu=Vr,je=191}else cu=0,je=191;while(!1);if((je|0)==191&&(Zh=En>>>0<2147483647,Zh&&(Xs=Oi(En|0)|0,QA=Oi(0)|0,Tr=(Xs|0)!=-1,jh=(QA|0)!=-1,ap=Tr&jh,Xh=Xs>>>0>>0,lp=Xh&ap,lp&&(Zl=QA,wA=Xs,jl=Zl-wA|0,Xl=Le+40|0,ec=jl>>>0>Xl>>>0,C2=ec?jl:cu,ec&&(h6=Xs,L4=C2,je=194)))),(je|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),K9=e[138268]|0,nd=(K9|0)==0;e:do if(nd){for(tc=e[138266]|0,od=(tc|0)==0,sd=h6>>>0>>0,cp=od|sd,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,ic=553088+(SA<<2)|0,h0=SA+3|0,Ad=553088+(h0<<2)|0,e[Ad>>2]=ic,n0=SA+2|0,$d=553088+(n0<<2)|0,e[$d>>2]=ic,rc=Sa+1|0,tp=(rc|0)==32,!tp;)Sa=rc;nc=L4+-40|0,ld=h6+8|0,bA=ld,DA=bA&7,sc=(DA|0)==0,cd=0-bA|0,ac=cd&7,_A=sc?0:ac,gd=h6+_A|0,Ac=nc-_A|0,e[138268]=gd,e[138265]=Ac,ud=Ac|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(Go=553496;;){if(lc=e[Go>>2]|0,xA=Go+4|0,ea=e[xA>>2]|0,cc=lc+ea|0,Id=(h6|0)==(cc|0),Id){E=lc,y=xA,B=ea,gp=Go,je=204;break}if(gc=Go+8|0,uc=e[gc>>2]|0,md=(uc|0)==0,md)break;Go=uc}if((je|0)==204&&(pd=gp+12|0,Ed=e[pd>>2]|0,Cd=Ed&8,Bd=(Cd|0)==0,Bd&&(yd=K9>>>0>=E>>>0,Qd=K9>>>0
>>0,au=Qd&yd,au))){wd=B+L4|0,e[y>>2]=wd,vd=e[138265]|0,dc=vd+L4|0,kd=K9+8|0,fc=kd,Sd=fc&7,bd=(Sd|0)==0,Ic=0-fc|0,Dd=Ic&7,Eo=bd?0:Dd,mc=K9+Eo|0,LA=dc-Eo|0,e[138268]=mc,e[138265]=LA,_d=LA|1,c0=Eo+4|0,ta=K9+c0|0,e[ta>>2]=_d,a1=dc+4|0,MA=K9+a1|0,e[MA>>2]=40,xd=e[138384]|0,e[138269]=xd;break}for(pc=e[138266]|0,Ld=h6>>>0>>0,Ld?(e[138266]=h6,Qo=h6):Qo=pc,Md=h6+L4|0,Uo=553496;;){if(Rd=e[Uo>>2]|0,Fd=(Rd|0)==(Md|0),Fd){I=Uo,fr=Uo,je=212;break}if(Td=Uo+8|0,Ec=e[Td>>2]|0,Nd=(Ec|0)==0,Nd){No=553496;break}else Uo=Ec}if((je|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,Cc=Hd,Vd=Cc&7,Yd=(Vd|0)==0,zd=0-Cc|0,Kd=zd&7,ra=Yd?0:Kd,Wd=h6+ra|0,B0=L4+8|0,Zd=h6+B0|0,Bc=Zd,jd=Bc&7,Xd=(jd|0)==0,ef=0-Bc|0,tf=ef&7,C7=Xd?0:tf,x0=C7+L4|0,B7=h6+x0|0,Qc=B7,NA=Wd,rf=Qc-NA|0,$0=ra+Le|0,r7=h6+$0|0,Bo=rf-Le|0,nf=Le|3,p0=ra+4|0,of=h6+p0|0,e[of>>2]=nf,sf=(B7|0)==(K9|0);t:do if(sf)af=e[138265]|0,wc=af+Bo|0,e[138265]=wc,e[138268]=r7,$f=wc|1,H1=$0+4|0,lf=h6+H1|0,e[lf>>2]=$f;else{if(vc=e[138267]|0,cf=(B7|0)==(vc|0),cf){gf=e[138264]|0,yo=gf+Bo|0,e[138264]=yo,e[138267]=r7,GA=yo|1,K1=$0+4|0,uf=h6+K1|0,e[uf>>2]=GA,q1=yo+$0|0,kc=h6+q1|0,e[kc>>2]=yo;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){Sc=na&-8,bc=na>>>3,mf=na>>>0<256;i:do if(mf){U1=C7|8,W0=U1+L4|0,pf=h6+W0|0,Qn=e[pf>>2]|0,D1=L4+12|0,K0=D1+C7|0,Ef=h6+K0|0,wn=e[Ef>>2]|0,Bf=bc<<1,Dc=553088+(Bf<<2)|0,yf=(Qn|0)==(Dc|0);do if(!yf){if(Qf=Qn>>>0>>0,Qf&&v2(),_c=Qn+12|0,wf=e[_c>>2]|0,xc=(wf|0)==(B7|0),xc)break;v2()}while(!1);if(vf=(wn|0)==(Qn|0),vf){UA=1<>>0>>0,bf&&v2(),Rc=wn+8|0,Df=e[Rc>>2]|0,_f=(Df|0)==(B7|0),_f){H=Rc;break}v2()}while(!1);xf=Qn+12|0,e[xf>>2]=wn,e[H>>2]=Qn}else{R1=C7|24,R0=R1+L4|0,Lf=h6+R0|0,wo=e[Lf>>2]|0,Y1=L4+12|0,v0=Y1+C7|0,Mf=h6+v0|0,vn=e[Mf>>2]|0,Rf=(vn|0)==(B7|0);do if(Rf){if(e2=C7|16,M0=$1+e2|0,Uc=h6+M0|0,Pc=e[Uc>>2]|0,Uf=(Pc|0)==0,Uf)if(P0=e2+L4|0,Oc=h6+P0|0,qc=e[Oc>>2]|0,Pf=(qc|0)==0,Pf){Fi=0;break}else bn=qc,ya=Oc;else bn=Pc,ya=Uc;for(;;){if(Hc=bn+20|0,Vc=e[Hc>>2]|0,qf=(Vc|0)==0,!qf){bn=Vc,ya=Hc;continue}if(Yc=bn+16|0,zc=e[Yc>>2]|0,Hf=(zc|0)==0,Hf){Km=bn,iu=ya;break}else bn=zc,ya=Yc}if(Vf=iu>>>0>>0,Vf)v2();else{e[iu>>2]=0,Fi=Km;break}}else if(F1=C7|8,N0=F1+L4|0,Ff=h6+N0|0,PA=e[Ff>>2]|0,Tf=PA>>>0>>0,Tf&&v2(),OA=PA+12|0,qA=e[OA>>2]|0,Tc=(qA|0)==(B7|0),Tc||v2(),Nc=vn+8|0,Gf=e[Nc>>2]|0,Gc=(Gf|0)==(B7|0),Gc){e[OA>>2]=vn,e[Nc>>2]=PA,Fi=vn;break}else v2();while(!1);if(Jc=(wo|0)==0,Jc)break;b1=L4+28|0,U0=b1+C7|0,HA=h6+U0|0,Kc=e[HA>>2]|0,jc=553352+(Kc<<2)|0,Yf=e[jc>>2]|0,zf=(B7|0)==(Yf|0);do if(zf){if(e[jc>>2]=Fi,ep=(Fi|0)==0,!ep)break;Jf=1<>>0>>0,Xf&&v2(),Xc=wo+16|0,eI=e[Xc>>2]|0,tI=(eI|0)==(B7|0),tI?e[Xc>>2]=Fi:(iI=wo+20|0,e[iI>>2]=Fi),eg=(Fi|0)==0,eg)break i;while(!1);tg=e[138266]|0,rI=Fi>>>0>>0,rI&&v2(),ig=Fi+24|0,e[ig>>2]=wo,_1=C7|16,O0=_1+L4|0,YA=h6+O0|0,oa=e[YA>>2]|0,rg=(oa|0)==0;do if(!rg)if(oI=oa>>>0>>0,oI)v2();else{sI=Fi+16|0,e[sI>>2]=oa,aI=oa+24|0,e[aI>>2]=Fi;break}while(!1);if(J0=$1+_1|0,ng=h6+J0|0,sa=e[ng>>2]|0,AI=(sa|0)==0,AI)break;if($I=e[138266]|0,lI=sa>>>0<$I>>>0,lI)v2();else{cI=Fi+20|0,e[cI>>2]=sa,gI=sa+24|0,e[gI>>2]=Fi;break}}while(!1);A2=Sc|C7,T0=A2+L4|0,hI=h6+T0|0,dI=Sc+Bo|0,su=hI,o7=dI}else su=B7,o7=Bo;if(og=su+4|0,fI=e[og>>2]|0,II=fI&-2,e[og>>2]=II,mI=o7|1,D0=$0+4|0,pI=h6+D0|0,e[pI>>2]=mI,Q0=o7+$0|0,aa=h6+Q0|0,e[aa>>2]=o7,sg=o7>>>3,EI=o7>>>0<256,EI){kn=sg<<1,ag=553088+(kn<<2)|0,Ag=e[138262]|0,zA=1<>2]|0,QI=e[138266]|0,vI=cg>>>0>>0,!vI){F=lg,$$=cg;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}JA=o7>>>8,bI=(JA|0)==0;do if(bI)Pr=0;else{if(DI=o7>>>0>16777215,DI){Pr=31;break}_I=JA+1048320|0,xI=_I>>>16,gg=xI&8,ug=JA<>>16,hg=RI&4,Nr=hg|gg,dg=ug<>>16,Ig=FI&2,$a=Nr|Ig,NI=14-$a|0,GI=dg<>>15,mg=NI+la|0,UI=mg<<1,PI=mg+7|0,pg=o7>>>PI,OI=pg&1,qI=OI|UI,Pr=qI}while(!1);if(KA=553352+(Pr<<2)|0,S0=$0+28|0,HI=h6+S0|0,e[HI>>2]=Pr,j0=$0+16|0,VI=h6+j0|0,q0=$0+20|0,YI=h6+q0|0,e[YI>>2]=0,e[VI>>2]=0,Eg=e[138263]|0,Cg=1<>2]=r7,s1=$0+24|0,vo=h6+s1|0,e[vo>>2]=KA,r1=$0+12|0,KI=h6+r1|0,e[KI>>2]=r7,o1=$0+8|0,WI=h6+o1|0,e[WI>>2]=r7;break}WA=e[KA>>2]|0,Qg=WA+4|0,ZI=e[Qg>>2]|0,jI=ZI&-8,XI=(jI|0)==(o7|0);i:do if(XI)Or=WA;else{for(em=(Pr|0)==31,wg=Pr>>>1,tm=25-wg|0,im=em?0:tm,rm=o7<>>31,Dg=(d$+16|0)+(bg<<2)|0,ko=e[Dg>>2]|0,L7=(ko|0)==0,L7){a=Dg,jm=d$;break}if(nm=Lo<<1,om=ko+4|0,kg=e[om>>2]|0,Sg=kg&-8,sm=(Sg|0)==(o7|0),sm){Or=ko;break i}else Lo=nm,d$=ko}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=Or+8|0,ua=e[ZA>>2]|0,xg=e[138266]|0,Lg=ua>>>0>=xg>>>0,I$=Or>>>0>=xg>>>0,cm=Lg&I$,cm){So=ua+12|0,e[So>>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]=Or,m1=$0+24|0,jA=h6+m1|0,e[jA>>2]=0;break}else v2()}while(!1);return u1=ra|8,um=h6+u1|0,tt=um,tt|0}else No=553496;for(;;){if(XA=e[No>>2]|0,hm=XA>>>0>K9>>>0,!hm&&(dm=No+4|0,Mg=e[dm>>2]|0,fa=XA+Mg|0,fm=fa>>>0>K9>>>0,fm)){g=XA,d=Mg,m=fa;break}Im=No+8|0,mm=e[Im>>2]|0,No=mm}if(u0=d+-47|0,d0=d+-39|0,pm=g+d0|0,Fg=pm,Em=Fg&7,oi=(Em|0)==0,De=0-Fg|0,n7=De&7,Cm=oi?0:n7,c1=u0+Cm|0,Ng=g+c1|0,e$=K9+16|0,Bm=Ng>>>0>>0,Gr=Bm?K9:Ng,bo=Gr+8|0,ym=L4+-40|0,Qm=h6+8|0,Gg=Qm,t$=Gg&7,wm=(t$|0)==0,Pg=0-Gg|0,Og=Pg&7,i$=wm?0:Og,r$=h6+i$|0,qg=ym-i$|0,e[138268]=r$,e[138265]=qg,Do=qg|1,i0=i$+4|0,n$=h6+i0|0,e[n$>>2]=Do,A1=L4+-36|0,Hg=h6+A1|0,e[Hg>>2]=40,vm=e[138384]|0,e[138269]=vm,Sn=Gr+4|0,e[Sn>>2]=27,e[bo>>2]=e[138374]|0,e[bo+4>>2]=e[138375]|0,e[bo+8>>2]=e[138376]|0,e[bo+12>>2]=e[138377]|0,e[138374]=h6,e[138375]=L4,e[138377]=0,e[138376]=bo,Vg=Gr+28|0,e[Vg>>2]=7,Ia=Gr+32|0,Sm=Ia>>>0>>0,Sm)for(M7=Vg;Yg=M7+4|0,e[Yg>>2]=7,bm=M7+8|0,Dm=bm>>>0>>0,Dm;)M7=Yg;if(_m=(Gr|0)==(K9|0),!_m){if(xm=Gr,Lm=K9,R7=xm-Lm|0,Rm=e[Sn>>2]|0,Fm=Rm&-2,e[Sn>>2]=Fm,Tm=R7|1,zg=K9+4|0,e[zg>>2]=Tm,e[Gr>>2]=R7,y7=R7>>>3,ma=R7>>>0<256,ma){o$=y7<<1,Jg=553088+(o$<<2)|0,Kg=e[138262]|0,Wg=1<>2]|0,Pm=e[138266]|0,Om=Xg>>>0>>0,Om?v2():(L=jg,a$=Xg)),e[L>>2]=K9,eu=a$+12|0,e[eu>>2]=K9,qm=K9+8|0,e[qm>>2]=a$,pa=K9+12|0,e[pa>>2]=Jg;break}if(Ea=R7>>>8,Hm=(Ea|0)==0,Hm?ur=0:(s$=R7>>>0>16777215,s$?ur=31:(Vm=Ea+1048320|0,Ym=Vm>>>16,tu=Ym&8,xo=Ea<>>16,g2=Jm&4,o2=g2|tu,l2=xo<>>16,m2=a2&2,r2=o2|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)),J2=553352+(ur<<2)|0,U2=K9+28|0,e[U2>>2]=ur,V2=K9+20|0,e[V2>>2]=0,e[e$>>2]=0,Z2=e[138263]|0,Y2=1<>2]=K9,i5=K9+24|0,e[i5>>2]=J2,x5=K9+12|0,e[x5>>2]=K9,j2=K9+8|0,e[j2>>2]=K9;break}m5=e[J2>>2]|0,b5=m5+4|0,V5=e[b5>>2]|0,b2=V5&-8,B5=(b2|0)==(R7|0);t:do if(B5)wa=m5;else{for(s5=(ur|0)==31,F2=ur>>>1,R2=25-F2|0,Q2=s5?0:R2,y5=R7<>>31,h5=(f$+16|0)+($5<<2)|0,L5=e[h5>>2]|0,Q5=(L5|0)==0,Q5){$=h5,nu=f$;break}if(N5=g$<<1,p5=L5+4|0,M5=e[p5>>2]|0,z2=M5&-8,E5=(z2|0)==(R7|0),E5){wa=L5;break t}else g$=N5,f$=L5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=K9,d5=K9+24|0,e[d5>>2]=nu,l5=K9+12|0,e[l5>>2]=K9,d2=K9+8|0,e[d2>>2]=K9;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,K2=f5&ip,K2){I5=r5+12|0,e[I5>>2]=K9,e[w5>>2]=K9,n5=K9+8|0,e[n5>>2]=r5,R5=K9+12|0,e[R5>>2]=wa,e5=K9+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(T2=e[138265]|0,v5=T2>>>0>Le>>>0,v5)return z5=T2-Le|0,e[138265]=z5,i3=e[138268]|0,C5=i3+Le|0,e[138268]=C5,I3=z5|1,X=Le+4|0,d3=i3+X|0,e[d3>>2]=I3,W5=Le|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=uy()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){Y=t+-8|0,W2=e[138266]|0,v6=Y>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,re=f9&3,Ge=(re|0)==1,Ge&&v2(),Z9=f9&-8,y=Z9+-8|0,ne=t+y|0,h0=f9&1,n0=(h0|0)==0;do if(n0){if(x0=e[Y>>2]|0,M0=(re|0)==0,M0)return;if(Q=-8-x0|0,L0=t+Q|0,X0=x0+Z9|0,b1=L0>>>0>>0,b1&&v2(),q1=e[138267]|0,A2=(L0|0)==(q1|0),A2){if(t0=Z9+-4|0,c0=t+t0|0,$0=e[c0>>2]|0,l0=$0&3,X=(l0|0)==3,!X){Z3=L0,_9=X0;break}e[138264]=X0,m0=$0&-2,e[c0>>2]=m0,g0=X0|1,x=Q+4|0,I0=t+x|0,e[I0>>2]=g0,e[ne>>2]=X0;return}if(a2=x0>>>3,q2=x0>>>0<256,q2){if(Z=Q+8|0,x5=t+Z|0,Q2=e[x5>>2]|0,A0=Q+12|0,Q5=t+A0|0,K2=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,J6=(R3|0)==(L0|0),J6||v2()),X6=(K2|0)==(Q2|0),X6){V6=1<>>0>>0,F6&&v2(),t9=K2+8|0,P6=e[t9>>2]|0,O3=(P6|0)==(L0|0),O3?g=t9:v2()),O6=Q2+12|0,e[O6>>2]=K2,e[g>>2]=Q2,Z3=L0,_9=X0;break}M=Q+24|0,s9=t+M|0,h9=e[s9>>2]|0,L=Q+12|0,n9=t+L|0,C9=e[n9>>2]|0,B9=(C9|0)==(L0|0);do if(B9){if(G=Q+20|0,ge=t+G|0,pe=e[ge>>2]|0,z9=(pe|0)==0,z9)if(F=Q+16|0,R9=t+F|0,w9=e[R9>>2]|0,K6=(w9|0)==0,K6){k9=0;break}else Pe=w9,S4=R9;else Pe=pe,S4=ge;for(;;){if(A9=Pe+20|0,we=e[A9>>2]|0,Me=(we|0)==0,!Me){Pe=we,S4=A9;continue}if(ue=Pe+16|0,D9=e[ue>>2]|0,Re=(D9|0)==0,Re){I4=Pe,Se=S4;break}else Pe=D9,S4=ue}if(Fe=Se>>>0>>0,Fe)v2();else{e[Se>>2]=0,k9=I4;break}}else if(J=Q+8|0,y9=t+J|0,d9=e[y9>>2]|0,V9=d9>>>0>>0,V9&&v2(),w6=d9+12|0,q6=e[w6>>2]|0,a9=(q6|0)==(L0|0),a9||v2(),Y9=C9+8|0,Q9=e[Y9>>2]|0,Qe=(Q9|0)==(L0|0),Qe){e[w6>>2]=C9,e[Y9>>2]=d9,k9=C9;break}else v2();while(!1);if(qe=(h9|0)==0,qe)Z3=L0,_9=X0;else{if(O=Q+28|0,r4=t+O|0,ve=e[r4>>2]|0,He=553352+(ve<<2)|0,J9=e[He>>2]|0,Ve=(L0|0)==(J9|0),Ve){if(e[He>>2]=k9,me=(k9|0)==0,me){he=1<>>0>>0,k4&&v2(),V4=h9+16|0,nt=e[V4>>2]|0,Ye=(nt|0)==(L0|0),Ye?e[V4>>2]=k9:(Y4=h9+20|0,e[Y4>>2]=k9),ze=(k9|0)==0,ze){Z3=L0,_9=X0;break}n4=e[138266]|0,R4=k9>>>0>>0,R4&&v2(),ot=k9+24|0,e[ot>>2]=h9,H=Q+16|0,u4=t+H|0,Ce=e[u4>>2]|0,T6=(Ce|0)==0;do if(!T6)if(Je=Ce>>>0>>0,Je)v2();else{O9=k9+16|0,e[O9>>2]=Ce,de=Ce+24|0,e[de>>2]=k9;break}while(!1);if(V=Q+20|0,Te=t+V|0,h4=e[Te>>2]|0,oe=(h4|0)==0,oe)Z3=L0,_9=X0;else if(d4=e[138266]|0,i0=h4>>>0>>0,i0)v2();else{e0=k9+20|0,e[e0>>2]=h4,u0=h4+24|0,e[u0>>2]=k9,Z3=L0,_9=X0;break}}}else Z3=Y,_9=Z9;while(!1);if(d0=Z3>>>0>>0,d0||v2(),_=Z9+-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=(ne|0)==(Q0|0),w0){if(B0=e[138265]|0,Z0=B0+_9|0,e[138265]=Z0,e[138268]=Z3,R0=Z0|1,v0=Z3+4|0,e[v0>>2]=R0,N0=e[138267]|0,U0=(Z3|0)==(N0|0),!U0)return;e[138267]=0,e[138264]=0;return}if(O0=e[138267]|0,H0=(ne|0)==(O0|0),H0){S0=e[138264]|0,J0=S0+_9|0,e[138264]=J0,e[138267]=Z3,T0=J0|1,P0=Z3+4|0,e[P0>>2]=T0,W0=Z3+J0|0,e[W0>>2]=J0;return}K0=C0&-8,V0=K0+_9|0,j0=C0>>>3,q0=C0>>>0<256;do if(q0){if(Y0=t+Z9|0,s1=e[Y0>>2]|0,w=Z9|4,z0=t+w|0,r1=e[z0>>2]|0,o1=j0<<1,d1=553088+(o1<<2)|0,u1=(s1|0)==(d1|0),u1||(p1=e[138266]|0,f1=s1>>>0>>0,f1&&v2(),h1=s1+12|0,A1=e[h1>>2]|0,c1=(A1|0)==(ne|0),c1||v2()),a1=(r1|0)==(s1|0),a1){$1=1<>>0>>0,v1&&v2(),k1=r1+8|0,S1=e[k1>>2]|0,L1=(S1|0)==(ne|0),L1?$=k1:v2()),M1=s1+12|0,e[M1>>2]=r1,e[$>>2]=s1}else{j=Z9+16|0,_1=t+j|0,R1=e[_1>>2]|0,r0=Z9|4,F1=t+r0|0,U1=e[F1>>2]|0,D1=(U1|0)==(ne|0);do if(D1){if(K=Z9+12|0,e2=t+K|0,O1=e[e2>>2]|0,h2=(O1|0)==0,h2)if(s0=Z9+8|0,Z1=t+s0|0,I2=e[Z1>>2]|0,C2=(I2|0)==0,C2){fe=0;break}else I6=I2,Ie=Z1;else I6=O1,Ie=e2;for(;;){if($2=I6+20|0,W1=e[$2>>2]|0,f2=(W1|0)==0,!f2){I6=W1,Ie=$2;continue}if(c2=I6+16|0,n2=e[c2>>2]|0,g2=(n2|0)==0,g2){z4=I6,z6=Ie;break}else I6=n2,Ie=c2}if(o2=e[138266]|0,l2=z6>>>0>>0,l2)v2();else{e[z6>>2]=0,fe=z4;break}}else if(P1=t+Z9|0,X1=e[P1>>2]|0,G1=e[138266]|0,x1=X1>>>0>>0,x1&&v2(),K1=X1+12|0,H1=e[K1>>2]|0,V1=(H1|0)==(ne|0),V1||v2(),Y1=U1+8|0,t2=e[Y1>>2]|0,s2=(t2|0)==(ne|0),s2){e[K1>>2]=U1,e[Y1>>2]=X1,fe=U1;break}else v2();while(!1);if(i2=(R1|0)==0,!i2){if(b=Z9+20|0,m2=t+b|0,r2=e[m2>>2]|0,k2=553352+(r2<<2)|0,D2=e[k2>>2]|0,S2=(ne|0)==(D2|0),S2){if(e[k2>>2]=fe,xe=(fe|0)==0,xe){y2=1<>>0>>0,J2&&v2(),U2=R1+16|0,V2=e[U2>>2]|0,Z2=(V2|0)==(ne|0),Z2?e[U2>>2]=fe:(A5=R1+20|0,e[A5>>2]=fe),Y2=(fe|0)==0,Y2)break;N1=e[138266]|0,t5=fe>>>0>>0,t5&&v2(),T5=fe+24|0,e[T5>>2]=R1,D=Z9+8|0,i5=t+D|0,j2=e[i5>>2]|0,m5=(j2|0)==0;do if(!m5)if(b5=j2>>>0>>0,b5)v2();else{V5=fe+16|0,e[V5>>2]=j2,u5=j2+24|0,e[u5>>2]=fe;break}while(!1);if(k=Z9+12|0,b2=t+k|0,B5=e[b2>>2]|0,s5=(B5|0)==0,!s5)if(F2=e[138266]|0,R2=B5>>>0>>0,R2)v2();else{y5=fe+20|0,e[y5>>2]=B5,N5=B5+24|0,e[N5>>2]=fe;break}}}while(!1);if(p5=V0|1,L5=Z3+4|0,e[L5>>2]=p5,q5=Z3+V0|0,e[q5>>2]=V0,M5=e[138267]|0,z2=(Z3|0)==(M5|0),z2){e[138264]=V0;return}else S9=V0}else E5=C0&-2,e[p0>>2]=E5,$5=_9|1,h5=Z3+4|0,e[h5>>2]=$5,T1=Z3+_9|0,e[T1>>2]=_9,S9=_9;if(D5=S9>>>3,d5=S9>>>0<256,d5){l5=D5<<1,X2=553088+(l5<<2)|0,d2=e[138262]|0,w5=1<>2]|0,R5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(d=I5,f4=n5)),e[d>>2]=Z3,c5=f4+12|0,e[c5>>2]=Z3,T2=Z3+8|0,e[T2>>2]=f4,v5=Z3+12|0,e[v5>>2]=X2;return}z5=S9>>>8,i3=(z5|0)==0,i3?ke=0:(C5=S9>>>0>16777215,C5?ke=31:(d3=z5+1048320|0,W5=d3>>>16,r3=W5&8,a3=z5<>>16,Z5=G5&4,x3=Z5|r3,f3=a3<>>16,X5=H3&2,_3=x3|X5,t3=14-_3|0,a6=f3<>>15,V3=t3+G3|0,c3=V3<<1,g3=V3+7|0,u3=S9>>>g3,J5=u3&1,H5=J5|c3,ke=H5)),Y5=553352+(ke<<2)|0,S5=Z3+28|0,e[S5>>2]=ke,Y3=Z3+16|0,U5=Z3+20|0,e[U5>>2]=0,e[Y3>>2]=0,l6=e[138263]|0,n3=1<>2]=Z3,L3=Z3+24|0,e[L3>>2]=Y5,D3=Z3+12|0,e[D3>>2]=Z3,A6=Z3+8|0,e[A6>>2]=Z3;else{r6=e[Y5>>2]|0,z3=r6+4|0,j5=e[z3>>2]|0,M3=j5&-8,h3=(M3|0)==(S9|0);t:do if(h3)F4=r6;else{for(J3=(ke|0)==31,m3=ke>>>1,x6=25-m3|0,L6=J3?0:x6,M6=S9<>>31,s6=(T4+16|0)+(o6<<2)|0,f6=e[s6>>2]|0,B6=(f6|0)==0,B6){o=s6,st=T4;break}if(S6=o4<<1,n6=f6+4|0,b6=e[n6>>2]|0,N6=b6&-8,j6=(N6|0)==(S9|0),j6){F4=f6;break t}else o4=S6,T4=f6}if(K3=e[138266]|0,F3=o>>>0>>0,F3)v2();else{e[o>>2]=Z3,W3=Z3+24|0,e[W3>>2]=st,t6=Z3+12|0,e[t6>>2]=Z3,R6=Z3+8|0,e[R6>>2]=Z3;break e}}while(!1);if(c6=F4+8|0,o3=e[c6>>2]|0,A3=e[138266]|0,g6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,y6=g6&mt,y6){T3=o3+12|0,e[T3>>2]=Z3,e[c6>>2]=Z3,H6=Z3+8|0,e[H6>>2]=o3,$6=Z3+12|0,e[$6>>2]=F4,D6=Z3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,e9=G6+-1|0,e[138270]=e9,Q6=(e9|0)==0,Q6)s4=553504;else return;for(;Oe=e[s4>>2]|0,P3=(Oe|0)==0,r9=Oe+8|0,!P3;)s4=r9;e[138270]=-1}}function le(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0;return x=C,$=(t|0)==0,$?_=0:(g=o5(o,t)|0,I=o|t,E=I>>>0>65535,E?(y=(g>>>0)/(t>>>0)&-1,B=(y|0)==(o|0),a=B?g:-1,_=a):_=g),b=M9(_)|0,D=(b|0)==0,D||(k=b+-4|0,w=e[k>>2]|0,d=w&3,m=(d|0)==0,m)||g4(b|0,0,_|0)|0,b|0}function J7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0;return Z=C,a=(t|0)==0,a?($=M9(o)|0,J=$,J|0):(w=o>>>0>4294967231,w?(M=uy()|0,e[M>>2]=12,J=0,J|0):(L=o>>>0<11,F=o+11|0,G=F&-8,O=L?16:G,H=t+-8|0,V=ED(H,O)|0,g=(V|0)==0,g?(m=M9(o)|0,I=(m|0)==0,I?(J=0,J|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,x=Q?_:o,ce(m|0,t|0,x|0)|0,E2(t),J=m,J|0)):(d=V+8|0,J=d,J|0)))}function ED(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H=t+4|0,V=e[H>>2]|0,D1=V&-8,s2=t+D1|0,c2=e[138266]|0,S2=V&3,I3=t>>>0>=c2>>>0,d3=(S2|0)!=1,W5=d3&I3,Z2=t>>>0>>0,r3=W5&Z2,r3||v2(),x=D1|4,V5=t+x|0,L5=e[V5>>2]|0,l5=L5&1,J=(l5|0)==0,J&&v2(),i0=(S2|0)==0,i0)return d0=o>>>0<256,d0?(C5=0,C5|0):(Z0=o+4|0,P0=D1>>>0>>0,!P0&&(o1=D1-o|0,B1=e[138382]|0,_1=B1<<1,F1=o1>>>0>_1>>>0,!F1)?(C5=t,C5|0):(C5=0,C5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,X1=P1>>>0>15,X1?(G1=t+o|0,x1=V&1,K1=x1|o,q1=K1|2,e[H>>2]=q1,Q=o+4|0,H1=t+Q|0,V1=P1|3,e[H1>>2]=V1,Y1=e[V5>>2]|0,t2=Y1|1,e[V5>>2]=t2,Hy(G1,P1),C5=t,C5|0):(C5=t,C5|0);if(e2=e[138268]|0,O1=(s2|0)==(e2|0),O1)return h2=e[138265]|0,Z1=h2+D1|0,I2=Z1>>>0>o>>>0,I2?(A2=Z1-o|0,C2=t+o|0,$2=V&1,W1=$2|o,f2=W1|2,e[H>>2]=f2,_=o+4|0,n2=t+_|0,g2=A2|1,e[n2>>2]=g2,e[138268]=C2,e[138265]=A2,C5=t,C5|0):(C5=0,C5|0);if(o2=e[138267]|0,l2=(s2|0)==(o2|0),l2)return i2=e[138264]|0,a2=i2+D1|0,m2=a2>>>0>>0,m2?(C5=0,C5|0):(r2=a2-o|0,k2=r2>>>0>15,k2?(D2=t+o|0,y2=t+a2|0,G2=V&1,M2=G2|o,O2=M2|2,e[H>>2]=O2,D=o+4|0,p2=t+D|0,W2=r2|1,e[p2>>2]=W2,e[y2>>2]=r2,w=a2+4|0,q2=t+w|0,J2=e[q2>>2]|0,U2=J2&-2,e[q2>>2]=U2,a3=D2,y3=r2):(V2=V&1,A5=V2|a2,Y2=A5|2,e[H>>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=L5&2,x5=(i5|0)==0,!x5||(j2=L5&-8,m5=j2+D1|0,b5=m5>>>0>>0,b5))return C5=0,C5|0;u5=m5-o|0,b2=L5>>>3,B5=L5>>>0<256;do if(B5){if(y=D1+8|0,s5=t+y|0,F2=e[s5>>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(),M5=F2+12|0,z2=e[M5>>2]|0,E5=(z2|0)==(s2|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)==(s2|0),r5?$=d2:v2()),a5=F2+12|0,e[a5>>2]=Q2,e[$>>2]=F2}else{g=D1+24|0,f5=t+g|0,K2=e[f5>>2]|0,k=D1+12|0,I5=t+k|0,n5=e[I5>>2]|0,R5=(n5|0)==(s2|0);do if(R5){if(L=D1+20|0,h0=t+L|0,e0=e[h0>>2]|0,u0=(e0|0)==0,u0)if(M=D1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){T2=0;break}else e5=$0,v5=c0;else e5=e0,v5=h0;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,s0=(r0|0)==(s2|0),s0||v2(),K=n5+8|0,o0=e[K>>2]|0,Y=(o0|0)==(s2|0),Y){e[j>>2]=n5,e[K>>2]=Z,T2=n5;break}else v2();while(!1);if(b0=(K2|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=(s2|0)==(Q0|0),w0){if(e[E0>>2]=T2,i3=(T2|0)==0,i3){B0=1<>>0>>0,U0&&v2(),O0=K2+16|0,H0=e[O0>>2]|0,S0=(H0|0)==(s2|0),S0?e[O0>>2]=T2:(J0=K2+20|0,e[J0>>2]=T2),T0=(T2|0)==0,T0)break;M0=e[138266]|0,W0=T2>>>0>>0,W0&&v2(),K0=T2+24|0,e[K0>>2]=K2,m=D1+16|0,V0=t+m|0,j0=e[V0>>2]|0,q0=(j0|0)==0;do if(!q0)if(Y0=j0>>>0>>0,Y0)v2();else{s1=T2+16|0,e[s1>>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,p1=L0>>>0>>0,p1)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?(c1=V&1,a1=m5|c1,$1=a1|2,e[H>>2]=$1,O=m5|4,X0=t+O|0,m1=e[X0>>2]|0,Q1=m1|1,e[X0>>2]=Q1,C5=t,C5|0):(C1=t+o|0,y1=V&1,v1=y1|o,k1=v1|2,e[H>>2]=k1,F=o+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,Hy(C1,u5),C5=t,C5|0)}function Hy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0;Se=C,e0=t+o|0,u0=t+4|0,V2=e[u0>>2]|0,B6=V2&1,X6=(B6|0)==0;do if(X6){if(P6=e[t>>2]|0,V9=V2&3,R9=(V9|0)==0,R9)return;if(qe=0-P6|0,v9=t+qe|0,c0=P6+o|0,b0=e[138266]|0,N0=v9>>>0>>0,N0&&v2(),V0=e[138267]|0,p1=(v9|0)==(V0|0),p1){if(k=o+4|0,ne=t+k|0,$0=e[ne>>2]|0,l0=$0&3,X=(l0|0)==3,!X){a=v9,$=c0;break}e[138264]=c0,m0=$0&-2,e[ne>>2]=m0,g0=c0|1,L=4-P6|0,I0=t+L|0,e[I0>>2]=g0,e[e0>>2]=c0;return}if(C1=P6>>>3,U1=P6>>>0<256,U1){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,L5=553088+(V5<<2)|0,l5=(f2|0)==(L5|0),l5||(e5=f2>>>0>>0,e5&&v2(),a3=f2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(v9|0),S5||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)==(v9|0),G6?E=$6:v2()),e9=f2+12|0,e[e9>>2]=Z2,e[E>>2]=f2,a=v9,$=c0;break}F=24-P6|0,Q6=t+F|0,P3=e[Q6>>2]|0,G=12-P6|0,r9=t+G|0,V6=e[r9>>2]|0,o9=(V6|0)==(v9|0);do if(o9){if(O=16-P6|0,H=O+4|0,h9=t+H|0,n9=e[h9>>2]|0,C9=(n9|0)==0,C9)if(B9=t+O|0,y9=e[B9>>2]|0,d9=(y9|0)==0,d9){de=0;break}else Je=y9,d4=B9;else Je=n9,d4=h9;for(;;){if(f9=Je+20|0,w6=e[f9>>2]|0,q6=(w6|0)==0,!q6){Je=w6,d4=f9;continue}if(a9=Je+16|0,Y9=e[a9>>2]|0,Q9=(Y9|0)==0,Q9){O9=Je,f4=d4;break}else Je=Y9,d4=a9}if(Qe=f4>>>0>>0,Qe)v2();else{e[f4>>2]=0,de=O9;break}}else if(A0=8-P6|0,g9=t+A0|0,U6=e[g9>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,t9=e[F6>>2]|0,_6=(t9|0)==(v9|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,s9=(O6|0)==(v9|0),s9){e[F6>>2]=V6,e[O3>>2]=U6,de=V6;break}else v2();while(!1);if(ge=(P3|0)==0,ge)a=v9,$=c0;else{if(J=28-P6|0,pe=t+J|0,z9=e[pe>>2]|0,re=553352+(z9<<2)|0,w9=e[re>>2]|0,K6=(v9|0)==(w9|0),K6){if(e[re>>2]=de,I6=(de|0)==0,I6){A9=1<>>0>>0,Re&&v2(),Fe=P3+16|0,Ge=e[Fe>>2]|0,r4=(Ge|0)==(v9|0),r4?e[Fe>>2]=de:(ve=P3+20|0,e[ve>>2]=de),He=(de|0)==0,He){a=v9,$=c0;break}J9=e[138266]|0,Ve=de>>>0>>0,Ve&&v2(),he=de+24|0,e[he>>2]=P3,t0=16-P6|0,Ue=t+t0|0,Ee=e[Ue>>2]|0,v4=(Ee|0)==0;do if(!v4)if(Z9=Ee>>>0>>0,Z9)v2();else{k4=de+16|0,e[k4>>2]=Ee,V4=Ee+24|0,e[V4>>2]=de;break}while(!1);if(Z=t0+4|0,nt=t+Z|0,Ye=e[nt>>2]|0,Y4=(Ye|0)==0,Y4)a=v9,$=c0;else if(ze=e[138266]|0,n4=Ye>>>0>>0,n4)v2();else{R4=de+20|0,e[R4>>2]=Ye,ot=Ye+24|0,e[ot>>2]=de,a=v9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,d0=e0>>>0>>0,d0&&v2(),w=o+4|0,p0=t+w|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,S0=H0+$|0,e[138264]=S0,e[138267]=a,J0=S0|1,T0=a+4|0,e[T0>>2]=J0,M0=a+S0|0,e[M0>>2]=S0;return}P0=C0&-8,W0=P0+$|0,K0=C0>>>3,j0=C0>>>0<256;do if(j0){if(x=o+8|0,q0=t+x|0,Y0=e[q0>>2]|0,M=o+12|0,s1=t+M|0,z0=e[s1>>2]|0,r1=K0<<1,L0=553088+(r1<<2)|0,o1=(Y0|0)==(L0|0),o1||(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){c1=1<>>0>>0,m1&&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=o+24|0,S1=t+V|0,L1=e[S1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(e0|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,Y1)if(K=o+16|0,s2=t+K|0,e2=e[s2>>2]|0,O1=(e2|0)==0,O1){oe=0;break}else Te=e2,ke=s2;else Te=V1,ke=H1;for(;;){if(h2=Te+20|0,Z1=e[h2>>2]|0,I2=(Z1|0)==0,!I2){Te=Z1,ke=h2;continue}if(A2=Te+16|0,C2=e[A2>>2]|0,$2=(C2|0)==0,$2){h4=Te,o4=ke;break}else Te=C2,ke=A2}if(W1=o4>>>0>>0,W1)v2();else{e[o4>>2]=0,oe=h4;break}}else if(Q=o+8|0,R1=t+Q|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,X1=e[P1>>2]|0,G1=(X1|0)==(e0|0),G1||v2(),x1=b1+8|0,K1=e[x1>>2]|0,q1=(K1|0)==(e0|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,oe=b1;break}else v2();while(!1);if(c2=(L1|0)==0,!c2){if(h0=o+28|0,n2=t+h0|0,g2=e[n2>>2]|0,o2=553352+(g2<<2)|0,l2=e[o2>>2]|0,i2=(e0|0)==(l2|0),i2){if(e[o2>>2]=oe,z4=(oe|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]=oe:(p2=L1+20|0,e[p2>>2]=oe),W2=(oe|0)==0,W2)break;q2=e[138266]|0,J2=oe>>>0>>0,J2&&v2(),U2=oe+24|0,e[U2>>2]=L1,i0=o+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=oe+16|0,e[T5>>2]=Y2,i5=Y2+24|0,e[i5>>2]=oe;break}while(!1);if(_=o+20|0,x5=t+_|0,j2=e[x5>>2]|0,m5=(j2|0)==0,!m5)if(b5=e[138266]|0,u5=j2>>>0>>0,u5)v2();else{b2=oe+20|0,e[b2>>2]=j2,B5=j2+24|0,e[B5>>2]=oe;break}}}while(!1);if(s5=W0|1,F2=a+4|0,e[F2>>2]=s5,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,M5=a+$|0,e[M5>>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,K2=a+8|0,e[K2>>2]=u4,I5=a+12|0,e[I5>>2]=h5;return}if(n5=g>>>8,R5=(n5|0)==0,R5?Ce=0:(c5=g>>>0>16777215,c5?Ce=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,H3=f3+e6|0,X5=H3<<1,_3=H3+7|0,a6=g>>>_3,G3=a6&1,V3=G3|X5,Ce=V3)),c3=553352+(Ce<<2)|0,g3=a+28|0,e[g3>>2]=Ce,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,J5=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)Pe=U3;else{for(r6=(Ce|0)==31,z3=Ce>>>1,j5=25-z3|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,k9=I4;break}if(J3=T6<<1,d6=m3+4|0,x6=e[d6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){Pe=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=d>>>0>>0,j6&&v2(),e[d>>2]=a,v6=a+24|0,e[v6>>2]=k9,R3=a+12|0,e[R3>>2]=a,o6=a+8|0,e[o6>>2]=a;return}while(!1);s6=Pe+8|0,F3=e[s6>>2]|0,W3=e[138266]|0,t6=F3>>>0>=W3>>>0,fe=Pe>>>0>=W3>>>0,R6=t6&fe,R6||v2(),c6=F3+12|0,e[c6>>2]=a,e[s6>>2]=a,o3=a+8|0,e[o3>>2]=F3,J6=a+12|0,e[J6>>2]=Pe,A3=a+24|0,e[A3>>2]=0}function CD(){e[6410]=W9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,d=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function sl(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function Vy(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(sl(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function Yy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,d=o+$+(g>>>0>>0|0)>>>0,Z6=d,g|0|0}function os(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(Z6=0,o>>>a-32|0)}function ce(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return _S(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function $A(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ce(t,o,a)|0;return t|0}function MC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function ss(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return g=t-a>>>0,d=o-$>>>0,d=o-$-(a>>>0>t>>>0|0)>>>0,Z6=d,g|0|0}function W_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(Z6=(o|0)<0?-1:0,o>>a-32|0)}function zy(t){t=t|0;var o=0;return o=f[U9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[U9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[U9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[U9+(t>>>24)>>0]|0)+24|0))}function BD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=o5($,a)|0,d=t>>>16,m=(g>>>16)+(o5($,d)|0)|0,I=o>>>16,E=o5(I,a)|0,Z6=((m>>>16)+(o5(I,d)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function Z_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,d=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=ss(g^t,d^o,g,d)|0,y=Z6,B=ss(m^a,I^$,m,I)|0,b=m^g,D=I^d,k=$E(E,y,B,Z6,0)|0,w=ss(k^b,Z6^D,b,D)|0,w|0}function j_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0;return w=C,C=C+8|0,g=w|0,d=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,y=ss(d^t,m^o,d,m)|0,B=Z6,b=ss(I^a,E^$,I,E)|0,$E(y,B,b,Z6,g)|0,D=ss(e[g>>2]^d,e[g+4>>2]^m,d,m)|0,k=Z6,C=w,Z6=k,D|0}function yD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0;return g=t,d=a,m=BD(g,d)|0,I=Z6,E=o5(o,d)|0,Z6=((o5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function X_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=$E(t,o,a,$,0)|0,g|0}function ex(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,$E(t,o,a,$,g)|0,C=d,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function $E(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0;if(d=t,m=o,I=m,E=a,y=$,B=y,!(I|0))return b=(g|0)!=0,B|0?b?(e[g>>2]=t&-1,e[g+4>>2]=o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0):(b&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,T0=(d>>>0)/(E>>>0)>>>0,Z6=M0,T0|0);D=(B|0)==0;do if(E|0){if(!D){if(Z=rs(B|0)|0,A0=Z-(rs(I|0)|0)|0,A0>>>0<=31){j=A0+1|0,r0=31-A0|0,s0=A0-31>>31,i0=j,h0=d>>>(j>>>0)&s0|I<>>(j>>>0)&s0,o0=0,K=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0)}if(M=E-1|0,M&E|0){F=(rs(E|0)|0)+33|0,G=F-(rs(I|0)|0)|0,O=64-G|0,H=32-G|0,V=H>>31,J=G-32|0,t0=J>>31,i0=G,h0=H-1>>31&I>>>(J>>>0)|(I<>>(G>>>0))&t0,Y=t0&I>>>(G>>>0),o0=d<>>(J>>>0))&V|d<>31;break}return g|0&&(e[g>>2]=M&d,e[g+4>>2]=0),(E|0)==1?(M0=m|o&0,T0=0|t&-1,Z6=M0,T0|0):(L=zy(E|0)|0,M0=0|I>>>(L>>>0),T0=I<<32-L|d>>>(L>>>0)|0,Z6=M0,T0|0)}else{if(D)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,T0=(I>>>0)/(E>>>0)>>>0,Z6=M0,T0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),M0=0,T0=(I>>>0)/(B>>>0)>>>0,Z6=M0,T0|0;if(k=B-1|0,!(k&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=k&I|o&0),M0=0,T0=I>>>((zy(B|0)|0)>>>0),Z6=M0,T0|0;if(w=rs(B|0)|0,_=w-(rs(I|0)|0)|0,_>>>0<=30){Q=_+1|0,x=31-_|0,i0=Q,h0=I<>>(Q>>>0),Y=I>>>(Q>>>0),o0=0,K=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0)}while(!1);if(!(i0|0))O0=K,U0=o0,N0=Y,v0=h0,R0=0,Z0=0;else{for(e0=0|a&-1,u0=y|$&0,c0=ns(e0|0,u0|0,-1,-1)|0,$0=Z6,n0=K,I0=o0,g0=Y,m0=h0,X=i0,l0=0;d0=I0>>>31|n0<<1,p0=l0|I0<<1,C0=0|(m0<<1|n0>>>31),b0=m0>>>31|g0<<1|0,ss(c0,$0,C0,b0)|0,y0=Z6,D0=y0>>31|((y0|0)<0?-1:0)<<1,E0=D0&1,Q0=ss(C0,b0,D0&e0,(((y0|0)<0?-1:0)>>31|((y0|0)<0?-1:0)<<1)&u0)|0,w0=Q0,B0=Z6,x0=X-1|0,x0|0;)n0=d0,I0=p0,g0=B0,m0=w0,X=x0,l0=E0;O0=d0,U0=p0,N0=B0,v0=w0,R0=0,Z0=E0}return H0=U0,S0=0,J0=O0|S0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=N0|0),M0=(0|H0)>>>31|J0<<1|(S0<<1|H0>>>31)&0|R0,T0=(H0<<1|0)&-2|Z0,Z6=M0,T0|0}function QD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,TC[t&3](o|0,a|0,$|0,g|0)|0}function wD(t,o){t=t|0,o=o|0,as[t&7](o|0)}function vD(t,o,a){t=t|0,o=o|0,a=a|0,NC[t&3](o|0,a|0)}function kD(t,o){return t=t|0,o=o|0,Wy[t&1](o|0)|0}function SD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,Zy[t&1](o|0,a|0,$|0)}function bD(t,o,a,$,g,d,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,jy[t&3](o|0,a|0,$|0,g|0,d|0,m|0,I|0,E|0)|0}function DD(t,o,a){return t=t|0,o=o|0,a=a|0,pi[t&15](o|0,a|0)|0}function _D(t,o,a,$,g,d){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,GC[t&7](o|0,a|0,$|0,g|0,d|0)|0}function xD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function RC(t){t=t|0,rn(1)}function Jy(t,o){t=t|0,o=o|0,rn(2)}function LD(t){return t=t|0,rn(3),0}function MD(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function Ky(t,o,a,$,g,d,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,rn(5),0}function al(t,o){return t=t|0,o=o|0,rn(6),0}function FC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var TC=[xD,pb,rb,nb],as=[RC,fb,Ib,bb,Ob,qb,RC,RC],NC=[Jy,ub,Hb,Jy],Wy=[LD,Db],Zy=[MD,kb],jy=[Ky,Jb,jb,Ky],pi=[al,hb,db,mb,Sb,_b,Vb,Yb,Eb,Pb,nD,al,al,al,al,al],GC=[FC,zb,Kb,Wb,Zb,Xb,FC,FC];return{_memmove:$A,_strlen:sl,_strcat:Vy,_free:E2,_i64Add:ns,_encoder_clear:gD,_encoder_transfer_data:fD,_encoder_data_len:dD,_memset:g4,_malloc:M9,_memcpy:ce,_encoder_init:cD,_encoder_process:hD,_bitshift64Lshr:os,_bitshift64Shl:Yy,_strcpy:MC,_encoder_analysis_buffer:uD,runPostSets:CD,stackAlloc:MS,stackSave:RS,stackRestore:FS,establishStackSpace:TS,setThrew:NS,setTempRet0:GS,getTempRet0:US,dynCall_iiiii:QD,dynCall_vi:wD,dynCall_vii:vD,dynCall_ii:kD,dynCall_viii:SD,dynCall_iiiiiiiii:bD,dynCall_iii:DD,dynCall_iiiiii:_D}}(n.asmGlobalArg,n.asmLibraryArg,P7),w_=n.runPostSets=te.runPostSets,dS=n._strlen=te._strlen,fS=n._strcat=te._strcat,BC=n._free=te._free,v_=n._encoder_init=te._encoder_init,IS=n._i64Add=te._i64Add,mS=n._memmove=te._memmove,k_=n._encoder_transfer_data=te._encoder_transfer_data,S_=n._encoder_process=te._encoder_process,b_=n._encoder_data_len=te._encoder_data_len,pS=n._memset=te._memset,Ru=n._malloc=te._malloc,ES=n._memcpy=te._memcpy,D_=n._encoder_clear=te._encoder_clear,CS=n._bitshift64Lshr=te._bitshift64Lshr,__=n._encoder_analysis_buffer=te._encoder_analysis_buffer,BS=n._strcpy=te._strcpy,yS=n._bitshift64Shl=te._bitshift64Shl,x_=n.dynCall_iiiii=te.dynCall_iiiii,L_=n.dynCall_vi=te.dynCall_vi,M_=n.dynCall_vii=te.dynCall_vii,R_=n.dynCall_ii=te.dynCall_ii,F_=n.dynCall_viii=te.dynCall_viii,T_=n.dynCall_iiiiiiiii=te.dynCall_iiiiiiiii,N_=n.dynCall_iii=te.dynCall_iii,G_=n.dynCall_iiiiii=te.dynCall_iiiiii;v.stackAlloc=te.stackAlloc,v.stackSave=te.stackSave,v.stackRestore=te.stackRestore,v.establishStackSpace=te.establishStackSpace,v.setTempRet0=te.setTempRet0,v.getTempRet0=te.getTempRet0;var U_=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,i9=W.low_>>>16,H9=W.low_&65535,P9=0,t4=0,Ai=0,nr=0;return nr+=e3+H9,Ai+=nr>>>16,nr&=65535,Ai+=B2+i9,t4+=Ai>>>16,Ai&=65535,t4+=t1+N3,P9+=t4>>>16,t4&=65535,P9+=_0+O5,P9&=65535,r.math.Long.fromBits(Ai<<16|nr,P9<<16|t4)},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,i9=W.low_>>>16,H9=W.low_&65535,P9=0,t4=0,Ai=0,nr=0;return nr+=e3*H9,Ai+=nr>>>16,nr&=65535,Ai+=B2*H9,t4+=Ai>>>16,Ai&=65535,Ai+=e3*i9,t4+=Ai>>>16,Ai&=65535,t4+=t1*H9,P9+=t4>>>16,t4&=65535,t4+=B2*i9,P9+=t4>>>16,t4&=65535,t4+=e3*N3,P9+=t4>>>16,t4&=65535,P9+=_0*H9+t1*i9+B2*N3+e3*O5,P9&=65535,r.math.Long.fromBits(Ai<<16|nr,P9<<16|t4)},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),i9=N3<=48?1:Math.pow(2,N3-48),H9=r.math.Long.fromNumber(t1),P9=H9.multiply(W);P9.isNegative()||P9.greaterThan(O5);)t1-=i9,H9=r.math.Long.fromNumber(t1),P9=H9.multiply(W);H9.isZero()&&(H9=r.math.Long.ONE),e3=e3.add(H9),O5=O5.subtract(P9)}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 l={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,i9=_0>>15;--O5>=0;){var H9=this[W]&32767,P9=this[W++]>>15,t4=i9*H9+P9*N3;H9=N3*H9+((t4&32767)<<15)+t1[B2]+(e3&1073741823),e3=(H9>>>30)+(t4>>>15)+i9*P9+(e3>>>30),t1[B2++]=H9&1073741823}return e3}function s(W,_0,t1,B2,e3,O5){for(var N3=_0&16383,i9=_0>>14;--O5>=0;){var H9=this[W]&16383,P9=this[W++]>>14,t4=i9*H9+P9*N3;H9=N3*H9+((t4&16383)<<14)+t1[B2]+e3,e3=(H9>>28)+(t4>>14)+i9*P9,t1[B2++]=H9&268435455}return e3}z&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,h=30):z&&l.appName!="Netscape"?(e.prototype.am=n1,h=26):(e.prototype.am=s,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 ie(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:W9(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,i9=this.DB-N3*this.DB%_0;if(N3-- >0)for(i9>i9)>0&&(e3=!0,O5=U9(B2));N3>=0;)i9<_0?(B2=(this[N3]&(1<>(i9+=this.DB-_0)):(B2=this[N3]>>(i9-=_0)&t1,i9<=0&&(i9+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=U9(B2));return e3?O5:"0"}function Y7(){var W=e1();return e.ZERO.subTo(this,W),W}function vr(){return this.s<0?this.negate():this}function rl(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 tE(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 YB(){return this.t<=0?0:this.DB*(this.t-1)+tE(this[this.t-1]^this.s&this.DM)}function zB(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;--i9)_0[i9+O5+1]=this[i9]>>B2|N3,N3=(this[i9]&e3)<=0;--i9)_0[i9]=0;_0[O5]=N3,_0.t=this.t+O5+1,_0.s=this.s,_0.clamp()}function WB(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 ZB(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 XB(W,_0,t1){var B2=W.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(H9,O5),e3.lShiftTo(H9,t1)):(B2.copyTo(O5),e3.copyTo(t1));var P9=O5.t,t4=O5[P9-1];if(t4!=0){var Ai=t4*(1<1?O5[P9-2]>>this.F2:0),nr=this.FV/Ai,cy=(1<=0&&(t1[t1.t++]=1,t1.subTo(Oi,t1)),e.ONE.dlShiftTo(P9,Oi),Oi.subTo(O5,O5);O5.t=0;){var iE=t1[--AA]==t4?this.DM:Math.floor(t1[AA]*nr+(t1[AA-1]+gy)*cy);if((t1[AA]+=O5.am(0,iE,t1,Tu,0,P9))0&&t1.rShiftTo(H9,t1),N3<0&&e.ZERO.subTo(t1,t1)}}}function ey(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 ty(W){return W.s<0||W.compareTo(this.m)>=0?W.mod(this.m):W}function iy(W){return W}function ry(W){W.divRemTo(this.m,null,W)}function ny(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}function sA(W,_0){W.squareTo(_0),this.reduce(_0)}oA.prototype.convert=ty,oA.prototype.revert=iy,oA.prototype.reduce=ry,oA.prototype.mulTo=ny,oA.prototype.sqrTo=sA;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 sy(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=sy,Hn.prototype.sqrTo=oy;function ay(){return(this.t>0?this[0]&1:this.s)==0}function is(W,_0){if(W>4294967295||W<1)return e.ONE;var t1=e1(),B2=e1(),e3=_0.convert(this),O5=tE(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 Ay(W,_0){var t1;return W<256||_0.isEven()?t1=new oA(_0):t1=new Hn(_0),this.exp(W,t1)}e.prototype.copyTo=ye,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=e4,e.prototype.dlShiftTo=zB,e.prototype.drShiftTo=JB,e.prototype.lShiftTo=KB,e.prototype.rShiftTo=WB,e.prototype.subTo=Z6,e.prototype.multiplyTo=ZB,e.prototype.squareTo=jB,e.prototype.divRemTo=XB,e.prototype.invDigit=rr,e.prototype.isEven=ay,e.prototype.exp=is,e.prototype.toString=V7,e.prototype.negate=Y7,e.prototype.abs=vr,e.prototype.compareTo=rl,e.prototype.bitLength=YB,e.prototype.mod=ey,e.prototype.modPowInt=Ay,e.ZERO=ie(0),e.ONE=ie(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,i9=0;i9=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 tn(W){return Math.floor(Math.LN2*this.DB/Math.log(W))}function QC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function o5(W){this[this.t]=this.am(0,W-1,this,0,0,this.t),++this.t,this.clamp()}function $y(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 rs(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=ie(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 rn(){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=tn,e.prototype.signum=QC,e.prototype.dMultiply=o5,e.prototype.dAddOffset=$y,e.prototype.toRadix=rs,e.prototype.intValue=rn,e.prototype.addTo=ly;var c7={abs:function(W,_0){var t1=new r.math.Long(W,_0),B2;t1.isNegative()?B2=t1.negate():B2=t1,G9[bt>>2]=B2.low_,G9[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 i9=new e;if(i9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var H9=new e;O5.addTo(c7.two64,H9),O5=H9}var P9=!1;O5.compareTo(N3)<0?(O5=N3,P9=!0):O5.compareTo(i9)>0&&(O5=i9,P9=!0);var t4=r.math.Long.fromString(O5.toString());if(G9[bt>>2]=t4.low_,G9[bt+4>>2]=t4.high_,P9)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 OB,eE=null,QS=!1;q7=function r(){n.calledRun||yC(),n.calledRun||(q7=r)},n.callMain=n.callMain=function(l){Ne(v8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),Ne(Jp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Zo();var h=l.length+1;function f(){for(var n1=0;n1<3;n1++)z.push(0)}var z=[B3(en(n.thisProgram),"i8",tA)];f();for(var e=0;e0||(Lu(),v8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!P&&(Zo(),LB(),c&&eE!==null&&n.printErr("pre-main prep time: "+(Date.now()-eE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&VB&&n.callMain(r),W$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=yC;function qB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(P=!0,G0=r,S7=OB,Kp(),n.onExit&&n.onExit(r)),u?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):R&&typeof quit=="function"&&quit(r),new nA(r)}n.exit=n.exit=qB;var HB=[];function ts(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",P=!0,G0=1;var l=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+r+") at "+Vp()+l;throw HB&&HB.forEach(function(f){h=f(h,r)}),h}if(n.abort=n.abort=ts,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var VB=!0;n.noInitialRun&&(VB=!1),yC();var wS=n._encoder_init,vS=n._encoder_clear,kS=n._encoder_analysis_buffer,SS=n._encoder_process,bS=n._encoder_data_len,DS=n._encoder_transfer_data,b7=n.HEAPU8,el=n.HEAPU32,tl=n.HEAPF32,il=function(r,l,h){this.numChannels=l,this.oggBuffers=[],this.encoder=wS(this.numChannels,r,h)};il.prototype.encode=function(r){for(var l=r[0].length,h=kS(this.encoder,l)>>2,f=0;f>2);this.process(l)},il.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},il.prototype.cancel=il.prototype.cleanup=function(){vS(this.encoder),delete this.encoder,delete this.oggBuffers},il.prototype.process=function(r){SS(this.encoder,r);var l=bS(this.encoder);if(l>0){var h=DS(this.encoder);this.oggBuffers.push(new Uint8Array(b7.subarray(h,h+l)))}},cC.OggVorbisEncoder=il}};typeof window<"u"&&window===self&&cC.init();function Lk(n,i,A,c){let u=new cC.OggVorbisEncoder(A,i,c);u.encode(n);let p=u.finish(),R=p.reduce((N,k0)=>N+k0.length,0),q=new Uint8Array(R),U=0;for(let N of p)q.set(N,U),U+=N.length;return q}var gC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragend",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{u.preventDefault(),c.classList.add("hidden");let p=u.dataTransfer.files[0];if(!p)return;let R=p.name,q=await p.arrayBuffer(),U=q.slice(0,4),N=new TextDecoder;if(N.decode(U)==="RIFF"){let k0=q.slice(8,12);if(N.decode(k0)==="RMID"){i({buf:q,name:R});return}A(q);return}i({buf:q,name:R})})}};async function Mk(){let n="locale.exportAudio.formats.formats.dls.warning.";c4(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;_e(i.id),F7("%cExporting DLS...",E1.info);let c=await this.seq.getMIDI(),u=Vo(c.embeddedSoundFont||this.soundFont);Pa(c,await this.synth.getSynthesizerSnapshot()),A&&wu(u,c);let p=u.writeDLS(),R=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(R,`${u.soundFontInfo.INAM||"unnamed"}.dls`),u9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var m_=!1,Cr=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,c,u=m_){this.localeManager=c,this.context=i,this.enableDebug=u,this.isExporting=!1,this.compressionFunc=Lk;let p;this.ready=new Promise(R=>p=R),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),u=document.createElement("a");u.href=c,u.download=A,u.click(),_5(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 T of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(T,"innerText",T.getAttribute("translate-path"));for(let T of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(T,"innerText",T.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(T,"title",T.getAttribute("translate-path-title")+".description");this.soundFont=A;let u=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":xk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+u,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let R=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),U=await(await fetch(R)).arrayBuffer();this.impulseResponseRaw=U,this.impulseResponse=await i.decodeAudioData(U.slice(0,U.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new mu(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",T=>{this.sfError&&this.sfError(T.message)}),await this.synth.isReady,this.midHandler=new YE,this.wml=new zE(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 k0=!1,v=()=>{if(N.width=window.innerWidth*window.devicePixelRatio,N.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),pr){if(window.innerWidth/window.innerHeight>1){if(!k0){let T=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");k0=!0,T.parentElement.insertBefore(P,T)}}else if(k0){let T=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");k0=!1,T.parentElement.insertBefore(T,P)}}this.renderer.render(!1,!0)};v(),window.addEventListener("resize",v.bind(this)),window.addEventListener("orientationchange",v.bind(this)),pr&&(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 jE(document.getElementById("player_info"),this.localeManager),this.seqUI=new Oo(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 gC(T=>{this.play([{binary:T.buf,altName:T.name}]),T.name.length>20&&(T.name=T.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=T.name},T=>{this.reloadSf(T)}),document.addEventListener("keydown",T=>{switch(T.key.toLowerCase()){case O8.cinematicMode:this.seq&&this.seq.pause();let P=window.prompt(`Cinematic mode activated! +`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(zo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(zo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(zo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(zo(r.output,0)),r.output=[])}}},L9={ops_table:null,mount:function(r){return L9.createNode(null,"/",16895,0)},createNode:function(r,l,h,f){if(S.isBlkdev(h)||S.isFIFO(h))throw new S.ErrnoError(N2.EPERM);L9.ops_table||(L9.ops_table={dir:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,lookup:L9.node_ops.lookup,mknod:L9.node_ops.mknod,rename:L9.node_ops.rename,unlink:L9.node_ops.unlink,rmdir:L9.node_ops.rmdir,readdir:L9.node_ops.readdir,symlink:L9.node_ops.symlink},stream:{llseek:L9.stream_ops.llseek}},file:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:{llseek:L9.stream_ops.llseek,read:L9.stream_ops.read,write:L9.stream_ops.write,allocate:L9.stream_ops.allocate,mmap:L9.stream_ops.mmap,msync:L9.stream_ops.msync}},link:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,readlink:L9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:S.chrdev_stream_ops}});var z=S.createNode(r,l,h,f);return S.isDir(z.mode)?(z.node_ops=L9.ops_table.dir.node,z.stream_ops=L9.ops_table.dir.stream,z.contents={}):S.isFile(z.mode)?(z.node_ops=L9.ops_table.file.node,z.stream_ops=L9.ops_table.file.stream,z.usedBytes=0,z.contents=null):S.isLink(z.mode)?(z.node_ops=L9.ops_table.link.node,z.stream_ops=L9.ops_table.link.stream):S.isChrdev(z.mode)&&(z.node_ops=L9.ops_table.chrdev.node,z.stream_ops=L9.ops_table.chrdev.stream),z.timestamp=Date.now(),r&&(r.contents[l]=z),z},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],h=0;hr.contents.length&&(r.contents=L9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var h=r.contents?r.contents.buffer.byteLength:0;if(h>=l)return;var f=1024*1024;l=Math.max(l,h*(h0&&r.contents.set(z.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var e1=Math.min(r.node.usedBytes-z,f);if(Ne(e1>=0),e1>8&&e.subarray)l.set(e.subarray(z,z+e1),h);else for(var n1=0;n10||z+fP5.timestamp)&&(z.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return h(null);var e1=!1,n1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([k8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(k8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,h(k5));if(++n1>=f)return h(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},z.sort().forEach(function(k5){l.type==="local"?k8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);k8.storeLocalEntry(k5,P5,C)}):k8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);k8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?k8.removeLocalEntry(k5,C):k8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return Ne(u),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,h,f){if(!S.isDir(h)&&!S.isFile(h)&&!S.isLink(h))throw new S.ErrnoError(N2.EINVAL);var z=S.createNode(r,l,h);return z.node_ops=ft.node_ops,z.stream_ops=ft.stream_ops,z},getMode:function(r){var l;try{l=S8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),I9.join.apply(null,l)},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 l=ft.realPath(r),h;try{h=S8.lstatSync(l)}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,l){var h=ft.realPath(r);try{if(l.mode!==void 0&&(S8.chmodSync(h,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);S8.utimesSync(h,f,f)}l.size!==void 0&&S8.truncateSync(h,l.size)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},lookup:function(r,l){var h=I9.join2(ft.realPath(r),l),f=ft.getMode(h);return ft.createNode(r,l,f)},mknod:function(r,l,h,f){var z=ft.createNode(r,l,h,f),e=ft.realPath(z);try{S.isDir(z.mode)?S8.mkdirSync(e,z.mode):S8.writeFileSync(e,"",{mode:z.mode})}catch(e1){throw e1.code?new S.ErrnoError(N2[e1.code]):e1}return z},rename:function(r,l,h){var f=ft.realPath(r),z=I9.join2(ft.realPath(l),h);try{S8.renameSync(f,z)}catch(e){throw e.code?new S.ErrnoError(N2[e.code]):e}},unlink:function(r,l){var h=I9.join2(ft.realPath(r),l);try{S8.unlinkSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},rmdir:function(r,l){var h=I9.join2(ft.realPath(r),l);try{S8.rmdirSync(h)}catch(f){throw f.code?new S.ErrnoError(N2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return S8.readdirSync(l)}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}},symlink:function(r,l,h){var f=I9.join2(ft.realPath(r),l);try{S8.symlinkSync(h,f)}catch(z){throw z.code?new S.ErrnoError(N2[z.code]):z}},readlink:function(r){var l=ft.realPath(r);try{return l=S8.readlinkSync(l),l=PB.relative(PB.resolve(r.mount.opts.root),l),l}catch(h){throw h.code?new S.ErrnoError(N2[h.code]):h}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{S.isFile(r.node.mode)&&(r.nfd=S8.openSync(l,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&&S8.closeSync(r.nfd)}catch(l){throw l.code?new S.ErrnoError(N2[l.code]):l}},read:function(r,l,h,f,z){if(f===0)return 0;var e=new Buffer(f),e1;try{e1=S8.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=I9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=S.root,e1="/",n1=0;n140)throw new S.ErrnoError(N2.ELOOP)}}return{path:e1,node:e}},getPath:function(r){for(var l;;){if(S.isRoot(r)){var h=r.mount.mountpoint;return l?h[h.length-1]!=="/"?h+"/"+l:h+l:h}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var h=0,f=0;f>>0)%S.nameTable.length},hashAddNode:function(r){var l=S.hashName(r.parent.id,r.name);r.name_next=S.nameTable[l],S.nameTable[l]=r},hashRemoveNode:function(r){var l=S.hashName(r.parent.id,r.name);if(S.nameTable[l]===r)S.nameTable[l]=r.name_next;else for(var h=S.nameTable[l];h;){if(h.name_next===r){h.name_next=r.name_next;break}h=h.name_next}},lookupNode:function(r,l){var h=S.mayLookup(r);if(h)throw new S.ErrnoError(h,r);for(var f=S.hashName(r.id,l),z=S.nameTable[f];z;z=z.name_next){var e=z.name;if(z.parent.id===r.id&&e===l)return z}return S.lookup(r,l)},createNode:function(r,l,h,f){if(!S.FSNode){S.FSNode=function(n1,x2,s,l1){n1||(n1=this),this.parent=n1,this.mount=n1.mount,this.mounted=null,this.id=S.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},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,l,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 l=S.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,h=["r","w","rw"][l];return r&512&&(h+="w"),h},nodePermissions:function(r,l){return S.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?N2.EACCES:0},mayLookup:function(r){var l=S.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:N2.EACCES)},mayCreate:function(r,l){try{var h=S.lookupNode(r,l);return N2.EEXIST}catch{}return S.nodePermissions(r,"wx")},mayDelete:function(r,l,h){var f;try{f=S.lookupNode(r,l)}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,l){return r?S.isLink(r.mode)?N2.ELOOP:S.isDir(r.mode)&&(l&2097155||l&512)?N2.EISDIR:S.nodePermissions(r,S.flagsToPermissionString(l)):N2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||S.MAX_OPEN_FDS;for(var h=r;h<=l;h++)if(!S.streams[h])return h;throw new S.ErrnoError(N2.EMFILE)},getStream:function(r){return S.streams[r]},createStream:function(r,l,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(l,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 l=S.getDevice(r.node.rdev);r.stream_ops=l.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,l){return r<<8|l},registerDevice:function(r,l){S.devices[r]={stream_ops:l}},getDevice:function(r){return S.devices[r]},getMounts:function(r){for(var l=[],h=[r];h.length;){var f=h.pop();l.push(f),h.push.apply(h,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=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,l(e));++f>=h.length&&l(null)}h.forEach(function(e){if(!e.type.syncfs)return z(null);e.type.syncfs(e,r,z)})},mount:function(r,l,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:l,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 l=S.lookupPath(r,{follow_mount:!1});if(!S.isMountpoint(l.node))throw new S.ErrnoError(N2.EINVAL);var h=l.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);Ne(e!==-1),h.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,h){var f=S.lookupPath(r,{parent:!0}),z=f.node,e=I9.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,l,h)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,S.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,S.mknod(r,l,0)},mkdev:function(r,l,h){return typeof h>"u"&&(h=l,l=438),l|=8192,S.mknod(r,l,h)},symlink:function(r,l){if(!I9.resolve(r))throw new S.ErrnoError(N2.ENOENT);var h=S.lookupPath(l,{parent:!0}),f=h.node;if(!f)throw new S.ErrnoError(N2.ENOENT);var z=I9.basename(l),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,l){var h=I9.dirname(r),f=I9.dirname(l),z=I9.basename(r),e=I9.basename(l),e1,n1,x2;try{e1=S.lookupPath(r,{parent:!0}),n1=e1.node,e1=S.lookupPath(l,{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 s=S.lookupNode(n1,z),l1=I9.relative(r,f);if(l1.charAt(0)!==".")throw new S.ErrnoError(N2.EINVAL);if(l1=I9.relative(l,h),l1.charAt(0)!==".")throw new S.ErrnoError(N2.ENOTEMPTY);var C;try{C=S.lookupNode(x2,e)}catch{}if(s!==C){var k5=S.isDir(s.mode),w2=S.mayDelete(n1,z,k5);if(w2)throw new S.ErrnoError(w2);if(w2=C?S.mayDelete(x2,e,k5):S.mayCreate(x2,e),w2)throw new S.ErrnoError(w2);if(!n1.node_ops.rename)throw new S.ErrnoError(N2.EPERM);if(S.isMountpoint(s)||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,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}S.hashRemoveNode(s);try{n1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{S.hashAddNode(s)}try{S.trackingDelegate.onMovePath&&S.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=S.lookupPath(r,{parent:!0}),h=l.node,f=I9.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 l=S.lookupPath(r,{follow:!0}),h=l.node;if(!h.node_ops.readdir)throw new S.ErrnoError(N2.ENOTDIR);return h.node_ops.readdir(h)},unlink:function(r){var l=S.lookupPath(r,{parent:!0}),h=l.node,f=I9.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 l=S.lookupPath(r),h=l.node;if(!h)throw new S.ErrnoError(N2.ENOENT);if(!h.node_ops.readlink)throw new S.ErrnoError(N2.EINVAL);return I9.resolve(S.getPath(l.node.parent),h.node_ops.readlink(h))},stat:function(r,l){var h=S.lookupPath(r,{follow:!l}),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,l,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:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){S.chmod(r,l,!0)},fchmod:function(r,l){var h=S.getStream(r);if(!h)throw new S.ErrnoError(N2.EBADF);S.chmod(h.node,l)},chown:function(r,l,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,l,h){S.chown(r,l,h,!0)},fchown:function(r,l,h){var f=S.getStream(r);if(!f)throw new S.ErrnoError(N2.EBADF);S.chown(f.node,l,h)},truncate:function(r,l){if(l<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:l,timestamp:Date.now()})},ftruncate:function(r,l){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,l)},utime:function(r,l,h){var f=S.lookupPath(r,{follow:!0}),z=f.node;z.node_ops.setattr(z,{timestamp:Math.max(l,h)})},open:function(r,l,h,f,z){if(r==="")throw new S.ErrnoError(N2.ENOENT);l=typeof l=="string"?S.modeStringToFlags(l):l,h=typeof h>"u"?438:h,l&64?h=h&4095|32768:h=0;var e;if(typeof r=="object")e=r;else{r=I9.normalize(r);try{var e1=S.lookupPath(r,{follow:!(l&131072)});e=e1.node}catch{}}var n1=!1;if(l&64)if(e){if(l&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)&&(l&=-513),!n1){var x2=S.mayOpen(e,l);if(x2)throw new S.ErrnoError(x2)}l&512&&S.truncate(e,0),l&=-641;var s=S.createStream({node:e,path:S.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,z);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(S.readFiles||(S.readFiles={}),r in S.readFiles||(S.readFiles[r]=1,n.printErr("read file: "+r)));try{if(S.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=S.tracking.openFlags.READ),l&2097155&&(l1|=S.tracking.openFlags.WRITE),S.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{S.closeStream(r.fd)}},llseek:function(r,l,h){if(!r.seekable||!r.stream_ops.llseek)throw new S.ErrnoError(N2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,h),r.ungotten=[],r.position},read:function(r,l,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,l,h,f,z);return e||(r.position+=e1),e1},write:function(r,l,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,l,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,l,h){if(l<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,l,h)},mmap:function(r,l,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,l,h,f,z,e,e1)},msync:function(r,l,h,f,z){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,h,f,z)},munmap:function(r){return 0},ioctl:function(r,l,h){if(!r.stream_ops.ioctl)throw new S.ErrnoError(N2.ENOTTY);return r.stream_ops.ioctl(r,l,h)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var h,f=S.open(r,l.flags),z=S.stat(r),e=z.size,e1=new Uint8Array(e);return S.read(f,e1,0,e,0),l.encoding==="utf8"?h=zo(e1,0):l.encoding==="binary"&&(h=e1),S.close(f),h},writeFile:function(r,l,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(Jo(l)+1),e=Un(l,z,0,z.length);S.write(f,z,0,e,0,h.canOwn)}else h.encoding==="binary"&&S.write(f,l,0,l.length,0,h.canOwn);S.close(f)},cwd:function(){return S.currentPath},chdir:function(r){var l=S.lookupPath(r,{follow:!0});if(!S.isDir(l.node.mode))throw new S.ErrnoError(N2.ENOTDIR);var h=S.nodePermissions(l.node,"x");if(h)throw new S.ErrnoError(h);S.currentPath=l.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 l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[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");G9[Ok>>2]=S.getPtrForStream(r),Ne(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=S.open("/dev/stdout","w");G9[qk>>2]=S.getPtrForStream(l),Ne(l.fd===1,"invalid handle for stdout ("+l.fd+")");var h=S.open("/dev/stderr","w");G9[Hk>>2]=S.getPtrForStream(h),Ne(h.fd===2,"invalid handle for stderr ("+h.fd+")")},ensureErrnoError:function(){S.ErrnoError||(S.ErrnoError=function(l,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(l),this.message=Pk[l]},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(L9,{},"/"),S.createDefaultDirectories(),S.createDefaultDevices()},init:function(r,l,h){Ne(!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=l||n.stdout,n.stderr=h||n.stderr,S.createStandardStreams()},quit:function(){S.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",h,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+h+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,U9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",W9=1024*1024;U9||(W9=w2);var ye=function(ie,It){if(ie>It)throw new Error("invalid range ("+ie+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var e4=new XMLHttpRequest;if(e4.open("GET",h,!1),w2!==W9&&e4.setRequestHeader("Range","bytes="+ie+"-"+It),typeof Uint8Array<"u"&&(e4.responseType="arraybuffer"),e4.overrideMimeType&&e4.overrideMimeType("text/plain; charset=x-user-defined"),e4.send(null),!(e4.status>=200&&e4.status<300||e4.status===304))throw new Error("Couldn't load "+h+". Status: "+e4.status);return e4.response!==void 0?new Uint8Array(e4.response||[]):en(e4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(ie){var It=ie*W9,e4=(ie+1)*W9-1;if(e4=Math.min(e4,w2-1),typeof Dt.chunks[ie]>"u"&&(Dt.chunks[ie]=ye(It,e4)),typeof Dt.chunks[ie]>"u")throw new Error("doXHR failed!");return Dt.chunks[ie]}),this._length=w2,this._chunkSize=W9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)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,l,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 s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,U9,W9){if(!S.forceLoadFile(x2))throw new S.ErrnoError(N2.EIO);var ye=k5.node.contents;if(W9>=ye.length)return 0;var Dt=Math.min(ye.length-W9,U9);if(Ne(Dt>=0),ye.slice)for(var ie=0;ie=0;f--){var z=r[f];z==="."?r.splice(f,1):z===".."?(r.splice(f,1),h++):h&&(r.splice(f,1),h--)}if(l)for(;h--;h)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",h=r.substr(-1)==="/";return r=I9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&h&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=I9.splitPath(r),h=l[0],f=l[1];return!h&&!f?".":(f&&(f=f.substr(0,f.length-1)),h+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return I9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return I9.normalize(r.join("/"))},join2:function(r,l){return I9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,h=arguments.length-1;h>=-1&&!l;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,l=f.charAt(0)==="/"}return r=I9.normalizeArray(r.split("/").filter(function(z){return!!z}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=I9.resolve(r).substr(1),l=I9.resolve(l).substr(1);function h(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=h(r.split("/")),z=h(l.split("/")),e=Math.min(f.length,z.length),e1=e,n1=0;n10){var n1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-n1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&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!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?v.dynCall("vi",r,[f]):v.dynCall("v",r)}),!(e0?jp(0,1e3/l):jp(1,1),J1.mainLoop.scheduler()),h)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var r=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,h=J1.mainLoop.func;J1.mainLoop.func=null,GB(h,0,!1,J1.mainLoop.arg,!0),jp(r,l),J1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,h=J1.mainLoop.expectedBlockers;l?l"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 s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(e1)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(e1)}))}catch(w2){v.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){Ne(k5.complete,"Image "+e1+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var U9=P5.getContext("2d");U9.drawImage(k5,0,0),n.preloadedImages[e1]=P5,J1.URLObject.revokeObjectURL(C),n1&&n1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,e1,n1,x2){var s=!1;function l1(U9){s||(s=!0,n.preloadedAudios[e1]=U9,n1&&n1(e))}function C(){s||(s=!0,n.preloadedAudios[e1]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var k5=new Blob([e],{type:J1.getMimetype(e1)})}catch{return C()}var w2=J1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(W9){if(s)return;console.log("warning: browser could not fully decode audio "+e1+", trying slower base64 approach");function ye(Dt){for(var ie="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",e4="",V7=0,Y7=0,vr=0;vr=6;){var rl=V7>>Y7-6&63;Y7-=6,e4+=ie[rl]}return Y7==2?(e4+=ie[(V7&3)<<4],e4+=It+It):Y7==4&&(e4+=ie[(V7&15)<<2],e4+=It),e4}P5.src="data:audio/x-"+e1.substr(-3)+";base64,"+ye(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var h=n.canvas;function f(){J1.pointerLock=document.pointerLockElement===h||document.mozPointerLockElement===h||document.webkitPointerLockElement===h||document.msPointerLockElement===h}h&&(h.requestPointerLock=h.requestPointerLock||h.mozRequestPointerLock||h.webkitRequestPointerLock||h.msRequestPointerLock||function(){},h.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},h.exitPointerLock=h.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&h.addEventListener("click",function(z){!J1.pointerLock&&h.requestPointerLock&&(h.requestPointerLock(),z.preventDefault())},!1))},createContext:function(r,l,h,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var z,e;if(l){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&&(l||Ne(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,l&&GL.makeContextCurrent(e),n.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),z):null},destroyContext:function(r,l,h){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,h){J1.lockPointer=r,J1.resizeCanvas=l,J1.vrDevice=h,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=n.canvas;function z(){J1.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),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(e1.parentNode.insertBefore(f,e1),e1.parentNode.removeChild(e1),J1.resizeCanvas&&J1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.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 l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var h=Math.max(J1.nextRAF-l,0);setTimeout(r,h)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!P)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var r=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return J1.requestAnimationFrame(function(){P||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){P||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){P||J1.allowAsyncCallbacks&&r()},l)},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 l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(J1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(r),J1.mouseMovementY=J1.getMovementY(r)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=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+l.left),x2=e1.pageY-(e+l.top);n1=n1*(h/l.width),x2=x2*(f/l.height);var s={x:n1,y:x2};if(r.type==="touchstart")J1.lastTouches[e1.identifier]=s,J1.touches[e1.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=J1.touches[e1.identifier];l1||(l1=s),J1.lastTouches[e1.identifier]=l1,J1.touches[e1.identifier]=s}return}var C=r.pageX-(z+l.left),k5=r.pageY-(e+l.top);C=C*(h/l.width),k5=k5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=k5-J1.mouseY,J1.mouseX=C,J1.mouseY=k5}},xhrLoad:function(r,l,h){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):h()},f.onerror=h,f.send(null)},asyncLoad:function(r,l,h,f){J1.xhrLoad(r,function(z){Ne(z,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(z)),f||Qr("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;J1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,h){var f=n.canvas;J1.updateCanvasDimensions(f,r,l),h||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=el[SDL.screen+v.QUANTUM_SIZE*0>>2];r=r|8388608,G9[SDL.screen+v.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=el[SDL.screen+v.QUANTUM_SIZE*0>>2];r=r&-8388609,G9[SDL.screen+v.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},updateCanvasDimensions:function(r,l,h){l&&h?(r.widthNative=l,r.heightNative=h):(l=r.widthNative,h=r.heightNative);var f=l,z=h;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/z>2]=l),l}function oS(){n.printErr("missing function: floor0_exportbundle"),ts(-1)}if(Xo=v.staticAlloc(4),G9[Xo>>2]=0,n.requestFullScreen=function(l,h,f){J1.requestFullScreen(l,h,f)},n.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},n.setCanvasSize=function(l,h,f){J1.setCanvasSize(l,h,f)},n.pauseMainLoop=function(){J1.mainLoop.pause()},n.resumeMainLoop=function(){J1.mainLoop.resume()},n.getUserMedia=function(){J1.getUserMedia()},n.createContext=function(l,h,f,z){return J1.createContext(l,h,f,z)},S.staticInit(),J$.unshift(function(){!n.noFSInit&&!S.init.initialized&&S.init()}),Du.push(function(){S.ignorePermissions=!1}),K$.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()}),K$.push(function(){qn.shutdown()}),u)var S8=void 0,PB=void 0;bu=S7=v.alignMemory(jr),H$=!0,V$=bu+zp,Y$=U7=v.alignMemory(V$),Ne(Y$>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 K_(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 GS(t){t=t|0,Z6=t}function US(){return Z6|0}function vC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=M9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function PS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,b=(B|0)==0,!b&&(D=a<<3,k=o-D|0,w=t+8|0,_=e[w>>2]|0,Q=_+a|0,e[$>>2]=Q,x=t+4|0,e[x>>2]=k,e[t>>2]=a,g=8+(k<<2)|0,d=e[g>>2]|0,m=f[Q>>0]|0,I=m&255,E=I&d,y=E&255,f[Q>>0]=y)}function H2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0;Y0=C,d=a>>>0>32;do if(!d){if(m=e[t>>2]|0,x=t+16|0,A0=e[x>>2]|0,c0=A0+-4|0,b0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,b0)H=g;else{if(N0=(g|0)==0,N0)return;if(K0=(A0|0)>2147483391,K0||(V0=t+8|0,j0=e[V0>>2]|0,I=A0+256|0,E=J7(j0,I)|0,y=(E|0)==0,y))break;e[V0>>2]=E,B=e[x>>2]|0,b=B+256|0,e[x>>2]=b,D=e[t>>2]|0,k=E+D|0,e[$>>2]=k,H=k}w=8+(a<<2)|0,_=e[w>>2]|0,Q=_&o,M=t+4|0,L=e[M>>2]|0,F=L+a|0,G=Q<>0]|0,V=O&255,J=V|G,t0=J&255,f[H>>0]=t0,Z=(F|0)>7;do if(Z&&(j=e[M>>2]|0,r0=8-j|0,s0=Q>>>r0,K=s0&255,o0=e[$>>2]|0,Y=o0+1|0,f[Y>>0]=K,h0=(F|0)>15,h0&&(i0=e[M>>2]|0,e0=16-i0|0,u0=Q>>>e0,$0=u0&255,l0=e[$>>2]|0,X=l0+2|0,f[X>>0]=$0,m0=(F|0)>23,m0&&(g0=e[M>>2]|0,I0=24-g0|0,n0=Q>>>I0,d0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=d0,y0=(F|0)>31,y0))))if(D0=e[M>>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,S0=e[$>>2]|0,J0=S0+U0|0,e[$>>2]=J0,T0=F&7,e[M>>2]=T0;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 kC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;d=C,o=t+8|0,a=e[o>>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 o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0;y=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[o>>2]=d,m=d,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function SC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0,p0=0,C0=0,b0=0,y0=0,D0=0,E0=0,Q0=0,w0=0,B0=0,x0=0;if(x0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,_=e[g>>2]|0,t0=t+4|0,e0=e[t0>>2]|0,p0=e0+o|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(m=p0+7|0,I=m>>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,w=k&255,Q=w>>>e0,x=(p0|0)>8,x?(M=D+1|0,L=f[M>>0]|0,F=L&255,G=8-e0|0,O=F<16,V?(J=D+2|0,Z=f[J>>0]|0,A0=Z&255,j=16-e0|0,r0=A0<24,K?(o0=D+3|0,Y=f[o0>>0]|0,h0=Y&255,i0=24-e0|0,u0=h0<>0]|0,g0=m0&255,I0=32-e0|0,n0=g0<>2]|0,b=$+o|0,D=e[t>>2]|0,k=t+16|0,w=e[k>>2]|0,_=b+7|0,Q=_>>3,x=w-Q|0,M=(D|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(b|0)/8&-1,d=t+12|0,m=e[d>>2]|0,I=m+g|0,e[d>>2]=I,E=D+g|0,e[t>>2]=E,y=b&7,L=y,e[a>>2]=L;return}}function i4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0;M0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,d=t,m=I,v0=g;else{if(y=8+(o<<2)|0,F=e[y>>2]|0,s0=t+4|0,X=e[s0>>2]|0,E0=X+o|0,N0=e[t>>2]|0,U0=t+16|0,O0=e[U0>>2]|0,H0=O0+-4|0,B=(N0|0)<(H0|0),!B){if(b=E0+7|0,D=b>>3,k=O0-D|0,w=(N0|0)>(k|0),w){d=t,m=s0,v0=O0;break}if(_=(E0|0)==0,_)return a=0,a|0}return Q=t+12|0,x=e[Q>>2]|0,M=f[x>>0]|0,L=M&255,G=L>>>X,O=(E0|0)>8,O?(H=x+1|0,V=f[H>>0]|0,J=V&255,t0=8-X|0,Z=J<16,j?(r0=x+2|0,K=f[r0>>0]|0,o0=K&255,Y=16-X|0,h0=o0<24,e0?(u0=x+3|0,c0=f[u0>>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=N0+w0|0,e[t>>2]=x0,Z0=E0&7,e[s0>>2]=Z0,a=Q0,a|0}while(!1);return R0=t+12|0,e[R0>>2]=0,e[d>>2]=v0,e[m>>2]=1,a=-1,a|0}function b8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,d=(g|0)/8&-1,m=d+o|0,m|0}function dy(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function OS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=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=M9(16384)|0,e[t>>2]=k,w=M9(4096)|0,_=t+16|0,e[_>>2]=w,Q=M9(8192)|0,x=t+20|0,e[x>>2]=Q,M=(k|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(Q|0)==0,F=m|L,F){E2(k),$=e[_>>2]|0,I=$;break}return b=t+336|0,e[b>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),y=e[x>>2]|0,B=(y|0)==0,B||E2(y),g4(t|0,0,360)|0,a=-1,a|0}function qS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0;return b=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||E2(a),g=t+16|0,d=e[g>>2]|0,m=(d|0)==0,m||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 HS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0;if(O0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,k=a+22|0,f[k>>0]=0,V=e[t>>2]|0,h0=V+23|0,f[h0>>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,w=d+v0|0,_=f[w>>0]|0,Q=_&255,x=Q^D,M=144+(x<<2)|0,L=e[M>>2]|0,F=L^b,G=v0+1|0,O=(G|0)<($|0),O)x0=F,v0=G;else{B0=F;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(y=t+8|0,B=e[y>>2]|0,R0=B0,N0=0;;)if(H=R0<<8,J=R0>>>24,t0=B+N0|0,Z=f[t0>>0]|0,A0=Z&255,j=A0^J,r0=144+(j<<2)|0,s0=e[r0>>2]|0,K=s0^H,o0=N0+1|0,Y=(o0|0)<(I|0),Y)R0=K,N0=o0;else{Z0=K;break}else Z0=B0;i0=Z0&255,e0=e[t>>2]|0,u0=e0+22|0,f[u0>>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,d0=I0+24|0,f[d0>>0]=g0,p0=Z0>>>24,C0=p0&255,b0=e[t>>2]|0,y0=b0+25|0,f[y0>>0]=C0}}function VS(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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=(o|0)==0,L0)return I=0,I|0;X0=(a|0)>0;e:do if(X0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,A2=(q1|0)<0,w=2147483647-q1|0,J=(m2|0)>(w|0),G2=A2|J,G2){I=-1;break}if(i0=q1+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||(d0=e[k>>2]|0,p0=d0-g0|0,e[k>>2]=p0,C0=(d0|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),N0=t+16|0,U0=e[N0>>2]|0,O0=(U0|0)==0,O0||E2(U0),H0=t+20|0,S0=e[H0>>2]|0,J0=(S0|0)==0,J0||E2(S0),g4(t|0,0,360)|0,I=-1,I|0;if(T0=D0+a2|0,P0=(T0|0)<2147482623,W0=T0+1024|0,m=P0?W0:T0,K0=e[t>>2]|0,V0=J7(K0,m)|0,j0=(V0|0)==0,!j0){e[y0>>2]=m,e[t>>2]=V0;break}return q0=e[t>>2]|0,Y0=(q0|0)==0,Y0||E2(q0),s1=t+16|0,z0=e[s1>>2]|0,r1=(z0|0)==0,r1||E2(z0),o1=t+20|0,d1=e[o1>>2]|0,u1=(d1|0)==0,u1||E2(d1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(p1=YS(t,X)|0,f1=(p1|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=o+(D2<<3)|0,L1=e[S1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ce(v1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[k>>2]|0,U1=F1+R1|0,e[k>>2]=U1,D1=D2+1|0,r2=(D1|0)==(a|0),!r2;)k1=U1,D2=D1;if(h1=(a2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,h1){for(B1=t+352|0,m1=t+20|0,Q1=e[m1>>2]|0,C1=(l0|0)>1,y2=0;P1=c1+y2|0,X1=$1+(P1<<2)|0,e[X1>>2]=255,G1=B1,x1=G1,K1=e[x1>>2]|0,H1=G1+4|0,V1=H1,Y1=e[V1>>2]|0,t2=Q1+(P1<<3)|0,s2=t2,e2=s2,e[e2>>2]=K1,O1=s2+4|0,h2=O1,e[h2>>2]=Y1,Z1=y2+1|0,I2=(Z1|0)<(l0|0),I2;)y2=Z1;M2=C1?l0:1,B=B1,c2=Q1,S2=M2}else E=t+20|0,b=e[E>>2]|0,D=t+352|0,B=D,c2=b,S2=0;return C2=(a2|0)%255&-1,$2=c1+S2|0,W1=$1+($2<<2)|0,e[W1>>2]=C2,f2=c2+($2<<3)|0,n2=f2,g2=n2,e[g2>>2]=g,o2=n2+4|0,l2=o2,e[l2>>2]=d,i2=B,_=i2,e[_>>2]=g,Q=i2+4|0,x=Q,e[x>>2]=d,M=$1+(c1<<2)|0,L=e[M>>2]|0,F=L|256,e[M>>2]=F,G=c1+X|0,e[A1>>2]=G,O=t+344|0,H=O,V=H,t0=e[V>>2]|0,Z=H+4|0,A0=Z,j=e[A0>>2]|0,r0=ns(t0|0,j|0,1,0)|0,s0=Z6,K=O,o0=K,e[o0>>2]=r0,Y=K+4|0,h0=Y,e[h0>>2]=s0,e0=($|0)==0,e0?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function rE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0;return M=C,C=C+16|0,Q=M,a=e[o>>2]|0,e[Q>>2]=a,$=o+4|0,E=e[$>>2]|0,y=Q+4|0,e[y>>2]=E,B=o+12|0,b=e[B>>2]|0,D=o+16|0,k=D,w=k,_=e[w>>2]|0,g=k+4|0,d=g,m=e[d>>2]|0,I=VS(t,Q,1,b,_,m)|0,C=M,I|0}function fy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=my(t,o,1,4096)|0,a|0}function Iy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0;return M=C,d=(t|0)==0,d||(m=e[t>>2]|0,I=(m|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?x=7:_=0):Q?_=0:x=7,(x|0)==7&&(_=1),w=my(t,o,_,4096)|0,a=w,a|0)}function YS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0;return d0=C,g=t+24|0,d=e[g>>2]|0,Q=d-o|0,Z=t+28|0,u0=e[Z>>2]|0,l0=(Q|0)>(u0|0),l0?($=0,$|0):(X=2147483647-o|0,m0=(d|0)>(X|0),m0?(g0=e[t>>2]|0,I0=(g0|0)==0,I0||E2(g0),m=t+16|0,I=e[m>>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+o|0,k=(D|0)<2147483615,w=D+32|0,a=k?w:D,_=t+16|0,x=e[_>>2]|0,M=a<<2,L=J7(x,M)|0,F=(L|0)==0,F?(G=e[t>>2]|0,O=(G|0)==0,O||E2(G),H=e[_>>2]|0,V=(H|0)==0,V||E2(H),J=t+20|0,t0=e[J>>2]|0,A0=(t0|0)==0,A0||E2(t0),g4(t|0,0,360)|0,$=-1,$|0):(e[_>>2]=L,j=t+20|0,r0=e[j>>2]|0,s0=a<<3,K=J7(r0,s0)|0,o0=(K|0)==0,o0?(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]=K,e[g>>2]=a,$=0,$|0))))}function my(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0;if(S5=C,Q=t+28|0,x=e[Q>>2]|0,d1=(x|0)>255,g=d1?255:x,m1=(t|0)==0,m1||(R1=e[t>>2]|0,V1=(R1|0)==0,$2=(g|0)==0,_3=$2|V1,_3))return d=0,d|0;r2=t+332|0,J2=e[r2>>2]|0,j2=(J2|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,J5=g3,Y5=14;break e}if(j0=e[y0>>2]|0,z0=j0+(g3<<2)|0,r1=e[z0>>2]|0,L0=r1&255,o1=(L0|0)==255,u1=g3+1|0,o1)g3=u1;else{I=a,v5=0,z5=0,i3=0,C5=0,I3=0,d3=0,W5=0,r3=0,J5=u1,Y5=14;break}}else if(M=(g|0)>0,M){for(j=t+16|0,$0=t+20|0,y5=0,D5=-1,d5=-1,l5=-1,X2=-1,d2=-1,w5=-1,r5=-1,a5=-1,t3=0,G3=0,Q3=0;;){if(p1=(y5|0)>($|0),f1=(t3|0)>3,H3=p1&f1,H3){m=1,q5=D5,M5=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,c1=e[A1>>2]|0,a1=c1&255,$1=a1+y5|0,X0=(a1|0)==255,X0?(f5=D5,K2=d5,I5=l5,n5=X2,R5=d2,e5=w5,c5=r5,T2=a5,a6=0,V3=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=os(v1|0,L1|0,8)|0,F1=Z6,U1=_1&255,D1=os(v1|0,L1|0,16)|0,P1=Z6,X1=D1&255,G1=os(v1|0,L1|0,24)|0,x1=Z6,K1=G1&255,q1=L1&255,H1=os(v1|0,L1|0,40)|0,Y1=Z6,t2=H1&255,s2=os(v1|0,L1|0,48)|0,e2=Z6,O1=s2&255,h2=os(v1|0,L1|0,56)|0,Z1=Z6,I2=h2&255,f5=b1,K2=X1,I5=K1,n5=q1,R5=t2,e5=O1,c5=I2,T2=U1,a6=M1,V3=M1),A2=Q3+1|0,C2=(A2|0)<(g|0),C2)y5=$1,D5=f5,d5=K2,l5=I5,X2=n5,d2=R5,w5=e5,r5=c5,a5=T2,t3=a6,G3=V3,Q3=A2;else{m=a,q5=f5,M5=K2,z2=I5,E5=n5,$5=R5,h5=e5,Q5=c5,T1=T2,u3=A2;break}}W1=(u3|0)==255,W1?(a3=q5,y3=M5,G5=z2,Z5=E5,x3=$5,f3=h5,w3=Q5,e6=T1,H5=255):(I=m,v5=q5,z5=M5,i3=z2,C5=E5,I3=$5,d3=h5,W5=Q5,r3=T1,J5=u3,Y5=14)}else I=a,v5=-1,z5=-1,i3=-1,C5=-1,I3=-1,d3=-1,W5=-1,r3=-1,J5=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=J5}if(c2=t+40|0,f[c2>>0]=79,f[c2+1>>0]=103,f[c2+2>>0]=103,f[c2+3>>0]=83,n2=t+44|0,f[n2>>0]=0,g2=t+45|0,f[g2>>0]=0,o2=t+16|0,l2=e[o2>>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[g2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,y2=(S2|0)!=0,G2=(x|0)==(H5|0),X5=y2&G2,X5&&(y=j2?k2:m2,M2=y|4,O2=M2&255,f[g2>>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,x5=t5>>>8,m5=x5&255,b5=t+55|0,f[b5>>0]=m5,V5=t5>>>16,u5=V5&255,b2=t+56|0,f[b2>>0]=u5,B5=t5>>>24,s5=B5&255,F2=t+57|0,f[F2>>0]=s5,R2=t+340|0,Q2=e[R2>>2]|0,L=(Q2|0)==-1,L?(e[R2>>2]=0,G=0):G=Q2,F=G+1|0,e[R2>>2]=F,O=G&255,H=t+58|0,f[H>>0]=O,V=G>>>8,J=V&255,t0=t+59|0,f[t0>>0]=J,Z=G>>>16,A0=Z&255,r0=t+60|0,f[r0>>0]=A0,s0=G>>>24,K=s0&255,o0=t+61|0,f[o0>>0]=K,Y=t+62|0,h0=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]=h0,e0=(H5|0)>0,e0){if(u0=e[l2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,X=u0&255,L5=(H5|0)==1,L5)B=X;else for(g0=1,D0=X;;)if(D=e[o2>>2]|0,m0=D+(g0<<2)|0,I0=e[m0>>2]|0,n0=I0&255,d0=g0+27|0,p0=(t+40|0)+d0|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,w=e[Q>>2]|0,_=e[o2>>2]|0,v0=k,S0=w,T0=_,N5=B}else v0=R1,S0=x,T0=l2,N5=0;return e[o>>2]=c2,Q0=H5+27|0,w0=t+324|0,e[w0>>2]=Q0,B0=o+4|0,e[B0>>2]=Q0,x0=t+12|0,Z0=e[x0>>2]|0,R0=v0+Z0|0,N0=o+8|0,e[N0>>2]=R0,O0=o+12|0,e[O0>>2]=N5,H0=S0-H5|0,e[Q>>2]=H0,J0=T0+(H5<<2)|0,M0=H0<<2,$A(T0|0,J0|0,M0|0)|0,P0=t+20|0,W0=e[P0>>2]|0,K0=W0+(H5<<3)|0,V0=e[Q>>2]|0,q0=V0<<3,$A(W0|0,K0|0,q0|0)|0,Y0=e[x0>>2]|0,s1=Y0+N5|0,e[x0>>2]=s1,HS(o),d=1,d|0}function zS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=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),m=g+28|0,I=e[m>>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),w=g+44|0,Q=e[w>>2]|0,mi(Q),x=g+48|0,M=e[x>>2]|0,mi(M),L=g+52|0,F=e[L>>2]|0,mi(F),G=g+56|0,O=e[G>>2]|0,mi(O),H=g+60|0,V=e[H>>2]|0,mi(V),J=g+64|0,Z=e[J>>2]|0,mi(Z),A0=g+68|0,j=e[A0>>2]|0,mi(j),r0=e[6416]|0,s0=r0+12|0,K=e[s0>>2]|0,o0=Wy[K&1](t)|0,Y=(o0|0)==0,Y?(h0=(o|0)==0,h0?(a=0,a|0):(i0=Nu(t)|0,u0=(i0|0)==0,u0?(c0=t+4|0,$0=dy(c0)|0,e[o>>2]=$0,l0=b8(c0)|0,X=o+4|0,e[X>>2]=l0,m0=o+8|0,e[m0>>2]=0,g0=t+44|0,I0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=I0,d0=t+48|0,C0=d0,b0=C0,y0=e[b0>>2]|0,D0=C0+4|0,E0=D0,Q0=e[E0>>2]|0,w0=o+16|0,B0=w0,x0=B0,e[x0>>2]=y0,Z0=B0+4|0,v0=Z0,e[v0>>2]=Q0,N0=t+56|0,U0=N0,O0=U0,H0=e[O0>>2]|0,S0=U0+4|0,J0=S0,T0=e[J0>>2]|0,M0=o+24|0,P0=M0,K0=P0,e[K0>>2]=H0,V0=P0+4|0,j0=V0,e[j0>>2]=T0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function JS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0,p0=0,C0=0,b0=0,y0=0,D0=0;y0=C,a=t+28|0,$=e[a>>2]|0,C0=o,D0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(D0|0));w=$+3372|0,J=e[w>>2]|0,i0=(J|0)>0,i0&&(g0=t+8|0,I0=e[g0>>2]|0,n0=e[$>>2]|0,d0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=d,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,y=+(E|0),B=+(d0|0),b=y*B,D=+(I0|0),k=b/D,_=+z7(k),Q=~~_,x=o+12|0,e[x>>2]=Q,M=$+3364|0,L=e[M>>2]|0,F=+(L|0),G=F*B,O=G/D,H=+z7(O),V=~~H,t0=o+16|0,e[t0>>2]=V,Z=$+3368|0,A0=e[Z>>2]|0,j=+(A0|0),r0=j*B,s0=r0/D,K=+z7(s0),o0=~~K,Y=o+20|0,e[Y>>2]=o0,h0=o+32|0,l1[h0>>3]=7,e0=+(J|0),u0=$+3376|0,c0=+l1[u0>>3],$0=e0*c0,l0=~~$0,X=o+8|0,e[X>>2]=l0,m0=o+4|0,e[m0>>2]=l0)}function KS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Nu(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=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,m=d+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function WS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=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,M5=b2+104|0,d2=e[M5>>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=+l1[b>>3],o0=+z7(O),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,J0=e[w0>>2]|0,z0=b8(J0)|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,x5=e[T5>>2]|0,Y=p2,D0=T5,B0=x5):(j2=d2+104|0,m5=e[j2>>2]|0,b5=d2+100|0,V5=e[b5>>2]|0,u5=o5(m5,p2)|0,B5=o5(m5,V5)|0,Y=u5,D0=b5,B0=B5),s5=U5+(x1<<2)|0,F2=e[s5>>2]|0,R2=F2>>1,Q2=U5+3372|0,y5=e[Q2>>2]|0,N5=+(y5|0),p5=U5+3376|0,L5=+l1[p5>>3],q5=N5*L5,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,D5=(T1|0)==0,D5?(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=o5(r5,l5)|0,c5=a5),f5=U5+3384|0,K2=+l1[f5>>3],I5=15/K2,n5=d2+84|0,R5=e[n5>>2]|0,e5=a1-c5|0,v5=R5+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+R5|0,W5=(d3|0)>(z2|0),W5)for(z3=g0;;){if(r3=z3+-1|0,a3=(B+12|0)+(r3<<2)|0,y3=e[a3>>2]|0,Z5=b8(y3)|0,x3=Z5<<3,f3=(z3|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,H3=e6+I|0,X5=(H3|0)>(z2|0),X5)z3=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,V3=(a1|0)<(c5|0),n6=V3&a6,n6)if(c3=a1-c5|0,g3=c3+R5|0,u3=(g3|0)<(z2|0),u3)for(J5=t3;;){if(Q3=(B+12|0)+(J5<<2)|0,H5=e[Q3>>2]|0,Y5=b8(H5)|0,S5=Y5<<3,Y3=J5+1|0,l6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&l6,!S6){j5=J5;break e}if(m=e[n5>>2]|0,l3=S5-c5|0,U3=l3+m|0,C6=(U3|0)<(z2|0),C6)J5=Y3;else{j5=J5;break}}else j5=g0;else j5=g0;else j5=g0;while(!1);b3=+(j5|0),L3=+l1[b>>3],D3=b3-L3,A6=+z7(D3),r6=+(R2|0),D=A6/r6,k=G5+8|0,w=e[k>>2]|0,_=+(w|0),Q=_*D,x=-I5,M=QI5,R3=L?I5:v6,F=R3/_,G=F*r6,H=G+L3,l1[b>>3]=H,V=+z7(H),J=~~V,t0=(B+12|0)+(J<<2)|0,Z=e[t0>>2]|0,A0=b8(Z)|0,j=A0<<3,E=e[i2>>2]|0,r0=E,M3=J,o6=j}else r0=p2,M3=g0,o6=a1;s0=(r0|0)>0,K=(o6|0)<(Y|0),f6=K&s0;e:do if(f6)if(h0=d2+88|0,i0=e[h0>>2]|0,e0=o6-Y|0,u0=e0+i0|0,c0=(u0|0)<0,c0)for(h3=M3,s6=o6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){J3=$0,B6=s6;break e}if(X=(B+12|0)+($0<<2)|0,m0=e[X>>2]|0,I0=b8(m0)|0,n0=I0<<3,d0=e[h0>>2]|0,p0=n0-Y|0,C0=p0+d0|0,b0=(C0|0)<0,b0)h3=$0,s6=n0;else{J3=$0,B6=n0;break}}else J3=M3,B6=o6;else J3=M3,B6=o6;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,N0=e[Q2>>2]|0,U0=(v0|0)>(N0|0),U0)for(d6=J3,K3=B6;;){if(O0=d6+-1|0,H0=(d6|0)<1,H0){m3=O0,F3=K3;break e}if(S0=(B+12|0)+(O0<<2)|0,T0=e[S0>>2]|0,M0=b8(T0)|0,P0=M0<<3,W0=e[x0>>2]|0,K0=P0-B0|0,V0=K0+W0|0,j0=e[Q2>>2]|0,q0=(V0|0)>(j0|0),q0)d6=O0,K3=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)s1=e[Q2>>2]|0,r1=d2+88|0,L0=e[r1>>2]|0,o1=s1+B0|0,d1=o1-L0|0,u1=(d1|0)/8&-1,p1=d2+124|0,e[p1>>2]=0,f1=B+12|0,h1=e[f1>>2]|0,A1=b8(h1)|0,c1=(A1|0)>(u1|0),c1?($1=e[f1>>2]|0,X0=u1<<3,PS($1,X0),B1=e[f1>>2]|0,m1=b8(B1)|0,Q1=m1<<3,W3=Q1):W3=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=b8(R1)|0,U1=S1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,x6=U1;;)if(X1=x6+-1|0,H2(G1,0,8),K1=(x6|0)>1,q1=e[_1>>2]|0,K1)G1=q1,x6=X1;else{d=q1;break}else d=P1;H1=b8(d)|0,V1=H1<<3,W3=V1}Y1=e[i2>>2]|0,t2=(Y1|0)>0,t2?t6=37:(s2=e[D0>>2]|0,e2=(s2|0)>0,e2&&(t6=37));do if((t6|0)==37){if(O1=(B0|0)>0,h2=(W3|0)>(B0|0),N6=O1&h2,N6){A2=W3-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,c2=(W3|0)<(Y|0),j6=f2&c2,j6){n2=W3-Y|0,g2=d2+88|0,o2=e[g2>>2]|0,l2=n2+o2|0,e[g2>>2]=l2;break}if(a2=d2+88|0,m2=e[a2>>2]|0,r2=(m2|0)>(z2|0),r2)if(O1){k2=W3-B0|0,D2=m2+k2|0,S2=(D2|0)<(z2|0),o=S2?z2:D2,e[a2>>2]=o;break}else{e[a2>>2]=z2;break}else if(f2){y2=W3-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,J2=(q2|0)==0,J2?Y2=O2:(U2=d2+104|0,V2=e[U2>>2]|0,Z2=o5(V2,O2)|0,Y2=Z2),A5=W3-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 py(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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=(o|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,m=e[d>>2]|0,I=m+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=dy(D)|0,e[o>>2]=k,w=e[b>>2]|0,Q=b8(w)|0,x=o+4|0,e[x>>2]=Q,M=o+8|0,e[M>>2]=0,L=t0+44|0,F=e[L>>2]|0,G=o+12|0,e[G>>2]=F,O=t0+48|0,H=O,V=H,J=e[V>>2]|0,Z=H+4|0,A0=Z,j=e[A0>>2]|0,r0=o+16|0,s0=r0,K=s0,e[K>>2]=J,o0=s0+4|0,Y=o0,e[Y>>2]=j,h0=t0+56|0,i0=h0,u0=i0,c0=e[u0>>2]|0,$0=i0+4|0,l0=$0,X=e[l0>>2]|0,m0=o+24|0,g0=m0,I0=g0,e[I0>>2]=c0,n0=g0+4|0,d0=n0,e[d0>>2]=X),e[_>>2]=0,a=1,a|0)}function ZS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0;G=C,L=o,O=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(O|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,y=o+68|0,e[y>>2]=0,B=e[t>>2]|0,b=(B|0)==0,b)return 0;for(D=le(1,72)|0,k=o+104|0,e[k>>2]=D,w=D+4|0,s[w>>2]=-9999,_=o+4|0,Q=D+12|0,g=D+40|0,M=0;;)if(d=(M|0)==7,d){e[g>>2]=_,vC(_),M=8;continue}else{if(m=le(1,20)|0,I=Q+(M<<2)|0,e[I>>2]=m,vC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function W8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0;return Z=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,F=L+$|0,G=t+76|0,O=e[G>>2]|0,H=(F|0)>(O|0),V=t+68|0,J=e[V>>2]|0,H?(g=(J|0)==0,g||(d=J,m=M9(8)|0,I=t+80|0,E=e[I>>2]|0,y=E+L|0,e[I>>2]=y,B=t+84|0,b=e[B>>2]|0,D=m+4|0,e[D>>2]=b,e[m>>2]=d,e[B>>2]=m),e[G>>2]=$,k=M9($)|0,e[V>>2]=k,e[w>>2]=0,Q=k,x=0,_=Q+x|0,M=x+$|0,e[w>>2]=M,_|0):(Q=J,x=L,_=Q+x|0,M=x+$|0,e[w>>2]=M,_|0)}function jS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=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,J=(V|0)==0,!J)for(o0=V;t0=o0+4|0,Z=e[t0>>2]|0,A0=e[o0>>2]|0,E2(A0),E2(o0),j=(Z|0)==0,!j;)o0=Z;if(r0=t+80|0,d=e[r0>>2]|0,m=(d|0)==0,o=t+68|0,a=e[o>>2]|0,m?Q=a:(I=t+76|0,E=e[I>>2]|0,y=E+d|0,B=J7(a,y)|0,e[o>>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),w=t+72|0,e[w>>2]=0,e[_>>2]=0,x=(Q|0)==0,x||E2(Q),M=(g|0)==0,M){Y=t,e0=Y+112|0;do e[Y>>2]=0,Y=Y+4|0;while((Y|0)<(e0|0));return 0}else K=0;for(;;){if(L=(g+12|0)+(K<<2)|0,F=e[L>>2]|0,kC(F),G=(K|0)==7,G){K=8;continue}if(O=e[L>>2]|0,E2(O),H=K+1|0,s0=(H|0)==15,s0)break;K=H}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 XS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0;return x=C,$=tb(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,y=e[E>>2]|0,B=Lb(o)|0,b=y+60|0,e[b>>2]=B,D=le(1,180)|0,e[y>>2]=D,sb(D,o),k=y+80|0,JS(o,k),w=t+64|0,_=w,d=_,e[d>>2]=3,m=_+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function Ey(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0;if(q2=C,B=(t|0)==0,!B){if(b=t+4|0,w0=e[b>>2]|0,J0=(w0|0)!=0,J0?(z0=w0+28|0,a1=e[z0>>2]|0,S0=a1):S0=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),H=e[x1>>2]|0,E2(H)),Y=x1+12|0,I0=e[Y>>2]|0,C0=(I0|0)==0,C0||(b0=e[I0>>2]|0,LC(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,LC(Z0),R0=e[Q0>>2]|0,v0=e[R0>>2]|0,E2(v0),N0=e[Q0>>2]|0,E2(N0)),U0=x1+48|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0){if(T0=(S0|0)==0,T0)C1=O0;else if(M0=S0+16|0,P0=e[M0>>2]|0,W0=(P0|0)>0,W0){if(K0=S0+800|0,V0=e[K0>>2]|0,j0=25640+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+16|0,s1=e[Y0>>2]|0,r1=e[O0>>2]|0,as[s1&7](r1),L0=e[M0>>2]|0,o1=(L0|0)>1,o1)for(u1=1;o=e[U0>>2]|0,d1=K0+(u1<<2)|0,p1=e[d1>>2]|0,f1=25640+(p1<<2)|0,h1=e[f1>>2]|0,A1=h1+16|0,c1=e[A1>>2]|0,$1=o+(u1<<2)|0,X0=e[$1>>2]|0,as[c1&7](X0),B1=u1+1|0,m1=e[M0>>2]|0,Q1=(B1|0)<(m1|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=(S0|0)==0,S1)W1=v1;else if(M1=S0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=S0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,X1=e[P1>>2]|0,G1=e[v1>>2]|0,as[X1&7](G1),K1=e[M1>>2]|0,q1=(K1|0)>1,q1)for(V1=1;$=e[y1>>2]|0,H1=R1+(V1<<2)|0,Y1=e[H1>>2]|0,t2=25648+(Y1<<2)|0,s2=e[t2>>2]|0,e2=s2+16|0,O1=e[e2>>2]|0,h2=$+(V1<<2)|0,I2=e[h2>>2]|0,as[O1&7](I2),A2=V1+1|0,C2=e[M1>>2]|0,$2=(A2|0)<(C2|0),$2;)V1=A2;g=e[y1>>2]|0,W1=g}else W1=v1;E2(W1)}if(f2=x1+56|0,c2=e[f2>>2]|0,n2=(c2|0)==0,!n2){if(g2=(S0|0)==0,g2)M2=c2;else if(o2=S0+28|0,i2=e[o2>>2]|0,a2=(i2|0)>0,a2){if(by(c2),m2=e[o2>>2]|0,r2=(m2|0)>1,r2)for(D2=1;d=e[f2>>2]|0,k2=d+(D2*52|0)|0,by(k2),S2=D2+1|0,y2=e[o2>>2]|0,G2=(S2|0)<(y2|0),G2;)D2=S2;m=e[f2>>2]|0,M2=m}else M2=c2;E2(M2)}k=x1+60|0,w=e[k>>2]|0,_=(w|0)==0,_||Mb(w),Q=x1+80|0,KS(Q),x=x1+20|0,Gy(x),M=x1+32|0,Gy(M)}if(L=t+8|0,F=e[L>>2]|0,G=(F|0)==0,!G){if(J0)if(O=w0+4|0,V=e[O>>2]|0,J=(V|0)>0,J){for(Z=F,p0=V,O2=0;t0=Z+(O2<<2)|0,A0=e[t0>>2]|0,j=(A0|0)==0,j?K=p0:(E2(A0),E=e[O>>2]|0,K=E),r0=O2+1|0,s0=(r0|0)<(K|0),!!s0;)I=e[L>>2]|0,Z=I,p0=K,O2=r0;y=e[L>>2]|0,o0=y}else o0=F;else o0=F;E2(o0),h0=t+12|0,i0=e[h0>>2]|0,e0=(i0|0)==0,e0||E2(i0)}Z1&&(u0=x1+64|0,c0=e[u0>>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,d0=(n0|0)==0,d0||E2(n0),E2(x1)),p2=t,J2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(J2|0))}}function Cy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0;if(J0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,D0=e[l0>>2]|0,v0=(D0|0)==0,v0||E2(D0),e[l0>>2]=0,N0=r0+68|0,U0=e[N0>>2]|0,O0=(U0|0)==0,O0||E2(U0),e[N0>>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,w=k+o|0,_=t+16|0,Q=e[_>>2]|0,x=(w|0)<(Q|0),x)a=E+4|0,d=e[a>>2]|0,o0=d,S0=11;else if(M=o<<1,F=k+M|0,e[_>>2]=F,G=E+4|0,O=e[G>>2]|0,H=(O|0)>0,H)if(V=t+8|0,J=e[V>>2]|0,t0=e[J>>2]|0,Z=F<<2,A0=J7(t0,Z)|0,j=e[V>>2]|0,e[j>>2]=A0,s0=e[G>>2]|0,K=(s0|0)>1,K)for($0=1;;)if($=e[_>>2]|0,u0=e[V>>2]|0,c0=u0+($0<<2)|0,X=e[c0>>2]|0,m0=$<<2,g0=J7(X,m0)|0,I0=e[V>>2]|0,n0=I0+($0<<2)|0,e[n0>>2]=g0,d0=$0+1|0,p0=e[G>>2]|0,C0=(d0|0)<(p0|0),C0)$0=d0;else{o0=p0,S0=11;break}else o0=s0,S0=11;if((S0|0)==11&&(Y=(o0|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)<(o0|0),Z0)H0=x0;else{g=e0;break}return R0=e[g>>2]|0,R0|0}return m=t+12|0,g=m,R0=e[g>>2]|0,R0|0}function eb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0;if(V0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return b0=t+20|0,y0=e[b0>>2]|0,E0=y0+o|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,N0=e[v0>>2]|0,U0=E0-N0|0,H0=r0+4|0,S0=e[H0>>2]|0,J0=(U0|0)>(S0|0),!J0)?($=0,C=V0,$|0):(yy(t),$=0,C=V0,$|0));if(D0=C,C=C+128|0,O0=t+28|0,T0=e[O0>>2]|0,M0=(T0|0)==0,M0&&yy(t),P0=r0+4|0,y=e[P0>>2]|0,B=y*3|0,Cy(t,B)|0,b=t+20|0,D=e[b>>2]|0,k=t+32|0,e[k>>2]=D,w=e[P0>>2]|0,_=w*3|0,Q=D+_|0,e[b>>2]=Q,x=E+4|0,M=e[x>>2]|0,F=(M|0)>0,!F)return $=0,C=V0,$|0;for(G=t+8|0,O=D,W0=0;;){if(H=(O|0)>64,H?(V=e[P0>>2]|0,J=(O|0)>(V|0),a=J?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,+Qy(j,D0,a,32),s0=e[G>>2]|0,K=s0+(W0<<2)|0,o0=e[K>>2]|0,Y=e[k>>2]|0,h0=o0+(Y<<2)|0,m=Y+-32|0,i0=o0+(m<<2)|0,e0=e[b>>2]|0,u0=e0-Y|0,wy(D0,i0,32,h0,u0)):(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),d0=W0+1|0,p0=e[x>>2]|0,C0=(d0|0)<(p0|0),!C0){$=0;break}g=e[k>>2]|0,O=g,W0=d0}return C=V0,$|0}function By(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0;if(ge=C,b=t+4|0,D=e[b>>2]|0,A2=D+28|0,S5=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,s9=e[V6>>2]|0,k=t+40|0,V=e[k>>2]|0,h0=S5+(V<<2)|0,n0=e[h0>>2]|0,x0=(n0|0)/2&-1,M0=s9-x0|0,L0=o+104|0,X0=e[L0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,q2=e[m2>>2]|0,x5=(q2|0)==-1,x5))return $=0,$|0;Q2=Ab(t)|0,Q5=(Q2|0)==-1;do if(Q5){if(K2=e[m2>>2]|0,I3=(K2|0)==0,I3)return $=0,$|0;e6=t+44|0,e[e6>>2]=0,d=e6,z3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,U5=e[Y3>>2]|0,l6=(Q3|0)==(U5|0),n3=t+44|0,l6){e[n3>>2]=0,d=n3,z3=0;break}else{e[n3>>2]=Q2,d=n3,z3=Q2;break}while(!1);if(l3=e[V6>>2]|0,U3=e[k>>2]|0,C6=S5+(U3<<2)|0,b3=e[C6>>2]|0,L3=(b3|0)/4&-1,D3=L3+l3|0,r6=S5+(z3<<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=o+84|0,n6=e[S6>>2]|0,f6=(n6|0)==0,!f6)for(Q9=n6;b6=Q9+4|0,N6=e[b6>>2]|0,j6=e[Q9>>2]|0,E2(j6),E2(Q9),v6=(N6|0)==0,!v6;)Q9=N6;R3=o+80|0,o6=e[R3>>2]|0,s6=(o6|0)==0,s6||(K3=o+68|0,F3=e[K3>>2]|0,W3=o+76|0,t6=e[W3>>2]|0,R6=t6+o6|0,c6=J7(F3,R6)|0,e[K3>>2]=c6,o3=e[R3>>2]|0,J6=e[W3>>2]|0,A3=J6+o3|0,e[W3>>2]=A3,e[R3>>2]=0),g6=o+72|0,e[g6>>2]=0,e[S6>>2]=0,T3=t+36|0,H6=e[T3>>2]|0,$6=o+24|0,e[$6>>2]=H6,D6=e[k>>2]|0,G6=o+28|0,e[G6>>2]=D6,e9=e[d>>2]|0,Q6=o+32|0,e[Q6>>2]=e9,X6=(D6|0)==0;do if(X6)if(g9=$b(t)|0,U6=(g9|0)==0,Y6=X0+8|0,U6){e[Y6>>2]=1;break}else{e[Y6>>2]=0;break}else if(P3=(H6|0)==0,r9=(e9|0)==0,Y9=P3|r9,o9=X0+8|0,Y9){e[o9>>2]=0;break}else{e[o9>>2]=1;break}while(!1);F6=o+64|0,e[F6>>2]=t,t9=t+64|0,_6=t9,P6=_6,O3=e[P6>>2]|0,O6=_6+4|0,h9=O6,n9=e[h9>>2]|0,C9=ns(O3|0,n9|0,1,0)|0,B9=Z6,y9=t9,d9=y9,e[d9>>2]=C9,f9=y9+4|0,V9=f9,e[V9>>2]=B9,w6=o+56|0,q6=w6,w=q6,e[w>>2]=O3,_=q6+4|0,Q=_,e[Q>>2]=n9,x=t+56|0,M=x,L=M,F=e[L>>2]|0,G=M+4|0,O=G,H=e[O>>2]|0,J=o+48|0,t0=J,Z=t0,e[Z>>2]=F,A0=t0+4|0,j=A0,e[j>>2]=H,r0=e[k>>2]|0,s0=S5+(r0<<2)|0,K=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=K,Y=X0+4|0,i0=+s[Y>>2],e0=+s[y6>>2],u0=i0>e0,u0?(s[y6>>2]=i0,c0=i0):c0=e0,$0=+Tb(c0,t),s[y6>>2]=$0,s[Y>>2]=$0,l0=D+4|0,X=e[l0>>2]|0,m0=X<<2,g0=m0+7|0,I0=g0&-8,d0=e[g6>>2]|0,p0=I0+d0|0,C0=o+76|0,b0=e[C0>>2]|0,y0=(p0|0)>(b0|0),D0=o+68|0,E0=e[D0>>2]|0,y0?(Q0=(E0|0)==0,Q0||(w0=E0,B0=M9(8)|0,Z0=e[R3>>2]|0,R0=Z0+d0|0,e[R3>>2]=R0,v0=e[S6>>2]|0,N0=B0+4|0,e[N0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=I0,U0=M9(I0)|0,e[D0>>2]=U0,e[g6>>2]=0,g=e[l0>>2]|0,H0=U0,S0=0,P0=g,q0=I0):(H0=E0,S0=d0,P0=X,q0=b0),O0=H0+S0|0,J0=S0+I0|0,e[g6>>2]=J0,e[o>>2]=O0,T0=P0<<2,W0=T0+7|0,K0=W0&-8,V0=K0+J0|0,j0=(V0|0)>(q0|0),j0?(Y0=(H0|0)==0,Y0||(s1=H0,z0=M9(8)|0,r1=e[R3>>2]|0,o1=r1+J0|0,e[R3>>2]=o1,d1=e[S6>>2]|0,u1=z0+4|0,e[u1>>2]=d1,e[z0>>2]=s1,e[S6>>2]=z0),e[C0>>2]=K0,p1=M9(K0)|0,e[D0>>2]=p1,e[g6>>2]=0,m=e[l0>>2]|0,h1=p1,A1=0,a1=m,Y5=K0):(h1=H0,A1=J0,a1=P0,Y5=q0),f1=h1+A1|0,c1=A1+K0|0,e[g6>>2]=c1,e[X0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(B1=t+8|0,S1=c1,M1=Y5,_1=h1,a9=0;;){if(m1=e[o0>>2]|0,Q1=m1+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,U1=M9(8)|0,D1=e[R3>>2]|0,P1=D1+S1|0,e[R3>>2]=P1,X1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=X1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=v1,x1=M9(v1)|0,e[D0>>2]=x1,e[g6>>2]=0,H1=x1,V1=0):(H1=_1,V1=S1),K1=H1+V1|0,Y1=V1+v1|0,e[g6>>2]=Y1,t2=e[X0>>2]|0,s2=t2+(a9<<2)|0,e[s2>>2]=K1,e2=e[X0>>2]|0,O1=e2+(a9<<2)|0,h2=e[O1>>2]|0,Z1=e[B1>>2]|0,I2=Z1+(a9<<2)|0,$2=e[I2>>2]|0,ce(h2|0,$2|0,C1|0)|0,W1=e[X0>>2]|0,f2=W1+(a9<<2)|0,c2=e[f2>>2]|0,n2=c2+(M0<<2)|0,g2=e[o>>2]|0,o2=g2+(a9<<2)|0,e[o2>>2]=n2,l2=a9+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,a9=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=o+44|0,e[y2>>2]=1,$=1,$|0;if(G2=S5+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(J2=e[M6>>2]|0,lb(J2,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,b5=e[Y2>>2]|0,V5=b5+(u5<<2)|0,b2=e[V5>>2]|0,B5=b2+(p2<<2)|0,s5=B<<2,$A(b2|0,B5|0,s5|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,L5=e[m2>>2]|0,q5=(L5|0)==0,q5?(f3=(p2|0)<0,w3=f3<<31>>31,H3=x,X5=H3,_3=e[X5>>2]|0,t3=H3+4|0,a6=t3,G3=e[a6>>2]|0,V3=ns(_3|0,G3|0,p2|0,w3|0)|0,c3=Z6,g3=x,u3=g3,e[u3>>2]=V3,J5=g3+4|0,H5=J5,e[H5>>2]=c3,$=1,$|0):(M5=L5-p2|0,z2=(M5|0)<1,a=z2?-1:M5,e[m2>>2]=a,E5=(a|0)>(O2|0),E5?(c5=(p2|0)<0,T2=c5<<31>>31,v5=x,z5=v5,i3=e[z5>>2]|0,C5=v5+4|0,d3=C5,W5=e[d3>>2]|0,r3=ns(i3|0,W5|0,p2|0,T2|0)|0,a3=Z6,y3=x,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,D5=T1<<31>>31,d5=x,l5=d5,X2=e[l5>>2]|0,d2=d5+4|0,w5=d2,r5=e[w5>>2]|0,a5=ns(X2|0,r5|0,h5|0,D5|0)|0,f5=Z6,I5=x,n5=I5,e[n5>>2]=a5,R5=I5+4|0,e5=R5,e[e5>>2]=f5,$=1,$|0))}function tb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=0;if(n5=C,y=o+28|0,B=e[y>>2]|0,k1=(B|0)==0,k1||(X1=B+8|0,O1=e[X1>>2]|0,g2=(O1|0)<1,g2)||(G2=e[B>>2]|0,Y2=(G2|0)<64,Y2)||(b2=B+4|0,M5=e[b2>>2]|0,b=(M5|0)<(G2|0),b))return $=1,$|0;O=B+3656|0,o0=e[O>>2]|0,K2=t,R5=K2+112|0;do e[K2>>2]=0,K2=K2+4|0;while((K2|0)<(R5|0));g0=le(1,136)|0,w0=t+104|0,e[w0>>2]=g0,J0=t+4|0,e[J0>>2]=o,z0=e[X1>>2]|0,a1=z0+-1|0,y1=H8(a1)|0,v1=g0+44|0,e[v1>>2]=y1,S1=le(1,4)|0,L1=g0+12|0,e[L1>>2]=S1,M1=le(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=le(1,20)|0,e[S1>>2]=_1,R1=le(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,xC(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,xC(P1,x1),K1=e[B>>2]|0,q1=H8(K1)|0,H1=q1+-7|0,V1=g0+4|0,e[V1>>2]=H1,Y1=e[b2>>2]|0,t2=H8(Y1)|0,s2=t2+-7|0,e2=g0+8|0,e[e2>>2]=s2,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,L5=e[p5>>2]|0,q5=le(L5,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=rD(l5,h5)|0,D=(X2|0)==0,!D){I5=20;break}if(k=e[$5>>2]|0,MC(k),e[$5>>2]=0,w=w5+1|0,_=e[p5>>2]|0,Q=(w|0)<(_|0),Q)Q1=_,w5=w;else break e}if((I5|0)==20&&(I=e[p5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(C1=T1,f5=0;A1=(B+1824|0)+(f5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?m1=C1:(MC(c1),e[A1>>2]=0,E=e[p5>>2]|0,m1=E),X0=f5+1|0,B1=(X0|0)<(m1|0),B1;)C1=m1,f5=X0;return Ey(t),$=-1,$|0}}else{if(Z1=g0+20|0,I2=e[B>>2]|0,Ny(Z1,I2),A2=g0+32|0,C2=e[b2>>2]|0,Ny(A2,C2),$2=B+2848|0,W1=e[$2>>2]|0,f2=(W1|0)==0,f2&&(c2=B+24|0,n2=e[c2>>2]|0,o2=le(n2,56)|0,e[$2>>2]=o2,l2=e[c2>>2]|0,i2=(l2|0)>0,i2&&(a2=B+1824|0,m2=e[a2>>2]|0,Ty(o2,m2)|0,r2=e[c2>>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,Ty(D2,M2)|0,O2=S2+1|0,p2=e[c2>>2]|0,W2=(O2|0)<(p2|0),W2;)S2=O2;q2=B+28|0,J2=e[q2>>2]|0,U2=le(J2,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=o+8|0,i5=U2,d2=0;;){if(T5=i5+(d2*52|0)|0,x5=(B+2852|0)+(d2<<2)|0,j2=e[x5>>2]|0,m5=e[j2>>2]|0,b5=B+(m5<<2)|0,V5=e[b5>>2]|0,u5=(V5|0)/2&-1,B5=e[t5>>2]|0,Fb(T5,j2,N1,u5,B5),s5=d2+1|0,F2=e[q2>>2]|0,R2=(s5|0)<(F2|0),!R2)break t;d=e[V2>>2]|0,i5=d,d2=s5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,F=e[L>>2]|0,G=F<<2,H=M9(G)|0,V=t+8|0,e[V>>2]=H,J=M9(G)|0,t0=t+12|0,e[t0>>2]=J,Z=(F|0)>0,Z&&(A0=le(x,4)|0,e[H>>2]=A0,j=(F|0)>1,j))for(K=1;m=e[V>>2]|0,r0=le(x,4)|0,s0=m+(K<<2)|0,e[s0>>2]=r0,Y=K+1|0,h0=(Y|0)<(F|0),h0;)K=Y;if(i0=t+36|0,e[i0>>2]=0,e0=t+40|0,e[e0>>2]=0,u0=e[b2>>2]|0,c0=(u0|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=le(m0,4)|0,n0=g0+48|0,e[n0>>2]=I0,d0=B+20|0,p0=e[d0>>2]|0,C0=le(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,N0=e[v0>>2]|0,U0=(B+1056|0)+(r5<<2)|0,O0=e[U0>>2]|0,H0=pi[N0&15](t,O0)|0,S0=e[n0>>2]|0,T0=S0+(r5<<2)|0,e[T0>>2]=H0,M0=r5+1|0,P0=e[X>>2]|0,W0=(M0|0)<(P0|0),W0;)r5=M0;if(E0=e[d0>>2]|0,Q0=(E0|0)>0,Q0)a5=0;else return $=0,$|0;for(;;)if(K0=(B+1312|0)+(a5<<2)|0,V0=e[K0>>2]|0,j0=25648+(V0<<2)|0,q0=e[j0>>2]|0,Y0=q0+8|0,s1=e[Y0>>2]|0,r1=(B+1568|0)+(a5<<2)|0,L0=e[r1>>2]|0,o1=pi[s1&15](t,L0)|0,d1=e[b0>>2]|0,u1=d1+(a5<<2)|0,e[u1>>2]=o1,p1=a5+1|0,f1=e[d0>>2]|0,h1=(p1|0)<(f1|0),h1)a5=p1;else{$=0;break}return $|0}function yy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,o=Z,u0=C,C=C+((1*o|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(m=t+4|0,I=e[m>>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(w=e[b>>2]|0,_=w+(w0<<2)|0,x=e[_>>2]|0,B0=0;M=B0^-1,L=D+M|0,F=x+(L<<2)|0,G=e[F>>2]|0,O=u0+(B0<<2)|0,e[O>>2]=G,H=B0+1|0,V=(D|0)>(H|0),V;)B0=H;if(J=e[y0>>2]|0,t0=D-J|0,+Qy(u0,g,t0,16),A0=e[d>>2]|0,j=e[y0>>2]|0,a=A0-j|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,wy(g,s0,16,r0,j),K=e[d>>2]|0,o0=(K|0)>0,o0)for(Y=e[b>>2]|0,h0=Y+(w0<<2)|0,i0=e[h0>>2]|0,x0=0;e0=u0+(x0<<2)|0,c0=e[e0>>2]|0,$0=x0^-1,l0=K+$0|0,X=i0+(l0<<2)|0,e[X>>2]=c0,m0=x0+1|0,g0=(K|0)>(m0|0),g0;)x0=m0;if(I0=w0+1|0,n0=e[m>>2]|0,d0=n0+4|0,p0=e[d0>>2]|0,b0=(I0|0)<(p0|0),b0)D=K,w0=I0;else break}C=R0}function ib(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=0,l2=0;l2=C,H2(o,5653314,24),m=e[t>>2]|0,H2(o,m,16),I=t+4|0,V=e[I>>2]|0,H2(o,V,24),h0=e[I>>2]|0,n0=(h0|0)>1;e:do if(n0)for(x0=t+8|0,M0=e[x0>>2]|0,g=f[M0>>0]|0,L0=g,O1=1;;){if(X0=L0<<24>>24==0,X0){e2=O1;break e}if(b1=M0+O1|0,E=f[b1>>0]|0,_=E<<24>>24>24,_){e2=O1;break e}if(Q=O1+1|0,x=(Q|0)<(h0|0),x)L0=E,O1=Q;else{e2=Q;break}}else e2=1;while(!1);M=(e2|0)==(h0|0);e:do if(M){if(H2(o,1,1),L=t+8|0,F=e[L>>2]|0,G=f[F>>0]|0,O=G<<24>>24,H=O+-1|0,H2(o,H,5),J=e[I>>2]|0,t0=(J|0)>1,t0)for(w=J,H1=0,Z1=1;;){if(Z=e[L>>2]|0,A0=Z+Z1|0,j=f[A0>>0]|0,r0=Z1+-1|0,s0=Z+r0|0,K=f[s0>>0]|0,o0=j<<24>>24>K<<24>>24,o0)for(Y=K<<24>>24,i0=j<<24>>24,c0=w,V1=H1,c2=Y;;)if(e0=Z1-V1|0,u0=c0-V1|0,$0=H8(u0)|0,H2(o,e0,$0),l0=c2+1|0,s2=(l0|0)==(i0|0),d=e[I>>2]|0,s2){g0=d,Y1=Z1;break}else c0=d,V1=Z1,c2=l0;else g0=w,Y1=H1;if(X=Z1+1|0,m0=(X|0)<(g0|0),m0)w=g0,H1=Y1,Z1=X;else{$=g0,q1=Y1,h2=X;break}}else $=J,q1=0,h2=1;I0=h2-q1|0,d0=$-q1|0,p0=H8(d0)|0,H2(o,I0,p0)}else{H2(o,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(o,0,1),v0=e[I>>2]|0,N0=(v0|0)>0,!N0)break;for(U0=t+8|0,C2=0;;)if(O0=e[U0>>2]|0,H0=O0+C2|0,S0=f[H0>>0]|0,J0=S0<<24>>24,T0=J0+-1|0,H2(o,T0,5),P0=C2+1|0,W0=e[I>>2]|0,K0=(P0|0)<(W0|0),K0)C2=P0;else break e}if(H2(o,1,1),V0=e[I>>2]|0,j0=(V0|0)>0,j0)for(q0=t+8|0,$2=0;Y0=e[q0>>2]|0,s1=Y0+$2|0,z0=f[s1>>0]|0,r1=z0<<24>>24==0,r1?H2(o,0,1):(H2(o,1,1),o1=e[q0>>2]|0,d1=o1+$2|0,u1=f[d1>>0]|0,p1=u1<<24>>24,f1=p1+-1|0,H2(o,f1,5)),h1=$2+1|0,A1=e[I>>2]|0,c1=(h1|0)<(A1|0),c1;)$2=h1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,H2(o,$1,4),B1=e[a1>>2]|0,(B1|0)==2|(B1|0)==1)o2=28;else if(B1|0)return a=-1,a|0;do if((o2|0)==28){if(m1=t+32|0,Q1=e[m1>>2]|0,C1=(Q1|0)==0,C1)return a=-1,a|0;if(y1=t+16|0,v1=e[y1>>2]|0,H2(o,v1,32),k1=t+20|0,S1=e[k1>>2]|0,H2(o,S1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,H2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,H2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=eD(t)|0,g2=D1;else if((U1|0)==2)P1=e[I>>2]|0,X1=e[t>>2]|0,G1=o5(X1,P1)|0,g2=G1;else break;if(x1=(g2|0)>0,x1)for(W1=0;K1=e[m1>>2]|0,y=K1+(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(o,b,D),k=W1+1|0,t2=(k|0)==(g2|0),!t2;)W1=k}while(!1);return a=0,a|0}function Gu(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0;return t0=C,g=(o|0)<0,g||(d=t+12|0,Q=e[d>>2]|0,M=Q+4|0,L=e[M>>2]|0,F=(L|0)>(o|0),!F)?($=0,$|0):(G=t+20|0,O=e[G>>2]|0,H=O+(o<<2)|0,V=e[H>>2]|0,m=Q+8|0,I=e[m>>2]|0,E=I+o|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,w=k+o|0,_=f[w>>0]|0,x=_<<24>>24,$=x,$|0)}function nE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=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||(m=Uu(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,y=e[E>>2]|0,B=y+(m<<2)|0,b=e[B>>2]|0,a=b,a|0)}function rb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,Y=o0<<2,d=Y,h0=C,C=C+((1*d|0)+15&-16)|0,i0=(o0|0)>0;e:do if(i0){for(e0=t+16|0,l0=0;;){if(H=Uu(t,a)|0,V=(H|0)==-1,V){g=-1;break}if(J=e[e0>>2]|0,t0=e[t>>2]|0,Z=o5(t0,H)|0,A0=J+(Z<<2)|0,j=h0+(l0<<2)|0,e[j>>2]=A0,r0=l0+1|0,K=(r0|0)<(o0|0),K)l0=r0;else{u0=t0;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=i0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(X=0,g0=0;;){for(m0=0;k=h0+(m0<<2)|0,w=e[k>>2]|0,_=w+(X<<2)|0,Q=+s[_>>2],x=m0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],G=L+Q,s[M>>2]=G,O=m0+1|0,$0=(O|0)==(o0|0),!$0;)m0=O;if(B=X+1|0,b=g0+o0|0,D=(B|0)<(u0|0),D)X=B,g0=b;else{g=0;break}}return C=n0,g|0}function nb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=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,T0=(B0|0)>8,T0){if(M1=($|0)>0,!M1)return g=0,g|0;for(K1=t+16|0,i2=0;;){if(i0=Uu(t,a)|0,e0=(i0|0)==-1,e0){g=-1,N1=29;break}if(u0=e[K1>>2]|0,c0=e[t>>2]|0,$0=o5(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=u0+(t0<<2)|0,n0=+s[g0>>2],d0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],b0=C0+n0,s[p0>>2]=b0,y0=(m0|0)<(c0|0),y0;)m2=d0,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(K=Uu(t,a)|0,o0=(K|0)==-1,o0){g=-1,N1=29;break e}switch(Y=e[r1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=K,Q=Y,N1=19;break t}case 3:{b=K,x=Y,N1=21;break t}case 7:{I=K,k=Y,N1=13;break t}case 6:{E=K,w=Y,N1=15;break t}case 8:{d=Y,m=K,N1=12;break t}case 5:{y=K,_=Y,N1=17;break t}case 1:{W1=K,c2=Y,O2=r2,A5=0;break t}case 2:{D=K,M=Y,N1=23;break t}default:}}if((N1|0)==12?(N1=0,D0=m<<3,E0=d+(D0<<2)|0,Q0=+s[E0>>2],w0=r2+1|0,x0=o+(r2<<2)|0,Z0=+s[x0>>2],R0=Z0+Q0,s[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,K0=E*6|0,j0=K0,Y0=w,D2=r2,q2=0,N1=16):(N1|0)==17?(N1=0,u1=y*5|0,f1=u1,A1=_,S2=r2,J2=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=x,G2=r2,V2=0,N1=22):(N1|0)==23&&(N1=0,Y1=D<<1,s2=Y1,O1=M,M2=r2,Z2=0,N1=24),(N1|0)==14&&(N1=0,N0=W2+1|0,J=W2+U0|0,O0=H0+(J<<2)|0,S0=+s[O0>>2],J0=k2+1|0,M0=o+(k2<<2)|0,P0=+s[M0>>2],W0=P0+S0,s[M0>>2]=W0,j0=U0,Y0=H0,D2=J0,q2=N0,N1=16),(N1|0)==16&&(N1=0,V0=q2+1|0,V=q2+j0|0,q0=Y0+(V<<2)|0,s1=+s[q0>>2],z0=D2+1|0,L0=o+(D2<<2)|0,o1=+s[L0>>2],d1=o1+s1,s[L0>>2]=d1,f1=j0,A1=Y0,S2=z0,J2=V0,N1=18),(N1|0)==18&&(N1=0,p1=J2+1|0,H=J2+f1|0,h1=A1+(H<<2)|0,c1=+s[h1>>2],a1=S2+1|0,X0=o+(S2<<2)|0,B1=+s[X0>>2],m1=B1+c1,s[X0>>2]=m1,y1=f1,k1=A1,y2=a1,U2=p1,N1=20),(N1|0)==20&&(N1=0,C1=U2+1|0,O=U2+y1|0,v1=k1+(O<<2)|0,S1=+s[v1>>2],L1=y2+1|0,b1=o+(y2<<2)|0,_1=+s[b1>>2],R1=_1+S1,s[b1>>2]=R1,D1=y1,X1=k1,G2=L1,V2=C1,N1=22),(N1|0)==22&&(N1=0,U1=V2+1|0,G=V2+D1|0,P1=X1+(G<<2)|0,G1=+s[P1>>2],x1=G2+1|0,q1=o+(G2<<2)|0,H1=+s[q1>>2],V1=H1+G1,s[q1>>2]=V1,s2=D1,O1=X1,M2=x1,Z2=U1,N1=24),(N1|0)==24&&(N1=0,t2=Z2+1|0,F=Z2+s2|0,e2=O1+(F<<2)|0,h2=+s[e2>>2],Z1=M2+1|0,A2=o+(M2<<2)|0,C2=+s[A2>>2],$2=C2+h2,s[A2>>2]=$2,W1=s2,c2=O1,O2=Z1,A5=t2),L=A5+W1|0,f2=c2+(L<<2)|0,n2=+s[f2>>2],g2=O2+1|0,o2=o+(O2<<2)|0,l2=+s[o2>>2],r0=l2+n2,s[o2>>2]=r0,s0=(g2|0)<($|0),s0)r2=g2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function ob(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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,s0=d+a|0,K=(s0|0)/($|0)&-1,o0=(r0|0)<(K|0),!o0))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,w=e[t>>2]|0,_=o5(w,i0)|0,Q=(w|0)>0,Q)for(c0=e0,X=$0,m0=0;;)if(y=m0+_|0,x=k+(y<<2)|0,M=+s[x>>2],L=c0+1|0,F=o+(c0<<2)|0,G=e[F>>2]|0,H=G+(X<<2)|0,V=+s[H>>2],J=V+M,s[H>>2]=J,t0=(L|0)==($|0),Z=t0&1,E=Z+X|0,m=t0?0:L,A0=m0+1|0,j=(A0|0)<(w|0),j)c0=m,X=E,m0=A0;else{u0=m,l0=E;break}else u0=e0,l0=$0;if(h0=(l0|0)<(K|0),h0)e0=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Uu(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0;m1=C,g=t+40|0,d=e[g>>2]|0,Q=t+36|0,Z=e[Q>>2]|0,u0=SC(o,Z)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,K0=e[v0>>2]|0,d1=K0+(u0<<2)|0,u1=e[d1>>2]|0,m=(u1|0)<0,m){I=u1>>>15,E=I&32767,y=t+8|0,B=e[y>>2]|0,b=u1&32767,D=B-b|0,p1=D,h1=E;break}return k=u1+-1|0,w=t+28|0,_=e[w>>2]|0,x=_+k|0,M=f[x>>0]|0,L=M<<24>>24,bC(o,L),a=k,a|0}else F=t+8|0,G=e[F>>2]|0,p1=G,h1=0;while(!1);if(O=SC(o,d)|0,H=(O|0)<0,V=(d|0)>1,J=H&V,J)for(X0=d;;)if(t0=X0+-1|0,A0=SC(o,t0)|0,j=(A0|0)<0,r0=(t0|0)>1,s0=j&r0,s0)X0=t0;else{$=j,a1=A0,$1=t0;break}else $=H,a1=O,$1=d;if($)return a=-1,a|0;if(K=a1>>>16,o0=a1<<16,Y=K|o0,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,d0=n0&858993459,p0=I0<<2,b0=p0&-858993460,y0=d0|b0,D0=y0>>>1,E0=D0&1431655765,Q0=y0<<1,w0=Q0&-1431655766,B0=E0|w0,x0=p1-h1|0,Z0=(x0|0)>1,Z0)for(R0=t+20|0,N0=e[R0>>2]|0,O0=x0,f1=p1,c1=h1;;)if(U0=O0>>1,H0=U0+c1|0,S0=N0+(H0<<2)|0,J0=e[S0>>2]|0,T0=J0>>>0>B0>>>0,M0=T0?0:U0,P0=M0+c1|0,W0=T0?U0:0,V0=f1-W0|0,j0=V0-P0|0,q0=(j0|0)>1,q0)O0=j0,f1=V0,c1=P0;else{A1=P0;break}else A1=h1;return Y0=t+28|0,s1=e[Y0>>2]|0,z0=s1+A1|0,r1=f[z0>>0]|0,L0=r1<<24>>24,o1=(L0|0)>($1|0),o1?(bC(o,$1),a=-1,a|0):(bC(o,L0),a=A1,a|0)}function sb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0;for(d1=C,y=o+28|0,B=e[y>>2]|0,G=o+4|0,K=e[G>>2]|0,m0=t+4|0,e[m0>>2]=128,Q0=t+8|0,e[Q0>>2]=64,S0=B+2932|0,K0=e[S0>>2]|0,V0=t+12|0,e[V0>>2]=K0,e[t>>2]=K,j0=t+164|0,e[j0>>2]=128,b=B+4|0,D=e[b>>2]|0,k=(D|0)/2&-1,w=t+176|0,e[w>>2]=k,_=le(128,4)|0,Q=t+36|0,e[Q>>2]=_,x=t+16|0,xC(x,128),M=e[Q>>2]|0,z0=0;L=+(z0|0),F=L*.024736950028266088,O=+Vn(+F),H=O,V=M+(z0<<2)|0,J=H*H,s[V>>2]=J,t0=z0+1|0,s1=(t0|0)==128,!s1;)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,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>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,u0=t+120|0,e[u0>>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=M9(X)|0,n0=((t+40|0)+(L0<<4)|0)+8|0,e[n0>>2]=I0,d0=(g0|0)>0,d0){for(p0=+(g0|0),C0=((t+40|0)+(L0<<4)|0)+12|0,E=+s[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,s[x0>>2]=B0,Z0=R0+B0,v0=r1+1|0,q0=(v0|0)==(g0|0),q0){a=Z0;break}else R0=Z0,r1=v0;s[C0>>2]=a,m=C0,U0=a}else g=((t+40|0)+(L0<<4)|0)+12|0,I=+s[g>>2],m=g,U0=I;if(N0=1/U0,s[m>>2]=N0,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=K*7|0,J0=le(H0,144)|0,T0=t+152|0,e[T0>>2]=J0,M0=e[j0>>2]|0,P0=le(M0,4)|0,W0=t+160|0,e[W0>>2]=P0}function ab(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0;H=C,o=t+16|0,LC(o),a=t+48|0,k=e[a>>2]|0,E2(k),_=t+64|0,Q=e[_>>2]|0,E2(Q),x=t+80|0,M=e[x>>2]|0,E2(M),L=t+96|0,F=e[L>>2]|0,E2(F),G=t+112|0,$=e[G>>2]|0,E2($),g=t+128|0,d=e[g>>2]|0,E2(d),m=t+144|0,I=e[m>>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,w=e[D>>2]|0,E2(w),g4(t|0,0,180)|0}function Ab(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0;if(t2=C,d=t+4|0,m=e[d>>2]|0,F=m+28|0,s0=e[F>>2]|0,X=s0+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,w=e[k>>2]|0,_=(w|0)/(b|0)&-1,Q=_+-4|0,x=(D|0)<0,o=x?0:D,M=_+2|0,L=Y0+164|0,G=e[L>>2]|0,O=(M|0)>(G|0),O&&(e[L>>2]=M,H=Y0+160|0,V=e[H>>2]|0,J=M<<2,t0=J7(V,J)|0,e[H>>2]=t0),Z=(o|0)<(Q|0),Z)for(A0=Y0+156|0,j=Y0+160|0,r0=t+8|0,K=Y0+40|0,o0=Y0+152|0,x1=o;;){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,u0=(e0|0)>0,u0){for(G1=0,V1=0;;)if(m0=e[r0>>2]|0,g0=m0+(G1<<2)|0,I0=e[g0>>2]|0,n0=e[I>>2]|0,d0=o5(n0,x1)|0,p0=I0+(d0<<2)|0,C0=e[o0>>2]|0,b0=G1*7|0,y0=C0+(b0*144|0)|0,D0=cb(Y0,X,p0,K,y0)|0,Q0=D0|V1,w0=G1+1|0,B0=e[Y0>>2]|0,x0=(w0|0)<(B0|0),x0)G1=w0,V1=Q0;else{g=Q0;break}Z0=x1+2|0,R0=e[j>>2]|0,v0=R0+(Z0<<2)|0,e[v0>>2]=0,N0=g&1,U0=(N0|0)==0,U0||(O0=R0+(x1<<2)|0,e[O0>>2]=1,S0=x1+1|0,J0=R0+(S0<<2)|0,e[J0>>2]=1),T0=g&2,M0=(T0|0)==0,M0||(P0=R0+(x1<<2)|0,e[P0>>2]=1,W0=(x1|0)>0,W0&&(K0=x1+-1|0,V0=R0+(K0<<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(s1=x1+1|0,X1=(s1|0)==(Q|0),X1)break;x1=s1}if(z0=e[I>>2]|0,r1=o5(z0,Q)|0,e[A1>>2]=r1,L0=t+48|0,o1=e[L0>>2]|0,d1=t+40|0,u1=e[d1>>2]|0,p1=s0+(u1<<2)|0,f1=e[p1>>2]|0,h1=(f1|0)/4&-1,c1=h1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,X0=($1|0)/2&-1,B1=c1+X0|0,m1=e[s0>>2]|0,Q1=(m1|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,K1=v1;;){if(R1=(K1|0)<(C1|0),!R1){a=1,Y1=22;break}if(e[y1>>2]=K1,F1=(K1|0)/(z0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,y=(K1|0)>(o1|0),H1=y&E,b1=z0+K1|0,H1){q1=K1,Y1=21;break}if(_1=(b1|0)<(S1|0),_1)K1=b1;else{a=-1,Y1=22;break}}return(Y1|0)==21?(B=Y0+172|0,e[B>>2]=q1,a=0,a|0):(Y1|0)==22?a|0:0}function $b(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,u0=e[Z>>2]|0,g0=u0+28|0,I0=e[g0>>2]|0,n0=t+48|0,d0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=I0+(m<<2)|0,E=e[I>>2]|0,y=(E|0)/4&-1,B=d0-y|0,b=y+d0|0,D=(m|0)==0,D?(V=e[I0>>2]|0,J=(V|0)/4&-1,a=J,$=J):(k=t+36|0,w=e[k>>2]|0,_=I0+(w<<2)|0,x=e[_>>2]|0,M=(x|0)/4&-1,L=t+44|0,F=e[L>>2]|0,G=I0+(F<<2)|0,O=e[G>>2]|0,H=(O|0)/4&-1,a=H,$=M),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 o=1,o|0;if(s0=Q+8|0,K=e[s0>>2]|0,o0=(C0|0)/(K|0)&-1,Y=(b0|0)/(K|0)&-1,h0=(o0|0)<(Y|0),!h0)return o=0,o|0;for(i0=Q+160|0,e0=e[i0>>2]|0,y0=o0;;){if(l0=e0+(y0<<2)|0,X=e[l0>>2]|0,m0=(X|0)==0,c0=y0+1|0,!m0){o=1,E0=9;break}if($0=(c0|0)<(Y|0),$0)y0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function lb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0;if(V=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,Q=e[w>>2]|0,x=($|0)/(Q|0)&-1,M=x+2|0,L=(o|0)/(Q|0)&-1,F=t+160|0,G=e[F>>2]|0,O=G+(L<<2)|0,g=M-L|0,d=g<<2,$A(G|0,O|0,d|0)|0,m=e[a>>2]|0,I=m-o|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-o|0,e[D>>2]=_;return}b=y-o|0,e[E>>2]=b,D=t+176|0,k=e[D>>2]|0,_=k-o|0,e[D>>2]=_}function cb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,g2=t+12|0,G2=+s[g2>>2],Y2=A0<<2,x=Y2,b2=C,C=C+((1*x|0)+15&-16)|0,M5=t+156|0,d2=e[M5>>2]|0,T2=(d2|0)>5,G5=(d2|0)/2&-1,d=T2?G5:2,j=o+60|0,$0=+s[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(s2=t+36|0,c2=e[s2>>2]|0,Y5=0;o2=a+(Y5<<2)|0,l2=+s[o2>>2],i2=c2+(Y5<<2)|0,a2=+s[i2>>2],m2=a2*l2,r2=b2+(Y5<<2)|0,s[r2>>2]=m2,k2=Y5+1|0,Q3=(k2|0)==(A0|0),!Q3;)Y5=k2;D2=t+16|0,vy(D2,b2,b2),S2=+s[b2>>2],y2=S2*S2,M2=y2,O2=b2+4|0,p2=+s[O2>>2],W2=p2,q2=W2*W2,J2=q2*.7,U2=J2+M2,V2=b2+8|0,Z2=+s[V2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=U2+t5,i5=T5,x5=g+140|0,j2=e[x5>>2]|0,m5=(j2|0)==0,m5?(b5=g+136|0,V5=+s[b5>>2],u5=V5+i5,B5=g+132|0,s[B5>>2]=u5,s[b5>>2]=i5,O=B5,z2=u5):(s5=g+132|0,F2=+s[s5>>2],R2=F2+i5,s[s5>>2]=R2,Q2=g+136|0,y5=+s[Q2>>2],N5=y5+i5,s[Q2>>2]=N5,O=s5,z2=R2),p5=(g+72|0)+(j2<<2)|0,L5=+s[p5>>2],q5=z2-L5,s[O>>2]=q5,s[p5>>2]=i5,E5=e[x5>>2]|0,$5=E5+1|0,h5=(E5|0)>13,m=h5?0:$5,e[x5>>2]=m,Q5=(A0|0)/2&-1,T1=(A0|0)>1;e:do if(T1)for(D5=z2*.0625,d5=(s[w2>>2]=D5,e[w2>>2]|0),l5=d5&2147483647,X2=+(l5>>>0),w5=X2*7177114298428933e-22,r5=w5+-764.6162109375,a5=r5,f5=a5*.5,K2=f5+-15,I5=K2,M=I5,N0=S2,S5=0;;){if(v0=N0*N0,O0=S5|1,H0=b2+(O0<<2)|0,S0=+s[H0>>2],J0=S0*S0,T0=J0+v0,M0=(s[w2>>2]=T0,e[w2>>2]|0),P0=M0&2147483647,W0=+(P0>>>0),K0=W0*35885571492144663e-23,V0=K0+-382.30810546875,q0=V0>1,z0=b2+(s1<<2)|0,s[z0>>2]=t0,r1=S5+2|0,L0=(r1|0)<(Q5|0),!L0)break e;o1=M+-8,F=b2+(r1<<2)|0,G=+s[F>>2],M=o1,N0=G,S5=r1}while(!1);if(n5=(d|0)>0,n5)l3=0,z3=0;else{for(n3=0,r6=0;;){if(d1=($+(n3<<4)|0)+4|0,u1=e[d1>>2]|0,p1=(u1|0)>0,p1)for(h1=$+(n3<<4)|0,A1=e[h1>>2]|0,c1=($+(n3<<4)|0)+8|0,a1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,X0=b2+($1<<2)|0,B1=+s[X0>>2],m1=a1+(Y3<<2)|0,Q1=+s[m1>>2],C1=Q1*B1,v1=C1+c3,k1=Y3+1|0,S1=(k1|0)<(u1|0),S1)c3=v1,Y3=k1;else{G3=v1;break}else G3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[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,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],X1=b1P1,b=x1?P1:b1,K1=b+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,V1=e[_1>>2]|0,Y1=V1+1|0,t2=(V1|0)>15,_=t2?0:Y1,e[_1>>2]=_,e2=(o+4|0)+(n3<<2)|0,O1=+s[e2>>2],h2=O1+b3,Z1=q1>h2,I2=r6|5,j5=Z1?I2:r6,A2=(o+32|0)+(n3<<2)|0,C2=+s[A2>>2],$2=C2-b3,W1=K1<$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(R5=($+(l3<<4)|0)+4|0,e5=e[R5>>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(u0=c0+U5|0,l0=b2+(u0<<2)|0,X=+s[l0>>2],m0=g0+(U5<<2)|0,I0=+s[m0>>2],n0=I0*X,d0=n0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=d0,U5=p0;else{V3=d0;break}else V3=0;for(E0=($+(l3<<4)|0)+12|0,Q0=+s[E0>>2],d3=Q0*V3,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=+s[B0>>2],Z0=d3x0,D=R0?x0:d3,l6=0,U3=E,L3=-99999,D3=99999;;)if(s0=(U3|0)<1,w=s0?16:-1,k=w+U3|0,K=(g+(l3*144|0)|0)+(k<<2)|0,o0=+s[K>>2],Y=L3o0,H=i0?o0:D3,e0=l6+1|0,J5=(e0|0)==(d|0),J5){L=h0,V=H;break}else l6=e0,U3=k,L3=h0,D3=H;if(v5=D-V,z5=i3-L,C5=(g+(l3*144|0)|0)+(I3<<2)|0,s[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=(o+4|0)+(l3<<2)|0,x3=+s[Z5>>2],f3=x3+b3,w3=z5>f3,e6=z3|5,M3=w3?e6:z3,H3=(o+32|0)+(l3<<2)|0,X5=+s[H3>>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,z3=J3}return C=m3,A6|0}function nl(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=0;if(Ae=C,C=C+4912|0,z6=Ae+1328|0,Se=Ae+1064|0,Ie=Ae+804|0,Pt=Ae+544|0,F4=Ae+284|0,t8=Ae+24|0,$8=Ae+20|0,Zt=Ae+16|0,Ot=Ae+12|0,qt=Ae+8|0,T4=Ae+4|0,st=Ae,A0=o+1296|0,j=e[A0>>2]|0,y2=o+1288|0,n6=e[y2>>2]|0,O3=o+1284|0,w6=e[O3>>2]|0,w9=(w6|0)>0,w9){for(mt=0;r4=Se+(mt<<2)|0,e[r4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(w6|0),!S4;)mt=k4;if(w9){for(Z3=0;Ce=Ie+(Z3<<2)|0,e[Ce>>2]=-200,r0=Z3+1|0,fe=(r0|0)==(w6|0),!fe;)Z3=r0;if(w9){for(l0=w6<<2,g4(Pt|0,0,l0|0)|0,_9=0;D0=F4+(_9<<2)|0,e[D0>>2]=1,O0=_9+1|0,z4=(O0|0)==(w6|0),!z4;)_9=O0;if(w9){if(h1=w6<<2,g4(t8|0,-1,h1|0)|0,v1=(w6|0)>1,!v1)return a4=0,C=Ae,a4|0;for(P1=n6+-1|0,e2=j+1112|0,n2=w6+-1|0,G=e[o>>2]|0,ve=G,S9=0,b4=0;;){Re=S9+1|0,Fe=o+(Re<<2)|0,Ge=e[Fe>>2]|0,qe=z6+(S9*56|0)|0,O4=qe,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[qe>>2]=ve,He=(z6+(S9*56|0)|0)+4|0,e[He>>2]=Ge,J9=(Ge|0)<(n6|0),s8=J9?Ge:P1,Ve=(s8|0)<(ve|0),Ve)_t=0,n8=0,Mt=0,Rt=0,yt=0,P4=0,a8=0,j9=0,jt=0,Tt=0,Z8=0,j8=0;else for(xe=ve,pt=0,J4=0,Ke=0,se=0,D4=0,gt=0,C3=0,F9=0,ht=0,b9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,J=+s[he>>2],Ue=J*7.314285755157471,Ee=Ue+1023.5,v4=~~Ee,Z9=(v4|0)>1023,v9=(v4|0)<0,m=v9?0:v4,b=Z9?1023:m,V4=(b|0)==0;do if(V4)Jt=pt,at=J4,$t=Ke,Bt=se,W4=D4,be=gt,wt=C3,Wt=F9,Ze=ht,et=b9,l4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Ye=+s[nt>>2],Y4=+s[e2>>2],ze=Y4+Ye,n4=!(ze>=J),n4){h4=xe+gt|0,oe=b+Nt|0,d4=o5(xe,xe)|0,f4=d4+se|0,ke=o5(b,b)|0,s0=ke+b9|0,K=o5(b,xe)|0,o0=K+F9|0,Y=J4+1|0,Jt=pt,at=Y,$t=Ke,Bt=f4,W4=D4,be=h4,wt=C3,Wt=o0,Ze=ht,et=s0,l4=u8,Xt=oe;break}else{R4=xe+D4|0,ot=b+u8|0,ne=o5(xe,xe)|0,u4=ne+Ke|0,T6=o5(b,b)|0,Je=T6+ht|0,O9=o5(b,xe)|0,de=O9+C3|0,Te=pt+1|0,Jt=Te,at=J4,$t=u4,Bt=se,W4=R4,be=gt,wt=de,Wt=F9,Ze=Je,et=b9,l4=ot,Xt=Nt;break}while(!1);if(h0=xe+1|0,i0=(xe|0)<(s8|0),i0)xe=h0,pt=Jt,J4=at,Ke=$t,se=Bt,D4=W4,gt=be,C3=wt,F9=Wt,ht=Ze,b9=et,u8=l4,Nt=Xt;else{_t=Jt,n8=at,Mt=$t,Rt=Bt,yt=W4,P4=be,a8=wt,j9=Wt,jt=Ze,Tt=et,Z8=l4,j8=Xt;break}}if(e0=(z6+(S9*56|0)|0)+8|0,e[e0>>2]=yt,u0=(z6+(S9*56|0)|0)+12|0,e[u0>>2]=Z8,c0=(z6+(S9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(S9*56|0)|0)+20|0,e[$0>>2]=jt,X=(z6+(S9*56|0)|0)+24|0,e[X>>2]=a8,m0=(z6+(S9*56|0)|0)+28|0,e[m0>>2]=_t,g0=(z6+(S9*56|0)|0)+32|0,e[g0>>2]=P4,I0=(z6+(S9*56|0)|0)+36|0,e[I0>>2]=j8,n0=(z6+(S9*56|0)|0)+40|0,e[n0>>2]=Rt,d0=(z6+(S9*56|0)|0)+44|0,e[d0>>2]=Tt,p0=(z6+(S9*56|0)|0)+48|0,e[p0>>2]=j9,C0=(z6+(S9*56|0)|0)+52|0,e[C0>>2]=n8,b0=_t+b4|0,I6=(Re|0)==(n2|0),I6){E8=b0;break}else ve=Ge,S9=Re,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=Ae,a4|0;G2=z6+4|0,O4=z6,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[G2>>2]=n6,Y2=(n6|0)<1,Y2)Yt=0,r8=0,Kt=0,Ct=0,ct=0,ae=0,Qt=0,A4=0,l8=0,c8=0,V8=0,Y8=0;else for(b2=j+1112|0,me=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,We=0,$4=0,ut=0,X4=0,M8=0,dt=0;;){M5=$+(me<<2)|0,V=+s[M5>>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,z3=(B|0)==0;do if(z3)zt=xt,G4=Et,U4=At,lt=m4,K4=p4,_4=E4,Z4=We,j4=$4,Ft=ut,g8=X4,R8=M8,F8=dt;else if(f6=a+(me<<2)|0,W3=+s[f6>>2],$6=+s[b2>>2],g9=$6+W3,U6=!(g9>=V),U6){C9=me+E4|0,B9=B+dt|0,y9=o5(me,me)|0,d9=y9+m4|0,f9=o5(B,B)|0,V9=f9+X4|0,q6=o5(B,me)|0,a9=q6+$4|0,Y9=Et+1|0,zt=xt,G4=Y9,U4=At,lt=d9,K4=p4,_4=C9,Z4=We,j4=a9,Ft=ut,g8=V9,R8=M8,F8=B9;break}else{Y6=me+p4|0,F6=B+M8|0,t9=o5(me,me)|0,_6=t9+At|0,P6=o5(B,B)|0,O6=P6+ut|0,s9=o5(B,me)|0,h9=s9+We|0,n9=xt+1|0,zt=n9,G4=Et,U4=_6,lt=m4,K4=Y6,_4=E4,Z4=h9,j4=$4,Ft=O6,g8=X4,R8=F6,F8=dt;break}while(!1);if(Q9=me+1|0,k9=(Q9|0)==(n6|0),k9){Yt=zt,r8=G4,Kt=U4,Ct=lt,ct=K4,ae=_4,Qt=Z4,A4=j4,l8=Ft,c8=g8,V8=R8,Y8=F8;break}else me=Q9,xt=zt,Et=G4,At=U4,m4=lt,p4=K4,E4=_4,We=Z4,$4=j4,ut=Ft,X4=g8,M8=R8,dt=F8}Qe=z6+8|0,e[Qe>>2]=ct,ge=z6+12|0,e[ge>>2]=V8,pe=z6+16|0,e[pe>>2]=Kt,z9=z6+20|0,e[z9>>2]=l8,re=z6+24|0,e[re>>2]=Qt,R9=z6+28|0,e[R9>>2]=Yt,K6=z6+32|0,e[K6>>2]=ae,A9=z6+36|0,e[A9>>2]=Y8,we=z6+40|0,e[we>>2]=Ct,Me=z6+44|0,e[Me>>2]=c8,ue=z6+48|0,e[ue>>2]=A4,D9=z6+52|0,e[D9>>2]=r8,E8=Yt}if(y0=(E8|0)==0,y0)return a4=0,C=Ae,a4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=w6+-1|0,DC(z6,E0,$8,Zt,j)|0,Q0=e[$8>>2]|0,e[Se>>2]=Q0,e[Ie>>2]=Q0,w0=e[Zt>>2]|0,B0=Ie+4|0,e[B0>>2]=w0,x0=Se+4|0,e[x0>>2]=w0,Z0=(w6|0)>2;do if(Z0){R0=j+1112|0,v0=j+1096|0,N0=j+1100|0,U0=j+1104|0,Oe=2;e:for(;;){H0=(o+520|0)+(Oe<<2)|0,S0=e[H0>>2]|0,J0=Pt+(S0<<2)|0,T0=e[J0>>2]|0,M0=F4+(S0<<2)|0,P0=e[M0>>2]|0,W0=t8+(T0<<2)|0,K0=e[W0>>2]|0,V0=(K0|0)==(P0|0);t:do if(!V0){if(j0=(o+520|0)+(T0<<2)|0,Y0=e[j0>>2]|0,s1=(o+520|0)+(P0<<2)|0,z0=e[s1>>2]|0,e[W0>>2]=P0,r1=(j+836|0)+(T0<<2)|0,L0=e[r1>>2]|0,o1=(j+836|0)+(P0<<2)|0,d1=e[o1>>2]|0,u1=Se+(T0<<2)|0,p1=e[u1>>2]|0,f1=(p1|0)<0,A1=Ie+(T0<<2)|0,c1=e[A1>>2]|0,f1?w=c1:(a1=(c1|0)<0,a1?w=p1:($1=c1+p1|0,X0=$1>>1,w=X0)),B1=Se+(P0<<2)|0,m1=e[B1>>2]|0,Q1=(m1|0)<0,C1=Ie+(P0<<2)|0,y1=e[C1>>2]|0,Q1?Q=y1:(k1=(y1|0)<0,k1?Q=m1:(S1=y1+m1|0,L1=S1>>1,Q=L1)),M1=(w|0)==-1,b1=(Q|0)==-1,x8=M1|b1,x8){C4=38;break e}_1=Q-w|0,R1=d1-L0|0,N4=(_1|0)>-1,x9=0-_1|0,F1=N4?_1:x9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,X1=D1|1,G1=$+(L0<<2)|0,Z=+s[G1>>2],x1=Z*7.314285755157471,K1=x1+1023.5,q1=~~K1,H1=(q1|0)>1023,V1=(q1|0)<0,I=V1?0:q1,D=H1?1023:I,Y1=o5(U1,R1)|0,f8=(Y1|0)>-1,p8=0-Y1|0,t2=f8?Y1:p8,s2=F1-t2|0,O1=w-D|0,h2=o5(O1,O1)|0,Z1=a+(L0<<2)|0,I2=+s[Z1>>2],A2=+s[R0>>2],C2=A2+I2,$2=!(C2>=Z),$2?C4=42:(W1=+(w|0),f2=+s[v0>>2],c2=f2+W1,g2=+(D|0),o2=c2>2],i2=W1-l2,a2=i2>g2,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,_8=h2,Vt=1,C8=w;;){if(k2=o4+s2|0,D2=(k2|0)<(R1|0),S2=D2?0:X1,M2=D2?0:R1,Pe=k2-M2|0,F=C8+U1|0,A8=F+S2|0,O2=$+(p2<<2)|0,t0=+s[O2>>2],W2=t0*7.314285755157471,q2=W2+1023.5,J2=~~q2,U2=(J2|0)>1023,V2=(J2|0)<0,E=V2?0:J2,_=U2?1023:E,Z2=A8-_|0,A5=o5(Z2,Z2)|0,N1=A5+_8|0,t5=Vt+1|0,T5=a+(p2<<2)|0,i5=+s[T5>>2],x5=i5+A2,j2=x5>=t0,m5=(_|0)!=0,o8=j2&m5,o8&&(b5=+(A8|0),V5=+s[v0>>2],u5=V5+b5,B5=+(_|0),s5=u5>2],R2=b5-F2,Q2=R2>B5,Q2)))break i;if(y5=p2+1|0,N5=(y5|0)<(d1|0),N5)p2=y5,o4=Pe,_8=N1,Vt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=h2,Ht=1;if(p5=+s[v0>>2],L5=p5*p5,q5=+(Ht|0),z2=L5/q5,E5=+s[U0>>2],$5=z2>E5,!$5&&(h5=+s[N0>>2],Q5=h5*h5,T1=Q5/q5,D5=T1>E5,!D5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),X2=l5>E5,X2)))break;g3=Se+(Oe<<2)|0,e[g3>>2]=-200,u3=Ie+(Oe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=z6+(Y0*56|0)|0,r5=S0-Y0|0,a5=DC(w5,r5,Ot,qt,j)|0,f5=z6+(S0*56|0)|0,K2=z0-S0|0,I5=DC(f5,K2,T4,st,j)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=w,R5=e[T4>>2]|0,e[qt>>2]=R5),e5=(I5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=Q,n5)){v5=Se+(Oe<<2)|0,e[v5>>2]=-200,z5=Ie+(Oe<<2)|0,e[z5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,C5=(T0|0)==0,C5&&(e[Se>>2]=i3),I3=e[qt>>2]|0,d3=Se+(Oe<<2)|0,e[d3>>2]=I3,W5=e[T4>>2]|0,r3=Ie+(Oe<<2)|0,e[r3>>2]=W5,a3=e[st>>2]|0,e[B1>>2]=a3,y3=(P0|0)==1,y3&&(e[B0>>2]=a3),Z5=W5&I3,x3=(Z5|0)>-1,x3){f3=(S0|0)>0;i:do if(f3)for(e8=S0;;){if(D8=e8+-1|0,e6=F4+(D8<<2)|0,H3=e[e6>>2]|0,X5=(H3|0)==(P0|0),!X5)break i;if(e[e6>>2]=Oe,_3=(e8|0)>1,_3)e8=D8;else break}while(!1);if(m8=S0+1|0,w3=(m8|0)<(w6|0),w3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,a6=e[t3>>2]|0,V3=(a6|0)==(T0|0),!V3)break t;if(e[t3>>2]=Oe,I8=Ut+1|0,c3=(I8|0)<(w6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=Oe+1|0,J5=(Q3|0)<(w6|0),J5)Oe=Q3;else{C4=68;break}}if((C4|0)==38)LS(1);else if((C4|0)==68){O=e[Se>>2]|0,H=e[Ie>>2]|0,S5=O,l6=H;break}}else S5=Q0,l6=Q0;while(!1);if(H5=w6<<2,Y5=W8(t,H5)|0,Y3=(S5|0)<0,Y3?k=l6:(n3=(l6|0)<0,n3?k=S5:(l3=l6+S5|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?M=L3:(D3=(L3|0)<0,D3?M=C6:(A6=L3+C6|0,r6=A6>>1,M=r6)),j5=Y5+4|0,e[j5>>2]=M,Z0)s4=2;else return a4=Y5,C=Ae,a4|0;for(;;)if(M3=s4+-2|0,h3=(o+1032|0)+(M3<<2)|0,J3=e[h3>>2]|0,d6=(o+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,v6=e[j6>>2]|0,R3=(j+836|0)+(s4<<2)|0,o6=e[R3>>2]|0,s6=N6&32767,B6=v6&32767,K3=B6-s6|0,F3=S6-L6|0,d8=(K3|0)>-1,Lt=0-K3|0,t6=d8?K3:Lt,R6=o6-L6|0,c6=o5(t6,R6)|0,o3=(c6|0)/(F3|0)&-1,J6=(K3|0)<0,A3=0-o3|0,L=J6?A3:o3,x=L+s6|0,g6=Se+(s4<<2)|0,y6=e[g6>>2]|0,T3=(y6|0)<0,H6=Ie+(s4<<2)|0,D6=e[H6>>2]|0,T3?y=D6:(G6=(D6|0)<0,G6?y=y6:(e9=D6+y6|0,Q6=e9>>1,y=Q6)),X6=(y|0)<0,P3=(x|0)==(y|0),L8=X6|P3,r9=x|32768,g=L8?r9:y,V6=Y5+(s4<<2)|0,e[V6>>2]=g,o9=s4+1|0,I4=(o9|0)==(w6|0),I4){a4=Y5;break}else s4=o9;return C=Ae,a4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0;if(u0=C,d=o+1284|0,m=e[d>>2]|0,x=(a|0)!=0,t0=($|0)!=0,h0=x&t0,!h0)return i0=0,i0|0;if(Z=m<<2,A0=W8(t,Z)|0,j=(m|0)>0,!j)return i0=A0,i0|0;for(r0=65536-g|0,Y=0;;)if(s0=a+(Y<<2)|0,K=e[s0>>2]|0,I=K&32767,E=o5(I,r0)|0,y=$+(Y<<2)|0,B=e[y>>2]|0,b=B&32767,D=o5(b,g)|0,k=E+32768|0,w=k+D|0,_=w>>16,Q=A0+(Y<<2)|0,e[Q>>2]=_,M=e[s0>>2]|0,L=M&32768,F=(L|0)==0,F||(G=e[y>>2]|0,O=G&32768,H=(O|0)==0,H||(V=_|32768,e[Q>>2]=V)),J=Y+1|0,o0=(J|0)==(m|0),o0){i0=A0;break}else Y=J;return i0|0}function gb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=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=o+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,x=l3+2848|0,A0=e[x>>2]|0,c0=($|0)==0,c0)return H2(t,0,1),T5=o+36|0,i5=e[T5>>2]|0,x5=(i5|0)/2&-1,j2=x5<<2,g4(g|0,0,j2|0)|0,m=0,C=O6,m|0;if(b0=(F2|0)>0,b0)for(N0=Q+832|0,B6=0;V0=$+(B6<<2)|0,p1=e[V0>>2]|0,C1=p1&32767,U1=e[N0>>2]|0,(U1|0)==4?(Z2=C1>>>4,Y6=Z2):(U1|0)==1?(t2=C1>>>2,Y6=t2):(U1|0)==2?(c2=C1>>>3,Y6=c2):(U1|0)==3?(S2=(C1>>>0)/12&-1,Y6=S2):Y6=C1,m5=p1&32768,b5=m5|Y6,e[V0>>2]=b5,V5=B6+1|0,v6=(V5|0)==(F2|0),!v6;)B6=V5;if(u5=e[$>>2]|0,e[U6>>2]=u5,b2=$+4|0,B5=e[b2>>2]|0,s5=U6+4|0,e[s5>>2]=B5,R2=(F2|0)>2,Q2=a+1292|0,R2){for(K3=2;;){if(y5=K3+-2|0,N5=(a+1032|0)+(y5<<2)|0,p5=e[N5>>2]|0,L5=(a+780|0)+(y5<<2)|0,q5=e[L5>>2]|0,M5=(Q+836|0)+(p5<<2)|0,z2=e[M5>>2]|0,E5=(Q+836|0)+(q5<<2)|0,h5=e[E5>>2]|0,Q5=$+(p5<<2)|0,T1=e[Q5>>2]|0,D5=$+(q5<<2)|0,d5=e[D5>>2]|0,l5=(Q+836|0)+(K3<<2)|0,X2=e[l5>>2]|0,d2=T1&32767,w5=d5&32767,r5=w5-d2|0,f5=h5-z2|0,W3=(r5|0)>-1,r9=0-r5|0,K2=W3?r5:r9,I5=X2-z2|0,n5=o5(K2,I5)|0,R5=(n5|0)/(f5|0)&-1,e5=(r5|0)<0,c5=0-R5|0,E=e5?c5:R5,I=E+d2|0,T2=$+(K3<<2)|0,v5=e[T2>>2]|0,z5=v5&32768,C5=(z5|0)!=0,I3=(v5|0)==(I|0),g9=C5|I3,g9)d3=I|32768,e[T2>>2]=d3,W5=U6+(K3<<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,H3=d+e6|0,F6=H3;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);V3=U6+(K3<<2)|0,e[V3>>2]=F6,e[Q5>>2]=d2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=K3+1|0,j6=(Q3|0)==(F2|0),j6)break;K3=Q3}b=e[U6>>2]|0,D=e[s5>>2]|0,A6=b,M3=D}else A6=u5,M3=B5;if(H2(t,1,1),J5=a+1308|0,H5=e[J5>>2]|0,Y5=H5+1|0,e[J5>>2]=Y5,S5=e[Q2>>2]|0,Y3=S5+-1|0,U5=H8(Y3)|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,z3=r6+-1|0,j5=H8(z3)|0,H2(t,M3,j5),M=e[Q>>2]|0,L=(M|0)>0,L)for(F=a+1300|0,F3=0,c6=2;;){if(G=(Q+4|0)+(F3<<2)|0,O=e[G>>2]|0,H=(Q+128|0)+(O<<2)|0,V=e[H>>2]|0,J=(Q+192|0)+(O<<2)|0,t0=e[J>>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;d0=((Q+320|0)+(O<<5)|0)+(A3<<2)|0,p0=e[d0>>2]|0,C0=(p0|0)<0,C0?w=1:(y0=(l3+1824|0)+(p0<<2)|0,D0=e[y0>>2]|0,E0=D0+4|0,Q0=e[E0>>2]|0,w=Q0),w0=P3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,x0=(B0|0)<(Z|0),x0;)A3=B0;s0=(V|0)>0;e:do if(s0){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(K=P3+(H6<<2)|0,o0=e[K>>2]|0,h0=(Y|0)<(o0|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,u0=h3+(y6<<2)|0,e[u0>>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,T0=A0+(J0*56|0)|0,M0=Gu(T0,m3,t)|0,P0=e[F>>2]|0,W0=P0+M0|0,e[F>>2]=W0}if(K0=(V|0)>0,K0)for(T3=0;j0=h3+(T3<<2)|0,q0=e[j0>>2]|0,Y0=((Q+320|0)+(O<<5)|0)+(q0<<2)|0,s1=e[Y0>>2]|0,z0=(s1|0)>-1,z0&&(r1=T3+c6|0,L0=U6+(r1<<2)|0,o1=e[L0>>2]|0,d1=(A0+(s1*56|0)|0)+4|0,u1=e[d1>>2]|0,f1=(o1|0)<(u1|0),f1&&(h1=A0+(s1*56|0)|0,A1=Gu(h1,o1,t)|0,c1=e[n3>>2]|0,a1=c1+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,m1=e[Q>>2]|0,Q1=(B1|0)<(m1|0),Q1)F3=B1,c6=X0;else break}if(y1=e[$>>2]|0,v1=Q+832|0,k1=e[v1>>2]|0,S1=o5(k1,y1)|0,L1=o+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(o6=0,o3=1,D6=0,Q6=S1;;){if(K1=(a+260|0)+(o3<<2)|0,q1=e[K1>>2]|0,H1=$+(q1<<2)|0,V1=e[H1>>2]|0,Y1=V1&32767,s2=(Y1|0)==(V1|0),s2)if(e2=e[v1>>2]|0,O1=o5(e2,V1)|0,h2=(Q+836|0)+(q1<<2)|0,Z1=e[h2>>2]|0,I2=O1-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,g2=o5($2,A2)|0,R6=(g2|0)>-1,o9=0-g2|0,o2=R6?g2:o9,l2=C2-o2|0,i2=(R1|0)>(Z1|0),t9=i2?Z1:R1,a2=(t9|0)>(D6|0),a2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),r2=D6+1|0,k2=(r2|0)<(t9|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)==(t9|0),f6){s6=Z1,G6=Z1,X6=O1;break}else p2=W2,M6=S6,_6=P6;else s6=Z1,G6=Z1,X6=O1;else s6=o6,G6=D6,X6=Q6;if(q2=o3+1|0,J2=e[f2>>2]|0,U2=(q2|0)<(J2|0),U2)o6=s6,o3=q2,D6=G6,Q6=X6;else{R3=s6,e9=X6;break}}else R3=0,e9=S1;if(P1=o+36|0,X1=e[P1>>2]|0,G1=(X1|0)/2&-1,x1=(R3|0)<(G1|0),x1)J6=R3;else return m=1,C=O6,m|0;for(;;)if(V2=g+(J6<<2)|0,e[V2>>2]=e9,A5=J6+1|0,Y2=e[P1>>2]|0,N1=(Y2|0)/2&-1,t5=(A5|0)<(N1|0),t5)J6=A5;else{m=1;break}return C=O6,m|0}function DC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0;if(A5=C,y=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,y0=e[$0>>2]|0,U0=(o|0)>0,U0)for(j0=g+1108|0,f1=+s[j0>>2],n2=0,i2=0,m2=0,S2=0,O2=0,J2=0;;)if(y1=(t+(i2*56|0)|0)+52|0,D1=e[y1>>2]|0,s2=(t+(i2*56|0)|0)+28|0,b=e[s2>>2]|0,O=b+D1|0,K=+(O|0),o0=K*f1,Y=b+1|0,h0=+(Y|0),i0=o0/h0,e0=i0,u0=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*u0,d0=X+S2,p0=d0+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*u0,x0=D0+J2,Z0=x0+B0,R0=(t+(i2*56|0)|0)+40|0,v0=e[R0>>2]|0,N0=+(v0|0),O0=(t+(i2*56|0)|0)+16|0,H0=e[O0>>2]|0,S0=+(H0|0),J0=S0*u0,T0=N0+m2,M0=T0+J0,P0=(t+(i2*56|0)|0)+48|0,W0=e[P0>>2]|0,K0=+(W0|0),V0=(t+(i2*56|0)|0)+24|0,q0=e[V0>>2]|0,Y0=+(q0|0),s1=Y0*u0,z0=K0+O2,r1=z0+s1,L0=+(D1|0),o1=+(b|0),d1=u0*o1,u1=L0+n2,p1=u1+d1,h1=i2+1|0,l2=(h1|0)==(o|0),l2){c2=p1,a2=M0,D2=p0,M2=r1,q2=Z0;break}else n2=p1,i2=h1,m2=M0,S2=p0,O2=r1,J2=Z0;else c2=0,a2=0,D2=0,M2=0,q2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(a1=+(y|0),$1=D2+a1,X0=+(A1|0),B1=X0+q2,m1=o5(y,y)|0,Q1=+(m1|0),C1=a2+Q1,v1=o5(A1,y)|0,k1=+(v1|0),S1=k1+M2,L1=c2+1,g2=L1,r2=C1,y2=$1,p2=S1,U2=B1):(g2=c2,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),U1=F1+U2,P1=o5(y0,y0)|0,X1=+(P1|0),G1=r2+X1,x1=o5(M1,y0)|0,K1=+(x1|0),q1=K1+p2,H1=g2+1,o2=H1,k2=G1,G2=R1,W2=q1,V2=U1):(o2=g2,k2=r2,G2=y2,W2=p2,V2=U2),V1=k2*o2,Y1=G2*G2,t2=V1-Y1,e2=t2>0,e2?(O1=V2*k2,h2=G2*W2,Z1=O1-h2,I2=Z1/t2,A2=W2*o2,C2=G2*V2,$2=A2-C2,W1=$2/t2,f2=+(y|0),D=W1*f2,k=D+I2,w=+z7(k),_=~~w,e[a>>2]=_,Q=+(y0|0),x=W1*Q,M=x+I2,L=+z7(M),F=~~L,e[$>>2]=F,G=e[a>>2]|0,H=(G|0)>1023,H?(e[a>>2]=1023,m=e[$>>2]|0,V=m,r0=1023):(V=F,r0=G),J=(V|0)>1023,J?(e[$>>2]=1023,I=e[a>>2]|0,t0=I,s0=1023):(t0=r0,s0=V),Z=(t0|0)<0,Z?(e[a>>2]=0,E=e[$>>2]|0,A0=E):A0=s0,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 ub(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0;if(L0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,j=e[t>>2]|0,H2(o,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(o,b,4),D=e[B>>2]|0,k=(z0|0)<(D|0),a=k?D:z0,w=W0+1|0,_=e[t>>2]|0,Q=(w|0)<(_|0),Q)W0=w,z0=a;else{$=a;break}if(H0=($|0)>-1,H0)for(S0=t+128|0,J0=t+192|0,E=t+256|0,y=t+320|0,K0=0;;){if(x=S0+(K0<<2)|0,L=e[x>>2]|0,F=L+-1|0,H2(o,F,3),G=J0+(K0<<2)|0,O=e[G>>2]|0,H2(o,O,2),H=e[G>>2]|0,V=(H|0)==0,V?(j0=0,r1=8):(J=E+(K0<<2)|0,t0=e[J>>2]|0,H2(o,t0,8),g=e[G>>2]|0,Z=(g|0)==31,Z||(j0=0,r1=8)),(r1|0)==8)for(;r1=0,A0=(y+(K0<<5)|0)+(j0<<2)|0,r0=e[A0>>2]|0,s0=r0+1|0,H2(o,s0,8),K=j0+1|0,o0=e[G>>2]|0,Y=1<>2]|0,c0=u0+-1|0,H2(o,c0,2),l0=M+-1|0,X=H8(l0)|0,H2(o,X,4),m0=H8(l0)|0,g0=e[t>>2]|0,I0=(g0|0)>0,!!I0)for(n0=t+4|0,d0=t+128|0,O0=g0,T0=0,V0=0,q0=0;;){if(p0=n0+(V0<<2)|0,C0=e[p0>>2]|0,b0=d0+(C0<<2)|0,D0=e[b0>>2]|0,E0=D0+T0|0,Q0=(q0|0)<(E0|0),Q0){for(s1=q0;w0=s1+2|0,B0=m+(w0<<2)|0,x0=e[B0>>2]|0,H2(o,x0,m0),Z0=s1+1|0,M0=(Z0|0)==(E0|0),!M0;)s1=Z0;d=e[t>>2]|0,N0=d,Y0=E0}else N0=O0,Y0=q0;if(R0=V0+1|0,v0=(R0|0)<(N0|0),v0)O0=N0,T0=E0,V0=R0,q0=Y0;else break}}function hb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0;Z1=C,C=C+272|0,O1=Z1,_=t+28|0,Q=e[_>>2]|0,Z=le(1,1120)|0,u0=i4(o,5)|0,e[Z>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=Z+4|0,X1=0,s2=-1;;){if(L=i4(o,4)|0,F=v0+(X1<<2)|0,e[F>>2]=L,G=(L|0)<0,G)break e;if(O=(s2|0)<(L|0),g=O?L:s2,H=X1+1|0,V=e[Z>>2]|0,J=(H|0)<(V|0),J)X1=H,s2=g;else{d=g;break}}if(K0=(d|0)>-1,K0)for(u1=Z+128|0,Q1=Z+192|0,F1=Z+256|0,x=Q+24|0,M=Z+320|0,G1=0;;){if(t0=i4(o,3)|0,A0=t0+1|0,j=u1+(G1<<2)|0,e[j>>2]=A0,r0=i4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,K=(r0|0)<0,K||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,i0=I):(Y=i4(o,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=Y,i0=Y),e0=(i0|0)<0,e0)||(c0=e[x>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,X=(l0|0)==31,!X)for(H1=0;;){if(d0=i4(o,8)|0,p0=d0+-1|0,b0=(M+(G1<<5)|0)+(H1<<2)|0,e[b0>>2]=p0,y0=(d0|0)<0,y0||(D0=e[x>>2]|0,E0=(d0|0)>(D0|0),I0=H1+1|0,E0))break e;if(m0=e[s0>>2]|0,g0=1<>2]=x0,R0=i4(o,4)|0,N0=(R0|0)<0,!N0)){if(U0=e[Z>>2]|0,O0=(U0|0)>0,O0)for(H0=Z+4|0,S0=Z+128|0,J0=Z+836|0,T0=1<>2]|0,W0=S0+(P0<<2)|0,V0=e[W0>>2]|0,j0=V0+P1|0,q0=(j0|0)>63,q0)break e;if(Y0=(V1|0)<(j0|0),Y0){for(t2=V1;;){if(s1=i4(o,R0)|0,z0=t2+2|0,r1=J0+(z0<<2)|0,e[r1>>2]=s1,L0=(s1|0)>-1,o1=(s1|0)<(T0|0),e2=L0&o1,!e2)break e;if(d1=t2+1|0,p1=(d1|0)<(j0|0),p1)t2=d1;else{$=d1;break}}B=e[Z>>2]|0,A1=B,Y1=$}else A1=U1,Y1=V1;if(f1=x1+1|0,h1=(f1|0)<(A1|0),h1)U1=A1,P1=j0,x1=f1,V1=Y1;else{E=J0,y=T0,D1=j0;break}}else k=Z+836|0,w=1<>2]=0,c1=Z+840|0,e[c1>>2]=y,a1=D1+2|0,$1=(D1|0)>-2,$1)for(K1=0;X0=E+(K1<<2)|0,B1=O1+(K1<<2)|0,e[B1>>2]=X0,m1=K1+1|0,C1=(m1|0)<(a1|0),C1;)K1=m1;Pu(O1,a1,4,8),y1=(a1|0)>1;t:do if(y1){for(b=e[O1>>2]|0,D=e[b>>2]|0,b1=D,q1=1;S1=O1+(q1<<2)|0,L1=e[S1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),v1=q1+1|0,!_1;)if(k1=(v1|0)<(a1|0),k1)b1=M1,q1=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 db(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,$=le(1,1312)|0,g=$+1296|0,e[g>>2]=o,_=o+836|0,t0=o+840|0,e0=e[t0>>2]|0,p0=$+1288|0,e[p0>>2]=e0,R0=e[o>>2]|0,W0=(R0|0)>0,W0){for(z0=o+4|0,d=o+128|0,f1=0,S1=0;;)if(m=z0+(f1<<2)|0,I=e[m>>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,w=$+1284|0,e[w>>2]=k,Q=(a|0)>-2,Q?(G=k,k1=a,_1=7):(Pu(b1,k,4,8),v1=a)}else s1=$+1284|0,e[s1>>2]=2,G=2,k1=0,_1=7;if((_1|0)==7){for(h1=0;x=_+(h1<<2)|0,M=b1+(h1<<2)|0,e[M>>2]=x,L=h1+1|0,F=(L|0)<(G|0),F;)h1=L;for(Pu(b1,G,4,8),O=_,H=$+260|0,A1=0;Z=b1+(A1<<2)|0,A0=e[Z>>2]|0,j=A0,r0=j-O|0,s0=r0>>2,K=H+(A1<<2)|0,e[K>>2]=s0,o0=A1+1|0,Y=(o0|0)<(G|0),Y;)A1=o0;for(V=$+260|0,J=$+520|0,c1=0;i0=V+(c1<<2)|0,u0=e[i0>>2]|0,c0=J+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(G|0),l0;)c1=$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,d0=a1+1|0,C0=(d0|0)<(G|0),C0)a1=d0;else{v1=k1;break}}if(b0=o+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,N0=_+(v0<<2)|0,U0=e[N0>>2]|0,O0=e[p0>>2]|0,L0=1,u1=O0,X0=0,B1=0,C1=0;;)if(H0=_+(X0<<2)|0,S0=e[H0>>2]|0,J0=(S0|0)>(C1|0),T0=(S0|0)<(U0|0),L1=J0&T0,m1=L1?X0:B1,y1=L1?S0:C1,M0=(S0|0)<(u1|0),P0=(S0|0)>(U0|0),M1=M0&P0,o1=M1?X0:L0,p1=M1?S0:u1,K0=X0+1|0,V0=(K0|0)<(v0|0),V0)L0=o1,u1=p1,X0=K0,B1=m1,C1=y1;else{d1=o1,Q1=m1;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 fb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Ib(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function mb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;if(S2=C,d=o+1296|0,m=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,P1=v1+2848|0,e2=e[P1>>2]|0,I=t+4|0,M=i4(I,1)|0,j=(M|0)==1,!j)return a=0,a|0;Y=o+1284|0,h0=e[Y>>2]|0,i0=h0<<2,e0=W8(t,i0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,X=H8($0)|0,m0=i4(I,X)|0,e[e0>>2]=m0,g0=e[u0>>2]|0,I0=g0+-1|0,n0=H8(I0)|0,d0=i4(I,n0)|0,p0=e0+4|0,e[p0>>2]=d0,C0=e[m>>2]|0,b0=(C0|0)>0;e:do if(b0){o2=0,a2=2;t:for(;;){if(B0=(m+4|0)+(o2<<2)|0,x0=e[B0>>2]|0,Z0=(m+128|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=(m+192|0)+(x0<<2)|0,N0=e[v0>>2]|0,U0=1<>2]|0,T0=e2+(J0*56|0)|0,M0=nE(T0,I)|0,P0=(M0|0)==-1,P0){a=0,D2=25;break}else n2=M0;if(W0=(R0|0)>0,W0)for(K0=U0+-1|0,g2=n2,m2=0;;){if(V0=g2&K0,j0=((m+320|0)+(x0<<5)|0)+(V0<<2)|0,Y0=e[j0>>2]|0,s1=g2>>N0,z0=(Y0|0)>-1,z0){if(r1=e2+(Y0*56|0)|0,L0=nE(r1,I)|0,o1=m2+a2|0,d1=e0+(o1<<2)|0,e[d1>>2]=L0,u1=(L0|0)==-1,u1){a=0,D2=25;break t}}else p1=m2+a2|0,f1=e0+(p1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,c1=(A1|0)<(R0|0),c1)g2=s1,m2=A1;else break}if(a1=R0+a2|0,$1=o2+1|0,X0=e[m>>2]|0,B1=($1|0)<(X0|0),B1)o2=$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=o+1032|0,w0=o+780|0,l2=2;;){if(m1=l2+-2|0,Q1=Q0+(m1<<2)|0,C1=e[Q1>>2]|0,y1=(m+836|0)+(C1<<2)|0,k1=e[y1>>2]|0,S1=w0+(m1<<2)|0,L1=e[S1>>2]|0,M1=(m+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,U1=e[F1>>2]|0,D1=(m+836|0)+(l2<<2)|0,X1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,K1=x1-G1|0,q1=b1-k1|0,i2=(K1|0)>-1,r2=0-K1|0,H1=i2?K1:r2,V1=X1-k1|0,Y1=o5(H1,V1)|0,t2=(Y1|0)/(q1|0)&-1,s2=(K1|0)<0,O1=0-t2|0,g=s2?O1:t2,$=g+G1|0,h2=e[u0>>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,c2=(A2|0)<(f2|0);do if(c2)if(D=A2&1,k=(D|0)==0,k){x=A2>>1,k2=x;break}else{w=A2+1|0,_=w>>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);L=k2+$|0,F=L&32767,e[I2>>2]=F,G=e[Q1>>2]|0,O=e0+(G<<2)|0,H=e[O>>2]|0,V=H&32767,e[O>>2]=V,J=e[S1>>2]|0,t0=e0+(J<<2)|0,Z=e[t0>>2]|0,A0=Z&32767,e[t0>>2]=A0}if(s0=l2+1|0,K=e[Y>>2]|0,o0=(s0|0)<(K|0),o0)l2=s0;else{a=e0;break}}return a|0}function pb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0;if(D1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,j=e[M>>2]|0,$0=j+4|0,y0=e[$0>>2]|0,U0=y0+28|0,j0=e[U0>>2]|0,u1=t+28|0,p1=e[u1>>2]|0,E=j0+(p1<<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,w=e[k>>2]|0,_=o5(w,D)|0,Q=(_|0)<0,x=(_|0)>255,L=x?255:_,F=Q?0:L,G=o+1284|0,O=e[G>>2]|0,H=(O|0)>1,H)for(V=o+260|0,$1=0,Q1=1,y1=0,S1=F;;){if(A0=V+(Q1<<2)|0,r0=e[A0>>2]|0,s0=a+(r0<<2)|0,K=e[s0>>2]|0,o0=K&32767,Y=(o0|0)==(K|0),Y)if(h0=(I+836|0)+(r0<<2)|0,i0=e[h0>>2]|0,e0=o5(w,K)|0,u0=(e0|0)<0,c0=(e0|0)>255,l0=c0?255:e0,X=u0?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,d0=m0>>31,p0=d0|1,C0=o5(n0,g0)|0,m1=(C0|0)>-1,b1=0-C0|0,b0=m1?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=+s[w0>>2],x0=$+(y1<<2)|0,Z0=+s[x0>>2],R0=Z0*B0,s[x0>>2]=R0),v0=y1+1|0,N0=(v0|0)<(_1|0),N0)for(W0=v0,f1=0,R1=S1;;)if(O0=f1+D0|0,H0=(O0|0)<(g0|0),S0=H0?0:p0,J0=H0?0:g0,h1=O0-J0|0,d=R1+n0|0,F1=d+S0|0,T0=1768+(F1<<2)|0,M0=+s[T0>>2],P0=$+(W0<<2)|0,K0=+s[P0>>2],V0=K0*M0,s[P0>>2]=V0,q0=W0+1|0,c1=(q0|0)==(_1|0),c1){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,s1=(Y0|0)<(O|0),s1)$1=X0,Q1=Y0,y1=v1,S1=L1;else{a1=X0,k1=L1;break}}else a1=0,k1=F;if(J=(a1|0)<(B|0),!J)return g=1,g|0;for(t0=1768+(k1<<2)|0,Z=+s[t0>>2],C1=a1;;)if(z0=$+(C1<<2)|0,r1=+s[z0>>2],L0=r1*Z,s[z0>>2]=L0,o1=C1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else C1=o1;return g|0}function Eb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$-d|0,m|0}function Cb(t){t=t|0;var o=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 Bb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0;u0=C,g=sl(o|0)|0,d=sl(a|0)|0,Q=g+2|0,Z=Q+d|0,$=Z,j=C,C=C+((1*$|0)+15&-16)|0,RC(j|0,o|0)|0,i0=sl(j|0)|0,h0=j+i0|0,f[h0>>0]=61,f[h0+1>>0]=0,Vy(j|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,K=e[s0>>2]|0,o0=K<<2,Y=o0+8|0,m=J7(r0,Y)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,y=e[s0>>2]|0,B=y<<2,b=B+8|0,D=J7(E,b)|0,e[I>>2]=D,k=sl(j|0)|0,w=e[s0>>2]|0,_=D+(w<<2)|0,e[_>>2]=k,x=k+1|0,M=M9(x)|0,L=e[t>>2]|0,F=L+(w<<2)|0,e[F>>2]=M,G=e[t>>2]|0,O=G+(w<<2)|0,H=e[O>>2]|0,RC(H|0,j|0)|0,V=e[s0>>2]|0,J=V+1|0,e[s0>>2]=J,t0=e[t>>2]|0,A0=t0+(J<<2)|0,e[A0>>2]=0,C=u0}function yb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=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(M=t+8|0,L=e[M>>2]|0,F=(L|0)>0,F){for(x=L,O=d,J=0;G=O+(J<<2)|0,H=e[G>>2]|0,V=(H|0)==0,V?E=x:(E2(H),a=e[M>>2]|0,E=a),m=J+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,O=o,J=m;$=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,w=e[k>>2]|0,_=(w|0)==0,_||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function Qb(t){t=t|0;var o=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,o=le(1,3664)|0,a=t+28|0,e[a>>2]=o}function _C(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,d=t+28|0,m=e[d>>2]|0,x=(m|0)==0,x){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=m+8|0,c0=e[A0>>2]|0,b0=(c0|0)>0,b0)for(f1=c0,$1=0;a1=(m+32|0)+($1<<2)|0,I=e[a1>>2]|0,E=(I|0)==0,E?b=f1:(E2(I),o=e[A0>>2]|0,b=o),y=$1+1|0,B=(y|0)<(b|0),B;)f1=b,$1=y;if(N0=m+12|0,V0=e[N0>>2]|0,p1=(V0|0)>0,p1)for(h1=V0,X0=0;_=(m+544|0)+(X0<<2)|0,Q=e[_>>2]|0,M=(Q|0)==0,M?Z=h1:(L=(m+288|0)+(X0<<2)|0,F=e[L>>2]|0,G=25664+(F<<2)|0,O=e[G>>2]|0,H=O+8|0,V=e[H>>2]|0,as[V&7](Q),a=e[N0>>2]|0,Z=a),J=X0+1|0,t0=(J|0)<(Z|0),t0;)h1=Z,X0=J;if(D=m+16|0,k=e[D>>2]|0,w=(k|0)>0,w)for(A1=k,B1=0;K=(m+1056|0)+(B1<<2)|0,o0=e[K>>2]|0,Y=(o0|0)==0,Y?g0=A1:(h0=(m+800|0)+(B1<<2)|0,i0=e[h0>>2]|0,e0=25640+(i0<<2)|0,u0=e[e0>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,as[l0&7](o0),$=e[D>>2]|0,g0=$),X=B1+1|0,m0=(X|0)<(g0|0),m0;)A1=g0,B1=X;if(j=m+20|0,r0=e[j>>2]|0,s0=(r0|0)>0,s0)for(c1=r0,m1=0;C0=(m+1568|0)+(m1<<2)|0,y0=e[C0>>2]|0,D0=(y0|0)==0,D0?U0=c1:(E0=(m+1312|0)+(m1<<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,as[Z0&7](y0),g=e[j>>2]|0,U0=g),R0=m1+1|0,v0=(R0|0)<(U0|0),v0;)c1=U0,m1=R0;if(I0=m+24|0,n0=e[I0>>2]|0,d0=(n0|0)>0,p0=m+2848|0,d0)for(Q1=0;O0=(m+1824|0)+(Q1<<2)|0,H0=e[O0>>2]|0,S0=(H0|0)==0,S0||MC(H0),J0=e[p0>>2]|0,T0=(J0|0)==0,T0||(M0=J0+(Q1*56|0)|0,iD(M0)),P0=Q1+1|0,W0=e[I0>>2]|0,K0=(P0|0)<(W0|0),K0;)Q1=P0;if(j0=e[p0>>2]|0,q0=(j0|0)==0,q0||E2(j0),Y0=m+28|0,s1=e[Y0>>2]|0,z0=(s1|0)>0,z0)for(C1=0;r1=(m+2852|0)+(C1<<2)|0,L0=e[r1>>2]|0,Rb(L0),o1=C1+1|0,d1=e[Y0>>2]|0,u1=(o1|0)<(d1|0),u1;)C1=o1;E2(m),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 wb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=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,c1=t+104|0,S1=e[c1>>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,o2=e[h2>>2]|0,M2=(o2|0)<1,M2)D5=-129,l5=27;else if(vC(T1),N1=y+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(G=e[B5>>2]|0,K=(G|0)<64,K)D5=-130,l5=27;else if(m0=B5+4|0,Q0=e[m0>>2]|0,S0=(Q0|0)<(G|0),S0)D5=-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),s1=e[h2>>2]|0,H2(T1,s1,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,m1=e[B1>>2]|0,H2(T1,m1,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=b8(T1)|0,F1=M9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=b8(T1)|0,ce(F1|0,D1|0,P1|0)|0,X1=e[M1>>2]|0,e[a>>2]=X1,x1=b8(T1)|0,K1=a+4|0,e[K1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,mi(T1),vb(T1,o),V1=S1+68|0,Y1=e[V1>>2]|0,t2=(Y1|0)==0,t2||E2(Y1),s2=b8(T1)|0,e2=M9(s2)|0,e[V1>>2]=e2,O1=e[U1>>2]|0,Z1=b8(T1)|0,ce(e2|0,O1|0,Z1|0)|0,I2=e[V1>>2]|0,e[$>>2]=I2,A2=b8(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,c2=f2,e[c2>>2]=1,n2=f2+4|0,g2=n2,e[g2>>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=ib(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),J2=l2+16|0,U2=e[J2>>2]|0,V2=U2+-1|0,H2(T1,V2,6),Z2=e[J2>>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,x5=e[i5>>2]|0,j2=e[x5>>2]|0,m5=(j2|0)==0,m5)break e;if(b5=(l2+1056|0)+(E5<<2)|0,V5=e[b5>>2]|0,GC[j2&3](V5,T1),u5=E5+1|0,b2=e[J2>>2]|0,s5=(u5|0)<(b2|0),s5)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,L5=e[p5>>2]|0,H2(T1,L5,16),q5=e[p5>>2]|0,M5=25648+(q5<<2)|0,b=e[M5>>2]|0,D=e[b>>2]|0,k=(l2+1568|0)+($5<<2)|0,w=e[k>>2]|0,GC[D&3](w,T1),_=$5+1|0,Q=e[F2>>2]|0,x=(_|0)<(Q|0),x;)$5=_;if(M=l2+12|0,L=e[M>>2]|0,F=L+-1|0,H2(T1,F,6),O=e[M>>2]|0,H=(O|0)>0,H)for(h5=0;V=(l2+288|0)+(h5<<2)|0,J=e[V>>2]|0,H2(T1,J,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,s0=e[r0>>2]|0,Zy[j&1](y,s0,T1),o0=h5+1|0,Y=e[M>>2]|0,h0=(o0|0)<(Y|0),h0;)h5=o0;if(i0=l2+8|0,e0=e[i0>>2]|0,u0=e0+-1|0,H2(T1,u0,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,d0=e[n0>>2]|0,H2(T1,d0,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),N0=b8(T1)|0,U0=M9(N0)|0,e[Z0>>2]=U0,O0=e[U1>>2]|0,H0=b8(T1)|0,ce(U0|0,O0|0,H0|0)|0,J0=e[Z0>>2]|0,e[g>>2]=J0,T0=b8(T1)|0,M0=g+4|0,e[M0>>2]=T0,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,K0=W0,V0=K0,e[V0>>2]=2,j0=K0+4|0,q0=j0,e[q0>>2]=0,kC(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,m=S1+64|0,I=m,d5=D5),kC(T1),Y0=e[I>>2]|0,z0=(Y0|0)==0,z0||E2(Y0),r1=S1+68|0,L0=e[r1>>2]|0,o1=(L0|0)==0,o1||E2(L0),d1=S1+72|0,u1=e[d1>>2]|0,p1=(u1|0)==0,p1||E2(u1),e[I>>2]=0,e[r1>>2]=0,e[d1>>2]=0,d=d5,C=X2,d|0}function vb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=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;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,j=M<<24>>24,H2(t,j,8),K=(m|0)==0,!K;)a=I,g=m;if(o0=o+8|0,Y=e[o0>>2]|0,H2(t,Y,32),h0=e[o0>>2]|0,i0=(h0|0)>0,!i0){H2(t,1,1);return}for(e0=o+4|0,u0=0;;){if(E=e[o>>2]|0,y=E+(u0<<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+(u0<<2)|0,w=e[k>>2]|0,H2(t,w,32),_=e[e0>>2]|0,Q=_+(u0<<2)|0,x=e[Q>>2]|0,L=(x|0)==0,!L)for(F=e[o>>2]|0,G=F+(u0<<2)|0,O=e[G>>2]|0,$=O,d=x;H=d+-1|0,V=$+1|0,J=f[$>>0]|0,t0=J<<24>>24,H2(t,t0,8),Z=(H|0)==0,!Z;)$=V,d=H;if(A0=u0+1|0,r0=e[o0>>2]|0,s0=(A0|0)<(r0|0),s0)u0=A0;else break}H2(t,1,1)}function Qy(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0;if(Y1=C,E=$+1|0,y=E<<3,g=y,F=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,d=s0,X=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)H=0;else{for(H0=$;;){if(Y0=(H0|0)<(a|0),Y0)for(Q1=0,R1=H0;;)if(A1=t+(R1<<2)|0,B1=+s[A1>>2],B=B1,b=R1-H0|0,D=t+(b<<2)|0,k=+s[D>>2],w=k,_=w*B,Q=_+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){m1=Q;break}else Q1=Q,R1=x;else m1=0;if(M=F+(H0<<3)|0,l1[M>>3]=m1,L=H0+-1|0,G=(H0|0)==0,G)break;H0=L}I=+l1[F>>3],H=I}if(O=H*1.0000000001,V=H*1e-9,J=V+1e-10,t0=($|0)>0,t0)y1=O,F1=0;else return S1=O,X0=S1,C=Y1,+X0;for(;;){if(D1=F1+1|0,Z=y1>3],Y=-o0,h0=(F1|0)>0,h0){for(P1=0,q1=Y;;)if(u0=X+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=F+($0<<3)|0,m0=+l1[l0>>3],g0=m0*c0,I0=q1-g0,n0=P1+1|0,b1=(n0|0)==(F1|0),b1){m=I0;break}else P1=n0,q1=I0;if(d0=m/y1,p0=X+(F1<<3)|0,l1[p0>>3]=d0,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=+l1[Q0>>3],B0=y0-G1|0,x0=X+(B0<<3)|0,Z0=+l1[x0>>3],R0=Z0*d0,v0=R0+w0,l1[Q0>>3]=v0,N0=w0*d0,U0=+l1[x0>>3],O0=U0+N0,l1[x0>>3]=O0,S0=G1+1|0,J0=(S0|0)<(C0|0),J0;)G1=S0;H1=D0?C0:1,V0=d0,X1=H1}else V0=d0,X1=0}else i0=Y/y1,e0=X+(F1<<3)|0,l1[e0>>3]=i0,V0=i0,X1=0;if(T0=F1&1,M0=(T0|0)==0,M0||(P0=X+(X1<<3)|0,W0=+l1[P0>>3],K0=W0*V0,j0=K0+W0,l1[P0>>3]=j0),q0=V0*V0,s1=1-q0,z0=s1*y1,r1=(D1|0)<($|0),r1)y1=z0,F1=D1;else{k1=z0;break}}if((V1|0)==8&&(A0=X+(U1<<3)|0,j=$-U1|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=Y1,+X0;for(;L0=X+(x1<<3)|0,o1=+l1[L0>>3],d1=o1*C1,l1[L0>>3]=d1,u1=C1*.99,p1=x1+1|0,M1=(p1|0)==($|0),!M1;)C1=u1,x1=p1;if(t0)K1=0;else return S1=k1,X0=S1,C=Y1,+X0;for(;;)if(f1=X+(K1<<3)|0,h1=+l1[f1>>3],c1=h1,a1=o+(K1<<2)|0,s[a1>>2]=c1,$1=K1+1|0,L1=($1|0)==($|0),L1){S1=k1;break}else K1=$1;return X0=S1,C=Y1,+X0}function wy(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0;if(e0=C,I=g+a|0,E=I<<2,d=E,L=C,C=C+((1*d|0)+15&-16)|0,G=(o|0)==0,O=(a|0)>0,G?O&&(V=a<<2,g4(L|0,0,V|0)|0):O&&(H=a<<2,ce(L|0,o|0,H|0)|0),J=(g|0)>0,!J){C=e0;return}if(t0=(a|0)>0,t0)r0=0,s0=a;else{Z=g<<2,g4(L|0,0,Z|0)|0,g4($|0,0,Z|0)|0,C=e0;return}for(;;){for(o0=r0,Y=a,h0=0;;)if(D=o0+1|0,k=L+(o0<<2)|0,w=+s[k>>2],_=Y+-1|0,Q=t+(_<<2)|0,x=+s[Q>>2],M=x*w,F=h0-M,A0=(D|0)==(s0|0),A0){m=F;break}else o0=D,Y=_,h0=F;if(y=L+(s0<<2)|0,s[y>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,b=r0+1|0,K=s0+1|0,j=(b|0)==(g|0),j)break;r0=b,s0=K}C=e0}function kb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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[o>>2]|0,d=(g|0)>1,d?(H2(a,1,1),Q=e[o>>2]|0,Z=Q+-1|0,H2(a,Z,4)):H2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(H2(a,1,1),b0=e[u0>>2]|0,y0=b0+-1|0,H2(a,y0,8),D0=e[u0>>2]|0,m=(D0|0)>0,m)for(I=o+1160|0,E=t+4|0,y=o+2184|0,E0=0;B=I+(E0<<2)|0,b=e[B>>2]|0,D=e[E>>2]|0,k=D+-1|0,w=H8(k)|0,H2(a,b,w),_=y+(E0<<2)|0,x=e[_>>2]|0,M=e[E>>2]|0,L=M+-1|0,F=H8(L)|0,H2(a,x,F),G=E0+1|0,O=e[u0>>2]|0,H=(G|0)<(O|0),H;)E0=G}else H2(a,0,1);if(H2(a,0,2),V=e[o>>2]|0,J=(V|0)>1,J){if(t0=t+4|0,A0=e[t0>>2]|0,j=(A0|0)>0,j){for(r0=o+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[o>>2]|0,s0=$,B0=13}}else s0=V,B0=13;if(!((B0|0)==13&&(K=(s0|0)>0,!K)))for(o0=o+1028|0,Y=o+1092|0,w0=0;H2(a,0,8),l0=o0+(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[o>>2]|0,d0=(I0|0)<(n0|0),d0;)w0=I0}function Sb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0;a1=C,g=le(1,3208)|0,d=t+28|0,Q=e[d>>2]|0,g4(g|0,0,3208)|0,Z=t+4|0,u0=e[Z>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=i4(o,1)|0,K0=(v0|0)<0,K0)c1=24;else{if(z0=(v0|0)==0,z0)e[g>>2]=1;else if(r1=i4(o,4)|0,m=r1+1|0,e[g>>2]=m,I=(r1|0)<0,I)break;if(E=i4(o,1)|0,y=(E|0)<0,!y){if(B=(E|0)==0,!B){if(b=i4(o,8)|0,D=b+1|0,k=g+1156|0,e[k>>2]=D,w=(b|0)<0,w)break;for(_=g+1160|0,x=g+2184|0,$=e[Z>>2]|0,O=$,L0=0;;){if(G=O+-1|0,H=H8(G)|0,V=i4(o,H)|0,J=_+(L0<<2)|0,e[J>>2]=V,t0=e[Z>>2]|0,A0=t0+-1|0,j=H8(A0)|0,r0=i4(o,j)|0,s0=x+(L0<<2)|0,e[s0>>2]=r0,K=r0|V,o0=(K|0)<0,Y=(V|0)==(r0|0),u1=Y|o0,u1||(h0=e[Z>>2]|0,i0=(V|0)<(h0|0),e0=(r0|0)<(h0|0),p1=i0&e0,L=L0+1|0,!p1))break e;if(M=e[k>>2]|0,F=(L|0)<(M|0),F)O=h0,L0=L;else break}}if(c0=i4(o,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,o1=0;;){if(B0=i4(o,4)|0,x0=I0+(o1<<2)|0,e[x0>>2]=B0,Z0=e[g>>2]|0,R0=(B0|0)>=(Z0|0),N0=(B0|0)<0,f1=N0|R0,Q0=o1+1|0,f1)break e;if(E0=e[Z>>2]|0,w0=(Q0|0)<(E0|0),w0)o1=Q0;else{n0=Z0,c1=17;break}}}else n0=l0,c1=17;if((c1|0)==17&&(d0=(n0|0)>0,!d0))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(i4(o,8)|0,S0=i4(o,8)|0,J0=p0+(d1<<2)|0,e[J0>>2]=S0,T0=e[b0>>2]|0,M0=(S0|0)>=(T0|0),P0=(S0|0)<0,h1=P0|M0,h1||(W0=i4(o,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(c1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function bb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Db(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,y8=0,G8=0,nn=0,kr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,Sr=0,$n=0,Bs=0,ys=0,ln=0,I7=0,ro=0,Qs=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,br=0,un=0,Ts=0,or=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dr=0,Io=0,p7=0,fn=0,_r=0,sr=0,xr=0,K7=0,Lr=0,mo=0,W7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,ar=0,Ar=0,Rr=0,E7=0,Os=0,fi=0,Al=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,n2=M+4|0,z3=e[n2>>2]|0,Te=z3+28|0,Ze=e[Te>>2]|0,Bs=M+104|0,m7=e[Bs>>2]|0,Ms=t+104|0,hn=e[Ms>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=z3+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,P1=v1<<2,e2=W8(t,P1)|0,g2=e[l0>>2]|0,G2=g2<<2,Y2=W8(t,G2)|0,b2=hn+4|0,M5=+s[b2>>2],d2=e[l0>>2]|0,T2=d2<<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,W3=(Ze+544|0)+(f6<<2)|0,$6=e[W3>>2]|0,U6=m7+56|0,C9=e[U6>>2]|0,Qe=(f6|0)!=0,ue=Qe?2:0,_=ue+U5|0,he=C9+(_*52|0)|0,ze=t+40|0,e[ze>>2]=f6,h4=(d2|0)>0,h4)for(fe=+(r0|0),Z3=4/fe,m8=(s[w2>>2]=Z3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),be=ct*7177114298428933e-22,j4=be+-764.6162109375,c8=j4,l4=c8+.345,$i=l4,li=m7+4|0,Ki=t+24|0,f7=t+32|0,J8=$i+-764.6162109375,nn=r0+-1|0,us=(nn|0)>1,eo=$i+-382.30810546875,Lr=M5,W7=0;;){if(ys=e[t>>2]|0,ln=ys+(W7<<2)|0,I7=e[ln>>2]|0,ro=W8(t,Lt)|0,Qs=e2+(W7<<2)|0,e[Qs>>2]=ro,ws=W8(t,Lt)|0,no=h1+(W7<<2)|0,e[no>>2]=ws,oo=e[Ki>>2]|0,so=e[j5>>2]|0,vs=e[f7>>2]|0,lD(I7,li,Ze,oo,so,vs),cn=e[j5>>2]|0,ks=(m7+12|0)+(cn<<2)|0,ao=e[ks>>2]|0,Ss=e[ao>>2]|0,bs=e[no>>2]|0,vy(Ss,I7,bs),Ds=e[j5>>2]|0,Ao=(m7+20|0)+(Ds*12|0)|0,oD(Ao,I7),_s=e[I7>>2]|0,xs=_s&2147483647,Ls=+(xs>>>0),$o=Ls*7177114298428933e-22,Rs=J8+$o,Fs=Rs,gn=Fs+.345,br=gn,s[I7>>2]=br,un=G5+(W7<<2)|0,s[un>>2]=br,us)for(J=br,Mr=1;;)if(Ts=I7+(Mr<<2)|0,or=+s[Ts>>2],Ns=or*or,lo=Mr+1|0,co=I7+(lo<<2)|0,dn=+s[co>>2],Gs=dn*dn,go=Gs+Ns,uo=(s[w2>>2]=go,e[w2>>2]|0),Us=uo&2147483647,ho=+(Us>>>0),fo=ho*35885571492144663e-23,Ps=eo+fo,Dr=Ps,F=Dr+.345,G=F,O=lo>>1,H=I7+(O<<2)|0,s[H>>2]=G,V=G>J,V?(s[un>>2]=G,Sr=G):Sr=J,t0=Mr+2|0,Z=(t0|0)<(nn|0),Z)J=Sr,Mr=t0;else{j=Sr;break}else j=br;if(A0=j>0,A0?(s[un>>2]=0,K=0):K=j,s0=K>Lr,mo=s0?K:Lr,o0=W7+1|0,Y=e[l0>>2]|0,h0=(o0|0)<(Y|0),h0)Lr=mo,W7=o0;else{y=Lt,b=_t,K7=mo;break}}else D=(r0|0)/2&-1,k=D<<2,y=k,b=D,K7=M5;i0=W8(t,y)|0,e0=W8(t,y)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,X=m7+48|0,$0)_7=0;else{for(D7=0;;){s6=($6+4|0)+(D7<<2)|0,B6=e[s6>>2]|0,K3=h1+(D7<<2)|0,F3=e[K3>>2]|0,t6=e[t>>2]|0,R6=t6+(D7<<2)|0,c6=e[R6>>2]|0,o3=c6+(b<<2)|0,e[ze>>2]=f6,J6=W8(t,60)|0,A3=Y2+(D7<<2)|0,e[A3>>2]=J6,fi=J6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));if(Dy(he,o3,i0),g6=G5+(D7<<2)|0,y6=+s[g6>>2],_y(he,c6,e0,K7,y6),ol(he,i0,e0,1,c6,F3,o3),T3=($6+1028|0)+(B6<<2)|0,H6=e[T3>>2]|0,D6=(Ze+800|0)+(H6<<2)|0,G6=e[D6>>2]|0,e9=(G6|0)==1,!e9){a=-1;break}if(Q6=e[X>>2]|0,X6=Q6+(H6<<2)|0,P3=e[X6>>2]|0,r9=nl(t,P3,o3,c6)|0,V6=e[A3>>2]|0,o9=V6+28|0,e[o9>>2]=r9,g9=Nu(t)|0,Y6=(g9|0)==0,Y6||(F6=e[A3>>2]|0,t9=F6+28|0,_6=e[t9>>2]|0,P6=(_6|0)==0,P6||(ol(he,i0,e0,2,c6,F3,o3),O3=e[T3>>2]|0,O6=e[X>>2]|0,s9=O6+(O3<<2)|0,h9=e[s9>>2]|0,n9=nl(t,h9,o3,c6)|0,B9=e[A3>>2]|0,y9=B9+56|0,e[y9>>2]=n9,ol(he,i0,e0,0,c6,F3,o3),d9=e[T3>>2]|0,f9=e[X>>2]|0,V9=f9+(d9<<2)|0,w6=e[V9>>2]|0,q6=nl(t,w6,o3,c6)|0,a9=e[A3>>2]|0,e[a9>>2]=q6,Y9=e[T3>>2]|0,Q9=e[X>>2]|0,ge=Q9+(Y9<<2)|0,pe=e[ge>>2]|0,z9=e[A3>>2]|0,re=e[z9>>2]|0,R9=z9+28|0,w9=e[R9>>2]|0,K6=Gt(t,pe,re,w9,9362)|0,A9=e[A3>>2]|0,we=A9+4|0,e[we>>2]=K6,Me=e[T3>>2]|0,D9=e[X>>2]|0,Re=D9+(Me<<2)|0,Fe=e[Re>>2]|0,Ge=e[A3>>2]|0,qe=e[Ge>>2]|0,r4=Ge+28|0,ve=e[r4>>2]|0,He=Gt(t,Fe,qe,ve,18724)|0,J9=e[A3>>2]|0,Ve=J9+8|0,e[Ve>>2]=He,Ue=e[T3>>2]|0,Ee=e[X>>2]|0,v4=Ee+(Ue<<2)|0,Z9=e[v4>>2]|0,v9=e[A3>>2]|0,k4=e[v9>>2]|0,V4=v9+28|0,nt=e[V4>>2]|0,Ye=Gt(t,Z9,k4,nt,28086)|0,Y4=e[A3>>2]|0,n4=Y4+12|0,e[n4>>2]=Ye,R4=e[T3>>2]|0,ot=e[X>>2]|0,ne=ot+(R4<<2)|0,u4=e[ne>>2]|0,Ce=e[A3>>2]|0,T6=e[Ce>>2]|0,Je=Ce+28|0,O9=e[Je>>2]|0,de=Gt(t,u4,T6,O9,37449)|0,oe=e[A3>>2]|0,d4=oe+16|0,e[d4>>2]=de,f4=e[T3>>2]|0,ke=e[X>>2]|0,o4=ke+(f4<<2)|0,Pe=e[o4>>2]|0,I4=e[A3>>2]|0,k9=e[I4>>2]|0,I6=I4+28|0,z4=e[I6>>2]|0,S4=Gt(t,Pe,k9,z4,46811)|0,Se=e[A3>>2]|0,Ie=Se+20|0,e[Ie>>2]=S4,z6=e[T3>>2]|0,F4=e[X>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,me=e[A3>>2]|0,xe=e[me>>2]|0,mt=me+28|0,_9=e[mt>>2]|0,S9=Gt(t,st,xe,_9,56173)|0,Oe=e[A3>>2]|0,s4=Oe+24|0,e[s4>>2]=S9,d8=e[T3>>2]|0,N4=e[X>>2]|0,f8=N4+(d8<<2)|0,D8=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,D8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,_8=e[T3>>2]|0,Ht=e[X>>2]|0,Vt=Ht+(_8<<2)|0,Yt=e[Vt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,zt=e[pt>>2]|0,Jt=xt+56|0,r8=e[Jt>>2]|0,n8=Gt(t,Yt,zt,r8,18724)|0,Et=e[A3>>2]|0,J4=Et+36|0,e[J4>>2]=n8,G4=e[T3>>2]|0,at=e[X>>2]|0,x9=at+(G4<<2)|0,p8=e[x9>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,x8=e[E8>>2]|0,o8=b4+56|0,L8=e[o8>>2]|0,a4=Gt(t,p8,x8,L8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=a4,At=e[T3>>2]|0,Ke=e[X>>2]|0,U4=Ke+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,se=Ct+56|0,lt=e[se>>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,K4=e[X>>2]|0,W4=K4+(D4<<2)|0,ae=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,ae,gt,Qt,46811)|0,We=e[A3>>2]|0,C3=We+48|0,e[C3>>2]=a8,Z4=e[T3>>2]|0,wt=e[X>>2]|0,A4=wt+(Z4<<2)|0,j9=e[A4>>2]|0,$4=e[A3>>2]|0,F9=$4+28|0,Wt=e[F9>>2]|0,C8=$4+56|0,A8=e[C8>>2]|0,$8=Gt(t,j9,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=In,a|0}for(;;){N6=($6+4|0)+(_7<<2)|0,C0=e[N6>>2]|0,j6=h1+(_7<<2)|0,d0=e[j6>>2]|0,v6=e[t>>2]|0,R3=v6+(_7<<2)|0,n0=e[R3>>2]|0,m0=n0+(b<<2)|0,e[ze>>2]=f6,o6=W8(t,60)|0,v0=Y2+(_7<<2)|0,e[v0>>2]=o6,fi=o6,mn=fi+60|0;do e[fi>>2]=0,fi=fi+4|0;while((fi|0)<(mn|0));for(ar=0;r6=d0+(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,s[S6>>2]=M6,n6=ar+1|0,b6=(n6|0)<(b|0),b6;)ar=n6;if(Dy(he,m0,i0),g0=G5+(_7<<2)|0,I0=+s[g0>>2],_y(he,n0,e0,K7,I0),ol(he,i0,e0,1,n0,d0,m0),p0=($6+1028|0)+(C0<<2)|0,b0=e[p0>>2]|0,y0=(Ze+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=nl(t,x0,m0,n0)|0,R0=e[v0>>2]|0,N0=R0+28|0,e[N0>>2]=Z0,U0=Nu(t)|0,H0=(U0|0)==0,H0||(S0=e[v0>>2]|0,J0=S0+28|0,T0=e[J0>>2]|0,M0=(T0|0)==0,M0||(ol(he,i0,e0,2,n0,d0,m0),P0=e[p0>>2]|0,W0=e[X>>2]|0,K0=W0+(P0<<2)|0,V0=e[K0>>2]|0,j0=nl(t,V0,m0,n0)|0,Y0=e[v0>>2]|0,s1=Y0+56|0,e[s1>>2]=j0,ol(he,i0,e0,0,n0,d0,m0),z0=e[p0>>2]|0,r1=e[X>>2]|0,L0=r1+(z0<<2)|0,o1=e[L0>>2]|0,d1=nl(t,o1,m0,n0)|0,u1=e[v0>>2]|0,e[u1>>2]=d1,p1=e[p0>>2]|0,f1=e[X>>2]|0,A1=f1+(p1<<2)|0,c1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,X0=a1+28|0,B1=e[X0>>2]|0,m1=Gt(t,c1,$1,B1,9362)|0,Q1=e[v0>>2]|0,C1=Q1+4|0,e[C1>>2]=m1,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,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,X1=e[p0>>2]|0,G1=e[X>>2]|0,x1=G1+(X1<<2)|0,K1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,V1=q1+28|0,Y1=e[V1>>2]|0,t2=Gt(t,K1,H1,Y1,28086)|0,s2=e[v0>>2]|0,O1=s2+12|0,e[O1>>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,c2=Gt(t,A2,$2,f2,37449)|0,o2=e[v0>>2]|0,l2=o2+16|0,e[l2>>2]=c2,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,J2=q2+(W2<<2)|0,U2=e[J2>>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,x5=e[p0>>2]|0,j2=e[X>>2]|0,m5=j2+(x5<<2)|0,b5=e[m5>>2]|0,V5=e[v0>>2]|0,u5=V5+28|0,B5=e[u5>>2]|0,s5=V5+56|0,F2=e[s5>>2]|0,R2=Gt(t,b5,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,L5=p5+(N5<<2)|0,q5=e[L5>>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,D5=e[v0>>2]|0,d5=D5+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,K2=e[f5>>2]|0,I5=a5+56|0,n5=e[I5>>2]|0,R5=Gt(t,r5,K2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=R5,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,H3=e[e6>>2]|0,X5=e[v0>>2]|0,_3=X5+28|0,t3=e[_3>>2]|0,a6=X5+56|0,V3=e[a6>>2]|0,c3=Gt(t,H3,t3,V3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,J5=e[X>>2]|0,H5=J5+(Q3<<2)|0,Y5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,l6=e[Y3>>2]|0,n3=S5+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=In,a|0}else w=m7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=K7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,m=Ft,b9=C,C=C+((1*m|0)+15&-16)|0,g8=Nu(t)|0,et=(g8|0)!=0,V8=et?0:7,Z8=m7+44|0,M8=t+24|0,u8=t+32|0,R8=Ze+2868|0,Y8=m7+52|0,E7=V8;;){if(j8=(hn+12|0)+(E7<<2)|0,dt=e[j8>>2]|0,H2(dt,0,1),Nt=e[Z8>>2]|0,H2(dt,f6,Nt),F8=e[j5>>2]|0,Xt=(F8|0)==0,Xt||(O4=e[M8>>2]|0,H2(dt,O4,1),C4=e[u8>>2]|0,H2(dt,C4,1)),Ae=e[l0>>2]|0,T8=(Ae|0)>0,T8)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=gb(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=Ae;if(zi=e[j5>>2]|0,Ji=((Ze+3240|0)+(zi*60|0)|0)+(E7<<2)|0,Wi=e[Ji>>2]|0,Nb(E7,R8,he,$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($n=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=b9+(p7<<2)|0,Xi=q0+(Ar<<2)|0,bi=e[Xi>>2]|0,Os=(bi|0)!=0,o=Os&1,e[Si>>2]=o,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,fn=_i):(hi=$n,fn=p7),xi=Ar+1|0,t7=(xi|0)<(hi|0),t7)$n=hi,p7=fn,Ar=xi;else{Io=fn;break}else Io=0;if(Li=(Ze+1312|0)+(ii<<2)|0,x4=e[Li>>2]|0,Mi=25648+(x4<<2)|0,N8=e[Mi>>2]|0,di=N8+20|0,$9=e[di>>2]|0,B8=e[Y8>>2]|0,vt=B8+(ii<<2)|0,y8=e[vt>>2]|0,G8=UC[$9&7](t,y8,X4,b9,Io)|0,kr=e[l0>>2]|0,As=(kr|0)>0,As)for(sr=0,Rr=0;;)if(zn=($6+4|0)+(Rr<<2)|0,$s=e[zn>>2]|0,Jn=($s|0)==(x7|0),Jn?(ls=e2+(Rr<<2)|0,cs=e[ls>>2]|0,Kn=sr+1|0,gs=X4+(sr<<2)|0,e[gs>>2]=cs,xr=Kn):xr=sr,on=Rr+1|0,hs=(on|0)<(kr|0),hs)sr=xr,Rr=on;else{_r=xr;break}else _r=0;if(ds=e[Li>>2]|0,Wn=25648+(ds<<2)|0,fs=e[Wn>>2]|0,Zn=fs+24|0,jn=e[Zn>>2]|0,Is=e[Y8>>2]|0,sn=Is+(ii<<2)|0,Xn=e[sn>>2]|0,jy[jn&3](dt,t,Xn,X4,b9,_r,G8,x7)|0,an=x7+1|0,to=e[$6>>2]|0,ms=(an|0)<(to|0),ms)x7=an;else break}if(ps=E7+1|0,Es=Nu(t)|0,An=(Es|0)!=0,io=An?14:7,Cs=(E7|0)<(io|0),Cs)E7=ps;else{a=0;break}}return C=In,a|0}function _b(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,Y1=F1+28|0,W1=e[Y1>>2]|0,k2=k+104|0,U2=e[k2>>2]|0,m5=t+28|0,N5=e[m5>>2]|0,w=W1+(N5<<2)|0,J=e[w>>2]|0,i0=t+36|0,e[i0>>2]=J,d0=F1+4|0,Z0=e[d0>>2]|0,P0=Z0<<2,g=P0,o1=C,C=C+((1*g|0)+15&-16)|0,d=P0,X0=C,C=C+((1*d|0)+15&-16)|0,m=P0,B1=C,C=C+((1*m|0)+15&-16)|0,I=P0,m1=C,C=C+((1*I|0)+15&-16)|0,C1=e[d0>>2]|0,y1=(C1|0)>0,y1)for(v1=o+4|0,k1=o+1028|0,S1=U2+48|0,L1=J<<1,M1=L1&2147483646,X2=0;;)if(P1=v1+(X2<<2)|0,X1=e[P1>>2]|0,G1=k1+(X1<<2)|0,x1=e[G1>>2]|0,K1=(W1+800|0)+(x1<<2)|0,q1=e[K1>>2]|0,H1=25640+(q1<<2)|0,V1=e[H1>>2]|0,t2=V1+20|0,s2=e[t2>>2]|0,e2=e[S1>>2]|0,O1=e2+(x1<<2)|0,h2=e[O1>>2]|0,Z1=pi[s2&15](t,h2)|0,I2=m1+(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,c2=X2+1|0,n2=e[d0>>2]|0,g2=(c2|0)<(n2|0),g2)X2=c2;else{a1=n2;break}else a1=C1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,d2=0;r2=U1+(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,J2=B1+(O2<<2)|0,e[J2>>2]=1),V2=d2+1|0,Z2=(V2|0)<(_1|0),Z2;)d2=V2;if(o2=e[o>>2]|0,l2=(o2|0)>0,l2){for(i2=o+1092|0,a2=U2+52|0,m2=o+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,x5=e[i5>>2]|0,j2=X0+(d5<<2)|0,R5=(x5|0)!=0,$=R5&1,e[j2>>2]=$,b5=e[t>>2]|0,V5=b5+(I5<<2)|0,u5=e[V5>>2]|0,b2=d5+1|0,B5=o1+(d5<<2)|0,e[B5>>2]=u5,B=e[d0>>2]|0,R2=B,l5=b2):(R2=$1,l5=d5),s5=I5+1|0,F2=(s5|0)<(R2|0),F2)$1=R2,d5=l5,I5=s5;else{D5=l5;break}else D5=0;if(Q2=i2+(w5<<2)|0,y5=e[Q2>>2]|0,p5=(W1+1312|0)+(y5<<2)|0,L5=e[p5>>2]|0,q5=25648+(L5<<2)|0,M5=e[q5>>2]|0,z2=M5+28|0,E5=e[z2>>2]|0,$5=e[a2>>2]|0,h5=$5+(y5<<2)|0,Q5=e[h5>>2]|0,UC[E5&7](t,Q5,o1,X0,D5)|0,T1=w5+1|0,_=e[o>>2]|0,Q=(T1|0)<(_|0),!Q)break;y=e[d0>>2]|0,A5=y,w5=T1}b=e[b1>>2]|0,x=b}else x=_1;if(M=(x|0)>0,M)for(L=o+1160|0,F=e[t>>2]|0,G=o+2184|0,O=(J|0)/2&-1,H=(J|0)>1,a5=x;;){if(r5=a5+-1|0,s0=L+(r5<<2)|0,K=e[s0>>2]|0,o0=F+(K<<2)|0,Y=e[o0>>2]|0,h0=G+(r5<<2)|0,e0=e[h0>>2]|0,u0=F+(e0<<2)|0,c0=e[u0>>2]|0,H)for(n5=0;;){$0=Y+(n5<<2)|0,l0=+s[$0>>2],X=c0+(n5<<2)|0,m0=+s[X>>2],g0=l0>0,I0=m0>0;do if(g0)if(I0){s[$0>>2]=l0,n0=l0-m0,s[X>>2]=n0;break}else{s[X>>2]=l0,p0=m0+l0,s[$0>>2]=p0;break}else if(I0){s[$0>>2]=l0,C0=m0+l0,s[X>>2]=C0;break}else{s[X>>2]=l0,b0=l0-m0,s[$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[d0>>2]|0,Z=(t0|0)>0,!Z)return C=T2,0;for(A0=o+4|0,j=o+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,N0=e[v0>>2]|0,U0=(W1+800|0)+(N0<<2)|0,O0=e[U0>>2]|0,H0=25640+(O0<<2)|0,S0=e[H0>>2]|0,J0=S0+24|0,T0=e[J0>>2]|0,M0=e[r0>>2]|0,W0=M0+(N0<<2)|0,K0=e[W0>>2]|0,V0=m1+(f5<<2)|0,j0=e[V0>>2]|0,NC[T0&3](t,K0,j0,B0)|0,q0=f5+1|0,Y0=e[d0>>2]|0,s1=(q0|0)<(Y0|0),s1)f5=q0;else{E=Y0;break}if(E0=(E|0)>0,!E0)return C=T2,0;for(K2=0;z0=e[t>>2]|0,r1=z0+(K2<<2)|0,L0=e[r1>>2]|0,d1=e[m5>>2]|0,u1=(U2+12|0)+(d1<<2)|0,p1=e[u1>>2]|0,f1=e[p1>>2]|0,xb(f1,L0,L0),h1=K2+1|0,A1=e[d0>>2]|0,c1=(h1|0)<(A1|0),c1;)K2=h1;return C=T2,0}function xC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=M9($)|0,J=a+o|0,i0=J<<2,d0=M9(i0)|0,Z0=o>>1,P0=+(o|0),o1=P0,B1=+tn(+o1),g=B1*1.4426950408889634,d=+z7(g),m=~~d,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=d0,y=t+12|0,e[y>>2]=w,B=(o|0)>3,!B){X0=4/P0,m1=t+16|0,s[m1>>2]=X0;return}for(b=+(o|0),D=3.141592653589793/b,k=o<<1,_=+(k|0),Q=3.141592653589793/_,v1=0;G=v1<<2,O=+(G|0),H=D*O,V=+aA(+H),t0=V,Z=v1<<1,A0=d0+(Z<<2)|0,s[A0>>2]=t0,j=+Vn(+H),r0=j,s0=-r0,K=Z|1,o0=d0+(K<<2)|0,s[o0>>2]=s0,Y=+(K|0),h0=Q*Y,e0=+aA(+h0),u0=e0,c0=Z+Z0|0,$0=d0+(c0<<2)|0,s[$0>>2]=u0,l0=+Vn(+h0),X=l0,m0=c0+1|0,g0=d0+(m0<<2)|0,s[g0>>2]=X,I0=v1+1|0,n0=(I0|0)<(a|0),n0;)v1=I0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){X0=4/P0,m1=t+16|0,s[m1>>2]=X0;return}for(L=+(o|0),F=3.141592653589793/L,k1=0;p0=k1<<2,C0=p0|2,b0=+(C0|0),y0=F*b0,D0=+aA(+y0),E0=D0*.5,Q0=E0,w0=k1<<1,B0=w0+o|0,x0=d0+(B0<<2)|0,s[x0>>2]=Q0,R0=+Vn(+y0),v0=R0*-.5,N0=v0,U0=B0+1|0,O0=d0+(U0<<2)|0,s[O0>>2]=N0,H0=k1+1|0,S0=(H0|0)<(x|0),S0;)k1=H0;if(J0=m+-1|0,T0=1<>2]=X0;return}for(;;){for(j0=K0,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,p1=u1+-1|0,f1=S1<<1,h1=w+(f1<<2)|0,e[h1>>2]=p1,A1=f1|1,c1=w+(A1<<2)|0,e[c1>>2]=y1,a1=S1+1|0,$1=(a1|0)<(x|0),$1)S1=a1;else break}X0=4/P0,m1=t+16|0,s[m1>>2]=X0}function LC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0;y=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+12|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),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 xb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=0,j5=0,M3=0,h3=0,J3=0;for(J3=C,m=e[t>>2]|0,I=m>>1,e2=m>>2,$=I+-7|0,W2=o+($<<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=+s[w3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,D0=-l0,O0=+s[H5>>2],q0=u3+8|0,h1=+s[q0>>2],v1=h1*O0,P1=D0-v1,s[C5>>2]=P1,O1=+s[H5>>2],g2=+s[L>>2],k2=g2*O1,D2=+s[w3>>2],S2=+s[q0>>2],y2=S2*D2,G2=k2-y2,M2=L3+-12|0,s[M2>>2]=G2,O2=H5+24|0,p2=+s[O2>>2],q2=u3+4|0,J2=+s[q2>>2],U2=p2*J2,V2=-U2,Z2=H5+16|0,A5=+s[Z2>>2],Y2=+s[u3>>2],N1=Y2*A5,t5=V2-N1,T5=L3+-8|0,s[T5>>2]=t5,x5=+s[Z2>>2],j2=+s[q2>>2],m5=j2*x5,b5=+s[O2>>2],V5=+s[u3>>2],u5=V5*b5,b2=m5-u5,B5=L3+-4|0,s[B5>>2]=b2,s5=H5+-32|0,F2=u3+16|0,Q2=s5>>>0>>0,!Q2;)u3=F2,H5=s5,L3=C5;for(y5=a+(I<<2)|0,d=I+-8|0,N5=o+(d<<2)|0,Q3=f5,Y5=N5,D3=i5;p5=Q3+-16|0,L5=Y5+16|0,q5=+s[L5>>2],M5=Q3+-4|0,z2=+s[M5>>2],E5=z2*q5,$5=Y5+24|0,Q5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],d5=D5*Q5,l5=d5+E5,s[D3>>2]=l5,X2=+s[L5>>2],d2=+s[T1>>2],w5=d2*X2,r5=+s[$5>>2],a5=+s[M5>>2],K2=a5*r5,I5=w5-K2,n5=D3+4|0,s[n5>>2]=I5,R5=+s[Y5>>2],e5=Q3+-12|0,c5=+s[e5>>2],T2=c5*R5,v5=Y5+8|0,z5=+s[v5>>2],i3=+s[p5>>2],I3=i3*z5,d3=I3+T2,W5=D3+8|0,s[W5>>2]=d3,r3=+s[Y5>>2],a3=+s[p5>>2],y3=a3*r3,G5=+s[v5>>2],Z5=+s[e5>>2],x3=Z5*G5,f3=y3-x3,e6=D3+12|0,s[e6>>2]=f3,H3=Y5+-32|0,X5=D3+16|0,_3=H3>>>0>>0,!_3;)Q3=p5,Y5=H3,D3=X5;for(l6=t+4|0,n3=e[l6>>2]|0,ky(n3,h5,y5,I),l3=e[t>>2]|0,U3=e[R2>>2]|0,C6=t+12|0,b3=e[C6>>2]|0,Sy(l3,U3,b3,a),t3=e[R2>>2]|0,a6=t3+(I<<2)|0,J5=a6,S5=a,A6=i5,j5=i5;G3=A6+-16|0,V3=+s[S5>>2],c3=J5+4|0,g3=+s[c3>>2],y=g3*V3,B=S5+4|0,b=+s[B>>2],D=+s[J5>>2],k=D*b,w=y-k,_=A6+-4|0,s[_>>2]=w,Q=+s[S5>>2],x=+s[J5>>2],M=x*Q,F=+s[B>>2],G=+s[c3>>2],O=G*F,H=M+O,V=-H,s[j5>>2]=V,J=S5+8|0,t0=+s[J>>2],Z=J5+12|0,A0=+s[Z>>2],j=A0*t0,s0=S5+12|0,K=+s[s0>>2],o0=J5+8|0,Y=+s[o0>>2],h0=Y*K,i0=j-h0,e0=A6+-8|0,s[e0>>2]=i0,u0=+s[J>>2],c0=+s[o0>>2],$0=c0*u0,X=+s[s0>>2],m0=+s[Z>>2],g0=m0*X,I0=$0+g0,n0=-I0,d0=j5+4|0,s[d0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],b0=J5+20|0,y0=+s[b0>>2],E0=y0*C0,Q0=S5+20|0,w0=+s[Q0>>2],B0=J5+16|0,x0=+s[B0>>2],Z0=x0*w0,R0=E0-Z0,v0=A6+-12|0,s[v0>>2]=R0,N0=+s[p0>>2],U0=+s[B0>>2],H0=U0*N0,S0=+s[Q0>>2],J0=+s[b0>>2],T0=J0*S0,M0=H0+T0,P0=-M0,W0=j5+8|0,s[W0>>2]=P0,K0=S5+24|0,V0=+s[K0>>2],j0=J5+28|0,Y0=+s[j0>>2],s1=Y0*V0,z0=S5+28|0,r1=+s[z0>>2],L0=J5+24|0,o1=+s[L0>>2],d1=o1*r1,u1=s1-d1,s[G3>>2]=u1,p1=+s[K0>>2],f1=+s[L0>>2],A1=f1*p1,c1=+s[z0>>2],a1=+s[j0>>2],$1=a1*c1,X0=A1+$1,B1=-X0,m1=j5+12|0,s[m1>>2]=B1,Q1=j5+16|0,C1=S5+32|0,y1=J5+32|0,k1=C1>>>0>>0,k1;)J5=y1,S5=C1,A6=G3,j5=Q1;for(S1=a+(e2<<2)|0,Y3=i5,r6=S1,M3=S1;;)if(L1=r6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=r6+-4|0,s[R1>>2]=_1,F1=-_1,s[M3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],X1=r6+-8|0,s[X1>>2]=D1,G1=-D1,x1=M3+4|0,s[x1>>2]=G1,K1=Y3+-12|0,q1=+s[K1>>2],H1=r6+-12|0,s[H1>>2]=q1,V1=-q1,Y1=M3+8|0,s[Y1>>2]=V1,t2=+s[M1>>2],s[L1>>2]=t2,s2=-t2,h2=M3+12|0,s[h2>>2]=s2,Z1=M3+16|0,I2=Z1>>>0>>0,I2)Y3=M1,r6=L1,M3=Z1;else{U5=i5,z3=i5;break}for(;A2=z3+-16|0,C2=U5+12|0,$2=e[C2>>2]|0,e[A2>>2]=$2,W1=U5+8|0,f2=e[W1>>2]|0,c2=z3+-12|0,e[c2>>2]=f2,n2=U5+4|0,o2=e[n2>>2]|0,l2=z3+-8|0,e[l2>>2]=o2,i2=e[U5>>2]|0,a2=z3+-4|0,e[a2>>2]=i2,m2=U5+16|0,r2=A2>>>0>y5>>>0,r2;)U5=m2,z3=A2}function vy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=0,e5=0,c5=0,T2=0,v5=0,z5=0;if(z5=C,k=e[t>>2]|0,w=k>>1,s1=k>>2,c1=k>>3,S1=k<<2,$=S1,G1=C,C=C+((1*$|0)+15&-16)|0,h2=G1+(w<<2)|0,g=w+s1|0,o2=o+(g<<2)|0,M2=t+8|0,N1=e[M2>>2]|0,_=N1+(w<<2)|0,t0=(c1|0)>0,t0){for(d=g+1|0,e0=o+(d<<2)|0,p0=c1+-1|0,R0=p0>>>1,W0=R0<<1,V0=w+-2|0,j0=V0-W0|0,q0=g+-4|0,Y0=R0<<2,z0=q0-Y0|0,s5=_,L5=0,f5=o2,R5=e0;r1=f5+-16|0,L0=s5+-8|0,o1=f5+-8|0,d1=+s[o1>>2],u1=+s[R5>>2],p1=u1+d1,f1=+s[r1>>2],h1=R5+8|0,A1=+s[h1>>2],a1=A1+f1,$1=s5+-4|0,X0=+s[$1>>2],B1=a1*X0,m1=+s[L0>>2],Q1=m1*p1,C1=Q1+B1,b=L5+w|0,y1=G1+(b<<2)|0,s[y1>>2]=C1,v1=+s[L0>>2],k1=v1*a1,L1=+s[$1>>2],M1=L1*p1,b1=k1-M1,_1=L5|1,D=_1+w|0,R1=G1+(D<<2)|0,s[R1>>2]=b1,F1=R5+16|0,U1=L5+2|0,D1=(U1|0)<(c1|0),D1;)s5=L0,L5=U1,f5=r1,R5=F1;P1=W0+2|0,d2=N1+(j0<<2)|0,w5=o+(z0<<2)|0,Y2=j0,B5=d2,p5=P1,a5=w5}else Y2=w,B5=_,p5=0,a5=o2;if(X1=o+4|0,x1=w-c1|0,K1=(p5|0)<(x1|0),K1){for(q1=w+-1|0,H1=q1-p5|0,V1=H1-c1|0,Y1=V1>>>1,t2=Y1<<1,s2=p5+t2|0,e2=Y1<<2,O1=e2+5|0,Z1=-2-t2|0,R2=B5,M5=p5,K2=a5,c5=X1;I2=R2+-8|0,A2=K2+-16|0,C2=K2+-8|0,$2=+s[C2>>2],W1=+s[c5>>2],f2=$2-W1,c2=+s[A2>>2],n2=c5+8|0,g2=+s[n2>>2],l2=c2-g2,i2=R2+-4|0,a2=+s[i2>>2],m2=l2*a2,r2=+s[I2>>2],k2=r2*f2,D2=k2+m2,E=M5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,y2=+s[I2>>2],G2=y2*l2,O2=+s[i2>>2],p2=O2*f2,W2=G2-p2,q2=M5|1,y=q2+w|0,J2=G1+(y<<2)|0,s[J2>>2]=W2,U2=c5+16|0,V2=M5+2|0,Z2=(V2|0)<(x1|0),Z2;)R2=I2,M5=V2,K2=A2,c5=U2;A5=s2+2|0,l5=o+(O1<<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)<(w|0),t5)for(T5=o+(k<<2)|0,Q2=F2,z2=q5,I5=T5,T2=e5;i5=Q2+-8|0,x5=I5+-16|0,j2=I5+-8|0,m5=+s[j2>>2],b5=-m5,V5=+s[T2>>2],u5=b5-V5,b2=+s[x5>>2],Q=-b2,x=T2+8|0,M=+s[x>>2],L=Q-M,F=Q2+-4|0,G=+s[F>>2],O=L*G,H=+s[i5>>2],V=H*u5,J=V+O,m=z2+w|0,Z=G1+(m<<2)|0,s[Z>>2]=J,A0=+s[i5>>2],j=A0*L,r0=+s[F>>2],s0=r0*u5,K=j-s0,o0=z2|1,I=o0+w|0,Y=G1+(I<<2)|0,s[Y>>2]=K,h0=T2+16|0,i0=z2+2|0,u0=(i0|0)<(w|0),u0;)Q2=i5,z2=i0,I5=x5,T2=h0;if($5=t+4|0,h5=e[$5>>2]|0,ky(h5,N1,h2,w),d5=e[t>>2]|0,Q5=e[M2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,Sy(d5,Q5,D5,G1),c0=(s1|0)>0,!c0){C=z5;return}for($0=a+(w<<2)|0,l0=e[M2>>2]|0,X=l0+(w<<2)|0,m0=t+16|0,y5=X,E5=0,r5=G1,n5=$0;g0=n5+-4|0,I0=+s[r5>>2],n0=+s[y5>>2],d0=n0*I0,C0=r5+4|0,b0=+s[C0>>2],y0=y5+4|0,D0=+s[y0>>2],E0=D0*b0,Q0=E0+d0,w0=+s[m0>>2],B0=Q0*w0,x0=a+(E5<<2)|0,s[x0>>2]=B0,Z0=+s[r5>>2],v0=+s[y0>>2],N0=v0*Z0,U0=+s[C0>>2],O0=+s[y5>>2],H0=O0*U0,S0=N0-H0,J0=+s[m0>>2],T0=S0*J0,s[g0>>2]=T0,M0=r5+8|0,P0=y5+8|0,K0=E5+1|0,N5=(K0|0)==(s1|0),!N5;)y5=P0,E5=K0,r5=M0,n5=g0;C=z5}function ky(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,y8=0,G8=0,nn=0,kr=0;if(kr=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=o,B8=V5,y8=e8;dt=B8+24|0,Vi=+s[dt>>2],Qi=y8+24|0,ki=+s[Qi>>2],bi=Vi-ki,y0=B8+28|0,U0=+s[y0>>2],j0=y8+28|0,f1=+s[j0>>2],y1=U0-f1,D1=ki+Vi,s[dt>>2]=D1,s2=+s[j0>>2],c2=s2+U0,s[y0>>2]=c2,S2=g+4|0,Z2=+s[S2>>2],u5=Z2*y1,q5=+s[g>>2],X2=q5*bi,c5=X2+u5,s[Qi>>2]=c5,y3=+s[g>>2],a6=y3*y1,Y3=+s[S2>>2],r6=Y3*bi,S6=a6-r6,s[j0>>2]=S6,K3=B8+16|0,H6=+s[K3>>2],g9=y8+16|0,n9=+s[g9>>2],Q9=H6-n9,Me=B8+20|0,Ve=+s[Me>>2],Y4=y8+20|0,de=+s[Y4>>2],I6=Ve-de,xe=n9+H6,s[K3>>2]=xe,I8=+s[Y4>>2],Yt=I8+Ve,s[Me>>2]=Yt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*I6,_4=g+16|0,F9=+s[_4>>2],Ft=F9*Q9,u8=Ft+Bt,s[g9>>2]=u8,j8=+s[_4>>2],Nt=j8*I6,F8=+s[at>>2],Xt=F8*Q9,O4=Nt-Xt,s[Y4>>2]=O4,C4=B8+8|0,Ae=+s[C4>>2],T8=y8+8|0,$i=+s[T8>>2],qi=Ae-$i,Hi=B8+12|0,Ei=+s[Hi>>2],X8=y8+12|0,Ci=+s[X8>>2],ei=Ei-Ci,Bi=$i+Ae,s[C4>>2]=Bi,ti=+s[X8>>2],yi=ti+Ei,s[Hi>>2]=yi,li=g+36|0,g7=+s[li>>2],Yi=g7*ei,wi=g+32|0,u7=+s[wi>>2],vi=u7*qi,ci=vi+Yi,s[T8>>2]=ci,h7=+s[wi>>2],zi=h7*ei,Ji=+s[li>>2],Ki=Ji*qi,Wi=zi-Ki,s[X8>>2]=Wi,gi=+s[B8>>2],Zi=+s[y8>>2],ii=gi-Zi,ui=B8+4|0,z8=+s[ui>>2],ri=y8+4|0,d7=+s[ri>>2],ji=z8-d7,f7=Zi+gi,s[B8>>2]=f7,Si=+s[ri>>2],Xi=Si+z8,s[ui>>2]=Xi,Di=g+52|0,e7=+s[Di>>2],_i=e7*ji,ni=g+48|0,xi=+s[ni>>2],t7=xi*ii,hi=t7+_i,s[y8>>2]=hi,J8=+s[ni>>2],Li=J8*ji,x4=+s[Di>>2],D0=x4*ii,E0=Li-D0,s[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(N8=1;;){if(R0=1<>N8,O0=4<>1,b=H0+-8|0,H=O0+1|0,h0=O0<<1,$0=h0|1,m0=O0*3|0,I0=m0+1|0,d0=O0<<2,di=0;;){for(J0=o5(di,N0)|0,T0=a+(J0<<2)|0,m=E+J0|0,M0=a+(m<<2)|0,u0=b+J0|0,P0=a+(u0<<2)|0,d=o,vt=M0,G8=P0;W0=vt+24|0,K0=+s[W0>>2],V0=G8+24|0,q0=+s[V0>>2],Y0=K0-q0,s1=vt+28|0,z0=+s[s1>>2],r1=G8+28|0,L0=+s[r1>>2],o1=z0-L0,d1=q0+K0,s[W0>>2]=d1,u1=+s[r1>>2],p1=u1+z0,s[s1>>2]=p1,h1=d+4|0,A1=+s[h1>>2],c1=A1*o1,a1=+s[d>>2],$1=a1*Y0,X0=$1+c1,s[V0>>2]=X0,B1=+s[d>>2],m1=B1*o1,Q1=+s[h1>>2],C1=Q1*Y0,v1=m1-C1,s[r1>>2]=v1,k1=d+(O0<<2)|0,S1=vt+16|0,L1=+s[S1>>2],M1=G8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=G8+20|0,P1=+s[U1>>2],X1=F1-P1,G1=b1+L1,s[S1>>2]=G1,x1=+s[U1>>2],K1=x1+F1,s[R1>>2]=K1,q1=d+(H<<2)|0,H1=+s[q1>>2],V1=H1*X1,Y1=+s[k1>>2],t2=Y1*_1,e2=t2+V1,s[M1>>2]=e2,O1=+s[k1>>2],h2=O1*X1,Z1=+s[q1>>2],I2=Z1*_1,A2=h2-I2,s[U1>>2]=A2,C2=d+(h0<<2)|0,$2=vt+8|0,W1=+s[$2>>2],f2=G8+8|0,n2=+s[f2>>2],g2=W1-n2,o2=vt+12|0,l2=+s[o2>>2],i2=G8+12|0,a2=+s[i2>>2],m2=l2-a2,r2=n2+W1,s[$2>>2]=r2,k2=+s[i2>>2],D2=k2+l2,s[o2>>2]=D2,y2=d+($0<<2)|0,G2=+s[y2>>2],M2=G2*m2,O2=+s[C2>>2],p2=O2*g2,W2=p2+M2,s[f2>>2]=W2,q2=+s[C2>>2],J2=q2*m2,U2=+s[y2>>2],V2=U2*g2,A5=J2-V2,s[i2>>2]=A5,Y2=d+(m0<<2)|0,N1=+s[vt>>2],t5=+s[G8>>2],T5=N1-t5,i5=vt+4|0,x5=+s[i5>>2],j2=G8+4|0,m5=+s[j2>>2],b5=x5-m5,b2=t5+N1,s[vt>>2]=b2,B5=+s[j2>>2],s5=B5+x5,s[i5>>2]=s5,F2=d+(I0<<2)|0,R2=+s[F2>>2],Q2=R2*b5,y5=+s[Y2>>2],N5=y5*T5,p5=N5+Q2,s[G8>>2]=p5,L5=+s[Y2>>2],M5=L5*b5,z2=+s[F2>>2],E5=z2*T5,$5=M5-E5,s[j2>>2]=$5,h5=d+(d0<<2)|0,Q5=vt+-32|0,T1=G8+-32|0,D5=T1>>>0>>0,!D5;)d=h5,vt=Q5,G8=T1;if(d5=di+1|0,l5=(d5|0)<(R0|0),l5)di=d5;else break}if(d2=N8+1|0,Mi=(d2|0)==(C0|0),Mi)break;N8=d2}if(S0=($|0)>0,S0)$9=0;else return;for(;w5=a+($9<<2)|0,y=$9|30,r5=a+(y<<2)|0,a5=+s[r5>>2],O=$9|14,f5=a+(O<<2)|0,K2=+s[f5>>2],I5=a5-K2,Y=$9|31,n5=a+(Y<<2)|0,R5=+s[n5>>2],c0=$9|15,e5=a+(c0<<2)|0,T2=+s[e5>>2],v5=R5-T2,z5=K2+a5,s[r5>>2]=z5,i3=T2+R5,s[n5>>2]=i3,s[f5>>2]=I5,s[e5>>2]=v5,l0=$9|28,C5=a+(l0<<2)|0,I3=+s[C5>>2],X=$9|12,d3=a+(X<<2)|0,W5=+s[d3>>2],r3=I3-W5,g0=$9|29,a3=a+(g0<<2)|0,G5=+s[a3>>2],n0=$9|13,Z5=a+(n0<<2)|0,x3=+s[Z5>>2],f3=G5-x3,w3=W5+I3,s[C5>>2]=w3,e6=x3+G5,s[a3>>2]=e6,H3=r3*.9238795042037964,X5=f3*.3826834261417389,_3=H3-X5,s[d3>>2]=_3,t3=r3*.3826834261417389,G3=f3*.9238795042037964,V3=G3+t3,s[Z5>>2]=V3,p0=$9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],D=$9|10,u3=a+(D<<2)|0,Q3=+s[u3>>2],J5=g3-Q3,k=$9|27,H5=a+(k<<2)|0,Y5=+s[H5>>2],w=$9|11,S5=a+(w<<2)|0,U5=+s[S5>>2],l6=Y5-U5,n3=Q3+g3,s[c3>>2]=n3,l3=U5+Y5,s[H5>>2]=l3,U3=J5-l6,C6=U3*.7071067690849304,s[u3>>2]=C6,b3=l6+J5,L3=b3*.7071067690849304,s[S5>>2]=L3,_=$9|24,D3=a+(_<<2)|0,A6=+s[D3>>2],Q=$9|8,z3=a+(Q<<2)|0,j5=+s[z3>>2],M3=A6-j5,x=$9|25,h3=a+(x<<2)|0,J3=+s[h3>>2],M=$9|9,d6=a+(M<<2)|0,m3=+s[d6>>2],x6=J3-m3,L6=j5+A6,s[D3>>2]=L6,M6=m3+J3,s[h3>>2]=M6,n6=M3*.3826834261417389,f6=x6*.9238795042037964,b6=n6-f6,N6=x6*.3826834261417389,j6=M3*.9238795042037964,v6=N6+j6,L=$9|22,R3=a+(L<<2)|0,o6=+s[R3>>2],F=$9|6,s6=a+(F<<2)|0,B6=+s[s6>>2],F3=o6-B6,G=$9|7,W3=a+(G<<2)|0,t6=+s[W3>>2],V=$9|23,R6=a+(V<<2)|0,c6=+s[R6>>2],o3=t6-c6,J6=B6+o6,s[R3>>2]=J6,A3=c6+t6,s[R6>>2]=A3,s[s6>>2]=o3,s[W3>>2]=F3,J=$9|4,g6=a+(J<<2)|0,y6=+s[g6>>2],t0=$9|20,$6=a+(t0<<2)|0,D6=+s[$6>>2],G6=y6-D6,Z=$9|5,e9=a+(Z<<2)|0,Q6=+s[e9>>2],A0=$9|21,X6=a+(A0<<2)|0,P3=+s[X6>>2],r9=Q6-P3,V6=D6+y6,s[$6>>2]=V6,o9=P3+Q6,s[X6>>2]=o9,U6=r9*.9238795042037964,Y6=G6*.3826834261417389,F6=U6+Y6,t9=r9*.3826834261417389,_6=G6*.9238795042037964,P6=t9-_6,j=$9|2,O3=a+(j<<2)|0,O6=+s[O3>>2],r0=$9|18,s9=a+(r0<<2)|0,h9=+s[s9>>2],C9=O6-h9,s0=$9|3,B9=a+(s0<<2)|0,y9=+s[B9>>2],K=$9|19,d9=a+(K<<2)|0,f9=+s[d9>>2],V9=y9-f9,w6=h9+O6,s[s9>>2]=w6,q6=f9+y9,s[d9>>2]=q6,a9=V9+C9,Y9=a9*.7071067690849304,Qe=V9-C9,ge=Qe*.7071067690849304,pe=+s[w5>>2],o0=$9|16,z9=a+(o0<<2)|0,re=+s[z9>>2],R9=pe-re,i0=$9|1,w9=a+(i0<<2)|0,K6=+s[w9>>2],e0=$9|17,A9=a+(e0<<2)|0,we=+s[A9>>2],ue=K6-we,D9=re+pe,s[z9>>2]=D9,Re=we+K6,s[A9>>2]=Re,Fe=ue*.3826834261417389,Ge=R9*.9238795042037964,qe=Fe+Ge,r4=ue*.9238795042037964,ve=R9*.3826834261417389,He=r4-ve,J9=He-v6,he=qe-b6,Ue=qe+b6,Ee=He+v6,v4=he+J9,Z9=J9-he,v9=+s[S5>>2],k4=ge-v9,V4=+s[u3>>2],nt=V4-Y9,Ye=V4+Y9,ze=v9+ge,n4=+s[d3>>2],R4=n4-F6,ot=+s[Z5>>2],ne=ot-P6,u4=n4+F6,Ce=ot+P6,T6=R4-ne,Je=ne+R4,O9=+s[f5>>2],Te=O9-o3,h4=+s[e5>>2],oe=h4-F3,d4=o3+O9,f4=F3+h4,ke=Te+k4,o4=Te-k4,Pe=T6+v4,I4=Pe*.7071067690849304,k9=T6-v4,z4=k9*.7071067690849304,fe=I4+ke,s[s6>>2]=fe,S4=ke-I4,s[g6>>2]=S4,Se=Je-Z9,Ie=Se*.7071067690849304,z6=oe-nt,F4=Ie+o4,s[w5>>2]=F4,T4=o4-Ie,s[O3>>2]=T4,st=Je+Z9,me=st*.7071067690849304,mt=oe+nt,Z3=z6+z4,s[B9>>2]=Z3,_9=z6-z4,s[w9>>2]=_9,S9=mt+me,s[W3>>2]=S9,Oe=mt-me,s[e9>>2]=Oe,s4=d4+Ye,d8=d4-Ye,N4=Ue+u4,f8=u4-Ue,D8=s4+N4,s[f5>>2]=D8,m8=s4-N4,s[d3>>2]=m8,Ut=Ce-Ee,Pt=f4-ze,Ot=d8+Ut,s[z3>>2]=Ot,qt=d8-Ut,s[u3>>2]=qt,t8=Ce+Ee,i8=f4+ze,_8=Pt+f8,s[S5>>2]=_8,Ht=Pt-f8,s[d6>>2]=Ht,Vt=i8+t8,s[e5>>2]=Vt,_t=i8-t8,s[Z5>>2]=_t,xt=+s[h3>>2],pt=Re-xt,zt=+s[D3>>2],Jt=D9-zt,r8=zt+D9,n8=xt+Re,Et=Jt+pt,J4=pt-Jt,G4=+s[d9>>2],Lt=+s[H5>>2],x9=G4-Lt,p8=+s[c3>>2],b4=+s[s9>>2],E8=p8-b4,x8=b4+p8,o8=Lt+G4,L8=+s[C5>>2],a4=+s[$6>>2],s8=L8-a4,Mt=+s[a3>>2],At=+s[X6>>2],Ke=Mt-At,U4=a4+L8,$t=At+Mt,Ct=s8-Ke,Rt=Ke+s8,m4=+s[r5>>2],se=+s[R3>>2],lt=m4-se,ct=+s[n5>>2],yt=+s[R6>>2],p4=ct-yt,D4=se+m4,K4=yt+ct,W4=lt+x9,ae=lt-x9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,be=gt*.7071067690849304,Qt=E4+W4,s[R3>>2]=Qt,a8=W4-E4,s[$6>>2]=a8,We=Rt-J4,C3=We*.7071067690849304,Z4=p4-E8,wt=C3+ae,s[z9>>2]=wt,A4=ae-C3,s[s9>>2]=A4,j9=Rt+J4,$4=j9*.7071067690849304,j4=p4+E8,Wt=Z4+be,s[d9>>2]=Wt,C8=Z4-be,s[A9>>2]=C8,A8=j4+$4,s[R6>>2]=A8,$8=j4-$4,s[X6>>2]=$8,Zt=D4+x8,l8=D4-x8,jt=U4+r8,ut=U4-r8,ht=Zt+jt,s[r5>>2]=ht,Ze=Zt-jt,s[C5>>2]=Ze,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[D3>>2]=X4,b9=l8-c8,s[c3>>2]=b9,g8=$t+n8,et=K4+o8,V8=Tt+ut,s[H5>>2]=V8,Z8=Tt-ut,s[h3>>2]=Z8,M8=et+g8,s[n5>>2]=M8,R8=et-g8,s[a3>>2]=R8,l4=$9+32|0,Y8=(l4|0)<($|0),Y8;)$9=l4}function Sy(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0;for(Q1=C,D=t>>1,k=$+(D<<2)|0,V=o+(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,d=M0+D|0,L0=$+(d<<2)|0,m=g+1|0,A1=$+(m<<2)|0,c1=+s[A1>>2],I=d+1|0,w=$+(I<<2)|0,_=+s[w>>2],Q=c1-_,x=+s[n0>>2],M=+s[L0>>2],L=M+x,F=+s[a1>>2],G=L*F,O=a1+4|0,H=+s[O>>2],J=H*Q,t0=J+G,Z=H*L,A0=F*Q,j=Z-A0,r0=B1+-16|0,s0=_+c1,K=s0*.5,o0=x-M,Y=o0*.5,i0=t0+K,s[X0>>2]=i0,e0=K-t0,u0=B1+-8|0,s[u0>>2]=e0,c0=j+Y,$0=X0+4|0,s[$0>>2]=c0,l0=j-Y,X=B1+-4|0,s[X>>2]=l0,m0=$1+8|0,g0=e[m0>>2]|0,E=g0+D|0,I0=$+(E<<2)|0,d0=$1+12|0,p0=e[d0>>2]|0,y=p0+D|0,C0=$+(y<<2)|0,B=E+1|0,b0=$+(B<<2)|0,y0=+s[b0>>2],b=y+1|0,D0=$+(b<<2)|0,E0=+s[D0>>2],Q0=y0-E0,w0=+s[I0>>2],B0=+s[C0>>2],Z0=B0+w0,R0=a1+8|0,v0=+s[R0>>2],N0=Z0*v0,U0=a1+12|0,O0=+s[U0>>2],H0=O0*Q0,S0=H0+N0,J0=O0*Z0,T0=v0*Q0,P0=J0-T0,W0=E0+y0,K0=W0*.5,V0=w0-B0,j0=V0*.5,q0=S0+K0,Y0=X0+8|0,s[Y0>>2]=q0,s1=K0-S0,s[r0>>2]=s1,z0=P0+j0,r1=X0+12|0,s[r1>>2]=z0,o1=P0-j0,d1=B1+-12|0,s[d1>>2]=o1,u1=a1+16|0,p1=$1+16|0,f1=X0+16|0,h1=f1>>>0>>0,h1;)a1=u1,$1=p1,X0=f1,B1=r0}function Lb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=le(1,36)|0,d=t+4|0,m=e[d>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Mb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function Rb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Fb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0;a9=C,w6=t,Y9=w6+48|0;do e[w6>>2]=0,w6=w6+4|0;while((w6|0)<(Y9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,n2=+(x|0),i3=n2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,h3=+z7(l3),N6=h3+-1,R6=~~N6,L=t+32|0,e[L>>2]=R6,r0=+(g|0),l0=r0*.25,D0=l0,O0=D0*.5,q0=+($|0),h1=O0/q0,v1=+tn(+h1),P1=v1*1.4426950216293335,e2=P1+-5.965784072875977,g2=R6+1|0,G2=1<>2]=c5,v5=+($|0),z5=v5+.25,C5=z5*r0,I3=C5,d3=I3*.5,W5=d3/q0,r3=+tn(+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,H3=t+40|0,e[H3>>2]=e6,X5=$<<2,_3=M9(X5)|0,t3=t+16|0,e[t3>>2]=_3,a6=M9(X5)|0,G3=t+20|0,e[G3>>2]=a6,V3=M9(X5)|0,c3=t+24|0,e[c3>>2]=V3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,J5=t+48|0,s[J5>>2]=1,H5=(g|0)<26e3;do if(H5)s[J5>>2]=0;else{if(Y5=(g|0)<38e3,Y5){s[J5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[J5>>2]=1.274999976158142)}while(!1);Y3=q0*2,U5=+(g|0),l6=($|0)>0,b3=l6,t9=0,n9=0;e:for(;;){for(y=b3^1,_6=t9;;){if(D3=_6+1|0,A6=+(D3|0),r6=A6*.08664337545633316,z3=r6+2.7488713472395148,j5=+Yn(+z3),M3=Y3*j5,J3=M3/U5,d6=+z7(J3),m3=~~d6,E=(m3|0)<=(n9|0),e9=E|y,!e9){m=D3,I=m3,P6=_6;break}if(x6=(D3|0)<87,x6)_6=D3;else{h9=n9;break e}}for(L6=1272+(P6<<2)|0,M6=+s[L6>>2],S6=1272+(m<<2)|0,n6=+s[S6>>2],f6=n6-M6,b6=I-n9|0,j6=+(b6|0),v6=f6/j6,R3=n9-I|0,o6=n9-$|0,s6=R3>>>0>o6>>>0,V9=s6?R3:o6,n3=n9-V9|0,G6=M6,C9=n9;B6=G6+100,K3=_3+(C9<<2)|0,s[K3>>2]=B6,F3=G6+v6,W3=C9+1|0,V6=(W3|0)==(n3|0),!V6;)G6=F3,C9=W3;if(U3=(n3|0)<($|0),C6=(m|0)<87,C6)b3=U3,t9=m,n9=n3;else{h9=n3;break}}if(L3=(h9|0)<($|0),L3)for(B9=h9;H6=B9+-1|0,$6=_3+(H6<<2)|0,D6=e[$6>>2]|0,F=_3+(B9<<2)|0,e[F>>2]=D6,G=B9+1|0,r9=(G|0)==($|0),!r9;)B9=G;if(t6=($|0)>0,t6){for(c6=$<<1,o3=(g|0)/(c6|0)&-1,J6=o+120|0,A3=e[J6>>2]|0,g6=o+124|0,y6=o+116|0,T3=o+112|0,U6=1,O3=0,y9=-99;;){Z=o5(o3,O3)|0,A0=+(Z|0),j=A0*.0007399999885819852,s0=j,K=+is(+s0),o0=K*13.100000381469727,Y=o5(Z,Z)|0,h0=+(Y|0),i0=h0*18499999754340024e-24,e0=i0,u0=+is(+e0),c0=u0*2.240000009536743,$0=c0+o0,X=A0*9999999747378752e-20,m0=X,g0=$0+m0,I0=g0,n0=A3+y9|0,d0=(n0|0)<(O3|0);e:do if(d0)for(p0=+s[T3>>2],C0=I0-p0,b0=C0,f9=y9;;){if(y0=o5(f9,o3)|0,E0=+(y0|0),Q0=E0*.0007399999885819852,w0=Q0,B0=+is(+w0),x0=B0*13.100000381469727,Z0=o5(y0,y0)|0,R0=+(Z0|0),v0=R0*18499999754340024e-24,N0=v0,U0=+is(+N0),H0=U0*2.240000009536743,S0=E0*9999999747378752e-20,J0=S0,T0=x0+J0,M0=T0+H0,P0=M0($|0);e:do if(W0)Y6=U6;else for(K0=e[g6>>2]|0,V0=K0+O3|0,F6=U6;;){if(z0=(F6|0)<(V0|0),!z0&&(r1=o5(F6,o3)|0,L0=+(r1|0),o1=L0*.0007399999885819852,d1=o1,u1=+is(+d1),p1=u1*13.100000381469727,f1=o5(r1,r1)|0,A1=+(f1|0),c1=A1*18499999754340024e-24,a1=c1,$1=+is(+a1),X0=$1*2.240000009536743,B1=L0*9999999747378752e-20,m1=B1,Q1=p1+m1,C1=Q1+X0,y1=+s[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,y9=d9}if(t6)for(O=U5*.5,H=e[L>>2]|0,V=H+1|0,J=1<>2]=O1,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=o+36|0,A2=k/q0,C2=A2,$2=o+24|0,W1=+s[$2>>2],f2=o+28|0,c2=+s[f2>>2],o2=Gb(I2,C2,$,W1,c2)|0,l2=t+8|0,e[l2>>2]=o2,i2=M9(12)|0,a2=t+12|0,e[a2>>2]=i2,m2=M9(X5)|0,e[i2>>2]=m2,r2=M9(X5)|0,k2=i2+4|0,e[k2>>2]=r2,D2=M9(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,w=e[B>>2]|0,b=i2+8|0,_=e[b>>2]|0,s9=0;M2=+(s9|0),O2=M2+.5,p2=O2*U5,W2=p2/Y3,q2=+tn(+W2),J2=q2*2.885390043258667,U2=J2+-11.931568145751953,V2=U2,Z2=V2<0,o9=Z2?0:V2,d=o9>=16,g9=d?16:o9,A5=~~g9,N1=+(A5|0),t5=g9-N1,T5=t5,i5=1-T5,x5=A5+1|0,j2=(y2+132|0)+(A5<<2)|0,m5=+s[j2>>2],b5=m5,V5=b5*i5,u5=(y2+132|0)+(x5<<2)|0,B5=+s[u5>>2],s5=B5*t5,F2=s5,R2=F2+V5,Q2=R2,y5=D+(s9<<2)|0,s[y5>>2]=Q2,N5=(y2+200|0)+(A5<<2)|0,p5=+s[N5>>2],L5=p5,q5=L5*i5,z2=(y2+200|0)+(x5<<2)|0,E5=+s[z2>>2],$5=E5*t5,h5=$5,Q5=h5+q5,T1=Q5,D5=w+(s9<<2)|0,s[D5>>2]=T1,d5=(y2+268|0)+(A5<<2)|0,l5=+s[d5>>2],X2=l5,w5=X2*i5,r5=(y2+268|0)+(x5<<2)|0,a5=+s[r5>>2],f5=a5*t5,K2=f5,I5=K2+w5,n5=I5,R5=_+(s9<<2)|0,s[R5>>2]=n5,e5=s9+1|0,Q6=(e5|0)==($|0),!Q6;)s9=e5}function by(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0;if(q0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,J=(w|0)==0,J||E2(w),i0=t+20|0,d0=e[i0>>2]|0,Z0=(d0|0)==0,Z0||E2(d0),T0=t+24|0,M0=e[T0>>2]|0,P0=(M0|0)==0,P0||E2(M0),g=t+8|0,d=e[g>>2]|0,m=(d|0)==0,!m){for(E=d,K0=0;I=E+(K0<<2)|0,y=e[I>>2]|0,B=e[y>>2]|0,E2(B),b=e[g>>2]|0,D=b+(K0<<2)|0,k=e[D>>2]|0,_=k+4|0,Q=e[_>>2]|0,E2(Q),x=e[g>>2]|0,M=x+(K0<<2)|0,L=e[M>>2]|0,F=L+8|0,G=e[F>>2]|0,E2(G),O=e[g>>2]|0,H=O+(K0<<2)|0,V=e[H>>2]|0,t0=V+12|0,Z=e[t0>>2]|0,E2(Z),A0=e[g>>2]|0,j=A0+(K0<<2)|0,r0=e[j>>2]|0,s0=r0+16|0,K=e[s0>>2]|0,E2(K),o0=e[g>>2]|0,Y=o0+(K0<<2)|0,h0=e[Y>>2]|0,e0=h0+20|0,u0=e[e0>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(K0<<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+(K0<<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+(K0<<2)|0,D0=e[y0>>2]|0,E2(D0),E0=K0+1|0,W0=(E0|0)==17,!W0;)o=e[g>>2]|0,E=o,K0=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,N0=v0+4|0,U0=e[N0>>2]|0,E2(U0),O0=e[w0>>2]|0,H0=O0+8|0,S0=e[H0>>2]|0,E2(S0),J0=e[w0>>2]|0,E2(J0)),V0=t,Y0=V0+52|0;do e[V0>>2]=0,V0=V0+4|0;while((V0|0)<(Y0|0))}}function Dy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0,p0=0,C0=0,b0=0,y0=0;if(y0=C,m=e[t>>2]|0,I=m<<2,d=I,M=C,C=C+((1*d|0)+15&-16)|0,j=t+24|0,u0=e[j>>2]|0,xy(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(d0=0;$0=o+(d0<<2)|0,l0=+s[$0>>2],X=a+(d0<<2)|0,m0=+s[X>>2],E=l0-m0,y=M+(d0<<2)|0,s[y>>2]=E,B=d0+1|0,I0=(B|0)==(m|0),!I0;)d0=B;if(b=e[j>>2]|0,D=t+4|0,k=e[D>>2]|0,w=k+128|0,_=e[w>>2]|0,xy(m,b,M,a,0,_),c0)p0=0;else{C=y0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],F=M+(p0<<2)|0,G=+s[F>>2],O=L-G,s[F>>2]=O,H=p0+1|0,n0=(H|0)==(m|0),!n0;)p0=H;if(!c0){C=y0;return}for(Q=e[D>>2]|0,C0=0;V=a+(C0<<2)|0,J=+s[V>>2],t0=J,Z=t0+.5,A0=~~Z,r0=(A0|0)>39,$=r0?39:A0,s0=($|0)<0,g=s0?0:$,K=M+(C0<<2)|0,o0=+s[K>>2],Y=(Q+336|0)+(g<<2)|0,h0=+s[Y>>2],i0=h0+o0,s[V>>2]=i0,e0=C0+1|0,g0=(e0|0)==(m|0),!g0;)C0=e0;C=y0}function _y(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,P1=C,C=C+((1*I|0)+15&-16)|0,e2=t+4|0,n2=e[e2>>2]|0,y2=n2+4|0,A5=+s[y2>>2],u5=A5+g,H=(h1|0)>0,H)for($5=0;Y=P1+($5<<2)|0,s[Y>>2]=-9999,I0=$5+1|0,B0=(I0|0)<(h1|0),B0;)$5=I0;if(T0=n2+8|0,r1=+s[T0>>2],d1=u50,u1){for(p1=t+16|0,f1=e[p1>>2]|0,d5=0;A1=f1+(d5<<2)|0,c1=+s[A1>>2],a1=c1+q5,$1=a+(d5<<2)|0,s[$1>>2]=a1,X0=d5+1|0,z2=(X0|0)==(G|0),!z2;)d5=X0;if(B1=t+8|0,m1=e[B1>>2]|0,Q1=n2+496|0,C1=+s[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=o+(h5<<2)|0,R1=+s[_1>>2],F1=S1+(h5<<2)|0,U1=e[F1>>2]|0,D5=h5,a5=R1;e:for(;;)for(Q5=D5;;){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,K1=(x1|0)==(U1|0),!K1){b=1,k=D1,T1=Q5,f5=a5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],V1=H1>a5,V1){D5=D1,a5=H1;continue e}else Q5=D1}if(Y1=f5+6,t2=a+(T1<<2)|0,s2=+s[t2>>2],O1=Y1>s2,O1&&(h2=e[L1>>2]|0,Z1=U1>>h2,I2=(Z1|0)>16,m=I2?16:Z1,A2=(m|0)<0,d=A2?0:m,C2=m1+(d<<2)|0,$2=e[C2>>2]|0,W1=e[M1>>2]|0,f2=y1+f5,c2=f2,g2=c2+-30,o2=g2*.10000000149011612,l2=~~o2,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=+s[S2>>2],M2=~~G2,O2=+s[D2>>2],p2=~~O2,W2=(p2|0)<(M2|0),W2))for(q2=S1+(T1<<2)|0,J2=e[q2>>2]|0,U2=e[b1>>2]|0,V2=J2-U2|0,Z2=+(V2|0),Y2=W1>>1,N1=+(Y2|0),t5=O2+-16,T5=+(W1|0),i5=t5*T5,x5=i5-N1,j2=x5+Z2,m5=~~j2,E5=p2,z5=m5;b5=(z5|0)>0,b5&&(F=E5+2|0,V5=D2+(F<<2)|0,b2=+s[V5>>2],B5=b2+f5,s5=P1+(z5<<2)|0,F2=+s[s5>>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{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(Q=t+36|0,M=Q),L5=e[M>>2]|0,Ub(P1,L5,h1),V=e[t>>2]|0,J=(V|0)>1;e:do if(J)for(t0=t+20|0,Z=t+28|0,A0=e[t0>>2]|0,j=e[A0>>2]|0,r0=L5>>1,s0=j-r0|0,K=e[Z>>2]|0,o0=s0-K|0,h0=e[e2>>2]|0,i0=h0+32|0,X=1,n0=j,X2=0,T2=o0;;){c0=P1+(T2<<2)|0,$0=+s[c0>>2],l0=A0+(X<<2)|0,m0=e[l0>>2]|0,g0=m0+n0|0,d0=g0>>1,p0=d0-K|0,C0=+s[i0>>2],b0=$0>C0,K2=b0?C0:$0,y0=(T2|0)<(p0|0);t:do if(y0)for(E=T2,n5=K2;;){for(D0=n5==-9999,y=E;;){if(E0=y+1|0,Q0=P1+(E0<<2)|0,w0=+s[Q0>>2],x0=w0>-9999,x0){if(Z0=w0=(V|0),O0=(n0|0)>(N0|0),R5=U0|O0;t:do if(R5)d2=X2;else for(w5=X2;;){if(H0=a+(w5<<2)|0,S0=+s[H0>>2],J0=S0>2]=I5),M0=w5+1|0,P0=(M0|0)<(V|0),!P0){d2=M0;break t}if(_=A0+(M0<<2)|0,L=e[_>>2]|0,W0=(L|0)>(N0|0),W0){d2=M0;break}else w5=M0}while(!1);if(e0=d2+1|0,u0=(e0|0)<(V|0),!u0){l5=d2;break e}w=A0+(d2<<2)|0,x=e[w>>2]|0,X=e0,n0=x,X2=d2,T2=v5}else l5=0;while(!1);if(K0=e[O>>2]|0,V0=K0+-1|0,j0=P1+(V0<<2)|0,q0=+s[j0>>2],Y0=(l5|0)<(V|0),Y0)r5=l5;else{C=C5;return}for(;s1=a+(r5<<2)|0,z0=+s[s1>>2],L0=z0>2]=q0),o1=r5+1|0,M5=(o1|0)==(V|0),!M5;)r5=o1;C=C5}function ol(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,F=e[y>>2]|0,s0=(F+12|0)+($<<2)|0,X=+s[s0>>2],C0=(E|0)>0,!!C0)for(b0=t+48|0,y0=+s[b0>>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,w=y0,_=w*.005,Q=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=b+(B0<<2)|0,G=+s[L>>2],O=G+M,H=+s[D>>2],V=O>H,x0=V?H:O,J=a+(B0<<2)|0,t0=+s[J>>2],Z=t0+X,A0=x0>2]=I,k&&(r0=m+(B0<<2)|0,K=+s[r0>>2],o0=x0-K,Y=o0>-17.200000762939453,h0=o0+17.200000762939453,i0=h0,Y?(e0=_*i0,u0=1-e0,c0=u0,$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=+s[I0>>2],d0=n0*Q0,s[I0>>2]=d0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Tb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0;return H=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,_=e[w>>2]|0,Q=o+40|0,x=e[Q>>2]|0,M=_+(x<<2)|0,L=e[M>>2]|0,F=(L|0)/2&-1,G=+(F|0),d=g+8|0,m=e[d>>2]|0,I=+(m|0),E=G/I,y=_+2936|0,B=+s[y>>2],b=B*E,D=b+t,k=D<-9999,a=k?-9999:D,+a}function Nb(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0;if(Ve=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,v6=e[d6>>2]|0,Z5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,D0=(o+252|0)+(t<<2)|0,O0=e[D0>>2]|0,q0=1624+(O0<<3)|0,h1=+l1[q0>>3],v1=(o+312|0)+(t<<2)|0,P1=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,x=e2,b2=C,C=C+((1*x|0)+15&-16)|0,M=e2,M5=C,C=C+((1*M|0)+15&-16)|0,d2=$+1156|0,T2=(c0|0)>1e3,He=T2?1696:1624,qe=He+(P1<<3)|0,Ge=+l1[qe>>3],G5=o5(e2,Z5)|0,L=G5,x3=C,C=C+((1*L|0)+15&-16)|0,e[n2>>2]=x3,k=G5,f3=C,C=C+((1*k|0)+15&-16)|0,e[y2>>2]=f3,w=G5,w3=C,C=C+((1*w|0)+15&-16)|0,e[Y2>>2]=w3,_=G5,H3=C,C=C+((1*_|0)+15&-16)|0,e[b2>>2]=H3,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,V3=w3+(Z5<<2)|0,c3=Y2+4|0,e[c3>>2]=V3,g3=H3+(Z5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,C9=(E|0)==2,!C9))for(S5=2;G=e[n2>>2]|0,V=e[y2>>2]|0,J=e[Y2>>2]|0,t0=e[b2>>2]|0,Y5=o5(S5,Z5)|0,Y3=G+(Y5<<2)|0,U5=n2+(S5<<2)|0,e[U5>>2]=Y3,l6=V+(Y5<<2)|0,n3=y2+(S5<<2)|0,e[n3>>2]=l6,l3=J+(Y5<<2)|0,U3=Y2+(S5<<2)|0,e[U3>>2]=l3,b3=t0+(Y5<<2)|0,L3=b2+(S5<<2)|0,e[L3>>2]=b3,D3=S5+1|0,n9=(D3|0)==(E|0),!n9;)S5=D3;if(J5=e[d2>>2]|0,H5=(c0|0)>0,H5)for(A6=e[b2>>2]|0,r6=(E|0)>0,z3=c0^-1,j5=Z5^-1,q6=0,Q9=z3;;){if(J3=(Q9|0)>(j5|0),r4=J3?Q9:j5,m3=r4^-1,x6=c0-q6|0,L6=(Z5|0)>(x6|0),y=L6?x6:Z5,ce(M5|0,m|0,e2|0)|0,g4(A6|0,0,G5|0)|0,r6)for(M6=(y|0)>0,S6=l0-q6|0,A9=0;;){if(R3=d+(A9<<2)|0,o6=e[R3>>2]|0,s6=o6+(q6<<2)|0,B6=M5+(A9<<2)|0,K3=e[B6>>2]|0,F3=(K3|0)==0,F3){if(M6)for(R6=Y2+(A9<<2)|0,c6=e[R6>>2]|0,J6=n2+(A9<<2)|0,A3=e[J6>>2]|0,g6=y2+(A9<<2)|0,y6=e[g6>>2]|0,T3=b2+(A9<<2)|0,H6=e[T3>>2]|0,w9=0;P0=c6+(w9<<2)|0,s[P0>>2]=1000000013351432e-25,W0=A3+(w9<<2)|0,s[W0>>2]=0,K0=y6+(w9<<2)|0,s[K0>>2]=0,V0=H6+(w9<<2)|0,e[V0>>2]=0,Y=w9+q6|0,j0=o6+(Y<<2)|0,e[j0>>2]=0,Y0=w9+1|0,O6=(Y0|0)==(m3|0),!O6;)w9=Y0}else{if(W3=Y2+(A9<<2)|0,t6=e[W3>>2]|0,M6){for(re=0;h0=re+q6|0,$6=o6+(h0<<2)|0,D6=e[$6>>2]|0,G6=1768+(D6<<2)|0,e9=e[G6>>2]|0,X6=t6+(re<<2)|0,e[X6>>2]=e9,P3=re+1|0,_6=(P3|0)==(m3|0),!_6;)re=P3;if(r9=g+(A9<<2)|0,V6=e[r9>>2]|0,o9=b2+(A9<<2)|0,g9=e[o9>>2]|0,M6){for(z9=0;U6=(z9|0)>=(S6|0),u0=U6?Ge:h1,Y6=u0,i0=z9+q6|0,F6=V6+(i0<<2)|0,t9=+s[F6>>2],y9=+rr(+t9),X=t6+(z9<<2)|0,m0=+s[X>>2],g0=y9/m0,I0=g9+(z9<<2)|0,D9=!(g0>2]=B,n0=z9+1|0,P6=(n0|0)==(y|0),!P6;)z9=n0;if(M6)for(d0=n2+(A9<<2)|0,p0=e[d0>>2]|0,C0=y2+(A9<<2)|0,b0=e[C0>>2]|0,R9=0;;)if(y0=R9+q6|0,E0=V6+(y0<<2)|0,Q0=+s[E0>>2],w0=Q0*Q0,B0=p0+(R9<<2)|0,s[B0>>2]=w0,x0=b0+(R9<<2)|0,s[x0>>2]=w0,Z0=+s[E0>>2],R0=Z0<0,R0&&(v0=+s[B0>>2],N0=-v0,s[B0>>2]=N0),U0=t6+(R9<<2)|0,H0=+s[U0>>2],S0=H0*H0,s[U0>>2]=S0,J0=R9+1|0,O3=(J0|0)==(m3|0),O3){O=C0,M0=p0;break}else R9=J0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,F=n2+(A9<<2)|0,Z=e[F>>2]|0,K=y2+(A9<<2)|0,O=K,M0=Z),T0=e[O>>2]|0,Re=e[$0>>2]|0,+Ly(Re,l0,M0,T0,t6,0,q6,y,s6)}if(s1=A9+1|0,s9=(s1|0)==(E|0),s9)break;A9=s1}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,ve=0;;){if(z0=($+1160|0)+(ve<<2)|0,r1=e[z0>>2]|0,L0=($+2184|0)+(ve<<2)|0,o1=e[L0>>2]|0,d1=d+(r1<<2)|0,u1=e[d1>>2]|0,p1=u1+(q6<<2)|0,f1=d+(o1<<2)|0,A1=e[f1>>2]|0,c1=n2+(r1<<2)|0,a1=e[c1>>2]|0,$1=n2+(o1<<2)|0,X0=e[$1>>2]|0,B1=y2+(r1<<2)|0,m1=e[B1>>2]|0,Q1=y2+(o1<<2)|0,C1=e[Q1>>2]|0,y1=Y2+(r1<<2)|0,k1=e[y1>>2]|0,S1=Y2+(o1<<2)|0,L1=e[S1>>2]|0,M1=b2+(r1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=M5+(r1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,X1=M5+(o1<<2)|0,D1?(G1=e[X1>>2]|0,x1=(G1|0)==0,x1?X2=y3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[X1>>2]=1,e[F1>>2]=1,b6)for(K6=0;;){K1=(K6|0)<(N6|0);do if(K1){if(q1=b1+(K6<<2)|0,H1=e[q1>>2]|0,V1=(H1|0)==0,Y1=R1+(K6<<2)|0,V1&&(t2=e[Y1>>2]|0,s2=(t2|0)==0,s2)){i5=(K6|0)<(j6|0);do if(i5)x5=X0+(K6<<2)|0,j2=+s[x5>>2],m5=a1+(K6<<2)|0,b5=+s[m5>>2],V5=b5+j2,s[m5>>2]=V5,f9=+rr(+V5),u5=m1+(K6<<2)|0,s[u5>>2]=f9,H=x5;else if(B5=a1+(K6<<2)|0,s5=+s[B5>>2],F2=X0+(K6<<2)|0,R2=+s[F2>>2],Q2=R2+s5,y5=Q2<0,B9=+rr(+s5),d9=+rr(+R2),N5=d9+B9,p5=m1+(K6<<2)|0,s[p5>>2]=N5,y5){L5=-N5,s[B5>>2]=L5,H=F2;break}else{s[B5>>2]=N5,H=F2;break}while(!1);q5=C1+(K6<<2)|0,s[q5>>2]=0,s[H>>2]=0,e[Y1>>2]=1,o0=K6+q6|0,z2=A1+(o0<<2)|0,e[z2>>2]=0;break}O1=a1+(K6<<2)|0,h2=+s[O1>>2],V9=+rr(+h2),Z1=X0+(K6<<2)|0,I2=+s[Z1>>2],w6=+rr(+I2),A2=w6+V9,s[O1>>2]=A2,C2=m1+(K6<<2)|0,$2=+s[C2>>2],W1=C1+(K6<<2)|0,f2=+s[W1>>2],c2=f2+$2,s[C2>>2]=c2,e[Y1>>2]=1,e[q1>>2]=1,e0=K6+q6|0,g2=u1+(e0<<2)|0,o2=e[g2>>2]|0,l2=A1+(e0<<2)|0,i2=e[l2>>2]|0,Qe=(o2|0)>-1,we=0-o2|0,a2=Qe?o2:we,ge=(i2|0)>-1,ue=0-i2|0,m2=ge?i2:ue,r2=(a2|0)>(m2|0),r2?(k2=(o2|0)>0,D2=o2-i2|0,S2=i2-o2|0,G2=k2?D2:S2,e[l2>>2]=G2,j=e[g2>>2]|0,q2=j,V2=G2):(M2=(i2|0)>0,O2=o2-i2|0,p2=i2-o2|0,W2=M2?O2:p2,e[l2>>2]=W2,e[g2>>2]=i2,A0=e[l2>>2]|0,q2=i2,V2=A0),pe=(q2|0)>-1,Me=0-q2|0,J2=pe?q2:Me,U2=J2<<1,Z2=(V2|0)<(U2|0),Z2||(N1=0-V2|0,e[l2>>2]=N1,t5=e[g2>>2]|0,T5=0-t5|0,e[g2>>2]=T5)}while(!1);if(E5=k1+(K6<<2)|0,$5=+s[E5>>2],h5=L1+(K6<<2)|0,Q5=+s[h5>>2],T1=Q5+$5,s[h5>>2]=T1,s[E5>>2]=T1,D5=K6+1|0,h9=(D5|0)==(m3|0),h9)break;K6=D5}Fe=e[$0>>2]|0,+Ly(Fe,l0,a1,m1,k1,b1,q6,y,p1),r0=e[d2>>2]|0,X2=r0}if(d5=ve+1|0,l5=(d5|0)<(X2|0),l5)y3=X2,ve=d5;else{a3=X2;break}}else a3=n6;if(w5=q6+Z5|0,r5=(c0|0)>(w5|0),Y9=Q9+Z5|0,r5)q6=w5,Q9=Y9;else{M3=a3;break}}else M3=J5;if(h3=(M3|0)>0,h3)r3=M3,a9=0;else{C=Ve;return}for(;a5=($+1160|0)+(a9<<2)|0,f5=e[a5>>2]|0,K2=m+(f5<<2)|0,I5=e[K2>>2]|0,n5=(I5|0)==0,R5=($+2184|0)+(a9<<2)|0,n5?(e5=e[R5>>2]|0,c5=m+(e5<<2)|0,v5=e[c5>>2]|0,z5=(v5|0)==0,z5?W5=r3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[K2>>2]=1,i3=e[R5>>2]|0,C5=m+(i3<<2)|0,e[C5>>2]=1,s0=e[d2>>2]|0,W5=s0),I3=a9+1|0,d3=(I3|0)<(W5|0),d3;)r3=W5,a9=I3;C=Ve}function Gb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0;for(et=C,C=C+32480|0,Z3=et+32256|0,b9=et+1792|0,_9=et,L=a<<2,D=L,F=C,C=C+((1*D|0)+15&-16)|0,o2=M9(68)|0,g4(b9|0,0,30464)|0,M3=$>0,ge=$<0,x9=0;;){for(h4=x9<<2,a4=0;s5=a4+h4|0,E5=(s5|0)<88,E5?(r5=1272+(s5<<2)|0,z5=+s[r5>>2],j9=z5):j9=-30,x3=s5+1|0,c3=(x3|0)<88,c3?(U6=1272+(x3<<2)|0,Y6=+s[U6>>2],t9=j9>Y6,t9?$4=Y6:$4=j9):(g9=j9>-30,g9?$4=-30:$4=j9),_6=s5+2|0,P6=(_6|0)<88,P6?(O6=1272+(_6<<2)|0,s9=+s[O6>>2],h9=$4>s9,h9?F9=s9:F9=$4):(O3=$4>-30,O3?F9=-30:F9=$4),n9=s5+3|0,C9=(n9|0)<88,C9?(d9=1272+(n9<<2)|0,f9=+s[d9>>2],V9=F9>f9,V9?j4=f9:j4=F9):(B9=F9>-30,B9?j4=-30:j4=F9),w6=Z3+(a4<<2)|0,s[w6>>2]=j4,q6=a4+1|0,Ot=(q6|0)==56,!Ot;)a4=q6;if(fe=(b9+(x9*1792|0)|0)+448|0,G=2792+(x9*1344|0)|0,ce(fe|0,G|0,224)|0,K=(b9+(x9*1792|0)|0)+672|0,m0=(2792+(x9*1344|0)|0)+224|0,ce(K|0,m0|0,224)|0,Q0=(b9+(x9*1792|0)|0)+896|0,S0=(2792+(x9*1344|0)|0)+448|0,ce(Q0|0,S0|0,224)|0,s1=(b9+(x9*1792|0)|0)+1120|0,c1=(2792+(x9*1344|0)|0)+672|0,ce(s1|0,c1|0,224)|0,S1=(b9+(x9*1792|0)|0)+1344|0,G1=(2792+(x9*1344|0)|0)+896|0,ce(S1|0,G1|0,224)|0,h2=(b9+(x9*1792|0)|0)+1568|0,l2=(2792+(x9*1344|0)|0)+1120|0,ce(h2|0,l2|0,224)|0,O2=b9+(x9*1792|0)|0,ce(O2|0,G|0,224)|0,t5=(b9+(x9*1792|0)|0)+224|0,ce(t5|0,G|0,224)|0,M3)for(At=0;;){if(ge)for(Bt=0;pe=16-Bt|0,x8=(pe|0)>-1,$8=0-pe|0,z9=x8?pe:$8,re=+(z9|0),R9=re*g,w9=R9+$,K6=w9<0,I=K6?0:w9,A9=I>0,d=A9?0:I,we=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Me=+s[we>>2],ue=Me+d,s[we>>2]=ue,Re=Bt+1|0,Yt=(Re|0)==56,!Yt;)Bt=Re;else for(ct=0;h3=16-ct|0,o8=(h3|0)>-1,Zt=0-h3|0,N6=o8?h3:Zt,R6=+(N6|0),G6=R6*g,F6=G6+$,y9=F6<0,E=y9?0:F6,a9=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[a9>>2],Q9=Y9+E,s[a9>>2]=Q9,Qe=ct+1|0,Vt=(Qe|0)==56,!Vt;)ct=Qe;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ge)for(yt=0;r4=16-yt|0,L8=(r4|0)>-1,l8=0-r4|0,ve=L8?r4:l8,He=+(ve|0),J9=He*g,Ve=J9+$,he=Ve>0,m=he?0:Ve,Ee=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(yt<<2)|0,v4=+s[Ee>>2],Z9=v4+m,s[Ee>>2]=Z9,v9=yt+1|0,t8=(v9|0)==56,!t8;)yt=v9;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,V4=E8?k4:A8,nt=+(V4|0),Ye=nt*g,Y4=Ye+$,ze=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[ze>>2],ot=R4+Y4,s[ze>>2]=ot,ne=lt+1|0,qt=(ne|0)==56,!qt;)lt=ne;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Fe=t+(x9<<2)|0,Ge=+s[Fe>>2],qe=Ge,Ke=0;;){for(Ce=(Ke|0)<2,T6=+(Ke|0),k=T6*10,w=70-k,Je=Ce?50:w,O9=Je+qe,de=O9,Et=0;Te=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(Et<<2)|0,oe=+s[Te>>2],d4=oe+de,s[Te>>2]=d4,f4=Et+1|0,Oe=(f4|0)==56,!Oe;)Et=f4;for(ke=_9+(Ke*224|0)|0,ce(ke|0,Z3|0,224)|0,o4=+(Ke|0),Pe=o4*10,I4=70-Pe,Lt=0;;)if(k9=(_9+(Ke*224|0)|0)+(Lt<<2)|0,I6=+s[k9>>2],z4=I4+I6,s[k9>>2]=z4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;Se=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(at<<2)|0,Ie=+s[Se>>2],z6=(_9+(Ke*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=Ie>F4,T4&&(s[z6>>2]=Ie),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(me=Ke+1|0,_8=(me|0)==8,_8){U4=1;break}else Ke=me}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(_9+(xe*224|0)|0)+(G4<<2)|0,O=+s[mt>>2],H=(_9+(U4*224|0)|0)+(G4<<2)|0,V=+s[H>>2],J=O>2]=O),t0=G4+1|0,d8=(t0|0)==56,d8){J4=0;break}else G4=t0;for(;Z=(_9+(U4*224|0)|0)+(J4<<2)|0,A0=+s[Z>>2],j=((b9+(x9*1792|0)|0)+(U4*224|0)|0)+(J4<<2)|0,r0=+s[j>>2],s0=A0>2]=A0),o0=J4+1|0,s4=(o0|0)==56,!s4;)J4=o0;if(Y=U4+1|0,Ht=(Y|0)==8,Ht)break;U4=Y}if(h0=x9+1|0,xt=(h0|0)==17,xt)break;x9=h0}for(D9=o,Ue=(a|0)>0,n4=a^-1,b4=0;;){for(i0=M9(32)|0,e0=o2+(b4<<2)|0,e[e0>>2]=i0,u0=+(b4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,X=+Yn(+l0),g0=X/D9,I0=+sA(+g0),n0=~~I0,d0=+(n0|0),p0=d0*o,C0=p0+1,b0=C0,y0=+tn(+b0),D0=y0*2.885390043258667,E0=D0+-11.931568145751953,w0=+wC(+E0),B0=~~w0,x0=n0+1|0,Z0=+(x0|0),R0=Z0*o,v0=R0,N0=+tn(+v0),U0=N0*2.885390043258667,O0=U0+-11.931568145751953,H0=+sA(+O0),J0=~~H0,T0=(B0|0)>(b4|0),p8=T0?b4:B0,M0=(p8|0)<0,wt=M0?0:p8,P0=(J0|0)>16,y=P0?16:J0,W0=(wt|0)>(y|0),K0=b4+1|0,V0=(K0|0)<17,j0=c0+3.9657840728759766,A4=0;;){if(q0=M9(232)|0,Y0=i0+(A4<<2)|0,e[Y0>>2]=q0,Ue)for($t=0;z0=F+($t<<2)|0,s[z0>>2]=999,r1=$t+1|0,S9=(r1|0)==(a|0),!S9;)$t=r1;if(!W0)for(p4=wt;;){for(L0=+(p4|0),o1=L0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),h1=f1*.125,A1=h1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,X0=+Yn(+$1),B1=X0/D9,m1=~~B1,Q1=A1+4.028284072875977,C1=Q1*.6931470036506653,y1=+Yn(+C1),v1=y1/D9,k1=v1+1,L1=~~k1,M1=(m1|0)<0,B=M1?0:m1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(D4|0),We=_1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(We|0)<(Wt|0),D1=(We|0)<(a|0),jt=U1&D1,jt)for(P1=((b9+(p4*1792|0)|0)+(A4*224|0)|0)+(Ct<<2)|0,X1=+s[P1>>2],x1=(D4|0)<(a|0),K1=x1?D4:a,q1=K1^-1,H1=(m1|0)>0,x=m1^-1,V1=H1?x:-1,Y1=(V1|0)<(q1|0),Ze=Y1?q1:V1,t2=Ze^-1,s2=(L1|0)>0,M=L1^-1,e2=s2?M:-1,O1=(e2|0)<(n4|0),c8=O1?n4:e2,Z1=c8-Ze|0,I2=Ze+a|0,A2=I2^-1,C2=Z1>>>0>A2>>>0,Tt=C2?Z1:A2,$2=t2-Tt|0,ae=We;;)if(W1=F+(ae<<2)|0,f2=+s[W1>>2],c2=f2>X1,c2&&(s[W1>>2]=X1),n2=ae+1|0,pt=(n2|0)==($2|0),pt){K4=$2;break}else ae=n2;else K4=We;if(g2=Ct+1|0,zt=(g2|0)==56,zt){W4=K4;break}else Ct=g2,D4=K4}if(d1=(W4|0)<(a|0),d1)for(u1=((b9+(p4*1792|0)|0)+(A4*224|0)|0)+220|0,p1=+s[u1>>2],P4=W4;i2=F+(P4<<2)|0,a2=+s[i2>>2],m2=a2>p1,m2&&(s[i2>>2]=p1),r2=P4+1|0,Jt=(r2|0)==(a|0),!Jt;)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),J2=q2*.125,U2=J2+c0,V2=U2+3.9032840728759766,Z2=V2*.6931470036506653,A5=+Yn(+Z2),Y2=A5/D9,N1=~~Y2,T5=U2+4.028284072875977,i5=T5*.6931470036506653,x5=+Yn(+i5),j2=x5/D9,m5=j2+1,b5=~~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=(b5|0)<0,n8=B5?0:b5,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=((b9+(K0*1792|0)|0)+(A4*224|0)|0)+(Rt<<2)|0,N5=+s[y5>>2],p5=(E4|0)<(a|0),L5=p5?E4:a,q5=L5^-1,M5=(N1|0)>0,_=N1^-1,z2=M5?_:-1,$5=(z2|0)<(q5|0),ht=$5?q5:z2,h5=ht^-1,Q5=(b5|0)>0,Q=b5^-1,T1=Q5?Q:-1,D5=(T1|0)<(n4|0),Ft=D5?n4: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,be=Z4;;)if(a5=F+(be<<2)|0,f5=+s[a5>>2],K2=f5>N5,K2&&(s[a5>>2]=N5),I5=be+1|0,D8=(I5|0)==(w5|0),D8){gt=w5;break}else be=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=((b9+(K0*1792|0)|0)+(A4*224|0)|0)+220|0,W2=+s[p2>>2],Qt=_4;R5=F+(Qt<<2)|0,e5=+s[R5>>2],c5=e5>W2,c5&&(s[R5>>2]=W2),T2=Qt+1|0,I8=(T2|0)==(a|0),!I8;)Qt=T2}for(S2=i0+(A4<<2)|0,y2=i0+(A4<<2)|0,G2=i0+(A4<<2)|0,m4=0;;){I3=+(m4|0),d3=I3*.125,W5=j0+d3,r3=W5*.6931470036506653,a3=+Yn(+r3),y3=a3/D9,G5=~~y3,Z5=(G5|0)<0;do if(Z5)f3=m4+2|0,w3=e[S2>>2]|0,e6=w3+(f3<<2)|0,s[e6>>2]=-999;else if(H3=(G5|0)<(a|0),H3){a6=F+(G5<<2)|0,G3=e[a6>>2]|0,V3=m4+2|0,g3=e[y2>>2]|0,u3=g3+(V3<<2)|0,e[u3>>2]=G3;break}else{X5=m4+2|0,_3=e[G2>>2]|0,t3=_3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=q0+8|0,i3=+s[v5>>2],C5=i3>-200;do if(C5)se=0;else if(J5=q0+12|0,H5=+s[J5>>2],Y5=H5>-200,Y5)se=1;else if(D3=q0+16|0,A6=+s[D3>>2],r6=A6>-200,r6)se=2;else if(z3=q0+20|0,j5=+s[z3>>2],J3=j5>-200,J3)se=3;else if(d6=q0+24|0,m3=+s[d6>>2],x6=m3>-200,x6)se=4;else if(L6=q0+28|0,M6=+s[L6>>2],S6=M6>-200,S6)se=5;else if(n6=q0+32|0,f6=+s[n6>>2],b6=f6>-200,b6)se=6;else if(j6=q0+36|0,v6=+s[j6>>2],R3=v6>-200,R3)se=7;else if(o6=q0+40|0,s6=+s[o6>>2],B6=s6>-200,B6)se=8;else if(K3=q0+44|0,F3=+s[K3>>2],W3=F3>-200,W3)se=9;else if(t6=q0+48|0,c6=+s[t6>>2],o3=c6>-200,o3)se=10;else if(J6=q0+52|0,A3=+s[J6>>2],g6=A3>-200,g6)se=11;else if(y6=q0+56|0,T3=+s[y6>>2],H6=T3>-200,H6)se=12;else if($6=q0+60|0,D6=+s[$6>>2],e9=D6>-200,e9)se=13;else{if(Q6=q0+64|0,X6=+s[Q6>>2],P3=X6>-200,P3){se=14;break}if(r9=q0+68|0,V6=+s[r9>>2],o9=V6>-200,o9){se=15;break}se=16}while(!1);for(s[q0>>2]=se,Kt=55;;){if(S5=Kt+2|0,Y3=q0+(S5<<2)|0,U5=+s[Y3>>2],l6=U5>-200,l6){s8=Kt;break}if(l3=Kt+-1|0,U3=(l3|0)>17,U3)Kt=l3;else{s8=l3;break}}if(C6=+(s8|0),b3=q0+4|0,s[b3>>2]=C6,L3=A4+1|0,Ut=(L3|0)==8,Ut)break;A4=L3}if(Pt=(K0|0)==17,Pt)break;b4=K0}return C=et,o2|0}function xy(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0;if(Fe=C,k=t<<2,m=k,w=C,C=C+((1*m|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,S5=+s[a>>2],A6=S5+g,M6=A6<1,ue=M6?1:A6,B6=ue*ue,_=B6*.5,t0=_*ue,s[w>>2]=_,s[$2>>2]=_,s[e5>>2]=0,s[a3>>2]=t0,s[t3>>2]=0,e0=(t|0)>1,e0)for(O3=1,w6=_,q6=_,a9=0,Y9=0,Q9=t0,Qe=1;d1=a+(O3<<2)|0,m1=+s[d1>>2],R1=m1+g,V1=R1<1,D9=V1?1:R1,W1=D9*D9,k2=W1+w6,U2=W1*Qe,m5=U2+q6,N5=U2*Qe,D5=N5+a9,K2=W1*D9,I5=K2+Q9,n5=U2*D9,R5=n5+Y9,c5=w+(O3<<2)|0,s[c5>>2]=k2,T2=$2+(O3<<2)|0,s[T2>>2]=m5,v5=e5+(O3<<2)|0,s[v5>>2]=D5,z5=a3+(O3<<2)|0,s[z5>>2]=I5,i3=t3+(O3<<2)|0,s[i3>>2]=R5,C5=O3+1|0,I3=Qe+1,P6=(C5|0)==(t|0),!P6;)O3=C5,w6=k2,q6=m5,a9=D5,Y9=R5,Q9=I5,Qe=I3;if(p0=e[o>>2]|0,R0=p0>>16,W0=(R0|0)>-1,W0)W5=p0,y6=0,D6=0,X6=1,O6=0,ge=0;else for(G5=p0,w3=R0,s9=0,pe=0;;)if(y3=G5&65535,Z5=w+(y3<<2)|0,x3=+s[Z5>>2],f3=0-w3|0,e6=w+(f3<<2)|0,H3=+s[e6>>2],X5=H3+x3,_3=$2+(y3<<2)|0,a6=+s[_3>>2],G3=$2+(f3<<2)|0,V3=+s[G3>>2],c3=a6-V3,g3=e5+(y3<<2)|0,u3=+s[g3>>2],Q3=e5+(f3<<2)|0,J5=+s[Q3>>2],H5=J5+u3,Y5=a3+(y3<<2)|0,Y3=+s[Y5>>2],U5=a3+(f3<<2)|0,l6=+s[U5>>2],n3=l6+Y3,l3=t3+(y3<<2)|0,U3=+s[l3>>2],C6=t3+(f3<<2)|0,b3=+s[C6>>2],L3=U3-b3,D3=n3*H5,r6=L3*c3,z3=D3-r6,j5=L3*X5,M3=n3*c3,h3=j5-M3,J3=H5*X5,d6=c3*c3,m3=J3-d6,x6=h3*pe,L6=x6+z3,S6=L6/m3,n6=S6<0,o9=n6?0:S6,f6=o9-g,b6=$+(s9<<2)|0,s[b6>>2]=f6,N6=s9+1|0,j6=pe+1,v6=o+(N6<<2)|0,R3=e[v6>>2]|0,o6=R3>>16,s6=(o6|0)>-1,s6){W5=R3,y6=z3,D6=h3,X6=m3,O6=N6,ge=j6;break}else G5=R3,w3=o6,s9=N6,pe=j6;if(d3=W5&65535,r3=(d3|0)<(t|0),r3)for(b=W5,t6=d3,n9=O6,re=ge;;)if(F3=b>>16,W3=w+(t6<<2)|0,R6=+s[W3>>2],c6=w+(F3<<2)|0,o3=+s[c6>>2],J6=R6-o3,A3=$2+(t6<<2)|0,g6=+s[A3>>2],Q=$2+(F3<<2)|0,x=+s[Q>>2],M=g6-x,L=e5+(t6<<2)|0,F=+s[L>>2],G=e5+(F3<<2)|0,O=+s[G>>2],H=F-O,V=a3+(t6<<2)|0,J=+s[V>>2],Z=a3+(F3<<2)|0,A0=+s[Z>>2],j=J-A0,r0=t3+(t6<<2)|0,s0=+s[r0>>2],K=t3+(F3<<2)|0,o0=+s[K>>2],Y=s0-o0,h0=j*H,i0=Y*M,u0=h0-i0,c0=Y*J6,$0=j*M,l0=c0-$0,X=H*J6,m0=M*M,g0=X-m0,I0=l0*re,n0=I0+u0,d0=n0/g0,C0=d0<0,g9=C0?0:d0,b0=g9-g,y0=$+(n9<<2)|0,s[y0>>2]=b0,D0=n9+1|0,E0=re+1,Q0=o+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0&65535,x0=(B0|0)<(t|0),x0)b=w0,t6=B0,n9=D0,re=E0;else{T3=u0,G6=l0,P3=g0,h9=D0,z9=E0;break}else T3=y6,G6=D6,P3=X6,h9=O6,z9=ge;if(K3=(h9|0)<(t|0),K3)for(C9=h9,R9=z9;Z0=R9*G6,v0=Z0+T3,N0=v0/P3,U0=N0<0,U6=U0?0:N0,O0=U6-g,H0=$+(C9<<2)|0,s[H0>>2]=O0,S0=C9+1|0,J0=R9+1,_6=(S0|0)==(t|0),!_6;)C9=S0,R9=J0;if(T0=(d|0)<1,T0){C=Fe;return}if(M0=(d|0)/2&-1,P0=M0-d|0,K0=(P0|0)>-1,K0)H6=T3,e9=G6,r9=P3,B9=0,w9=0;else for(V0=d-M0|0,z0=M0,o1=P0,y9=0,K6=0;;)if(s1=w+(z0<<2)|0,r1=+s[s1>>2],L0=0-o1|0,u1=w+(L0<<2)|0,p1=+s[u1>>2],f1=p1+r1,h1=$2+(z0<<2)|0,A1=+s[h1>>2],c1=$2+(L0<<2)|0,a1=+s[c1>>2],$1=A1-a1,X0=e5+(z0<<2)|0,B1=+s[X0>>2],Q1=e5+(L0<<2)|0,C1=+s[Q1>>2],y1=C1+B1,v1=a3+(z0<<2)|0,k1=+s[v1>>2],S1=a3+(L0<<2)|0,L1=+s[S1>>2],M1=L1+k1,b1=t3+(z0<<2)|0,_1=+s[b1>>2],F1=t3+(L0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*y1,X1=D1*$1,G1=P1-X1,x1=D1*f1,K1=M1*$1,q1=x1-K1,H1=y1*f1,Y1=$1*$1,t2=H1-Y1,s2=q1*K6,e2=s2+G1,O1=e2/t2,h2=O1-g,Z1=$+(y9<<2)|0,I2=+s[Z1>>2],A2=h2>2]=h2),C2=y9+1|0,f2=K6+1,c2=M0+C2|0,n2=c2-d|0,t9=(C2|0)==(V0|0),t9){H6=G1,e9=q1,r9=t2,B9=V0,w9=f2;break}else z0=c2,o1=n2,y9=C2,K6=f2;if(j0=B9+M0|0,q0=(j0|0)<(t|0),q0)for(Y0=t-M0|0,D=j0,f9=B9,we=w9;;)if(o2=D-d|0,l2=w+(D<<2)|0,i2=+s[l2>>2],a2=w+(o2<<2)|0,m2=+s[a2>>2],r2=i2-m2,D2=$2+(D<<2)|0,S2=+s[D2>>2],y2=$2+(o2<<2)|0,G2=+s[y2>>2],M2=S2-G2,O2=e5+(D<<2)|0,p2=+s[O2>>2],W2=e5+(o2<<2)|0,q2=+s[W2>>2],J2=p2-q2,V2=a3+(D<<2)|0,Z2=+s[V2>>2],A5=a3+(o2<<2)|0,Y2=+s[A5>>2],N1=Z2-Y2,t5=t3+(D<<2)|0,T5=+s[t5>>2],i5=t3+(o2<<2)|0,x5=+s[i5>>2],j2=T5-x5,b5=N1*J2,V5=j2*M2,u5=b5-V5,b2=j2*r2,B5=N1*M2,s5=b2-B5,F2=J2*r2,R2=M2*M2,Q2=F2-R2,y5=s5*we,p5=y5+u5,L5=p5/Q2,q5=L5-g,M5=$+(f9<<2)|0,z2=+s[M5>>2],E5=q5>2]=q5),$5=f9+1|0,h5=we+1,Q5=$5+M0|0,F6=($5|0)==(Y0|0),F6){$6=u5,Q6=s5,V6=Q2,d9=Y0,A9=h5;break}else D=Q5,f9=$5,we=h5;else $6=H6,Q6=e9,V6=r9,d9=B9,A9=w9;if(g2=(d9|0)<(t|0),g2)V9=d9,Me=A9;else{C=Fe;return}for(;T1=Me*Q6,d5=T1+$6,l5=d5/V6,X2=l5-g,d2=$+(V9<<2)|0,w5=+s[d2>>2],r5=X2>2]=X2),a5=V9+1|0,f5=Me+1,Y6=(a5|0)==(t|0),!Y6;)V9=a5,Me=f5;C=Fe}function Ub(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0;if(d1=C,d=a<<2,$=d,m=C,C=C+((1*$|0)+15&-16)|0,g=d,x=C,C=C+((1*g|0)+15&-16)|0,A0=(a|0)>0,A0)S0=0,V0=0;else{C=d1;return}for(;;){x0=(V0|0)<2;do if(x0)v0=m+(V0<<2)|0,e[v0>>2]=S0,I=t+(S0<<2)|0,E=e[I>>2]|0,y=x+(V0<<2)|0,e[y>>2]=E,z0=V0;else{for(Z0=t+(S0<<2)|0,R0=+s[Z0>>2],j0=V0;;){if(B=j0+-1|0,b=x+(B<<2)|0,D=+s[b>>2],k=R0>2]|0,L=M+o|0,F=(S0|0)<(L|0),G=(j0|0)>1,M0=G&F,!M0){Y0=j0,o1=12;break}if(O=j0+-2|0,H=x+(O<<2)|0,V=+s[H>>2],J=!(D<=V),J){Y0=j0,o1=12;break}if(t0=m+(O<<2)|0,Z=e[t0>>2]|0,j=Z+o|0,r0=(S0|0)<(j|0),r0)j0=B;else{Y0=j0,o1=12;break}}if((o1|0)==8){o1=0,w=m+(q0<<2)|0,e[w>>2]=S0,_=x+(q0<<2)|0,s[_>>2]=R0,z0=q0;break}else if((o1|0)==12){o1=0,s0=m+(Y0<<2)|0,e[s0>>2]=S0,K=x+(Y0<<2)|0,s[K>>2]=R0,z0=Y0;break}}while(!1);if(s1=z0+1|0,o0=S0+1|0,H0=(o0|0)==(a|0),H0){r1=z0,L0=s1;break}else S0=o0,V0=s1}if(c0=(r1|0)>-1,!c0){C=d1;return}for(b0=o+1|0,J0=0,P0=0;;){if(Y=(J0|0)<(r1|0),Y?(h0=J0+1|0,i0=x+(h0<<2)|0,e0=+s[i0>>2],u0=x+(J0<<2)|0,$0=+s[u0>>2],l0=e0>$0,l0?(X=m+(h0<<2)|0,m0=e[X>>2]|0,N0=m0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=m+(J0<<2)|0,I0=e[g0>>2]|0,n0=b0+I0|0,N0=n0),d0=(N0|0)>(a|0),T0=d0?a:N0,p0=(P0|0)<(T0|0),p0)for(C0=x+(J0<<2)|0,y0=e[C0>>2]|0,D0=(N0|0)<(a|0),E0=D0?N0:a,K0=P0;;)if(Q0=t+(K0<<2)|0,e[Q0>>2]=y0,w0=K0+1|0,U0=(w0|0)==(E0|0),U0){W0=E0;break}else K0=w0;else W0=P0;if(B0=J0+1|0,O0=(B0|0)==(L0|0),O0)break;J0=B0,P0=W0}C=d1}function Ly(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0;if(h2=C,L=I<<2,_=L,F=C,C=C+((1*_|0)+15&-16)|0,s0=t+500|0,X=e[s0>>2]|0,E0=(X|0)==0,E0?k1=I:(H0=t+504|0,Y0=e[H0>>2]|0,A1=Y0-m|0,k1=A1),F1=(k1|0)>(I|0),Y1=F1?I:k1,G=(Y1|0)>0,G)for(O=(d|0)==0,H=(k1|0)<(I|0),V=H?k1:I,q1=0;;){O?O1=9:(A0=d+(q1<<2)|0,j=e[A0>>2]|0,r0=(j|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,K=$+(q1<<2)|0,o0=+s[K>>2],Y=g+(q1<<2)|0,h0=+s[Y>>2],i0=o0/h0,e0=a+(q1<<2)|0,u0=+s[e0>>2],c0=u0<0,$0=i0,l0=+Hn(+$0),m0=+z7(l0),c0){g0=-m0,I0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=I0;break}else{d0=~~m0,p0=E+(q1<<2)|0,e[p0>>2]=d0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(V|0),x1){K1=V;break}else q1=C0}else K1=0;if(J=(K1|0)<(I|0),!J)return w=0,C=h2,+w;for(t0=(d|0)!=0,Z=o-m|0,y=0,U1=0,H1=K1;;){t0?(b0=d+(H1<<2)|0,y0=e[b0>>2]|0,D0=(y0|0)==0,D0?O1=15:(B=y,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,Q0=$+(H1<<2)|0,w0=+s[Q0>>2],B0=g+(H1<<2)|0,x0=+s[B0>>2],Z0=w0/x0,R0=!(Z0<.25),v0=(H1|0)<(Z|0),t2=t0&v0,s2=R0|t2,s2){S0=a+(H1<<2)|0,J0=+s[S0>>2],T0=J0<0,M0=Z0,P0=+Hn(+M0),W0=+z7(P0),K0=-W0,x=T0?K0:W0,Q=~~x,V0=E+(H1<<2)|0,e[V0>>2]=Q,j0=o5(Q,Q)|0,q0=+(j0|0),s1=+s[B0>>2],z0=q0*s1,s[Q0>>2]=z0,B=y,D1=U1;break}else{N0=Z0+y,U0=U1+1|0,O0=F+(U1<<2)|0,e[O0>>2]=Q0,B=N0,D1=U0;break}while(!1);if(r1=H1+1|0,G1=(r1|0)==(I|0),G1){b=B,P1=D1;break}else y=B,U1=D1,H1=r1}if(L0=(P1|0)==0,L0||(Pu(F,P1,4,9),o1=(P1|0)>0,!o1))return w=b,C=h2,+w;for(d1=$,u1=t+512|0,p1=+l1[u1>>3],D=b,V1=0;;)if(f1=F+(V1<<2)|0,h1=e[f1>>2]|0,c1=h1,a1=c1-d1|0,$1=a1>>2,X0=D,B1=!(X0>=p1),B1?(k=D,M=0,e2=0):(m1=a+($1<<2)|0,Q1=e[m1>>2]|0,C1=Q1&-2147483648,y1=C1|1065353216,v1=(e[w2>>2]=y1,+s[w2>>2]),S1=~~v1,L1=D+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],k=L1,M=S1,e2=b1),_1=E+($1<<2)|0,e[_1>>2]=M,s[h1>>2]=e2,R1=V1+1|0,X1=(R1|0)==(P1|0),X1){w=k;break}else D=k,V1=R1;return C=h2,+w}function Pb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0;return D=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,d=+s[g>>2],m=$d,y=E&1,B=I-y|0,B|0}function Ob(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function qb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,F=(w|0)>0,G=t+20|0,F)for(L=w,Z=0;O=e[G>>2]|0,H=O+(Z<<2)|0,V=e[H>>2]|0,J=(V|0)==0,J?d=L:(E2(V),o=e[$>>2]|0,d=o),t0=Z+1|0,g=(t0|0)<(d|0),g;)L=d,Z=t0;if(m=e[G>>2]|0,E2(m),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,x=(_|0)<(Q|0),x;)A0=_;M=e[B>>2]|0,E2(M),E2(t)}}function Hb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=0;if(d0=C,g=e[t>>2]|0,H2(o,g,24),d=t+4|0,Q=e[d>>2]|0,H2(o,Q,24),Z=t+8|0,Y=e[Z>>2]|0,h0=Y+-1|0,H2(o,h0,24),i0=t+12|0,e0=e[i0>>2]|0,u0=e0+-1|0,H2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,H2(o,m,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,w=H8(k)|0,_=(w|0)>3,x=e[D>>2]|0,_?(H2(o,x,3),H2(o,1,1),M=e[D>>2]|0,L=M>>3,H2(o,L,5)):H2(o,x,4),F=e[D>>2]|0,G=(F|0)==0,G)g0=0;else for(a=F,I0=0;;)if(O=a&1,H=O+I0|0,V=a>>>1,J=(V|0)==0,J){g0=H;break}else a=V,I0=H;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;s0=b+(m0<<2)|0,K=e[s0>>2]|0,H2(o,K,8),o0=m0+1|0,l0=(o0|0)==($|0),!l0;)m0=o0}}function Vb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0;a1=C,m=le(1,2840)|0,I=t+28|0,M=e[I>>2]|0,j=i4(o,24)|0,e[m>>2]=j,$0=i4(o,24)|0,y0=m+4|0,e[y0>>2]=$0,U0=i4(o,24)|0,j0=U0+1|0,Y0=m+8|0,e[Y0>>2]=j0,s1=i4(o,6)|0,E=s1+1|0,y=m+12|0,e[y>>2]=E,B=i4(o,8)|0,b=m+20|0,e[b>>2]=B,D=(B|0)<0;e:do if(D)c1=26;else{if(k=(s1|0)>-1,k){for(w=m+24|0,r1=0,d1=0;;){if(x=i4(o,3)|0,L=i4(o,1)|0,F=(L|0)<0,F){c1=26;break e}if(G=(L|0)==0,G)L0=x;else{if(O=i4(o,5)|0,H=(O|0)<0,H){c1=26;break e}V=O<<3,J=V|x,L0=J}if(t0=w+(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,s0=$>>>1,K=(s0|0)==0,K){h1=r0;break}else $=s0,A1=r0;if(o0=h1+r1|0,Y=d1+1|0,h0=e[y>>2]|0,i0=(Y|0)<(h0|0),i0)r1=o0,d1=Y;else{d=o0;break}}if(_=(d|0)>0,_)for(Q=m+280|0,u1=0;;){if(e0=i4(o,8)|0,u0=(e0|0)<0,u0)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=M+24|0,I0=e[g0>>2]|0,n0=(m0|0)<(I0|0),n0){if(q0)for(d0=m+280|0,p1=0;;){if(b0=d0+(p1<<2)|0,D0=e[b0>>2]|0,E0=(D0|0)<(I0|0),!E0||(Q0=(M+1824|0)+(D0<<2)|0,w0=e[Q0>>2]|0,B0=w0+12|0,x0=e[B0>>2]|0,Z0=(x0|0)==0,p0=p1+1|0,Z0))break e;if(C0=(p0|0)<(z0|0),C0)p1=p0;else break}if(R0=(M+1824|0)+(m0<<2)|0,v0=e[R0>>2]|0,N0=v0+4|0,O0=e[N0>>2]|0,H0=e[v0>>2]|0,S0=(H0|0)<1,!S0){for(J0=e[y>>2]|0,o1=H0,f1=1;;){if(P0=o5(J0,f1)|0,W0=(P0|0)>(O0|0),W0)break e;if(T0=o1+-1|0,M0=(o1|0)>1,M0)o1=T0,f1=P0;else{g=P0;break}}return K0=m+16|0,e[K0>>2]=g,a=m,a|0}}}while(!1);return(c1|0)==26&&(V0=(m|0)==0,V0)?(a=0,a|0):(E2(m),a=0,a|0)}function Yb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0;if(k1=C,d=le(1,44)|0,m=t+4|0,x=e[m>>2]|0,A0=x+28|0,c0=e[A0>>2]|0,e[d>>2]=o,b0=o+12|0,N0=e[b0>>2]|0,V0=d+4|0,e[V0>>2]=N0,s1=c0+2848|0,z0=e[s1>>2]|0,I=d+12|0,e[I>>2]=z0,E=z0,y=o+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,w=le(N0,4)|0,_=d+20|0,e[_>>2]=w,Q=(N0|0)>0,Q)for(M=o+24|0,L=o+280|0,r1=0,h1=0,m1=0;;){if(F=M+(h1<<2)|0,G=e[F>>2]|0,O=H8(G)|0,H=(O|0)==0,H)d1=r1,Q1=m1;else if(V=(O|0)>(m1|0),$=V?O:m1,J=le(O,4)|0,t0=w+(h1<<2)|0,e[t0>>2]=J,Z=(O|0)>0,Z)for(j=e[F>>2]|0,r0=w+(h1<<2)|0,L0=r1,$1=0;;)if(s0=1<<$1,K=j&s0,o0=(K|0)==0,o0?o1=L0:(Y=e[s1>>2]|0,h0=L0+1|0,i0=L+(L0<<2)|0,e0=e[i0>>2]|0,u0=Y+(e0*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=h0),X=$1+1|0,p1=(X|0)==(O|0),p1){d1=o1,Q1=$;break}else L0=o1,$1=X;else d1=r1,Q1=$;if(m0=h1+1|0,g0=(m0|0)<(N0|0),g0)r1=d1,h1=m0,m1=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(d0=o5(p0,N0)|0,C0=A1+1|0,u1=(C0|0)==(k|0),u1){a=d0;break}else p0=d0,A1=C0;e[I0>>2]=a,E0=a}else E0=1;if(y0=d+8|0,e[y0>>2]=B1,D0=E0<<2,Q0=M9(D0)|0,w0=d+28|0,e[w0>>2]=Q0,B0=(E0|0)>0,!B0)return d|0;if(x0=k<<2,!n0){for(c1=0;K0=M9(x0)|0,j0=Q0+(c1<<2)|0,e[j0>>2]=K0,q0=c1+1|0,Y0=(q0|0)<(E0|0),Y0;)c1=q0;return d|0}for(Z0=e[w0>>2]|0,a1=0;;){for(M0=M9(x0)|0,P0=Q0+(a1<<2)|0,e[P0>>2]=M0,W0=Z0+(a1<<2)|0,J0=e[W0>>2]|0,g=E0,X0=0,y1=a1;C1=(g|0)/(N0|0)&-1,U0=(y1|0)/(C1|0)&-1,O0=o5(U0,C1)|0,H0=y1-O0|0,S0=J0+(X0<<2)|0,e[S0>>2]=U0,T0=X0+1|0,f1=(T0|0)==(k|0),!f1;)g=C1,X0=T0,y1=H0;if(R0=a1+1|0,v0=(R0|0)<(E0|0),v0)a1=R0;else break}return d|0}function zb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0;if(G=C,d=(g|0)>0,d)Q=0,x=0;else return 0;for(;;)if(m=$+(Q<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(y=a+(Q<<2)|0,B=e[y>>2]|0,b=x+1|0,D=a+(x<<2)|0,e[D>>2]=B,M=b),k=Q+1|0,_=(k|0)==(g|0),_){L=M;break}else Q=k,x=M;return w=(L|0)==0,w||My(t,o,a,L,2),0}function Jb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0;if(V=C,E=(d|0)>0,E)L=0,F=0;else return 0;for(;;)if(y=g+(L<<2)|0,B=e[y>>2]|0,b=(B|0)==0,b?G=F:(D=$+(L<<2)|0,k=e[D>>2]|0,w=F+1|0,_=$+(F<<2)|0,e[_>>2]=k,G=w),Q=L+1|0,M=(Q|0)==(d|0),M){O=G;break}else L=Q,F=G;return x=(O|0)==0,x||Ry(t,a,$,O,m),0}function Kb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;if(v1=C,I=(g|0)>0,I)o1=0,m1=0;else return d=0,d|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=m1:(l0=a+(o1<<2)|0,D0=e[l0>>2]|0,O0=m1+1|0,W0=a+(m1<<2)|0,e[W0>>2]=D0,Q1=O0),K0=o1+1|0,Y0=(K0|0)==(g|0),Y0){C1=Q1;break}else o1=K0,m1=Q1;if(V0=(C1|0)==0,V0)return d=0,d|0;if(y=e[o>>2]|0,B=y+8|0,b=e[B>>2]|0,D=y+12|0,k=e[D>>2]|0,w=y+4|0,_=e[w>>2]|0,Q=e[y>>2]|0,x=_-Q|0,M=(x|0)/(b|0)&-1,F=C1<<2,G=W8(t,F)|0,O=+(b|0),H=100/O,V=H,J=(C1|0)>0,J)for(t0=M<<2,d1=0;K=W8(t,t0)|0,o0=G+(d1<<2)|0,e[o0>>2]=K,g4(K|0,0,t0|0)|0,Y=d1+1|0,L0=(Y|0)==(C1|0),!L0;)d1=Y;if(Z=(M|0)>0,Z)for(A0=(b|0)>0,j=k+-1|0,s0=(k|0)>1,u1=0;;){if(h0=o5(u1,b)|0,i0=e[y>>2]|0,e0=i0+h0|0,J)for(f1=0;;){if(A0)for(u0=a+(f1<<2)|0,c0=e[u0>>2]|0,q0=0,h1=0,$1=0;;)if($0=e0+h1|0,X=c0+($0<<2)|0,m0=e[X>>2]|0,p1=(m0|0)>-1,X0=0-m0|0,g0=p1?m0:X0,I0=(g0|0)>($1|0),m=I0?g0:$1,n0=g0+q0|0,d0=h1+1|0,s1=(d0|0)==(b|0),s1){j0=n0,a1=m;break}else q0=n0,h1=d0,$1=m;else j0=0,a1=0;p0=+(j0|0),C0=p0*V,b0=~~C0;e:do if(s0)for(c1=0;;){if(y0=(y+2328|0)+(c1<<2)|0,E0=e[y0>>2]|0,Q0=(a1|0)>(E0|0),!Q0&&(w0=(y+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,x0=(B0|0)<0,Z0=(b0|0)<(B0|0),B1=x0|Z0,B1)){A1=c1;break e}if(R0=c1+1|0,v0=(R0|0)<(j|0),v0)c1=R0;else{A1=R0;break}}else A1=0;while(!1);if(N0=G+(f1<<2)|0,U0=e[N0>>2]|0,H0=U0+(u1<<2)|0,e[H0>>2]=A1,S0=f1+1|0,z0=(S0|0)==(C1|0),z0)break;f1=S0}if(J0=u1+1|0,r1=(J0|0)==(M|0),r1)break;u1=J0}return T0=o+40|0,M0=e[T0>>2]|0,P0=M0+1|0,e[T0>>2]=P0,d=G,d|0}function Wb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0;if(G=C,d=(g|0)>0,d)Q=0,x=0;else return 0;for(;;)if(m=$+(Q<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(y=a+(Q<<2)|0,B=e[y>>2]|0,b=x+1|0,D=a+(x<<2)|0,e[D>>2]=B,M=b),k=Q+1|0,_=(k|0)==(g|0),_){L=M;break}else Q=k,x=M;return w=(L|0)==0,w||My(t,o,a,L,3),0}function Zb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=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,s0=f1&1,A1=s0+a1|0,X=P0+1|0,J0=(X|0)==(g|0),J0){c1=A1;break}else P0=X,a1=A1;if(h1=(c1|0)==0,h1)return d=0,d|0;if(E0=e[o>>2]|0,Z0=E0+8|0,R0=e[Z0>>2]|0,v0=E0+12|0,N0=e[v0>>2]|0,B=E0+4|0,b=e[B>>2]|0,D=e[E0>>2]|0,k=b-D|0,w=(k|0)/(R0|0)&-1,_=W8(t,4)|0,Q=w<<2,x=W8(t,Q)|0,e[_>>2]=x,g4(x|0,0,Q|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,G=(L|0)/(g|0)&-1,O=(R0|0)>0,H=N0+-1|0,V=(N0|0)>1,J=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,K0=(j|0)>-1,u1=0-j|0,r0=K0?j:u1,K=(r0|0)>(d1|0),I=K?r0:d1,t0)for(S0=O0,s1=1;;)if(o0=a+(s1<<2)|0,Y=e[o0>>2]|0,h0=Y+(L0<<2)|0,i0=e[h0>>2]|0,V0=(i0|0)>-1,p1=0-i0|0,e0=V0?i0:p1,u0=(e0|0)>(S0|0),m=u0?e0:S0,c0=s1+1|0,T0=(c0|0)==(g|0),T0){H0=m;break}else S0=m,s1=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,o1=I;break}}else U0=0,r1=z0,o1=0;e:do if(V)for(Y0=0;;){if(g0=(E0+2328|0)+(Y0<<2)|0,I0=e[g0>>2]|0,n0=(o1|0)>(I0|0),!n0&&(d0=(E0+2584|0)+(Y0<<2)|0,p0=e[d0>>2]|0,C0=(U0|0)>(p0|0),!C0)){q0=Y0;break e}if(b0=Y0+1|0,y0=(b0|0)<(H|0),y0)Y0=b0;else{q0=b0;break}}else q0=0;while(!1);if(D0=J+(W0<<2)|0,e[D0>>2]=q0,Q0=W0+1|0,M0=(Q0|0)==(w|0),M0)break;W0=Q0,z0=r1}return w0=o+40|0,B0=e[w0>>2]|0,x0=B0+1|0,e[w0>>2]=x0,d=_,d|0}function jb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0;if(c0=C,C=C+16|0,e0=c0,E=o+36|0,y=e[E>>2]|0,F=(y|0)/2&-1,G=d<<2,O=o5(G,F)|0,H=W8(o,O)|0,e[e0>>2]=H,V=(d|0)>0,!V)return C=c0,0;for(J=(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,K=(b|0)!=0,D=K&1,Y=D+i0|0,J)for(r0=0,s0=j;k=Z+(r0<<2)|0,w=e[k>>2]|0,_=H+(s0<<2)|0,e[_>>2]=w,Q=r0+1|0,x=s0+d|0,M=(Q|0)<(F|0),M;)r0=Q,s0=x;if(L=j+1|0,A0=(L|0)==(d|0),A0){h0=Y;break}else j=L,i0=Y}return o0=(h0|0)==0,o0?(C=c0,0):(Ry(t,a,e0,1,m),C=c0,0)}function Xb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;if(S1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,D0=e[l0>>2]|0,O0=t+36|0,q0=e[O0>>2]|0,h1=o5(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,w=(k|0)>0,!w)return 0;_=(k|0)/(L|0)&-1,Q=D0+-1|0,x=Q+_|0,M=(x|0)/(D0|0)&-1,F=M<<2,G=W8(t,F)|0,O=(g|0)>0;e:do if(O)for(a1=0;;){if(H=$+(a1<<2)|0,V=e[H>>2]|0,J=(V|0)==0,!J){c1=a1;break e}if(t0=a1+1|0,Z=(t0|0)<(g|0),Z)a1=t0;else{c1=t0;break}}else c1=0;while(!1);if(A0=(c1|0)==(g|0),A0||(j=o+8|0,s0=e[j>>2]|0,K=(s0|0)>0,!K))return 0;o0=(_|0)>0,Y=t+4|0,h0=I+16|0,i0=o+28|0,e0=(D0|0)>0,u0=o+20|0,f1=s0,v1=0;e:for(;;){if(o0){for(c0=(v1|0)==0,$0=1<>2]|0,m0=nE(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(d0=e[i0>>2]|0,p0=d0+(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,m1=0;;){if(w0=e[Q0>>2]|0,B0=w0+(m1<<2)|0,x0=e[B0>>2]|0,Z0=(I+24|0)+(x0<<2)|0,R0=e[Z0>>2]|0,v0=R0&$0,N0=(v0|0)==0,!N0&&(U0=e[u0>>2]|0,H0=U0+(x0<<2)|0,S0=e[H0>>2]|0,J0=S0+(v1<<2)|0,T0=e[J0>>2]|0,M0=(T0|0)==0,!M0&&(P0=o5(B1,L)|0,W0=e[I>>2]|0,K0=W0+P0|0,V0=ob(T0,a,K0,g,Y,L)|0,j0=(V0|0)==-1,j0))){k1=23;break e}if(Y0=m1+1|0,s1=B1+1|0,z0=(Y0|0)<(D0|0),r1=(s1|0)<(_|0),C1=z0&r1,C1)B1=s1,m1=Y0;else{X0=s1;break}}else X0=$1;if(L0=Q1+1|0,o1=(X0|0)<(_|0),o1)$1=X0,Q1=L0;else break}m=e[j>>2]|0,p1=m}else p1=f1;if(d1=v1+1|0,u1=(d1|0)<(p1|0),u1)f1=p1,v1=d1;else{k1=23;break}}return(k1|0)==23,0}function My(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0;if(t2=C,y=e[o>>2]|0,B=y+8|0,G=e[B>>2]|0,K=o+16|0,m0=e[K>>2]|0,Q0=e[m0>>2]|0,S0=t+36|0,s1=e[S0>>2]|0,c1=s1>>1,S1=y+4|0,b=e[S1>>2]|0,D=(b|0)<(c1|0),d=D?b:c1,k=e[y>>2]|0,w=d-k|0,_=(w|0)>0,!_){C=t2;return}if(Q=(w|0)/(G|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(F=Q0+-1|0,O=F+Q|0,H=(O|0)/(Q0|0)&-1,V=H<<2,U1=0;h0=W8(t,V)|0,i0=M+(U1<<2)|0,e[i0>>2]=h0,e0=U1+1|0,M1=(e0|0)==($|0),!M1;)U1=e0;if(J=o+8|0,t0=e[J>>2]|0,Z=(t0|0)>0,!Z){C=t2;return}A0=(Q|0)>0,j=t+4|0,r0=y+16|0,s0=o+28|0,o0=(Q0|0)>0,Y=o+20|0,E=L^1,V1=0;e:for(;;){if(A0)for(u0=1<>2]|0,z0=nE(Y0,j)|0,r1=(z0|0)==-1,r1){Y1=25;break e}if(L0=e[r0>>2]|0,o1=(z0|0)<(L0|0),!o1){Y1=25;break e}if(d1=e[s0>>2]|0,u1=d1+(z0<<2)|0,p1=e[u1>>2]|0,f1=M+(D1<<2)|0,h1=e[f1>>2]|0,A1=h1+(x1<<2)|0,e[A1>>2]=p1,a1=(p1|0)==0,j0=D1+1|0,a1){Y1=25;break e}if(q0=(j0|0)<($|0),q0)D1=j0;else break}c0=(b1|0)<(Q|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,X1=0;;)if($1=X1+1|0,X0=R1+1|0,B1=($1|0)<(Q0|0),m1=(X0|0)<(Q|0),K1=B1&m1,K1)R1=X0,X1=$1;else{_1=X0;break t}for(;;){for(d0=o5(F1,G)|0,P1=0;;){if(I0=e[y>>2]|0,n0=I0+d0|0,p0=M+(P1<<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&u0,Z0=(x0|0)==0,!Z0&&(R0=e[Y>>2]|0,v0=R0+(E0<<2)|0,N0=e[v0>>2]|0,U0=N0+(V1<<2)|0,O0=e[U0>>2]|0,H0=(O0|0)==0,!H0&&(J0=a+(P1<<2)|0,T0=e[J0>>2]|0,M0=T0+(n0<<2)|0,P0=NC[g&3](O0,M0,j,G)|0,W0=(P0|0)==-1,W0))){Y1=25;break e}if(K0=P1+1|0,V0=(K0|0)<($|0),V0)P1=K0;else break}if($0=G1+1|0,l0=F1+1|0,X=($0|0)<(Q0|0),g0=(l0|0)<(Q|0),q1=X&g0,q1)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=V1+1|0,v1=e[J>>2]|0,k1=(y1|0)<(v1|0),k1)V1=y1;else{Y1=25;break}}if((Y1|0)==25){C=t2;return}}function Ry(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,U5=Q6+1024|0,J6=Q6+512|0,A3=Q6,Q=e[o>>2]|0,x=Q+8|0,c2=e[x>>2]|0,J2=Q+12|0,j2=e[J2>>2]|0,y5=o+16|0,T1=e[y5>>2]|0,I5=e[T1>>2]|0,d3=Q+4|0,H3=e[d3>>2]|0,M=e[Q>>2]|0,j=H3-M|0,$0=(j|0)/(c2|0)&-1,g4(J6|0,0,512)|0,g4(A3|0,0,512)|0,y0=o+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,s2=o+36|0,n2=(I5|0)>0,D2=o+20|0,S2=o+32|0,y2=0-I5|0,k2=U0,g6=0;;){if(f1){for(G2=(g6|0)==0,M2=1<>2]|0,q5=L5+(j5<<2)|0,M5=e[q5>>2]|0,z2=e[y5>>2]|0,E5=z2+4|0,$5=e[E5>>2]|0,h5=(M5|0)<($5|0),h5&&(Q5=Gu(z2,M5,t)|0,D5=e[s2>>2]|0,d5=D5+Q5|0,e[s2>>2]=d5),l5=v6+1|0,l6=(l5|0)==($|0),l6)break e;v6=l5}for(;;){for(b2=g+(R3<<2)|0,m5=e[b2>>2]|0,B5=m5+(j5<<2)|0,s5=e[B5>>2]|0,B6=1,$6=s5;;)if(t5=o5($6,j2)|0,T5=B6+j5|0,i5=(T5|0)<($0|0),i5?(x5=m5+(T5<<2)|0,b5=e[x5>>2]|0,V5=b5+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[s2>>2]|0,Y2=A5+Z2|0,e[s2>>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,K3=0;;){if(X2=o5(d6,c2)|0,d2=e[Q>>2]|0,w5=d2+X2|0,y1)for(s6=0;;){if(r5=g+(s6<<2)|0,a5=e[r5>>2]|0,f5=a5+(d6<<2)|0,K2=e[f5>>2]|0,G2&&(n5=A3+(K2<<2)|0,R5=e[n5>>2]|0,e5=R5+c2|0,e[n5>>2]=e5),c5=(Q+24|0)+(K2<<2)|0,T2=e[c5>>2]|0,v5=T2&M2,z5=(v5|0)==0,!z5&&(i3=e[D2>>2]|0,C5=i3+(K2<<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+(s6<<2)|0,G5=e[y3>>2]|0,Z5=e[r3>>2]|0,x3=(c2|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,L=Z5,S5=0,h3=0;;){a6=o5(h3,Z5)|0,D=a6+w5|0,G3=G5+(D<<2)|0,V3=e[w3>>2]|0,c3=e[e6>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,F=(L|0)>0;do if(Q3){if(!F){n6=0;break}for(V=g3+-1|0,m3=0,S6=0,W3=L;;)if(C0=W3+-1|0,_=D+C0|0,b0=G5+(_<<2)|0,D0=e[b0>>2]|0,E0=D0-V3|0,Q0=(E0|0)<(u3|0),Q0?(w0=u3-E0|0,B0=w0<<1,x0=B0+-1|0,N0=x0):(Z0=E0-u3|0,R0=Z0<<1,N0=R0),v0=o5(S6,g3)|0,O0=(N0|0)<0,H0=(N0|0)>=(g3|0),S0=H0?V:N0,J0=O0?0:S0,T0=J0+v0|0,M0=o3+(C0<<2)|0,e[M0>>2]=D0,P0=m3+1|0,r6=(P0|0)==(L|0),r6){n6=T0;break}else m3=P0,S6=T0,W3=C0}else{if(!F){n6=0;break}for(G=c3>>1,O=G-V3|0,H=g3+-1|0,M3=0,M6=0,F3=L;;)if(J=F3+-1|0,w=D+J|0,t0=G5+(w<<2)|0,Z=e[t0>>2]|0,A0=O+Z|0,r0=(A0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(K=u3-r0|0,o0=K<<1,Y=o0+-1|0,u0=Y):(h0=r0-u3|0,i0=h0<<1,u0=i0),e0=o5(M6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),X=l0?H:u0,m0=c0?0:X,g0=m0+e0|0,I0=o5(r0,c3)|0,n0=I0+V3|0,d0=o3+(J<<2)|0,e[d0>>2]=n0,p0=M3+1|0,z3=(p0|0)==(L|0),z3){n6=g0;break}else M3=p0,M6=g0,F3=J}while(!1);W0=e[_3>>2]|0,K0=W0+8|0,V0=e[K0>>2]|0,q0=V0+n6|0,Y0=f[q0>>0]|0,s1=Y0<<24>>24<1;do if(s1){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=o5(z0,c3)|0,L0=r1+V3|0,o1=e[t3>>2]|0,d1=(o1|0)>0,d1)J5=-1,x6=0,f6=n6;else{N6=n6;break}for(;;){u1=V0+x6|0,p1=f[u1>>0]|0,h1=p1<<24>>24>0;do if(h1){if(F)for(j6=0,T3=0;;)if(A1=U5+(j6<<2)|0,c1=e[A1>>2]|0,k=D+j6|0,a1=G5+(k<<2)|0,$1=e[a1>>2]|0,X0=c1-$1|0,B1=o5(X0,X0)|0,m1=B1+T3|0,Q1=j6+1|0,A6=(Q1|0)==(L|0),A6){y6=m1;break}else j6=Q1,T3=m1;else y6=0;if(C1=(J5|0)==-1,v1=(y6|0)<(J5|0),t6=C1|v1,!t6){H5=J5,b6=f6;break}e[o3>>2]=e[U5>>2]|0,e[o3+4>>2]=e[U5+4>>2]|0,e[o3+8>>2]=e[U5+8>>2]|0,e[o3+12>>2]=e[U5+12>>2]|0,e[o3+16>>2]=e[U5+16>>2]|0,e[o3+20>>2]=e[U5+20>>2]|0,e[o3+24>>2]=e[U5+24>>2]|0,e[o3+28>>2]=e[U5+28>>2]|0,H5=y6,b6=x6}else H5=J5,b6=f6;while(!1);if(k1=e[U5>>2]|0,S1=(k1|0)<(L0|0),S1)m=U5,I=k1;else for(M1=U5,o6=0;;)if(L1=o6+1|0,e[M1>>2]=0,b1=U5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(L0|0),R1){m=b1,I=_1;break}else M1=b1,o6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,X1=U1):X1=I,P1=0-X1|0,e[m>>2]=P1,G1=x6+1|0,n3=(G1|0)==(o1|0),n3){N6=b6;break}else J5=H5,x6=G1,f6=b6}}else N6=n6;while(!1);if(x1=(N6|0)>-1,c6=F&x1,c6)for(d=G3,L6=0;K1=o3+(L6<<2)|0,q1=e[K1>>2]|0,H1=d+4|0,V1=e[d>>2]|0,Y1=V1-q1|0,e[d>>2]=Y1,t2=L6+1|0,l3=(t2|0)==(L|0),!l3;)d=H1,L6=t2;if(e2=Gu(r3,N6,t)|0,O1=e2+S5|0,h2=h3+1|0,U3=(h2|0)==(x3|0),U3){E=O1;break}y=e[r3>>2]|0,L=y,S5=O1,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=J6+($2<<2)|0,f2=e[W1>>2]|0,g2=f2+Y5|0,e[W1>>2]=g2}if(o2=s6+1|0,C6=(o2|0)==($|0),C6)break;s6=o2}if(l2=K3+1|0,i2=d6+1|0,b3=(l2|0)==(N5|0),b3)break;d6=i2,K3=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 o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0;if(y=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,d=($|0)==0,d){m=g;break}else o=$,I=g;return m|0}function Fy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0;f2=C,C=C+144|0,O1=f2,E=(a|0)!=0,y=E?a:o,F=y<<2,s0=M9(F)|0,g4(O1|0,0,132)|0,X=(o|0)>0;do if(X){E0=O1+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=O1+(B<<2)|0,k=e[D>>2]|0,w=v1<<24>>24>31,_=k>>>B,Q=(_|0)==0,h2=w|Q,!h2){W1=5;break e}x=s0+(k1<<2)|0,e[x>>2]=k,M=O1+(B<<2)|0,L=k&1,G=(L|0)==0;i:do if(G)for(K=k,o0=M,K1=B;;){if(r0=K+1|0,e[o0>>2]=r0,Y=K1+-1|0,h0=(K1|0)>1,!h0)break i;if(d=O1+(Y<<2)|0,I=e[d>>2]|0,i0=O1+(Y<<2)|0,e0=I&1,u0=(e0|0)==0,u0)K=I,o0=i0,K1=Y;else{g=i0,x1=Y,W1=8;break}}else g=M,x1=B,W1=8;while(!1);do if((W1|0)==8)if(W1=0,H=(x1|0)==1,H){V=e[E0>>2]|0,J=V+1|0,e[E0>>2]=J;break}else{t0=x1+-1|0,Z=O1+(t0<<2)|0,A0=e[Z>>2]|0,j=A0<<1,e[g>>2]=j;break}while(!1);if(Y1=B+1|0,O=(Y1|0)<33,O)for(R1=k,H1=B,t2=Y1;;){if(c0=O1+(t2<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,m0=(l0|0)==(R1|0),!m0){m=1;break t}if(g0=O1+(H1<<2)|0,I0=e[g0>>2]|0,n0=I0<<1,e[c0>>2]=n0,q1=t2+1|0,d0=(q1|0)<33,d0)V1=t2,R1=$0,t2=q1,H1=V1;else{m=1;break}}else m=1}else m=Y0;while(!1);if(S1=k1+m|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)k1=S1,D1=p0;else{L1=S1,W1=16;break}}if((W1|0)==5)return E2(s0),$=0,C=f2,$|0;if((W1|0)==16){if(Z1=(L1|0)==1,!Z1){P1=1,W1=27;break}if(b0=O1+8|0,y0=e[b0>>2]|0,D0=(y0|0)==2,D0)break;P1=1,W1=27;break}}else P1=1,W1=27;while(!1);e:do if((W1|0)==27){for(;W1=0,j0=O1+(P1<<2)|0,q0=e[j0>>2]|0,s1=32-P1|0,z0=-1>>>s1,r1=q0&z0,L0=(r1|0)==0,K0=P1+1|0,!!L0;)if(V0=(K0|0)<33,V0)P1=K0,W1=27;else break e;return E2(s0),$=0,C=f2,$|0}while(!1);if(!X)return $=s0,C=f2,$|0;if(E)b1=0,G1=0;else{for(M1=0,X1=0;;){if(o1=t+X1|0,d1=f[o1>>0]|0,u1=d1<<24>>24>0,u1)for(p1=s0+(M1<<2)|0,f1=e[p1>>2]|0,h1=d1<<24>>24,s2=0,C2=0;;)if(c1=C2<<1,a1=f1>>>s2,$1=a1&1,X0=$1|c1,B1=s2+1|0,m1=(B1|0)<(h1|0),m1)s2=B1,C2=X0;else{I2=X0;break}else I2=0;if(Q1=M1+1|0,C1=s0+(M1<<2)|0,e[C1>>2]=I2,y1=X1+1|0,F1=(y1|0)==(o|0),F1){$=s0;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=s0+(b1<<2)|0,O0=e[W0>>2]|0,P0=w0<<24>>24,e2=0,$2=0;;)if(N0=$2<<1,U0=O0>>>e2,S0=U0&1,J0=S0|N0,T0=e2+1|0,M0=(T0|0)<(P0|0),M0)e2=T0,$2=J0;else{A2=J0;break}else A2=0;if(x0=w0<<24>>24==0,x0?_1=b1:(Z0=b1+1|0,R0=s0+(b1<<2)|0,e[R0>>2]=A2,_1=Z0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=f2,$|0}function eD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0;if(K=C,$=t+4|0,g=e[$>>2]|0,_=e[t>>2]|0,Q=(_|0)>0,!Q)for(;;);for(x=+(g|0),M=x,L=+(_|0),F=1/L,G=F,O=+Fu(+M,+G),d=+sA(+O),m=~~d,Z=m;;){for(D=Z+1|0,H=1,V=1,J=0;;)if(B=o5(H,Z)|0,b=o5(V,D)|0,k=J+1|0,w=(k|0)<(_|0),w)H=B,V=b,J=k;else{o=B,a=b;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),t0=I&E,t0){r0=Z;break}y=(o|0)>(g|0),j=y?-1:1,A0=Z+j|0,Z=A0}return r0|0}function tD(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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),o0=O,g0=t+20|0,w0=e[g0>>2]|0,J0=w0&2097151,j0=+(J0|0),q0=w0>>>21,Y0=q0&1023,s1=(w0|0)<0,r1=-j0,g=s1?r1:j0,L0=Y0+-788|0,o1=+aE(g,L0),d1=o1,u1=e[t>>2]|0,p1=o5(u1,o)|0,f1=le(p1,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,U1=+Fu(+b1,+F1),D1=+sA(+U1),P1=~~D1,c5=P1;;){for(I2=c5+1|0,s5=1,F2=1,E5=0;;)if(O1=o5(s5,c5)|0,h2=o5(F2,I2)|0,A2=E5+1|0,p5=(A2|0)==(u1|0),p5){m=O1,I=h2;break}else s5=O1,F2=h2,E5=A2;if(X1=(m|0)<=(k1|0),G1=(I|0)>(k1|0),I5=G1&X1,I5){T2=c5;break}e2=(m|0)>(k1|0),e5=e2?-1:1,R5=e5+c5|0,c5=R5}if(K1=(k1|0)>0,!K1)return d=f1,d|0;for(q1=(a|0)==0,H1=t+8|0,V1=t+32|0,Y1=d1,t2=o0,s2=t+28|0,R2=0,T1=0;;){if(q1)if(c2=e[V1>>2]|0,n2=e[s2>>2]|0,g2=(n2|0)==0,o2=o5(u1,R2)|0,g2)for(Q5=1,X2=0;;)if(x5=(T1|0)/(Q5|0)&-1,j2=(x5|0)%(T2|0)&-1,m5=c2+(j2<<2)|0,b5=e[m5>>2]|0,V5=+(b5|0),z2=+rr(+V5),u5=z2,b2=u5*Y1,B5=t2+b2,D=B5,k=o2+X2|0,w=f1+(k<<2)|0,s[w>>2]=D,_=o5(Q5,T2)|0,Q=X2+1|0,x=(Q|0)<(u1|0),x)Q5=_,X2=Q;else{v5=21;break}else for($5=1,d5=0,r5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(T2|0)&-1,F=c2+(L<<2)|0,G=e[F>>2]|0,H=+(G|0),q5=+rr(+H),V=q5,J=V*Y1,t0=r5,Z=t0+t2,A0=Z+J,j=A0,r0=o2+d5|0,s0=f1+(r0<<2)|0,s[s0>>2]=j,K=o5($5,T2)|0,Y=d5+1|0,h0=(Y|0)<(u1|0),h0)$5=K,d5=Y,r5=j;else{v5=21;break}else if(C2=e[H1>>2]|0,$2=C2+T1|0,W1=f[$2>>0]|0,f2=W1<<24>>24==0,f2)Q2=R2;else for(i2=e[V1>>2]|0,a2=e[s2>>2]|0,m2=(a2|0)==0,r2=a+(R2<<2)|0,k2=e[r2>>2]|0,D2=o5(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),M5=+rr(+p2),W2=M5,q2=W2*Y1,J2=a5,U2=J2+t2,V2=U2+q2,Z2=V2,w5=m2?a5:Z2,A5=D2+l5|0,Y2=f1+(A5<<2)|0,s[Y2>>2]=Z2,N1=o5(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,u0=(e0|0)<(k1|0),u0)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,c1=(A1|0)>0,!c1)return d=f1,d|0;for($1=(a|0)!=0,X0=t+8|0,B1=t+32|0,m1=d1,Q1=o0,C1=t+28|0,y1=(u1|0)>0,y5=0,D5=0;;){if($1?(c0=e[X0>>2]|0,$0=c0+D5|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,d0=a+(y5<<2)|0,p0=o5(u1,D5)|0,C0=o5(u1,y5)|0,d2=0,K2=0;b0=p0+d2|0,y0=m0+(b0<<2)|0,D0=e[y0>>2]|0,E0=+(D0|0),L5=+rr(+E0),Q0=L5,B0=Q0*m1,x0=K2,Z0=x0+Q1,R0=Z0+B0,v0=R0,f5=n0?K2:v0,$1?(N0=e[d0>>2]|0,U0=o5(N0,u1)|0,O0=U0+d2|0,H0=f1+(O0<<2)|0,s[H0>>2]=v0):(S0=C0+d2|0,T0=f1+(S0<<2)|0,s[T0>>2]=v0),M0=d2+1|0,P0=(M0|0)<(u1|0),P0;)d2=M0,K2=f5;W0=y5+1|0,N5=W0}if(K0=D5+1|0,V0=(K0|0)<(A1|0),V0)y5=N5,D5=K0;else{d=f1;break}}return d|0}else return d=f1,d|0;return 0}function MC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0;b=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,d=e[g>>2]|0,m=(d|0)==0,m||E2(d),I=t+8|0,E=e[I>>2]|0,y=(E|0)==0,y||E2(E),E2(t))}function iD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>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,w=(k|0)==0,w||E2(k),_=t+28|0,$=e[_>>2]|0,g=($|0)==0,g||E2($),d=t+32|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),Q=t,L=Q+56|0;do e[Q>>2]=0,Q=Q+4|0;while((Q|0)<(L|0))}function Ty(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=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(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,j=t+4|0,e[j>>2]=M,$0=t+8|0,e[$0>>2]=M,y0=e[o>>2]|0,e[t>>2]=y0,x0=o+8|0,Z0=e[x0>>2]|0,R0=Fy(Z0,M,0)|0,v0=t+20|0,e[v0>>2]=R0,E=e[I>>2]|0,y=e[o>>2]|0,B=(y|0)>0,!B)for(;;);for(b=+(E|0),D=b,k=+(y|0),w=1/k,_=w,Q=+Fu(+D,+_),x=+sA(+Q),L=~~x,W0=L;;){for(J=W0+1|0,N0=1,U0=1,H0=0;;)if(H=o5(N0,W0)|0,V=o5(U0,J)|0,t0=H0+1|0,O0=(t0|0)==(y|0),O0){g=H,d=V;break}else N0=H,U0=V,H0=t0;if(F=(g|0)<=(E|0),G=(d|0)>(E|0),S0=G&F,S0){K0=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]=K0,A0=o+16|0,r0=e[A0>>2]|0,s0=r0&2097151,K=+(s0|0),o0=r0>>>21,Y=o0&1023,h0=(r0|0)<0,i0=-K,a=h0?i0:K,e0=Y+-788|0,u0=+aE(a,e0),c0=u0,J0=+qy(c0),l0=~~J0,X=t+48|0,e[X>>2]=l0,m0=o+20|0,g0=e[m0>>2]|0,I0=g0&2097151,n0=+(I0|0),d0=g0>>>21,p0=d0&1023,C0=(g0|0)<0,b0=-n0,$=C0?b0:n0,D0=p0+-788|0,E0=+aE($,D0),Q0=E0,T0=+qy(Q0),w0=~~T0,B0=t+52|0,e[B0>>2]=w0,0}function rD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=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=o+4|0,k=e[D>>2]|0,C2=(k|0)>0,C2)for(z2=o+8|0,w5=e[z2>>2]|0,K3=0,G6=0;;)if(v5=w5+K3|0,Z5=f[v5>>0]|0,V3=Z5<<24>>24>0,l6=V3&1,E=l6+G6|0,j5=K3+1|0,w=(j5|0)<(k|0),w)K3=j5,G6=E;else{d0=E;break}else d0=0;if(J=t+4|0,e[J>>2]=k,i0=t+8|0,e[i0>>2]=d0,Z0=e[o>>2]|0,e[t>>2]=Z0,P0=(d0|0)>0,!P0)return $=0,C=O3,$|0;if(o1=o+8|0,B1=e[o1>>2]|0,_1=Fy(B1,k,d0)|0,H1=d0<<2,d=H1,$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,x5=(i5|0)==0,x5||E2(i5),m5=t+28|0,b5=e[m5>>2]|0,V5=(b5|0)==0,V5||E2(b5),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(;J2=_1+(F3<<2)|0,j2=e[J2>>2]|0,y5=j2>>>16,N5=j2<<16,p5=y5|N5,L5=p5>>>8,q5=L5&16711935,M5=p5<<8,E5=M5&-16711936,$5=q5|E5,h5=$5>>>4,Q5=h5&252645135,T1=$5<<4,D5=T1&-252645136,d5=Q5|D5,l5=d5>>>2,X2=l5&858993459,d2=d5<<2,r5=d2&-858993460,a5=X2|r5,f5=a5>>>1,K2=f5&1431655765,I5=a5<<1,n5=I5&-1431655766,R5=K2|n5,e[J2>>2]=R5,e5=$2+(F3<<2)|0,e[e5>>2]=J2,c5=F3+1|0,j6=(c5|0)==(d0|0),!j6;)F3=c5;for(Pu($2,d0,4,10),m=H1,T2=C,C=C+((1*m|0)+15&-16)|0,z5=M9(H1)|0,i3=t+20|0,e[i3>>2]=z5,C5=_1,W3=0;;)if(I3=$2+(W3<<2)|0,d3=e[I3>>2]|0,W5=d3,r3=W5-C5|0,a3=r3>>2,y3=T2+(a3<<2)|0,e[y3>>2]=W3,G5=W3+1|0,N6=(G5|0)==(d0|0),N6){t6=0;break}else W3=G5;for(;x3=_1+(t6<<2)|0,f3=e[x3>>2]|0,w3=T2+(t6<<2)|0,e6=e[w3>>2]|0,H3=z5+(e6<<2)|0,e[H3>>2]=f3,X5=t6+1|0,b6=(X5|0)==(d0|0),!b6;)t6=X5;if(E2(_1),_3=tD(o,d0,T2)|0,t3=t+16|0,e[t3>>2]=_3,a6=M9(H1)|0,G3=t+24|0,e[G3>>2]=a6,c3=e[D>>2]|0,g3=(c3|0)>0,g3)for(y=e[o1>>2]|0,R6=0,Q6=0;;)if(u3=y+R6|0,Q3=f[u3>>0]|0,J5=Q3<<24>>24>0,J5?(H5=Q6+1|0,Y5=T2+(Q6<<2)|0,S5=e[Y5>>2]|0,Y3=a6+(S5<<2)|0,e[Y3>>2]=R6,X6=H5):X6=Q6,U5=R6+1|0,n3=(U5|0)<(c3|0),n3)R6=U5,Q6=X6;else{e9=X6;break}else e9=0;if(l3=M9(e9)|0,U3=t+28|0,e[U3>>2]=l3,C6=t+40|0,e[C6>>2]=0,g3){for(B=e[o1>>2]|0,s5=0,L3=B,c6=0,r9=0;;)if(b3=L3+c6|0,D3=f[b3>>0]|0,A6=D3<<24>>24>0,A6?(r6=r9+1|0,z3=T2+(r9<<2)|0,M3=e[z3>>2]|0,h3=e[U3>>2]|0,J3=h3+M3|0,f[J3>>0]=D3,d6=e[o1>>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=s5,R2=L3,V6=r9),n6=c6+1|0,_=e[D>>2]|0,Q=(n6|0)<(_|0),Q)s5=F2,L3=R2,c6=n6,r9=V6;else{I=F2,o9=V6;break}if(x=(o9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,F=le(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=o9}else P3=0;if(H=e[i0>>2]|0,V=(H|0)==0,V)U6=-4;else{for(g=H,Y6=0;;)if(t0=g>>>1,Z=Y6+1|0,A0=(t0|0)==0,A0){F6=Y6;break}else g=t0,Y6=Z;g9=F6+-3|0,U6=g9}if(j=t+36|0,r0=(U6|0)<5,a=r0?5:U6,s0=(a|0)>8,t9=s0?8:a,e[j>>2]=t9,K=1<>2]=o0,h0=(P3|0)>0,h0)for(l0=t9,o3=0;;){if(e0=e[U3>>2]|0,u0=e0+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,X=(l0|0)<($0|0),X)Q2=l0;else if(m0=e[i3>>2]|0,g0=m0+(o3<<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,N0=v0>>>2,U0=N0&858993459,O0=v0<<2,H0=O0&-858993460,S0=U0|H0,J0=S0>>>1,T0=J0&1431655765,M0=S0<<1,W0=M0&-1431655766,K0=T0|W0,V0=l0-$0|0,j0=(V0|0)==31,j0)Q2=l0;else for(q0=o3+1|0,s1=$0,A3=0;;)if(Y0=A3<>2]=q0,L0=A3+1|0,d1=e[j>>2]|0,u1=f[u0>>0]|0,p1=u1<<24>>24,f1=d1-p1|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,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,X1=P1&-252645136,G1=D1|X1,x1=G1>>>2,K1=x1&858993459,q1=G1<<2,V1=q1&-858993460,Y1=K1|V1,t2=Y1>>>1,s2=t2&1431655765,e2=Y1<<1,O1=e2&-1431655766,h2=s2|O1,Z1=o0+(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(c2=e[i3>>2]|0,n2=c2+(W1<<2)|0,g2=e[n2>>2]|0,o2=g2>>>0>y1>>>0,o2){T3=y6;break}else y6=W1}l2=(P3|0)>(v6|0);e:do if(l2)for(i2=e[i3>>2]|0,o6=v6;;){if(a2=i2+(o6<<2)|0,m2=e[a2>>2]|0,k2=m2&X0,D2=y1>>>0>>0,D2){R3=o6;break e}if(S2=o6+1|0,y2=(P3|0)>(S2|0),y2)o6=S2;else{R3=S2;break}}else R3=v6;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,s6=R3,D6=T3}else s6=v6,D6=g6;if(q2=J6+1|0,U2=(q2|0)<(K|0),!U2){$=0;break}b=e[j>>2]|0,C1=b,v6=s6,J6=q2,g6=D6}return C=O3,$|0}function nD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=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[o>>2]|0,d=e[g>>2]|0,m=$>>>0>d>>>0,I=m&1,E=$>>>0>>0,y=E&1,B=I-y|0,B|0}function oD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,K=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,w=(y0|0)/(k|0)&-1,_=(y|0)/(y0|0)&-1,Q=o5(_,w)|0,x=k+-1|0,M=o5(_,x)|0,L=C0-M|0,F=1-E0|0;do if((k|0)==2)if(Z=(F|0)==0,a=E+L|0,A0=K+(a<<2)|0,Z){Py(_,w,o,K,A0),Q0=0;break}else{Py(_,w,K,o,A0),Q0=F;break}else if((k|0)==4)if(O=L+_|0,H=(F|0)==0,$=E+L|0,V=K+($<<2)|0,g=E+O|0,J=K+(g<<2)|0,d=E+_|0,m=d+O|0,t0=K+(m<<2)|0,H){Uy(_,w,o,K,V,J,t0),Q0=0;break}else{Uy(_,w,K,o,V,J,t0),Q0=F;break}else if(j=(_|0)==1,D0=j?E0:F,r0=(D0|0)==0,I=E+L|0,s0=K+(I<<2)|0,r0){Oy(_,k,w,Q,o,o,o,K,K,s0),Q0=1;break}else{Oy(_,k,w,Q,K,K,K,o,o,s0),Q0=0;break}while(!1);if(o0=b0+1|0,d0=(o0|0)==(m0|0),d0){w0=Q0;break}else C0=L,b0=o0,y0=w,E0=Q0}if(Y=(w0|0)!=1,h0=(y|0)>0,B0=h0&Y,B0)p0=0;else return;for(;i0=K+(p0<<2)|0,e0=e[i0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=e0,c0=p0+1|0,n0=(c0|0)==(y|0),!n0;)p0=c0}}function Ny(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0;if(B1=C,e[t>>2]=o,m=o*3|0,I=le(m,4)|0,M=t+4|0,e[M>>2]=I,j=le(32,4)|0,$0=t+8|0,e[$0>>2]=j,y0=(o|0)==1,!y0){Z0=j+8|0,z0=-1,u1=0,p1=o,h1=0;e:for(;;)for(R0=z0+1|0,v0=(R0|0)<4,v0?(N0=25768+(R0<<2)|0,E=e[N0>>2]|0,A1=E):(y=h1+2|0,A1=y),B=(A1|0)!=2,V0=u1,f1=p1;;){if(W0=V0+1|0,b=(f1|0)/(A1|0)&-1,D=o5(b,A1)|0,k=(f1|0)==(D|0),!k){z0=R0,u1=V0,p1=f1,h1=A1;continue e}if(w=V0+2|0,_=j+(w<<2)|0,e[_>>2]=A1,Q=(V0|0)==0,c1=B|Q,!c1){if(x=(V0|0)<1,!x)for(T0=1;L=W0-T0|0,F=L+1|0,G=j+(F<<2)|0,O=e[G>>2]|0,H=L+2|0,V=j+(H<<2)|0,e[V>>2]=O,J=T0+1|0,S0=(J|0)==(W0|0),!S0;)T0=J;e[Z0>>2]=2}if(t0=(b|0)==1,t0){a=Q,K0=W0,j0=V0;break e}else V0=W0,f1=b}if(e[j>>2]=o,Z=j+4|0,e[Z>>2]=K0,A0=+(o|0),r0=6.2831854820251465/A0,$=a^1,s0=(j0|0)>0,a1=s0&$,!!a1)for(K=o+1|0,q0=0,L0=0,o1=1;;){if(o0=L0+2|0,Y=j+(o0<<2)|0,h0=e[Y>>2]|0,i0=o5(h0,o1)|0,e0=(o|0)/(i0|0)&-1,u0=(h0|0)>1,u0){for(c0=(e0|0)>2,l0=h0+-1|0,s1=q0,r1=0,d1=0;;){if(X=d1+o1|0,m0=+(X|0),g0=m0*r0,c0)for(J0=0,M0=s1,P0=2;I0=J0+1,n0=g0*I0,U0=+aA(+n0),g=M0+o|0,d0=I+(g<<2)|0,s[d0>>2]=U0,$1=+Vn(+n0),p0=M0+2|0,d=K+M0|0,C0=I+(d<<2)|0,s[C0>>2]=$1,b0=P0+2|0,D0=(b0|0)<(e0|0),D0;)J0=I0,M0=p0,P0=b0;if(E0=s1+e0|0,Q0=r1+1|0,O0=(Q0|0)==(l0|0),O0)break;s1=E0,r1=Q0,d1=X}w0=o5(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,o1=i0}}}function Gy(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0;y=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+8|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function Uy(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=0,e5=0,c5=0,T2=0,v5=0,z5=0,i3=0,C5=0,I3=0;if(I3=C,I=o5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,Y1=t<<2,W1=Y1+-1|0,k2=t<<1,d2=0,a5=I,I5=F1,e5=0,c5=E;U2=a+(a5<<2)|0,m5=+s[U2>>2],N5=a+(I5<<2)|0,y=+s[N5>>2],F=y+m5,s0=a+(e5<<2)|0,X=+s[s0>>2],E0=a+(c5<<2)|0,H0=+s[E0>>2],Y0=H0+X,A1=Y0+F,B1=e5<<2,m1=$+(B1<<2)|0,s[m1>>2]=A1,C1=Y0-F,y1=W1+B1|0,v1=$+(y1<<2)|0,s[v1>>2]=C1,k1=+s[s0>>2],S1=+s[E0>>2],L1=k1-S1,M1=B1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[N5>>2],U1=+s[U2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,X1=a5+t|0,G1=I5+t|0,x1=e5+t|0,K1=c5+t|0,q1=d2+1|0,d5=(q1|0)==(o|0),!d5;)d2=q1,a5=X1,I5=G1,e5=x1,c5=K1;if(H1=(t|0)<2,!H1){if(V1=(t|0)==2,!V1){if(Q1)for(t2=t<<1,w5=0,f5=0;;){for(n0=f5<<2,d0=n0+t2|0,X2=2,n5=f5,T2=n0,z5=d0;O1=n5+2|0,h2=T2+2|0,Z1=z5+-2|0,I2=O1+I|0,A2=X2+-2|0,C2=g+(A2<<2)|0,$2=+s[C2>>2],f2=I2+-1|0,c2=a+(f2<<2)|0,n2=+s[c2>>2],g2=n2*$2,o2=X2+-1|0,l2=g+(o2<<2)|0,i2=+s[l2>>2],a2=a+(I2<<2)|0,m2=+s[a2>>2],r2=m2*i2,D2=r2+g2,S2=m2*$2,y2=i2*n2,G2=S2-y2,M2=I2+I|0,O2=d+(A2<<2)|0,p2=+s[O2>>2],W2=M2+-1|0,q2=a+(W2<<2)|0,J2=+s[q2>>2],V2=J2*p2,Z2=d+(o2<<2)|0,A5=+s[Z2>>2],Y2=a+(M2<<2)|0,N1=+s[Y2>>2],t5=N1*A5,T5=t5+V2,i5=N1*p2,x5=A5*J2,j2=i5-x5,b5=M2+I|0,V5=m+(A2<<2)|0,u5=+s[V5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,s5=+s[B5>>2],F2=s5*u5,R2=m+(o2<<2)|0,Q2=+s[R2>>2],y5=a+(b5<<2)|0,p5=+s[y5>>2],L5=p5*Q2,q5=L5+F2,M5=p5*u5,z2=Q2*s5,E5=M5-z2,$5=q5+D2,h5=q5-D2,Q5=E5+G2,T1=G2-E5,B=a+(O1<<2)|0,b=+s[B>>2],D=b+j2,k=b-j2,w=n5+1|0,_=a+(w<<2)|0,Q=+s[_>>2],x=Q+T5,M=Q-T5,L=$5+x,G=T2|1,O=$+(G<<2)|0,s[O>>2]=L,H=Q5+D,V=$+(h2<<2)|0,s[V>>2]=H,J=M-T1,t0=z5+-3|0,Z=$+(t0<<2)|0,s[Z>>2]=J,A0=h5-k,j=$+(Z1<<2)|0,s[j>>2]=A0,r0=T1+M,K=h2+t2|0,o0=K+-1|0,Y=$+(o0<<2)|0,s[Y>>2]=r0,h0=h5+k,i0=$+(K<<2)|0,s[i0>>2]=h0,e0=x-$5,u0=Z1+t2|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=e0,l0=Q5-D,m0=$+(u0<<2)|0,s[m0>>2]=l0,g0=X2+2|0,I0=(g0|0)<(t|0),I0;)X2=g0,n5=O1,T2=h2,z5=Z1;if(s2=f5+t|0,e2=w5+1|0,l5=(e2|0)==(o|0),l5)break;w5=e2,f5=s2}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,K2=y0,R5=w0,v5=t,i3=t;B0=a+(K2<<2)|0,x0=+s[B0>>2],Z0=a+(R5<<2)|0,R0=+s[Z0>>2],v0=R0+x0,N0=v0*-.7071067690849304,U0=x0-R0,O0=U0*.7071067690849304,S0=i3+-1|0,J0=a+(S0<<2)|0,T0=+s[J0>>2],M0=O0+T0,P0=v5+-1|0,W0=$+(P0<<2)|0,s[W0>>2]=M0,K0=+s[J0>>2],V0=K0-O0,j0=v5+Q0|0,q0=j0+-1|0,s1=$+(q0<<2)|0,s[s1>>2]=V0,z0=K2+I|0,r1=a+(z0<<2)|0,L0=+s[r1>>2],o1=N0-L0,d1=$+(v5<<2)|0,s[d1>>2]=o1,u1=+s[r1>>2],p1=u1+N0,f1=$+(j0<<2)|0,s[f1>>2]=p1,h1=K2+t|0,c1=R5+t|0,a1=v5+D0|0,$1=i3+t|0,X0=r5+1|0,D5=(X0|0)==(o|0),!D5;)r5=X0,K2=h1,R5=c1,v5=a1,i3=$1}}function Py(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0;if(D1=C,d=o5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(A0=m+-1|0,B1=0,C1=0,k1=d;c0=a+(C1<<2)|0,b0=+s[c0>>2],N0=a+(k1<<2)|0,V0=+s[N0>>2],p1=V0+b0,A1=C1<<1,I=$+(A1<<2)|0,s[I>>2]=p1,E=+s[c0>>2],y=+s[N0>>2],B=E-y,b=A0+A1|0,D=$+(b<<2)|0,s[D>>2]=B,k=C1+t|0,w=k1+t|0,_=B1+1|0,a1=(_|0)==(o|0),!a1;)B1=_,C1=k,k1=w;if(Q=(t|0)<2,!Q){if(M=(t|0)==2,!M){if(x)for(m1=0,y1=0,S1=d;;){for(J0=y1<<1,T0=J0+m|0,X0=2,M1=S1,_1=T0,R1=y1,F1=J0;O=M1+2|0,H=_1+-2|0,V=R1+2|0,J=F1+2|0,t0=X0+-2|0,Z=g+(t0<<2)|0,j=+s[Z>>2],r0=M1+1|0,s0=a+(r0<<2)|0,K=+s[s0>>2],o0=K*j,Y=X0+-1|0,h0=g+(Y<<2)|0,i0=+s[h0>>2],e0=a+(O<<2)|0,u0=+s[e0>>2],$0=u0*i0,l0=$0+o0,X=u0*j,m0=i0*K,g0=X-m0,I0=a+(V<<2)|0,n0=+s[I0>>2],d0=g0+n0,p0=$+(J<<2)|0,s[p0>>2]=d0,C0=+s[I0>>2],y0=g0-C0,D0=$+(H<<2)|0,s[D0>>2]=y0,E0=R1+1|0,Q0=a+(E0<<2)|0,w0=+s[Q0>>2],B0=w0+l0,x0=F1|1,Z0=$+(x0<<2)|0,s[Z0>>2]=B0,R0=+s[Q0>>2],v0=R0-l0,U0=_1+-3|0,O0=$+(U0<<2)|0,s[O0>>2]=v0,H0=X0+2|0,S0=(H0|0)<(t|0),S0;)X0=H0,M1=O,_1=H,R1=V,F1=J;if(L=y1+t|0,F=S1+t|0,G=m1+1|0,$1=(G|0)==(o|0),$1)break;m1=G,y1=L,S1=F}if(M0=(t|0)%2&-1,P0=(M0|0)==1,P0)return}if(W0=t+-1|0,!!x)for(K0=d+W0|0,Q1=0,v1=t,L1=K0,b1=W0;j0=a+(L1<<2)|0,q0=+s[j0>>2],Y0=-q0,s1=$+(v1<<2)|0,s[s1>>2]=Y0,z0=a+(b1<<2)|0,r1=e[z0>>2]|0,L0=v1+-1|0,o1=$+(L0<<2)|0,e[o1>>2]=r1,d1=v1+m|0,u1=L1+t|0,f1=b1+t|0,h1=Q1+1|0,c1=(h1|0)==(o|0),!c1;)Q1=h1,v1=d1,L1=u1,b1=f1}}function Oy(t,o,a,$,g,d,m,I,E,y){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,y=y|0;var B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0;vt=C,D=+(o|0),k=6.2831854820251465/D,pt=+aA(+k),V8=+Vn(+k),C2=o+1|0,b3=C2>>1,J9=t+-1|0,Ye=J9>>1,O9=o5(a,t)|0,k9=o5(o,t)|0,me=(t|0)==1;e:do if(!me){if(D8=($|0)>0,D8)for(_4=0;d0=m+(_4<<2)|0,Z0=e[d0>>2]|0,P0=E+(_4<<2)|0,e[P0>>2]=Z0,o1=_4+1|0,Bt=(o1|0)==($|0),!Bt;)_4=o1;if(J=(o|0)>1,J)for(i0=(a|0)>0,wt=1,Z8=0;;){if(B1=Z8+O9|0,i0)for(l8=0,Ae=B1;_1=d+(Ae<<2)|0,H1=e[_1>>2]|0,$2=I+(Ae<<2)|0,e[$2>>2]=H1,r2=Ae+t|0,J2=l8+1|0,se=(J2|0)==(a|0),!se;)l8=J2,Ae=r2;if(j2=wt+1|0,lt=(j2|0)==(o|0),lt)break;wt=j2,Z8=B1}if(y5=0-t|0,T1=(Ye|0)>(a|0),T1){if(J)for(H3=(a|0)>0,J5=(t|0)>2,C3=y5,j9=1,R8=0;;){if(L3=R8+O9|0,x6=C3+t|0,H3)for(o6=L3-t|0,A3=x6+-1|0,ut=0,T8=o6;;){if(P3=T8+t|0,J5)for(ct=2,E4=A3,Bi=P3;O3=E4+2|0,w6=Bi+2|0,w9=E4+1|0,r4=y+(w9<<2)|0,He=+s[r4>>2],Ve=Bi+1|0,he=d+(Ve<<2)|0,Ue=+s[he>>2],Ee=Ue*He,v4=y+(O3<<2)|0,Z9=+s[v4>>2],v9=d+(w6<<2)|0,k4=+s[v9>>2],V4=k4*Z9,nt=V4+Ee,Y4=I+(Ve<<2)|0,s[Y4>>2]=nt,ze=+s[r4>>2],n4=+s[v9>>2],R4=n4*ze,ot=+s[v4>>2],ne=+s[he>>2],u4=ne*ot,Ce=R4-u4,T6=I+(w6<<2)|0,s[T6>>2]=Ce,Je=ct+2|0,de=(Je|0)<(t|0),de;)ct=Je,E4=O3,Bi=w6;if(Te=ut+1|0,$t=(Te|0)==(a|0),$t)break;ut=Te,T8=P3}if(h4=j9+1|0,Ct=(h4|0)==(o|0),Ct)break;C3=x6,j9=h4,R8=L3}}else if(J)for(I5=(t|0)>2,d3=(a|0)>0,Z4=y5,$4=1,Y8=0;;){if(oe=Z4+t|0,d4=Y8+O9|0,I5)for(f4=oe+-1|0,yt=2,gt=f4,$i=d4;;){if(ke=gt+2|0,o4=$i+2|0,d3)for(Pe=gt+1|0,I4=y+(Pe<<2)|0,I6=y+(ke<<2)|0,ht=0,ti=o4;z4=+s[I4>>2],fe=ti+-1|0,S4=d+(fe<<2)|0,Se=+s[S4>>2],Ie=Se*z4,z6=+s[I6>>2],F4=d+(ti<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+Ie,mt=I+(fe<<2)|0,s[mt>>2]=xe,Z3=+s[I4>>2],_9=+s[F4>>2],S9=_9*Z3,Oe=+s[I6>>2],s4=+s[S4>>2],d8=s4*Oe,N4=S9-d8,f8=I+(ti<<2)|0,s[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=ke,$i=o4;else break}if(Pt=$4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=oe,$4=Pt,Y8=d4}if(Ot=o5(O9,o)|0,qt=(Ye|0)<(a|0),t8=(b3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,_8=(t|0)>2,j4=1,dt=0,Hi=Ot;;){if(Q0=dt+O9|0,w0=Hi-O9|0,i8)for(Ze=0,li=Q0,ci=w0;;){if(_8)for(D4=2,ii=li,Si=ci;B0=ii+2|0,x0=Si+2|0,R0=ii+1|0,v0=I+(R0<<2)|0,N0=+s[v0>>2],U0=Si+1|0,O0=I+(U0<<2)|0,H0=+s[O0>>2],S0=H0+N0,J0=d+(R0<<2)|0,s[J0>>2]=S0,T0=I+(B0<<2)|0,M0=+s[T0>>2],W0=I+(x0<<2)|0,K0=+s[W0>>2],V0=M0-K0,j0=d+(U0<<2)|0,s[j0>>2]=V0,q0=+s[T0>>2],Y0=+s[W0>>2],s1=Y0+q0,z0=d+(B0<<2)|0,s[z0>>2]=s1,r1=+s[O0>>2],L0=+s[v0>>2],d1=r1-L0,u1=d+(x0<<2)|0,s[u1>>2]=d1,p1=D4+2|0,f1=(p1|0)<(t|0),f1;)D4=p1,ii=B0,Si=x0;if(h1=li+t|0,A1=ci+t|0,c1=Ze+1|0,Ke=(c1|0)==(a|0),Ke)break;Ze=c1,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,F9=1,j8=0,qi=Ot;;){if(x=j8+O9|0,M=qi-O9|0,_)for(p4=2,yi=x,vi=M;;){if(L=yi+2|0,F=vi+2|0,Q)for(G=F-t|0,O=L-t|0,Ft=0,Zi=O,f7=G;H=Zi+t|0,V=f7+t|0,t0=H+-1|0,Z=I+(t0<<2)|0,A0=+s[Z>>2],j=V+-1|0,r0=I+(j<<2)|0,s0=+s[r0>>2],K=s0+A0,o0=d+(t0<<2)|0,s[o0>>2]=K,Y=I+(H<<2)|0,h0=+s[Y>>2],e0=I+(V<<2)|0,u0=+s[e0>>2],c0=h0-u0,$0=d+(j<<2)|0,s[$0>>2]=c0,l0=+s[Y>>2],X=+s[e0>>2],m0=X+l0,g0=d+(H<<2)|0,s[g0>>2]=m0,I0=+s[r0>>2],n0=+s[Z>>2],p0=I0-n0,C0=d+(V<<2)|0,s[C0>>2]=p0,b0=Ft+1|0,Mt=(b0|0)==(a|0),!Mt;)Ft=b0,Zi=H,f7=V;if(y0=p4+2|0,D0=(y0|0)<(t|0),D0)p4=y0,yi=L,vi=F;else break}if(E0=F9+1|0,At=(E0|0)==(b3|0),At)break;F9=E0,j8=x,qi=M}}while(!1);if(w=($|0)>0,w)for(be=0;$1=E+(be<<2)|0,X0=e[$1>>2]|0,m1=m+(be<<2)|0,e[m1>>2]=X0,Q1=be+1|0,Kt=(Q1|0)==($|0),!Kt;)be=Q1;if(C1=o5($,o)|0,y1=(b3|0)>1,y1){for(v1=(a|0)>0,Wt=1,Nt=0,Vi=C1;;){if(k1=Nt+O9|0,S1=Vi-O9|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,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],X1=P1+U1,G1=d+(b1<<2)|0,s[G1>>2]=X1,x1=+s[D1>>2],K1=+s[F1>>2],q1=x1-K1,V1=d+(R1<<2)|0,s[V1>>2]=q1,Y1=c8+1|0,a4=(Y1|0)==(a|0),!a4;)c8=Y1,g7=b1,h7=R1;if(t2=Wt+1|0,s8=(t2|0)==(b3|0),s8)break;Wt=t2,Nt=k1,Vi=S1}if(s2=o+-1|0,e2=o5(s2,$)|0,y1){for(O1=(b3|0)>2,Ht=0,Yt=1,et=1,F8=0,Ei=C1;;){if(h2=F8+$|0,Z1=Ei-$|0,I2=Yt*pt,A2=Ht*V8,W1=I2-A2,f2=Ht*pt,c2=Yt*V8,n2=c2+f2,w)for(Qt=0,zi=h2,ui=Z1,Xi=e2,ni=$;g2=m+(Qt<<2)|0,o2=+s[g2>>2],l2=ni+1|0,i2=m+(ni<<2)|0,a2=+s[i2>>2],m2=a2*W1,k2=m2+o2,D2=zi+1|0,S2=E+(zi<<2)|0,s[S2>>2]=k2,y2=Xi+1|0,G2=m+(Xi<<2)|0,M2=+s[G2>>2],O2=M2*n2,p2=ui+1|0,W2=E+(ui<<2)|0,s[W2>>2]=O2,q2=Qt+1|0,E8=(q2|0)==($|0),!E8;)Qt=q2,zi=D2,ui=p2,Xi=y2,ni=l2;if(O1)for(Vt=n2,_t=W1,C8=2,Ji=$,z8=e2;;){if(U2=Ji+$|0,V2=z8-$|0,Z2=_t*W1,A5=Vt*n2,Y2=Z2-A5,N1=Vt*W1,t5=_t*n2,T5=t5+N1,w)for(a8=0,bi=h2,xi=Z1,Li=U2,N8=V2;i5=Li+1|0,x5=m+(Li<<2)|0,m5=+s[x5>>2],b5=m5*Y2,V5=bi+1|0,u5=E+(bi<<2)|0,b2=+s[u5>>2],B5=b2+b5,s[u5>>2]=B5,s5=N8+1|0,F2=m+(N8<<2)|0,R2=+s[F2>>2],Q2=R2*T5,N5=xi+1|0,p5=E+(xi<<2)|0,L5=+s[p5>>2],q5=L5+Q2,s[p5>>2]=q5,M5=a8+1|0,x8=(M5|0)==($|0),!x8;)a8=M5,bi=V5,xi=N5,Li=i5,N8=s5;if(z2=C8+1|0,o8=(z2|0)==(b3|0),o8)break;Vt=T5,_t=Y2,C8=z2,Ji=U2,z8=V2}if(E5=et+1|0,L8=(E5|0)==(b3|0),L8)break;Ht=n2,Yt=W1,et=E5,F8=h2,Ei=Z1}if(y1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(We=0,X8=$5;h5=X8+1|0,Q5=m+(X8<<2)|0,D5=+s[Q5>>2],d5=E+(We<<2)|0,l5=+s[d5>>2],X2=l5+D5,s[d5>>2]=X2,d2=We+1|0,p8=(d2|0)==($|0),!p8;)We=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(K2=(t|0)>0,K2)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+k9|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(K4=0,Yi=O4,Ki=Ci;R5=Yi+1|0,e5=I+(Yi<<2)|0,c5=e[e5>>2]|0,T2=Ki+1|0,v5=g+(Ki<<2)|0,e[v5>>2]=c5,z5=K4+1|0,Lt=(z5|0)==(t|0),!Lt;)K4=z5,Yi=R5,Ki=T2;if(i3=O4+t|0,C5=Ci+k9|0,I3=Tt+1|0,x9=(I3|0)==(a|0),x9)break;Tt=I3,O4=i3,Ci=C5}if(f3=t<<1,w3=o5(O9,o)|0,y1)for(e6=(a|0)>0,$8=1,M8=0,Qi=0,Wi=w3;;){if(X5=M8+f3|0,_3=Qi+O9|0,t3=Wi-O9|0,e6)for(b9=0,ri=X5,Di=_3,t7=t3;a6=I+(Di<<2)|0,G3=e[a6>>2]|0,V3=ri+-1|0,c3=g+(V3<<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+k9|0,Y5=Di+t|0,S5=t7+t|0,Y3=b9+1|0,Et=(Y3|0)==(a|0),!Et;)b9=Y3,ri=H5,Di=Y5,t7=S5;if(U5=$8+1|0,J4=(U5|0)==(b3|0),J4)break;$8=U5,M8=X5,Qi=_3,Wi=t3}if(!me){if(l6=(Ye|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+O9|0,r6=d7-O9|0,!xt)for(g8=0,e7=C6,hi=D3,x4=A6,di=r6;;){for(ae=2;d6=t-ae|0,m3=ae+x4|0,L6=m3+-1|0,M6=I+(L6<<2)|0,S6=+s[M6>>2],n6=ae+di|0,f6=n6+-1|0,b6=I+(f6<<2)|0,N6=+s[b6>>2],j6=N6+S6,v6=ae+hi|0,R3=v6+-1|0,s6=g+(R3<<2)|0,s[s6>>2]=j6,B6=+s[M6>>2],K3=+s[b6>>2],F3=B6-K3,W3=d6+e7|0,t6=W3+-1|0,R6=g+(t6<<2)|0,s[R6>>2]=F3,c6=I+(m3<<2)|0,o3=+s[c6>>2],J6=I+(n6<<2)|0,g6=+s[J6>>2],y6=g6+o3,T3=g+(v6<<2)|0,s[T3>>2]=y6,H6=+s[J6>>2],$6=+s[c6>>2],D6=H6-$6,G6=g+(W3<<2)|0,s[G6>>2]=D6,e9=ae+2|0,Q6=(e9|0)<(t|0),Q6;)ae=e9;if(z3=e7+k9|0,j5=hi+k9|0,M3=x4+t|0,h3=di+t|0,J3=g8+1|0,r8=(J3|0)==(a|0),r8)break;g8=J3,e7=z3,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,A4=1,l4=n3,u7=0,ki=0,ji=w3;;){if(r9=l4+f3|0,V6=u7+f3|0,o9=ki+O9|0,g9=ji-O9|0,l3&&(U6=r9+t|0,U3))for(P4=2;;){for(Re=P4+g9|0,Fe=P4+o9|0,Ge=P4+V6|0,qe=U6-P4|0,jt=0,_i=qe,J8=Ge,Mi=Fe,$9=Re;t9=Mi+-1|0,_6=I+(t9<<2)|0,P6=+s[_6>>2],O6=$9+-1|0,s9=I+(O6<<2)|0,h9=+s[s9>>2],n9=h9+P6,C9=J8+-1|0,B9=g+(C9<<2)|0,s[B9>>2]=n9,y9=+s[_6>>2],d9=+s[s9>>2],f9=y9-d9,V9=_i+-1|0,q6=g+(V9<<2)|0,s[q6>>2]=f9,a9=I+(Mi<<2)|0,Y9=+s[a9>>2],Q9=I+($9<<2)|0,Qe=+s[Q9>>2],ge=Qe+Y9,pe=g+(J8<<2)|0,s[pe>>2]=ge,z9=+s[Q9>>2],re=+s[a9>>2],R9=z9-re,K6=g+(_i<<2)|0,s[K6>>2]=R9,A9=_i+k9|0,we=J8+k9|0,Me=Mi+t|0,ue=$9+t|0,D9=jt+1|0,zt=(D9|0)==(a|0),!zt;)jt=D9,_i=A9,J8=we,Mi=Me,$9=ue;if(Y6=P4+2|0,F6=(Y6|0)<(t|0),F6)P4=Y6;else break}if(ve=A4+1|0,Jt=(ve|0)==(b3|0),Jt)break;A4=ve,l4=r9,u7=V6,ki=o9,ji=g9}}}function sD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,y8=0,G8=0,nn=0,kr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,Sr=0,$n=0,Bs=0,ys=0,ln=0,I7=0,ro=0,Qs=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,br=0,un=0,Ts=0,or=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dr=0,Io=0,p7=0,fn=0,_r=0,sr=0,xr=0,K7=0,Lr=0,mo=0,W7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,ar=0,Ar=0,Rr=0,E7=0,Os=0,fi=0,Al=0,In=0,mn=0,Ou=0,$l=0,qs=0,qu=0,lA=0,ll=0,Hu=0,Vu=0,Yu=0,cA=0,cl=0,gl=0,gA=0,pn=0,ul=0,zu=0,Hs=0,$r=0,Ju=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,hl=0,Fr=0,nh=0,oh=0,dl=0,sh=0,uA=0,Vs=0,hA=0,ah=0,Ah=0,dA=0,fl=0,Il=0,ml=0,fA=0,pl=0,Ys=0,$h=0,lh=0,El=0,ch=0,gh=0,Cl=0,uh=0,hh=0,Bl=0,yl=0,Ql=0,wl=0,vl=0,En=0,dh=0,kl=0,fh=0,Sl=0,bl=0,Ih=0,mh=0,ph=0,IA=0,Dl=0,_l=0,po=0,xl=0,mA=0,Eh=0,Ll=0,Ch=0,Ml=0,Bh=0,yh=0,Rl=0,Fl=0,Qh=0,zs=0,wh=0,pA=0,Tl=0,Nl=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Js=0,Gl=0,Ul=0,Pl=0,Ks=0,xh=0,Ol=0,Lh=0,ql=0,Mh=0,Rh=0,Hl=0,EA=0,Fh=0,Th=0,Ws=0,Nh=0,Zs=0,Gh=0,CA=0,Uh=0,Ph=0,Oh=0,Vl=0,qh=0,Hh=0,Vh=0,Yh=0,Yl=0,zl=0,lr=0,Jl=0,js=0,BA=0,yA=0,Cn=0,Kl=0,Bn=0,zh=0,Wl=0,Jh=0,Kh=0,Wh=0,Zh=0,Xs=0,QA=0,Tr=0,jh=0,Xh=0,Zl=0,wA=0,jl=0,Xl=0,ed=0,ec=0,td=0,vA=0,id=0,rd=0,K9=0,nd=0,tc=0,od=0,sd=0,kA=0,ad=0,SA=0,ic=0,Ad=0,$d=0,rc=0,nc=0,ld=0,bA=0,DA=0,oc=0,sc=0,cd=0,ac=0,_A=0,gd=0,Ac=0,ud=0,hd=0,dd=0,fd=0,$c=0,lc=0,xA=0,ea=0,cc=0,Id=0,gc=0,uc=0,md=0,pd=0,Ed=0,hc=0,Cd=0,Bd=0,yd=0,Qd=0,wd=0,vd=0,dc=0,kd=0,fc=0,Sd=0,yn=0,bd=0,Ic=0,Dd=0,Eo=0,mc=0,LA=0,_d=0,ta=0,MA=0,xd=0,RA=0,pc=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,Ec=0,Nd=0,Gd=0,Ud=0,ia=0,Co=0,FA=0,Pd=0,TA=0,Od=0,qd=0,Hd=0,Cc=0,Vd=0,Yd=0,zd=0,Jd=0,Kd=0,ra=0,Wd=0,Zd=0,Bc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,yc=0,B7=0,Qc=0,NA=0,rf=0,r7=0,Bo=0,nf=0,of=0,sf=0,af=0,Af=0,wc=0,$f=0,lf=0,vc=0,cf=0,gf=0,yo=0,GA=0,uf=0,kc=0,hf=0,df=0,na=0,ff=0,If=0,Sc=0,bc=0,mf=0,pf=0,Qn=0,Ef=0,Cf=0,wn=0,Bf=0,Dc=0,yf=0,Qf=0,Qo=0,_c=0,wf=0,xc=0,vf=0,cr=0,UA=0,kf=0,Lc=0,Mc=0,Sf=0,bf=0,Rc=0,Df=0,_f=0,xf=0,Fc=0,Lf=0,wo=0,Mf=0,vn=0,Rf=0,Ff=0,PA=0,Tf=0,OA=0,qA=0,Nf=0,Tc=0,Nc=0,Gf=0,Gc=0,Uc=0,Pc=0,Uf=0,Oc=0,qc=0,Pf=0,Of=0,Hc=0,Vc=0,qf=0,Yc=0,zc=0,Hf=0,Vf=0,Jc=0,HA=0,Kc=0,Wc=0,Zc=0,jc=0,Yf=0,zf=0,Jf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Xc=0,VA=0,eI=0,tI=0,iI=0,eg=0,tg=0,rI=0,ig=0,YA=0,oa=0,rg=0,nI=0,oI=0,sI=0,aI=0,ng=0,sa=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,sg=0,EI=0,CI=0,kn=0,ag=0,Ag=0,zA=0,BI=0,$g=0,yI=0,lg=0,cg=0,QI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,JA=0,bI=0,DI=0,_I=0,xI=0,gg=0,LI=0,ug=0,MI=0,RI=0,hg=0,Nr=0,dg=0,fg=0,FI=0,Ig=0,$a=0,TI=0,NI=0,GI=0,la=0,mg=0,UI=0,PI=0,pg=0,OI=0,qI=0,KA=0,ca=0,HI=0,VI=0,YI=0,Eg=0,Cg=0,Bg=0,zI=0,JI=0,vo=0,KI=0,yg=0,WI=0,WA=0,Qg=0,ZI=0,jI=0,XI=0,em=0,wg=0,tm=0,im=0,vg=0,ga=0,rm=0,nm=0,om=0,ko=0,kg=0,Sg=0,sm=0,bg=0,Dg=0,L7=0,_g=0,gr=0,am=0,Am=0,$m=0,lm=0,ZA=0,ua=0,xg=0,Lg=0,cm=0,ha=0,So=0,gm=0,da=0,jA=0,um=0,XA=0,hm=0,dm=0,Mg=0,fa=0,Rg=0,fm=0,Im=0,mm=0,pm=0,Fg=0,Em=0,oi=0,De=0,n7=0,Cm=0,Tg=0,Ng=0,e$=0,Bm=0,Gr=0,bo=0,ym=0,Qm=0,Gg=0,t$=0,wm=0,Ug=0,Pg=0,Og=0,i$=0,r$=0,qg=0,Do=0,n$=0,Hg=0,vm=0,Sn=0,km=0,Vg=0,Ia=0,Sm=0,Yg=0,M7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,R7=0,Rm=0,Fm=0,Tm=0,zg=0,y7=0,ma=0,o$=0,Jg=0,Kg=0,Nm=0,Wg=0,Zg=0,Gm=0,Um=0,jg=0,Xg=0,Pm=0,Om=0,eu=0,qm=0,_o=0,pa=0,Ea=0,Hm=0,s$=0,Vm=0,Ym=0,tu=0,xo=0,zm=0,Jm=0,a$=0,A$=0,Ca=0,$$=0,l$=0,ur=0,Ur=0,Pr=0,c$=0,g$=0,Lo=0,hr=0,bn=0,Km=0,dr=0,Dn=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,iu=0,ru=0,Qa=0,u$=0,Ni=0,wa=0,Or=0,h$=0,Zm=0,d$=0,jm=0,f$=0,nu=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,_n=0,tt=0,Le=0,ou=0,ip=0,I$=0,su=0,rp=0,np=0,ba=0,op=0,sp=0,ap=0,Ap=0,au=0,$p=0,lp=0,cp=0,o7=0,Da=0,xn=0,m$=0,Mo=0,Ro=0,si=0,Fo=0,Au=0,$u=0,_a=0,To=0,No=0,Go=0,gp=0,Uo=0,fr=0,lu=0,qr=0,s7=0,p$=0,E$=0,Z7=0,C$=0,B$=0,y$=0,Hr=0,h6=0,xa=0,Vr=0,cu=0,L4=0,Q$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Yr=0,je=0,w$=0,PC=0,up=0,lE=0,cE=0,OC=0,hp=0,Xy=0,eQ=0,tQ=0,iQ=0,rQ=0,nQ=0,oQ=0,sQ=0,aQ=0,AQ=0,$Q=0,lQ=0,qC=0,HC=0,cQ=0,gQ=0,uQ=0,gu=0,gE=0,Q7=0,uu=0,hu=0,du=0,fu=0,dp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,yp=0,Qp=0,uE=0,La=0,Ir=0,v$=0,Iu=0,k$=0,VC=0,Ma=0,wp=0,S$=0,hE=0,dE=0,vp=0,fE=0,IE=0,mE=0,pE=0,EE=0,CE=0,BE=0,YC=0,zC=0,JC=0,KC=0,WC=0,Ra=0,Fa=0,Ta=0,Na=0,hQ=0,mr=0,$e=0,RD=0,Ga=0,yE=0;if(RD=C,I0=t+28|0,n0=e[I0>>2]|0,n8=(n0|0)==0,n8||(ui=n0+3456|0,mo=e[ui>>2]|0,Gl=(mo|0)==0,o=Gl&1,Eo=n0+3496|0,Gc=+l1[Eo>>3],Eg=Gc>-80,Eg?l1[Eo>>3]=-80:(Um=Gc<-200,Um&&(l1[Eo>>3]=-200)),d0=n0+3512|0,j2=+l1[d0>>3],A3=j2>0,A3?l1[d0>>3]=0:(ve=j2<-99999,ve&&(l1[d0>>3]=-99999)),V4=n0+3396|0,T6=e[V4>>2]|0,Pe=(T6|0)==0,Pe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=T6+24|0,L8=e[Et>>2]|0,m4=T6+28|0,P4=e[m4>>2]|0,A4=~~i8,jt=L8+(A4<<2)|0,V8=e[jt>>2]|0,Xt=P4+(A4<<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,cs=(B8|0)>0,cs){for(Is=T6+136|0,Cs=T6+140|0,oo=T6+148|0,or=i8,Tr=n0,uE=0;;){if(_s=~~or,fo=e[Is>>2]|0,W7=e[Cs>>2]|0,fi=e[oo>>2]|0,Vu=fi+(uE<<2)|0,Ju=e[Vu>>2]|0,Fr=le(1,1120)|0,fl=Ju+(_s<<2)|0,Cl=e[fl>>2]|0,fh=W7+(Cl*1120|0)|0,ce(Fr|0,fh|0,1120)|0,mA=e[Fr>>2]|0,wh=(mA|0)>0,wh){for(Ul=Fr+4|0,gE=0,BE=-1;;)if(_A=Ul+(gE<<2)|0,cc=e[_A>>2]|0,Qd=(cc|0)>(BE|0),A0=Qd?cc:BE,mc=gE+1|0,$Q=(mc|0)==(mA|0),$Q){j=A0;break}else gE=mc,BE=A0;if(Fh=(j|0)<0,!Fh){for(qh=Fr+256|0,Cn=Tr+24|0,id=Fr+192|0,Ad=Fr+320|0,k$=0,mE=-1;;){if(Mc=qh+(k$<<2)|0,vn=e[Mc>>2]|0,Uc=(vn|0)>(mE|0),t0=Uc?vn:mE,zc=e[Cn>>2]|0,Jf=zc+vn|0,e[Mc>>2]=Jf,eg=id+(k$<<2)|0,ng=e[eg>>2]|0,fI=(ng|0)==31,fI)pE=t0;else for(D9=ng,fE=0,CE=t0;;)if(zA=(Ad+(k$<<5)|0)+(fE<<2)|0,Aa=e[zA>>2]|0,hg=(Aa|0)>(CE|0),Z=hg?Aa:CE,mg=(Aa|0)>-1,mg?(Cg=e[Cn>>2]|0,jI=Cg+Aa|0,e[zA>>2]=jI,s0=e[eg>>2]|0,jA=s0):jA=D9,ko=fE+1|0,$m=1<>2]|0,rf=e[Zd>>2]|0,vc=e[Cn>>2]|0,If=vc+1|0,e[Cn>>2]=If,yf=(Tr+1824|0)+(vc<<2)|0,e[yf>>2]=rf,oQ=(EE|0)==0,!oQ))for(VC=0;r$=VC+1|0,i0=e[fl>>2]|0,Yg=fo+(i0<<2)|0,Tm=e[Yg>>2]|0,jg=Tm+(r$<<2)|0,Vm=e[jg>>2]|0,ur=e[Cn>>2]|0,Wm=ur+1|0,e[Cn>>2]=Wm,wa=(Tr+1824|0)+(ur<<2)|0,e[wa>>2]=Vm,nQ=(r$|0)==(EE|0),!nQ;)VC=r$}}if(ka=Tr+16|0,np=e[ka>>2]|0,Da=(Tr+800|0)+(np<<2)|0,e[Da>>2]=1,No=e[ka>>2]|0,C$=(Tr+1056|0)+(No<<2)|0,e[C$>>2]=Fr,p0=e[ka>>2]|0,R0=p0+1|0,e[ka>>2]=R0,W0=uE+1|0,d1=e[ni>>2]|0,m1=(W0|0)<(d1|0),!m1)break;r0=+l1[N4>>3],l0=e[I0>>2]|0,or=r0,Tr=l0,uE=W0}m0=e[I0>>2]|0,X5=m0}else X5=n0;R1=n0+3520|0,V1=+l1[R1>>3],$2=T6+124|0,r2=e[$2>>2]|0,J2=T6+128|0,m5=e[J2>>2]|0,N5=~~V1,D5=+(N5|0),n5=V1-D5,W5=X5+2868|0,H5=m5+(N5<<3)|0,L3=+l1[H5>>3],x6=~~L3,o6=r2+(x6*492|0)|0,ce(W5|0,o6|0,492)|0,g6=+l1[H5>>3],r9=1-n5,O6=g6*r9,q6=N5+1|0,K6=m5+(q6<<3)|0,Re=+l1[K6>>3],Fe=Re*n5,Ge=Fe+O6,qe=~~Ge,r4=+(qe|0),He=Ge-r4,J9=He==0,Ve=(qe|0)>0,YC=Ve&J9,I=YC?1:He,he=YC<<31>>31,F=he+qe|0,Ue=1-I,Ee=F+1|0,v4=(r2+(F*492|0)|0)+4|0,Z9=+s[v4>>2],v9=Z9,k4=Ue*v9,nt=(r2+(Ee*492|0)|0)+4|0,Ye=+s[nt>>2],Y4=Ye,ze=I*Y4,n4=k4+ze,R4=n4,ot=X5+2872|0,s[ot>>2]=R4,ne=(r2+(F*492|0)|0)+32|0,u4=+s[ne>>2],Ce=u4,Je=Ue*Ce,O9=(r2+(Ee*492|0)|0)+32|0,de=+s[O9>>2],Te=de,h4=I*Te,oe=Je+h4,d4=oe,f4=X5+2900|0,s[f4>>2]=d4,ke=(r2+(F*492|0)|0)+8|0,o4=+s[ke>>2],I4=o4,k9=Ue*I4,I6=(r2+(Ee*492|0)|0)+8|0,z4=+s[I6>>2],fe=z4,S4=I*fe,Se=k9+S4,Ie=Se,z6=X5+2876|0,s[z6>>2]=Ie,F4=(r2+(F*492|0)|0)+36|0,st=+s[F4>>2],me=st,xe=Ue*me,mt=(r2+(Ee*492|0)|0)+36|0,Z3=+s[mt>>2],_9=Z3,S9=_9*I,Oe=S9+xe,s4=Oe,d8=X5+2904|0,s[d8>>2]=s4,f8=(r2+(F*492|0)|0)+12|0,D8=+s[f8>>2],e8=D8,I8=e8*Ue,m8=(r2+(Ee*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,_8=X5+2880|0,s[_8>>2]=t8,Ht=(r2+(F*492|0)|0)+40|0,Vt=+s[Ht>>2],Yt=Vt,_t=Yt*Ue,xt=(r2+(Ee*492|0)|0)+40|0,pt=+s[xt>>2],zt=pt,Jt=zt*I,r8=Jt+_t,J4=r8,G4=X5+2908|0,s[G4>>2]=J4,at=(r2+(F*492|0)|0)+16|0,Lt=+s[at>>2],x9=Lt,p8=x9*Ue,b4=(r2+(Ee*492|0)|0)+16|0,E8=+s[b4>>2],x8=E8,o8=x8*I,a4=o8+p8,s8=a4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(r2+(F*492|0)|0)+44|0,At=+s[Mt>>2],Ke=At,U4=Ke*Ue,$t=(r2+(Ee*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,se=Rt*I,lt=se+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,yt=X5+3512|0,p4=+l1[yt>>3],D4=p4,K4=X5+2936|0,s[K4>>2]=D4,W4=T6+132|0,ae=e[W4>>2]|0,E4=n0+3472|0,gt=+l1[E4>>3],_4=gt,be=~~_4,Qt=+(be|0),a8=_4-Qt,We=a8,C3=e[I0>>2]|0,Z4=(ae|0)==0;e:do if(Z4)wt=C3+4|0,j9=e[C3>>2]|0,$4=C3+3240|0,e[$4>>2]=j9,F9=e[wt>>2]|0,j4=C3+3300|0,e[j4>>2]=F9,Wt=C3+3244|0,e[Wt>>2]=j9,C8=C3+3304|0,e[C8>>2]=F9,A8=C3+3248|0,e[A8>>2]=j9,$8=C3+3308|0,e[$8>>2]=F9,Zt=C3+3252|0,e[Zt>>2]=j9,l8=C3+3312|0,e[l8>>2]=F9,ut=C3+3256|0,e[ut>>2]=j9,ht=C3+3316|0,e[ht>>2]=F9,Ft=C3+3260|0,e[Ft>>2]=j9,Ze=C3+3320|0,e[Ze>>2]=F9,c8=C3+3264|0,e[c8>>2]=j9,Tt=C3+3324|0,e[Tt>>2]=F9,X4=C3+3268|0,e[X4>>2]=j9,b9=C3+3328|0,e[b9>>2]=F9,g8=C3+3272|0,e[g8>>2]=j9,et=C3+3332|0,e[et>>2]=F9,Z8=C3+3276|0,e[Z8>>2]=j9,M8=C3+3336|0,e[M8>>2]=F9,u8=C3+3280|0,e[u8>>2]=j9,R8=C3+3340|0,e[R8>>2]=F9,l4=C3+3284|0,e[l4>>2]=j9,Y8=C3+3344|0,e[Y8>>2]=F9,j8=C3+3288|0,e[j8>>2]=j9,dt=C3+3348|0,e[dt>>2]=F9,Nt=C3+3292|0,e[Nt>>2]=j9,F8=C3+3352|0,e[F8>>2]=F9,O4=C3+3296|0,e[O4>>2]=j9,C4=C3+3356|0,e[C4>>2]=F9;else{Ae=C3+3120|0,T8=ae+(be*240|0)|0,mr=Ae,Ga=T8,yE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(yE|0));$i=C3+3180|0,qi=(ae+(be*240|0)|0)+60|0,mr=$i,Ga=qi,yE=mr+60|0;do e[mr>>2]=e[Ga>>2]|0,mr=mr+4|0,Ga=Ga+4|0;while((mr|0)<(yE|0));if(Hi=n0+3420|0,Vi=e[Hi>>2]|0,Ei=(Vi|0)==0,!Ei)for(X8=1-We,ei=be+1|0,Bi=t+8|0,ti=C3+4|0,o0=e[Bi>>2]|0,yi=+(o0|0),Ir=0;;){if(li=((ae+(be*240|0)|0)+120|0)+(Ir<<2)|0,g7=+s[li>>2],Yi=g7,Qi=Yi*X8,wi=((ae+(ei*240|0)|0)+120|0)+(Ir<<2)|0,u7=+s[wi>>2],ci=u7,h7=ci*We,zi=h7+Qi,Ji=zi,Ki=Ji,Wi=Ki*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=~~Ji,e7=(C3+2940|0)+(Ir<<2)|0,e[e7>>2]=Di,_i=((ae+(be*240|0)|0)+180|0)+(Ir<<2)|0,xi=+s[_i>>2],t7=xi,hi=t7*X8,J8=((ae+(ei*240|0)|0)+180|0)+(Ir<<2)|0,Li=+s[J8>>2],x4=Li,Mi=x4*We,N8=Mi+hi,di=N8,$9=di,vt=$9*1e3,y8=vt/yi,G8=e[C3>>2]|0,nn=+(G8|0),kr=nn*y8,As=~~kr,zn=(C3+3240|0)+(Ir<<2)|0,e[zn>>2]=As,$s=e[ti>>2]|0,Jn=+($s|0),ls=Jn*y8,Kn=~~ls,gs=(C3+3300|0)+(Ir<<2)|0,e[gs>>2]=Kn,on=Ir+1|0,aQ=(on|0)==15,aQ)break e;Ir=on}for(us=(ae+(be*240|0)|0)+148|0,hs=+s[us>>2],ds=hs,Wn=1-We,fs=ds*Wn,Zn=be+1|0,jn=(ae+(Zn*240|0)|0)+148|0,sn=+s[jn>>2],Xn=sn,an=Xn*We,eo=an+fs,to=eo,ms=to,ps=ms*1e3,Es=t+8|0,An=C3+4|0,io=~~to,h0=e[Es>>2]|0,Sr=+(h0|0),$n=ps/Sr,Iu=0;Bs=e[C3>>2]|0,ys=+(Bs|0),ln=ys*$n,I7=~~ln,ro=(C3+3e3|0)+(Iu<<2)|0,e[ro>>2]=I7,Qs=e[An>>2]|0,ws=+(Qs|0),no=ws*$n,so=~~no,vs=(C3+3060|0)+(Iu<<2)|0,e[vs>>2]=so,m7=(C3+2940|0)+(Iu<<2)|0,e[m7>>2]=io,cn=Iu+1|0,lQ=(cn|0)==15,!lQ;)Iu=cn;for(ks=(ae+(be*240|0)|0)+208|0,ao=+s[ks>>2],Ss=ao,bs=Ss*Wn,Ds=(ae+(Zn*240|0)|0)+208|0,Ao=+s[Ds>>2],xs=Ao,Ls=xs*We,Ms=Ls+bs,$o=Ms,Rs=$o,Fs=Rs*1e3,gn=Fs/Sr,wp=0;br=e[C3>>2]|0,un=+(br|0),Ts=un*gn,Ns=~~Ts,lo=(C3+3240|0)+(wp<<2)|0,e[lo>>2]=Ns,hn=e[An>>2]|0,co=+(hn|0),dn=co*gn,Gs=~~dn,go=(C3+3300|0)+(wp<<2)|0,e[go>>2]=Gs,uo=wp+1|0,sQ=(uo|0)==15,!sQ;)wp=uo}while(!1);for(Us=+l1[N4>>3],ho=T6+92|0,Ps=e[ho>>2]|0,Dr=T6+100|0,Io=e[Dr>>2]|0,p7=T6+108|0,fn=e[p7>>2]|0,_r=e[I0>>2]|0,sr=_r+2852|0,xr=e[sr>>2]|0,K7=~~Us,Lr=_r+28|0,D7=e[Lr>>2]|0,_7=(D7|0)>0,_7||(e[Lr>>2]=1),i7=(xr|0)==0,i7?(x7=le(1,520)|0,e[sr>>2]=x7,Ra=x7):Ra=xr,ce(Ra|0,25784,520)|0,e[Ra>>2]=0,Mr=_r+3460|0,ar=e[Mr>>2]|0,Ar=(ar|0)==0,Ar||(Rr=Ra+500|0,e[Rr>>2]=1,E7=Ps+(K7<<2)|0,Os=e[E7>>2]|0,Al=Ra+504|0,e[Al>>2]=Os,In=Io+(K7<<2)|0,mn=e[In>>2]|0,Ou=Ra+508|0,e[Ou>>2]=mn,$l=fn+(K7<<3)|0,qs=+l1[$l>>3],qu=Ra+512|0,l1[qu>>3]=qs),lA=+l1[N4>>3],ll=e[ho>>2]|0,Hu=e[Dr>>2]|0,Yu=e[p7>>2]|0,cA=e[I0>>2]|0,cl=cA+2856|0,gl=e[cl>>2]|0,gA=~~lA,pn=cA+28|0,ul=e[pn>>2]|0,zu=(ul|0)>1,zu||(e[pn>>2]=2),Hs=(gl|0)==0,Hs?($r=le(1,520)|0,e[cl>>2]=$r,Fa=$r):Fa=gl,ce(Fa|0,25784,520)|0,e[Fa>>2]=0,Ku=cA+3460|0,Wu=e[Ku>>2]|0,Zu=(Wu|0)==0,Zu||(ju=Fa+500|0,e[ju>>2]=1,Xu=ll+(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,hl=Fa+508|0,e[hl>>2]=rh,nh=Yu+(gA<<3)|0,oh=+l1[nh>>3],dl=Fa+512|0,l1[dl>>3]=oh),z8||(sh=+l1[N4>>3],uA=T6+96|0,Vs=e[uA>>2]|0,hA=T6+104|0,ah=e[hA>>2]|0,Ah=e[p7>>2]|0,dA=e[I0>>2]|0,Il=dA+2860|0,ml=e[Il>>2]|0,fA=~~sh,pl=dA+28|0,Ys=e[pl>>2]|0,$h=(Ys|0)>2,$h||(e[pl>>2]=3),lh=(ml|0)==0,lh?(El=le(1,520)|0,e[Il>>2]=El,Ta=El):Ta=ml,ce(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,Bl=Vs+(fA<<2)|0,yl=e[Bl>>2]|0,Ql=Ta+504|0,e[Ql>>2]=yl,wl=ah+(fA<<2)|0,vl=e[wl>>2]|0,En=Ta+508|0,e[En>>2]=vl,dh=Ah+(fA<<3)|0,kl=+l1[dh>>3],Sl=Ta+512|0,l1[Sl>>3]=kl),bl=+l1[N4>>3],Ih=e[uA>>2]|0,mh=e[hA>>2]|0,ph=e[p7>>2]|0,IA=e[I0>>2]|0,Dl=IA+2864|0,_l=e[Dl>>2]|0,po=~~bl,xl=IA+28|0,Eh=e[xl>>2]|0,Ll=(Eh|0)>3,Ll||(e[xl>>2]=4),Ch=(_l|0)==0,Ch?(Ml=le(1,520)|0,e[Dl>>2]=Ml,Na=Ml):Na=_l,ce(Na|0,25784,520)|0,e[Na>>2]=1,Bh=IA+3460|0,yh=e[Bh>>2]|0,Rl=(yh|0)==0,Rl||(Fl=Na+500|0,e[Fl>>2]=1,Qh=Ih+(po<<2)|0,zs=e[Qh>>2]|0,pA=Na+504|0,e[pA>>2]=zs,Tl=mh+(po<<2)|0,Nl=e[Tl>>2]|0,vh=Na+508|0,e[vh>>2]=Nl,kh=ph+(po<<3)|0,Sh=+l1[kh>>3],bh=Na+512|0,l1[bh>>3]=Sh)),Dh=(n0+3528|0)+(o<<5)|0,_h=+l1[Dh>>3],Js=T6+32|0,Pl=e[Js>>2]|0,Ks=T6+36|0,xh=e[Ks>>2]|0,Ol=T6+44|0,Lh=e[Ol>>2]|0,oE(t,_h,0,Pl,xh,Lh),ql=n0+3560|0,Mh=+l1[ql>>3],Rh=e[Js>>2]|0,Hl=e[Ks>>2]|0,EA=T6+52|0,Th=e[EA>>2]|0,oE(t,Mh,1,Rh,Hl,Th),z8||(Ws=n0+3592|0,Nh=+l1[Ws>>3],Zs=e[Js>>2]|0,Gh=e[Ks>>2]|0,CA=e[EA>>2]|0,oE(t,Nh,2,Zs,Gh,CA),Uh=n0+3624|0,Ph=+l1[Uh>>3],Oh=e[Js>>2]|0,Vl=e[Ks>>2]|0,Hh=T6+48|0,Vh=e[Hh>>2]|0,oE(t,Ph,3,Oh,Vl,Vh)),Yh=((n0+3528|0)+(o<<5)|0)+24|0,Yl=+l1[Yh>>3],zl=T6+80|0,lr=e[zl>>2]|0,Jl=T6+84|0,js=e[Jl>>2]|0,BA=~~Yl,yA=+(BA|0),Kl=Yl-yA,Bn=e[I0>>2]|0,zh=Bn+2852|0,Wl=e[zh>>2]|0,Jh=js+(BA<<3)|0,Kh=+l1[Jh>>3],Wh=1-Kl,Zh=Kh*Wh,Xs=BA+1|0,QA=js+(Xs<<3)|0,jh=+l1[QA>>3],Xh=jh*Kl,Zl=Xh+Zh,wA=~~Zl,jl=+(wA|0),Xl=Zl-jl,ed=Xl==0,ec=(wA|0)>0,zC=ec&ed,$=zC?1:Xl,td=zC<<31>>31,G=td+wA|0,vA=1-$,rd=G+1|0,uu=0;K9=(lr+(G*160|0)|0)+(uu<<2)|0,nd=e[K9>>2]|0,tc=+(nd|0),od=tc*vA,sd=(lr+(rd*160|0)|0)+(uu<<2)|0,kA=e[sd>>2]|0,ad=+(kA|0),SA=ad*$,ic=SA+od,$d=ic,rc=(Wl+336|0)+(uu<<2)|0,s[rc>>2]=$d,nc=uu+1|0,eQ=(nc|0)==40,!eQ;)uu=nc;for(ld=n0+3584|0,bA=+l1[ld>>3],DA=~~bA,oc=+(DA|0),sc=bA-oc,cd=Bn+2856|0,ac=e[cd>>2]|0,gd=js+(DA<<3)|0,Ac=+l1[gd>>3],ud=1-sc,hd=Ac*ud,dd=DA+1|0,fd=js+(dd<<3)|0,$c=+l1[fd>>3],lc=$c*sc,xA=lc+hd,ea=~~xA,Id=+(ea|0),gc=xA-Id,uc=gc==0,md=(ea|0)>0,JC=md&uc,g=JC?1:gc,pd=JC<<31>>31,O=pd+ea|0,Ed=1-g,hc=O+1|0,hu=0;Cd=(lr+(O*160|0)|0)+(hu<<2)|0,Bd=e[Cd>>2]|0,yd=+(Bd|0),wd=yd*Ed,vd=(lr+(hc*160|0)|0)+(hu<<2)|0,dc=e[vd>>2]|0,kd=+(dc|0),fc=kd*g,Sd=fc+wd,yn=Sd,bd=(ac+336|0)+(hu<<2)|0,s[bd>>2]=yn,Ic=hu+1|0,tQ=(Ic|0)==40,!tQ;)hu=Ic;if(!z8){for(Dd=n0+3616|0,LA=+l1[Dd>>3],_d=T6+88|0,ta=e[_d>>2]|0,MA=~~LA,xd=+(MA|0),RA=LA-xd,pc=Bn+2860|0,Ld=e[pc>>2]|0,Md=ta+(MA<<3)|0,Rd=+l1[Md>>3],Td=1-RA,Ec=Rd*Td,Nd=MA+1|0,Gd=ta+(Nd<<3)|0,Ud=+l1[Gd>>3],ia=Ud*RA,Co=ia+Ec,FA=~~Co,Pd=+(FA|0),TA=Co-Pd,qd=TA==0,Hd=(FA|0)>0,KC=Hd&qd,d=KC?1:TA,Cc=KC<<31>>31,H=Cc+FA|0,Vd=1-d,Yd=H+1|0,du=0;zd=(lr+(H*160|0)|0)+(du<<2)|0,Jd=e[zd>>2]|0,Kd=+(Jd|0),ra=Kd*Vd,Wd=(lr+(Yd*160|0)|0)+(du<<2)|0,Bc=e[Wd>>2]|0,jd=+(Bc|0),Xd=jd*d,ef=Xd+ra,tf=ef,C7=(Ld+336|0)+(du<<2)|0,s[C7>>2]=tf,yc=du+1|0,iQ=(yc|0)==40,!iQ;)du=yc;for(B7=n0+3648|0,Qc=+l1[B7>>3],NA=~~Qc,r7=+(NA|0),Bo=Qc-r7,nf=Bn+2864|0,of=e[nf>>2]|0,sf=ta+(NA<<3)|0,af=+l1[sf>>3],Af=1-Bo,wc=af*Af,$f=NA+1|0,lf=ta+($f<<3)|0,cf=+l1[lf>>3],gf=cf*Bo,yo=gf+wc,GA=~~yo,uf=+(GA|0),kc=yo-uf,hf=kc==0,df=(GA|0)>0,WC=df&hf,m=WC?1:kc,na=WC<<31>>31,V=na+GA|0,ff=1-m,Sc=V+1|0,fu=0;bc=(lr+(V*160|0)|0)+(fu<<2)|0,mf=e[bc>>2]|0,pf=+(mf|0),Qn=pf*ff,Ef=(lr+(Sc*160|0)|0)+(fu<<2)|0,Cf=e[Ef>>2]|0,wn=+(Cf|0),Bf=wn*m,Dc=Bf+Qn,Qf=Dc,Qo=(of+336|0)+(fu<<2)|0,s[Qo>>2]=Qf,_c=fu+1|0,rQ=(_c|0)==40,!rQ;)fu=_c}for(wf=((n0+3528|0)+(o<<5)|0)+8|0,xc=+l1[wf>>3],vf=T6+40|0,cr=e[vf>>2]|0,UA=~~xc,kf=+(UA|0),Lc=xc-kf,Sf=cr+(UA<<2)|0,bf=e[Sf>>2]|0,Rc=+(bf|0),Df=1-Lc,_f=Rc*Df,xf=UA+1|0,Fc=cr+(xf<<2)|0,Lf=e[Fc>>2]|0,wo=+(Lf|0),Mf=wo*Lc,Rf=Mf+_f,Ff=Rf,PA=Wl+32|0,s[PA>>2]=Ff,Tf=n0+3568|0,OA=+l1[Tf>>3],qA=~~OA,Nf=+(qA|0),Tc=OA-Nf,Nc=cr+(qA<<2)|0,Gf=e[Nc>>2]|0,Pc=+(Gf|0),Uf=1-Tc,Oc=Pc*Uf,qc=qA+1|0,Pf=cr+(qc<<2)|0,Of=e[Pf>>2]|0,Hc=+(Of|0),Vc=Hc*Tc,qf=Vc+Oc,Yc=qf,Hf=ac+32|0,s[Hf>>2]=Yc,z8||(Vf=n0+3600|0,Jc=+l1[Vf>>3],HA=~~Jc,Kc=+(HA|0),Wc=Jc-Kc,Zc=Bn+2860|0,jc=e[Zc>>2]|0,Yf=cr+(HA<<2)|0,zf=e[Yf>>2]|0,Kf=+(zf|0),Wf=1-Wc,Zf=Kf*Wf,jf=HA+1|0,Xf=cr+(jf<<2)|0,Xc=e[Xf>>2]|0,VA=+(Xc|0),eI=VA*Wc,tI=eI+Zf,iI=tI,tg=jc+32|0,s[tg>>2]=iI,rI=n0+3632|0,ig=+l1[rI>>3],YA=~~ig,oa=+(YA|0),rg=ig-oa,nI=Bn+2864|0,oI=e[nI>>2]|0,sI=cr+(YA<<2)|0,aI=e[sI>>2]|0,sa=+(aI|0),AI=1-rg,$I=sa*AI,lI=YA+1|0,cI=cr+(lI<<2)|0,gI=e[cI>>2]|0,uI=+(gI|0),hI=uI*rg,dI=hI+$I,og=dI,II=oI+32|0,s[II>>2]=og),mI=((n0+3528|0)+(o<<5)|0)+16|0,pI=+l1[mI>>3],aa=T6+76|0,sg=e[aa>>2]|0,EI=T6+60|0,CI=e[EI>>2]|0,kn=T6+56|0,ag=e[kn>>2]|0,Gl?$g=0:(Ag=n0+3408|0,BI=+l1[Ag>>3],$g=BI),sE(t,pI,0,sg,CI,ag,$g),yI=n0+3576|0,lg=+l1[yI>>3],cg=e[aa>>2]|0,QI=T6+64|0,wI=e[QI>>2]|0,vI=e[kn>>2]|0,sE(t,lg,1,cg,wI,vI,0),z8?(vo=e[I0>>2]|0,KI=vo+2852|0,yg=e[KI>>2]|0,WI=vo+3496|0,WA=+l1[WI>>3],Qg=WA,ZI=yg+4|0,s[ZI>>2]=Qg,XI=vo+3504|0,em=+l1[XI>>3],wg=em,tm=yg+8|0,s[tm>>2]=wg,im=vo+2856|0,vg=e[im>>2]|0,ga=vg+4|0,s[ga>>2]=Qg,rm=vg+8|0,s[rm>>2]=wg,gr=vo):(kI=n0+3608|0,SI=+l1[kI>>3],JA=e[aa>>2]|0,bI=T6+68|0,DI=e[bI>>2]|0,_I=e[kn>>2]|0,sE(t,SI,2,JA,DI,_I,0),xI=n0+3640|0,gg=+l1[xI>>3],LI=e[aa>>2]|0,ug=T6+72|0,MI=e[ug>>2]|0,RI=e[kn>>2]|0,sE(t,gg,3,LI,MI,RI,0),Nr=e[I0>>2]|0,dg=Nr+2852|0,fg=e[dg>>2]|0,FI=Nr+3496|0,Ig=+l1[FI>>3],$a=Ig,TI=fg+4|0,s[TI>>2]=$a,NI=Nr+3504|0,GI=+l1[NI>>3],la=GI,UI=fg+8|0,s[UI>>2]=la,PI=Nr+2856|0,pg=e[PI>>2]|0,OI=pg+4|0,s[OI>>2]=$a,qI=pg+8|0,s[qI>>2]=la,KA=Nr+2860|0,ca=e[KA>>2]|0,HI=ca+4|0,s[HI>>2]=$a,VI=ca+8|0,s[VI>>2]=la,YI=Nr+2864|0,Bg=e[YI>>2]|0,zI=Bg+4|0,s[zI>>2]=$a,JI=Bg+8|0,s[JI>>2]=la,gr=Nr),nm=+l1[N4>>3],om=T6+152|0,kg=e[om>>2]|0,Sg=~~nm,sm=kg+(Sg<<3)|0,bg=e[sm>>2]|0,Dg=(kg+(Sg<<3)|0)+4|0,L7=e[Dg>>2]|0,_g=e[gr>>2]|0,am=gr+4|0,Am=e[am>>2]|0,lm=(_g|0)==(Am|0),a=lm?1:2,ZA=gr+8|0,ua=gr+12|0,xg=t+8|0,Lg=t+4|0,Q7=0;;){if(cm=le(1,3208)|0,ha=(gr+544|0)+(Q7<<2)|0,e[ha>>2]=cm,So=le(1,16)|0,gm=(gr+32|0)+(Q7<<2)|0,e[gm>>2]=So,da=26304+(Q7<<4)|0,e[So>>2]=e[da>>2]|0,e[So+4>>2]=e[da+4>>2]|0,e[So+8>>2]=e[da+8>>2]|0,e[So+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,Mg=e[ha>>2]|0,fa=bg+(Q7*3208|0)|0,ce(Mg|0,fa|0,3208)|0,Rg=e[ua>>2]|0,fm=(Q7|0)<(Rg|0),fm||(Im=Q7+1|0,e[ua>>2]=Im),mm=e[fa>>2]|0,Fg=(mm|0)>0,Fg)for(dE=0;;){Em=((bg+(Q7*3208|0)|0)+1092|0)+(dE<<2)|0,oi=e[Em>>2]|0,De=e[I0>>2]|0,n7=M9(2840)|0,Cm=(De+1568|0)+(oi<<2)|0,e[Cm>>2]=n7,Tg=(L7+(oi<<5)|0)+12|0,Ng=e[Tg>>2]|0,ce(n7|0,Ng|0,2840)|0,e$=De+20|0,Bm=e[e$>>2]|0,bo=(Bm|0)>(oi|0),bo||(ym=oi+1|0,e[e$>>2]=ym),Qm=(L7+(oi<<5)|0)+8|0,Gg=e[Qm>>2]|0,t$=n7+8|0,e[t$>>2]=Gg,wm=L7+(oi<<5)|0,Ug=e[wm>>2]|0,Pg=(De+1312|0)+(oi<<2)|0,e[Pg>>2]=Ug,Og=De+3420|0,i$=e[Og>>2]|0,qg=(i$|0)==0,Do=n7+12|0,n$=e[Do>>2]|0,Hg=(n$|0)>0;do if(qg){if(Hg)for(Vg=(L7+(oi<<5)|0)+24|0,Ia=e[Vg>>2]|0,Sm=n7+24|0,Ma=0;;)if(dr=Sm+(Ma<<2)|0,Dn=Ia+(Ma<<4)|0,Ri=e[Dn>>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,iu=e[ya>>2]|0,ru=(iu|0)==0,ru||(b2=e[dr>>2]|0,B5=b2|2,e[dr>>2]=B5),s5=(Ia+(Ma<<4)|0)+8|0,F2=e[s5>>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,L5=e[p5>>2]|0,q5=(L5|0)==0,q5||(M5=e[dr>>2]|0,z2=M5|8,e[dr>>2]=z2),E5=Ma+1|0,$5=e[Do>>2]|0,h5=(E5|0)<($5|0),h5)Ma=E5;else{Sa=$5;break}else Sa=n$;Qa=(L7+(oi<<5)|0)+16|0,u$=e[Qa>>2]|0,Ni=De+24|0,Or=e[Ni>>2]|0,h$=(Or|0)>0,Zm=u$;e:do if(h$)for(Qp=0;;){if(d$=(De+1824|0)+(Qp<<2)|0,jm=e[d$>>2]|0,f$=(jm|0)==(u$|0),f$){L=Qp;break e}if(nu=Qp+1|0,va=(nu|0)<(Or|0),va)Qp=nu;else{$e=116;break}}else $e=116;while(!1);if(($e|0)==116&&($e=0,Xm=Or+1|0,e[Ni>>2]=Xm,L=Or),ep=n7+20|0,e[ep>>2]=L,tp=(De+1824|0)+(L<<2)|0,e[tp>>2]=Zm,_n=(Sa|0)>0,!_n)break;for(tt=(L7+(oi<<5)|0)+24|0,Le=n7+280|0,Yr=0,S$=0;;){if(ou=e[tt>>2]|0,ip=ou+(S$<<4)|0,I$=e[ip>>2]|0,su=(I$|0)==0,rp=I$,su)Mo=ou,up=Yr;else{ba=e[Ni>>2]|0,op=(ba|0)>0;e:do if(op)for(pp=0;;){if(sp=(De+1824|0)+(pp<<2)|0,ap=e[sp>>2]|0,Ap=(ap|0)==(I$|0),Ap){M=pp;break e}if(au=pp+1|0,$p=(au|0)<(ba|0),$p)pp=au;else{$e=123;break}}else $e=123;while(!1);($e|0)==123&&($e=0,lp=ba+1|0,e[Ni>>2]=lp,M=ba),cp=Yr+1|0,o7=Le+(Yr<<2)|0,e[o7>>2]=M,xn=(De+1824|0)+(M<<2)|0,e[xn>>2]=rp,c0=e[tt>>2]|0,Mo=c0,up=cp}if(m$=(Mo+(S$<<4)|0)+4|0,Ro=e[m$>>2]|0,si=(Ro|0)==0,Fo=Ro,si)C2=Mo,je=up;else{K1=e[Ni>>2]|0,q1=(K1|0)>0;e:do if(q1)for(fp=0;;){if(H1=(De+1824|0)+(fp<<2)|0,Y1=e[H1>>2]|0,t2=(Y1|0)==(Ro|0),t2){_=fp;break e}if(s2=fp+1|0,e2=(s2|0)<(K1|0),e2)fp=s2;else{$e=147;break}}else $e=147;while(!1);($e|0)==147&&($e=0,O1=K1+1|0,e[Ni>>2]=O1,_=K1),h2=up+1|0,Z1=Le+(up<<2)|0,e[Z1>>2]=_,I2=(De+1824|0)+(_<<2)|0,e[I2>>2]=Fo,$0=e[tt>>2]|0,C2=$0,je=h2}if(A2=(C2+(S$<<4)|0)+8|0,W1=e[A2>>2]|0,f2=(W1|0)==0,c2=W1,f2)M2=C2,w$=je;else{n2=e[Ni>>2]|0,g2=(n2|0)>0;e:do if(g2)for(Ip=0;;){if(o2=(De+1824|0)+(Ip<<2)|0,l2=e[o2>>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{$e=153;break}}else $e=153;while(!1);($e|0)==153&&($e=0,k2=n2+1|0,e[Ni>>2]=k2,Q=n2),D2=je+1|0,S2=Le+(je<<2)|0,e[S2>>2]=Q,y2=(De+1824|0)+(Q<<2)|0,e[y2>>2]=c2,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)PC=w$;else{q2=e[Ni>>2]|0,U2=(q2|0)>0;e:do if(U2)for(mp=0;;){if(V2=(De+1824|0)+(mp<<2)|0,Z2=e[V2>>2]|0,A5=(Z2|0)==(O2|0),A5){x=mp;break e}if(Y2=mp+1|0,N1=(Y2|0)<(q2|0),N1)mp=Y2;else{$e=159;break}}else $e=159;while(!1);($e|0)==159&&($e=0,t5=q2+1|0,e[Ni>>2]=t5,x=q2),T5=w$+1|0,i5=Le+(w$<<2)|0,e[i5>>2]=x,x5=(De+1824|0)+(x<<2)|0,e[x5>>2]=W2,PC=T5}if(b5=S$+1|0,V5=e[Do>>2]|0,u5=(b5|0)<(V5|0),u5)Yr=PC,S$=b5;else break}}else{if(Hg)for(vm=(L7+(oi<<5)|0)+28|0,Sn=e[vm>>2]|0,km=n7+24|0,La=0;;)if(M7=km+(La<<2)|0,bm=Sn+(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=(Sn+(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=(Sn+(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=(Sn+(La<<4)|0)+12|0,r6=e[A6>>2]|0,z3=(r6|0)==0,z3||(j5=e[M7>>2]|0,M3=j5|8,e[M7>>2]=M3),h3=La+1|0,J3=e[Do>>2]|0,d6=(h3|0)<(J3|0),d6)La=h3;else{eu=J3;break}else eu=n$;Fm=(L7+(oi<<5)|0)+20|0,zg=e[Fm>>2]|0,y7=De+24|0,ma=e[y7>>2]|0,o$=(ma|0)>0,Jg=zg;e:do if(o$)for(dp=0;;){if(Kg=(De+1824|0)+(dp<<2)|0,Nm=e[Kg>>2]|0,Wg=(Nm|0)==(zg|0),Wg){B=dp;break e}if(Zg=dp+1|0,Gm=(Zg|0)<(ma|0),Gm)dp=Zg;else{$e=100;break}}else $e=100;while(!1);if(($e|0)==100&&($e=0,Xg=ma+1|0,e[y7>>2]=Xg,B=ma),Pm=n7+20|0,e[Pm>>2]=B,Om=(De+1824|0)+(B<<2)|0,e[Om>>2]=Jg,qm=(eu|0)>0,!qm)break;for(_o=(L7+(oi<<5)|0)+28|0,pa=n7+280|0,Po=0,v$=0;;){if(Ea=e[_o>>2]|0,Hm=Ea+(v$<<4)|0,s$=e[Hm>>2]|0,Ym=(s$|0)==0,tu=s$,Ym)Lo=Ea,Rn=Po;else{xo=e[y7>>2]|0,zm=(xo|0)>0;e:do if(zm)for(yp=0;;){if(Jm=(De+1824|0)+(yp<<2)|0,a$=e[Jm>>2]|0,A$=(a$|0)==(s$|0),A$){w=yp;break e}if(Ca=yp+1|0,$$=(Ca|0)<(xo|0),$$)yp=Ca;else{$e=107;break}}else $e=107;while(!1);($e|0)==107&&($e=0,l$=xo+1|0,e[y7>>2]=l$,w=xo),Ur=Po+1|0,Pr=pa+(Po<<2)|0,e[Pr>>2]=w,c$=(De+1824|0)+(w<<2)|0,e[c$>>2]=tu,K=e[_o>>2]|0,Lo=K,Rn=Ur}if(g$=(Lo+(v$<<4)|0)+4|0,hr=e[g$>>2]|0,bn=(hr|0)==0,Km=hr,bn)R5=Lo,Ln=Rn;else{Q5=e[y7>>2]|0,T1=(Q5|0)>0;e:do if(T1)for(Ep=0;;){if(d5=(De+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{$e=171;break}}else $e=171;while(!1);($e|0)==171&&($e=0,r5=Q5+1|0,e[y7>>2]=r5,b=Q5),a5=Rn+1|0,f5=pa+(Rn<<2)|0,e[f5>>2]=b,K2=(De+1824|0)+(b<<2)|0,e[K2>>2]=Km,e0=e[_o>>2]|0,R5=e0,Ln=a5}if(I5=(R5+(v$<<4)|0)+8|0,e5=e[I5>>2]|0,c5=(e5|0)==0,T2=e5,c5)f3=R5,Mn=Ln;else{v5=e[y7>>2]|0,z5=(v5|0)>0;e:do if(z5)for(Cp=0;;){if(i3=(De+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{$e=177;break}}else $e=177;while(!1);($e|0)==177&&($e=0,a3=v5+1|0,e[y7>>2]=a3,D=v5),y3=Ln+1|0,G5=pa+(Ln<<2)|0,e[G5>>2]=D,Z5=(De+1824|0)+(D<<2)|0,e[Z5>>2]=T2,u0=e[_o>>2]|0,f3=u0,Mn=y3}if(x3=(f3+(v$<<4)|0)+12|0,w3=e[x3>>2]|0,e6=(w3|0)==0,H3=w3,e6)q9=Mn;else{_3=e[y7>>2]|0,t3=(_3|0)>0;e:do if(t3)for(Bp=0;;){if(a6=(De+1824|0)+(Bp<<2)|0,G3=e[a6>>2]|0,V3=(G3|0)==(w3|0),V3){k=Bp;break e}if(c3=Bp+1|0,g3=(c3|0)<(_3|0),g3)Bp=c3;else{$e=183;break}}else $e=183;while(!1);($e|0)==183&&($e=0,u3=_3+1|0,e[y7>>2]=u3,k=_3),Q3=Mn+1|0,J5=pa+(Mn<<2)|0,e[J5>>2]=k,Y5=(De+1824|0)+(k<<2)|0,e[Y5>>2]=H3,q9=Q3}if(S5=v$+1|0,Y3=e[Do>>2]|0,U5=(S5|0)<(Y3|0),U5)Po=q9,v$=S5;else break}}while(!1);Au=De+3480|0,$u=+l1[Au>>3],_a=$u*1e3,To=(De+1056|0)+(Q7<<2)|0,Go=e[To>>2]|0,gp=e[xg>>2]|0,Uo=+(gp|0),fr=Uo*.5,lu=De+(Q7<<2)|0,qr=e[lu>>2]|0,s7=qr>>1,p$=_a>fr,qC=p$?fr:_a,E$=qC/fr,Z7=+(s7|0),B$=Z7*E$,y$=~~B$,Hr=Go+1116|0,e[Hr>>2]=y$,h6=(L7+(oi<<5)|0)+4|0,xa=e[h6>>2]|0;do if((xa|0)==2)gu=250;else if((xa|0)==1){if(Vr=e[Og>>2]|0,cu=(Vr|0)==0,L4=De+2996|0,Q$=De+2968|0,uQ=cu?Q$:L4,gQ=e[uQ>>2]|0,cQ=+(gQ|0),HC=cQ*1e3,kt=HC>fr,!kt){gu=HC;break}gu=fr}else gu=qC;while(!1);C0=e[Pg>>2]|0,b0=(C0|0)==2;do if(b0){if(y0=De+12|0,D0=e[y0>>2]|0,E0=(D0|0)>0,E0)for(hE=0;;){if(Q0=(De+544|0)+(hE<<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,N0=(v0|0)==(oi|0);do if(N0){if(U0=e[Lg>>2]|0,O0=(U0|0)>0,O0)OC=0,IE=0;else{hp=0;break}for(;;)if(H0=(w0+4|0)+(IE<<2)|0,S0=e[H0>>2]|0,J0=(S0|0)==(vp|0),T0=J0&1,J=T0+OC|0,M0=IE+1|0,Xy=(M0|0)==(U0|0),Xy){hp=J;break}else OC=J,IE=M0}else hp=0;while(!1);if(P0=vp+1|0,K0=(P0|0)<(B0|0),V0=(hp|0)==0,j0=K0&V0,j0)vp=P0;else{cE=hp;break}}else cE=0;if(q0=hE+1|0,Y0=(q0|0)<(D0|0),s1=(cE|0)==0,z0=Y0&s1,z0)hE=q0;else{lE=cE;break}}else lE=0;if(r1=gu/fr,L0=+(lE|0),o1=L0*Z7,u1=o1*r1,p1=e[t$>>2]|0,f1=+(p1|0),h1=u1/f1,A1=h1+.9,c1=~~A1,a1=o5(c1,p1)|0,$1=n7+4|0,e[$1>>2]=a1,X0=o5(lE,s7)|0,B1=(a1|0)>(X0|0),!B1){Y=$1,X1=a1,x1=p1;break}Q1=(X0|0)%(p1|0)&-1,C1=X0-Q1|0,e[$1>>2]=C1,Y=$1,X1=C1,x1=p1}else{if(y1=gu/fr,v1=y1*Z7,k1=e[t$>>2]|0,S1=+(k1|0),L1=v1/S1,M1=L1+.9,b1=~~M1,_1=o5(b1,k1)|0,F1=n7+4|0,e[F1>>2]=_1,U1=(_1|0)>(s7|0),!U1){Y=F1,X1=_1,x1=k1;break}D1=(s7|0)%(k1|0)&-1,P1=s7-D1|0,e[F1>>2]=P1,Y=F1,X1=P1,x1=k1}while(!1);if(G1=(X1|0)==0,G1&&(e[Y>>2]=x1),m3=dE+1|0,L6=e[fa>>2]|0,M6=(m3|0)<(L6|0),M6)dE=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):(v6=e[I0>>2]|0,R3=v6+3396|0,s6=e[R3>>2]|0,B6=v6+3400|0,K3=+l1[B6>>3],F3=~~K3,W3=+(F3|0),t6=K3-W3,R6=s6+4|0,c6=e[R6>>2]|0,o3=(c6|0)==0,o3?y=-1:(J6=e[Lg>>2]|0,y6=c6+(F3<<3)|0,T3=+l1[y6>>3],H6=1-t6,$6=T3*H6,D6=F3+1|0,G6=c6+(D6<<3)|0,e9=+l1[G6>>3],Q6=e9*t6,X6=Q6+$6,P3=+(J6|0),V6=X6*P3,hQ=~~V6,y=hQ),o9=t+16|0,e[o9>>2]=y),g9=n0+3424|0,U6=e[g9>>2]|0,Y6=t+20|0,e[Y6>>2]=U6,F6=n0+3440|0,t9=e[F6>>2]|0,_6=t+12|0,e[_6>>2]=t9,P6=(b6|0)==0,P6?g0=0:(O3=n0+3444|0,s9=e[O3>>2]|0,h9=+(s9|0),n9=+(b6|0),C9=h9/n9,B9=~~C9,g0=B9),y9=t+24|0,e[y9>>2]=g0,d9=n0+3420|0,f9=e[d9>>2]|0,V9=(f9|0)==0,V9?(E=0,E|0):(w6=e[f6>>2]|0,a9=n0+3360|0,e[a9>>2]=w6,Y9=e[g9>>2]|0,Q9=n0+3364|0,e[Q9>>2]=Y9,Qe=e[F6>>2]|0,ge=n0+3368|0,e[ge>>2]=Qe,pe=n0+3444|0,z9=e[pe>>2]|0,re=n0+3372|0,e[re>>2]=z9,R9=n0+3448|0,w9=+l1[R9>>3],A9=n0+3376|0,l1[A9>>3]=w9,we=n0+3432|0,Me=+l1[we>>3],ue=n0+3384|0,l1[ue>>3]=Me,E=0,E|0)}function aD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0;if(J=C,I=(a|0)<1,I)d=-131;else if(E=t+28|0,Q=e[E>>2]|0,x=$,M=x+1e-7,L=M,F=!(L>=1),m=F?L:.9998999834060669,G=Q+3416|0,s[G>>2]=m,O=m,H=Q+3400|0,y=AD(o,a,O,0,H)|0,B=Q+3396|0,e[B>>2]=y,b=(y|0)==0,b)d=-130;else return $D(t,o,a),D=Q+3420|0,e[D>>2]=0,k=Q+3464|0,e[k>>2]=1,w=sD(t)|0,_=(w|0)==0,_?(g=0,g|0):(_C(t),g=w,g|0);return _C(t),g=d,g|0}function oE(t,o,a,$,g,d){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0;for(v1=C,m=~~o,I=+(m|0),M=o-I,j=t+28|0,$0=e[j>>2]|0,y0=($0+2852|0)+(a<<2)|0,U0=e[y0>>2]|0,j0=$+(m*20|0)|0,f1=e[j0>>2]|0,m1=+(f1|0),E=1-M,y=m1*E,B=m+1|0,b=$+(B*20|0)|0,D=e[b>>2]|0,k=+(D|0),w=k*M,_=w+y,Q=_,x=U0+12|0,s[x>>2]=Q,L=($+(m*20|0)|0)+4|0,F=e[L>>2]|0,G=+(F|0),O=G*E,H=($+(B*20|0)|0)+4|0,V=e[H>>2]|0,J=+(V|0),t0=J*M,Z=t0+O,A0=Z,r0=U0+16|0,s[r0>>2]=A0,s0=($+(m*20|0)|0)+8|0,K=e[s0>>2]|0,o0=+(K|0),Y=o0*E,h0=($+(B*20|0)|0)+8|0,i0=e[h0>>2]|0,e0=+(i0|0),u0=e0*M,c0=u0+Y,l0=c0,X=U0+20|0,s[X>>2]=l0,m0=($+(m*20|0)|0)+12|0,g0=+s[m0>>2],I0=g0,n0=I0*E,d0=($+(B*20|0)|0)+12|0,p0=+s[d0>>2],C0=p0,b0=C0*M,D0=b0+n0,E0=D0,Q0=U0+24|0,s[Q0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],x0=B0,Z0=x0*E,R0=($+(B*20|0)|0)+16|0,v0=+s[R0>>2],N0=v0,O0=N0*M,H0=O0+Z0,S0=H0,J0=U0+28|0,s[J0>>2]=S0,T0=g+(m<<2)|0,M0=e[T0>>2]|0,P0=+(M0|0),W0=P0*E,K0=g+(B<<2)|0,V0=e[K0>>2]|0,q0=+(V0|0),Y0=q0*M,s1=Y0+W0,z0=s1,r1=U0+496|0,s[r1>>2]=z0,C1=0;L0=(d+(m*68|0)|0)+(C1<<2)|0,o1=e[L0>>2]|0,d1=+(o1|0),u1=d1*E,p1=(d+(B*68|0)|0)+(C1<<2)|0,h1=e[p1>>2]|0,A1=+(h1|0),c1=A1*M,a1=c1+u1,$1=a1,X0=(U0+36|0)+(C1<<2)|0,s[X0>>2]=$1,B1=C1+1|0,Q1=(B1|0)==17,!Q1;)C1=B1}function sE(t,o,a,$,g,d,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0,m=+m;var I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=0,l2=0,i2=0,a2=0,m2=0,r2=0,k2=0,D2=0,S2=0;for(S2=C,k=~~o,w=+(k|0),h0=o-w,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,q1=+(b1|0),_=1-h0,t0=q1*_,Z=k+1|0,A0=$+(Z<<2)|0,j=e[A0>>2]|0,r0=+(j|0),s0=r0*h0,K=s0+t0,o0=K,Y=L0+108|0,s[Y>>2]=o0,i0=d+(a*12|0)|0,e0=e[i0>>2]|0,u0=L0+120|0,e[u0>>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,d0=e[I0>>2]|0,p0=+(d0|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,s[B0>>2]=w0,Z0=n2+1|0,W1=(Z0|0)==17,W1){g2=0;break}else n2=Z0;for(;;)if(M1=((g+(k*204|0)|0)+68|0)+(g2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*_,U1=((g+(Z*204|0)|0)+68|0)+(g2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),X1=P1*h0,G1=X1+F1,x1=G1,K1=(L0+200|0)+(g2<<2)|0,s[K1>>2]=x1,H1=g2+1|0,f2=(H1|0)==17,f2){o2=0;break}else g2=H1;for(;V1=((g+(k*204|0)|0)+136|0)+(o2<<2)|0,Y1=e[V1>>2]|0,t2=+(Y1|0),s2=t2*_,e2=((g+(Z*204|0)|0)+136|0)+(o2<<2)|0,O1=e[e2>>2]|0,h2=+(O1|0),Z1=h2*h0,I2=Z1+s2,Q=I2,x=(L0+268|0)+(o2<<2)|0,s[x>>2]=Q,M=o2+1|0,c2=(M|0)==17,!c2;)o2=M;for(L=L0+132|0,F=+s[L>>2],S0=F+6,G=L0+132|0,O=F,H=O+m,V=H,J=V>2]=k2,R0=1;I=(L0+132|0)+(R0<<2)|0,B=+s[I>>2],v0=(L0+132|0)+(R0<<2)|0,N0=B,U0=N0+m,O0=U0,H0=O0>2]=l2,J0=R0+1|0,A2=(J0|0)==17,!A2;)R0=J0;for(T0=L0+200|0,P0=+s[T0>>2],W0=P0+6,K0=L0+200|0,V0=P0,j0=V0+m,q0=j0,Y0=q0>2]=a2,s1=1;E=(L0+200|0)+(s1<<2)|0,b=+s[E>>2],z0=(L0+200|0)+(s1<<2)|0,r1=b,o1=r1+m,d1=o1,u1=d1>2]=i2,p1=s1+1|0,C2=(p1|0)==17,!C2;)s1=p1;for(f1=L0+268|0,h1=+s[f1>>2],A1=h1+6,c1=L0+268|0,a1=h1,$1=a1+m,B1=$1,m1=B1>2]=r2,Q1=1;y=(L0+268|0)+(Q1<<2)|0,D=+s[y>>2],C1=(L0+268|0)+(Q1<<2)|0,y1=D,v1=y1+m,k1=v1,S1=k1>2]=m2,L1=Q1+1|0,$2=(L1|0)==17,!$2;)Q1=L1}function AD(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=0,Q1=0,C1=0,y1=0,v1=0,k1=0,S1=0;S1=C,k=($|0)==0;e:do if(k){for(K=26336,X0=0;;){if(s0=e[K>>2]|0,o0=s0+12|0,Y=e[o0>>2]|0,h0=(Y|0)==-1,e0=(Y|0)==(t|0),C1=h0|e0,C1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,X=e[l0>>2]|0,m0=(X|0)<(o|0),!m0&&(g0=e[s0>>2]|0,I0=s0+8|0,n0=e[I0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(D0=n0+(g0<<3)|0,E0=+l1[D0>>3],Q0=E0>2]|0,Z0=i0+12|0,P0=e[Z0>>2]|0,o1=(P0|0)==-1,A1=(P0|0)==(t|0),y1=o1|A1,y1&&(c1=i0+16|0,_=e[c1>>2]|0,Q=(_|0)>(o|0),!Q&&(x=i0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(F=e[i0>>2]|0,G=i0+4|0,O=e[G>>2]|0,H=+l1[O>>3],V=J>3],A0=J>Z,!A0))))){m=J,I=F,E=d0,y=O,h1=H;break e}if($1=B1+1|0,j=26336+($1<<2)|0,r0=($1|0)==17,r0){d=0;break}else d0=j,B1=$1}return d|0}while(!1);w0=(I|0)>0;e:do if(w0)for(x0=h1,Q1=0;;){if(B0=!(m>=x0),D=Q1+1|0,!B0&&(R0=y+(D<<3)|0,v0=+l1[R0>>3],N0=m>3],x0=b,Q1=D}else m1=0;while(!1);return O0=(m1|0)==(I|0),O0?(H0=+(I|0),S0=H0+-.001,v1=S0):(J0=y+(m1<<3)|0,T0=+l1[J0>>3],M0=T0,W0=m1+1|0,K0=y+(W0<<3)|0,V0=+l1[K0>>3],j0=V0,q0=M0,Y0=m-q0,s1=j0-M0,z0=s1,r1=Y0/z0,L0=r1,d1=+(m1|0),u1=L0+d1,p1=u1,v1=p1),l1[g>>3]=v1,f1=e[E>>2]|0,d=f1,d|0}function $D(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0;L0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,D0=t+8|0,e[D0>>2]=a,O0=E+3456|0,e[O0>>2]=1,q0=E+3460|0,e[q0>>2]=1,s1=E+3400|0,z0=+l1[s1>>3],y=~~z0,B=+(y|0),b=z0-B,D=E+3472|0,l1[D>>3]=z0,k=E+3488|0,w=e[k>>2]|0,_=(w|0)==0,_?(Q=r0+120|0,x=e[Q>>2]|0,M=x+(y<<3)|0,F=+l1[M>>3],G=1-b,O=F*G,H=y+1|0,V=x+(H<<3)|0,J=+l1[V>>3],t0=J*b,Z=t0+O,A0=E+3480|0,l1[A0>>3]=Z,g=H,d=G):($=1-b,m=y+1|0,g=m,d=$),j=r0+112|0,s0=e[j>>2]|0,K=s0+(y<<2)|0,o0=e[K>>2]|0,Y=+(o0|0),h0=Y*d,i0=s0+(g<<2)|0,e0=e[i0>>2]|0,u0=+(e0|0),c0=u0*b,$0=c0+h0,X=E+3496|0,l1[X>>3]=$0,m0=r0+116|0,g0=e[m0>>2]|0,I0=g0+(y<<2)|0,n0=e[I0>>2]|0,d0=+(n0|0),p0=d0*d,C0=g0+(g<<2)|0,b0=e[C0>>2]|0,y0=+(b0|0),E0=y0*b,Q0=E0+p0,w0=E+3504|0,l1[w0>>3]=Q0,B0=E+3512|0,l1[B0>>3]=-6,x0=E+3520|0,l1[x0>>3]=z0,Z0=E+3528|0,l1[Z0>>3]=z0,R0=E+3536|0,l1[R0>>3]=z0,v0=E+3544|0,l1[v0>>3]=z0,N0=E+3552|0,l1[N0>>3]=z0,U0=E+3560|0,l1[U0>>3]=z0,H0=E+3568|0,l1[H0>>3]=z0,S0=E+3576|0,l1[S0>>3]=z0,J0=E+3584|0,l1[J0>>3]=z0,T0=E+3592|0,l1[T0>>3]=z0,M0=E+3600|0,l1[M0>>3]=z0,P0=E+3608|0,l1[P0>>3]=z0,W0=E+3616|0,l1[W0>>3]=z0,K0=E+3624|0,l1[K0>>3]=z0,V0=E+3632|0,l1[V0>>3]=z0,j0=E+3640|0,l1[j0>>3]=z0,Y0=E+3648|0,l1[Y0>>3]=z0}function lD(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0;if(V0=C,I=(g|0)!=0,E=I?$:0,L=I?d:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,D0=520336+(l0<<2)|0,x0=e[D0>>2]|0,Z0=o+(L<<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,w=a+(L<<2)|0,_=e[w>>2]|0,Q=(b|0)/4&-1,x=(k|0)/4&-1,M=Q-x|0,F=(k|0)/2&-1,G=M+F|0,O=(b|0)/2&-1,H=O+Q|0,m=(_|0)/-4&-1,V=H+m|0,J=(_|0)/2&-1,t0=V+J|0,Z=(M|0)>0,Z?(A0=Q-x|0,j=A0<<2,g4(t|0,0,j|0)|0,U0=M):U0=0,s0=(U0|0)<(G|0),s0)for(K=Q+F|0,o0=K-U0|0,Y=o0-x|0,O0=U0,J0=0;u0=x0+(J0<<2)|0,c0=+s[u0>>2],$0=t+(O0<<2)|0,X=+s[$0>>2],m0=X*c0,s[$0>>2]=m0,g0=O0+1|0,I0=J0+1|0,N0=(I0|0)==(Y|0),!N0;)O0=g0,J0=I0;if(h0=(_|0)>1,h0){for(i0=V+1|0,e0=(t0|0)>(i0|0),S0=V,M0=J;T0=M0+-1|0,C0=y+(T0<<2)|0,b0=+s[C0>>2],y0=t+(S0<<2)|0,E0=+s[y0>>2],Q0=E0*b0,s[y0>>2]=Q0,w0=S0+1|0,B0=(w0|0)<(t0|0),B0;)S0=w0,M0=T0;W0=e0?t0:i0,H0=W0}else H0=V;n0=(b|0)>(H0|0),n0&&(P0=t+(H0<<2)|0,d0=b-H0|0,p0=d0<<2,g4(P0|0,0,p0|0)|0)}function cD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0;if(X=C,C=C+64|0,$0=X+32|0,c0=X,$=M9(688)|0,g=$+408|0,Qb(g),_=~~o,aD(g,t,_,a)|0,t0=$+440|0,Cb(t0),Bb(t0,553008,553016),o0=$+456|0,XS(o0,g)|0,Y=$+568|0,ZS(o0,Y)|0,h0=hy(0)|0,mD(h0),i0=pD()|0,OS($,i0)|0,e0=$+680|0,e[e0>>2]=0,u0=$+684|0,e[u0>>2]=0,d=$+360|0,wb(o0,t0,d,$0,c0)|0,rE($,d)|0,rE($,$0)|0,rE($,c0)|0,m=$+392|0,I=fy($,m)|0,E=(I|0)==0,E)return C=X,$|0;for(y=$+396|0,B=$+404|0,b=$+400|0;D=e[u0>>2]|0,k=e[y>>2]|0,w=k+D|0,Q=e[B>>2]|0,x=w+Q|0,M=(x|0)==0,M||(G=e[e0>>2]|0,O=J7(G,x)|0,e[e0>>2]=O,H=e[u0>>2]|0,V=O+H|0,J=e[m>>2]|0,Z=e[y>>2]|0,ce(V|0,J|0,Z|0)|0,A0=Z+H|0,e[u0>>2]=A0,j=O+A0|0,r0=e[b>>2]|0,s0=e[B>>2]|0,ce(j|0,r0|0,s0|0)|0,K=s0+A0|0,e[u0>>2]=K),L=fy($,m)|0,F=(L|0)==0,!F;);return C=X,$|0}function gD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;E=C,qS(t)|0,o=t+568|0,jS(o)|0,a=t+456|0,Ey(a),$=t+440|0,yb($),g=t+408|0,_C(g),d=t+680|0,m=e[d>>2]|0,E2(m),E2(t)}function uD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0;return d=C,a=t+456|0,$=Cy(a,o)|0,$|0}function hD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0;if(X=C,a=t+456|0,eb(a,o)|0,$=t+568|0,w=By(a,$)|0,J=(w|0)==1,!!J)for(h0=t+360|0,i0=t+392|0,e0=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(zS($,0)|0,WS($)|0,E=py(a,h0)|0,y=(E|0)==0,!y)for(;;){if(rE(t,h0)|0,D=Iy(t,i0)|0,k=(D|0)==0,!k)for(;_=e[e0>>2]|0,Q=e[u0>>2]|0,x=Q+_|0,M=e[c0>>2]|0,L=x+M|0,F=(L|0)==0,F||(H=e[$0>>2]|0,V=J7(H,L)|0,e[$0>>2]=V,t0=e[e0>>2]|0,Z=V+t0|0,A0=e[g>>2]|0,j=e[u0>>2]|0,ce(Z|0,A0|0,j|0)|0,r0=j+t0|0,e[e0>>2]=r0,s0=V+r0|0,K=e[d>>2]|0,o0=e[c0>>2]|0,ce(s0|0,K|0,o0|0)|0,Y=o0+r0|0,e[e0>>2]=Y),G=Iy(t,i0)|0,O=(G|0)==0,!O;);if(B=py(a,h0)|0,b=(B|0)==0,b)break}if(m=By(a,$)|0,I=(m|0)==1,!I)break}}function dD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function fD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;return d=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function aE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+ID(t,o),+a}function Pu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=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,o0=o5(a,o)|0,Y=(o0|0)==0,Y){C=U3;return}for(j=o0-a|0,V1=t3+4|0,e[V1>>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,D5=U2>>>0>>0,n5=x3+1|0,D5;)k2=m5,m5=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,K1=(X0|0)==3;do if(K1){e[W5>>2]=G5,q1=(H5|0)>1;e:do if(q1){for(B=H5,Q=G5,O1=G5,X5=1;;){if(H1=Q+h0|0,Y1=B+-2|0,t2=t3+(Y1<<2)|0,s2=e[t2>>2]|0,U5=s2+a|0,r0=0-U5|0,e2=Q+r0|0,h2=pi[$&15](O1,e2)|0,Z1=(h2|0)>-1,Z1&&(I2=pi[$&15](O1,H1)|0,A2=(I2|0)>-1,A2)){f3=X5;break}if(C2=pi[$&15](e2,H1)|0,W1=(C2|0)>-1,f2=X5+1|0,c2=W5+(X5<<2)|0,W1?(e[c2>>2]=e2,n2=B+-1|0,d=e2,E=n2):(e[c2>>2]=H1,d=H1,E=Y1),g2=(E|0)>1,!g2){f3=f2;break}J=e[W5>>2]|0,B=E,Q=d,O1=J,X5=f2}if(o2=(f3|0)<2,!o2&&(l2=W5+(f3<<2)|0,e[l2>>2]=n3,!M0))for(w=a,q2=n3;;){for(p2=w>>>0>256,a2=p2?256:w,W2=e[W5>>2]|0,ce(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,ce(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=(w|0)==(a2|0),i2)break e;m2=w-a2|0,Z=e[l2>>2]|0,w=m2,q2=Z}}while(!1);J2=b1>>>2,V2=Z2<<30,A5=J2|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,x5=G5,j2=L0-x5|0,b5=i5>>>0>>0,b5){e[W5>>2]=G5,V5=(H5|0)>1;e:do if(V5){for(b=H5,x=G5,R2=G5,_3=1;;){if(u5=x+h0|0,b2=b+-2|0,B5=t3+(b2<<2)|0,s5=e[B5>>2]|0,l6=s5+a|0,s0=0-l6|0,F2=x+s0|0,Q2=pi[$&15](R2,F2)|0,y5=(Q2|0)>-1,y5&&(p5=pi[$&15](R2,u5)|0,L5=(p5|0)>-1,L5)){w3=_3;break}if(q5=pi[$&15](F2,u5)|0,M5=(q5|0)>-1,z2=_3+1|0,E5=W5+(_3<<2)|0,M5?(e[E5>>2]=F2,$5=b+-1|0,m=F2,y=$5):(e[E5>>2]=u5,m=u5,y=b2),h5=(y|0)>1,!h5){w3=z2;break}t0=e[W5>>2]|0,b=y,x=m,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:_,R5=e[W5>>2]|0,ce(e5|0,R5|0,l5|0)|0,f5=R5,H3=0;d2=W5+(H3<<2)|0,w5=H3+1|0,r5=W5+(w5<<2)|0,a5=e[r5>>2]|0,ce(f5|0,a5|0,l5|0)|0,K2=f5+l5|0,e[d2>>2]=K2,a3=(w5|0)==(w3|0),!a3;)f5=a5,H3=w5;if(d5=(_|0)==(l5|0),d5)break e;X2=_-l5|0,A0=e[T1>>2]|0,_=X2,e5=A0}}while(!1)}else AE(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,M=C5?b1:Z2,L=C5?I3:t5,d3=M<>>i0,u0=e0|d3,c0=g<>>0>>0,m0)b1=$0,Z2=x1,G5=X,H5=Y5;else{O=x1,H=$0,y3=X,J5=Y5;break}}else O=0,H=1,y3=t,J5=1;if(AE(y3,a,$,H,O,J5,0,t3),g0=(J5|0)==1,I0=(H|0)==1,Q3=I0&g0,d0=(O|0)==0,u3=d0&Q3,u3){C=U3;return}else b0=H,v0=O,Z5=y3,S5=J5;for(;;){if(p0=(S5|0)<2,!p0){Y0=v0<<2,s1=b0>>>30,z0=s1|Y0,r1=S5+-2|0,o1=b0<<1,d1=o1&2147483646,u1=s1<<31,p1=d1|u1,f1=p1^3,h1=z0>>>1,A1=t3+(r1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,K=0-Y3|0,a1=Z5+K|0,$1=S5+-1|0,AE(a1,a,$,f1,h1,$1,1,t3),B1=h1<<1,m1=s1&1,Q1=B1|m1,C1=f1<<1,y1=C1|1,v1=Z5+h0|0,AE(v1,a,$,y1,Q1,r1,1,t3),b0=y1,v0=Q1,Z5=v1,S5=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{F=Q0;break}R0=(F|0)==0,R0?l3=51:K0=F}else l3=51;if((l3|0)==51){if(l3=0,N0=(v0|0)==0,N0){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,S0=k>>>1,J0=S0&1,T0=(J0|0)==0,T0)k=S0,G3=H0;else{G=H0,V3=G3;break}if(P0=V3+33|0,W0=(G|0)==0,W0){I=0,S1=b0,_1=v0,D1=0;break}else K0=P0}V0=K0>>>0>31,V0?(q0=K0,l3=56):(I=K0,S1=b0,_1=v0,D1=K0)}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,U1=D1+S5|0,V=Z5+h0|0,P1=(U1|0)==1,X1=(R1|0)==1,c3=X1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;b0=R1,v0=F1,Z5=V,S5=U1}C=U3}function AE(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=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-o|0,h0=($|0)!=1,v0=(g|0)!=0,K0=v0|h0;e:do if(K0)if(u1=I+(d<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,Y1=t+F1|0,W1=pi[a&15](Y1,t)|0,k2=(W1|0)<1,k2)B=t,M=d,V=m,Y2=1,R2=18;else for(k=t,O=d,J=m,B0=Y1,Y0=g,x5=1,b2=$;;){if(i0=(J|0)==0,d0=(O|0)>1,u5=i0&d0,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,L=O,t5=x5;break e}if(B5=w0+o|0,K=0-B5|0,R0=k+K|0,N0=pi[a&15](R0,B0)|0,U0=(N0|0)>-1,U0){b=k,L=O,t5=x5;break e}}O0=x5+1|0,H0=U2+(x5<<2)|0,e[H0>>2]=B0,S0=b2+-1|0,J0=(S0|0)==0;do if(J0)$1=32,R2=15;else{if(T0=S0&1,M0=(T0|0)==0,M0){for(Q=S0,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,s1=(Y0|0)==0,s1){$1=64,R2=15;break}if(z0=Y0&1,r1=(z0|0)==0,r1)x=Y0,b5=0;else{y=0,B1=b2,y1=Y0,L1=0;break}for(;;)if(L0=b5+1|0,o1=x>>>1,d1=o1&1,p1=(d1|0)==0,p1)x=o1,b5=L0;else{Z=L0,V5=b5;break}if(f1=V5+33|0,h1=(Z|0)==0,h1){y=0,B1=b2,y1=Y0,L1=0;break}else A1=f1}c1=A1>>>0>31,c1?($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,m1=32-y|0,C1=y1<>>y,S1=L1+O|0,M1=(v1|0)!=1,b1=(k1|0)!=0,_1=b1|M1,!_1){b=B0,L=S1,t5=O0;break e}if(A0=e[U2>>2]|0,R1=I+(S1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,X1=pi[a&15](P1,A0)|0,G1=(X1|0)<1,G1){B=B0,M=S1,V=0,Y2=O0,R2=18;break}else w=B0,O=S1,J=0,B0=P1,Y0=k1,x5=O0,b2=v1,k=w}else B=t,M=d,V=m,Y2=1,R2=18;while(!1);if((R2|0)==18)if(x1=(V|0)==0,x1)b=B,L=M,t5=Y2;else{C=Q2;return}K1=(t5|0)<2;e:do if(!K1&&(q1=U2+(t5<<2)|0,e[q1>>2]=F2,H1=(o|0)==0,!H1))for(G=o,f2=F2;;){for(C2=G>>>0>256,t2=C2?256:G,$2=e[U2>>2]|0,ce(f2|0,$2|0,t2|0)|0,I2=$2,i5=0;e2=U2+(i5<<2)|0,O1=i5+1|0,h2=U2+(O1<<2)|0,Z1=e[h2>>2]|0,ce(I2|0,Z1|0,t2|0)|0,A2=I2+t2|0,e[e2>>2]=A2,A5=(O1|0)==(t5|0),!A5;)I2=Z1,i5=O1;if(V1=(G|0)==(t2|0),V1)break e;s2=G-t2|0,s0=e[q1>>2]|0,G=s2,f2=s0}while(!1);e[V2>>2]=b,c2=(L|0)>1;e:do if(c2){for(_=L,H=b,a2=b,j2=1;;){if(n2=H+Y|0,g2=_+-2|0,o2=I+(g2<<2)|0,l2=e[o2>>2]|0,s5=l2+o|0,o0=0-s5|0,i2=H+o0|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=g2),W2=(D|0)>1,!W2){N1=M2;break}j=e[V2>>2]|0,_=D,H=E,a2=j,j2=M2}if(q2=(N1|0)<2,q2)y0=F2;else if(J2=V2+(N1<<2)|0,e[J2>>2]=F2,e0=(o|0)==0,e0)y0=F2;else for(F=o,b0=F2;;){for(p0=F>>>0>256,c0=p0?256:F,C0=e[V2>>2]|0,ce(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,ce(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(u0=(F|0)==(c0|0),u0){y0=F2;break e}$0=F-c0|0,r0=e[J2>>2]|0,F=$0,b0=r0}}else y0=F2;while(!1);C=Q2}function z7(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0;return L=C,l1[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,w=B|k,w?(o=t,+o):(_=($|0)<0,Q=t+-4503599627370496,g=Q+4503599627370496,d=t+4503599627370496,m=d+-4503599627370496,x=_?g:m,I=x==0,I?(E=_?-0:0,o=E,+o):(o=x,+o))}function qy(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(d=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,y=E+-8388608,D=d?I:y,B=D==0,B?(b=d?-0:0,o=b,+o):(o=D,+o))}function ID(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0;return t0=C,d=(o|0)>1023,d?(m=t*898846567431158e293,Q=o+-1023|0,x=(Q|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,F=(L|0)>1023,a=F?1023:L,$=a,V=M):($=Q,V=m)):(G=(o|0)<-1022,G?(O=t*22250738585072014e-324,H=o+1022|0,I=(H|0)<-1022,I?(E=O*22250738585072014e-324,y=o+2044|0,B=(y|0)<-1022,g=B?-1022:y,$=g,V=E):($=H,V=O)):($=o,V=t)),b=$+1023|0,D=Yy(b|0,0,52)|0,k=Z6,e[w2>>2]=D,e[w2+4>>2]=k,w=+l1[w2>>3],_=V*w,+_}function mD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,d=g,e[d>>2]=0}function pD(){var t=0,o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,y=t+4|0,B=y,b=e[B>>2]|0,D=yD(E|0,b|0,1284865837,1481765933)|0,k=Z6,w=ns(D|0,k|0,1,0)|0,_=Z6,a=553040,$=a,e[$>>2]=w,g=a+4|0,d=g,e[d>>2]=_,m=os(w|0,_|0,33)|0,I=Z6,m|0}function M9(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Vt=0,Yt=0,_t=0,xt=0,pt=0,zt=0,Jt=0,r8=0,n8=0,Et=0,J4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,a4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,se=0,lt=0,Bt=0,ct=0,yt=0,p4=0,D4=0,K4=0,W4=0,ae=0,P4=0,E4=0,gt=0,_4=0,be=0,Qt=0,a8=0,We=0,C3=0,Z4=0,wt=0,A4=0,j9=0,$4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,V8=0,Z8=0,M8=0,u8=0,R8=0,l4=0,Y8=0,j8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,Ae=0,T8=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,Ji=0,Ki=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,J8=0,Li=0,x4=0,Mi=0,N8=0,di=0,$9=0,B8=0,vt=0,y8=0,G8=0,nn=0,kr=0,As=0,zn=0,$s=0,Jn=0,ls=0,cs=0,Kn=0,gs=0,on=0,us=0,hs=0,ds=0,Wn=0,fs=0,Zn=0,jn=0,Is=0,sn=0,Xn=0,an=0,eo=0,to=0,ms=0,ps=0,Es=0,An=0,io=0,Cs=0,Sr=0,$n=0,Bs=0,ys=0,ln=0,I7=0,ro=0,Qs=0,ws=0,no=0,oo=0,so=0,vs=0,m7=0,cn=0,ks=0,ao=0,Ss=0,bs=0,Ds=0,Ao=0,_s=0,xs=0,Ls=0,Ms=0,$o=0,Rs=0,Fs=0,gn=0,br=0,un=0,Ts=0,or=0,Ns=0,lo=0,hn=0,co=0,dn=0,Gs=0,go=0,uo=0,Us=0,ho=0,fo=0,Ps=0,Dr=0,Io=0,p7=0,fn=0,_r=0,sr=0,xr=0,K7=0,Lr=0,mo=0,W7=0,D7=0,_7=0,i7=0,x7=0,Mr=0,ar=0,Ar=0,Rr=0,E7=0,Os=0,fi=0,Al=0,In=0,mn=0,Ou=0,$l=0,qs=0,qu=0,lA=0,ll=0,Hu=0,Vu=0,Yu=0,cA=0,cl=0,gl=0,gA=0,pn=0,ul=0,zu=0,Hs=0,$r=0,Ju=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,th=0,ih=0,rh=0,hl=0,Fr=0,nh=0,oh=0,dl=0,sh=0,uA=0,Vs=0,hA=0,ah=0,Ah=0,dA=0,fl=0,Il=0,ml=0,fA=0,pl=0,Ys=0,$h=0,lh=0,El=0,ch=0,gh=0,Cl=0,uh=0,hh=0,Bl=0,yl=0,Ql=0,wl=0,vl=0,En=0,dh=0,kl=0,fh=0,Sl=0,bl=0,Ih=0,mh=0,ph=0,IA=0,Dl=0,_l=0,po=0,xl=0,mA=0,Eh=0,Ll=0,Ch=0,Ml=0,Bh=0,yh=0,Rl=0,Fl=0,Qh=0,zs=0,wh=0,pA=0,Tl=0,Nl=0,vh=0,kh=0,Sh=0,bh=0,Dh=0,_h=0,Js=0,Gl=0,Ul=0,Pl=0,Ks=0,xh=0,Ol=0,Lh=0,ql=0,Mh=0,Rh=0,Hl=0,EA=0,Fh=0,Th=0,Ws=0,Nh=0,Zs=0,Gh=0,CA=0,Uh=0,Ph=0,Oh=0,Vl=0,qh=0,Hh=0,Vh=0,Yh=0,Yl=0,zl=0,lr=0,Jl=0,js=0,BA=0,yA=0,Cn=0,Kl=0,Bn=0,zh=0,Wl=0,Jh=0,Kh=0,Wh=0,Zh=0,Xs=0,QA=0,Tr=0,jh=0,Xh=0,Zl=0,wA=0,jl=0,Xl=0,ed=0,ec=0,td=0,vA=0,id=0,rd=0,K9=0,nd=0,tc=0,od=0,sd=0,kA=0,ad=0,SA=0,ic=0,Ad=0,$d=0,rc=0,nc=0,ld=0,bA=0,DA=0,oc=0,sc=0,cd=0,ac=0,_A=0,gd=0,Ac=0,ud=0,hd=0,dd=0,fd=0,$c=0,lc=0,xA=0,ea=0,cc=0,Id=0,gc=0,uc=0,md=0,pd=0,Ed=0,hc=0,Cd=0,Bd=0,yd=0,Qd=0,wd=0,vd=0,dc=0,kd=0,fc=0,Sd=0,yn=0,bd=0,Ic=0,Dd=0,Eo=0,mc=0,LA=0,_d=0,ta=0,MA=0,xd=0,RA=0,pc=0,Ld=0,Md=0,Rd=0,Fd=0,Td=0,Ec=0,Nd=0,Gd=0,Ud=0,ia=0,Co=0,FA=0,Pd=0,TA=0,Od=0,qd=0,Hd=0,Cc=0,Vd=0,Yd=0,zd=0,Jd=0,Kd=0,ra=0,Wd=0,Zd=0,Bc=0,jd=0,Xd=0,ef=0,tf=0,C7=0,yc=0,B7=0,Qc=0,NA=0,rf=0,r7=0,Bo=0,nf=0,of=0,sf=0,af=0,Af=0,wc=0,$f=0,lf=0,vc=0,cf=0,gf=0,yo=0,GA=0,uf=0,kc=0,hf=0,df=0,na=0,ff=0,If=0,Sc=0,bc=0,mf=0,pf=0,Qn=0,Ef=0,Cf=0,wn=0,Bf=0,Dc=0,yf=0,Qf=0,Qo=0,_c=0,wf=0,xc=0,vf=0,cr=0,UA=0,kf=0,Lc=0,Mc=0,Sf=0,bf=0,Rc=0,Df=0,_f=0,xf=0,Fc=0,Lf=0,wo=0,Mf=0,vn=0,Rf=0,Ff=0,PA=0,Tf=0,OA=0,qA=0,Nf=0,Tc=0,Nc=0,Gf=0,Gc=0,Uc=0,Pc=0,Uf=0,Oc=0,qc=0,Pf=0,Of=0,Hc=0,Vc=0,qf=0,Yc=0,zc=0,Hf=0,Vf=0,Jc=0,HA=0,Kc=0,Wc=0,Zc=0,jc=0,Yf=0,zf=0,Jf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Xc=0,VA=0,eI=0,tI=0,iI=0,eg=0,tg=0,rI=0,ig=0,YA=0,oa=0,rg=0,nI=0,oI=0,sI=0,aI=0,ng=0,sa=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,sg=0,EI=0,CI=0,kn=0,ag=0,Ag=0,zA=0,BI=0,$g=0,yI=0,lg=0,cg=0,QI=0,wI=0,vI=0,kI=0,SI=0,Aa=0,JA=0,bI=0,DI=0,_I=0,xI=0,gg=0,LI=0,ug=0,MI=0,RI=0,hg=0,Nr=0,dg=0,fg=0,FI=0,Ig=0,$a=0,TI=0,NI=0,GI=0,la=0,mg=0,UI=0,PI=0,pg=0,OI=0,qI=0,KA=0,ca=0,HI=0,VI=0,YI=0,Eg=0,Cg=0,Bg=0,zI=0,JI=0,vo=0,KI=0,yg=0,WI=0,WA=0,Qg=0,ZI=0,jI=0,XI=0,em=0,wg=0,tm=0,im=0,vg=0,ga=0,rm=0,nm=0,om=0,ko=0,kg=0,Sg=0,sm=0,bg=0,Dg=0,L7=0,_g=0,gr=0,am=0,Am=0,$m=0,lm=0,ZA=0,ua=0,xg=0,Lg=0,cm=0,ha=0,So=0,gm=0,da=0,jA=0,um=0,XA=0,hm=0,dm=0,Mg=0,fa=0,Rg=0,fm=0,Im=0,mm=0,pm=0,Fg=0,Em=0,oi=0,De=0,n7=0,Cm=0,Tg=0,Ng=0,e$=0,Bm=0,Gr=0,bo=0,ym=0,Qm=0,Gg=0,t$=0,wm=0,Ug=0,Pg=0,Og=0,i$=0,r$=0,qg=0,Do=0,n$=0,Hg=0,vm=0,Sn=0,km=0,Vg=0,Ia=0,Sm=0,Yg=0,M7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,R7=0,Rm=0,Fm=0,Tm=0,zg=0,y7=0,ma=0,o$=0,Jg=0,Kg=0,Nm=0,Wg=0,Zg=0,Gm=0,Um=0,jg=0,Xg=0,Pm=0,Om=0,eu=0,qm=0,_o=0,pa=0,Ea=0,Hm=0,s$=0,Vm=0,Ym=0,tu=0,xo=0,zm=0,Jm=0,a$=0,A$=0,Ca=0,$$=0,l$=0,ur=0,Ur=0,Pr=0,c$=0,g$=0,Lo=0,hr=0,bn=0,Km=0,dr=0,Dn=0,Wm=0,Ri=0,Fi=0,Ti=0,Ba=0,ya=0,iu=0,ru=0,Qa=0,u$=0,Ni=0,wa=0,Or=0,h$=0,Zm=0,d$=0,jm=0,f$=0,nu=0,va=0,Xm=0,ep=0,ka=0,tp=0,Sa=0,_n=0,tt=0,Le=0,ou=0,ip=0,I$=0,su=0,rp=0,np=0,ba=0,op=0,sp=0,ap=0,Ap=0,au=0,$p=0,lp=0,cp=0,o7=0,Da=0,xn=0,m$=0,Mo=0,Ro=0,si=0,Fo=0,Au=0,$u=0,_a=0,To=0,No=0,Go=0,gp=0,Uo=0,fr=0,lu=0,qr=0,s7=0,p$=0,E$=0,Z7=0,C$=0,B$=0,y$=0,Hr=0,h6=0,xa=0,Vr=0,cu=0,L4=0,Q$=0,kt=0,Po=0,Ln=0,Mn=0,q9=0,Rn=0,Yr=0,je=0,w$=0;w$=C,W1=t>>>0<245;do if(W1){if(f2=t>>>0<11,pe=t+11|0,Ke=pe&-8,x4=f2?16:Ke,qs=x4>>>3,CA=e[138262]|0,ia=CA>>>qs,Wc=ia&3,vg=(Wc|0)==0,!vg){c2=ia&1,f3=c2^1,g3=f3+qs|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,y9=(h3|0)==(F6|0);do if(y9)z9=1<>>0>>0,d4&&v2(),Se=F6+12|0,S9=e[Se>>2]|0,Pt=(S9|0)==(R6|0),Pt){e[Se>>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,We=e[D4>>2]|0,A8=We|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,gn=Ss&16,go=ro>>>gn,sr=go>>>5,ar=sr&8,qu=ar|gn,ul=go>>>ar,th=ul>>>2,hA=th&4,lh=qu|hA,vl=ul>>>hA,Dl=vl>>>1,Rl=Dl&2,bh=lh|Rl,ql=vl>>>Rl,Uh=ql>>>1,Jl=Uh&1,Wh=bh|Jl,ed=ql>>>Jl,kA=Wh+ed|0,oc=kA<<1,$c=553088+(oc<<2)|0,P1=oc+2|0,hc=553088+(P1<<2)|0,yn=e[hc>>2]|0,RA=yn+8|0,Co=e[RA>>2]|0,Jd=($c|0)==(Co|0);do if(Jd)yc=1<>>0>>0,cr&&v2(),Fc=Co+12|0,Nf=e[Fc>>2]|0,Of=(Nf|0)==(yn|0),Of){e[Fc>>2]=$c,e[hc>>2]=Co,w=e[138264]|0,ca=w;break}else v2();while(!1);return Zc=kA<<3,VA=Zc-x4|0,nI=x4|3,uI=yn+4|0,e[uI>>2]=nI,CI=yn+x4|0,wI=VA|1,t2=x4|4,LI=yn+t2|0,e[LI>>2]=wI,TI=yn+Zc|0,e[TI>>2]=VA,yg=(ca|0)==0,yg||(ga=e[138267]|0,_g=ca>>>3,ha=_g<<1,Rg=553088+(ha<<2)|0,Tg=e[138262]|0,Ug=1<<_g,km=Tg&Ug,Mm=(km|0)==0,Mm?(Nm=Tg|Ug,e[138262]=Nm,J=ha+2|0,t0=553088+(J<<2)|0,V=t0,Ca=Rg):(Z1=ha+2|0,_o=553088+(Z1<<2)|0,n2=e[_o>>2]|0,y2=e[138266]|0,A5=n2>>>0>>0,A5?v2():(V=_o,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]=Rg),e[138264]=VA,e[138267]=CI,tt=RA,tt|0}if(c5=e[138263]|0,y3=(c5|0)==0,y3)Le=x4;else{for(Z5=0-c5|0,x3=c5&Z5,w3=x3+-1|0,e6=w3>>>12,H3=e6&16,X5=w3>>>H3,_3=X5>>>5,t3=_3&8,a6=t3|H3,G3=X5>>>t3,V3=G3>>>2,c3=V3&4,u3=a6|c3,Q3=G3>>>c3,J5=Q3>>>1,H5=J5&2,Y5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,U5=Y3&1,l6=Y5|U5,n3=S5>>>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(z3=E$+16|0,j5=e[z3>>2]|0,M3=(j5|0)==0,M3)if(J3=E$+20|0,d6=e[J3>>2]|0,m3=(d6|0)==0,m3){xn=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,K=f6?n6:Da,$2=f6?L6:Q$,Da=K,E$=L6,Q$=$2}b6=e[138266]|0,j6=kt>>>0>>0,j6&&v2(),v6=kt+x4|0,R3=kt>>>0>>0,R3||v2(),o6=kt+24|0,s6=e[o6>>2]|0,B6=kt+12|0,K3=e[B6>>2]|0,F3=(K3|0)==(kt|0);do if(F3){if(H6=kt+20|0,$6=e[H6>>2]|0,D6=($6|0)==0,D6)if(e9=kt+16|0,Q6=e[e9>>2]|0,X6=(Q6|0)==0,X6){Ri=0;break}else hr=Q6,Ba=e9;else hr=$6,Ba=H6;for(;;){if(P3=hr+20|0,r9=e[P3>>2]|0,V6=(r9|0)==0,!V6){hr=r9,Ba=P3;continue}if(o9=hr+16|0,g9=e[o9>>2]|0,U6=(g9|0)==0,U6){dr=hr,ru=Ba;break}else hr=g9,Ba=o9}if(Y6=ru>>>0>>0,Y6)v2();else{e[ru>>2]=0,Ri=dr;break}}else if(W3=kt+8|0,t6=e[W3>>2]|0,c6=t6>>>0>>0,c6&&v2(),o3=t6+12|0,J6=e[o3>>2]|0,A3=(J6|0)==(kt|0),A3||v2(),g6=K3+8|0,y6=e[g6>>2]|0,T3=(y6|0)==(kt|0),T3){e[o3>>2]=K3,e[g6>>2]=t6,Ri=K3;break}else v2();while(!1);t9=(s6|0)==0;do if(!t9){if(_6=kt+28|0,P6=e[_6>>2]|0,O3=553352+(P6<<2)|0,O6=e[O3>>2]|0,s9=(kt|0)==(O6|0),s9){if(e[O3>>2]=Ri,Xm=(Ri|0)==0,Xm){h9=1<>>0>>0,f9&&v2(),V9=s6+16|0,w6=e[V9>>2]|0,q6=(w6|0)==(kt|0),q6?e[V9>>2]=Ri:(a9=s6+20|0,e[a9>>2]=Ri),Y9=(Ri|0)==0,Y9)break;Q9=e[138266]|0,Qe=Ri>>>0>>0,Qe&&v2(),ge=Ri+24|0,e[ge>>2]=s6,re=kt+16|0,R9=e[re>>2]|0,w9=(R9|0)==0;do if(!w9)if(K6=R9>>>0>>0,K6)v2();else{A9=Ri+16|0,e[A9>>2]=R9,we=R9+24|0,e[we>>2]=Ri;break}while(!1);if(Me=kt+20|0,ue=e[Me>>2]|0,D9=(ue|0)==0,!D9)if(Re=e[138266]|0,Ge=ue>>>0>>0,Ge)v2();else{qe=Ri+20|0,e[qe>>2]=ue,r4=ue+24|0,e[r4>>2]=Ri;break}}while(!1);return ve=xn>>>0<16,ve?(He=xn+x4|0,J9=He|3,Ve=kt+4|0,e[Ve>>2]=J9,X1=He+4|0,he=kt+X1|0,Ue=e[he>>2]|0,Ee=Ue|1,e[he>>2]=Ee):(Z9=x4|3,v9=kt+4|0,e[v9>>2]=Z9,k4=xn|1,m0=x4|4,V4=kt+m0|0,e[V4>>2]=k4,I0=xn+x4|0,nt=kt+I0|0,e[nt>>2]=xn,Ye=e[138264]|0,Y4=(Ye|0)==0,Y4||(ze=e[138267]|0,n4=Ye>>>3,R4=n4<<1,ne=553088+(R4<<2)|0,u4=e[138262]|0,Ce=1<>2]|0,h4=e[138266]|0,oe=Te>>>0

>>0,oe?v2():(O=de,A$=Te)),e[O>>2]=ze,f4=A$+12|0,e[f4>>2]=ze,ke=ze+8|0,e[ke>>2]=A$,o4=ze+12|0,e[o4>>2]=ne),e[138264]=xn,e[138267]=v6),Pe=kt+8|0,tt=Pe,tt|0}}else Le=x4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(k9=t+11|0,I6=k9&-8,z4=e[138263]|0,fe=(z4|0)==0,fe)Le=I6;else{S4=0-I6|0,Ie=k9>>>8,z6=(Ie|0)==0,z6?_n=0:(F4=I6>>>0>16777215,F4?_n=31:(T4=Ie+1048320|0,st=T4>>>16,me=st&8,xe=Ie<>>16,_9=Z3&4,Oe=_9|me,s4=xe<<_9,d8=s4+245760|0,N4=d8>>>16,f8=N4&2,D8=Oe|f8,e8=14-D8|0,I8=s4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=I6>>>qt,i8=t8&1,_8=i8|Ot,_n=_8)),Ht=553352+(_n<<2)|0,Vt=e[Ht>>2]|0,Yt=(Vt|0)==0;e:do if(Yt)Ro=S4,C$=0,Mn=0,je=86;else for(_t=(_n|0)==31,xt=_n>>>1,zt=25-xt|0,Jt=_t?0:zt,r8=I6<>2]|0,J4=Et&-8,G4=J4-I6|0,at=G4>>>0>>0,at)if(Lt=(J4|0)==(I6|0),Lt){Fo=G4,Hr=Z7,Yr=Z7,je=90;break e}else Mo=G4,Ln=Z7;else Mo=m$,Ln=Po;if(x9=Z7+20|0,b4=e[x9>>2]|0,E8=_a>>>31,x8=(Z7+16|0)+(E8<<2)|0,o8=e[x8>>2]|0,L8=(b4|0)==0,a4=(b4|0)==(o8|0),op=L8|a4,$u=op?Au:b4,s8=(o8|0)==0,Kt=_a<<1,s8){Ro=Mo,C$=$u,Mn=Ln,je=86;break}else m$=Mo,Au=$u,_a=Kt,Z7=o8,Po=Ln}while(!1);if((je|0)==86){if(Mt=(C$|0)==0,At=(Mn|0)==0,rp=Mt&At,rp){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,m4=z4&Rt,se=(m4|0)==0,se){Le=I6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,yt=ct>>>12,p4=yt&16,K4=ct>>>p4,W4=K4>>>5,ae=W4&8,P4=ae|p4,E4=K4>>>ae,gt=E4>>>2,_4=gt&4,be=P4|_4,Qt=E4>>>_4,a8=Qt>>>1,C3=a8&2,Z4=be|C3,wt=Qt>>>C3,A4=wt>>>1,j9=A4&1,$4=Z4|j9,F9=wt>>>j9,j4=$4+F9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,B$=C8,Rn=0}else B$=C$,Rn=Mn;$8=(B$|0)==0,$8?(si=Ro,q9=Rn):(Fo=Ro,Hr=B$,Yr=Rn,je=90)}if((je|0)==90)for(;;){if(je=0,Zt=Hr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-I6|0,ht=ut>>>0>>0,o0=ht?ut:Fo,y$=ht?Hr:Yr,Ft=Hr+16|0,Ze=e[Ft>>2]|0,c8=(Ze|0)==0,!c8){Fo=o0,Hr=Ze,Yr=y$,je=90;continue}if(Tt=Hr+20|0,b9=e[Tt>>2]|0,g8=(b9|0)==0,g8){si=o0,q9=y$;break}else Fo=o0,Hr=b9,Yr=y$,je=90}if(et=(q9|0)==0,et)Le=I6;else if(V8=e[138264]|0,Z8=V8-I6|0,M8=si>>>0>>0,M8){u8=e[138266]|0,R8=q9>>>0>>0,R8&&v2(),l4=q9+I6|0,Y8=q9>>>0>>0,Y8||v2(),dt=q9+24|0,Nt=e[dt>>2]|0,F8=q9+12|0,Xt=e[F8>>2]|0,O4=(Xt|0)==(q9|0);do if(O4){if(ei=q9+20|0,Bi=e[ei>>2]|0,ti=(Bi|0)==0,ti)if(yi=q9+16|0,li=e[yi>>2]|0,g7=(li|0)==0,g7){Ti=0;break}else Dn=li,Qa=yi;else Dn=Bi,Qa=ei;for(;;){if(Qi=Dn+20|0,wi=e[Qi>>2]|0,u7=(wi|0)==0,!u7){Dn=wi,Qa=Qi;continue}if(vi=Dn+16|0,ci=e[vi>>2]|0,h7=(ci|0)==0,h7){Wm=Dn,u$=Qa;break}else Dn=ci,Qa=vi}if(zi=u$>>>0>>0,zi)v2();else{e[u$>>2]=0,Ti=Wm;break}}else if(C4=q9+8|0,Ae=e[C4>>2]|0,T8=Ae>>>0>>0,T8&&v2(),$i=Ae+12|0,qi=e[$i>>2]|0,Vi=(qi|0)==(q9|0),Vi||v2(),Ei=Xt+8|0,X8=e[Ei>>2]|0,Ci=(X8|0)==(q9|0),Ci){e[$i>>2]=Xt,e[Ei>>2]=Ae,Ti=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(Ki=q9+28|0,Wi=e[Ki>>2]|0,ki=553352+(Wi<<2)|0,Zi=e[ki>>2]|0,ii=(q9|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)==(q9|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=q9+16|0,J8=e[hi>>2]|0,Li=(J8|0)==0;do if(!Li)if(N8=J8>>>0>>0,N8)v2();else{di=Ti+16|0,e[di>>2]=J8,$9=J8+24|0,e[$9>>2]=Ti;break}while(!1);if(B8=q9+20|0,vt=e[B8>>2]|0,y8=(vt|0)==0,!y8)if(G8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{kr=Ti+20|0,e[kr>>2]=vt,As=vt+24|0,e[As>>2]=Ti;break}}while(!1);$s=si>>>0<16;e:do if($s)Jn=si+I6|0,ls=Jn|3,cs=q9+4|0,e[cs>>2]=ls,d1=Jn+4|0,Kn=q9+d1|0,gs=e[Kn>>2]|0,on=gs|1,e[Kn>>2]=on;else{if(us=I6|3,hs=q9+4|0,e[hs>>2]=us,ds=si|1,l0=I6|4,fs=q9+l0|0,e[fs>>2]=ds,C0=si+I6|0,Zn=q9+C0|0,e[Zn>>2]=si,jn=si>>>3,Is=si>>>0<256,Is){sn=jn<<1,Xn=553088+(sn<<2)|0,an=e[138262]|0,eo=1<>2]|0,Cs=e[138266]|0,Sr=io>>>0>>0,Sr?v2():(G=An,l$=io)),e[G>>2]=l4,$n=l$+12|0,e[$n>>2]=l4,Y0=I6+8|0,Bs=q9+Y0|0,e[Bs>>2]=l$,z0=I6+12|0,ys=q9+z0|0,e[ys>>2]=Xn;break}if(ln=si>>>8,I7=(ln|0)==0,I7?Ur=0:(Qs=si>>>0>16777215,Qs?Ur=31:(ws=ln+1048320|0,no=ws>>>16,oo=no&8,so=ln<>>16,cn=m7&4,ks=cn|oo,ao=so<>>16,Ao=Ds&2,_s=ks|Ao,xs=14-_s|0,Ls=ao<>>15,$o=xs+Ms|0,Rs=$o<<1,Fs=$o+7|0,br=si>>>Fs,un=br&1,Ts=un|Rs,Ur=Ts)),or=553352+(Ur<<2)|0,f1=I6+28|0,Ns=q9+f1|0,e[Ns>>2]=Ur,M1=I6+16|0,lo=q9+M1|0,x1=I6+20|0,hn=q9+x1|0,e[hn>>2]=0,e[lo>>2]=0,co=e[138263]|0,dn=1<>2]=l4,V1=I6+24|0,ho=q9+V1|0,e[ho>>2]=or,s2=I6+12|0,fo=q9+s2|0,e[fo>>2]=l4,O1=I6+8|0,Ps=q9+O1|0,e[Ps>>2]=l4;break}Dr=e[or>>2]|0,Io=Dr+4|0,p7=e[Io>>2]|0,fn=p7&-8,_r=(fn|0)==(si|0);t:do if(_r)Ni=Dr;else{for(xr=(Ur|0)==31,K7=Ur>>>1,Lr=25-K7|0,mo=xr?0:Lr,W7=si<>>31,E7=(h$+16|0)+(Rr<<2)|0,i7=e[E7>>2]|0,Os=(i7|0)==0,Os){k=E7,Zm=h$;break}if(D7=c$<<1,_7=i7+4|0,x7=e[_7>>2]|0,Mr=x7&-8,Ar=(Mr|0)==(si|0),Ar){Ni=i7;break t}else c$=D7,h$=i7}if(fi=e[138266]|0,Al=k>>>0>>0,Al)v2();else{e[k>>2]=l4,E0=I6+24|0,In=q9+E0|0,e[In>>2]=Zm,H0=I6+12|0,mn=q9+H0|0,e[mn>>2]=l4,V0=I6+8|0,Ou=q9+V0|0,e[Ou>>2]=l4;break e}}while(!1);if($l=Ni+8|0,lA=e[$l>>2]|0,ll=e[138266]|0,Hu=lA>>>0>=ll>>>0,ou=Ni>>>0>=ll>>>0,Vu=Hu&ou,Vu){Yu=lA+12|0,e[Yu>>2]=l4,e[$l>>2]=l4,h2=I6+8|0,cA=q9+h2|0,e[cA>>2]=lA,I2=I6+12|0,cl=q9+I2|0,e[cl>>2]=Ni,y0=I6+24|0,gl=q9+y0|0,e[gl>>2]=0;break}else v2()}while(!1);return gA=q9+8|0,tt=gA,tt|0}else Le=I6}while(!1);if(pn=e[138264]|0,zu=pn>>>0>>0,!zu)return Hs=pn-Le|0,$r=e[138267]|0,Ju=Hs>>>0>15,Ju?(Ku=$r+Le|0,e[138267]=Ku,e[138264]=Hs,Wu=Hs|1,p1=Le+4|0,Zu=$r+p1|0,e[Zu>>2]=Wu,ju=$r+pn|0,e[ju>>2]=Hs,Xu=Le|3,eh=$r+4|0,e[eh>>2]=Xu):(e[138264]=0,e[138267]=0,ih=pn|3,rh=$r+4|0,e[rh>>2]=ih,g0=pn+4|0,hl=$r+g0|0,Fr=e[hl>>2]|0,nh=Fr|1,e[hl>>2]=nh),oh=$r+8|0,tt=oh,tt|0;if(dl=e[138265]|0,sh=dl>>>0>Le>>>0,sh)return uA=dl-Le|0,e[138265]=uA,Vs=e[138268]|0,ah=Vs+Le|0,e[138268]=ah,Ah=uA|1,Y=Le+4|0,dA=Vs+Y|0,e[dA>>2]=Ah,fl=Le|3,Il=Vs+4|0,e[Il>>2]=fl,ml=Vs+8|0,tt=ml,tt|0;fA=e[138380]|0,pl=(fA|0)==0;do if(pl)if(Ys=xS(30)|0,$h=Ys+-1|0,El=$h&Ys,ch=(El|0)==0,ch){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,gh=hy(0)|0,Cl=gh&-16,uh=Cl^1431655768,e[138380]=uh;break}else v2();while(!1);if(hh=Le+48|0,Bl=e[138382]|0,yl=Le+47|0,Ql=Bl+yl|0,wl=0-Bl|0,En=Ql&wl,dh=En>>>0>Le>>>0,!dh||(kl=e[138372]|0,fh=(kl|0)==0,!fh&&(Sl=e[138370]|0,bl=Sl+En|0,Ih=bl>>>0<=Sl>>>0,mh=bl>>>0>kl>>>0,ba=Ih|mh,ba)))return tt=0,tt|0;ph=e[138373]|0,IA=ph&4,_l=(IA|0)==0;e:do if(_l){po=e[138268]|0,xl=(po|0)==0;t:do if(xl)je=174;else{for(To=553496;;){if(mA=e[To>>2]|0,Eh=mA>>>0>po>>>0,!Eh&&(Ll=To+4|0,Ch=e[Ll>>2]|0,Ml=mA+Ch|0,Bh=Ml>>>0>po>>>0,Bh)){b=To,D=Ll;break}if(yh=To+8|0,Fl=e[yh>>2]|0,Qh=(Fl|0)==0,Qh){je=174;break t}else To=Fl}if(Fh=e[138265]|0,Th=Ql-Fh|0,Ws=Th&wl,Nh=Ws>>>0<2147483647,Nh)if(Zs=Oi(Ws|0)|0,Gh=e[b>>2]|0,Ph=e[D>>2]|0,Oh=Gh+Ph|0,Vl=(Zs|0)==(Oh|0),o=Vl?Ws:0,Vl)if(qh=(Zs|0)==-1,qh)Vr=o;else{h6=Zs,L4=o,je=194;break e}else va=Zs,s7=Ws,xa=o,je=184;else Vr=0}while(!1);do if((je|0)==174)if(zs=Oi(0)|0,wh=(zs|0)==-1,wh)Vr=0;else if(pA=zs,Tl=e[138381]|0,Nl=Tl+-1|0,vh=Nl&pA,kh=(vh|0)==0,kh?qr=En:(Sh=Nl+pA|0,Dh=0-Tl|0,_h=Sh&Dh,Js=En-pA|0,Gl=Js+_h|0,qr=Gl),Ul=e[138370]|0,Pl=Ul+qr|0,Ks=qr>>>0>Le>>>0,xh=qr>>>0<2147483647,np=Ks&xh,np){if(Ol=e[138372]|0,Lh=(Ol|0)==0,!Lh&&(Mh=Pl>>>0<=Ul>>>0,Rh=Pl>>>0>Ol>>>0,sp=Mh|Rh,sp)){Vr=0;break}if(Hl=Oi(qr|0)|0,EA=(Hl|0)==(zs|0),lu=EA?qr:0,EA){h6=zs,L4=lu,je=194;break e}else va=Hl,s7=qr,xa=lu,je=184}else Vr=0;while(!1);t:do if((je|0)==184){Hh=0-s7|0,Vh=(va|0)!=-1,Yh=s7>>>0<2147483647,Ap=Yh&Vh,Yl=hh>>>0>s7>>>0,$p=Yl&Ap;do if($p)if(zl=e[138382]|0,lr=yl-s7|0,js=lr+zl|0,BA=0-zl|0,yA=js&BA,Cn=yA>>>0<2147483647,Cn)if(Kl=Oi(yA|0)|0,Bn=(Kl|0)==-1,Bn){Oi(Hh|0)|0,Vr=xa;break t}else{zh=yA+s7|0,p$=zh;break}else p$=s7;else p$=s7;while(!1);if(Wl=(va|0)==-1,Wl)Vr=xa;else{h6=va,L4=p$,je=194;break e}}while(!1);Jh=e[138373]|0,Kh=Jh|4,e[138373]=Kh,cu=Vr,je=191}else cu=0,je=191;while(!1);if((je|0)==191&&(Zh=En>>>0<2147483647,Zh&&(Xs=Oi(En|0)|0,QA=Oi(0)|0,Tr=(Xs|0)!=-1,jh=(QA|0)!=-1,ap=Tr&jh,Xh=Xs>>>0>>0,lp=Xh&ap,lp&&(Zl=QA,wA=Xs,jl=Zl-wA|0,Xl=Le+40|0,ec=jl>>>0>Xl>>>0,C2=ec?jl:cu,ec&&(h6=Xs,L4=C2,je=194)))),(je|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),K9=e[138268]|0,nd=(K9|0)==0;e:do if(nd){for(tc=e[138266]|0,od=(tc|0)==0,sd=h6>>>0>>0,cp=od|sd,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,ic=553088+(SA<<2)|0,h0=SA+3|0,Ad=553088+(h0<<2)|0,e[Ad>>2]=ic,n0=SA+2|0,$d=553088+(n0<<2)|0,e[$d>>2]=ic,rc=Sa+1|0,tp=(rc|0)==32,!tp;)Sa=rc;nc=L4+-40|0,ld=h6+8|0,bA=ld,DA=bA&7,sc=(DA|0)==0,cd=0-bA|0,ac=cd&7,_A=sc?0:ac,gd=h6+_A|0,Ac=nc-_A|0,e[138268]=gd,e[138265]=Ac,ud=Ac|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(Go=553496;;){if(lc=e[Go>>2]|0,xA=Go+4|0,ea=e[xA>>2]|0,cc=lc+ea|0,Id=(h6|0)==(cc|0),Id){E=lc,y=xA,B=ea,gp=Go,je=204;break}if(gc=Go+8|0,uc=e[gc>>2]|0,md=(uc|0)==0,md)break;Go=uc}if((je|0)==204&&(pd=gp+12|0,Ed=e[pd>>2]|0,Cd=Ed&8,Bd=(Cd|0)==0,Bd&&(yd=K9>>>0>=E>>>0,Qd=K9>>>0
>>0,au=Qd&yd,au))){wd=B+L4|0,e[y>>2]=wd,vd=e[138265]|0,dc=vd+L4|0,kd=K9+8|0,fc=kd,Sd=fc&7,bd=(Sd|0)==0,Ic=0-fc|0,Dd=Ic&7,Eo=bd?0:Dd,mc=K9+Eo|0,LA=dc-Eo|0,e[138268]=mc,e[138265]=LA,_d=LA|1,c0=Eo+4|0,ta=K9+c0|0,e[ta>>2]=_d,a1=dc+4|0,MA=K9+a1|0,e[MA>>2]=40,xd=e[138384]|0,e[138269]=xd;break}for(pc=e[138266]|0,Ld=h6>>>0>>0,Ld?(e[138266]=h6,Qo=h6):Qo=pc,Md=h6+L4|0,Uo=553496;;){if(Rd=e[Uo>>2]|0,Fd=(Rd|0)==(Md|0),Fd){I=Uo,fr=Uo,je=212;break}if(Td=Uo+8|0,Ec=e[Td>>2]|0,Nd=(Ec|0)==0,Nd){No=553496;break}else Uo=Ec}if((je|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,Cc=Hd,Vd=Cc&7,Yd=(Vd|0)==0,zd=0-Cc|0,Kd=zd&7,ra=Yd?0:Kd,Wd=h6+ra|0,B0=L4+8|0,Zd=h6+B0|0,Bc=Zd,jd=Bc&7,Xd=(jd|0)==0,ef=0-Bc|0,tf=ef&7,C7=Xd?0:tf,x0=C7+L4|0,B7=h6+x0|0,Qc=B7,NA=Wd,rf=Qc-NA|0,$0=ra+Le|0,r7=h6+$0|0,Bo=rf-Le|0,nf=Le|3,p0=ra+4|0,of=h6+p0|0,e[of>>2]=nf,sf=(B7|0)==(K9|0);t:do if(sf)af=e[138265]|0,wc=af+Bo|0,e[138265]=wc,e[138268]=r7,$f=wc|1,H1=$0+4|0,lf=h6+H1|0,e[lf>>2]=$f;else{if(vc=e[138267]|0,cf=(B7|0)==(vc|0),cf){gf=e[138264]|0,yo=gf+Bo|0,e[138264]=yo,e[138267]=r7,GA=yo|1,K1=$0+4|0,uf=h6+K1|0,e[uf>>2]=GA,q1=yo+$0|0,kc=h6+q1|0,e[kc>>2]=yo;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){Sc=na&-8,bc=na>>>3,mf=na>>>0<256;i:do if(mf){U1=C7|8,W0=U1+L4|0,pf=h6+W0|0,Qn=e[pf>>2]|0,D1=L4+12|0,K0=D1+C7|0,Ef=h6+K0|0,wn=e[Ef>>2]|0,Bf=bc<<1,Dc=553088+(Bf<<2)|0,yf=(Qn|0)==(Dc|0);do if(!yf){if(Qf=Qn>>>0>>0,Qf&&v2(),_c=Qn+12|0,wf=e[_c>>2]|0,xc=(wf|0)==(B7|0),xc)break;v2()}while(!1);if(vf=(wn|0)==(Qn|0),vf){UA=1<>>0>>0,bf&&v2(),Rc=wn+8|0,Df=e[Rc>>2]|0,_f=(Df|0)==(B7|0),_f){H=Rc;break}v2()}while(!1);xf=Qn+12|0,e[xf>>2]=wn,e[H>>2]=Qn}else{R1=C7|24,R0=R1+L4|0,Lf=h6+R0|0,wo=e[Lf>>2]|0,Y1=L4+12|0,v0=Y1+C7|0,Mf=h6+v0|0,vn=e[Mf>>2]|0,Rf=(vn|0)==(B7|0);do if(Rf){if(e2=C7|16,M0=$1+e2|0,Uc=h6+M0|0,Pc=e[Uc>>2]|0,Uf=(Pc|0)==0,Uf)if(P0=e2+L4|0,Oc=h6+P0|0,qc=e[Oc>>2]|0,Pf=(qc|0)==0,Pf){Fi=0;break}else bn=qc,ya=Oc;else bn=Pc,ya=Uc;for(;;){if(Hc=bn+20|0,Vc=e[Hc>>2]|0,qf=(Vc|0)==0,!qf){bn=Vc,ya=Hc;continue}if(Yc=bn+16|0,zc=e[Yc>>2]|0,Hf=(zc|0)==0,Hf){Km=bn,iu=ya;break}else bn=zc,ya=Yc}if(Vf=iu>>>0>>0,Vf)v2();else{e[iu>>2]=0,Fi=Km;break}}else if(F1=C7|8,N0=F1+L4|0,Ff=h6+N0|0,PA=e[Ff>>2]|0,Tf=PA>>>0>>0,Tf&&v2(),OA=PA+12|0,qA=e[OA>>2]|0,Tc=(qA|0)==(B7|0),Tc||v2(),Nc=vn+8|0,Gf=e[Nc>>2]|0,Gc=(Gf|0)==(B7|0),Gc){e[OA>>2]=vn,e[Nc>>2]=PA,Fi=vn;break}else v2();while(!1);if(Jc=(wo|0)==0,Jc)break;b1=L4+28|0,U0=b1+C7|0,HA=h6+U0|0,Kc=e[HA>>2]|0,jc=553352+(Kc<<2)|0,Yf=e[jc>>2]|0,zf=(B7|0)==(Yf|0);do if(zf){if(e[jc>>2]=Fi,ep=(Fi|0)==0,!ep)break;Jf=1<>>0>>0,Xf&&v2(),Xc=wo+16|0,eI=e[Xc>>2]|0,tI=(eI|0)==(B7|0),tI?e[Xc>>2]=Fi:(iI=wo+20|0,e[iI>>2]=Fi),eg=(Fi|0)==0,eg)break i;while(!1);tg=e[138266]|0,rI=Fi>>>0>>0,rI&&v2(),ig=Fi+24|0,e[ig>>2]=wo,_1=C7|16,O0=_1+L4|0,YA=h6+O0|0,oa=e[YA>>2]|0,rg=(oa|0)==0;do if(!rg)if(oI=oa>>>0>>0,oI)v2();else{sI=Fi+16|0,e[sI>>2]=oa,aI=oa+24|0,e[aI>>2]=Fi;break}while(!1);if(J0=$1+_1|0,ng=h6+J0|0,sa=e[ng>>2]|0,AI=(sa|0)==0,AI)break;if($I=e[138266]|0,lI=sa>>>0<$I>>>0,lI)v2();else{cI=Fi+20|0,e[cI>>2]=sa,gI=sa+24|0,e[gI>>2]=Fi;break}}while(!1);A2=Sc|C7,T0=A2+L4|0,hI=h6+T0|0,dI=Sc+Bo|0,su=hI,o7=dI}else su=B7,o7=Bo;if(og=su+4|0,fI=e[og>>2]|0,II=fI&-2,e[og>>2]=II,mI=o7|1,D0=$0+4|0,pI=h6+D0|0,e[pI>>2]=mI,Q0=o7+$0|0,aa=h6+Q0|0,e[aa>>2]=o7,sg=o7>>>3,EI=o7>>>0<256,EI){kn=sg<<1,ag=553088+(kn<<2)|0,Ag=e[138262]|0,zA=1<>2]|0,QI=e[138266]|0,vI=cg>>>0>>0,!vI){F=lg,$$=cg;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}JA=o7>>>8,bI=(JA|0)==0;do if(bI)Pr=0;else{if(DI=o7>>>0>16777215,DI){Pr=31;break}_I=JA+1048320|0,xI=_I>>>16,gg=xI&8,ug=JA<>>16,hg=RI&4,Nr=hg|gg,dg=ug<>>16,Ig=FI&2,$a=Nr|Ig,NI=14-$a|0,GI=dg<>>15,mg=NI+la|0,UI=mg<<1,PI=mg+7|0,pg=o7>>>PI,OI=pg&1,qI=OI|UI,Pr=qI}while(!1);if(KA=553352+(Pr<<2)|0,S0=$0+28|0,HI=h6+S0|0,e[HI>>2]=Pr,j0=$0+16|0,VI=h6+j0|0,q0=$0+20|0,YI=h6+q0|0,e[YI>>2]=0,e[VI>>2]=0,Eg=e[138263]|0,Cg=1<>2]=r7,s1=$0+24|0,vo=h6+s1|0,e[vo>>2]=KA,r1=$0+12|0,KI=h6+r1|0,e[KI>>2]=r7,o1=$0+8|0,WI=h6+o1|0,e[WI>>2]=r7;break}WA=e[KA>>2]|0,Qg=WA+4|0,ZI=e[Qg>>2]|0,jI=ZI&-8,XI=(jI|0)==(o7|0);i:do if(XI)Or=WA;else{for(em=(Pr|0)==31,wg=Pr>>>1,tm=25-wg|0,im=em?0:tm,rm=o7<>>31,Dg=(d$+16|0)+(bg<<2)|0,ko=e[Dg>>2]|0,L7=(ko|0)==0,L7){a=Dg,jm=d$;break}if(nm=Lo<<1,om=ko+4|0,kg=e[om>>2]|0,Sg=kg&-8,sm=(Sg|0)==(o7|0),sm){Or=ko;break i}else Lo=nm,d$=ko}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=Or+8|0,ua=e[ZA>>2]|0,xg=e[138266]|0,Lg=ua>>>0>=xg>>>0,I$=Or>>>0>=xg>>>0,cm=Lg&I$,cm){So=ua+12|0,e[So>>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]=Or,m1=$0+24|0,jA=h6+m1|0,e[jA>>2]=0;break}else v2()}while(!1);return u1=ra|8,um=h6+u1|0,tt=um,tt|0}else No=553496;for(;;){if(XA=e[No>>2]|0,hm=XA>>>0>K9>>>0,!hm&&(dm=No+4|0,Mg=e[dm>>2]|0,fa=XA+Mg|0,fm=fa>>>0>K9>>>0,fm)){g=XA,d=Mg,m=fa;break}Im=No+8|0,mm=e[Im>>2]|0,No=mm}if(u0=d+-47|0,d0=d+-39|0,pm=g+d0|0,Fg=pm,Em=Fg&7,oi=(Em|0)==0,De=0-Fg|0,n7=De&7,Cm=oi?0:n7,c1=u0+Cm|0,Ng=g+c1|0,e$=K9+16|0,Bm=Ng>>>0>>0,Gr=Bm?K9:Ng,bo=Gr+8|0,ym=L4+-40|0,Qm=h6+8|0,Gg=Qm,t$=Gg&7,wm=(t$|0)==0,Pg=0-Gg|0,Og=Pg&7,i$=wm?0:Og,r$=h6+i$|0,qg=ym-i$|0,e[138268]=r$,e[138265]=qg,Do=qg|1,i0=i$+4|0,n$=h6+i0|0,e[n$>>2]=Do,A1=L4+-36|0,Hg=h6+A1|0,e[Hg>>2]=40,vm=e[138384]|0,e[138269]=vm,Sn=Gr+4|0,e[Sn>>2]=27,e[bo>>2]=e[138374]|0,e[bo+4>>2]=e[138375]|0,e[bo+8>>2]=e[138376]|0,e[bo+12>>2]=e[138377]|0,e[138374]=h6,e[138375]=L4,e[138377]=0,e[138376]=bo,Vg=Gr+28|0,e[Vg>>2]=7,Ia=Gr+32|0,Sm=Ia>>>0>>0,Sm)for(M7=Vg;Yg=M7+4|0,e[Yg>>2]=7,bm=M7+8|0,Dm=bm>>>0>>0,Dm;)M7=Yg;if(_m=(Gr|0)==(K9|0),!_m){if(xm=Gr,Lm=K9,R7=xm-Lm|0,Rm=e[Sn>>2]|0,Fm=Rm&-2,e[Sn>>2]=Fm,Tm=R7|1,zg=K9+4|0,e[zg>>2]=Tm,e[Gr>>2]=R7,y7=R7>>>3,ma=R7>>>0<256,ma){o$=y7<<1,Jg=553088+(o$<<2)|0,Kg=e[138262]|0,Wg=1<>2]|0,Pm=e[138266]|0,Om=Xg>>>0>>0,Om?v2():(L=jg,a$=Xg)),e[L>>2]=K9,eu=a$+12|0,e[eu>>2]=K9,qm=K9+8|0,e[qm>>2]=a$,pa=K9+12|0,e[pa>>2]=Jg;break}if(Ea=R7>>>8,Hm=(Ea|0)==0,Hm?ur=0:(s$=R7>>>0>16777215,s$?ur=31:(Vm=Ea+1048320|0,Ym=Vm>>>16,tu=Ym&8,xo=Ea<>>16,g2=Jm&4,o2=g2|tu,l2=xo<>>16,m2=a2&2,r2=o2|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)),J2=553352+(ur<<2)|0,U2=K9+28|0,e[U2>>2]=ur,V2=K9+20|0,e[V2>>2]=0,e[e$>>2]=0,Z2=e[138263]|0,Y2=1<>2]=K9,i5=K9+24|0,e[i5>>2]=J2,x5=K9+12|0,e[x5>>2]=K9,j2=K9+8|0,e[j2>>2]=K9;break}m5=e[J2>>2]|0,b5=m5+4|0,V5=e[b5>>2]|0,b2=V5&-8,B5=(b2|0)==(R7|0);t:do if(B5)wa=m5;else{for(s5=(ur|0)==31,F2=ur>>>1,R2=25-F2|0,Q2=s5?0:R2,y5=R7<>>31,h5=(f$+16|0)+($5<<2)|0,L5=e[h5>>2]|0,Q5=(L5|0)==0,Q5){$=h5,nu=f$;break}if(N5=g$<<1,p5=L5+4|0,M5=e[p5>>2]|0,z2=M5&-8,E5=(z2|0)==(R7|0),E5){wa=L5;break t}else g$=N5,f$=L5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=K9,d5=K9+24|0,e[d5>>2]=nu,l5=K9+12|0,e[l5>>2]=K9,d2=K9+8|0,e[d2>>2]=K9;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,K2=f5&ip,K2){I5=r5+12|0,e[I5>>2]=K9,e[w5>>2]=K9,n5=K9+8|0,e[n5>>2]=r5,R5=K9+12|0,e[R5>>2]=wa,e5=K9+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(T2=e[138265]|0,v5=T2>>>0>Le>>>0,v5)return z5=T2-Le|0,e[138265]=z5,i3=e[138268]|0,C5=i3+Le|0,e[138268]=C5,I3=z5|1,X=Le+4|0,d3=i3+X|0,e[d3>>2]=I3,W5=Le|3,r3=i3+4|0,e[r3>>2]=W5,a3=i3+8|0,tt=a3,tt|0}return G5=uy()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,Z3=0,_9=0,S9=0,Oe=0,s4=0,d8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){Y=t+-8|0,W2=e[138266]|0,v6=Y>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,re=f9&3,Ge=(re|0)==1,Ge&&v2(),Z9=f9&-8,y=Z9+-8|0,ne=t+y|0,h0=f9&1,n0=(h0|0)==0;do if(n0){if(x0=e[Y>>2]|0,M0=(re|0)==0,M0)return;if(Q=-8-x0|0,L0=t+Q|0,X0=x0+Z9|0,b1=L0>>>0>>0,b1&&v2(),q1=e[138267]|0,A2=(L0|0)==(q1|0),A2){if(t0=Z9+-4|0,c0=t+t0|0,$0=e[c0>>2]|0,l0=$0&3,X=(l0|0)==3,!X){Z3=L0,_9=X0;break}e[138264]=X0,m0=$0&-2,e[c0>>2]=m0,g0=X0|1,x=Q+4|0,I0=t+x|0,e[I0>>2]=g0,e[ne>>2]=X0;return}if(a2=x0>>>3,q2=x0>>>0<256,q2){if(Z=Q+8|0,x5=t+Z|0,Q2=e[x5>>2]|0,A0=Q+12|0,Q5=t+A0|0,K2=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,J6=(R3|0)==(L0|0),J6||v2()),X6=(K2|0)==(Q2|0),X6){V6=1<>>0>>0,F6&&v2(),t9=K2+8|0,P6=e[t9>>2]|0,O3=(P6|0)==(L0|0),O3?g=t9:v2()),O6=Q2+12|0,e[O6>>2]=K2,e[g>>2]=Q2,Z3=L0,_9=X0;break}M=Q+24|0,s9=t+M|0,h9=e[s9>>2]|0,L=Q+12|0,n9=t+L|0,C9=e[n9>>2]|0,B9=(C9|0)==(L0|0);do if(B9){if(G=Q+20|0,ge=t+G|0,pe=e[ge>>2]|0,z9=(pe|0)==0,z9)if(F=Q+16|0,R9=t+F|0,w9=e[R9>>2]|0,K6=(w9|0)==0,K6){k9=0;break}else Pe=w9,S4=R9;else Pe=pe,S4=ge;for(;;){if(A9=Pe+20|0,we=e[A9>>2]|0,Me=(we|0)==0,!Me){Pe=we,S4=A9;continue}if(ue=Pe+16|0,D9=e[ue>>2]|0,Re=(D9|0)==0,Re){I4=Pe,Se=S4;break}else Pe=D9,S4=ue}if(Fe=Se>>>0>>0,Fe)v2();else{e[Se>>2]=0,k9=I4;break}}else if(J=Q+8|0,y9=t+J|0,d9=e[y9>>2]|0,V9=d9>>>0>>0,V9&&v2(),w6=d9+12|0,q6=e[w6>>2]|0,a9=(q6|0)==(L0|0),a9||v2(),Y9=C9+8|0,Q9=e[Y9>>2]|0,Qe=(Q9|0)==(L0|0),Qe){e[w6>>2]=C9,e[Y9>>2]=d9,k9=C9;break}else v2();while(!1);if(qe=(h9|0)==0,qe)Z3=L0,_9=X0;else{if(O=Q+28|0,r4=t+O|0,ve=e[r4>>2]|0,He=553352+(ve<<2)|0,J9=e[He>>2]|0,Ve=(L0|0)==(J9|0),Ve){if(e[He>>2]=k9,me=(k9|0)==0,me){he=1<>>0>>0,k4&&v2(),V4=h9+16|0,nt=e[V4>>2]|0,Ye=(nt|0)==(L0|0),Ye?e[V4>>2]=k9:(Y4=h9+20|0,e[Y4>>2]=k9),ze=(k9|0)==0,ze){Z3=L0,_9=X0;break}n4=e[138266]|0,R4=k9>>>0>>0,R4&&v2(),ot=k9+24|0,e[ot>>2]=h9,H=Q+16|0,u4=t+H|0,Ce=e[u4>>2]|0,T6=(Ce|0)==0;do if(!T6)if(Je=Ce>>>0>>0,Je)v2();else{O9=k9+16|0,e[O9>>2]=Ce,de=Ce+24|0,e[de>>2]=k9;break}while(!1);if(V=Q+20|0,Te=t+V|0,h4=e[Te>>2]|0,oe=(h4|0)==0,oe)Z3=L0,_9=X0;else if(d4=e[138266]|0,i0=h4>>>0>>0,i0)v2();else{e0=k9+20|0,e[e0>>2]=h4,u0=h4+24|0,e[u0>>2]=k9,Z3=L0,_9=X0;break}}}else Z3=Y,_9=Z9;while(!1);if(d0=Z3>>>0>>0,d0||v2(),_=Z9+-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=(ne|0)==(Q0|0),w0){if(B0=e[138265]|0,Z0=B0+_9|0,e[138265]=Z0,e[138268]=Z3,R0=Z0|1,v0=Z3+4|0,e[v0>>2]=R0,N0=e[138267]|0,U0=(Z3|0)==(N0|0),!U0)return;e[138267]=0,e[138264]=0;return}if(O0=e[138267]|0,H0=(ne|0)==(O0|0),H0){S0=e[138264]|0,J0=S0+_9|0,e[138264]=J0,e[138267]=Z3,T0=J0|1,P0=Z3+4|0,e[P0>>2]=T0,W0=Z3+J0|0,e[W0>>2]=J0;return}K0=C0&-8,V0=K0+_9|0,j0=C0>>>3,q0=C0>>>0<256;do if(q0){if(Y0=t+Z9|0,s1=e[Y0>>2]|0,w=Z9|4,z0=t+w|0,r1=e[z0>>2]|0,o1=j0<<1,d1=553088+(o1<<2)|0,u1=(s1|0)==(d1|0),u1||(p1=e[138266]|0,f1=s1>>>0>>0,f1&&v2(),h1=s1+12|0,A1=e[h1>>2]|0,c1=(A1|0)==(ne|0),c1||v2()),a1=(r1|0)==(s1|0),a1){$1=1<>>0>>0,v1&&v2(),k1=r1+8|0,S1=e[k1>>2]|0,L1=(S1|0)==(ne|0),L1?$=k1:v2()),M1=s1+12|0,e[M1>>2]=r1,e[$>>2]=s1}else{j=Z9+16|0,_1=t+j|0,R1=e[_1>>2]|0,r0=Z9|4,F1=t+r0|0,U1=e[F1>>2]|0,D1=(U1|0)==(ne|0);do if(D1){if(K=Z9+12|0,e2=t+K|0,O1=e[e2>>2]|0,h2=(O1|0)==0,h2)if(s0=Z9+8|0,Z1=t+s0|0,I2=e[Z1>>2]|0,C2=(I2|0)==0,C2){fe=0;break}else I6=I2,Ie=Z1;else I6=O1,Ie=e2;for(;;){if($2=I6+20|0,W1=e[$2>>2]|0,f2=(W1|0)==0,!f2){I6=W1,Ie=$2;continue}if(c2=I6+16|0,n2=e[c2>>2]|0,g2=(n2|0)==0,g2){z4=I6,z6=Ie;break}else I6=n2,Ie=c2}if(o2=e[138266]|0,l2=z6>>>0>>0,l2)v2();else{e[z6>>2]=0,fe=z4;break}}else if(P1=t+Z9|0,X1=e[P1>>2]|0,G1=e[138266]|0,x1=X1>>>0>>0,x1&&v2(),K1=X1+12|0,H1=e[K1>>2]|0,V1=(H1|0)==(ne|0),V1||v2(),Y1=U1+8|0,t2=e[Y1>>2]|0,s2=(t2|0)==(ne|0),s2){e[K1>>2]=U1,e[Y1>>2]=X1,fe=U1;break}else v2();while(!1);if(i2=(R1|0)==0,!i2){if(b=Z9+20|0,m2=t+b|0,r2=e[m2>>2]|0,k2=553352+(r2<<2)|0,D2=e[k2>>2]|0,S2=(ne|0)==(D2|0),S2){if(e[k2>>2]=fe,xe=(fe|0)==0,xe){y2=1<>>0>>0,J2&&v2(),U2=R1+16|0,V2=e[U2>>2]|0,Z2=(V2|0)==(ne|0),Z2?e[U2>>2]=fe:(A5=R1+20|0,e[A5>>2]=fe),Y2=(fe|0)==0,Y2)break;N1=e[138266]|0,t5=fe>>>0>>0,t5&&v2(),T5=fe+24|0,e[T5>>2]=R1,D=Z9+8|0,i5=t+D|0,j2=e[i5>>2]|0,m5=(j2|0)==0;do if(!m5)if(b5=j2>>>0>>0,b5)v2();else{V5=fe+16|0,e[V5>>2]=j2,u5=j2+24|0,e[u5>>2]=fe;break}while(!1);if(k=Z9+12|0,b2=t+k|0,B5=e[b2>>2]|0,s5=(B5|0)==0,!s5)if(F2=e[138266]|0,R2=B5>>>0>>0,R2)v2();else{y5=fe+20|0,e[y5>>2]=B5,N5=B5+24|0,e[N5>>2]=fe;break}}}while(!1);if(p5=V0|1,L5=Z3+4|0,e[L5>>2]=p5,q5=Z3+V0|0,e[q5>>2]=V0,M5=e[138267]|0,z2=(Z3|0)==(M5|0),z2){e[138264]=V0;return}else S9=V0}else E5=C0&-2,e[p0>>2]=E5,$5=_9|1,h5=Z3+4|0,e[h5>>2]=$5,T1=Z3+_9|0,e[T1>>2]=_9,S9=_9;if(D5=S9>>>3,d5=S9>>>0<256,d5){l5=D5<<1,X2=553088+(l5<<2)|0,d2=e[138262]|0,w5=1<>2]|0,R5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(d=I5,f4=n5)),e[d>>2]=Z3,c5=f4+12|0,e[c5>>2]=Z3,T2=Z3+8|0,e[T2>>2]=f4,v5=Z3+12|0,e[v5>>2]=X2;return}z5=S9>>>8,i3=(z5|0)==0,i3?ke=0:(C5=S9>>>0>16777215,C5?ke=31:(d3=z5+1048320|0,W5=d3>>>16,r3=W5&8,a3=z5<>>16,Z5=G5&4,x3=Z5|r3,f3=a3<>>16,X5=H3&2,_3=x3|X5,t3=14-_3|0,a6=f3<>>15,V3=t3+G3|0,c3=V3<<1,g3=V3+7|0,u3=S9>>>g3,J5=u3&1,H5=J5|c3,ke=H5)),Y5=553352+(ke<<2)|0,S5=Z3+28|0,e[S5>>2]=ke,Y3=Z3+16|0,U5=Z3+20|0,e[U5>>2]=0,e[Y3>>2]=0,l6=e[138263]|0,n3=1<>2]=Z3,L3=Z3+24|0,e[L3>>2]=Y5,D3=Z3+12|0,e[D3>>2]=Z3,A6=Z3+8|0,e[A6>>2]=Z3;else{r6=e[Y5>>2]|0,z3=r6+4|0,j5=e[z3>>2]|0,M3=j5&-8,h3=(M3|0)==(S9|0);t:do if(h3)F4=r6;else{for(J3=(ke|0)==31,m3=ke>>>1,x6=25-m3|0,L6=J3?0:x6,M6=S9<>>31,s6=(T4+16|0)+(o6<<2)|0,f6=e[s6>>2]|0,B6=(f6|0)==0,B6){o=s6,st=T4;break}if(S6=o4<<1,n6=f6+4|0,b6=e[n6>>2]|0,N6=b6&-8,j6=(N6|0)==(S9|0),j6){F4=f6;break t}else o4=S6,T4=f6}if(K3=e[138266]|0,F3=o>>>0>>0,F3)v2();else{e[o>>2]=Z3,W3=Z3+24|0,e[W3>>2]=st,t6=Z3+12|0,e[t6>>2]=Z3,R6=Z3+8|0,e[R6>>2]=Z3;break e}}while(!1);if(c6=F4+8|0,o3=e[c6>>2]|0,A3=e[138266]|0,g6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,y6=g6&mt,y6){T3=o3+12|0,e[T3>>2]=Z3,e[c6>>2]=Z3,H6=Z3+8|0,e[H6>>2]=o3,$6=Z3+12|0,e[$6>>2]=F4,D6=Z3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(G6=e[138270]|0,e9=G6+-1|0,e[138270]=e9,Q6=(e9|0)==0,Q6)s4=553504;else return;for(;Oe=e[s4>>2]|0,P3=(Oe|0)==0,r9=Oe+8|0,!P3;)s4=r9;e[138270]=-1}}function le(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0;return x=C,$=(t|0)==0,$?_=0:(g=o5(o,t)|0,I=o|t,E=I>>>0>65535,E?(y=(g>>>0)/(t>>>0)&-1,B=(y|0)==(o|0),a=B?g:-1,_=a):_=g),b=M9(_)|0,D=(b|0)==0,D||(k=b+-4|0,w=e[k>>2]|0,d=w&3,m=(d|0)==0,m)||g4(b|0,0,_|0)|0,b|0}function J7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0;return Z=C,a=(t|0)==0,a?($=M9(o)|0,J=$,J|0):(w=o>>>0>4294967231,w?(M=uy()|0,e[M>>2]=12,J=0,J|0):(L=o>>>0<11,F=o+11|0,G=F&-8,O=L?16:G,H=t+-8|0,V=ED(H,O)|0,g=(V|0)==0,g?(m=M9(o)|0,I=(m|0)==0,I?(J=0,J|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,x=Q?_:o,ce(m|0,t|0,x|0)|0,E2(t),J=m,J|0)):(d=V+8|0,J=d,J|0)))}function ED(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H=t+4|0,V=e[H>>2]|0,D1=V&-8,s2=t+D1|0,c2=e[138266]|0,S2=V&3,I3=t>>>0>=c2>>>0,d3=(S2|0)!=1,W5=d3&I3,Z2=t>>>0>>0,r3=W5&Z2,r3||v2(),x=D1|4,V5=t+x|0,L5=e[V5>>2]|0,l5=L5&1,J=(l5|0)==0,J&&v2(),i0=(S2|0)==0,i0)return d0=o>>>0<256,d0?(C5=0,C5|0):(Z0=o+4|0,P0=D1>>>0>>0,!P0&&(o1=D1-o|0,B1=e[138382]|0,_1=B1<<1,F1=o1>>>0>_1>>>0,!F1)?(C5=t,C5|0):(C5=0,C5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,X1=P1>>>0>15,X1?(G1=t+o|0,x1=V&1,K1=x1|o,q1=K1|2,e[H>>2]=q1,Q=o+4|0,H1=t+Q|0,V1=P1|3,e[H1>>2]=V1,Y1=e[V5>>2]|0,t2=Y1|1,e[V5>>2]=t2,Hy(G1,P1),C5=t,C5|0):(C5=t,C5|0);if(e2=e[138268]|0,O1=(s2|0)==(e2|0),O1)return h2=e[138265]|0,Z1=h2+D1|0,I2=Z1>>>0>o>>>0,I2?(A2=Z1-o|0,C2=t+o|0,$2=V&1,W1=$2|o,f2=W1|2,e[H>>2]=f2,_=o+4|0,n2=t+_|0,g2=A2|1,e[n2>>2]=g2,e[138268]=C2,e[138265]=A2,C5=t,C5|0):(C5=0,C5|0);if(o2=e[138267]|0,l2=(s2|0)==(o2|0),l2)return i2=e[138264]|0,a2=i2+D1|0,m2=a2>>>0>>0,m2?(C5=0,C5|0):(r2=a2-o|0,k2=r2>>>0>15,k2?(D2=t+o|0,y2=t+a2|0,G2=V&1,M2=G2|o,O2=M2|2,e[H>>2]=O2,D=o+4|0,p2=t+D|0,W2=r2|1,e[p2>>2]=W2,e[y2>>2]=r2,w=a2+4|0,q2=t+w|0,J2=e[q2>>2]|0,U2=J2&-2,e[q2>>2]=U2,a3=D2,y3=r2):(V2=V&1,A5=V2|a2,Y2=A5|2,e[H>>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=L5&2,x5=(i5|0)==0,!x5||(j2=L5&-8,m5=j2+D1|0,b5=m5>>>0>>0,b5))return C5=0,C5|0;u5=m5-o|0,b2=L5>>>3,B5=L5>>>0<256;do if(B5){if(y=D1+8|0,s5=t+y|0,F2=e[s5>>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(),M5=F2+12|0,z2=e[M5>>2]|0,E5=(z2|0)==(s2|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)==(s2|0),r5?$=d2:v2()),a5=F2+12|0,e[a5>>2]=Q2,e[$>>2]=F2}else{g=D1+24|0,f5=t+g|0,K2=e[f5>>2]|0,k=D1+12|0,I5=t+k|0,n5=e[I5>>2]|0,R5=(n5|0)==(s2|0);do if(R5){if(L=D1+20|0,h0=t+L|0,e0=e[h0>>2]|0,u0=(e0|0)==0,u0)if(M=D1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){T2=0;break}else e5=$0,v5=c0;else e5=e0,v5=h0;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,s0=(r0|0)==(s2|0),s0||v2(),K=n5+8|0,o0=e[K>>2]|0,Y=(o0|0)==(s2|0),Y){e[j>>2]=n5,e[K>>2]=Z,T2=n5;break}else v2();while(!1);if(b0=(K2|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=(s2|0)==(Q0|0),w0){if(e[E0>>2]=T2,i3=(T2|0)==0,i3){B0=1<>>0>>0,U0&&v2(),O0=K2+16|0,H0=e[O0>>2]|0,S0=(H0|0)==(s2|0),S0?e[O0>>2]=T2:(J0=K2+20|0,e[J0>>2]=T2),T0=(T2|0)==0,T0)break;M0=e[138266]|0,W0=T2>>>0>>0,W0&&v2(),K0=T2+24|0,e[K0>>2]=K2,m=D1+16|0,V0=t+m|0,j0=e[V0>>2]|0,q0=(j0|0)==0;do if(!q0)if(Y0=j0>>>0>>0,Y0)v2();else{s1=T2+16|0,e[s1>>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,p1=L0>>>0>>0,p1)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?(c1=V&1,a1=m5|c1,$1=a1|2,e[H>>2]=$1,O=m5|4,X0=t+O|0,m1=e[X0>>2]|0,Q1=m1|1,e[X0>>2]=Q1,C5=t,C5|0):(C1=t+o|0,y1=V&1,v1=y1|o,k1=v1|2,e[H>>2]=k1,F=o+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,Hy(C1,u5),C5=t,C5|0)}function Hy(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0,P0=0,W0=0,K0=0,V0=0,j0=0,q0=0,Y0=0,s1=0,z0=0,r1=0,L0=0,o1=0,d1=0,u1=0,p1=0,f1=0,h1=0,A1=0,c1=0,a1=0,$1=0,X0=0,B1=0,m1=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,U1=0,D1=0,P1=0,X1=0,G1=0,x1=0,K1=0,q1=0,H1=0,V1=0,Y1=0,t2=0,s2=0,e2=0,O1=0,h2=0,Z1=0,I2=0,A2=0,C2=0,$2=0,W1=0,f2=0,c2=0,n2=0,g2=0,o2=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,J2=0,U2=0,V2=0,Z2=0,A5=0,Y2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,m5=0,b5=0,V5=0,u5=0,b2=0,B5=0,s5=0,F2=0,R2=0,Q2=0,y5=0,N5=0,p5=0,L5=0,q5=0,M5=0,z2=0,E5=0,$5=0,h5=0,Q5=0,T1=0,D5=0,d5=0,l5=0,X2=0,d2=0,w5=0,r5=0,a5=0,f5=0,K2=0,I5=0,n5=0,R5=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,H3=0,X5=0,_3=0,t3=0,a6=0,G3=0,V3=0,c3=0,g3=0,u3=0,Q3=0,J5=0,H5=0,Y5=0,S5=0,Y3=0,U5=0,l6=0,n3=0,l3=0,U3=0,C6=0,b3=0,L3=0,D3=0,A6=0,r6=0,z3=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,v6=0,R3=0,o6=0,s6=0,B6=0,K3=0,F3=0,W3=0,t6=0,R6=0,c6=0,o3=0,J6=0,A3=0,g6=0,y6=0,T3=0,H6=0,$6=0,D6=0,G6=0,e9=0,Q6=0,X6=0,P3=0,r9=0,V6=0,o9=0,g9=0,U6=0,Y6=0,F6=0,t9=0,_6=0,P6=0,O3=0,O6=0,s9=0,h9=0,n9=0,C9=0,B9=0,y9=0,d9=0,f9=0,V9=0,w6=0,q6=0,a9=0,Y9=0,Q9=0,Qe=0,ge=0,pe=0,z9=0,re=0,R9=0,w9=0,K6=0,A9=0,we=0,Me=0,ue=0,D9=0,Re=0,Fe=0,Ge=0,qe=0,r4=0,ve=0,He=0,J9=0,Ve=0,he=0,Ue=0,Ee=0,v4=0,Z9=0,v9=0,k4=0,V4=0,nt=0,Ye=0,Y4=0,ze=0,n4=0,R4=0,ot=0,ne=0,u4=0,Ce=0,T6=0,Je=0,O9=0,de=0,Te=0,h4=0,oe=0,d4=0,f4=0,ke=0,o4=0,Pe=0,I4=0,k9=0,I6=0,z4=0,fe=0,S4=0,Se=0;Se=C,e0=t+o|0,u0=t+4|0,V2=e[u0>>2]|0,B6=V2&1,X6=(B6|0)==0;do if(X6){if(P6=e[t>>2]|0,V9=V2&3,R9=(V9|0)==0,R9)return;if(qe=0-P6|0,v9=t+qe|0,c0=P6+o|0,b0=e[138266]|0,N0=v9>>>0>>0,N0&&v2(),V0=e[138267]|0,p1=(v9|0)==(V0|0),p1){if(k=o+4|0,ne=t+k|0,$0=e[ne>>2]|0,l0=$0&3,X=(l0|0)==3,!X){a=v9,$=c0;break}e[138264]=c0,m0=$0&-2,e[ne>>2]=m0,g0=c0|1,L=4-P6|0,I0=t+L|0,e[I0>>2]=g0,e[e0>>2]=c0;return}if(C1=P6>>>3,U1=P6>>>0<256,U1){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,L5=553088+(V5<<2)|0,l5=(f2|0)==(L5|0),l5||(e5=f2>>>0>>0,e5&&v2(),a3=f2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(v9|0),S5||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)==(v9|0),G6?E=$6:v2()),e9=f2+12|0,e[e9>>2]=Z2,e[E>>2]=f2,a=v9,$=c0;break}F=24-P6|0,Q6=t+F|0,P3=e[Q6>>2]|0,G=12-P6|0,r9=t+G|0,V6=e[r9>>2]|0,o9=(V6|0)==(v9|0);do if(o9){if(O=16-P6|0,H=O+4|0,h9=t+H|0,n9=e[h9>>2]|0,C9=(n9|0)==0,C9)if(B9=t+O|0,y9=e[B9>>2]|0,d9=(y9|0)==0,d9){de=0;break}else Je=y9,d4=B9;else Je=n9,d4=h9;for(;;){if(f9=Je+20|0,w6=e[f9>>2]|0,q6=(w6|0)==0,!q6){Je=w6,d4=f9;continue}if(a9=Je+16|0,Y9=e[a9>>2]|0,Q9=(Y9|0)==0,Q9){O9=Je,f4=d4;break}else Je=Y9,d4=a9}if(Qe=f4>>>0>>0,Qe)v2();else{e[f4>>2]=0,de=O9;break}}else if(A0=8-P6|0,g9=t+A0|0,U6=e[g9>>2]|0,Y6=U6>>>0>>0,Y6&&v2(),F6=U6+12|0,t9=e[F6>>2]|0,_6=(t9|0)==(v9|0),_6||v2(),O3=V6+8|0,O6=e[O3>>2]|0,s9=(O6|0)==(v9|0),s9){e[F6>>2]=V6,e[O3>>2]=U6,de=V6;break}else v2();while(!1);if(ge=(P3|0)==0,ge)a=v9,$=c0;else{if(J=28-P6|0,pe=t+J|0,z9=e[pe>>2]|0,re=553352+(z9<<2)|0,w9=e[re>>2]|0,K6=(v9|0)==(w9|0),K6){if(e[re>>2]=de,I6=(de|0)==0,I6){A9=1<>>0>>0,Re&&v2(),Fe=P3+16|0,Ge=e[Fe>>2]|0,r4=(Ge|0)==(v9|0),r4?e[Fe>>2]=de:(ve=P3+20|0,e[ve>>2]=de),He=(de|0)==0,He){a=v9,$=c0;break}J9=e[138266]|0,Ve=de>>>0>>0,Ve&&v2(),he=de+24|0,e[he>>2]=P3,t0=16-P6|0,Ue=t+t0|0,Ee=e[Ue>>2]|0,v4=(Ee|0)==0;do if(!v4)if(Z9=Ee>>>0>>0,Z9)v2();else{k4=de+16|0,e[k4>>2]=Ee,V4=Ee+24|0,e[V4>>2]=de;break}while(!1);if(Z=t0+4|0,nt=t+Z|0,Ye=e[nt>>2]|0,Y4=(Ye|0)==0,Y4)a=v9,$=c0;else if(ze=e[138266]|0,n4=Ye>>>0>>0,n4)v2();else{R4=de+20|0,e[R4>>2]=Ye,ot=Ye+24|0,e[ot>>2]=de,a=v9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,d0=e0>>>0>>0,d0&&v2(),w=o+4|0,p0=t+w|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,S0=H0+$|0,e[138264]=S0,e[138267]=a,J0=S0|1,T0=a+4|0,e[T0>>2]=J0,M0=a+S0|0,e[M0>>2]=S0;return}P0=C0&-8,W0=P0+$|0,K0=C0>>>3,j0=C0>>>0<256;do if(j0){if(x=o+8|0,q0=t+x|0,Y0=e[q0>>2]|0,M=o+12|0,s1=t+M|0,z0=e[s1>>2]|0,r1=K0<<1,L0=553088+(r1<<2)|0,o1=(Y0|0)==(L0|0),o1||(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){c1=1<>>0>>0,m1&&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=o+24|0,S1=t+V|0,L1=e[S1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(e0|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,V1=e[H1>>2]|0,Y1=(V1|0)==0,Y1)if(K=o+16|0,s2=t+K|0,e2=e[s2>>2]|0,O1=(e2|0)==0,O1){oe=0;break}else Te=e2,ke=s2;else Te=V1,ke=H1;for(;;){if(h2=Te+20|0,Z1=e[h2>>2]|0,I2=(Z1|0)==0,!I2){Te=Z1,ke=h2;continue}if(A2=Te+16|0,C2=e[A2>>2]|0,$2=(C2|0)==0,$2){h4=Te,o4=ke;break}else Te=C2,ke=A2}if(W1=o4>>>0>>0,W1)v2();else{e[o4>>2]=0,oe=h4;break}}else if(Q=o+8|0,R1=t+Q|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,X1=e[P1>>2]|0,G1=(X1|0)==(e0|0),G1||v2(),x1=b1+8|0,K1=e[x1>>2]|0,q1=(K1|0)==(e0|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,oe=b1;break}else v2();while(!1);if(c2=(L1|0)==0,!c2){if(h0=o+28|0,n2=t+h0|0,g2=e[n2>>2]|0,o2=553352+(g2<<2)|0,l2=e[o2>>2]|0,i2=(e0|0)==(l2|0),i2){if(e[o2>>2]=oe,z4=(oe|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]=oe:(p2=L1+20|0,e[p2>>2]=oe),W2=(oe|0)==0,W2)break;q2=e[138266]|0,J2=oe>>>0>>0,J2&&v2(),U2=oe+24|0,e[U2>>2]=L1,i0=o+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=oe+16|0,e[T5>>2]=Y2,i5=Y2+24|0,e[i5>>2]=oe;break}while(!1);if(_=o+20|0,x5=t+_|0,j2=e[x5>>2]|0,m5=(j2|0)==0,!m5)if(b5=e[138266]|0,u5=j2>>>0>>0,u5)v2();else{b2=oe+20|0,e[b2>>2]=j2,B5=j2+24|0,e[B5>>2]=oe;break}}}while(!1);if(s5=W0|1,F2=a+4|0,e[F2>>2]=s5,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,M5=a+$|0,e[M5>>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,K2=a+8|0,e[K2>>2]=u4,I5=a+12|0,e[I5>>2]=h5;return}if(n5=g>>>8,R5=(n5|0)==0,R5?Ce=0:(c5=g>>>0>16777215,c5?Ce=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,H3=f3+e6|0,X5=H3<<1,_3=H3+7|0,a6=g>>>_3,G3=a6&1,V3=G3|X5,Ce=V3)),c3=553352+(Ce<<2)|0,g3=a+28|0,e[g3>>2]=Ce,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,J5=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)Pe=U3;else{for(r6=(Ce|0)==31,z3=Ce>>>1,j5=25-z3|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,k9=I4;break}if(J3=T6<<1,d6=m3+4|0,x6=e[d6>>2]|0,L6=x6&-8,S6=(L6|0)==(g|0),S6){Pe=m3;break e}else T6=J3,I4=m3}N6=e[138266]|0,j6=d>>>0>>0,j6&&v2(),e[d>>2]=a,v6=a+24|0,e[v6>>2]=k9,R3=a+12|0,e[R3>>2]=a,o6=a+8|0,e[o6>>2]=a;return}while(!1);s6=Pe+8|0,F3=e[s6>>2]|0,W3=e[138266]|0,t6=F3>>>0>=W3>>>0,fe=Pe>>>0>=W3>>>0,R6=t6&fe,R6||v2(),c6=F3+12|0,e[c6>>2]=a,e[s6>>2]=a,o3=a+8|0,e[o3>>2]=F3,J6=a+12|0,e[J6>>2]=Pe,A3=a+24|0,e[A3>>2]=0}function CD(){e[6410]=W9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,d=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function sl(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function Vy(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(sl(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function Yy(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,d=o+$+(g>>>0>>0|0)>>>0,Z6=d,g|0|0}function os(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(Z6=0,o>>>a-32|0)}function ce(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return _S(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function $A(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ce(t,o,a)|0;return t|0}function RC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function ss(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return g=t-a>>>0,d=o-$>>>0,d=o-$-(a>>>0>t>>>0|0)>>>0,Z6=d,g|0|0}function W_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(Z6=(o|0)<0?-1:0,o>>a-32|0)}function zy(t){t=t|0;var o=0;return o=f[U9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[U9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[U9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[U9+(t>>>24)>>0]|0)+24|0))}function BD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=o5($,a)|0,d=t>>>16,m=(g>>>16)+(o5($,d)|0)|0,I=o>>>16,E=o5(I,a)|0,Z6=((m>>>16)+(o5(I,d)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function Z_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,d=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=ss(g^t,d^o,g,d)|0,y=Z6,B=ss(m^a,I^$,m,I)|0,b=m^g,D=I^d,k=$E(E,y,B,Z6,0)|0,w=ss(k^b,Z6^D,b,D)|0,w|0}function j_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0;return w=C,C=C+8|0,g=w|0,d=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,y=ss(d^t,m^o,d,m)|0,B=Z6,b=ss(I^a,E^$,I,E)|0,$E(y,B,b,Z6,g)|0,D=ss(e[g>>2]^d,e[g+4>>2]^m,d,m)|0,k=Z6,C=w,Z6=k,D|0}function yD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0;return g=t,d=a,m=BD(g,d)|0,I=Z6,E=o5(o,d)|0,Z6=((o5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function X_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=$E(t,o,a,$,0)|0,g|0}function ex(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,$E(t,o,a,$,g)|0,C=d,Z6=e[g+4>>2]|0,e[g>>2]|0|0}function $E(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,y=0,B=0,b=0,D=0,k=0,w=0,_=0,Q=0,x=0,M=0,L=0,F=0,G=0,O=0,H=0,V=0,J=0,t0=0,Z=0,A0=0,j=0,r0=0,s0=0,K=0,o0=0,Y=0,h0=0,i0=0,e0=0,u0=0,c0=0,$0=0,l0=0,X=0,m0=0,g0=0,I0=0,n0=0,d0=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,N0=0,U0=0,O0=0,H0=0,S0=0,J0=0,T0=0,M0=0;if(d=t,m=o,I=m,E=a,y=$,B=y,!(I|0))return b=(g|0)!=0,B|0?b?(e[g>>2]=t&-1,e[g+4>>2]=o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0):(b&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,T0=(d>>>0)/(E>>>0)>>>0,Z6=M0,T0|0);D=(B|0)==0;do if(E|0){if(!D){if(Z=rs(B|0)|0,A0=Z-(rs(I|0)|0)|0,A0>>>0<=31){j=A0+1|0,r0=31-A0|0,s0=A0-31>>31,i0=j,h0=d>>>(j>>>0)&s0|I<>>(j>>>0)&s0,o0=0,K=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0)}if(M=E-1|0,M&E|0){F=(rs(E|0)|0)+33|0,G=F-(rs(I|0)|0)|0,O=64-G|0,H=32-G|0,V=H>>31,J=G-32|0,t0=J>>31,i0=G,h0=H-1>>31&I>>>(J>>>0)|(I<>>(G>>>0))&t0,Y=t0&I>>>(G>>>0),o0=d<>>(J>>>0))&V|d<>31;break}return g|0&&(e[g>>2]=M&d,e[g+4>>2]=0),(E|0)==1?(M0=m|o&0,T0=0|t&-1,Z6=M0,T0|0):(L=zy(E|0)|0,M0=0|I>>>(L>>>0),T0=I<<32-L|d>>>(L>>>0)|0,Z6=M0,T0|0)}else{if(D)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),M0=0,T0=(I>>>0)/(E>>>0)>>>0,Z6=M0,T0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),M0=0,T0=(I>>>0)/(B>>>0)>>>0,Z6=M0,T0|0;if(k=B-1|0,!(k&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=k&I|o&0),M0=0,T0=I>>>((zy(B|0)|0)>>>0),Z6=M0,T0|0;if(w=rs(B|0)|0,_=w-(rs(I|0)|0)|0,_>>>0<=30){Q=_+1|0,x=31-_|0,i0=Q,h0=I<>>(Q>>>0),Y=I>>>(Q>>>0),o0=0,K=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,M0=0,T0=0,Z6=M0,T0|0):(M0=0,T0=0,Z6=M0,T0|0)}while(!1);if(!(i0|0))O0=K,U0=o0,N0=Y,v0=h0,R0=0,Z0=0;else{for(e0=0|a&-1,u0=y|$&0,c0=ns(e0|0,u0|0,-1,-1)|0,$0=Z6,n0=K,I0=o0,g0=Y,m0=h0,X=i0,l0=0;d0=I0>>>31|n0<<1,p0=l0|I0<<1,C0=0|(m0<<1|n0>>>31),b0=m0>>>31|g0<<1|0,ss(c0,$0,C0,b0)|0,y0=Z6,D0=y0>>31|((y0|0)<0?-1:0)<<1,E0=D0&1,Q0=ss(C0,b0,D0&e0,(((y0|0)<0?-1:0)>>31|((y0|0)<0?-1:0)<<1)&u0)|0,w0=Q0,B0=Z6,x0=X-1|0,x0|0;)n0=d0,I0=p0,g0=B0,m0=w0,X=x0,l0=E0;O0=d0,U0=p0,N0=B0,v0=w0,R0=0,Z0=E0}return H0=U0,S0=0,J0=O0|S0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=N0|0),M0=(0|H0)>>>31|J0<<1|(S0<<1|H0>>>31)&0|R0,T0=(H0<<1|0)&-2|Z0,Z6=M0,T0|0}function QD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,NC[t&3](o|0,a|0,$|0,g|0)|0}function wD(t,o){t=t|0,o=o|0,as[t&7](o|0)}function vD(t,o,a){t=t|0,o=o|0,a=a|0,GC[t&3](o|0,a|0)}function kD(t,o){return t=t|0,o=o|0,Wy[t&1](o|0)|0}function SD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,Zy[t&1](o|0,a|0,$|0)}function bD(t,o,a,$,g,d,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,jy[t&3](o|0,a|0,$|0,g|0,d|0,m|0,I|0,E|0)|0}function DD(t,o,a){return t=t|0,o=o|0,a=a|0,pi[t&15](o|0,a|0)|0}function _D(t,o,a,$,g,d){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,UC[t&7](o|0,a|0,$|0,g|0,d|0)|0}function xD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function FC(t){t=t|0,rn(1)}function Jy(t,o){t=t|0,o=o|0,rn(2)}function LD(t){return t=t|0,rn(3),0}function MD(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function Ky(t,o,a,$,g,d,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,rn(5),0}function al(t,o){return t=t|0,o=o|0,rn(6),0}function TC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var NC=[xD,pb,rb,nb],as=[FC,fb,Ib,bb,Ob,qb,FC,FC],GC=[Jy,ub,Hb,Jy],Wy=[LD,Db],Zy=[MD,kb],jy=[Ky,Jb,jb,Ky],pi=[al,hb,db,mb,Sb,_b,Vb,Yb,Eb,Pb,nD,al,al,al,al,al],UC=[TC,zb,Kb,Wb,Zb,Xb,TC,TC];return{_memmove:$A,_strlen:sl,_strcat:Vy,_free:E2,_i64Add:ns,_encoder_clear:gD,_encoder_transfer_data:fD,_encoder_data_len:dD,_memset:g4,_malloc:M9,_memcpy:ce,_encoder_init:cD,_encoder_process:hD,_bitshift64Lshr:os,_bitshift64Shl:Yy,_strcpy:RC,_encoder_analysis_buffer:uD,runPostSets:CD,stackAlloc:MS,stackSave:RS,stackRestore:FS,establishStackSpace:TS,setThrew:NS,setTempRet0:GS,getTempRet0:US,dynCall_iiiii:QD,dynCall_vi:wD,dynCall_vii:vD,dynCall_ii:kD,dynCall_viii:SD,dynCall_iiiiiiiii:bD,dynCall_iii:DD,dynCall_iiiiii:_D}}(n.asmGlobalArg,n.asmLibraryArg,P7),w_=n.runPostSets=te.runPostSets,dS=n._strlen=te._strlen,fS=n._strcat=te._strcat,yC=n._free=te._free,v_=n._encoder_init=te._encoder_init,IS=n._i64Add=te._i64Add,mS=n._memmove=te._memmove,k_=n._encoder_transfer_data=te._encoder_transfer_data,S_=n._encoder_process=te._encoder_process,b_=n._encoder_data_len=te._encoder_data_len,pS=n._memset=te._memset,Ru=n._malloc=te._malloc,ES=n._memcpy=te._memcpy,D_=n._encoder_clear=te._encoder_clear,CS=n._bitshift64Lshr=te._bitshift64Lshr,__=n._encoder_analysis_buffer=te._encoder_analysis_buffer,BS=n._strcpy=te._strcpy,yS=n._bitshift64Shl=te._bitshift64Shl,x_=n.dynCall_iiiii=te.dynCall_iiiii,L_=n.dynCall_vi=te.dynCall_vi,M_=n.dynCall_vii=te.dynCall_vii,R_=n.dynCall_ii=te.dynCall_ii,F_=n.dynCall_viii=te.dynCall_viii,T_=n.dynCall_iiiiiiiii=te.dynCall_iiiiiiiii,N_=n.dynCall_iii=te.dynCall_iii,G_=n.dynCall_iiiiii=te.dynCall_iiiiii;v.stackAlloc=te.stackAlloc,v.stackSave=te.stackSave,v.stackRestore=te.stackRestore,v.establishStackSpace=te.establishStackSpace,v.setTempRet0=te.setTempRet0,v.getTempRet0=te.getTempRet0;var U_=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,i9=W.low_>>>16,H9=W.low_&65535,P9=0,t4=0,Ai=0,nr=0;return nr+=e3+H9,Ai+=nr>>>16,nr&=65535,Ai+=B2+i9,t4+=Ai>>>16,Ai&=65535,t4+=t1+N3,P9+=t4>>>16,t4&=65535,P9+=_0+O5,P9&=65535,r.math.Long.fromBits(Ai<<16|nr,P9<<16|t4)},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,i9=W.low_>>>16,H9=W.low_&65535,P9=0,t4=0,Ai=0,nr=0;return nr+=e3*H9,Ai+=nr>>>16,nr&=65535,Ai+=B2*H9,t4+=Ai>>>16,Ai&=65535,Ai+=e3*i9,t4+=Ai>>>16,Ai&=65535,t4+=t1*H9,P9+=t4>>>16,t4&=65535,t4+=B2*i9,P9+=t4>>>16,t4&=65535,t4+=e3*N3,P9+=t4>>>16,t4&=65535,P9+=_0*H9+t1*i9+B2*N3+e3*O5,P9&=65535,r.math.Long.fromBits(Ai<<16|nr,P9<<16|t4)},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),i9=N3<=48?1:Math.pow(2,N3-48),H9=r.math.Long.fromNumber(t1),P9=H9.multiply(W);P9.isNegative()||P9.greaterThan(O5);)t1-=i9,H9=r.math.Long.fromNumber(t1),P9=H9.multiply(W);H9.isZero()&&(H9=r.math.Long.ONE),e3=e3.add(H9),O5=O5.subtract(P9)}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 l={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,i9=_0>>15;--O5>=0;){var H9=this[W]&32767,P9=this[W++]>>15,t4=i9*H9+P9*N3;H9=N3*H9+((t4&32767)<<15)+t1[B2]+(e3&1073741823),e3=(H9>>>30)+(t4>>>15)+i9*P9+(e3>>>30),t1[B2++]=H9&1073741823}return e3}function s(W,_0,t1,B2,e3,O5){for(var N3=_0&16383,i9=_0>>14;--O5>=0;){var H9=this[W]&16383,P9=this[W++]>>14,t4=i9*H9+P9*N3;H9=N3*H9+((t4&16383)<<14)+t1[B2]+e3,e3=(H9>>28)+(t4>>14)+i9*P9,t1[B2++]=H9&268435455}return e3}z&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,h=30):z&&l.appName!="Netscape"?(e.prototype.am=n1,h=26):(e.prototype.am=s,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 ie(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:W9(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,i9=this.DB-N3*this.DB%_0;if(N3-- >0)for(i9>i9)>0&&(e3=!0,O5=U9(B2));N3>=0;)i9<_0?(B2=(this[N3]&(1<>(i9+=this.DB-_0)):(B2=this[N3]>>(i9-=_0)&t1,i9<=0&&(i9+=this.DB,--N3)),B2>0&&(e3=!0),e3&&(O5+=U9(B2));return e3?O5:"0"}function Y7(){var W=e1();return e.ZERO.subTo(this,W),W}function vr(){return this.s<0?this.negate():this}function rl(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 tE(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 YB(){return this.t<=0?0:this.DB*(this.t-1)+tE(this[this.t-1]^this.s&this.DM)}function zB(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;--i9)_0[i9+O5+1]=this[i9]>>B2|N3,N3=(this[i9]&e3)<=0;--i9)_0[i9]=0;_0[O5]=N3,_0.t=this.t+O5+1,_0.s=this.s,_0.clamp()}function WB(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 ZB(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 XB(W,_0,t1){var B2=W.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(H9,O5),e3.lShiftTo(H9,t1)):(B2.copyTo(O5),e3.copyTo(t1));var P9=O5.t,t4=O5[P9-1];if(t4!=0){var Ai=t4*(1<1?O5[P9-2]>>this.F2:0),nr=this.FV/Ai,cy=(1<=0&&(t1[t1.t++]=1,t1.subTo(Oi,t1)),e.ONE.dlShiftTo(P9,Oi),Oi.subTo(O5,O5);O5.t=0;){var iE=t1[--AA]==t4?this.DM:Math.floor(t1[AA]*nr+(t1[AA-1]+gy)*cy);if((t1[AA]+=O5.am(0,iE,t1,Tu,0,P9))0&&t1.rShiftTo(H9,t1),N3<0&&e.ZERO.subTo(t1,t1)}}}function ey(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 ty(W){return W.s<0||W.compareTo(this.m)>=0?W.mod(this.m):W}function iy(W){return W}function ry(W){W.divRemTo(this.m,null,W)}function ny(W,_0,t1){W.multiplyTo(_0,t1),this.reduce(t1)}function sA(W,_0){W.squareTo(_0),this.reduce(_0)}oA.prototype.convert=ty,oA.prototype.revert=iy,oA.prototype.reduce=ry,oA.prototype.mulTo=ny,oA.prototype.sqrTo=sA;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 sy(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=sy,Hn.prototype.sqrTo=oy;function ay(){return(this.t>0?this[0]&1:this.s)==0}function is(W,_0){if(W>4294967295||W<1)return e.ONE;var t1=e1(),B2=e1(),e3=_0.convert(this),O5=tE(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 Ay(W,_0){var t1;return W<256||_0.isEven()?t1=new oA(_0):t1=new Hn(_0),this.exp(W,t1)}e.prototype.copyTo=ye,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=e4,e.prototype.dlShiftTo=zB,e.prototype.drShiftTo=JB,e.prototype.lShiftTo=KB,e.prototype.rShiftTo=WB,e.prototype.subTo=Z6,e.prototype.multiplyTo=ZB,e.prototype.squareTo=jB,e.prototype.divRemTo=XB,e.prototype.invDigit=rr,e.prototype.isEven=ay,e.prototype.exp=is,e.prototype.toString=V7,e.prototype.negate=Y7,e.prototype.abs=vr,e.prototype.compareTo=rl,e.prototype.bitLength=YB,e.prototype.mod=ey,e.prototype.modPowInt=Ay,e.ZERO=ie(0),e.ONE=ie(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,i9=0;i9=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 tn(W){return Math.floor(Math.LN2*this.DB/Math.log(W))}function wC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function o5(W){this[this.t]=this.am(0,W-1,this,0,0,this.t),++this.t,this.clamp()}function $y(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 rs(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=ie(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 rn(){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=tn,e.prototype.signum=wC,e.prototype.dMultiply=o5,e.prototype.dAddOffset=$y,e.prototype.toRadix=rs,e.prototype.intValue=rn,e.prototype.addTo=ly;var c7={abs:function(W,_0){var t1=new r.math.Long(W,_0),B2;t1.isNegative()?B2=t1.negate():B2=t1,G9[bt>>2]=B2.low_,G9[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 i9=new e;if(i9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var H9=new e;O5.addTo(c7.two64,H9),O5=H9}var P9=!1;O5.compareTo(N3)<0?(O5=N3,P9=!0):O5.compareTo(i9)>0&&(O5=i9,P9=!0);var t4=r.math.Long.fromString(O5.toString());if(G9[bt>>2]=t4.low_,G9[bt+4>>2]=t4.high_,P9)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 OB,eE=null,QS=!1;q7=function r(){n.calledRun||QC(),n.calledRun||(q7=r)},n.callMain=n.callMain=function(l){Ne(v8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),Ne(Jp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Zo();var h=l.length+1;function f(){for(var n1=0;n1<3;n1++)z.push(0)}var z=[B3(en(n.thisProgram),"i8",tA)];f();for(var e=0;e0||(Lu(),v8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!P&&(Zo(),LB(),c&&eE!==null&&n.printErr("pre-main prep time: "+(Date.now()-eE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&VB&&n.callMain(r),W$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=QC;function qB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(P=!0,G0=r,S7=OB,Kp(),n.onExit&&n.onExit(r)),u?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):R&&typeof quit=="function"&&quit(r),new nA(r)}n.exit=n.exit=qB;var HB=[];function ts(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",P=!0,G0=1;var l=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,h="abort("+r+") at "+Vp()+l;throw HB&&HB.forEach(function(f){h=f(h,r)}),h}if(n.abort=n.abort=ts,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var VB=!0;n.noInitialRun&&(VB=!1),QC();var wS=n._encoder_init,vS=n._encoder_clear,kS=n._encoder_analysis_buffer,SS=n._encoder_process,bS=n._encoder_data_len,DS=n._encoder_transfer_data,b7=n.HEAPU8,el=n.HEAPU32,tl=n.HEAPF32,il=function(r,l,h){this.numChannels=l,this.oggBuffers=[],this.encoder=wS(this.numChannels,r,h)};il.prototype.encode=function(r){for(var l=r[0].length,h=kS(this.encoder,l)>>2,f=0;f>2);this.process(l)},il.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},il.prototype.cancel=il.prototype.cleanup=function(){vS(this.encoder),delete this.encoder,delete this.oggBuffers},il.prototype.process=function(r){SS(this.encoder,r);var l=bS(this.encoder);if(l>0){var h=DS(this.encoder);this.oggBuffers.push(new Uint8Array(b7.subarray(h,h+l)))}},gC.OggVorbisEncoder=il}};typeof window<"u"&&window===self&&gC.init();function Lk(n,i,A,c){let u=new gC.OggVorbisEncoder(A,i,c);u.encode(n);let p=u.finish(),R=p.reduce((N,k0)=>N+k0.length,0),q=new Uint8Array(R),U=0;for(let N of p)q.set(N,U),U+=N.length;return q}var uC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",u=>{u.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragend",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async u=>{u.preventDefault(),c.classList.add("hidden");let p=u.dataTransfer.files[0];if(!p)return;let R=p.name,q=await p.arrayBuffer(),U=q.slice(0,4),N=new TextDecoder;if(N.decode(U)==="RIFF"){let k0=q.slice(8,12);if(N.decode(k0)==="RMID"){i({buf:q,name:R});return}A(q);return}i({buf:q,name:R})})}};async function Mk(){let n="locale.exportAudio.formats.formats.dls.warning.";c4(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;_e(i.id),F7("%cExporting DLS...",E1.info);let c=await this.seq.getMIDI(),u=Vo(c.embeddedSoundFont||this.soundFont);Pa(c,await this.synth.getSynthesizerSnapshot()),A&&wu(u,c);let p=u.writeDLS(),R=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(R,`${u.soundFontInfo.INAM||"unnamed"}.dls`),u9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var m_=!1,Cr=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,c,u=m_){this.localeManager=c,this.context=i,this.enableDebug=u,this.isExporting=!1,this.compressionFunc=Lk;let p;this.ready=new Promise(R=>p=R),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),u=document.createElement("a");u.href=c,u.download=A,u.click(),_5(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 T of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(T,"innerText",T.getAttribute("translate-path"));for(let T of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(T,"innerText",T.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(T,"title",T.getAttribute("translate-path-title")+".description");this.soundFont=A;let u=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":xk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+u,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let R=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),U=await(await fetch(R)).arrayBuffer();this.impulseResponseRaw=U,this.impulseResponse=await i.decodeAudioData(U.slice(0,U.byteLength)),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new mu(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",T=>{this.sfError&&this.sfError(T.message)}),await this.synth.isReady,this.midHandler=new zE,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 k0=!1,v=()=>{if(N.width=window.innerWidth*window.devicePixelRatio,N.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),pr){if(window.innerWidth/window.innerHeight>1){if(!k0){let T=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");k0=!0,T.parentElement.insertBefore(P,T)}}else if(k0){let T=document.getElementById("title_wrapper"),P=document.getElementById("settings_div");k0=!1,T.parentElement.insertBefore(T,P)}}this.renderer.render(!1,!0)};v(),window.addEventListener("resize",v.bind(this)),window.addEventListener("orientationchange",v.bind(this)),pr&&(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 XE(document.getElementById("player_info"),this.localeManager),this.seqUI=new Oo(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 uC(T=>{this.play([{binary:T.buf,altName:T.name}]),T.name.length>20&&(T.name=T.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=T.name},T=>{this.reloadSf(T)}),document.addEventListener("keydown",T=>{switch(T.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 G0=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(G0===null)return;let I1=document.createElement("video");I1.src=G0,I1.classList.add("secret_video"),N.parentElement.appendChild(I1),I1.play(),window.video=I1,this.seq&&(I1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),I1.play(),this.seq.currentTime=0),document.addEventListener("keydown",g1=>{g1.key===" "&&(I1.paused?I1.play():I1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new K5(i),4).toLowerCase()==="dls "&&c4(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{_e(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{_e(c.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 UE(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=Vo(this.soundFont),c=GE(A.writeDLS(),i,A),u=new Blob([c.buffer],{type:"audio/rmid"});this.saveBlob(u,`${i.midiName}.rmi`)}downloadDesfont(){let i=Vo(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};Cr.prototype.exportSong=Dk;Cr.prototype._exportAudioData=Pv;Cr.prototype._doExportAudioData=Uv;Cr.prototype.exportMidi=Ov;Cr.prototype._exportSoundfont=bk;Cr.prototype._exportDLS=Mk;Cr.prototype._exportRMIDI=_k;var p_=44100;pQ(!0,!0,!0,!0);var X7=document.getElementById("title"),Rk=document.getElementById("progress_bar"),T$=document.getElementById("midi_file_input");T$.value="";T$.focus();var EB=document.getElementById("export_button");EB.style.display="none";var BB=!1;window.loadedSoundfonts=[];var E_=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=E_;async function C_(n,i){let A=await fetch(`${n}`);if(!A.ok)throw X7.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),u=await(await A.body).getReader(),p=!1,R;try{R=new Uint8Array(parseInt(c))}catch(U){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")),c4("Warning",[{type:"text",textContent:N}]),U}let q=0;do{let U=await u.read();U.value&&(R.set(U.value,q),q+=U.value.length),p=U.done;let N=Math.round(q/c*100);i(N)}while(!p);return R.buffer}async function CB(n){if(!BB){setTimeout(()=>CB(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 c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});X7.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(A):manager.play(A),EB.style.display="flex",EB.onclick=window.manager.exportSong.bind(window.manager)}async function Fk(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 Cr(audioContextMain,soundFontParser,Tk,!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"),BB=!0}if(window.loadedSoundfonts.find(c=>c.name===n)){window.soundFontParser=window.loadedSoundfonts.find(c=>c.name===n).sf,await i();return}X7.innerText="Downloading soundfont...";let A=await C_(n,c=>Rk.style.width=`${c/100*X7.offsetWidth}px`);X7.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=A,Rk.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:p_}),window.soundFontParser&&(window.manager=new Cr(audioContextMain,soundFontParser,Tk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),X7.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),BB=!0,X7.innerText=window.manager.localeManager.getLocaleString("locale.titleMessage"))}document.body.onclick=null};var pB=[],Tk=new XE(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");pB=JSON.parse(await n.text());for(let A of pB){let c=document.createElement("option");c.value=A.name;let u=A.name;u.length>29&&(u=u.substring(0,30)+"..."),c.innerText=u,i.appendChild(c)}i.onchange=()=>{i.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(i.value)}`),window.manager.seq&&window.manager.seq.pause(),Fk(i.value),window.manager.seq&&(X7.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Fk(pB[0].name),T$.files[0]&&await CB(T$.files),T$.onchange=async()=>{T$.files[0]&&await CB(T$.files)}});function B_(n){fetch("/savesettings",{method:"POST",body:JSON.stringify(n),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=B_;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(G0===null)return;let I1=document.createElement("video");I1.src=G0,I1.classList.add("secret_video"),N.parentElement.appendChild(I1),I1.play(),window.video=I1,this.seq&&(I1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),I1.play(),this.seq.currentTime=0),document.addEventListener("keydown",g1=>{g1.key===" "&&(I1.paused?I1.play():I1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new K5(i),4).toLowerCase()==="dls "&&c4(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{_e(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{_e(c.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 UE(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=Vo(this.soundFont),c=GE(A.writeDLS(),i,A),u=new Blob([c.buffer],{type:"audio/rmid"});this.saveBlob(u,`${i.midiName}.rmi`)}downloadDesfont(){let i=Vo(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};Cr.prototype.exportSong=Dk;Cr.prototype._exportAudioData=Pv;Cr.prototype._doExportAudioData=Uv;Cr.prototype.exportMidi=Ov;Cr.prototype._exportSoundfont=bk;Cr.prototype._exportDLS=Mk;Cr.prototype._exportRMIDI=_k;var p_=44100;pQ(!0,!0,!0,!0);var X7=document.getElementById("title"),Rk=document.getElementById("progress_bar"),T$=document.getElementById("midi_file_input");T$.value="";T$.focus();var EB=document.getElementById("export_button");EB.style.display="none";var BB=!1;window.loadedSoundfonts=[];var E_=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=E_;async function C_(n,i){let A=await fetch(`${n}`);if(!A.ok)throw X7.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),u=await(await A.body).getReader(),p=!1,R;try{R=new Uint8Array(parseInt(c))}catch(U){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")),c4("Warning",[{type:"text",textContent:N}]),U}let q=0;do{let U=await u.read();U.value&&(R.set(U.value,q),q+=U.value.length),p=U.done;let N=Math.round(q/c*100);i(N)}while(!p);return R.buffer}async function CB(n){if(!BB){setTimeout(()=>CB(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 c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});X7.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(A):manager.play(A),EB.style.display="flex",EB.onclick=window.manager.exportSong.bind(window.manager)}async function Fk(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 Cr(audioContextMain,soundFontParser,Tk,!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"),BB=!0}if(window.loadedSoundfonts.find(c=>c.name===n)){window.soundFontParser=window.loadedSoundfonts.find(c=>c.name===n).sf,await i();return}X7.innerText="Downloading soundfont...";let A=await C_(n,c=>Rk.style.width=`${c/100*X7.offsetWidth}px`);X7.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=A,Rk.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:p_}),window.soundFontParser&&(window.manager=new Cr(audioContextMain,soundFontParser,Tk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),X7.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),BB=!0,X7.innerText=window.manager.localeManager.getLocaleString("locale.titleMessage"))}document.body.onclick=null};var pB=[],Tk=new eC(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");pB=JSON.parse(await n.text());for(let A of pB){let c=document.createElement("option");c.value=A.name;let u=A.name;u.length>29&&(u=u.substring(0,30)+"..."),c.innerText=u,i.appendChild(c)}i.onchange=()=>{i.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(i.value)}`),window.manager.seq&&window.manager.seq.pause(),Fk(i.value),window.manager.seq&&(X7.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Fk(pB[0].name),T$.files[0]&&await CB(T$.files),T$.onchange=async()=>{T$.files[0]&&await CB(T$.files)}});function B_(n){fetch("/savesettings",{method:"POST",body:JSON.stringify(n),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=B_;window.savedSettings=new Promise(n=>{fetch("/getsettings").then(i=>i.json().then(A=>{n(A)}))});window.isLocalEdition=!0;